/** * Contemplate * Light-weight Object-Oriented Template Engine for PHP, Python, JavaScript * * @version: 1.6.0 * https://github.com/foo123/Contemplate * * @inspired by : Simple JavaScript Templating, John Resig - http://ejohn.org/ - MIT Licensed * http://ejohn.org/blog/javascript-micro-templating/ * **/ !function(n,e,t){"use strict";"undefined"!=typeof Components&&"object"==typeof Components.classes&&"object"==typeof Components.classesByID&&Components.utils&&"function"==typeof Components.utils.import?(n.$deps=n.$deps||{})&&(n.EXPORTED_SYMBOLS=[e])&&(n[e]=n.$deps[e]=t.call(n)):"object"==typeof module&&module.exports?(module.$deps=module.$deps||{})&&(module.exports=module.$deps[e]=t.call(n)):"function"==typeof define&&define.amd&&"function"==typeof require&&"function"==typeof require.specified&&require.specified(e)?define(e,["module"],function(e){return t.moduleUri=e.uri,t.call(n)}):e in n||(n[e]=t.call(n)||1)&&"function"==typeof define&&define.amd&&define(function(){return n[e]})}("undefined"!=typeof self?self:this,"Contemplate",function(){"use strict";function e(){}function i(){return window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")}var v,X,A,z,s,E,j,_,m,f,p,b,n="prototype",t=Object,c=Array,G=t[n].hasOwnProperty,d=t[n].toString,C="undefined"!=typeof Components&&"object"==typeof Components.classes&&"object"==typeof Components.classesByID&&Components.utils&&"function"==typeof Components.utils.import,x="undefined"!=typeof global&&"[object global]"===d.call(global),l=this,r=C?Components.utils:null,a=C?Components.classes:null,u=C?Components.interfaces:null,o=C?r.import:x?require:e,h=x?o("fs"):null,O=C?function(e,n){return o(n,l),l[e]}:x?function(e,n){return o(n)}:e,g=!1,y="<%",T="%>",W="",J="",S="\n",Z=!0,D="' + \"\\n\" + '",V="",Q=0,k=" ",ee=0,w=0,M=0,I=0,F=2,ne=null,L=null,N=null,te=null,le=null,re=-1,R=null,U=null,ie=null,B=0,P=/[\W]+/g,K=/\n\r|\r\n|\n|\r/g,H=/'/g,$=/[\/\\]/,q=/[\/\\]?[^\/\\]+$/,Y=/<\/?[a-zA-Z0-9:_\-]+[^<>]*>/gm,oe=/&+/g,ae=/^[a-zA-Z_]/,ce=/^[0-9]/,ue=/^[a-zA-Z0-9_]/i,se=/^\s/,fe=/^\s+$/,pe=/^(postdent|predent)\((-?\d+)\):/,de=/(\t|\s?)\s*((#ID_(continue|endblock|elsefor|endfor|endif|break|else|fi)#(\s*\(\s*\))?)|(#ID_([^#]+)#\s*(\()))(.*)$/g,he=["Contemplate","self","this","data","__p__","__i__","__ctx"],ge=["set","unset","isset","if","elseif","else","endif","for","elsefor","endfor","extends","block","endblock","include","super","getblock","iif","empty","continue","break","local_set","get","local"],_e={elif:"elseif",fi:"endif"},me={cc:"concat",j:"join",dq:"qq",now:"time",template:"tpl"};function be(){F=2,Q=I=M=w=0,ne=[],L={},N=[[null,-1]],R=null,U=[],A={},(X={})[z="_"]=X[z]||{},A[z]=A[z]||{}}function Ce(){F=2,ee=Q=I=M=w=0,ie=z=A=X=N=L=ne=null}function xe(){return[w,M,I,F,Q,ne,L,N,R,X,A,z,U]}function Oe(e){w=e[0],M=e[1],I=e[2],F=e[3],Q=e[4],ne=e[5],L=e[6],N=e[7],R=e[8],X=e[9],A=e[10],z=e[11],U=e[12]}function ye(e){for(var n,t=e.split("\n"),l=t.length,r=0,i=l-1,o=0;o"));2<=x.length?(_=Mn(x[0]),g=Mn(x[1]),C=Ee(),m=Ee(),b=Ee(),f="';",je(_)||(Ee(_),f+=S+Te("var "+_+";")),je(g)||(Ee(g),f+=S+Te("var "+g+";")),f+=Te(["","var "+h+" = "+d+", "+C+" = "+h+" ? Object.keys("+h+") : null,"," "+m+", "+b+" = "+h+" ? "+C+".length : 0;","if ("+b+")","{"," for ("+m+"=0; "+m+"<"+b+"; ++"+m+")"," {"," "+_+" = "+C+"["+m+"]; "+g+" = "+h+"["+_+"];"," ",""].join(S)),Q+=F=2):(g=Mn(x[0]),_=Ee(),x=Ee(),m=Ee(),T=Ee(),b=Ee(),f="';",je(g)||(Ee(g),f+=S+Te("var "+g+";")),f+=Te(["","var "+h+" = "+d+", "+x+" = !!"+h+".forEach,"," "+_+" = "+h+" ? ("+x+" ? "+h+" : Object.keys("+h+")) : null,"," "+m+", "+T+", "+b+" = "+_+" ? "+_+".length : 0;","if ("+b+")","{"," for ("+m+"=0; "+m+"<"+b+"; ++"+m+")"," {"," "+T+" = "+_+"["+m+"];"," "+g+" = "+x+" ? "+T+" : "+h+"["+T+"];"," ",""].join(S)),F=1,Q+=2),++w,++I;break;case 8:--I,Q+=-2,f="';"+Te([""," }","}","else","{ ",""].join(S)),++Q;break;case 9:f=I===w?(--w,--I,Q+=-2,"';"+Te([""," }","}",""].join(S))):(--w,--Q,"';"+Te(["","}",""].join(S)));break;case 10:var y,T=Mn(s);ie&&G.call(ie,T)&&(T=ie[T]),'"'!==(y=T.charAt(0))&&"'"!==y||y!==T.charAt(T.length-1)||(T=T.slice(1,-1)),R=T,f="';"+S;break;case 11:f=function(e){var n=!(1<(e=e.split(",")).length&&"false"===Mn(e[1]));e=Mn(e[0]),ie&&G.call(ie,e)&&(e=ie[e]);var t=e.charAt(0);return'"'!==t&&"'"!==t||t!==e.charAt(e.length-1)||(e=e.slice(1,-1)),ne.push([e,-1,-1,0,N[0][1],n]),L[e]=L[e]?L[e]+1:1,re=ne.length,N.unshift([e,re-1]),le=null,X[z=te=e]=X[z]||{},A[z]=A[z]||{},"' + #BLOCK_"+e+"#"}(s);break;case 12:f=function(){if(1"===e.substring(n,n+2));){for("-"===(f=e.charAt(n++))&&(f+=e.charAt(n++));n"===f){for(r="";n"===e.charAt(n-2),m=p;n"===u.charAt(C-2),y=x;C").join("."),s="\t"+O+"\v",le=te=null,re=-1,ie=p,q()}else Y()}var o,a,c,u,s,f,p,d,h,g,_,m,b,C,x,O,y,T,D,v,A,E,j,S,k,w,M,I,F,L,N,R,U=Ye.multisplit_re,B=n,P=B.length,K=t,H=K.length,$="",q=function(){ke(s,function(e,n){e?r(e,null):(s=n,function(){if(te?(te="#BLOCK_"+te+"#",w=!0):le&&(le="#/BLOCK_"+le+"#",w=!0),M=w,9===s.charCodeAt(0)&&11===s.charCodeAt(s.length-1)&&(s="' + ("+Mn(s.slice(1,-1))+") + '"),h)for(T=d.length-1;0<=T;--T)m=d[T][0],_=d[T][1],s=s.split(m+"__RAW__").join(_).split(m).join((G.call(X[z],_)?(2===X[z][_]?"":"_loc_")+_:d[T][2])+d[T][3]);if(g)for(f=U(s,Fe),s="",T=0,c=f.length;T"===a.charAt(m-2),x=b;m<_&&ue.test(b=a.charAt(m));)++m,x+=b;w||"as"===x||"in"===x||"null"===x||"false"===x||"true"===x||(x="#ID_"+x+"#"),C+=x}else 0").join("."),le=te=null,re=-1,ie=s,c=(c="\t"+C+"\v").replace(de,function(e,n,t,l,r,i,o,a,c,u){return we([e,n,t,l,r,i,o,a,c,u])}),te?(te="#BLOCK_"+te+"#",S=!0):le&&(le="#/BLOCK_"+le+"#",S=!0),k=S,9===c.charCodeAt(0)&&11===c.charCodeAt(c.length-1)&&(c="' + ("+Mn(c.slice(1,-1))+") + '"),p)for(O=f.length-1;0<=O;--O)g=f[O][0],h=f[O][1],c=c.split(g+"__RAW__").join(h).split(g).join((G.call(X[z],h)?(2===X[z][h]?"":"_loc_")+h:f[O][2])+f[O][3]);if(d)for(u=N(c,Fe),c="",O=0,o=u.length;O=r.length?n(null,e):v.tpl(r[l],null,i,function(e,n){++l,t()})}()):n(null,e)}if(o[1]){var g=function(t,l){(c=R||t._extendsTpl)?v.tpl(c,null,i,function(e,n){e?l(e,null):(t.extend(n),l(null,t))}):l(null,t)},_=new v.Template(t).ctx(l);d?(_.setRenderFunction(Tn("Contemplate",d)),g(_,function(e,n){e?r(e,null):h(n,r)})):Pe(t,l,i.separators,function(e,n){e?r(e,null):(_.setRenderFunction(n[0]).setBlocks(n[1]).usesTpl(U),g(_,function(e,n){e?r(e,null):h(n,r)}))})}else{x||C||(l.cacheMode=v.CACHE_TO_DISK_NONE);var m=function(e,n){!1===e?!1===n?(a=O(s,u)(v),_=new a(t).ctx(l),(c=_._extendsTpl)?v.tpl(c,null,i,function(e,n){e?r(e,null):(_.extend(n),h(_,r))}):h(_,r)):hn(u,function(e,n){!e&&n?(a=O(s,u)(v),_=new a(t).ctx(l),(c=_._extendsTpl)?v.tpl(c,null,i,function(e,n){e?r(e,null):(_.extend(n),h(_,r))}):h(_,r)):r(e||new Error('Could not create or read file "'+u+'"!'),null)}):Ke(t,l,u,s,i.separators,function(e,n){e?r(e,null):hn(u,function(e,n){!e&&n?(a=O(s,u)(v),_=new a(t).ctx(l),(c=_._extendsTpl)?v.tpl(c,null,i,function(e,n){e?r(e,null):(_.extend(n),h(_,r))}):h(_,r)):r(e||new Error('Could not create or read file "'+u+'"!'),null)})})};if(!0!==i.autoUpdate&&v.CACHE_TO_DISK_NOUPDATE===l.cacheMode)u=Re(t,l.id,l.cacheDir),s=Ue(t,l.id),hn(u,function(e,n){n?m(!1,!1):(p=-1!==t.indexOf("/")||-1!==t.indexOf("\\")?(In(t),Mn(Fn(t),"/\\")):"").length?$e(p,l.cacheDir,parseInt("0755",8),function(e,n){e?r(e,null):m()}):m()});else{if(!0===i.autoUpdate||v.CACHE_TO_DISK_AUTOUPDATE===l.cacheMode)return u=Re(t,l.id,l.cacheDir),s=Ue(t,l.id),hn(u,function(e,n){n?bn(u,function(e,t){e?r(e,null):bn(o[0],function(e,n){e?r(e,null):t.mtime.getTime()<=n.mtime.getTime()?m():m(!1,!1)})}):(p=-1!==t.indexOf("/")||-1!==t.indexOf("\\")?(In(t),Mn(Fn(t),"/\\")):"").length?$e(p,l.cacheDir,parseInt("0755",8),function(e,n){e?r(e,null):m()}):m()}),null;Pe(t,l,i.separators,function(e,n){e?r(e,null):(_=new v.Template(t).ctx(l).setRenderFunction(n[0]).setBlocks(n[1]).usesTpl(U),(c=R)?v.tpl(c,null,i,function(e,n){e?r(e,null):(_.extend(n),h(_,r))}):h(_,r))})}}}function $e(e,n,l,r){if((e=Mn(e)).length){l=l||parseInt("0755",8),n=n||"";var t,i=(t=$,e.split(t).map(function(e){return Mn(e)}).filter(function(e){return 0=o.length?r(null,null):(l=wn(o[c],"/\\")+"/"+a,hn(l,function(e,n){!e&&n?r(null,l):(++c,t())}))};if(vn(t.templateFinder))return void t.templateFinder(e,function(e){r(null,e)});if(t.templateDirs&&t.templateDirs.length)return o=t.templateDirs,a=kn(e,"/\\"),c=0,void n();if(t!=E){if(vn((t=E).templateFinder))return void t.templateFinder(e,function(e){r(null,e)});if(t.templateDirs&&t.templateDirs.length)return o=t.templateDirs,a=kn(e,"/\\"),c=0,void n()}r(null,null)}else{if(vn(t.templateFinder))return t.templateFinder(e);if(t.templateDirs&&t.templateDirs.length){for(a=kn(e,"/\\"),c=0,i=t.templateDirs.length;c>>0;return Kn(e=(t=t&&a&&{2:"0b",8:"0",16:"0x"}[n]||"")+Pn(a.toString(n),i||0,"0",!1),t,l,r,o)}function $n(e,n,t,l,r,i){return null!=l&&(e=e.slice(0,l)),Kn(e,"",n,t,r,i)}function qn(){var m=1,b=arguments;return arguments[0].replace(qn.format_re,function(e,n,t,l,r,i,o){var a,c,u;if("%%"==e)return"%";for(var s=!1,f="",p=!1,d=!1,h=" ",g=t.length,_=0;t&&_