var Hogan={};!function(t){function l(t,n,e){var i;return n&&"object"==typeof n&&(void 0!==n[t]?i=n[t]:e&&n.get&&"function"==typeof n.get&&(i=n.get(t))),i}t.Template=function(t,n,e,i){this.r=(t=t||{}).code||this.r,this.c=e,this.options=i||{},this.text=n||"",this.partials=t.partials||{},this.subs=t.subs||{},this.buf=""},t.Template.prototype={r:function(t,n,e){return""},v:function(t){return t=o(t),a.test(t)?t.replace(n,"&amp;").replace(e,"&lt;").replace(i,"&gt;").replace(r,"&#39;").replace(s,"&quot;"):t},t:o,render:function(t,n,e){return this.ri([t],n||{},e)},ri:function(t,n,e){return this.r(t,n,e)},ep:function(t,n){var e=this.partials[t],i=n[e.name];if(e.instance&&e.base==i)return e.instance;if("string"==typeof i){if(!this.c)throw new Error("No compiler available.");i=this.c.compile(i,this.options)}if(!i)return null;if(this.partials[t].base=i,e.subs){for(key in n.stackText||(n.stackText={}),e.subs)n.stackText[key]||(n.stackText[key]=void 0!==this.activeSub&&n.stackText[this.activeSub]?n.stackText[this.activeSub]:this.text);i=function(t,n,e,i,r,s){function a(){}function o(){}o.prototype=(a.prototype=t).subs;var u,c=new a;for(u in c.subs=new o,c.subsText={},c.buf="",i=i||{},c.stackSubs=i,c.subsText=s,n)i[u]||(i[u]=n[u]);for(u in i)c.subs[u]=i[u];for(u in r=r||{},c.stackPartials=r,e)r[u]||(r[u]=e[u]);for(u in r)c.partials[u]=r[u];return c}(i,e.subs,e.partials,this.stackSubs,this.stackPartials,n.stackText)}return this.partials[t].instance=i},rp:function(t,n,e,i){t=this.ep(t,e);return t?t.ri(n,e,i):""},rs:function(t,n,e){var i=t[t.length-1];if(f(i))for(var r=0;r<i.length;r++)t.push(i[r]),e(t,n,this),t.pop();else e(t,n,this)},s:function(t,n,e,i,r,s,a){return(!f(t)||0!==t.length)&&(e=!!(t="function"==typeof t?this.ms(t,n,e,i,r,s,a):t),!i&&e&&n&&n.push("object"==typeof t?t:n[n.length-1]),e)},d:function(t,n,e,i){var r,s=t.split("."),a=this.f(s[0],n,e,i),o=this.options.modelGet,u=null;if("."===t&&f(n[n.length-2]))a=n[n.length-1];else for(var c=1;c<s.length;c++)a=void 0!==(r=l(s[c],a,o))?(u=a,r):"";return!(i&&!a)&&(i||"function"!=typeof a||(n.push(u),a=this.mv(a,n,e),n.pop()),a)},f:function(t,n,e,i){for(var r=!1,s=!1,a=this.options.modelGet,o=n.length-1;0<=o;o--)if(void 0!==(r=l(t,n[o],a))){s=!0;break}return s?i||"function"!=typeof r?r:this.mv(r,n,e):!i&&""},ls:function(t,n,e,i,r){var s=this.options.delimiters;return this.options.delimiters=r,this.b(this.ct(o(t.call(n,i)),n,e)),this.options.delimiters=s,!1},ct:function(t,n,e){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(t,this.options).render(n,e)},b:function(t){this.buf+=t},fl:function(){var t=this.buf;return this.buf="",t},ms:function(t,n,e,i,r,s,a){n=n[n.length-1],t=t.call(n);return"function"==typeof t?!!i||(i=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(t,n,e,i.substring(r,s),a)):t},mv:function(t,n,e){n=n[n.length-1],t=t.call(n);return"function"==typeof t?this.ct(o(t.call(n)),n,e):t},sub:function(t,n,e,i){var r=this.subs[t];r&&(this.activeSub=t,r(n,e,this,i),this.activeSub=!1)}};var n=/&/g,e=/</g,i=/>/g,r=/\'/g,s=/\"/g,a=/[&<>\"\']/;function o(t){return String(null==t?"":t)}var f=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)}}("undefined"!=typeof exports?exports:Hogan),function(x){var w=/\S/,n=/\"/g,e=/\n/g,i=/\r/g,r=/\\/g,s=/\u2028/,a=/\u2029/;function k(t){return t.trim?t.trim():t.replace(/^\s*|\s*$/g,"")}function y(t,n,e){if(n.charAt(e)==t.charAt(0)){for(var i=1,r=t.length;i<r;i++)if(n.charAt(e+i)!=t.charAt(i))return;return 1}}x.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},x.scan=function(t,n){var e,i,r,s,a,o=t.length,u=0,c=null,l="",f=[],h=!1,p=0,g=0,b="{{",d="}}";function v(){0<l.length&&(f.push({tag:"_t",text:new String(l)}),l="")}function m(t,n){if(v(),t&&function(){for(var t=!0,n=g;n<f.length;n++)if(!(t=x.tags[f[n].tag]<x.tags._v||"_t"==f[n].tag&&null===f[n].text.match(w)))return;return t}())for(var e,i=g;i<f.length;i++)f[i].text&&((e=f[i+1])&&">"==e.tag&&(e.indent=f[i].text.toString()),f.splice(i,1));else n||f.push({tag:"\n"});h=!1,g=f.length}for(n&&(n=n.split(" "),b=n[0],d=n[1]),p=0;p<o;p++)0==u?y(b,t,p)?(--p,v(),u=1):"\n"==t.charAt(p)?m(h):l+=t.charAt(p):1==u?(p+=b.length-1,u="="==(c=(e=x.tags[t.charAt(p+1)])?t.charAt(p+1):"_v")?(r=p,a=s=void 0,s="="+d,a=(i=t).indexOf(s,r),i=k(i.substring(i.indexOf("=",r)+1,a)).split(" "),b=i[0],d=i[i.length-1],p=a+s.length-1,0):(e&&p++,2),h=p):y(d,t,p)?(f.push({tag:c,n:k(l),otag:b,ctag:d,i:"/"==c?h-b.length:p+d.length}),l="",p+=d.length-1,u=0,"{"==c&&("}}"==d?p++:"}"===(r=f[f.length-1]).n.substr(r.n.length-1)&&(r.n=r.n.substring(0,r.n.length-1)))):l+=t.charAt(p);return m(h,!0),f};var u={_t:!0,"\n":!0,$:!0,"/":!0};function c(t,n,e,i){for(var r=[],s=null,a=null,o=e[e.length-1];0<t.length;){if(a=t.shift(),o&&"<"==o.tag&&!(a.tag in u))throw new Error("Illegal content in < super tag.");if(x.tags[a.tag]<=x.tags.$||function(t,n){for(var e=0,i=n.length;e<i;e++)if(n[e].o==t.n)return t.tag="#"}(a,i))e.push(a),a.nodes=c(t,a.tag,e,i);else{if("/"==a.tag){if(0===e.length)throw new Error("Closing tag without opener: /"+a.n);if(s=e.pop(),a.n==s.n||function(t,n,e){for(var i=0,r=e.length;i<r;i++)if(e[i].c==t&&e[i].o==n)return 1}(a.n,s.n,i))return s.end=a.i,r;throw new Error("Nesting error: "+s.n+" vs. "+a.n)}"\n"==a.tag&&(a.last=0==t.length||"\n"==t[0].tag)}r.push(a)}if(0<e.length)throw new Error("missing closing tag: "+e.pop().n);return r}function o(t){var n,e=[];for(n in t.partials)e.push('"'+f(n)+'":{name:"'+f(t.partials[n].name)+'", '+o(t.partials[n])+"}");return"partials: {"+e.join(",")+"}, subs: "+function(t){var n,e=[];for(n in t)e.push('"'+f(n)+'": function(c,p,t,i) {'+t[n]+"}");return"{ "+e.join(",")+" }"}(t.subs)}x.stringify=function(t,n,e){return"{code: function (c,p,i) { "+x.wrapMain(t.code)+" },"+o(t)+"}"};var l=0;function f(t){return t.replace(r,"\\\\").replace(n,'\\"').replace(e,"\\n").replace(i,"\\r").replace(s,"\\u2028").replace(a,"\\u2029")}function h(t){return~t.indexOf(".")?"d":"f"}function p(t,n){var e="<"+(n.prefix||"")+t.n+l++;return n.partials[e]={name:t.n,partials:{}},n.code+='t.b(t.rp("'+f(e)+'",c,p,"'+(t.indent||"")+'"));',e}function t(t,n){n.code+="t.b(t.t(t."+h(t.n)+'("'+f(t.n)+'",c,p,0)));'}function g(t){return"t.b("+t+");"}x.generate=function(t,n,e){l=0;var i={code:"",subs:{},partials:{}};return x.walk(t,i),e.asString?this.stringify(i,n,e):this.makeTemplate(i,n,e)},x.wrapMain=function(t){return'var t=this;t.b(i=i||"");'+t+"return t.fl();"},x.template=x.Template,x.makeTemplate=function(t,n,e){var i=this.makePartials(t);return i.code=new Function("c","p","i",this.wrapMain(t.code)),new this.template(i,n,this,e)},x.makePartials=function(t){var n,e={subs:{},partials:t.partials,name:t.name};for(n in e.partials)e.partials[n]=this.makePartials(e.partials[n]);for(n in t.subs)e.subs[n]=new Function("c","p","t","i",t.subs[n]);return e},x.codegen={"#":function(t,n){n.code+="if(t.s(t."+h(t.n)+'("'+f(t.n)+'",c,p,1),c,p,0,'+t.i+","+t.end+',"'+t.otag+" "+t.ctag+'")){t.rs(c,p,function(c,p,t){',x.walk(t.nodes,n),n.code+="});c.pop();}"},"^":function(t,n){n.code+="if(!t.s(t."+h(t.n)+'("'+f(t.n)+'",c,p,1),c,p,1,0,0,"")){',x.walk(t.nodes,n),n.code+="};"},">":p,"<":function(t,n){var e={partials:{},code:"",subs:{},inPartial:!0},t=(x.walk(t.nodes,e),n.partials[p(t,n)]);t.subs=e.subs,t.partials=e.partials},$:function(t,n){var e={subs:{},code:"",partials:n.partials,prefix:t.n};x.walk(t.nodes,e),n.subs[t.n]=e.code,n.inPartial||(n.code+='t.sub("'+f(t.n)+'",c,p,i);')},"\n":function(t,n){n.code+=g('"\\n"'+(t.last?"":" + i"))},_v:function(t,n){n.code+="t.b(t.v(t."+h(t.n)+'("'+f(t.n)+'",c,p,0)));'},_t:function(t,n){n.code+=g('"'+f(t.text)+'"')},"{":t,"&":t},x.walk=function(t,n){for(var e,i=0,r=t.length;i<r;i++)(e=x.codegen[t[i].tag])&&e(t[i],n);return n},x.parse=function(t,n,e){return c(t,0,[],(e=e||{}).sectionTags||[])},x.cache={},x.cacheKey=function(t,n){return[t,!!n.asString,!!n.disableLambda,n.delimiters,!!n.modelGet].join("||")},x.compile=function(t,n){var e=x.cacheKey(t,n=n||{}),i=this.cache[e];if(i){var r,s=i.partials;for(r in s)delete s[r].instance;return i}return i=this.generate(this.parse(this.scan(t,n.delimiters),t,n),t,n),this.cache[e]=i}}("undefined"!=typeof exports?exports:Hogan);