(function(n){function w(n,t){return function(i){return r(n.call(this,i),t)}}function at(n){return function(t){return this.lang().ordinal(n.call(this,t))}}function b(){}function h(n){c(this,n)}function l(n){var t=this._data={},s=n.years||n.year||n.y||0,r=n.months||n.month||n.M||0,c=n.weeks||n.week||n.w||0,i=n.days||n.day||n.d||0,u=n.hours||n.hour||n.h||0,e=n.minutes||n.minute||n.m||0,o=n.seconds||n.second||n.s||0,h=n.milliseconds||n.millisecond||n.ms||0;this._milliseconds=h+o*1e3+e*6e4+u*36e5;this._days=i+c*7;this._months=r+s*12;t.milliseconds=h%1e3;o+=f(h/1e3);t.seconds=o%60;e+=f(o/60);t.minutes=e%60;u+=f(e/60);t.hours=u%24;i+=f(u/24);i+=c*7;t.days=i%30;r+=f(i/30);t.months=r%12;s+=f(r/12);t.years=s}function c(n,t){for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);return n}function f(n){return n<0?Math.ceil(n):Math.floor(n)}function r(n,t){for(var i=n+"";i.length<t;)i="0"+i;return i}function k(n,t,i){var r=t._milliseconds,u=t._days,f=t._months,e;r&&n._d.setTime(+n+r*i);u&&n.date(n.date()+u*i);f&&(e=n.date(),n.date(1).month(n.month()+f*i).date(Math.min(e,n.daysInMonth())))}function d(n){return Object.prototype.toString.call(n)==="[object Array]"}function g(n,t){for(var u=Math.min(n.length,t.length),f=Math.abs(n.length-t.length),r=0,i=0;i<u;i++)~~n[i]!=~~t[i]&&r++;return r+f}function vt(n,t){return t.abbr=n,o[n]||(o[n]=new b),o[n].set(t),o[n]}function s(n){return n?(!o[n]&&ft&&require("./lang/"+n),o[n]):t.fn._lang}function yt(n){return n.match(/\[.*\]/)?n.replace(/^\[|\]$/g,""):n.replace(/\\/g,"")}function pt(n){for(var i=n.match(et),t=0,r=i.length;t<r;t++)i[t]=u[i[t]]?u[i[t]]:yt(i[t]);return function(u){var f="";for(t=0;t<r;t++)f+=typeof i[t].call=="function"?i[t].call(u,n):i[t];return f}}function wt(n,t){function i(t){return n.lang().longDateFormat(t)||t}for(var r=5;r--&&ot.test(t);)t=t.replace(ot,i);return p[t]||(p[t]=pt(t)),p[t](n)}function bt(n){switch(n){case"DDDD":return oi;case"YYYY":return si;case"YYYYY":return hi;case"S":case"SS":case"SSS":case"DDD":return ei;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":case"a":case"A":return ci;case"X":return ai;case"Z":case"ZZ":return st;case"T":return li;case"MM":case"DD":case"YY":case"HH":case"hh":case"mm":case"ss":case"M":case"D":case"d":case"H":case"h":case"m":case"s":return fi;default:return new RegExp(n.replace("\\",""))}}function kt(n,t,i){var r,u=i._a;switch(n){case"M":case"MM":u[1]=t==null?0:~~t-1;break;case"MMM":case"MMMM":r=s(i._l).monthsParse(t);r!=null?u[1]=r:i._isValid=!1;break;case"D":case"DD":case"DDD":case"DDDD":t!=null&&(u[2]=~~t);break;case"YY":u[0]=~~t+(~~t>68?1900:2e3);break;case"YYYY":case"YYYYY":u[0]=~~t;break;case"a":case"A":i._isPm=(t+"").toLowerCase()==="pm";break;case"H":case"HH":case"h":case"hh":u[3]=~~t;break;case"m":case"mm":u[4]=~~t;break;case"s":case"ss":u[5]=~~t;break;case"S":case"SS":case"SSS":u[6]=~~(("0."+t)*1e3);break;case"X":i._d=new Date(parseFloat(t)*1e3);break;case"Z":case"ZZ":i._useUTC=!0;r=(t+"").match(yi);r&&r[1]&&(i._tzh=~~r[1]);r&&r[2]&&(i._tzm=~~r[2]);r&&r[0]==="+"&&(i._tzh=-i._tzh,i._tzm=-i._tzm)}t==null&&(i._isValid=!1)}function nt(n){var i,r,t=[];if(!n._d){for(i=0;i<7;i++)n._a[i]=t[i]=n._a[i]==null?i===2?1:0:n._a[i];t[3]+=n._tzh||0;t[4]+=n._tzm||0;r=new Date(0);n._useUTC?(r.setUTCFullYear(t[0],t[1],t[2]),r.setUTCHours(t[3],t[4],t[5],t[6])):(r.setFullYear(t[0],t[1],t[2]),r.setHours(t[3],t[4],t[5],t[6]));n._d=r}}function a(n){var r=n._f.match(et),f=n._i,t,i;for(n._a=[],t=0;t<r.length;t++)i=(bt(r[t]).exec(f)||[])[0],i&&(f=f.slice(f.indexOf(i)+i.length)),u[r[t]]&&kt(r[t],i,n);n._isPm&&n._a[3]<12&&(n._a[3]+=12);n._isPm===!1&&n._a[3]===12&&(n._a[3]=0);nt(n)}function dt(n){for(var t,i,r,f=99,u;n._f.length;){if(t=c({},n),t._f=n._f.pop(),a(t),i=new h(t),i.isValid()){r=i;break}u=g(t._a,i.toArray());u<f&&(f=u,r=i)}c(n,r)}function gt(n){var t,i=n._i;if(vi.exec(i)){for(n._f="YYYY-MM-DDT",t=0;t<4;t++)if(ht[t][1].exec(i)){n._f+=ht[t][0];break}st.exec(i)&&(n._f+=" Z");a(n)}else n._d=new Date(i)}function ni(t){var i=t._i,r=ui.exec(i);i===n?t._d=new Date:r?t._d=new Date(+r[1]):typeof i=="string"?gt(t):d(i)?(t._a=i.slice(0),nt(t)):t._d=i instanceof Date?new Date(+i):new Date(i)}function ti(n,t,i,r,u){return u.relativeTime(t||1,!!i,n,r)}function ii(n,t,i){var s=e(Math.abs(n)/1e3),u=e(s/60),f=e(u/60),r=e(f/24),h=e(r/365),o=s<45&&["s",s]||u===1&&["m"]||u<45&&["mm",u]||f===1&&["h"]||f<22&&["hh",f]||r===1&&["d"]||r<=25&&["dd",r]||r<=45&&["M"]||r<345&&["MM",e(r/30)]||h===1&&["y"]||["yy",h];return o[2]=t,o[3]=n>0,o[4]=i,ti.apply({},o)}function tt(n,i,r){var f=r-i,u=r-n.day();return u>f&&(u-=7),u<f-7&&(u+=7),Math.ceil(t(n).add("d",u).dayOfYear()/7)}function it(n){var i=n._i,r=n._f;return i===null||i===""?null:(typeof i=="string"&&(n._i=i=s().preparse(i)),t.isMoment(i)?(n=c({},i),n._d=new Date(+i._d)):r?d(r)?dt(n):a(n):ni(n),new h(n))}function rt(n,i){t.fn[n]=t.fn[n+"s"]=function(n){var t=this._isUTC?"UTC":"";return n!=null?(this._d["set"+t+i](n),this):this._d["get"+t+i]()}}function ri(n){t.duration.fn[n]=function(){return this._data[n]}}function ut(n,i){t.duration.fn["as"+n]=function(){return+this/i}}for(var t,e=Math.round,i,o={},ft=typeof module!="undefined"&&module.exports,ui=/^\/?Date\((\-?\d+)/i,et=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|YYYYY|YYYY|YY|a|A|hh?|HH?|mm?|ss?|SS?S?|X|zz?|ZZ?|.)/g,ot=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,fi=/\d\d?/,ei=/\d{1,3}/,oi=/\d{3}/,si=/\d{1,4}/,hi=/[+\-]?\d{1,6}/,ci=/[0-9]*[a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF]+\s*?[\u0600-\u06FF]+/i,st=/Z|[\+\-]\d\d:?\d\d/i,li=/T/i,ai=/[\+\-]?\d+(\.\d{1,3})?/,vi=/^\s*\d{4}-\d\d-\d\d((T| )(\d\d(:\d\d(:\d\d(\.\d\d?\d?)?)?)?)?([\+\-]\d\d:?\d\d)?)?/,ht=[["HH:mm:ss.S",/(T| )\d\d:\d\d:\d\d\.\d{1,3}/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],yi=/([\+\-]|\d\d)/gi,v="Month|Date|Hours|Minutes|Seconds|Milliseconds".split("|"),y={Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6},p={},ct="DDD w W M D d".split(" "),lt="M D H h m s w W".split(" "),u={M:function(){return this.month()+1},MMM:function(n){return this.lang().monthsShort(this,n)},MMMM:function(n){return this.lang().months(this,n)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(n){return this.lang().weekdaysMin(this,n)},ddd:function(n){return this.lang().weekdaysShort(this,n)},dddd:function(n){return this.lang().weekdays(this,n)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return r(this.year()%100,2)},YYYY:function(){return r(this.year(),4)},YYYYY:function(){return r(this.year(),5)},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return~~(this.milliseconds()/100)},SS:function(){return r(~~(this.milliseconds()/10),2)},SSS:function(){return r(this.milliseconds(),3)},Z:function(){var n=-this.zone(),t="+";return n<0&&(n=-n,t="-"),t+r(~~(n/60),2)+":"+r(~~n%60,2)},ZZ:function(){var n=-this.zone(),t="+";return n<0&&(n=-n,t="-"),t+r(~~(10*n/6),4)},X:function(){return this.unix()}};ct.length;)i=ct.pop(),u[i+"o"]=at(u[i]);while(lt.length)i=lt.pop(),u[i+i]=w(u[i],2);for(u.DDDD=w(u.DDD,3),b.prototype={set:function(n){var t,i;for(i in n)t=n[i],typeof t=="function"?this[i]=t:this["_"+i]=t},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(n){return this._months[n.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(n){return this._monthsShort[n.month()]},monthsParse:function(n){var i,r,u;for(this._monthsParse||(this._monthsParse=[]),i=0;i<12;i++)if(this._monthsParse[i]||(r=t([2e3,i]),u="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[i]=new RegExp(u.replace(".",""),"i")),this._monthsParse[i].test(n))return i},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(n){return this._weekdays[n.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(n){return this._weekdaysShort[n.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(n){return this._weekdaysMin[n.day()]},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},longDateFormat:function(n){var t=this._longDateFormat[n];return!t&&this._longDateFormat[n.toUpperCase()]&&(t=this._longDateFormat[n.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(n){return n.slice(1)}),this._longDateFormat[n]=t),t},meridiem:function(n,t,i){return n>11?i?"pm":"PM":i?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[last] dddd [at] LT",sameElse:"L"},calendar:function(n,t){var i=this._calendar[n];return typeof i=="function"?i.apply(t):i},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(n,t,i,r){var u=this._relativeTime[i];return typeof u=="function"?u(n,t,i,r):u.replace(/%d/i,n)},pastFuture:function(n,t){var i=this._relativeTime[n>0?"future":"past"];return typeof i=="function"?i(t):i.replace(/%s/i,t)},ordinal:function(n){return this._ordinal.replace("%d",n)},_ordinal:"%d",preparse:function(n){return n},postformat:function(n){return n},week:function(n){return tt(n,this._week.dow,this._week.doy)},_week:{dow:0,doy:6}},t=function(n,t,i){return it({_i:n,_f:t,_l:i,_isUTC:!1})},t.utc=function(n,t,i){return it({_useUTC:!0,_isUTC:!0,_l:i,_i:n,_f:t})},t.unix=function(n){return t(n*1e3)},t.duration=function(n,i){var f=t.isDuration(n),e=typeof n=="number",r=f?n._data:e?{}:n,u;return e&&(i?r[i]=n:r.milliseconds=n),u=new l(r),f&&n.hasOwnProperty("_lang")&&(u._lang=n._lang),u},t.version="2.0.0",t.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",t.lang=function(n,i){if(!n)return t.fn._lang._abbr;i?vt(n,i):o[n]||s(n);t.duration.fn._lang=t.fn._lang=s(n)},t.langData=function(n){return n&&n._lang&&n._lang._abbr&&(n=n._lang._abbr),s(n)},t.isMoment=function(n){return n instanceof h},t.isDuration=function(n){return n instanceof l},t.fn=h.prototype={clone:function(){return t(this)},valueOf:function(){return+this._d},unix:function(){return Math.floor(+this._d/1e3)},toString:function(){return this.format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._d},toJSON:function(){return t.utc(this).format("YYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var n=this;return[n.year(),n.month(),n.date(),n.hours(),n.minutes(),n.seconds(),n.milliseconds()]},isValid:function(){return this._isValid==null&&(this._isValid=this._a?!g(this._a,(this._isUTC?t.utc(this._a):t(this._a)).toArray()):!isNaN(this._d.getTime())),!!this._isValid},utc:function(){return this._isUTC=!0,this},local:function(){return this._isUTC=!1,this},format:function(n){var i=wt(this,n||t.defaultFormat);return this.lang().postformat(i)},add:function(n,i){var r;return r=typeof n=="string"?t.duration(+i,n):t.duration(n,i),k(this,r,1),this},subtract:function(n,i){var r;return r=typeof n=="string"?t.duration(+i,n):t.duration(n,i),k(this,r,-1),this},diff:function(n,i,r){var e=this._isUTC?t(n).utc():t(n).local(),s=(this.zone()-e.zone())*6e4,u,o;return i&&(i=i.replace(/s$/,"")),i==="year"||i==="month"?(u=(this.daysInMonth()+e.daysInMonth())*432e5,o=(this.year()-e.year())*12+(this.month()-e.month()),o+=(this-t(this).startOf("month")-(e-t(e).startOf("month")))/u,i==="year"&&(o/=12)):(u=this-e-s,o=i==="second"?u/1e3:i==="minute"?u/6e4:i==="hour"?u/36e5:i==="day"?u/864e5:i==="week"?u/6048e5:u),r?o:f(o)},from:function(n,i){return t.duration(this.diff(n)).lang(this.lang()._abbr).humanize(!i)},fromNow:function(n){return this.from(t(),n)},calendar:function(){var n=this.diff(t().startOf("day"),"days",!0),i=n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse";return this.format(this.lang().calendar(i,this))},isLeapYear:function(){var n=this.year();return n%4==0&&n%100!=0||n%400==0},isDST:function(){return this.zone()<t([this.year()]).zone()||this.zone()<t([this.year(),5]).zone()},day:function(n){var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return n==null?t:this.add({d:n-t})},startOf:function(n){n=n.replace(/s$/,"");switch(n){case"year":this.month(0);case"month":this.date(1);case"week":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return n==="week"&&this.day(0),this},endOf:function(n){return this.startOf(n).add(n.replace(/s?$/,"s"),1).subtract("ms",1)},isAfter:function(n,i){return i=typeof i!="undefined"?i:"millisecond",+this.clone().startOf(i)>+t(n).startOf(i)},isBefore:function(n,i){return i=typeof i!="undefined"?i:"millisecond",+this.clone().startOf(i)<+t(n).startOf(i)},isSame:function(n,i){return i=typeof i!="undefined"?i:"millisecond",+this.clone().startOf(i)==+t(n).startOf(i)},zone:function(){return this._isUTC?0:this._d.getTimezoneOffset()},daysInMonth:function(){return t.utc([this.year(),this.month()+1,0]).date()},dayOfYear:function(n){var i=e((t(this).startOf("day")-t(this).startOf("year"))/864e5)+1;return n==null?i:this.add("d",n-i)},isoWeek:function(n){var t=tt(this,1,4);return n==null?t:this.add("d",(n-t)*7)},week:function(n){var t=this.lang().week(this);return n==null?t:this.add("d",(n-t)*7)},lang:function(t){return t===n?this._lang:(this._lang=s(t),this)}},i=0;i<v.length;i++)rt(v[i].toLowerCase().replace(/s$/,""),v[i]);rt("year","FullYear");t.fn.days=t.fn.day;t.fn.weeks=t.fn.week;t.fn.isoWeeks=t.fn.isoWeek;t.duration.fn=l.prototype={weeks:function(){return f(this.days()/7)},valueOf:function(){return this._milliseconds+this._days*864e5+this._months*2592e6},humanize:function(n){var i=+this,t=ii(i,!n,this.lang());return n&&(t=this.lang().pastFuture(i,t)),this.lang().postformat(t)},lang:t.fn.lang};for(i in y)y.hasOwnProperty(i)&&(ut(i,y[i]),ri(i.toLowerCase()));ut("Weeks",6048e5);t.lang("en",{ordinal:function(n){var t=n%10,i=~~(n%100/10)==1?"th":t===1?"st":t===2?"nd":t===3?"rd":"th";return n+i}});ft&&(module.exports=t);typeof ender=="undefined"&&(this.moment=t);typeof define=="function"&&define.amd&&define("moment",[],function(){return t})}).call(this),function(n,t){typeof exports=="object"&&exports?module.exports=t:typeof define=="function"&&define.amd?define(t):n.Mustache=t}(this,function(){function k(n,t){return w.call(n,t)}function d(n){return!k(v,n)}function o(n){return n.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function g(n){return String(n).replace(/[&<>"'\/]/g,function(n){return c[n]})}function u(n){this.string=n;this.tail=n;this.pos=0}function t(n,t){this.view=n;this.parent=t;this._cache={}}function i(){this.clearCache()}function f(t,i,r,u){for(var s="",h,c,o,a,y,p,l=0,v=t.length;l<v;++l){h=t[l];c=h[1];switch(h[0]){case"#":if(o=r.lookup(c),typeof o=="object")if(e(o))for(a=0,y=o.length;a<y;++a)s+=f(h[4],i,r.push(o[a]),u);else o&&(s+=f(h[4],i,r.push(o),u));else typeof o=="function"?(p=u==null?null:u.slice(h[3],h[5]),o=o.call(r.view,p,function(n){return i.render(n,r)}),o!=null&&(s+=o)):o&&(s+=f(h[4],i,r,u));break;case"^":o=r.lookup(c);(!o||e(o)&&o.length===0)&&(s+=f(h[4],i,r,u));break;case">":o=i.getPartial(c);typeof o=="function"&&(s+=o(r));break;case"&":o=r.lookup(c);o!=null&&(s+=o);break;case"name":o=r.lookup(c);o!=null&&(s+=n.escape(o));break;case"text":s+=c}}return s}function nt(n){for(var f=[],r=f,i=[],t,o,u=0,e=n.length;u<e;++u){t=n[u];switch(t[0]){case"#":case"^":i.push(t);r.push(t);r=t[4]=[];break;case"/":o=i.pop();o[5]=t[2];r=i.length>0?i[i.length-1][4]:f;break;default:r.push(t)}}return f}function tt(n){for(var u=[],t,i,r=0,f=n.length;r<f;++r)t=n[r],t&&(t[0]==="text"&&i&&i[0]==="text"?(i[1]+=t[1],i[3]=t[3]):(i=t,u.push(t)));return u}function l(n){return[new RegExp(o(n[0])+"\\s*"),new RegExp("\\s*"+o(n[1]))]}var n={},e,c,r;n.name="mustache.js";n.version="0.7.2";n.tags=["{{","}}"];n.Scanner=u;n.Context=t;n.Writer=i;var a=/\s*/,s=/\s+/,v=/\S/,h=/\s*=/,y=/\s*\}/,p=/#|\^|\/|>|\{|&|=|!/,w=RegExp.prototype.test,b=Object.prototype.toString;return e=Array.isArray||function(n){return b.call(n)==="[object Array]"},c={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"},n.escape=g,u.prototype.eos=function(){return this.tail===""},u.prototype.scan=function(n){var t=this.tail.match(n);return t&&t.index===0?(this.tail=this.tail.substring(t[0].length),this.pos+=t[0].length,t[0]):""},u.prototype.scanUntil=function(n){var t,i=this.tail.search(n);switch(i){case-1:t=this.tail;this.pos+=this.tail.length;this.tail="";break;case 0:t="";break;default:t=this.tail.substring(0,i);this.tail=this.tail.substring(i);this.pos+=i}return t},t.make=function(n){return n instanceof t?n:new t(n)},t.prototype.push=function(n){return new t(n,this)},t.prototype.lookup=function(n){var t=this._cache[n],i,r,u;if(!t){if(n==".")t=this.view;else for(i=this;i;){if(n.indexOf(".")>0)for(t=i.view,r=n.split("."),u=0;t&&u<r.length;)t=t[r[u++]];else t=i.view[n];if(t!=null)break;i=i.parent}this._cache[n]=t}return typeof t=="function"&&(t=t.call(this.view)),t},i.prototype.clearCache=function(){this._cache={};this._partialCache={}},i.prototype.compile=function(t,i){var r=this._cache[t],u;return r||(u=n.parse(t,i),r=this._cache[t]=this.compileTokens(u,t)),r},i.prototype.compilePartial=function(n,t,i){var r=this.compile(t,i);return this._partialCache[n]=r,r},i.prototype.getPartial=function(n){return n in this._partialCache||!this._loadPartial||this.compilePartial(n,this._loadPartial(n)),this._partialCache[n]},i.prototype.compileTokens=function(n,i){var r=this;return function(u,e){if(e)if(typeof e=="function")r._loadPartial=e;else for(var o in e)r.compilePartial(o,e[o]);return f(n,r,t.make(u),i)}},i.prototype.render=function(n,t,i){return this.compile(n)(t,i)},n.parse=function(t,i){function st(){if(ft&&!it)while(g.length)delete w[g.pop()];else g=[];ft=!1;it=!1}var c,f,e,rt,et,ut,ot,b;if(t=t||"",i=i||n.tags,typeof i=="string"&&(i=i.split(s)),i.length!==2)throw new Error("Invalid tags: "+i.join(", "));for(var v=l(i),r=new u(t),k=[],w=[],g=[],ft=!1,it=!1;!r.eos();){if(c=r.pos,e=r.scanUntil(v[0]),e)for(ut=0,ot=e.length;ut<ot;++ut)rt=e.charAt(ut),d(rt)?g.push(w.length):it=!0,w.push(["text",rt,c,c+1]),c+=1,rt=="\n"&&st();if(!r.scan(v[0]))break;if(ft=!0,f=r.scan(p)||"name",r.scan(a),f==="="?(e=r.scanUntil(h),r.scan(h),r.scanUntil(v[1])):f==="{"?(e=r.scanUntil(new RegExp("\\s*"+o("}"+i[1]))),r.scan(y),r.scanUntil(v[1]),f="&"):e=r.scanUntil(v[1]),!r.scan(v[1]))throw new Error("Unclosed tag at "+r.pos);if(et=[f,e,c,r.pos],w.push(et),f==="#"||f==="^")k.push(et);else if(f==="/"){if(k.length===0)throw new Error('Unopened section "'+e+'" at '+c);if(b=k.pop(),b[1]!==e)throw new Error('Unclosed section "'+b[1]+'" at '+c);}else if(f==="name"||f==="{"||f==="&")it=!0;else if(f==="="){if(i=e.split(s),i.length!==2)throw new Error("Invalid tags at "+c+": "+i.join(", "));v=l(i)}}if(b=k.pop(),b)throw new Error('Unclosed section "'+b[1]+'" at '+r.pos);return w=tt(w),nt(w)},r=new i,n.clearCache=function(){return r.clearCache()},n.compile=function(n,t){return r.compile(n,t)},n.compilePartial=function(n,t,i){return r.compilePartial(n,t,i)},n.compileTokens=function(n,t){return r.compileTokens(n,t)},n.render=function(n,t,i){return r.render(n,t,i)},n.to_html=function(t,i,r,u){var f=n.render(t,i,r);if(typeof u=="function")u(f);else return f},n}()),function(n){n.Parse=n.Parse||{};n.Parse.VERSION="js1.2.2"}(this),function(){function l(t,i,r){var s,h,f,e,o;if(t===i)return t!==0||1/t==1/i;if(t==null||i==null)return t===i;if(t._chain&&(t=t._wrapped),i._chain&&(i=i._wrapped),t.isEqual&&n.isFunction(t.isEqual))return t.isEqual(i);if(i.isEqual&&n.isFunction(i.isEqual))return i.isEqual(t);if(s=u.call(t),s!=u.call(i))return!1;switch(s){case"[object String]":return t==String(i);case"[object Number]":return t!=+t?i!=+i:t==0?1/t==1/i:t==+i;case"[object Date]":case"[object Boolean]":return+t==+i;case"[object RegExp]":return t.source==i.source&&t.global==i.global&&t.multiline==i.multiline&&t.ignoreCase==i.ignoreCase}if(typeof t!="object"||typeof i!="object")return!1;for(h=r.length;h--;)if(r[h]==t)return!0;if(r.push(t),f=0,e=!0,s=="[object Array]"){if(f=t.length,e=f==i.length,e)while(f--)if(!(e=f in t==f in i&&l(t[f],i[f],r)))break}else{if("constructor"in t!="constructor"in i||t.constructor!=i.constructor)return!1;for(o in t)if(n.has(t,o)&&(f++,!(e=n.has(i,o)&&l(t[o],i[o],r))))break;if(e){for(o in i)if(n.has(i,o)&&!f--)break;e=!f}}return r.pop(),e}var a=this,st=a._,o={},r=Array.prototype,k=Object.prototype,ht=Function.prototype,t=r.slice,ct=r.unshift,u=k.toString,lt=k.hasOwnProperty,d=r.forEach,g=r.map,nt=r.reduce,tt=r.reduceRight,it=r.filter,rt=r.every,ut=r.some,s=r.indexOf,ft=r.lastIndexOf,at=Array.isArray,vt=Object.keys,v=ht.bind,n=function(n){return new f(n)},i,y,p,et,h,e,w,f,c,ot;typeof exports!="undefined"?(typeof module!="undefined"&&module.exports&&(exports=module.exports=n),exports._=n):a._=n;n.VERSION="1.3.3";i=n.each=n.forEach=function(t,i,r){var u,e,f;if(t!=null)if(d&&t.forEach===d)t.forEach(i,r);else if(t.length===+t.length){for(u=0,e=t.length;u<e;u++)if(u in t&&i.call(r,t[u],u,t)===o)return}else for(f in t)if(n.has(t,f)&&i.call(r,t[f],f,t)===o)return};n.map=n.collect=function(n,t,r){var u=[];return n==null?u:g&&n.map===g?n.map(t,r):(i(n,function(n,i,f){u[u.length]=t.call(r,n,i,f)}),n.length===+n.length&&(u.length=n.length),u)};n.reduce=n.foldl=n.inject=function(t,r,u,f){var e=arguments.length>2;if(t==null&&(t=[]),nt&&t.reduce===nt)return f&&(r=n.bind(r,f)),e?t.reduce(r,u):t.reduce(r);if(i(t,function(n,t,i){e?u=r.call(f,u,n,t,i):(u=n,e=!0)}),!e)throw new TypeError("Reduce of empty array with no initial value");return u};n.reduceRight=n.foldr=function(t,i,r,u){var f=arguments.length>2,e;return(t==null&&(t=[]),tt&&t.reduceRight===tt)?(u&&(i=n.bind(i,u)),f?t.reduceRight(i,r):t.reduceRight(i)):(e=n.toArray(t).reverse(),u&&!f&&(i=n.bind(i,u)),f?n.reduce(e,i,r,u):n.reduce(e,i))};n.find=n.detect=function(n,t,i){var r;return y(n,function(n,u,f){if(t.call(i,n,u,f))return r=n,!0}),r};n.filter=n.select=function(n,t,r){var u=[];return n==null?u:it&&n.filter===it?n.filter(t,r):(i(n,function(n,i,f){t.call(r,n,i,f)&&(u[u.length]=n)}),u)};n.reject=function(n,t,r){var u=[];return n==null?u:(i(n,function(n,i,f){t.call(r,n,i,f)||(u[u.length]=n)}),u)};n.every=n.all=function(n,t,r){var u=!0;return n==null?u:rt&&n.every===rt?n.every(t,r):(i(n,function(n,i,f){if(!(u=u&&t.call(r,n,i,f)))return o}),!!u)};y=n.some=n.any=function(t,r,u){r||(r=n.identity);var f=!1;return t==null?f:ut&&t.some===ut?t.some(r,u):(i(t,function(n,t,i){if(f||(f=r.call(u,n,t,i)))return o}),!!f)};n.include=n.contains=function(n,t){var i=!1;return n==null?i:s&&n.indexOf===s?n.indexOf(t)!=-1:(i=y(n,function(n){return n===t}),i)};n.invoke=function(i,r){var u=t.call(arguments,2);return n.map(i,function(t){return(n.isFunction(r)?r||t:t[r]).apply(t,u)})};n.pluck=function(t,i){return n.map(t,function(n){return n[i]})};n.max=function(t,r,u){if(!r&&n.isArray(t)&&t[0]===+t[0])return Math.max.apply(Math,t);if(!r&&n.isEmpty(t))return-Infinity;var f={computed:-Infinity};return i(t,function(n,t,i){var e=r?r.call(u,n,t,i):n;e>=f.computed&&(f={value:n,computed:e})}),f.value};n.min=function(t,r,u){if(!r&&n.isArray(t)&&t[0]===+t[0])return Math.min.apply(Math,t);if(!r&&n.isEmpty(t))return Infinity;var f={computed:Infinity};return i(t,function(n,t,i){var e=r?r.call(u,n,t,i):n;e<f.computed&&(f={value:n,computed:e})}),f.value};n.shuffle=function(n){var t=[],r;return i(n,function(n,i){r=Math.floor(Math.random()*(i+1));t[i]=t[r];t[r]=n}),t};n.sortBy=function(t,i,r){var u=n.isFunction(i)?i:function(n){return n[i]};return n.pluck(n.map(t,function(n,t,i){return{value:n,criteria:u.call(r,n,t,i)}}).sort(function(n,t){var i=n.criteria,r=t.criteria;return i===void 0?1:r===void 0?-1:i<r?-1:i>r?1:0}),"value")};n.groupBy=function(t,r){var u={},f=n.isFunction(r)?r:function(n){return n[r]};return i(t,function(n,t){var i=f(n,t);(u[i]||(u[i]=[])).push(n)}),u};n.sortedIndex=function(t,i,r){var u,f,e;for(r||(r=n.identity),u=0,f=t.length;u<f;)e=u+f>>1,r(t[e])<r(i)?u=e+1:f=e;return u};n.toArray=function(i){return i?n.isArray(i)?t.call(i):n.isArguments(i)?t.call(i):i.toArray&&n.isFunction(i.toArray)?i.toArray():n.values(i):[]};n.size=function(t){return n.isArray(t)?t.length:n.keys(t).length};n.first=n.head=n.take=function(n,i,r){return i!=null&&!r?t.call(n,0,i):n[0]};n.initial=function(n,i,r){return t.call(n,0,n.length-(i==null||r?1:i))};n.last=function(n,i,r){return i!=null&&!r?t.call(n,Math.max(n.length-i,0)):n[n.length-1]};n.rest=n.tail=function(n,i,r){return t.call(n,i==null||r?1:i)};n.compact=function(t){return n.filter(t,function(n){return!!n})};n.flatten=function(t,i){return n.reduce(t,function(t,r){return n.isArray(r)?t.concat(i?r:n.flatten(r)):(t[t.length]=r,t)},[])};n.without=function(i){return n.difference(i,t.call(arguments,1))};n.uniq=n.unique=function(t,i,r){var f=r?n.map(t,r):t,u=[];return t.length<3&&(i=!0),n.reduce(f,function(r,f,e){return(i?n.last(r)===f&&r.length:n.include(r,f))||(r.push(f),u.push(t[e])),r},[]),u};n.union=function(){return n.uniq(n.flatten(arguments,!0))};n.intersection=n.intersect=function(i){var r=t.call(arguments,1);return n.filter(n.uniq(i),function(t){return n.every(r,function(i){return n.indexOf(i,t)>=0})})};n.difference=function(i){var r=n.flatten(t.call(arguments,1),!0);return n.filter(i,function(t){return!n.include(r,t)})};n.zip=function(){for(var r=t.call(arguments),u=n.max(n.pluck(r,"length")),f=new Array(u),i=0;i<u;i++)f[i]=n.pluck(r,""+i);return f};n.indexOf=function(t,i,r){if(t==null)return-1;var u,f;if(r)return u=n.sortedIndex(t,i),t[u]===i?u:-1;if(s&&t.indexOf===s)return t.indexOf(i);for(u=0,f=t.length;u<f;u++)if(u in t&&t[u]===i)return u;return-1};n.lastIndexOf=function(n,t){if(n==null)return-1;if(ft&&n.lastIndexOf===ft)return n.lastIndexOf(t);for(var i=n.length;i--;)if(i in n&&n[i]===t)return i;return-1};n.range=function(n,t,i){arguments.length<=1&&(t=n||0,n=0);i=arguments[2]||1;for(var r=Math.max(Math.ceil((t-n)/i),0),u=0,f=new Array(r);u<r;)f[u++]=n,n+=i;return f};p=function(){};n.bind=function(i,r){var f,u;if(i.bind===v&&v)return v.apply(i,t.call(arguments,1));if(!n.isFunction(i))throw new TypeError;return u=t.call(arguments,2),f=function(){if(this instanceof f){p.prototype=i.prototype;var e=new p,n=i.apply(e,u.concat(t.call(arguments)));return Object(n)===n?n:e}return i.apply(r,u.concat(t.call(arguments)))}};n.bindAll=function(r){var u=t.call(arguments,1);return u.length==0&&(u=n.functions(r)),i(u,function(t){r[t]=n.bind(r[t],r)}),r};n.memoize=function(t,i){var r={};return i||(i=n.identity),function(){var u=i.apply(this,arguments);return n.has(r,u)?r[u]:r[u]=t.apply(this,arguments)}};n.delay=function(n,i){var r=t.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},i)};n.defer=function(i){return n.delay.apply(n,[i,1].concat(t.call(arguments,1)))};n.throttle=function(t,i){var r,u,f,e,o,s,h=n.debounce(function(){o=e=!1},i);return function(){r=this;u=arguments;var n=function(){f=null;o&&t.apply(r,u);h()};return f||(f=setTimeout(n,i)),e?o=!0:s=t.apply(r,u),h(),e=!0,s}};n.debounce=function(n,t,i){var r;return function(){var u=this,f=arguments,e=function(){r=null;i||n.apply(u,f)};i&&!r&&n.apply(u,f);clearTimeout(r);r=setTimeout(e,t)}};n.once=function(n){var t=!1,i;return function(){return t?i:(t=!0,i=n.apply(this,arguments))}};n.wrap=function(n,i){return function(){var r=[n].concat(t.call(arguments,0));return i.apply(this,r)}};n.compose=function(){var n=arguments;return function(){for(var i=arguments,t=n.length-1;t>=0;t--)i=[n[t].apply(this,i)];return i[0]}};n.after=function(n,t){return n<=0?t():function(){if(--n<1)return t.apply(this,arguments)}};n.keys=vt||function(t){var i,r;if(t!==Object(t))throw new TypeError("Invalid object");i=[];for(r in t)n.has(t,r)&&(i[i.length]=r);return i};n.values=function(t){return n.map(t,n.identity)};n.functions=n.methods=function(t){var r=[],i;for(i in t)n.isFunction(t[i])&&r.push(i);return r.sort()};n.extend=function(n){return i(t.call(arguments,1),function(t){for(var i in t)n[i]=t[i]}),n};n.pick=function(r){var u={};return i(n.flatten(t.call(arguments,1)),function(n){n in r&&(u[n]=r[n])}),u};n.defaults=function(n){return i(t.call(arguments,1),function(t){for(var i in t)n[i]==null&&(n[i]=t[i])}),n};n.clone=function(t){return n.isObject(t)?n.isArray(t)?t.slice():n.extend({},t):t};n.tap=function(n,t){return t(n),n};n.isEqual=function(n,t){return l(n,t,[])};n.isEmpty=function(t){if(t==null)return!0;if(n.isArray(t)||n.isString(t))return t.length===0;for(var i in t)if(n.has(t,i))return!1;return!0};n.isElement=function(n){return!!n&&n.nodeType==1};n.isArray=at||function(n){return u.call(n)=="[object Array]"};n.isObject=function(n){return n===Object(n)};n.isArguments=function(n){return u.call(n)=="[object Arguments]"};n.isArguments(arguments)||(n.isArguments=function(t){return!!t&&!!n.has(t,"callee")});n.isFunction=function(n){return u.call(n)=="[object Function]"};n.isString=function(n){return u.call(n)=="[object String]"};n.isNumber=function(n){return u.call(n)=="[object Number]"};n.isFinite=function(t){return n.isNumber(t)&&isFinite(t)};n.isNaN=function(n){return n!==n};n.isBoolean=function(n){return n===!0||n===!1||u.call(n)=="[object Boolean]"};n.isDate=function(n){return u.call(n)=="[object Date]"};n.isRegExp=function(n){return u.call(n)=="[object RegExp]"};n.isNull=function(n){return n===null};n.isUndefined=function(n){return n===void 0};n.has=function(n,t){return lt.call(n,t)};n.noConflict=function(){return a._=st,this};n.identity=function(n){return n};n.times=function(n,t,i){for(var r=0;r<n;r++)t.call(i,r)};n.escape=function(n){return(""+n).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/\//g,"&#x2F;")};n.result=function(t,i){if(t==null)return null;var r=t[i];return n.isFunction(r)?r.call(t):r};n.mixin=function(t){i(n.functions(t),function(i){ot(i,n[i]=t[i])})};et=0;n.uniqueId=function(n){var t=et++;return n?n+t:t};n.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};h=/.^/;e={"\\":"\\","'":"'",r:"\r",n:"\n",t:"\t",u2028:"\u2028",u2029:"\u2029"};for(w in e)e[e[w]]=w;var yt=/\\|'|\r|\n|\t|\u2028|\u2029/g,pt=/\\(\\|'|r|n|t|u2028|u2029)/g,b=function(n){return n.replace(pt,function(n,t){return e[t]})};n.template=function(t,i,r){var u,f,o;return(r=n.defaults(r||{},n.templateSettings),u="__p+='"+t.replace(yt,function(n){return"\\"+e[n]}).replace(r.escape||h,function(n,t){return"'+\n_.escape("+b(t)+")+\n'"}).replace(r.interpolate||h,function(n,t){return"'+\n("+b(t)+")+\n'"}).replace(r.evaluate||h,function(n,t){return"';\n"+b(t)+"\n;__p+='"})+"';\n",r.variable||(u="with(obj||{}){\n"+u+"}\n"),u="var __p='';var print=function(){__p+=Array.prototype.join.call(arguments, '')};\n"+u+"return __p;\n",f=new Function(r.variable||"obj","_",u),i)?f(i,n):(o=function(t){return f.call(this,t,n)},o.source="function("+(r.variable||"obj")+"){\n"+u+"}",o)};n.chain=function(t){return n(t).chain()};f=function(n){this._wrapped=n};n.prototype=f.prototype;c=function(t,i){return i?n(t).chain():t};ot=function(i,r){f.prototype[i]=function(){var i=t.call(arguments);return ct.call(i,this._wrapped),c(r.apply(n,i),this._chain)}};n.mixin(n);i(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=r[n];f.prototype[n]=function(){var i=this._wrapped,r;return t.apply(i,arguments),r=i.length,(n=="shift"||n=="splice")&&r===0&&delete i[0],c(i,this._chain)}});i(["concat","join","slice"],function(n){var t=r[n];f.prototype[n]=function(){return c(t.apply(this._wrapped,arguments),this._chain)}});f.prototype.chain=function(){return this._chain=!0,this};f.prototype.value=function(){return this._wrapped}}.call(this),function(n){var t,i,r;n.Parse=n.Parse||{};t=n.Parse;typeof exports!="undefined"&&exports._?(t._=exports._.noConflict(),t.localStorage=require("localStorage"),t.XMLHttpRequest=require("xmlhttprequest").XMLHttpRequest,exports.Parse=t):(t._=_.noConflict(),typeof localStorage!="undefined"&&(t.localStorage=localStorage),typeof XMLHttpRequest!="undefined"&&(t.XMLHttpRequest=XMLHttpRequest));typeof $!="undefined"&&(t.$=$);i=function(){};r=function(n,r,u){var f;return f=r&&r.hasOwnProperty("constructor")?r.constructor:function(){n.apply(this,arguments)},t._.extend(f,n),i.prototype=n.prototype,f.prototype=new i,r&&t._.extend(f.prototype,r),u&&t._.extend(f,u),f.prototype.constructor=f,f.__super__=n.prototype,f};t.serverURL="https://api.parse.com";t.initialize=function(n,i){t._initialize(n,i)};t._initialize=function(n,i,r){t.applicationId=n;t.javaScriptKey=i;t.masterKey=r;t._useMasterKey=!1};t._getParsePath=function(n){if(!t.applicationId)throw"You need to call Parse.initialize before using Parse.";if(n||(n=""),!t._.isString(n))throw"Tried to get a localStorage path that wasn't a String.";return n[0]==="/"&&(n=n.substring(1)),"Parse/"+t.applicationId+"/"+n};t._installationId=null;t._getInstallationId=function(){var i,n;return t._installationId?t._installationId:(i=t._getParsePath("installationId"),t._installationId=t.localStorage.getItem(i),t._installationId&&t._installationId!==""||(n=function(){return Math.floor((1+Math.random())*65536).toString(16).substring(1)},t._installationId=n()+n()+"-"+n()+"-"+n()+"-"+n()+"-"+n()+n()+n(),t.localStorage.setItem(i,t._installationId)),t._installationId)};t._parseDate=function(n){var i=new RegExp("^([0-9]{1,4})-([0-9]{1,2})-([0-9]{1,2})T([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})(.([0-9]+))?Z$"),t=i.exec(n);if(!t)return null;var r=t[1]||0,u=(t[2]||1)-1,f=t[3]||0,e=t[4]||0,o=t[5]||0,s=t[6]||0,h=t[8]||0;return new Date(Date.UTC(r,u,f,e,o,s,h))};t._ajaxIE8=function(n,i,r,u,f){var o=new t.Promise,e=new XDomainRequest;return e.onload=function(){var n;try{n=JSON.parse(e.responseText)}catch(t){f&&f(e);o.reject(t)}n&&(u&&u(n,e),o.resolve(n))},e.onerror=e.ontimeout=function(){f&&f(e);o.reject(e)},e.onprogress=function(){},e.open(n,i),e.send(r),o};t._ajax=function(n,i,r,u,f){if(typeof XDomainRequest!="undefined")return t._ajaxIE8(n,i,r,u,f);var o=new t.Promise,s=!1,e=new t.XMLHttpRequest;return e.onreadystatechange=function(){if(e.readyState===4){if(s)return;if(s=!0,e.status>=200&&e.status<300){var n;try{n=JSON.parse(e.responseText)}catch(t){f&&f(e);o.reject(t)}n&&(u&&u(n,e.status,e),o.resolve(n,e.status,e))}else f&&f(e),o.reject(e)}},e.open(n,i,!0),e.setRequestHeader("Content-Type","text/plain"),e.send(r),o};t._extend=function(n,t){var i=r(this,n,t);return i.extend=this.extend,i};t._request=function(n,i,r,u,f,e){var o,s,h;if(!t.applicationId)throw"You must specify your applicationId using Parse.initialize";if(!t.javaScriptKey&&!t.masterKey)throw"You must specify a key using Parse.initialize";if(n!=="batch"&&n!=="classes"&&n!=="functions"&&n!=="login"&&n!=="push"&&n!=="requestPasswordReset"&&n!=="users")throw"Bad route: '"+n+"'.";return o=t.serverURL,o.charAt(o.length-1)!=="/"&&(o+="/"),o+="1/"+n,i&&(o+="/"+i),r&&(o+="/"+r),f=t._.clone(f||{}),u!=="POST"&&(f._method=u,u="POST"),f._ApplicationId=t.applicationId,t._useMasterKey?f._MasterKey=t.masterKey:f._JavaScriptKey=t.javaScriptKey,f._ClientVersion=t.VERSION,f._InstallationId=t._getInstallationId(),s=t.User.current(),s&&s._sessionToken&&(f._SessionToken=s._sessionToken),h=JSON.stringify(f),e=e||{},t._ajax(u,o,h,e.success,e.error)};t._getValue=function(n,i){return!n||!n[i]?null:t._.isFunction(n[i])?n[i]():n[i]};t._encode=function(n,i,r){var u=t._,f;if(n instanceof t.Object){if(r)throw"Parse.Objects not allowed here";if(!i||u.include(i,n)||!n._hasData)return n._toPointer();if(!n.dirty())return i=i.concat(n),t._encode(n._toFullJSON(i),i,r);throw"Can't fully embed a dirty object";}return n instanceof t.ACL?n.toJSON():u.isDate(n)?{__type:"Date",iso:n.toJSON()}:n instanceof t.GeoPoint?n.toJSON():u.isArray(n)?u.map(n,function(n){return t._encode(n,i,r)}):u.isRegExp(n)?n.source:n instanceof t.Relation?n.toJSON():n instanceof t.Op?n.toJSON():n instanceof Object?(f={},t._each(n,function(n,u){f[u]=t._encode(n,i,r)}),f):n};t._decode=function(n,i){var e=t._,r,o,u,f;return e.isObject(i)?e.isArray(i)?(t._each(i,function(n,r){i[r]=t._decode(r,n)}),i):i instanceof t.Object?i:i instanceof t.Op?i:i.__op?t.Op._decode(i):i.__type==="Pointer"?(r=t.Object._create(i.className),r._finishFetch({objectId:i.objectId},!1),r):i.__type==="Object"?(o=i.className,delete i.__type,delete i.className,u=t.Object._create(o),u._finishFetch(i,!0),u):i.__type==="Date"?t._parseDate(i.iso):i.__type==="GeoPoint"?new t.GeoPoint({latitude:i.latitude,longitude:i.longitude}):n==="ACL"?i instanceof t.ACL?i:new t.ACL(i):i.__type==="Relation"?(f=new t.Relation(null,n),f.targetClassName=i.className,f):(t._each(i,function(n,r){i[r]=t._decode(r,n)}),i):i};t._traverse=function(n,i){if(n instanceof t.Object)return t._traverse(n.attributes,i),i(n);if(!(n instanceof t.Relation)){if(t._.isArray(n)){t._.each(n,function(r,u){var f=t._traverse(r,i);f&&(n[u]=f)});return}if(t._.isObject(n)){t._each(n,function(r,u){var f=t._traverse(r,i);f&&(n[u]=f)});return}}};t._each=function(n,i){var r=t._;r.isObject(n)?r.each(r.keys(n),function(t){i(n[t],t)}):r.each(n,i)};t._isNullOrUndefined=function(n){return t._.isNull(n)||t._.isUndefined(n)}}(this),function(n){n.Parse=n.Parse||{};var t=n.Parse,i=t._;t.Error=function(n,t){this.code=n;this.message=t};i.extend(t.Error,{OTHER_CAUSE:-1,INTERNAL_SERVER_ERROR:1,CONNECTION_FAILED:100,OBJECT_NOT_FOUND:101,INVALID_QUERY:102,INVALID_CLASS_NAME:103,MISSING_OBJECT_ID:104,INVALID_KEY_NAME:105,INVALID_POINTER:106,INVALID_JSON:107,COMMAND_UNAVAILABLE:108,NOT_INITIALIZED:109,INCORRECT_TYPE:111,INVALID_CHANNEL_NAME:112,PUSH_MISCONFIGURED:115,OBJECT_TOO_LARGE:116,OPERATION_FORBIDDEN:119,CACHE_MISS:120,INVALID_NESTED_KEY:121,INVALID_FILE_NAME:122,INVALID_ACL:123,TIMEOUT:124,INVALID_EMAIL_ADDRESS:125,MISSING_CONTENT_TYPE:126,MISSING_CONTENT_LENGTH:127,INVALID_CONTENT_LENGTH:128,FILE_TOO_LARGE:129,FILE_SAVE_ERROR:130,FILE_DELETE_ERROR:153,DUPLICATE_VALUE:137,INVALID_ROLE_NAME:139,EXCEEDED_QUOTA:140,SCRIPT_FAILED:141,VALIDATION_ERROR:142,INVALID_IMAGE_DATA:150,UNSAVED_FILE_ERROR:151,INVALID_PUSH_TIME_ERROR:152,USERNAME_MISSING:200,PASSWORD_MISSING:201,USERNAME_TAKEN:202,EMAIL_TAKEN:203,EMAIL_MISSING:204,EMAIL_NOT_FOUND:205,SESSION_MISSING:206,MUST_CREATE_USER_THROUGH_SIGNUP:207,ACCOUNT_ALREADY_LINKED:208,LINKED_ID_MISSING:250,INVALID_LINKED_SESSION:251,UNSUPPORTED_SERVICE:252})}(this),function(){var i=this,n=i.Parse||(i.Parse={}),t=/\s+/,r=Array.prototype.slice;n.Events={on:function(n,i,r){var o,u,f,s,e;if(!i)return this;for(n=n.split(t),o=this._callbacks||(this._callbacks={}),u=n.shift();u;)e=o[u],f=e?e.tail:{},f.next=s={},f.context=r,f.callback=i,o[u]={tail:s,next:e?e.next:f},u=n.shift();return this},off:function(n,i,r){var f,e,u,h,o,s;if(e=this._callbacks){if(!(n||i||r))return delete this._callbacks,this;for(n=n?n.split(t):_.keys(e),f=n.shift();f;)if(u=e[f],delete e[f],u&&(i||r)){for(h=u.tail,u=u.next;u!==h;)o=u.callback,s=u.context,(i&&o!==i||r&&s!==r)&&this.on(f,o,s),u=u.next;f=n.shift()}return this}},trigger:function(n){var u,i,e,f,s,h,o;if(!(e=this._callbacks))return this;for(h=e.all,n=n.split(t),o=r.call(arguments,1),u=n.shift();u;){if(i=e[u],i)for(f=i.tail;(i=i.next)!==f;)i.callback.apply(i.context||this,o);if(i=h,i)for(f=i.tail,s=[u].concat(o);(i=i.next)!==f;)i.callback.apply(i.context||this,s);u=n.shift()}return this}};n.Events.bind=n.Events.on;n.Events.unbind=n.Events.off}.call(this),function(n){n.Parse=n.Parse||{};var t=n.Parse,i=t._;t.GeoPoint=function(n,r){i.isArray(n)?(t.GeoPoint._validate(n[0],n[1]),this.latitude=n[0],this.longitude=n[1]):i.isObject(n)?(t.GeoPoint._validate(n.latitude,n.longitude),this.latitude=n.latitude,this.longitude=n.longitude):i.isNumber(n)&&i.isNumber(r)?(t.GeoPoint._validate(n,r),this.latitude=n,this.longitude=r):(this.latitude=0,this.longitude=0);var u=this;this.__defineGetter__&&this.__defineSetter__&&(this._latitude=this.latitude,this._longitude=this.longitude,this.__defineGetter__("latitude",function(){return u._latitude}),this.__defineGetter__("longitude",function(){return u._longitude}),this.__defineSetter__("latitude",function(n){t.GeoPoint._validate(n,u.longitude);u._latitude=n}),this.__defineSetter__("longitude",function(n){t.GeoPoint._validate(u.latitude,n);u._longitude=n}))};t.GeoPoint._validate=function(n,t){if(n<-90)throw"Parse.GeoPoint latitude "+n+" < -90.0.";if(n>90)throw"Parse.GeoPoint latitude "+n+" > 90.0.";if(t<-180)throw"Parse.GeoPoint longitude "+t+" < -180.0.";if(t>180)throw"Parse.GeoPoint longitude "+t+" > 180.0.";};t.GeoPoint.current=function(n){var i=function(i){n.success&&n.success(new t.GeoPoint({latitude:i.coords.latitude,longitude:i.coords.longitude}))},r=function(t){n.error&&n.error(t)};navigator.geolocation.getCurrentPosition(i,r)};t.GeoPoint.prototype={toJSON:function(){return t.GeoPoint._validate(this.latitude,this.longitude),{__type:"GeoPoint",latitude:this.latitude,longitude:this.longitude}},radiansTo:function(n){var t=Math.PI/180,r=this.latitude*t,o=this.longitude*t,u=n.latitude*t,s=n.longitude*t,h=r-u,c=o-s,f=Math.sin(h/2),e=Math.sin(c/2),i=f*f+Math.cos(r)*Math.cos(u)*e*e;return i=Math.min(1,i),2*Math.asin(Math.sqrt(i))},kilometersTo:function(n){return this.radiansTo(n)*6371},milesTo:function(n){return this.radiansTo(n)*3958.8}}}(this),function(n){n.Parse=n.Parse||{};var t=n.Parse,i=t._,r="*";t.ACL=function(n){var r=this;if(r.permissionsById={},i.isObject(n))if(n instanceof t.User)r.setReadAccess(n,!0),r.setWriteAccess(n,!0);else{if(i.isFunction(n))throw"Parse.ACL() called with a function.  Did you forget ()?";t._each(n,function(n,u){if(!i.isString(u))throw"Tried to create an ACL with an invalid userId.";r.permissionsById[u]={};t._each(n,function(n,t){if(t!=="read"&&t!=="write")throw"Tried to create an ACL with an invalid permission type.";if(!i.isBoolean(n))throw"Tried to create an ACL with an invalid permission value.";r.permissionsById[u][t]=n})})}};t.ACL.prototype.toJSON=function(){return i.clone(this.permissionsById)};t.ACL.prototype._setAccess=function(n,r,u){if(r instanceof t.User?r=r.id:r instanceof t.Role&&(r="role:"+r.getName()),!i.isString(r))throw"userId must be a string.";if(!i.isBoolean(u))throw"allowed must be either true or false.";var f=this.permissionsById[r];if(!f){if(!u)return;f={};this.permissionsById[r]=f}u?this.permissionsById[r][n]=!0:(delete f[n],i.isEmpty(f)&&delete f[r])};t.ACL.prototype._getAccess=function(n,i){i instanceof t.User?i=i.id:i instanceof t.Role&&(i="role:"+i.getName());var r=this.permissionsById[i];return r?r[n]?!0:!1:!1};t.ACL.prototype.setReadAccess=function(n,t){this._setAccess("read",n,t)};t.ACL.prototype.getReadAccess=function(n){return this._getAccess("read",n)};t.ACL.prototype.setWriteAccess=function(n,t){this._setAccess("write",n,t)};t.ACL.prototype.getWriteAccess=function(n){return this._getAccess("write",n)};t.ACL.prototype.setPublicReadAccess=function(n){this.setReadAccess(r,n)};t.ACL.prototype.getPublicReadAccess=function(){return this.getReadAccess(r)};t.ACL.prototype.setPublicWriteAccess=function(n){this.setWriteAccess(r,n)};t.ACL.prototype.getPublicWriteAccess=function(){return this.getWriteAccess(r)};t.ACL.prototype.getRoleReadAccess=function(n){if(n instanceof t.Role&&(n=n.getName()),i.isString(n))return this.getReadAccess("role:"+n);throw"role must be a Parse.Role or a String";};t.ACL.prototype.getRoleWriteAccess=function(n){if(n instanceof t.Role&&(n=n.getName()),i.isString(n))return this.getWriteAccess("role:"+n);throw"role must be a Parse.Role or a String";};t.ACL.prototype.setRoleReadAccess=function(n,r){if(n instanceof t.Role&&(n=n.getName()),i.isString(n)){this.setReadAccess("role:"+n,r);return}throw"role must be a Parse.Role or a String";};t.ACL.prototype.setRoleWriteAccess=function(n,r){if(n instanceof t.Role&&(n=n.getName()),i.isString(n)){this.setWriteAccess("role:"+n,r);return}throw"role must be a Parse.Role or a String";}}(this),function(n){n.Parse=n.Parse||{};var t=n.Parse,i=t._;t.Op=function(){this._initialize.apply(this,arguments)};t.Op.prototype={_initialize:function(){}};i.extend(t.Op,{_extend:t._extend,_opDecoderMap:{},_registerDecoder:function(n,i){t.Op._opDecoderMap[n]=i},_decode:function(n){var i=t.Op._opDecoderMap[n.__op];return i?i(n):undefined}});t.Op._registerDecoder("Batch",function(n){var r=null;return i.each(n.ops,function(n){n=t.Op._decode(n);r=n._mergeWithPrevious(r)}),r});t.Op.Set=t.Op._extend({_initialize:function(n){this._value=n},value:function(){return this._value},toJSON:function(){return t._encode(this.value())},_mergeWithPrevious:function(){return this},_estimate:function(){return this.value()}});t.Op._UNSET={};t.Op.Unset=t.Op._extend({toJSON:function(){return{__op:"Delete"}},_mergeWithPrevious:function(){return this},_estimate:function(){return t.Op._UNSET}});t.Op._registerDecoder("Delete",function(){return new t.Op.Unset});t.Op.Increment=t.Op._extend({_initialize:function(n){this._amount=n},amount:function(){return this._amount},toJSON:function(){return{__op:"Increment",amount:this._amount}},_mergeWithPrevious:function(n){if(!n)return this;if(n instanceof t.Op.Unset)return new t.Op.Set(this.amount());if(n instanceof t.Op.Set)return new t.Op.Set(n.value()+this.amount());if(n instanceof t.Op.Increment)return new t.Op.Increment(this.amount()+n.amount());throw"Op is invalid after previous op.";},_estimate:function(n){return n?n+this.amount():this.amount()}});t.Op._registerDecoder("Increment",function(n){return new t.Op.Increment(n.amount)});t.Op.Add=t.Op._extend({_initialize:function(n){this._objects=n},objects:function(){return this._objects},toJSON:function(){return{__op:"Add",objects:t._encode(this.objects())}},_mergeWithPrevious:function(n){if(!n)return this;if(n instanceof t.Op.Unset)return new t.Op.Set(this.objects());if(n instanceof t.Op.Set)return new t.Op.Set(this._estimate(n.value()));if(n instanceof t.Op.Add)return new t.Op.Add(n.objects().concat(this.objects()));throw"Op is invalid after previous op.";},_estimate:function(n){return n?n.concat(this.objects()):i.clone(this.objects())}});t.Op._registerDecoder("Add",function(n){return new t.Op.Add(t._decode(undefined,n.objects))});t.Op.AddUnique=t.Op._extend({_initialize:function(n){this._objects=i.uniq(n)},objects:function(){return this._objects},toJSON:function(){return{__op:"AddUnique",objects:t._encode(this.objects())}},_mergeWithPrevious:function(n){if(!n)return this;if(n instanceof t.Op.Unset)return new t.Op.Set(this.objects());if(n instanceof t.Op.Set)return new t.Op.Set(this._estimate(n.value()));if(n instanceof t.Op.AddUnique)return new t.Op.AddUnique(i.union(n.objects(),this.objects()));throw"Op is invalid after previous op.";},_estimate:function(n){return n?n.concat(i.difference(this.objects(),n)):i.clone(this.objects())}});t.Op._registerDecoder("AddUnique",function(n){return new t.Op.AddUnique(t._decode(undefined,n.objects))});t.Op.Remove=t.Op._extend({_initialize:function(n){this._objects=i.uniq(n)},objects:function(){return this._objects},toJSON:function(){return{__op:"Remove",objects:t._encode(this.objects())}},_mergeWithPrevious:function(n){if(!n)return this;if(n instanceof t.Op.Unset)return n;if(n instanceof t.Op.Set)return new t.Op.Set(this._estimate(n.value()));if(n instanceof t.Op.Remove)return new t.Op.Remove(i.union(n.objects(),this.objects()));throw"Op is invalid after previous op.";},_estimate:function(n){if(!n)return[];var r=i.difference(n,this.objects());return i.each(this.objects(),function(n){n instanceof t.Object&&n.id&&(r=i.reject(r,function(i){return i instanceof t.Object&&i.id===n.id}))}),r}});t.Op._registerDecoder("Remove",function(n){return new t.Op.Remove(t._decode(undefined,n.objects))});t.Op.Relation=t.Op._extend({_initialize:function(n,r){this._targetClassName=null;var u=this,f=function(n){if(n instanceof t.Object){if(!n.id)throw"You can't add an unsaved Parse.Object to a relation.";if(u._targetClassName||(u._targetClassName=n.className),u._targetClassName!==n.className)throw"Tried to create a Parse.Relation with 2 different types: "+u._targetClassName+" and "+n.className+".";return n.id}return n};this.relationsToAdd=i.uniq(i.map(n,f));this.relationsToRemove=i.uniq(i.map(r,f))},added:function(){var n=this;return i.map(this.relationsToAdd,function(i){var r=t.Object._create(n._targetClassName);return r.id=i,r})},removed:function(){var n=this;return i.map(this.relationsToRemove,function(i){var r=t.Object._create(n._targetClassName);return r.id=i,r})},toJSON:function(){var n=null,t=null,f=this,u=function(n){return{__type:"Pointer",className:f._targetClassName,objectId:n}},r=null;return this.relationsToAdd.length>0&&(r=i.map(this.relationsToAdd,u),n={__op:"AddRelation",objects:r}),this.relationsToRemove.length>0&&(r=i.map(this.relationsToRemove,u),t={__op:"RemoveRelation",objects:r}),n&&t?{__op:"Batch",ops:[n,t]}:n||t||{}},_mergeWithPrevious:function(n){if(!n)return this;if(n instanceof t.Op.Unset)throw"You can't modify a relation after deleting it.";if(n instanceof t.Op.Relation){if(n._targetClassName&&n._targetClassName!==this._targetClassName)throw"Related object must be of class "+n._targetClassName+", but "+this._targetClassName+" was passed in.";var u=i.union(i.difference(n.relationsToAdd,this.relationsToRemove),this.relationsToAdd),f=i.union(i.difference(n.relationsToRemove,this.relationsToAdd),this.relationsToRemove),r=new t.Op.Relation(u,f);return r._targetClassName=this._targetClassName,r}throw"Op is invalid after previous op.";},_estimate:function(n,i,r){if(!!n){if(n instanceof t.Relation){if(this._targetClassName)if(n.targetClassName){if(n.targetClassName!==this._targetClassName)throw"Related object must be a "+n.targetClassName+", but a "+this._targetClassName+" was passed in.";}else n.targetClassName=this._targetClassName;return n}throw"Op is invalid after previous op.";}var u=new t.Relation(i,r);u.targetClassName=this._targetClassName}});t.Op._registerDecoder("AddRelation",function(n){return new t.Op.Relation(t._decode(undefined,n.objects),[])});t.Op._registerDecoder("RemoveRelation",function(n){return new t.Op.Relation([],t._decode(undefined,n.objects))})}(this),function(n){n.Parse=n.Parse||{};var t=n.Parse,i=t._;t.Relation=function(n,t){this.parent=n;this.key=t;this.targetClassName=null};t.Relation.prototype={_ensureParentAndKey:function(n,t){if(this.parent=this.parent||n,this.key=this.key||t,this.parent!==n)throw"Internal Error. Relation retrieved from two different Objects.";if(this.key!==t)throw"Internal Error. Relation retrieved from two different keys.";},add:function(n){i.isArray(n)||(n=[n]);var r=new t.Op.Relation(n,[]);this.parent.set(this.key,r);this.targetClassName=r._targetClassName},remove:function(n){i.isArray(n)||(n=[n]);var r=new t.Op.Relation([],n);this.parent.set(this.key,r);this.targetClassName=r._targetClassName},toJSON:function(){return{__type:"Relation",className:this.targetClassName}},query:function(){var i,n;return this.targetClassName?(i=t.Object._getSubclass(this.targetClassName),n=new t.Query(i)):(i=t.Object._getSubclass(this.parent.className),n=new t.Query(i),n._extraOptions.redirectClassNameForKey=this.key),n._addCondition("$relatedTo","object",this.parent._toPointer()),n._addCondition("$relatedTo","key",this.key),n}}}(this),function(n){n.Parse=n.Parse||{};var t=n.Parse,i=t._;t.Promise=function(){this._resolved=!1;this._rejected=!1;this._resolvedCallbacks=[];this._rejectedCallbacks=[]};i.extend(t.Promise,{is:function(n){return n&&n.then&&i.isFunction(n.then)},as:function(){var n=new t.Promise;return n.resolve.apply(n,arguments),n},error:function(){var n=new t.Promise;return n.reject.apply(n,arguments),n},when:function(n){var r,f,e;r=n&&t._isNullOrUndefined(n.length)?arguments:n;var o=r.length,h=!1,u=[],s=[];return(u.length=r.length,s.length=r.length,o===0)?t.Promise.as.apply(this,u):(f=new t.Promise,e=function(){o-=1;o===0&&(h?f.reject(s):f.resolve.apply(f,u))},i.each(r,function(n,i){t.Promise.is(n)?n.then(function(n){u[i]=n;e()},function(n){s[i]=n;h=!0;e()}):(u[i]=n,e())}),f)},_continueWhile:function(n,i){return n()?i().then(function(){return t.Promise._continueWhile(n,i)}):t.Promise.as()}});i.extend(t.Promise.prototype,{resolve:function(){if(this._resolved||this._rejected)throw"A promise was resolved even though it had already been "+(this._resolved?"resolved":"rejected")+".";this._resolved=!0;this._result=arguments;var n=arguments;i.each(this._resolvedCallbacks,function(t){t.apply(this,n)});this._resolvedCallbacks=[];this._rejectedCallbacks=[]},reject:function(n){if(this._resolved||this._rejected)throw"A promise was rejected even though it had already been "+(this._resolved?"resolved":"rejected")+".";this._rejected=!0;this._error=n;i.each(this._rejectedCallbacks,function(t){t(n)});this._resolvedCallbacks=[];this._rejectedCallbacks=[]},then:function(n,i){var r=new t.Promise,u=function(){var i=arguments;n&&(i=[n.apply(this,i)]);i.length===1&&t.Promise.is(i[0])?i[0].then(function(){r.resolve.apply(r,arguments)},function(n){r.reject(n)}):r.resolve.apply(r,i)},f=function(n){var u=[];i?(u=[i(n)],u.length===1&&t.Promise.is(u[0])?u[0].then(function(){r.resolve.apply(r,arguments)},function(n){r.reject(n)}):r.reject(u[0])):r.reject(n)};return this._resolved?u.apply(this,this._result):this._rejected?f(this._error):(this._resolvedCallbacks.push(u),this._rejectedCallbacks.push(f)),r},_thenRunCallbacks:function(n){var r,u;return i.isFunction(n)?(u=n,r={success:function(n){u(n,null)},error:function(n){u(null,n)}}):r=i.clone(n),r=r||{},this.then(function(n){return r.success&&r.success(n),n},function(n){return r.error&&(r.model?r.error(r.model,n):r.error(n)),t.Promise.error(n)})},_continueWith:function(n){return this.then(function(){return n(arguments,null)},function(t){return n(null,t)})}})}(this),function(n){n.Parse=n.Parse||{};var t=n.Parse,i=t._;t.Object=function(n,r){if(i.isString(n))return t.Object._create.apply(this,arguments);n=n||{};r&&r.parse&&(n=this.parse(n));var u=t._getValue(this,"defaults");if(u&&(n=i.extend({},u,n)),r&&r.collection&&(this.collection=r.collection),this._serverData={},this._opSetQueue=[{}],this.attributes={},this._hashedJSON={},this._escapedAttributes={},this.cid=i.uniqueId("c"),this.changed={},this._silent={},this._pending={},!this.set(n,{silent:!0}))throw new Error("Can't create an invalid Parse.Object");this.changed={};this._silent={};this._pending={};this._hasData=!0;this._previousAttributes=i.clone(this.attributes);this.initialize.apply(this,arguments)};t.Object.saveAll=function(n,i){return t.Object._deepSaveAsync(n)._thenRunCallbacks(i)};i.extend(t.Object.prototype,t.Events,{_existed:!1,initialize:function(){},toJSON:function(){var n=this._toFullJSON();return i.each(["__type","className"],function(t){delete n[t]}),n},_toFullJSON:function(n){var r=i.clone(this.attributes);return t._each(r,function(i,u){r[u]=t._encode(i,n)}),t._each(this._operations,function(n,t){r[t]=n}),i.has(this,"id")&&(r.objectId=this.id),i.has(this,"createdAt")&&(r.createdAt=i.isDate(this.createdAt)?this.createdAt.toJSON():this.createdAt),i.has(this,"updatedAt")&&(r.updatedAt=i.isDate(this.updatedAt)?this.updatedAt.toJSON():this.updatedAt),r.__type="Object",r.className=this.className,r},_refreshCache:function(){var n=this;t._each(this.attributes,function(r,u){r instanceof t.Object?r._refreshCache():i.isObject(r)&&n._resetCacheForKey(u)&&n.set(u,new t.Op.Set(r),{silent:!0})})},dirty:function(n){this._refreshCache();var t=i.last(this._opSetQueue);return n?t[n]?!0:!1:this.id?i.keys(t).length>0?!0:!1:!0},_toPointer:function(){if(!this.id)throw new Error("Can't serialize an unsaved Parse.Object");return{__type:"Pointer",className:this.className,objectId:this.id}},get:function(n){return this.attributes[n]},relation:function(n){var i=this.get(n);if(i){if(i instanceof t.Relation)return i._ensureParentAndKey(this,n),i;throw"Called relation() on non-relation field "+n;}return new t.Relation(this,n)},escape:function(n){var f=this._escapedAttributes[n],r,u;return f?f:(r=this.attributes[n],u=t._isNullOrUndefined(r)?"":i.escape(r.toString()),this._escapedAttributes[n]=u,u)},has:function(n){return!t._isNullOrUndefined(this.attributes[n])},_mergeMagicFields:function(n){var r=this;i.each(["id","objectId","createdAt","updatedAt"],function(u){n[u]&&(u==="objectId"?r.id=n[u]:r[u]=u!=="createdAt"&&u!=="updatedAt"||!!i.isDate(n[u])?n[u]:t._parseDate(n[u]),delete n[u])})},_startSave:function(){this._opSetQueue.push({})},_cancelSave:function(){var u=this,r=i.first(this._opSetQueue),n;this._opSetQueue=i.rest(this._opSetQueue);n=i.first(this._opSetQueue);t._each(r,function(t,i){var u=r[i],f=n[i];u&&f?n[i]=f._mergeWithPrevious(u):u&&(n[i]=u)});this._saving=this._saving-1},_finishSave:function(n){var u={},f,r;t._traverse(this.attributes,function(n){n.id&&n._hasData&&(u[n.id]=n)});f=i.first(this._opSetQueue);this._opSetQueue=i.rest(this._opSetQueue);this._applyOpSet(f,this._serverData);this._mergeMagicFields(n);r=this;t._each(n,function(n,i){r._serverData[i]=t._decode(i,n);var f=t._traverse(r._serverData[i],function(n){if(u[n.id])return u[n.id]});f&&(r._serverData[i]=f)});this._rebuildAllEstimatedData();this._saving=this._saving-1},_finishFetch:function(n,i){this._opSetQueue=[{}];this._mergeMagicFields(n);var r=this;t._each(n,function(n,i){r._serverData[i]=t._decode(i,n)});this._rebuildAllEstimatedData();this._refreshCache();this._opSetQueue=[{}];this._hasData=i},_applyOpSet:function(n,i){var r=this;t._.each(n,function(n,u){i[u]=n._estimate(i[u],r,u);i[u]===t.Op._UNSET&&delete i[u]})},_resetCacheForKey:function(n){var r=this.attributes[n],u;return i.isObject(r)&&!(r instanceof t.Object)&&(r=r.toJSON?r.toJSON():r,u=JSON.stringify(r),this._hashedJSON[n]!==u)?(this._hashedJSON[n]=u,!0):!1},_rebuildEstimatedDataForKey:function(n){var r=this;delete this.attributes[n];this._serverData[n]&&(this.attributes[n]=this._serverData[n]);i.each(this._opSetQueue,function(i){var u=i[n];u&&(r.attributes[n]=u._estimate(r.attributes[n],r,n),r.attributes[n]===t.Op._UNSET?delete r.attributes[n]:r._resetCacheForKey(n))})},_rebuildAllEstimatedData:function(){var n=this,t=i.clone(this.attributes);this.attributes=i.clone(this._serverData);i.each(this._opSetQueue,function(t){n._applyOpSet(t,n.attributes);i.each(t,function(t,i){n._resetCacheForKey(i)})});i.each(t,function(t,i){n.attributes[i]!==t&&n.trigger("change:"+i,n,n.attributes[i],{})});i.each(this.attributes,function(r,u){i.has(t,u)||n.trigger("change:"+u,n,r,{})})},set:function(n,r,u){var f,o,e,s,h;return(i.isObject(n)||t._isNullOrUndefined(n)?(f=n,t._each(f,function(n,i){f[i]=t._decode(i,n)}),u=r):(f={},f[n]=t._decode(n,r)),u=u||{},!f)?this:(f instanceof t.Object&&(f=f.attributes),u.unset&&t._each(f,function(n,i){f[i]=new t.Op.Unset}),o=i.clone(f),e=this,t._each(o,function(n,i){n instanceof t.Op&&(o[i]=n._estimate(e.attributes[i],e,i),o[i]===t.Op._UNSET&&delete o[i])}),!this._validate(f,u))?!1:(this._mergeMagicFields(f),u.changes={},s=this._escapedAttributes,h=this._previousAttributes||{},t._each(i.keys(f),function(n){var r=f[n],o,h;r instanceof t.Relation&&(r.parent=e);r instanceof t.Op||(r=new t.Op.Set(r));o=!0;r instanceof t.Op.Set&&i.isEqual(e.attributes[n],r.value)&&(o=!1);o&&(delete s[n],u.silent?e._silent[n]=!0:u.changes[n]=!0);h=i.last(e._opSetQueue);h[n]=r._mergeWithPrevious(h[n]);e._rebuildEstimatedDataForKey(n);o?(e.changed[n]=e.attributes[n],u.silent||(e._pending[n]=!0)):(delete e.changed[n],delete e._pending[n])}),u.silent||this.change(u),this)},unset:function(n,t){return t=t||{},t.unset=!0,this.set(n,null,t)},increment:function(n,r){return(i.isUndefined(r)||i.isNull(r))&&(r=1),this.set(n,new t.Op.Increment(r))},add:function(n,i){return this.set(n,new t.Op.Add([i]))},addUnique:function(n,i){return this.set(n,new t.Op.AddUnique([i]))},remove:function(n,i){return this.set(n,new t.Op.Remove([i]))},op:function(n){return i.last(this._opSetQueue)[n]},clear:function(n){n=n||{};n.unset=!0;var t=i.extend(this.attributes,this._operations);return this.set(t,n)},_getSaveJSON:function(){var n=i.clone(i.first(this._opSetQueue));return t._each(n,function(t,i){n[i]=t.toJSON()}),n},_canBeSerialized:function(){return t.Object._canBeSerializedAsValue(this.attributes)},fetch:function(n){var u=new t.Promise,r,f;return n=n?i.clone(n):{},r=this,f=n.success,n.success=function(n,t,i){r._finishFetch(r.parse(n,t,i),!0);f&&f(r,n);u.resolve(r)},n.error=t.Object._wrapError(n.error,r,n,u),t._request("classes",r.className,r.id,"GET",null,n),u},save:function(n,r,u){var h=new t.Promise,o,v,e,y,a,c,p;if(i.isObject(n)||t._isNullOrUndefined(n)?(o=n,e=r):(o={},o[n]=r,e=u),!e&&o&&(y=i.reject(o,function(n,t){return i.include(["success","error","wait"],t)}),y.length===0&&(a=!0,i.has(o,"success")&&!i.isFunction(o.success)&&(a=!1),i.has(o,"error")&&!i.isFunction(o.error)&&(a=!1),a)))return this.save(null,o);if(e=e?i.clone(e):{},e.wait&&(v=i.clone(this.attributes)),c=i.clone(e),c.wait&&(c.silent=!0),c.error=function(n,t){e.error&&e.error.apply(this,arguments);h.reject(t)},o&&!this.set(o,c))return h;var l=e,s=i.clone(e),f=this;return f._refreshCache(),p=t.Object._findUnsavedChildren(f.attributes),p.length>0?t.Object._deepSaveAsync(this.attributes).then(function(){return f.save(null,l)},function(n){return e.error&&e.error.apply(this,arguments),t.Promise.error(n)}):(s.success=function(n,t,r){var u=f.parse(n,t,r);s.wait&&(u=i.extend(o||{},u));f._finishSave(u);l.success?l.success(f,n):f.trigger("sync",f,n,s);h.resolve(f)},s.error=function(n,t){n._cancelSave();l.error&&l.error.apply(this,arguments);h.reject(t)},s.error=t.Object._wrapError(s.error,f,s),this._startSave(),this._saving=(this._saving||0)+1,this._allPreviousSaves=this._allPreviousSaves||t.Promise.as(),this._allPreviousSaves._continueWith(function(){var u=f.id?"PUT":"POST",e=f._getSaveJSON(),n="classes",i=f.className,r;return f.className!=="_User"||f.id||(n="users",i=null),r=t._request(n,i,f.id,u,e,s),s.wait&&f.set(v,c),r}),this._allPreviousSaves=h,h)},destroy:function(n){var u=new t.Promise;n=n?i.clone(n):{};var r=this,e=n.success,f=function(){r.trigger("destroy",r,r.collection,n)};return this.id?(n.success=function(t){n.wait&&f();e?e(r,t):r.trigger("sync",r,t,n);u.resolve(r)},n.error=t.Object._wrapError(n.error,r,n,u),t._request("classes",this.className,this.id,"DELETE",null,n),n.wait||f(),u):f()},parse:function(n,r){var u=i.clone(n);return i(["createdAt","updatedAt"]).each(function(n){u[n]&&(u[n]=t._parseDate(u[n]))}),u.updatedAt||(u.updatedAt=u.createdAt),r&&(this._existed=r!==201),u},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.id},change:function(n){var u,r,f,e;if(n=n||{},u=this._changing,this._changing=!0,r=this,t._each(this._silent,function(n){r._pending[n]=!0}),f=i.extend({},n.changes,this._silent),this._silent={},t._each(f,function(t,i){r.trigger("change:"+i,r,r.get(i),n)}),u)return this;for(e=function(n,t){r._pending[t]||r._silent[t]||delete r.changed[t]};!i.isEmpty(this._pending);)this._pending={},this.trigger("change",this,n),t._each(this.changed,e),r._previousAttributes=i.clone(this.attributes);return this._changing=!1,this},existed:function(){return this._existed},hasChanged:function(n){return arguments.length?this.changed&&i.has(this.changed,n):!i.isEmpty(this.changed)},changedAttributes:function(n){if(!n)return this.hasChanged()?i.clone(this.changed):!1;var r={},u=this._previousAttributes;return t._each(n,function(n,t){i.isEqual(u[t],n)||(r[t]=n)}),r},previous:function(n){return!arguments.length||!this._previousAttributes?null:this._previousAttributes[n]},previousAttributes:function(){return i.clone(this._previousAttributes)},isValid:function(){return!this.validate(this.attributes)},validate:function(n){return!i.has(n,"ACL")||n.ACL instanceof t.ACL?!1:new t.Error(t.Error.OTHER_CAUSE,"ACL must be a Parse.ACL.")},_validate:function(n,t){if(t.silent||!this.validate)return!0;n=i.extend({},this.attributes,n);var r=this.validate(n,t);return r?(t&&t.error?t.error(this,r,t):this.trigger("error",this,r,t),!1):!0},getACL:function(){return this.get("ACL")},setACL:function(n,t){return this.set("ACL",n,t)}});t.Object._getSubclass=function(n){if(!i.isString(n))throw"Parse.Object._getSubclass requires a string argument.";var r=t.Object._classMap[n];return r||(r=t.Object.extend(n),t.Object._classMap[n]=r),r};t.Object._create=function(n,i,r){var u=t.Object._getSubclass(n);return new u(i,r)};t.Object._classMap={};t.Object._extend=t._extend;t.Object.extend=function(n,r,u){var f,e;if(!i.isString(n)){if(n&&i.has(n,"className"))return t.Object.extend(n.className,n,r);throw new Error("Parse.Object.extend's first argument should be the className.");}return n==="User"&&(n="_User"),f=null,i.has(t.Object._classMap,n)?(e=t.Object._classMap[n],f=e._extend(r,u)):(r=r||{},r.className=n,f=this._extend(r,u)),f.extend=function(r){if(i.isString(r)||r&&i.has(r,"className"))return t.Object.extend.apply(f,arguments);var u=[n].concat(t._.toArray(arguments));return t.Object.extend.apply(f,u)},t.Object._classMap[n]=f,f};t.Object._wrapError=function(n,i,r,u){return function(f,e){var o,s;f!==i&&(e=f);o=new t.Error(-1,e.responseText);e.responseText&&(s=JSON.parse(e.responseText),s&&(o=new t.Error(s.code,s.error)));n?n(i,o,r):i.trigger("error",i,o,r);u&&u.reject(o)}};t.Object._findUnsavedChildren=function(n){var i=[];return t._traverse(n,function(n){n._refreshCache();n.dirty()&&i.push(n)}),i};t.Object._canBeSerializedAsValue=function(n){var r=!0;return n instanceof t.Object?r=!!n.id:i.isArray(n)?i.each(n,function(n){t.Object._canBeSerializedAsValue(n)||(r=!1)}):i.isObject(n)&&t._each(n,function(n){t.Object._canBeSerializedAsValue(n)||(r=!1)}),r};t.Object._deepSaveAsync=function(n){var u=i.uniq(t.Object._findUnsavedChildren(n)),r=i.uniq(u);return t.Promise._continueWhile(function(){return r.length>0},function(){var n=[],f=[],e,u;return(i.each(r,function(t){if(n.length>20){f.push(t);return}t._canBeSerialized()?n.push(t):f.push(t)}),r=f,n.length===0)?t.Promise.error(new t.Error(t.Error.OTHER_CAUSE,"Tried to save a batch with a cycle.")):(e=t.Promise.when(i.map(n,function(n){return n._allPreviousSaves||t.Promise.as()})),u=new t.Promise,i.each(n,function(n){n._allPreviousSaves=u}),e._continueWith(function(){return t._request("batch",null,null,"POST",{requests:i.map(n,function(n){var r=n._getSaveJSON(),i="POST",t="/1/classes/"+n.className;return n.id&&(t=t+"/"+n.id,i="PUT"),n._startSave(),{method:i,path:t,body:r}})}).then(function(r,u,f){var e;return i.each(n,function(n,t){r[t].success?n._finishSave(n.parse(r[t].success,u,f)):(e=e||r[t].error,n._cancelSave())}),e?t.Promise.error(new t.Error(e.code,e.error)):void 0}).then(function(n){return u.resolve(n),n},function(n){return u.reject(n),t.Promise.error(n)})}))}).then(function(){return n})}}(this),function(n){n.Parse=n.Parse||{};var t=n.Parse,i=t._;t.Role=t.Object.extend("_Role",{constructor:function(n,r){i.isString(n)&&r instanceof t.ACL?(t.Object.prototype.constructor.call(this,null,null),this.setName(n),this.setACL(r)):t.Object.prototype.constructor.call(this,n,r)},getName:function(){return this.get("name")},setName:function(n,t){return this.set("name",n,t)},getUsers:function(){return this.relation("users")},getRoles:function(){return this.relation("roles")},validate:function(n,r){if("name"in n&&n.name!==this.getName()){var u=n.name;if(this.id&&this.id!==n.objectId)return new t.Error(t.Error.OTHER_CAUSE,"A role's name can only be set before it has been saved.");if(!i.isString(u))return new t.Error(t.Error.OTHER_CAUSE,"A role's name must be a String.");if(!/^[0-9a-zA-Z\-_ ]+$/.test(u))return new t.Error(t.Error.OTHER_CAUSE,"A role's name can only contain alphanumeric characters, _, -, and spaces.")}return t.Object.prototype.validate?t.Object.prototype.validate.call(this,n,r):!1}})}(this),function(n){var t,i,r;n.Parse=n.Parse||{};t=n.Parse;i=t._;t.Collection=function(n,t){t=t||{};t.comparator&&(this.comparator=t.comparator);t.model&&(this.model=t.model);t.query&&(this.query=t.query);this._reset();this.initialize.apply(this,arguments);n&&this.reset(n,{silent:!0,parse:t.parse})};i.extend(t.Collection.prototype,t.Events,{model:t.Object,initialize:function(){},toJSON:function(){return this.map(function(n){return n.toJSON()})},add:function(n,r){var f,c,e,u,s,o,h={},l={};for(r=r||{},n=i.isArray(n)?n.slice():[n],f=0,e=n.length;f<e;f++){if(n[f]=this._prepareModel(n[f],r),u=n[f],!u)throw new Error("Can't add an invalid model to a collection");if(s=u.cid,h[s]||this._byCid[s])throw new Error("Duplicate cid: can't add the same model to a collection twice");if(o=u.id,!t._isNullOrUndefined(o)&&(l[o]||this._byId[o]))throw new Error("Duplicate id: can't add the same model to a collection twice");l[o]=u;h[s]=u}for(f=0;f<e;f++)(u=n[f]).on("all",this._onModelEvent,this),this._byCid[u.cid]=u,u.id&&(this._byId[u.id]=u);if(this.length+=e,c=t._isNullOrUndefined(r.at)?this.models.length:r.at,this.models.splice.apply(this.models,[c,0].concat(n)),this.comparator&&this.sort({silent:!0}),r.silent)return this;for(f=0,e=this.models.length;f<e;f++)u=this.models[f],h[u.cid]&&(r.index=f,u.trigger("add",u,this,r));return this},remove:function(n,t){var u,e,f,r;for(t=t||{},n=i.isArray(n)?n.slice():[n],u=0,e=n.length;u<e;u++)(r=this.getByCid(n[u])||this.get(n[u]),r)&&(delete this._byId[r.id],delete this._byCid[r.cid],f=this.indexOf(r),this.models.splice(f,1),this.length--,t.silent||(t.index=f,r.trigger("remove",r,this,t)),this._removeReference(r));return this},get:function(n){return n&&this._byId[n.id||n]},getByCid:function(n){return n&&this._byCid[n.cid||n]},at:function(n){return this.models[n]},sort:function(n){if(n=n||{},!this.comparator)throw new Error("Cannot sort a set without a comparator");var t=i.bind(this.comparator,this);return this.comparator.length===1?this.models=this.sortBy(t):this.models.sort(t),n.silent||this.trigger("reset",this,n),this},pluck:function(n){return i.map(this.models,function(t){return t.get(n)})},reset:function(n,t){var r=this;return n=n||[],t=t||{},i.each(this.models,function(n){r._removeReference(n)}),this._reset(),this.add(n,{silent:!0,parse:t.parse}),t.silent||this.trigger("reset",this,t),this},fetch:function(n){var r,u,f;n=n?i.clone(n):{};n.parse===undefined&&(n.parse=!0);r=this;u=n.success;n.success=function(t,i){n.add?r.add(t,n):r.reset(t,n);u&&u(r,i)};n.error=t.Object._wrapError(n.error,r,n);f=this.query||new t.Query(this.model);f.find(n)},create:function(n,t){var u=this,r;return(t=t?i.clone(t):{},n=this._prepareModel(n,t),!n)?!1:(t.wait||u.add(n,t),r=t.success,t.success=function(i,f){t.wait&&u.add(i,t);r?r(i,f):i.trigger("sync",n,f,t)},n.save(null,t),n)},parse:function(n){return n},chain:function(){return i(this.models).chain()},_reset:function(){this.length=0;this.models=[];this._byId={};this._byCid={}},_prepareModel:function(n,i){if(n instanceof t.Object)n.collection||(n.collection=this);else{var r=n;i.collection=this;n=new this.model(r,i);n._validate(n.attributes,i)||(n=!1)}return n},_removeReference:function(n){this===n.collection&&delete n.collection;n.off("all",this._onModelEvent,this)},_onModelEvent:function(n,t,i,r){(n!=="add"&&n!=="remove"||i===this)&&(n==="destroy"&&this.remove(t,r),t&&n==="change:objectId"&&(delete this._byId[t.previous("objectId")],this._byId[t.id]=t),this.trigger.apply(this,arguments))}});r=["forEach","each","map","reduce","reduceRight","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","sortBy","sortedIndex","toArray","size","first","initial","rest","last","without","indexOf","shuffle","lastIndexOf","isEmpty","groupBy"];i.each(r,function(n){t.Collection.prototype[n]=function(){return i[n].apply(i,[this.models].concat(i.toArray(arguments)))}});t.Collection.extend=t._extend}(this),function(n){var t,i,r,u;n.Parse=n.Parse||{};t=n.Parse;i=t._;t.View=function(n){this.cid=i.uniqueId("view");this._configure(n||{});this._ensureElement();this.initialize.apply(this,arguments);this.delegateEvents()};r=/^(\S+)\s*(.*)$/;u=["model","collection","el","id","attributes","className","tagName"];i.extend(t.View.prototype,t.Events,{tagName:"div",$:function(n){return this.$el.find(n)},initialize:function(){},render:function(){return this},remove:function(){return this.$el.remove(),this},make:function(n,i,r){var u=document.createElement(n);return i&&t.$(u).attr(i),r&&t.$(u).html(r),u},setElement:function(n,i){return this.$el=t.$(n),this.el=this.$el[0],i!==!1&&this.delegateEvents(),this},delegateEvents:function(n){if(n=n||t._getValue(this,"events"),n){this.undelegateEvents();var u=this;t._each(n,function(t,f){if(i.isFunction(t)||(t=u[n[f]]),!t)throw new Error('Event "'+n[f]+'" does not exist');var o=f.match(r),e=o[1],s=o[2];t=i.bind(t,u);e+=".delegateEvents"+u.cid;s===""?u.$el.bind(e,t):u.$el.delegate(s,e,t)})}},undelegateEvents:function(){this.$el.unbind(".delegateEvents"+this.cid)},_configure:function(n){this.options&&(n=i.extend({},this.options,n));var t=this;i.each(u,function(i){n[i]&&(t[i]=n[i])});this.options=n},_ensureElement:function(){if(this.el)this.setElement(this.el,!1);else{var n=t._getValue(this,"attributes")||{};this.id&&(n.id=this.id);this.className&&(n["class"]=this.className);this.setElement(this.make(this.tagName,n),!1)}}});t.View.extend=t._extend}(this),function(n){n.Parse=n.Parse||{};var t=n.Parse,i=t._;t.User=t.Object.extend("_User",{_isCurrentUser:!1,_mergeMagicFields:function(n){n.sessionToken&&(this._sessionToken=n.sessionToken,delete n.sessionToken);t.User.__super__._mergeMagicFields.call(this,n)},_cleanupAuthData:function(){if(this.isCurrent()){var n=this.get("authData");n&&i.each(this.get("authData"),function(t,i){n[i]||delete n[i]})}},_synchronizeAllAuthData:function(){var t=this.get("authData"),n;t&&(n=this,i.each(this.get("authData"),function(t,i){n._synchronizeAuthData(i)}))},_synchronizeAuthData:function(n){var r,u,f;this.isCurrent()&&(i.isString(n)?(r=n,n=t.User._authProviders[r]):r=n.getAuthType(),u=this.get("authData"),u&&n)&&(f=n.restoreAuthentication(u[r]),f||this._unlinkFrom(n))},_handleSaveResult:function(n){n&&(this._isCurrentUser=!0);this._cleanupAuthData();this._synchronizeAllAuthData();delete this._serverData.password;this._rebuildEstimatedDataForKey("password");this._refreshCache();(n||this.isCurrent())&&t.User._saveCurrentUser(this)},_linkWith:function(n,r){var f,u,e,o;return(i.isString(n)?(f=n,n=t.User._authProviders[n]):f=n.getAuthType(),i.has(r,"authData"))?(u=this.get("authData")||{},u[f]=r.authData,this.set("authData",u),e=i.clone(r),e.success=function(n){n._handleSaveResult(!0);r.success&&r.success.apply(this,arguments)},this.save({authData:u},e)):(o=this,n.authenticate({success:function(n,t){o._linkWith(n,{authData:t,success:r.success,error:r.error})},error:function(n,t){r.error&&r.error(o,t)}}))},_unlinkFrom:function(n,r){var f,u,e;return i.isString(n)?(f=n,n=t.User._authProviders[n]):f=n.getAuthType(),u=i.clone(r),e=this,u.authData=null,u.success=function(){e._synchronizeAuthData(n);r.success&&r.success.apply(this,arguments)},this._linkWith(n,u)},_isLinked:function(n){var t,r;return t=i.isString(n)?n:n.getAuthType(),r=this.get("authData")||{},!!r[t]},_logOutWithAll:function(){var t=this.get("authData"),n;t&&(n=this,i.each(this.get("authData"),function(t,i){n._logOutWith(i)}))},_logOutWith:function(n){this.isCurrent()&&(i.isString(n)&&(n=t.User._authProviders[n]),n&&n.deauthenticate&&n.deauthenticate())},signUp:function(n,r){var u,f,e,o;return(r=r||{},f=n&&n.username||this.get("username"),!f||f==="")?(u=new t.Error(t.Error.OTHER_CAUSE,"Cannot sign up user with an empty name."),r&&r.error&&r.error(this,u),t.Promise.error(u)):(e=n&&n.password||this.get("password"),!e||e==="")?(u=new t.Error(t.Error.OTHER_CAUSE,"Cannot sign up user with an empty password."),r&&r.error&&r.error(this,u),t.Promise.error(u)):(o=i.clone(r),o.success=function(n){n._handleSaveResult(!0);r.success&&r.success.apply(this,arguments)},this.save(n,o))},logIn:function(n){var f=new t.Promise,r=this,u=n?i.clone(n):{};return u.success=function(t,i,e){var o=r.parse(t,i,e);r._finishFetch(o);r._handleSaveResult(!0);n&&n.success?n.success(r,t):r.trigger("sync",r,t,u);f.resolve(r)},u.error=t.Object._wrapError(u.error,r,u,f),t._request("login",null,null,"GET",this.toJSON(),u),f},save:function(n,r,u){var e,f,o;return i.isObject(n)||i.isNull(n)||i.isUndefined(n)?(e=n,f=r):(e={},e[n]=r,f=u),f=f||{},o=i.clone(f),o.success=function(n){n._handleSaveResult(!1);f.success&&f.success.apply(this,arguments)},t.Object.prototype.save.call(this,e,o)},fetch:function(n){var r=i.clone(n);return r.success=function(t){t._handleSaveResult(!1);n.success&&n.success.apply(this,arguments)},t.Object.prototype.fetch.call(this,r)},isCurrent:function(){return this._isCurrentUser},getUsername:function(){return this.get("username")},setUsername:function(n,t){return this.set("username",n,t)},setPassword:function(n,t){return this.set("password",n,t)},getEmail:function(){return this.get("email")},setEmail:function(n,t){return this.set("email",n,t)},authenticated:function(){return!!this._sessionToken&&t.User.current()&&t.User.current().id===this.id}},{_currentUser:null,_currentUserMatchesDisk:!1,_CURRENT_USER_KEY:"currentUser",_authProviders:{},signUp:function(n,i,r,u){r=r||{};r.username=n;r.password=i;var f=t.Object._create("_User");return f.signUp(r,u)},logIn:function(n,i,r){var u=t.Object._create("_User");return u._finishFetch({username:n,password:i}),u.logIn(r)},logOut:function(){t.User._currentUser!==null&&(t.User._currentUser._logOutWithAll(),t.User._currentUser._isCurrentUser=!1);t.User._currentUserMatchesDisk=!0;t.User._currentUser=null;t.localStorage.removeItem(t._getParsePath(t.User._CURRENT_USER_KEY))},requestPasswordReset:function(n,i){var r={email:n};i.error=t.Query._wrapError(i.error,i);t._request("requestPasswordReset",null,null,"POST",r,i)},current:function(){var i,n;return t.User._currentUser?t.User._currentUser:t.User._currentUserMatchesDisk?t.User._currentUser:(t.User._currentUserMatchesDisk=!0,i=t.localStorage.getItem(t._getParsePath(t.User._CURRENT_USER_KEY)),!i)?null:(t.User._currentUser=new t.Object._create("_User"),t.User._currentUser._isCurrentUser=!0,n=JSON.parse(i),t.User._currentUser.id=n._id,delete n._id,t.User._currentUser._sessionToken=n._sessionToken,delete n._sessionToken,t.User._currentUser.set(n),t.User._currentUser._synchronizeAllAuthData(),t.User._currentUser._refreshCache(),t.User._currentUser._opSetQueue=[{}],t.User._currentUser)},_saveCurrentUser:function(n){t.User._currentUser!==n&&t.User.logOut();n._isCurrentUser=!0;t.User._currentUser=n;t.User._currentUserMatchesDisk=!0;var i=n.toJSON();i._id=n.id;i._sessionToken=n._sessionToken;t.localStorage.setItem(t._getParsePath(t.User._CURRENT_USER_KEY),JSON.stringify(i))},_registerAuthenticationProvider:function(n){t.User._authProviders[n.getAuthType()]=n;t.User.current()&&t.User.current()._synchronizeAuthData(n.getAuthType())},_logInWith:function(n,i){var r=new t.User;return r._linkWith(n,i)}})}(this),function(n){n.Parse=n.Parse||{};var t=n.Parse,i=t._;t.Query=function(n){i.isString(n)&&(n=t.Object._getSubclass(n));this.objectClass=n;this.className=n.prototype.className;this._where={};this._include=[];this._limit=-1;this._skip=0;this._extraOptions={}};t.Query.or=function(){var u=i.toArray(arguments),n=null,r;return i.each(u,function(t){if(i.isNull(n)&&(n=t.className),n!==t.className)throw"All queries must be for the same class";}),r=new t.Query(n),r._orQuery(u),r};t.Query.prototype={get:function(n,i){var u=this,e=i.success||function(){},f=i.error||function(){},r=new t.Promise,o={error:function(n){f(null,n);r.reject(n)},success:function(n){if(n)e(n),r.resolve(n);else{var i=new t.Error(t.Error.OBJECT_NOT_FOUND,"Object not found.");f(null,i);r.reject(i)}}};return u.equalTo("objectId",n),u.first(o),r},toJSON:function(){var n={where:this._where};return this._include.length>0&&(n.include=this._include.join(",")),this._limit>=0&&(n.limit=this._limit),this._skip>0&&(n.skip=this._skip),this._order!==undefined&&(n.order=this._order),t._each(this._extraOptions,function(t,i){n[i]=t}),n},find:function(n){var f=this;n=n||{};var e=n.success||function(){},r=new t.Promise,u={error:n.error,success:function(n){var u=i.map(n.results,function(i){var r;return r=n.className?new t.Object(n.className):new f.objectClass,r._finishFetch(i,!0),r});e(u);r.resolve(u)}},o=this.toJSON();return u.error=t.Query._wrapError(n.error,u,r),t._request("classes",this.className,null,"GET",o,u),r},count:function(n){var e=this;n=n||{};var f=n.success||function(){},i=new t.Promise,r={error:n.error,success:function(n){f(n.count);i.resolve(n.count)}},u=this.toJSON();return u.limit=0,u.count=1,r.error=t.Query._wrapError(n.error,r,i),t._request("classes",this.className,null,"GET",u,r),i},first:function(n){var e=this;n=n||{};var o=n.success||function(){},r=new t.Promise,u={error:n.error,success:function(n){var t=i.map(n.results,function(n){var t=new e.objectClass;return t._finishFetch(n,!0),t})[0];o(t);r.resolve(t)}},f=this.toJSON();return f.limit=1,u.error=t.Query._wrapError(n.error,u,r),t._request("classes",this.className,null,"GET",f,u),r},collection:function(n,r){return r=r||{},new t.Collection(n,i.extend(r,{model:this.objectClass,query:this}))},skip:function(n){return this._skip=n,this},limit:function(n){return this._limit=n,this},equalTo:function(n,i){return this._where[n]=t._encode(i),this},_addCondition:function(n,i,r){return this._where[n]||(this._where[n]={}),this._where[n][i]=t._encode(r),this},notEqualTo:function(n,t){return this._addCondition(n,"$ne",t),this},lessThan:function(n,t){return this._addCondition(n,"$lt",t),this},greaterThan:function(n,t){return this._addCondition(n,"$gt",t),this},lessThanOrEqualTo:function(n,t){return this._addCondition(n,"$lte",t),this},greaterThanOrEqualTo:function(n,t){return this._addCondition(n,"$gte",t),this},containedIn:function(n,t){return this._addCondition(n,"$in",t),this},notContainedIn:function(n,t){return this._addCondition(n,"$nin",t),this},containsAll:function(n,t){return this._addCondition(n,"$all",t),this},exists:function(n){return this._addCondition(n,"$exists",!0),this},doesNotExist:function(n){return this._addCondition(n,"$exists",!1),this},matches:function(n,t,i){return this._addCondition(n,"$regex",t),i||(i=""),t.ignoreCase&&(i+="i"),t.multiline&&(i+="m"),i&&i.length&&this._addCondition(n,"$options",i),this},matchesQuery:function(n,t){var i=t.toJSON();return i.className=t.className,this._addCondition(n,"$inQuery",i),this},doesNotMatchQuery:function(n,t){var i=t.toJSON();return i.className=t.className,this._addCondition(n,"$notInQuery",i),this},matchesKeyInQuery:function(n,t,i){var r=i.toJSON();return r.className=i.className,this._addCondition(n,"$select",{key:t,query:r}),this},doesNotMatchKeyInQuery:function(n,t,i){var r=i.toJSON();return r.className=i.className,this._addCondition(n,"$dontSelect",{key:t,query:r}),this},_orQuery:function(n){var t=i.map(n,function(n){return n.toJSON().where});return this._where.$or=t,this},_quote:function(n){return"\\Q"+n.replace("\\E","\\E\\\\E\\Q")+"\\E"},contains:function(n,t){return this._addCondition(n,"$regex",this._quote(t)),this},startsWith:function(n,t){return this._addCondition(n,"$regex","^"+this._quote(t)),this},endsWith:function(n,t){return this._addCondition(n,"$regex",this._quote(t)+"$"),this},ascending:function(n){return this._order=n,this},descending:function(n){return this._order="-"+n,this},near:function(n,i){return i instanceof t.GeoPoint||(i=new t.GeoPoint(i)),this._addCondition(n,"$nearSphere",i),this},withinRadians:function(n,t,i){return this.near(n,t),this._addCondition(n,"$maxDistance",i),this},withinMiles:function(n,t,i){return this.withinRadians(n,t,i/3958.8)},withinKilometers:function(n,t,i){return this.withinRadians(n,t,i/6371)},withinGeoBox:function(n,i,r){return i instanceof t.GeoPoint||(i=new t.GeoPoint(i)),r instanceof t.GeoPoint||(r=new t.GeoPoint(r)),this._addCondition(n,"$within",{$box:[i,r]}),this},include:function(n){return i.isArray(n)?this._include=this._include.concat(n):this._include.push(n),this}};t.Query._wrapError=function(n,i,r){return function(u){var f,e;u.responseText&&(e=JSON.parse(u.responseText),e&&(f=new t.Error(e.code,e.error)));f=f||new t.Error(-1,u.responseText);n&&n(f,i);r&&r.reject(f)}}}(this),function(n){n.Parse=n.Parse||{};var t=n.Parse,i=t._,r=!1,u,f,e={authenticate:function(n){var t=this;FB.login(function(i){i.authResponse?n.success&&n.success(t,{id:i.authResponse.userID,access_token:i.authResponse.accessToken,expiration_date:new Date(i.authResponse.expiresIn*1e3+(new Date).getTime()).toJSON()}):n.error&&n.error(t,i)},{scope:u})},restoreAuthentication:function(n){if(n){var u={userID:n.id,accessToken:n.access_token,expiresIn:(t._parseDate(n.expiration_date).getTime()-(new Date).getTime())/1e3},r=i.clone(f);r.authResponse=u;FB.init(r)}return!0},getAuthType:function(){return"facebook"},deauthenticate:function(){this.restoreAuthentication(null);FB.logout()}};t.FacebookUtils={init:function(n){if(typeof FB=="undefined")throw"The Javascript Facebook SDK must be loaded before calling init.";f=i.clone(n);FB.init(f);t.User._registerAuthenticationProvider(e);r=!0},isLinked:function(n){return n._isLinked("facebook")},logIn:function(n,f){if(!n||i.isString(n)){if(!r)throw"You must initialize FacebookUtils before calling logIn.";return u=n,t.User._logInWith("facebook",f)}var e=i.clone(f);return e.authData=n,t.User._logInWith("facebook",e)},link:function(n,t,f){if(!t||i.isString(t)){if(!r)throw"You must initialize FacebookUtils before calling link.";return u=t,n._linkWith("facebook",f)}var e=i.clone(f);return e.authData=t,n._linkWith("facebook",e)},unlink:function(n,t){if(!r)throw"You must initialize FacebookUtils before calling unlink.";return n._unlinkFrom("facebook",t)}}}(this),function(n){var t,i,r,u;n.Parse=n.Parse||{};t=n.Parse;i=t._;t.History=function(){this.handlers=[];i.bindAll(this,"checkUrl")};r=/^[#\/]/;u=/msie [\w.]+/;t.History.started=!1;i.extend(t.History.prototype,t.Events,{interval:50,getHash:function(n){var i=n?n.location:window.location,t=i.href.match(/#(.*)$/);return t?t[1]:""},getFragment:function(n,i){if(t._isNullOrUndefined(n))if(this._hasPushState||i){n=window.location.pathname;var u=window.location.search;u&&(n+=u)}else n=this.getHash();return n.indexOf(this.options.root)||(n=n.substr(this.options.root.length)),n.replace(r,"")},start:function(n){var f,e;if(t.History.started)throw new Error("Parse.history has already been started");t.History.started=!0;this.options=i.extend({},{root:"/"},this.options,n);this._wantsHashChange=this.options.hashChange!==!1;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.options.pushState&&window.history&&window.history.pushState);var o=this.getFragment(),s=document.documentMode,h=u.exec(navigator.userAgent.toLowerCase())&&(!s||s<=7);return(h&&(this.iframe=t.$('<iframe src="javascript:0" tabindex="-1" />').hide().appendTo("body")[0].contentWindow,this.navigate(o)),this._hasPushState?t.$(window).bind("popstate",this.checkUrl):this._wantsHashChange&&"onhashchange"in window&&!h?t.$(window).bind("hashchange",this.checkUrl):this._wantsHashChange&&(this._checkUrlInterval=window.setInterval(this.checkUrl,this.interval)),this.fragment=o,f=window.location,e=f.pathname===this.options.root,this._wantsHashChange&&this._wantsPushState&&!this._hasPushState&&!e)?(this.fragment=this.getFragment(null,!0),window.location.replace(this.options.root+"#"+this.fragment),!0):(this._wantsPushState&&this._hasPushState&&e&&f.hash&&(this.fragment=this.getHash().replace(r,""),window.history.replaceState({},document.title,f.protocol+"//"+f.host+this.options.root+this.fragment)),this.options.silent?void 0:this.loadUrl())},stop:function(){t.$(window).unbind("popstate",this.checkUrl).unbind("hashchange",this.checkUrl);window.clearInterval(this._checkUrlInterval);t.History.started=!1},route:function(n,t){this.handlers.unshift({route:n,callback:t})},checkUrl:function(){var n=this.getFragment();if(n===this.fragment&&this.iframe&&(n=this.getFragment(this.getHash(this.iframe))),n===this.fragment)return!1;this.iframe&&this.navigate(n);this.loadUrl()||this.loadUrl(this.getHash())},loadUrl:function(n){var t=this.fragment=this.getFragment(n);return i.any(this.handlers,function(n){if(n.route.test(t))return n.callback(t),!0})},navigate:function(n,i){var u,f;if(!t.History.started)return!1;(i&&i!==!0||(i={trigger:i}),u=(n||"").replace(r,""),this.fragment!==u)&&(this._hasPushState?(u.indexOf(this.options.root)!==0&&(u=this.options.root+u),this.fragment=u,f=i.replace?"replaceState":"pushState",window.history[f]({},document.title,u)):this._wantsHashChange?(this.fragment=u,this._updateHash(window.location,u,i.replace),this.iframe&&u!==this.getFragment(this.getHash(this.iframe))&&(i.replace||this.iframe.document.open().close(),this._updateHash(this.iframe.location,u,i.replace))):window.location.assign(this.options.root+n),i.trigger&&this.loadUrl(n))},_updateHash:function(n,t,i){if(i){var r=n.toString().replace(/(javascript:|#).*$/,"");n.replace(r+"#"+t)}else n.hash=t}})}(this),function(n){var t,i;n.Parse=n.Parse||{};t=n.Parse;i=t._;t.Router=function(n){n=n||{};n.routes&&(this.routes=n.routes);this._bindRoutes();this.initialize.apply(this,arguments)};var r=/:\w+/g,u=/\*\w+/g,f=/[\-\[\]{}()+?.,\\\^\$\|#\s]/g;i.extend(t.Router.prototype,t.Events,{initialize:function(){},route:function(n,r,u){return t.history=t.history||new t.History,i.isRegExp(n)||(n=this._routeToRegExp(n)),u||(u=this[r]),t.history.route(n,i.bind(function(i){var f=this._extractParameters(n,i);u&&u.apply(this,f);this.trigger.apply(this,["route:"+r].concat(f));t.history.trigger("route",this,r,f)},this)),this},navigate:function(n,i){t.history.navigate(n,i)},_bindRoutes:function(){var n,i,t,r;if(this.routes){n=[];for(i in this.routes)this.routes.hasOwnProperty(i)&&n.unshift([i,this.routes[i]]);for(t=0,r=n.length;t<r;t++)this.route(n[t][0],n[t][1],this[n[t][1]])}},_routeToRegExp:function(n){return n=n.replace(f,"\\$&").replace(r,"([^/]+)").replace(u,"(.*?)"),new RegExp("^"+n+"$")},_extractParameters:function(n,t){return n.exec(t).slice(1)}});t.Router.extend=t._extend}(this),function(n){n.Parse=n.Parse||{};var t=n.Parse,i=t._;t.Cloud={run:function(n,r,u){var f=u,e=i.clone(u);e.success=function(n){var i=t._decode(null,n);f.success&&f.success(i.result)};e.error=t.Cloud._wrapError(f.error,u);t._request("functions",n,null,"POST",t._encode(r,null,!0),e)},_wrapError:function(n,i){return function(r){var f,u;n&&(f=new t.Error(-1,r.responseText),r.responseText&&(u=JSON.parse(r.responseText),u&&(f=new t.Error(u.code,u.error))),n(f,i))}}}}(this),function(n){n.Parse=n.Parse||{};var t=n.Parse;t.Installation=t.Object.extend("_Installation");t.Push=t.Push||{};t.Push.send=function(n,i){if(n.where&&(n.where=n.where.toJSON().where),n.push_time&&(n.push_time=n.push_time.toJSON()),n.expiration_time&&(n.expiration_time=n.expiration_time.toJSON()),n.expiration_time&&n.expiration_time_interval)throw"Both expiration_time and expiration_time_interval can't be set";var r={error:i.error,success:i.success};r.error=t.Query._wrapError(i.error,r);t._request("push",null,null,"POST",n,r)}}(this),function(){var a=this,ct=a._,e={},r=Array.prototype,g=Object.prototype,lt=Function.prototype,v=r.push,t=r.slice,o=r.concat,f=g.toString,at=g.hasOwnProperty,nt=r.forEach,tt=r.map,it=r.reduce,rt=r.reduceRight,ut=r.filter,ft=r.every,et=r.some,s=r.indexOf,ot=r.lastIndexOf,vt=Array.isArray,yt=Object.keys,y=lt.bind,n=function(t){return t instanceof n?t:this instanceof n?(this._wrapped=t,void 0):new n(t)},i,p,w,h,b,k,c,u,st,ht,l;"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=n),exports._=n):a._=n;n.VERSION="1.4.4";i=n.each=n.forEach=function(t,i,r){var u,o,f;if(null!=t)if(nt&&t.forEach===nt)t.forEach(i,r);else if(t.length===+t.length){for(u=0,o=t.length;o>u;u++)if(i.call(r,t[u],u,t)===e)return}else for(f in t)if(n.has(t,f)&&i.call(r,t[f],f,t)===e)return};n.map=n.collect=function(n,t,r){var u=[];return null==n?u:tt&&n.map===tt?n.map(t,r):(i(n,function(n,i,f){u[u.length]=t.call(r,n,i,f)}),u)};p="Reduce of empty array with no initial value";n.reduce=n.foldl=n.inject=function(t,r,u,f){var e=arguments.length>2;if(null==t&&(t=[]),it&&t.reduce===it)return f&&(r=n.bind(r,f)),e?t.reduce(r,u):t.reduce(r);if(i(t,function(n,t,i){e?u=r.call(f,u,n,t,i):(u=n,e=!0)}),!e)throw new TypeError(p);return u};n.reduceRight=n.foldr=function(t,r,u,f){var o=arguments.length>2,e,s;if(null==t&&(t=[]),rt&&t.reduceRight===rt)return f&&(r=n.bind(r,f)),o?t.reduceRight(r,u):t.reduceRight(r);if(e=t.length,e!==+e&&(s=n.keys(t),e=s.length),i(t,function(n,i,h){i=s?s[--e]:--e;o?u=r.call(f,u,t[i],i,h):(u=t[i],o=!0)}),!o)throw new TypeError(p);return u};n.find=n.detect=function(n,t,i){var r;return w(n,function(n,u,f){if(t.call(i,n,u,f))return(r=n,!0)}),r};n.filter=n.select=function(n,t,r){var u=[];return null==n?u:ut&&n.filter===ut?n.filter(t,r):(i(n,function(n,i,f){t.call(r,n,i,f)&&(u[u.length]=n)}),u)};n.reject=function(t,i,r){return n.filter(t,function(n,t,u){return!i.call(r,n,t,u)},r)};n.every=n.all=function(t,r,u){r||(r=n.identity);var f=!0;return null==t?f:ft&&t.every===ft?t.every(r,u):(i(t,function(n,t,i){if(!(f=f&&r.call(u,n,t,i)))return e}),!!f)};w=n.some=n.any=function(t,r,u){r||(r=n.identity);var f=!1;return null==t?f:et&&t.some===et?t.some(r,u):(i(t,function(n,t,i){if(f||(f=r.call(u,n,t,i)))return e}),!!f)};n.contains=n.include=function(n,t){return null==n?!1:s&&n.indexOf===s?n.indexOf(t)!=-1:w(n,function(n){return n===t})};n.invoke=function(i,r){var u=t.call(arguments,2),f=n.isFunction(r);return n.map(i,function(n){return(f?r:n[r]).apply(n,u)})};n.pluck=function(t,i){return n.map(t,function(n){return n[i]})};n.where=function(t,i,r){return n.isEmpty(i)?r?null:[]:n[r?"find":"filter"](t,function(n){for(var t in i)if(i[t]!==n[t])return!1;return!0})};n.findWhere=function(t,i){return n.where(t,i,!0)};n.max=function(t,r,u){if(!r&&n.isArray(t)&&t[0]===+t[0]&&65535>t.length)return Math.max.apply(Math,t);if(!r&&n.isEmpty(t))return-1/0;var f={computed:-1/0,value:-1/0};return i(t,function(n,t,i){var e=r?r.call(u,n,t,i):n;e>=f.computed&&(f={value:n,computed:e})}),f.value};n.min=function(t,r,u){if(!r&&n.isArray(t)&&t[0]===+t[0]&&65535>t.length)return Math.min.apply(Math,t);if(!r&&n.isEmpty(t))return 1/0;var f={computed:1/0,value:1/0};return i(t,function(n,t,i){var e=r?r.call(u,n,t,i):n;f.computed>e&&(f={value:n,computed:e})}),f.value};n.shuffle=function(t){var u,f=0,r=[];return i(t,function(t){u=n.random(f++);r[f-1]=r[u];r[u]=t}),r};h=function(t){return n.isFunction(t)?t:function(n){return n[t]}};n.sortBy=function(t,i,r){var u=h(i);return n.pluck(n.map(t,function(n,t,i){return{value:n,index:t,criteria:u.call(r,n,t,i)}}).sort(function(n,t){var i=n.criteria,r=t.criteria;if(i!==r){if(i>r||i===void 0)return 1;if(r>i||r===void 0)return-1}return n.index<t.index?-1:1}),"value")};b=function(t,r,u,f){var e={},o=h(r||n.identity);return i(t,function(n,i){var r=o.call(u,n,i,t);f(e,r,n)}),e};n.groupBy=function(t,i,r){return b(t,i,r,function(t,i,r){(n.has(t,i)?t[i]:t[i]=[]).push(r)})};n.countBy=function(t,i,r){return b(t,i,r,function(t,i){n.has(t,i)||(t[i]=0);t[i]++})};n.sortedIndex=function(t,i,r,u){var e;r=null==r?n.identity:h(r);for(var s=r.call(u,i),f=0,o=t.length;o>f;)e=f+o>>>1,s>r.call(u,t[e])?f=e+1:o=e;return f};n.toArray=function(i){return i?n.isArray(i)?t.call(i):i.length===+i.length?n.map(i,n.identity):n.values(i):[]};n.size=function(t){return null==t?0:t.length===+t.length?t.length:n.keys(t).length};n.first=n.head=n.take=function(n,i,r){if(null!=n)return null==i||r?n[0]:t.call(n,0,i)};n.initial=function(n,i,r){return t.call(n,0,n.length-(null==i||r?1:i))};n.last=function(n,i,r){if(null!=n)return null==i||r?n[n.length-1]:t.call(n,Math.max(n.length-i,0))};n.rest=n.tail=n.drop=function(n,i,r){return t.call(n,null==i||r?1:i)};n.compact=function(t){return n.filter(t,n.identity)};k=function(t,r,u){return i(t,function(t){n.isArray(t)?r?v.apply(u,t):k(t,r,u):u.push(t)}),u};n.flatten=function(n,t){return k(n,t,[])};n.without=function(i){return n.difference(i,t.call(arguments,1))};n.uniq=n.unique=function(t,r,u,f){n.isFunction(r)&&(f=u,u=r,r=!1);var s=u?n.map(t,u,f):t,o=[],e=[];return i(s,function(i,u){(r?u&&e[e.length-1]===i:n.contains(e,i))||(e.push(i),o.push(t[u]))}),o};n.union=function(){return n.uniq(o.apply(r,arguments))};n.intersection=function(i){var r=t.call(arguments,1);return n.filter(n.uniq(i),function(t){return n.every(r,function(i){return n.indexOf(i,t)>=0})})};n.difference=function(i){var u=o.apply(r,t.call(arguments,1));return n.filter(i,function(t){return!n.contains(u,t)})};n.zip=function(){for(var r=t.call(arguments),u=n.max(n.pluck(r,"length")),f=Array(u),i=0;u>i;i++)f[i]=n.pluck(r,""+i);return f};n.object=function(n,t){if(null==n)return{};for(var r={},i=0,u=n.length;u>i;i++)t?r[n[i]]=t[i]:r[n[i][0]]=n[i][1];return r};n.indexOf=function(t,i,r){if(null==t)return-1;var u=0,f=t.length;if(r){if("number"!=typeof r)return u=n.sortedIndex(t,i),t[u]===i?u:-1;u=0>r?Math.max(0,f+r):r}if(s&&t.indexOf===s)return t.indexOf(i,r);for(;f>u;u++)if(t[u]===i)return u;return-1};n.lastIndexOf=function(n,t,i){var u,r;if(null==n)return-1;if(u=null!=i,ot&&n.lastIndexOf===ot)return u?n.lastIndexOf(t,i):n.lastIndexOf(t);for(r=u?i:n.length;r--;)if(n[r]===t)return r;return-1};n.range=function(n,t,i){1>=arguments.length&&(t=n||0,n=0);i=arguments[2]||1;for(var r=Math.max(Math.ceil((t-n)/i),0),u=0,f=Array(r);r>u;)f[u++]=n,n+=i;return f};n.bind=function(n,i){if(n.bind===y&&y)return y.apply(n,t.call(arguments,1));var r=t.call(arguments,2);return function(){return n.apply(i,r.concat(t.call(arguments)))}};n.partial=function(n){var i=t.call(arguments,1);return function(){return n.apply(this,i.concat(t.call(arguments)))}};n.bindAll=function(r){var u=t.call(arguments,1);return 0===u.length&&(u=n.functions(r)),i(u,function(t){r[t]=n.bind(r[t],r)}),r};n.memoize=function(t,i){var r={};return i||(i=n.identity),function(){var u=i.apply(this,arguments);return n.has(r,u)?r[u]:r[u]=t.apply(this,arguments)}};n.delay=function(n,i){var r=t.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},i)};n.defer=function(i){return n.delay.apply(n,[i,1].concat(t.call(arguments,1)))};n.throttle=function(n,t){var r,u,i,f,e=0,o=function(){e=new Date;i=null;f=n.apply(r,u)};return function(){var s=new Date,h=t-(s-e);return r=this,u=arguments,0>=h?(clearTimeout(i),i=null,e=s,f=n.apply(r,u)):i||(i=setTimeout(o,h)),f}};n.debounce=function(n,t,i){var r,u;return function(){var f=this,e=arguments,o=function(){r=null;i||(u=n.apply(f,e))},s=i&&!r;return clearTimeout(r),r=setTimeout(o,t),s&&(u=n.apply(f,e)),u}};n.once=function(n){var t,i=!1;return function(){return i?t:(i=!0,t=n.apply(this,arguments),n=null,t)}};n.wrap=function(n,t){return function(){var i=[n];return v.apply(i,arguments),t.apply(this,i)}};n.compose=function(){var n=arguments;return function(){for(var t=arguments,i=n.length-1;i>=0;i--)t=[n[i].apply(this,t)];return t[0]}};n.after=function(n,t){return 0>=n?t():function(){if(1>--n)return t.apply(this,arguments)}};n.keys=yt||function(t){var i,r;if(t!==Object(t))throw new TypeError("Invalid object");i=[];for(r in t)n.has(t,r)&&(i[i.length]=r);return i};n.values=function(t){var r=[],i;for(i in t)n.has(t,i)&&r.push(t[i]);return r};n.pairs=function(t){var r=[],i;for(i in t)n.has(t,i)&&r.push([i,t[i]]);return r};n.invert=function(t){var r={},i;for(i in t)n.has(t,i)&&(r[t[i]]=i);return r};n.functions=n.methods=function(t){var r=[],i;for(i in t)n.isFunction(t[i])&&r.push(i);return r.sort()};n.extend=function(n){return i(t.call(arguments,1),function(t){if(t)for(var i in t)n[i]=t[i]}),n};n.pick=function(n){var u={},f=o.apply(r,t.call(arguments,1));return i(f,function(t){t in n&&(u[t]=n[t])}),u};n.omit=function(i){var f={},e=o.apply(r,t.call(arguments,1)),u;for(u in i)n.contains(e,u)||(f[u]=i[u]);return f};n.defaults=function(n){return i(t.call(arguments,1),function(t){if(t)for(var i in t)null==n[i]&&(n[i]=t[i])}),n};n.clone=function(t){return n.isObject(t)?n.isArray(t)?t.slice():n.extend({},t):t};n.tap=function(n,t){return t(n),n};c=function(t,i,r,u){var a,v,e,o,h,l,s;if(t===i)return 0!==t||1/t==1/i;if(null==t||null==i)return t===i;if(t instanceof n&&(t=t._wrapped),i instanceof n&&(i=i._wrapped),a=f.call(t),a!=f.call(i))return!1;switch(a){case"[object String]":return t==i+"";case"[object Number]":return t!=+t?i!=+i:0==t?1/t==1/i:t==+i;case"[object Date]":case"[object Boolean]":return+t==+i;case"[object RegExp]":return t.source==i.source&&t.global==i.global&&t.multiline==i.multiline&&t.ignoreCase==i.ignoreCase}if("object"!=typeof t||"object"!=typeof i)return!1;for(v=r.length;v--;)if(r[v]==t)return u[v]==i;if(r.push(t),u.push(i),e=0,o=!0,"[object Array]"==a){if(e=t.length,o=e==i.length)for(;e--&&(o=c(t[e],i[e],r,u)););}else{if(h=t.constructor,l=i.constructor,h!==l&&!(n.isFunction(h)&&h instanceof h&&n.isFunction(l)&&l instanceof l))return!1;for(s in t)if(n.has(t,s)&&(e++,!(o=n.has(i,s)&&c(t[s],i[s],r,u))))break;if(o){for(s in i)if(n.has(i,s)&&!e--)break;o=!e}}return r.pop(),u.pop(),o};n.isEqual=function(n,t){return c(n,t,[],[])};n.isEmpty=function(t){if(null==t)return!0;if(n.isArray(t)||n.isString(t))return 0===t.length;for(var i in t)if(n.has(t,i))return!1;return!0};n.isElement=function(n){return!(!n||1!==n.nodeType)};n.isArray=vt||function(n){return"[object Array]"==f.call(n)};n.isObject=function(n){return n===Object(n)};i(["Arguments","Function","String","Number","Date","RegExp"],function(t){n["is"+t]=function(n){return f.call(n)=="[object "+t+"]"}});n.isArguments(arguments)||(n.isArguments=function(t){return!(!t||!n.has(t,"callee"))});"function"!=typeof/./&&(n.isFunction=function(n){return"function"==typeof n});n.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))};n.isNaN=function(t){return n.isNumber(t)&&t!=+t};n.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"==f.call(n)};n.isNull=function(n){return null===n};n.isUndefined=function(n){return n===void 0};n.has=function(n,t){return at.call(n,t)};n.noConflict=function(){return a._=ct,this};n.identity=function(n){return n};n.times=function(n,t,i){for(var u=Array(n),r=0;n>r;r++)u[r]=t.call(i,r);return u};n.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))};u={escape:{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","/":"&#x2F;"}};u.unescape=n.invert(u.escape);st={escape:RegExp("["+n.keys(u.escape).join("")+"]","g"),unescape:RegExp("("+n.keys(u.unescape).join("|")+")","g")};n.each(["escape","unescape"],function(t){n[t]=function(n){return null==n?"":(""+n).replace(st[t],function(n){return u[t][n]})}});n.result=function(t,i){if(null==t)return null;var r=t[i];return n.isFunction(r)?r.call(t):r};n.mixin=function(t){i(n.functions(t),function(i){var r=n[i]=t[i];n.prototype[i]=function(){var t=[this._wrapped];return v.apply(t,arguments),l.call(this,r.apply(n,t))}})};ht=0;n.uniqueId=function(n){var t=++ht+"";return n?n+t:t};n.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var d=/(.)^/,pt={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"},wt=/\\|'|\r|\n|\t|\u2028|\u2029/g;n.template=function(t,i,r){var f,e;r=n.defaults({},r,n.templateSettings);var h=RegExp([(r.escape||d).source,(r.interpolate||d).source,(r.evaluate||d).source].join("|")+"|$","g"),o=0,u="__p+='";t.replace(h,function(n,i,r,f,e){return u+=t.slice(o,e).replace(wt,function(n){return"\\"+pt[n]}),i&&(u+="'+\n((__t=("+i+"))==null?'':_.escape(__t))+\n'"),r&&(u+="'+\n((__t=("+r+"))==null?'':__t)+\n'"),f&&(u+="';\n"+f+"\n__p+='"),o=e+n.length,n});u+="';\n";r.variable||(u="with(obj||{}){\n"+u+"}\n");u="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+u+"return __p;\n";try{f=Function(r.variable||"obj","_",u)}catch(s){throw s.source=u,s;}return i?f(i,n):(e=function(t){return f.call(this,t,n)},e.source="function("+(r.variable||"obj")+"){\n"+u+"}",e)};n.chain=function(t){return n(t).chain()};l=function(t){return this._chain?n(t).chain():t};n.mixin(n);i(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var i=r[t];n.prototype[t]=function(){var n=this._wrapped;return i.apply(n,arguments),"shift"!=t&&"splice"!=t||0!==n.length||delete n[0],l.call(this,n)}});i(["concat","join","slice"],function(t){var i=r[t];n.prototype[t]=function(){return l.call(this,i.apply(this._wrapped,arguments))}});n.extend(n.prototype,{chain:function(){return this._chain=!0,this},value:function(){return this._wrapped}})}.call(this);!function(n,t){"use strict";var h=t.prototype.trim,c=t.prototype.trimRight,l=t.prototype.trimLeft,a=function(n){return n*1||0},r=function(n,t){if(t<1)return"";for(var i="";t>0;)t&1&&(i+=n),t>>=1,n+=n;return i},v=[].slice,f=function(n){return n==null?"\\s":n.source?n.source:"["+i.escapeRegExp(n)+"]"},e={lt:"<",gt:">",quot:'"',amp:"&",apos:"'"},o={},s,u,i;for(s in e)o[e[s]]=s;o["'"]="#39";u=function(){function i(n){return Object.prototype.toString.call(n).slice(8,-1).toLowerCase()}var f=r,n=function(){return n.cache.hasOwnProperty(arguments[0])||(n.cache[arguments[0]]=n.parse(arguments[0])),n.format.call(null,n.cache[arguments[0]],arguments)};return n.format=function(n,r){for(var v=1,w=n.length,c="",e,l=[],h,o,a,y,p,s=0;s<w;s++)if(c=i(n[s]),c==="string")l.push(n[s]);else if(c==="array"){if(o=n[s],o[2])for(e=r[v],h=0;h<o[2].length;h++){if(!e.hasOwnProperty(o[2][h]))throw new Error(u('[_.sprintf] property "%s" does not exist',o[2][h]));e=e[o[2][h]]}else e=o[1]?r[o[1]]:r[v++];if(/[^s]/.test(o[8])&&i(e)!="number")throw new Error(u("[_.sprintf] expecting number but found %s",i(e)));switch(o[8]){case"b":e=e.toString(2);break;case"c":e=t.fromCharCode(e);break;case"d":e=parseInt(e,10);break;case"e":e=o[7]?e.toExponential(o[7]):e.toExponential();break;case"f":e=o[7]?parseFloat(e).toFixed(o[7]):parseFloat(e);break;case"o":e=e.toString(8);break;case"s":e=(e=t(e))&&o[7]?e.substring(0,o[7]):e;break;case"u":e=Math.abs(e);break;case"x":e=e.toString(16);break;case"X":e=e.toString(16).toUpperCase()}e=/[def]/.test(o[8])&&o[3]&&e>=0?"+"+e:e;y=o[4]?o[4]=="0"?"0":o[4].charAt(1):" ";p=o[6]-t(e).length;a=o[6]?f(y,p):"";l.push(o[5]?e+a:a+e)}return l.join("")},n.cache={},n.parse=function(n){for(var r=n,t=[],f=[],o=0;r;){if((t=/^[^\x25]+/.exec(r))!==null)f.push(t[0]);else if((t=/^\x25{2}/.exec(r))!==null)f.push("%");else{if((t=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(r))===null)throw new Error("[_.sprintf] huh?");if(t[2]){o|=1;var e=[],u=t[2],i=[];if((i=/^([a-z_][a-z_\d]*)/i.exec(u))===null)throw new Error("[_.sprintf] huh?");for(e.push(i[1]);(u=u.substring(i[0].length))!=="";)if((i=/^\.([a-z_][a-z_\d]*)/i.exec(u))!==null)e.push(i[1]);else{if((i=/^\[(\d+)\]/.exec(u))===null)throw new Error("[_.sprintf] huh?");e.push(i[1])}t[2]=e}else o|=2;if(o===3)throw new Error("[_.sprintf] mixing positional and named placeholders is not (yet) supported");f.push(t)}r=r.substring(t[0].length)}return f},n}();i={VERSION:"2.3.0",isBlank:function(n){return n==null&&(n=""),/^\s*$/.test(n)},stripTags:function(n){return n==null?"":t(n).replace(/<\/?[^>]+>/g,"")},capitalize:function(n){return n=n==null?"":t(n),n.charAt(0).toUpperCase()+n.slice(1)},chop:function(n,i){return n==null?[]:(n=t(n),i=~~i,i>0?n.match(new RegExp(".{1,"+i+"}","g")):[n])},clean:function(n){return i.strip(n).replace(/\s+/g," ")},count:function(n,i){if(n==null||i==null)return 0;n=t(n);i=t(i);for(var u=0,r=0,f=i.length;;){if(r=n.indexOf(i,r),r===-1)break;u++;r+=f}return u},chars:function(n){return n==null?[]:t(n).split("")},swapCase:function(n){return n==null?"":t(n).replace(/\S/g,function(n){return n===n.toUpperCase()?n.toLowerCase():n.toUpperCase()})},escapeHTML:function(n){return n==null?"":t(n).replace(/[&<>"']/g,function(n){return"&"+o[n]+";"})},unescapeHTML:function(n){return n==null?"":t(n).replace(/\&([^;]+);/g,function(n,i){var r;return i in e?e[i]:(r=i.match(/^#x([\da-fA-F]+)$/))?t.fromCharCode(parseInt(r[1],16)):(r=i.match(/^#(\d+)$/))?t.fromCharCode(~~r[1]):n})},escapeRegExp:function(n){return n==null?"":t(n).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")},splice:function(n,t,r,u){var f=i.chars(n);return f.splice(~~t,~~r,u),f.join("")},insert:function(n,t,r){return i.splice(n,t,0,r)},include:function(n,i){return i===""?!0:n==null?!1:t(n).indexOf(i)!==-1},join:function(){var t=v.call(arguments),n=t.shift();return n==null&&(n=""),t.join(n)},lines:function(n){return n==null?[]:t(n).split("\n")},reverse:function(n){return i.chars(n).reverse().join("")},startsWith:function(n,i){return i===""?!0:n==null||i==null?!1:(n=t(n),i=t(i),n.length>=i.length&&n.slice(0,i.length)===i)},endsWith:function(n,i){return i===""?!0:n==null||i==null?!1:(n=t(n),i=t(i),n.length>=i.length&&n.slice(n.length-i.length)===i)},succ:function(n){return n==null?"":(n=t(n),n.slice(0,-1)+t.fromCharCode(n.charCodeAt(n.length-1)+1))},titleize:function(n){return n==null?"":t(n).replace(/(?:^|\s)\S/g,function(n){return n.toUpperCase()})},camelize:function(n){return i.trim(n).replace(/[-_\s]+(.)?/g,function(n,t){return t.toUpperCase()})},underscored:function(n){return i.trim(n).replace(/([a-z\d])([A-Z]+)/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase()},dasherize:function(n){return i.trim(n).replace(/([A-Z])/g,"-$1").replace(/[-_\s]+/g,"-").toLowerCase()},classify:function(n){return i.titleize(t(n).replace(/_/g," ")).replace(/\s/g,"")},humanize:function(n){return i.capitalize(i.underscored(n).replace(/_id$/,"").replace(/_/g," "))},trim:function(n,i){return n==null?"":!i&&h?h.call(n):(i=f(i),t(n).replace(new RegExp("^"+i+"+|"+i+"+$","g"),""))},ltrim:function(n,i){return n==null?"":!i&&l?l.call(n):(i=f(i),t(n).replace(new RegExp("^"+i+"+"),""))},rtrim:function(n,i){return n==null?"":!i&&c?c.call(n):(i=f(i),t(n).replace(new RegExp(i+"+$"),""))},truncate:function(n,i,r){return n==null?"":(n=t(n),r=r||"...",i=~~i,n.length>i?n.slice(0,i)+r:n)},prune:function(n,r,u){if(n==null)return"";if(n=t(n),r=~~r,u=u!=null?t(u):"...",n.length<=r)return n;var e=function(n){return n.toUpperCase()!==n.toLowerCase()?"A":" "},f=n.slice(0,r+1).replace(/.(?=\W*\w*$)/g,e);return f=f.slice(f.length-2).match(/\w\w/)?f.replace(/\s*\S+$/,""):i.rtrim(f.slice(0,f.length-1)),(f+u).length>n.length?n:n.slice(0,f.length)+u},words:function(n,t){return i.isBlank(n)?[]:i.trim(n,t).split(t||/\s+/)},pad:function(n,i,u,f){n=n==null?"":t(n);i=~~i;var e=0;u?u.length>1&&(u=u.charAt(0)):u=" ";switch(f){case"right":return e=i-n.length,n+r(u,e);case"both":return e=i-n.length,r(u,Math.ceil(e/2))+n+r(u,Math.floor(e/2));default:return e=i-n.length,r(u,e)+n}},lpad:function(n,t,r){return i.pad(n,t,r)},rpad:function(n,t,r){return i.pad(n,t,r,"right")},lrpad:function(n,t,r){return i.pad(n,t,r,"both")},sprintf:u,vsprintf:function(n,t){return t.unshift(n),u.apply(null,t)},toNumber:function(n,i){if(n==null||n=="")return 0;n=t(n);var r=a(a(n).toFixed(~~i));return r===0&&!n.match(/^0+$/)?Number.NaN:r},numberFormat:function(n,t,i,r){if(isNaN(n)||n==null)return"";n=n.toFixed(~~t);r=typeof r=="string"?r:",";var u=n.split("."),f=u[0],e=u[1]?(i||".")+u[1]:"";return f.replace(/(\d)(?=(?:\d{3})+$)/g,"$1"+r)+e},strRight:function(n,i){if(n==null)return"";n=t(n);i=i!=null?t(i):i;var r=i?n.indexOf(i):-1;return~r?n.slice(r+i.length,n.length):n},strRightBack:function(n,i){if(n==null)return"";n=t(n);i=i!=null?t(i):i;var r=i?n.lastIndexOf(i):-1;return~r?n.slice(r+i.length,n.length):n},strLeft:function(n,i){if(n==null)return"";n=t(n);i=i!=null?t(i):i;var r=i?n.indexOf(i):-1;return~r?n.slice(0,r):n},strLeftBack:function(n,t){if(n==null)return"";n+="";t=t!=null?""+t:t;var i=n.lastIndexOf(t);return~i?n.slice(0,i):n},toSentence:function(n,t,r,u){t=t||", ";r=r||" and ";var f=n.slice(),e=f.pop();return n.length>2&&u&&(r=i.rtrim(t)+r),f.length?f.join(t)+r+e:e},toSentenceSerial:function(){var n=v.call(arguments);return n[3]=!0,i.toSentence.apply(i,n)},slugify:function(n){if(n==null)return"";var r="ąàáäâãåæćęèéëêìíïîłńòóöôõøùúüûñçżź",u="aaaaaaaaceeeeeiiiilnoooooouuuunczz",e=new RegExp(f(r),"g");return n=t(n).toLowerCase().replace(e,function(n){var t=r.indexOf(n);return u.charAt(t)||"-"}),i.dasherize(n.replace(/[^\w\s-]/g,""))},surround:function(n,t){return[t,n,t].join("")},quote:function(n){return i.surround(n,'"')},exports:function(){var t={},n;for(n in this)this.hasOwnProperty(n)&&!n.match(/^(?:include|contains|reverse)$/)&&(t[n]=this[n]);return t},repeat:function(n,i,u){if(n==null)return"";if(i=~~i,u==null)return r(t(n),i);for(var f=[];i>0;f[--i]=n);return f.join(u)},levenshtein:function(n,i){var u,e,o,f,r;if(n==null&&i==null)return 0;if(n==null)return t(i).length;if(i==null)return t(n).length;for(n=t(n),i=t(i),u=[],f=0;f<=i.length;f++)for(r=0;r<=n.length;r++)o=f&&r?n.charAt(r-1)===i.charAt(f-1)?e:Math.min(u[r],u[r-1],e)+1:f+r,e=u[r],u[r]=o;return u.pop()}};i.strip=i.trim;i.lstrip=i.ltrim;i.rstrip=i.rtrim;i.center=i.lrpad;i.rjust=i.lpad;i.ljust=i.rpad;i.contains=i.include;i.q=i.quote;typeof exports!="undefined"&&(typeof module!="undefined"&&module.exports&&(module.exports=i),exports._s=i);typeof define=="function"&&define.amd&&define("underscore.string",[],function(){return i});n._=n._||{};n._.string=n._.str=i}(this,String),function(){var o,t,i,n,r,f,u,e,s,h;o=window.device;window.device={};i=window.document.documentElement;h=window.navigator.userAgent.toLowerCase();device.ios=function(){return device.iphone()||device.ipod()||device.ipad()};device.iphone=function(){return n("iphone")};device.ipod=function(){return n("ipod")};device.ipad=function(){return n("ipad")};device.android=function(){return n("android")};device.androidPhone=function(){return device.android()&&n("mobile")};device.androidTablet=function(){return device.android()&&!n("mobile")};device.blackberry=function(){return n("blackberry")||n("bb10")||n("rim")};device.blackberryPhone=function(){return device.blackberry()&&!n("tablet")};device.blackberryTablet=function(){return device.blackberry()&&n("tablet")};device.windows=function(){return n("windows")};device.windowsPhone=function(){return device.windows()&&n("phone")};device.windowsTablet=function(){return device.windows()&&n("touch")};device.fxos=function(){return(n("(mobile;")||n("(tablet;"))&&n("; rv:")};device.fxosPhone=function(){return device.fxos()&&n("mobile")};device.fxosTablet=function(){return device.fxos()&&n("tablet")};device.meego=function(){return n("meego")};device.mobile=function(){return device.androidPhone()||device.iphone()||device.ipod()||device.windowsPhone()||device.blackberryPhone()||device.fxosPhone()||device.meego()};device.tablet=function(){return device.ipad()||device.androidTablet()||device.blackberryTablet()||device.windowsTablet()||device.fxosTablet()};device.portrait=function(){return 90!==Math.abs(window.orientation)};device.landscape=function(){return 90===Math.abs(window.orientation)};device.noConflict=function(){return window.device=o,this};n=function(n){return-1!==h.indexOf(n)};f=function(n){var t;return t=new RegExp(n,"i"),i.className.match(t)};t=function(n){if(!f(n))return i.className+=" "+n};e=function(n){if(f(n))return i.className=i.className.replace(n,"")};device.ios()?device.ipad()?t("ios ipad tablet"):device.iphone()?t("ios iphone mobile"):device.ipod()&&t("ios ipod mobile"):device.android()?device.androidTablet()?t("android tablet"):t("android mobile"):device.blackberry()?device.blackberryTablet()?t("blackberry tablet"):t("blackberry mobile"):device.windows()?device.windowsTablet()?t("windows tablet"):device.windowsPhone()?t("windows mobile"):t("desktop"):device.fxos()?device.fxosTablet()?t("fxos tablet"):t("fxos mobile"):device.meego()?t("meego mobile"):t("desktop");r=function(){return device.landscape()?(e("portrait"),t("landscape")):(e("landscape"),t("portrait"))};s="onorientationchange"in window;u=s?"orientationchange":"resize";window.addEventListener?window.addEventListener(u,r,!1):window.attachEvent?window.attachEvent(u,r):window[u]=r;r()}.call(this),function(n){function i(i,f){if(this.element=i,this.options=n.extend({},r,f),n(this.element).data("max-height",this.options.maxHeight),n(this.element).data("height-margin",this.options.heightMargin),delete this.options.maxHeight,this.options.embedCSS&&!u){var e=".readmore-js-toggle, .readmore-js-section { "+this.options.sectionCSS+" } .readmore-js-section { overflow: hidden; }";(function(n,t){var i=n.createElement("style");i.type="text/css";i.styleSheet?i.styleSheet.cssText=t:i.appendChild(n.createTextNode(t));n.getElementsByTagName("head")[0].appendChild(i)})(document,e);u=!0}this._defaults=r;this._name=t;this.init()}var t="readmore",r={speed:0,maxHeight:139,heightMargin:16,moreLink:'<div class="jReadMoreActions hidden-xs"><span style="cursor: pointer; display: inline-block;  margin-left: 1px;">More &gt;&gt;<\/span><\/div>',lessLink:'<div class="jReadMoreActions hidden-xs"><span class="jReadMoreOpen" style="cursor: pointer; display: inline-block;">&lt;&lt; Less<\/span><\/div>',embedCSS:!0,sectionCSS:"display: block; width: 100%;",startOpen:!1,expandedClass:"readmore-js-expanded",collapsedClass:"readmore-js-collapsed",beforeToggle:function(){},afterToggle:function(){}},u=!1;i.prototype={init:function(){var t=this;n(this.element).each(function(){var i=n(this),r=i.css("max-height").replace(/[^-\d\.]/g,"")>i.data("max-height")?i.css("max-height").replace(/[^-\d\.]/g,""):i.data("max-height"),f=i.data("height-margin"),u;if(i.css("max-height")!="none"&&i.css("max-height","none"),t.setBoxHeight(i),i.outerHeight(!0)<=r+f)return!0;i.addClass("readmore-js-section "+t.options.collapsedClass).data("collapsedHeight",r);u=t.options.startOpen?t.options.lessLink:t.options.moreLink;i.after(n(u).on("click",function(n){t.toggleSlider(this,i,n)}).addClass("readmore-js-toggle"));t.options.startOpen||i.css({height:r})});n(window).on("resize",function(){t.resizeBoxes()})},toggleSlider:function(t,i,r){r.preventDefault();var u=this,f=newLink=sectionClass="",e=!1,o=n(i).data("collapsedHeight");n(i).height()<=o?(f=n(i).data("expandedHeight")+"px",newLink="lessLink",e=!0,sectionClass=u.options.expandedClass):(f=o,newLink="moreLink",sectionClass=u.options.collapsedClass);u.options.beforeToggle(t,i,e);n(i).animate({height:f},{duration:u.options.speed,complete:function(){u.options.afterToggle(t,i,e);n(t).replaceWith(n(u.options[newLink]).on("click",function(n){u.toggleSlider(this,i,n)}).addClass("readmore-js-toggle"));n(this).removeClass(u.options.collapsedClass+" "+u.options.expandedClass).addClass(sectionClass)}})},setBoxHeight:function(n){var t=n.clone().css({height:"auto",width:n.width(),overflow:"hidden"}).insertAfter(n),i=t.outerHeight(!0);t.remove();n.data("expandedHeight",i)},resizeBoxes:function(){var t=this;n(".readmore-js-section").each(function(){var i=n(this);t.setBoxHeight(i);(i.height()>i.data("expandedHeight")||i.hasClass(t.options.expandedClass)&&i.height()<i.data("expandedHeight"))&&i.css("height",i.data("expandedHeight"))})},destroy:function(){var t=this;n(this.element).each(function(){var i=n(this);i.removeClass("readmore-js-section "+t.options.collapsedClass+" "+t.options.expandedClass).css({"max-height":"",height:"auto"}).next(".readmore-js-toggle").remove();i.removeData()})}};n.fn[t]=function(r){var u=arguments;return r===undefined||typeof r=="object"?this.each(function(){if(n.data(this,"plugin_"+t)){var u=n.data(this,"plugin_"+t);u.destroy.apply(u)}n.data(this,"plugin_"+t,new i(this,r))}):typeof r=="string"&&r[0]!=="_"&&r!=="init"?this.each(function(){var f=n.data(this,"plugin_"+t);f instanceof i&&typeof f[r]=="function"&&f[r].apply(f,Array.prototype.slice.call(u,1))}):void 0}}(jQuery)