You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

16 lines
653 KiB

function FastClick(e,t){"use strict";function n(e,t){return function(){return e.apply(t,arguments)}}var i;if(t=t||{},this.trackingClick=!1,this.trackingClickStart=0,this.targetElement=null,this.touchStartX=0,this.touchStartY=0,this.lastTouchIdentifier=0,this.touchBoundary=t.touchBoundary||10,this.layer=e,this.tapDelay=t.tapDelay||200,!FastClick.notNeeded(e)){for(var r=["onMouse","onClick","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel"],o=this,a=0,s=r.length;s>a;a++)o[r[a]]=n(o[r[a]],o);deviceIsAndroid&&(e.addEventListener("mouseover",this.onMouse,!0),e.addEventListener("mousedown",this.onMouse,!0),e.addEventListener("mouseup",this.onMouse,!0)),e.addEventListener("click",this.onClick,!0),e.addEventListener("touchstart",this.onTouchStart,!1),e.addEventListener("touchmove",this.onTouchMove,!1),e.addEventListener("touchend",this.onTouchEnd,!1),e.addEventListener("touchcancel",this.onTouchCancel,!1),Event.prototype.stopImmediatePropagation||(e.removeEventListener=function(t,n,i){var r=Node.prototype.removeEventListener;"click"===t?r.call(e,t,n.hijacked||n,i):r.call(e,t,n,i)},e.addEventListener=function(t,n,i){var r=Node.prototype.addEventListener;"click"===t?r.call(e,t,n.hijacked||(n.hijacked=function(e){e.propagationStopped||n(e)}),i):r.call(e,t,n,i)}),"function"==typeof e.onclick&&(i=e.onclick,e.addEventListener("click",function(e){i(e)},!1),e.onclick=null)}}function BigInteger(e,t,n){null!=e&&("number"==typeof e?this.fromNumber(e,t,n):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function nbi(){return new BigInteger(null)}function am1(e,t,n,i,r,o){for(;--o>=0;){var a=t*this[e++]+n[i]+r;r=Math.floor(a/67108864),n[i++]=67108863&a}return r}function am2(e,t,n,i,r,o){for(var a=32767&t,s=t>>15;--o>=0;){var c=32767&this[e],l=this[e++]>>15,u=s*c+l*a;c=a*c+((32767&u)<<15)+n[i]+(1073741823&r),r=(c>>>30)+(u>>>15)+s*l+(r>>>30),n[i++]=1073741823&c}return r}function am3(e,t,n,i,r,o){for(var a=16383&t,s=t>>14;--o>=0;){var c=16383&this[e],l=this[e++]>>14,u=s*c+l*a;c=a*c+((16383&u)<<14)+n[i]+r,r=(c>>28)+(u>>14)+s*l,n[i++]=268435455&c}return r}function int2char(e){return BI_RM.charAt(e)}function intAt(e,t){var n=BI_RC[e.charCodeAt(t)];return null==n?-1:n}function bnpCopyTo(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s}function bnpFromInt(e){this.t=1,this.s=0>e?-1:0,e>0?this[0]=e:-1>e?this[0]=e+this.DV:this.t=0}function nbv(e){var t=nbi();return t.fromInt(e),t}function bnpFromString(e,t,n){var i;if(16==t)i=4;else if(8==t)i=3;else if(256==t)i=8;else if(2==t)i=1;else if(32==t)i=5;else{if(4!=t)return void this.fromRadix(e,t);i=2}this.t=0,this.s=0;for(var r=e.length,o=!1,a=0;--r>=0;){var s=8==i?255&e[r]:intAt(e,r);0>s?"-"==e.charAt(r)&&(o=!0):(o=!1,0==a?this[this.t++]=s:a+i>this.DB?(this[this.t-1]|=(s&(1<<this.DB-a)-1)<<a,this[this.t++]=s>>this.DB-a):this[this.t-1]|=s<<a,a+=i,a>=this.DB&&(a-=this.DB))}8==i&&0!=(128&e[0])&&n&&(this.s=-1,a>0&&(this[this.t-1]|=(1<<this.DB-a)-1<<a)),this.clamp(),o&&BigInteger.ZERO.subTo(this,this)}function bnpClamp(){for(var e=this.s&this.DM;this.t>0&&this[this.t-1]==e;)--this.t}function bnToString(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var n,i=(1<<t)-1,r=!1,o="",a=this.t,s=this.DB-a*this.DB%t;if(a-->0)for(s<this.DB&&(n=this[a]>>s)>0&&(r=!0,o=int2char(n));a>=0;)t>s?(n=(this[a]&(1<<s)-1)<<t-s,n|=this[--a]>>(s+=this.DB-t)):(n=this[a]>>(s-=t)&i,0>=s&&(s+=this.DB,--a)),n>0&&(r=!0),r&&(o+=int2char(n));return r?o:"0"}function bnNegate(){var e=nbi();return BigInteger.ZERO.subTo(this,e),e}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(e){var t=this.s-e.s;if(0!=t)return t;var n=this.t;if(t=n-e.t,0!=t)return this.s<0?-t:t;for(;--n>=0;)if(0!=(t=this[n]-e[n]))return t;return 0}function nbits(e){var t,n=1;return 0!=(t=e>>>16)&&(e=t,n+=16),0!=(t=e>>8)&&(e=t,n+=8),0!=(t=e>>4)&&(e=t,n+=4),0!=(t=e>>2)&&(e=t,n+=2),0!=(t=e>>1)&&(e=t,n+=1),n}function bnBitLength(){return this.t<=0?0:this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&th
return i&&ut.extend(!0,e,i),e}function N(e,n,i){for(var r,o,a,s,c=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in c)if(c[s]&&c[s].test(o)){l.unshift(s);break}if(l[0]in i)a=l[0];else{for(s in i){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}r||(r=s)}a=a||r}return a?(a!==l[0]&&l.unshift(a),i[a]):t}function L(e,t,n,i){var r,o,a,s,c,l={},u=e.dataTypes.slice();if(u[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=u.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!c&&i&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),c=o,o=u.shift())if("*"===o)o=c;else if("*"!==c&&c!==o){if(a=l[c+" "+o]||l["* "+o],!a)for(r in l)if(s=r.split(" "),s[1]===o&&(a=l[c+" "+s[0]]||l["* "+s[0]])){a===!0?a=l[r]:l[r]!==!0&&(o=s[0],u.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(p){return{state:"parsererror",error:a?p:"No conversion from "+c+" to "+o}}}return{state:"success",data:t}}function B(){try{return new e.XMLHttpRequest}catch(t){}}function F(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function O(){return setTimeout(function(){Jn=t}),Jn=ut.now()}function U(e,t,n){for(var i,r=(oi[t]||[]).concat(oi["*"]),o=0,a=r.length;a>o;o++)if(i=r[o].call(n,t,e))return i}function R(e,t,n){var i,r,o=0,a=ri.length,s=ut.Deferred().always(function(){delete c.elem}),c=function(){if(r)return!1;for(var t=Jn||O(),n=Math.max(0,l.startTime+l.duration-t),i=n/l.duration||0,o=1-i,a=0,c=l.tweens.length;c>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&c?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:ut.extend({},t),opts:ut.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Jn||O(),duration:n.duration,tweens:[],createTween:function(t,n){var i=ut.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(i),i},stop:function(t){var n=0,i=t?l.tweens.length:0;if(r)return this;for(r=!0;i>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),u=l.props;for(q(u,l.opts.specialEasing);a>o;o++)if(i=ri[o].call(l,e,u,l.opts))return i;return ut.map(u,U,l),ut.isFunction(l.opts.start)&&l.opts.start.call(e,l),ut.fx.timer(ut.extend(c,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function q(e,t){var n,i,r,o,a;for(n in e)if(i=ut.camelCase(n),r=t[i],o=e[n],ut.isArray(o)&&(r=o[1],o=e[n]=o[0]),n!==i&&(e[i]=o,delete e[n]),a=ut.cssHooks[i],a&&"expand"in a){o=a.expand(o),delete e[i];for(n in o)n in e||(e[n]=o[n],t[n]=r)}else t[i]=r}function j(e,t,n){var i,r,o,a,s,c,l=this,u={},p=e.style,d=e.nodeType&&S(e),f=ut._data(e,"fxshow");n.queue||(s=ut._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,c=s.empty.fire,s.empty.fire=function(){s.unqueued||c()}),s.unqueued++,l.always(function(){l.always(function(){s.unqueued--,ut.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===ut.css(e,"display")&&"none"===ut.css(e,"float")&&(ut.support.inlineBlockNeedsLayout&&"inline"!==T(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",ut.support.shrinkWrapBlocks||l.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(i in t)if(r=t[i],ti.exec(r)){if(delete t[i],o=o||"toggle"===r,r===(d?"hide":"show"))continue;u[i]=f&&f[i]||ut.style(e,i)}if(!ut.isEmptyObject(u)){f?"hidden"in f&&(d=f.hidden):f=ut._data(e,"fxshow",{}),o&&(f.hidden=!d),d?ut(e).show():l.done(function(){ut(e).hide()}),l.done(function(){var t;ut._removeData(e,"fxshow");for(t in u)ut.style(e,t,u[t])});for(i in u)a=U(d?f[i]:0,i,l),i in f||(f[i]=a.start,d&&(a.end=a.start,a.start="width"===i||"height"===i?1:0))}}function H(e,t,n,i,r){return new H.prototype.init(e,t,n,i,r)}function z(e,t){var n,i={height:e},r=0;for(t=t?1:0;4>r;r+=2-t)n=Cn[r],i["margin"+n]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function V(e){return ut.isWindow(e)?e:9===e.nodeTyp
}};if(a>1)for(t=Array(a),n=Array(a),i=Array(a);a>r;r++)o[r]&&ut.isFunction(o[r].promise)?o[r].promise().done(l(r,i,o)).fail(c.reject).progress(l(r,n,t)):--s;return s||c.resolveWith(i,o),c.promise()}}),ut.support=function(t){var n,i,r,o,a,s,c,l,u,p=Z.createElement("div");if(p.setAttribute("className","t"),p.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=p.getElementsByTagName("*")||[],i=p.getElementsByTagName("a")[0],!i||!i.style||!n.length)return t;o=Z.createElement("select"),s=o.appendChild(Z.createElement("option")),r=p.getElementsByTagName("input")[0],i.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==p.className,t.leadingWhitespace=3===p.firstChild.nodeType,t.tbody=!p.getElementsByTagName("tbody").length,t.htmlSerialize=!!p.getElementsByTagName("link").length,t.style=/top/.test(i.getAttribute("style")),t.hrefNormalized="/a"===i.getAttribute("href"),t.opacity=/^0.5/.test(i.style.opacity),t.cssFloat=!!i.style.cssFloat,t.checkOn=!!r.value,t.optSelected=s.selected,t.enctype=!!Z.createElement("form").enctype,t.html5Clone="<:nav></:nav>"!==Z.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,r.checked=!0,t.noCloneChecked=r.cloneNode(!0).checked,o.disabled=!0,t.optDisabled=!s.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}r=Z.createElement("input"),r.setAttribute("value",""),t.input=""===r.getAttribute("value"),r.value="t",r.setAttribute("type","radio"),t.radioValue="t"===r.value,r.setAttribute("checked","t"),r.setAttribute("name","t"),a=Z.createDocumentFragment(),a.appendChild(r),t.appendChecked=r.checked,t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,p.attachEvent&&(p.attachEvent("onclick",function(){t.noCloneEvent=!1}),p.cloneNode(!0).click());for(u in{submit:!0,change:!0,focusin:!0})p.setAttribute(c="on"+u,"t"),t[u+"Bubbles"]=c in e||p.attributes[c].expando===!1;p.style.backgroundClip="content-box",p.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===p.style.backgroundClip;for(u in ut(t))break;return t.ownLast="0"!==u,ut(function(){var n,i,r,o="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",a=Z.getElementsByTagName("body")[0];a&&(n=Z.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",a.appendChild(n).appendChild(p),p.innerHTML="<table><tr><td></td><td>t</td></tr></table>",r=p.getElementsByTagName("td"),r[0].style.cssText="padding:0;margin:0;border:0;display:none",l=0===r[0].offsetHeight,r[0].style.display="",r[1].style.display="none",t.reliableHiddenOffsets=l&&0===r[0].offsetHeight,p.innerHTML="",p.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",ut.swap(a,null!=a.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===p.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(p,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(p,null)||{width:"4px"}).width,i=p.appendChild(Z.createElement("div")),i.style.cssText=p.style.cssText=o,i.style.marginRight=i.style.width="0",p.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(i,null)||{}).marginRight)),typeof p.style.zoom!==K&&(p.innerHTML="",p.style.cssText=o+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===p.offsetWidth,p.style.display="block",p.innerHTML="<div></div>",p.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==p.offsetWidth,t.inlineBlockNeedsLayout&&(a.style.zoom=1)),a.removeChild(n),n=p=r=i=null)}),n=o=a=s=i=r=null,t}({});var Mt=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,xt=/([A-Z])/g;ut.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?ut.cache[e[ut.expando]]:e[ut.expando],!!e&&!s(e)},data:function(
s=d.lastChild}else h.push(t.createTextNode(o));for(s&&d.removeChild(s),ut.support.appendChecked||ut.grep(b(h,"input"),w),g=0;o=h[g++];)if((!i||-1===ut.inArray(o,i))&&(a=ut.contains(o.ownerDocument,o),s=b(d.appendChild(o),"script"),a&&y(s),n))for(r=0;o=s[r++];)rn.test(o.type||"")&&n.push(o);return s=null,d},cleanData:function(e,t){for(var n,i,r,o,a=0,s=ut.expando,c=ut.cache,l=ut.support.deleteExpando,u=ut.event.special;null!=(n=e[a]);a++)if((t||ut.acceptData(n))&&(r=n[s],o=r&&c[r])){if(o.events)for(i in o.events)u[i]?ut.event.remove(n,i):ut.removeEvent(n,i,o.handle);c[r]&&(delete c[r],l?delete n[s]:typeof n.removeAttribute!==K?n.removeAttribute(s):n[s]=null,tt.push(r))}},_evalUrl:function(e){return ut.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),ut.fn.extend({wrapAll:function(e){if(ut.isFunction(e))return this.each(function(t){ut(this).wrapAll(e.call(this,t))});if(this[0]){var t=ut(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return this.each(ut.isFunction(e)?function(t){ut(this).wrapInner(e.call(this,t))}:function(){var t=ut(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=ut.isFunction(e);return this.each(function(n){ut(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){ut.nodeName(this,"body")||ut(this).replaceWith(this.childNodes)}).end()}});var un,pn,dn,fn=/alpha\([^)]*\)/i,hn=/opacity\s*=\s*([^)]*)/,gn=/^(top|right|bottom|left)$/,mn=/^(none|table(?!-c[ea]).+)/,yn=/^margin/,vn=RegExp("^("+pt+")(.*)$","i"),_n=RegExp("^("+pt+")(?!px)[a-z%]+$","i"),bn=RegExp("^([+-])=("+pt+")","i"),wn={BODY:"block"},$n={position:"absolute",visibility:"hidden",display:"block"},Sn={letterSpacing:0,fontWeight:400},Cn=["Top","Right","Bottom","Left"],kn=["Webkit","O","Moz","ms"];ut.fn.extend({css:function(e,n){return ut.access(this,function(e,n,i){var r,o,a={},s=0;if(ut.isArray(n)){for(o=pn(e),r=n.length;r>s;s++)a[n[s]]=ut.css(e,n[s],!1,o);return a}return i!==t?ut.style(e,n,i):ut.css(e,n)},e,n,arguments.length>1)},show:function(){return C(this,!0)},hide:function(){return C(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){S(this)?ut(this).show():ut(this).hide()})}}),ut.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=dn(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":ut.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,i,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,c=ut.camelCase(n),l=e.style;if(n=ut.cssProps[c]||(ut.cssProps[c]=$(l,c)),s=ut.cssHooks[n]||ut.cssHooks[c],i===t)return s&&"get"in s&&(o=s.get(e,!1,r))!==t?o:l[n];if(a=typeof i,"string"===a&&(o=bn.exec(i))&&(i=(o[1]+1)*o[2]+parseFloat(ut.css(e,n)),a="number"),!(null==i||"number"===a&&isNaN(i)||("number"!==a||ut.cssNumber[c]||(i+="px"),ut.support.clearCloneStyle||""!==i||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(i=s.set(e,i,r))===t)))try{l[n]=i}catch(u){}}},css:function(e,n,i,r){var o,a,s,c=ut.camelCase(n);return n=ut.cssProps[c]||(ut.cssProps[c]=$(e.style,c)),s=ut.cssHooks[n]||ut.cssHooks[c],s&&"get"in s&&(a=s.get(e,!0,i)),a===t&&(a=dn(e,n,r)),"normal"===a&&n in Sn&&(a=Sn[n]),""===i||i?(o=parseFloat(a),i===!0||ut.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(pn=function(t){return e.getComputedStyle(t,null)},dn=function(e,n,i){var r,o,a,s=i||pn(e),c=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==c||ut.contains(e.ownerDocument,e)||(c=ut.style(e,n)),_n.test(c)&&yn.test(n)&&(r=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=c,c=s.width,l.width=r,l.minWidth=o,l.maxWidth=a)),c}):Z.documentElement.currentStyle&&(pn=function(e){return e.currentStyle},dn=function(e,n,i){var r,o,a,s=i||pn(e),c=s?s[n]:t,l=e.style;return null==c&&l&&l[n]&&(c=l[n])
}catch(e){console.error("CJ protection",e)}if(window.safeConfirm=function(e,t){"string"==typeof e&&(e={message:e});var n=!1;try{n=confirm(e.message)}catch(i){n=!0}setTimeout(function(){t(n)},10)},window.applicationCache&&!Config.Modes.packed&&window.addEventListener){var t=window.applicationCache,n=!1,i=!1,r=function(e){clearTimeout(i),i=setTimeout(function(){try{t.update()}catch(e){console.log("appCache.update: "+e)}},e||3e5)},o=function(){t.addEventListener("updateready",function(){t.status==t.UPDATEREADY&&(n||(safeConfirm({type:"WEBOGRAM_UPDATED_RELOAD",message:"A new version of Webogram is downloaded. Launch it?"},function(e){e?window.location.reload():n=!0}),r()))},!1),t.addEventListener("noupdate",function(){r()},!1),t.addEventListener("error",function(){r()},!1)};r(3e3),window.addEventListener("load",o)}}(),function(e,t,n){"use strict";var i,r,o,a,s,c,l,u,p,d,f,h,g,m,y,v,_,b,w,$,S,C,k,M,x,T,E,A,I;S={paneClass:"pane",sliderClass:"slider",contentClass:"content",iOSNativeScrolling:!1,preventPageScrolling:!1,disableResize:!1,alwaysVisible:!1,flashDelay:1500,sliderMinHeight:20,sliderMaxHeight:null,documentContext:null,windowContext:null},v="scrollbar",y="scroll",u="mousedown",p="mousemove",f="mousewheel",d="mouseup",m="resize",s="drag",b="up",g="panedown",o="DOMMouseScroll",a="down",w="wheel",c="keydown",l="keyup",_="touchmove",i="Microsoft Internet Explorer"===t.navigator.appName&&/msie 7./i.test(t.navigator.appVersion)&&t.ActiveXObject,r=null,x=t.requestAnimationFrame,$=t.cancelAnimationFrame,E=n.createElement("div").style,I=function(){var e,t,n,i,r,o;for(i=["t","webkitT","MozT","msT","OT"],e=r=0,o=i.length;o>r;e=++r)if(n=i[e],t=i[e]+"ransform",t in E)return i[e].substr(0,i[e].length-1);return!1}(),A=function(e){return I===!1?!1:""===I?e:I+e.charAt(0).toUpperCase()+e.substr(1)},T=A("transform"),k=T!==!1,C=function(){var e,t,i;return e=n.createElement("div"),t=e.style,t.position="absolute",t.width="100px",t.height="100px",t.overflow=y,t.top="-9999px",n.body.appendChild(e),i=e.offsetWidth-e.clientWidth,n.body.removeChild(e),i},M=function(){var e,n,i;return n=t.navigator.userAgent,(e=/(?=.+Mac OS X)(?=.+Firefox)/.test(n))?(i=/Firefox\/\d{2}\./.exec(n),i&&(i=i[0].replace(/\D+/g,"")),e&&+i>23):!1},h=function(){function c(i,o){this.el=i,this.options=o,r||(r=C()),this.$el=e(this.el),this.doc=e(this.options.documentContext||n),this.win=e(this.options.windowContext||t),this.$content=this.$el.children("."+o.contentClass),this.$content.attr("tabindex",this.options.tabIndex||0),this.content=this.$content[0],this.options.iOSNativeScrolling&&null!=this.el.style.WebkitOverflowScrolling?this.nativeScrolling():this.generate(),this.createEvents(),this.addEvents(),this.reset()}return c.prototype.preventScrolling=function(e,t){if(this.isActive)if(e.type===o)(t===a&&e.originalEvent.detail>0||t===b&&e.originalEvent.detail<0)&&e.preventDefault();else if(e.type===f){if(!e.originalEvent||!e.originalEvent.wheelDelta)return;(t===a&&e.originalEvent.wheelDelta<0||t===b&&e.originalEvent.wheelDelta>0)&&e.preventDefault()}},c.prototype.nativeScrolling=function(){this.$content.css({WebkitOverflowScrolling:"touch"}),this.iOSNativeScrolling=!0,this.isActive=!0},c.prototype.updateScrollValues=function(){var e;e=this.content,this.maxScrollTop=e.scrollHeight-e.clientHeight,this.prevScrollTop=this.contentScrollTop||0,this.contentScrollTop=e.scrollTop,this.iOSNativeScrolling||(this.maxSliderTop=this.paneHeight-this.sliderHeight,this.sliderTop=0===this.maxScrollTop?0:this.contentScrollTop*this.maxSliderTop/this.maxScrollTop)},c.prototype.setOnScrollStyles=function(){var e,t=this;k?(e={},e[T]="translate(0, "+this.sliderTop+"px)"):e={top:this.sliderTop},x?this.scrollRAF||(this.scrollRAF=x(function(){t.scrollRAF=null,t.slider.css(e)})):this.slider.css(e)},c.prototype.createEvents=function(){var e=this;this.events={down:function(t){return e.isBeingDragged=!0,e.offsetY=t.pageY-e.slider.offset().top,e.pane.addClass("active"),e.doc.bind(p,e.events[s]).bind(d,e.events[b]),!1},drag:function(t){return e.sliderY=t.pageY-e.$el.offset().top-e.offsetY,e.scroll(),e.updat
}function Y(e,n){function i(e){e&&s.push(e)}var r,a,s=[e],c=["ng:app","ng-app","x-ng-app","data-ng-app"],l=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;o(c,function(n){c[n]=!0,i(t.getElementById(n)),n=n.replace(":","\\:"),e.querySelectorAll&&(o(e.querySelectorAll("."+n),i),o(e.querySelectorAll("."+n+"\\:"),i),o(e.querySelectorAll("["+n+"]"),i))}),o(s,function(e){if(!r){var t=" "+e.className+" ",n=l.exec(t);n?(r=e,a=(n[2]||"").replace(/\s+/g,",")):o(e.attributes,function(t){!r&&c[t.name]&&(r=e,a=t.value)})}}),r&&n(r,a?[a]:[])}function Q(n,i){var r=function(){if(n=pi(n),n.injector()){var e=n[0]===t?"document":V(n);throw vi("btstrpd","App Already Bootstrapped with this Element '{0}'",e)}i=i||[],i.unshift(["$provide",function(e){e.value("$rootElement",n)}]),i.unshift("ng");var r=At(i);return r.invoke(["$rootScope","$rootElement","$compile","$injector","$animate",function(e,t,n,i){e.$apply(function(){t.data("$injector",i),n(t)(e)})}]),r},a=/^NG_DEFER_BOOTSTRAP!/;return e&&!a.test(e.name)?r():(e.name=e.name.replace(a,""),void(_i.resumeBootstrap=function(e){o(e,function(e){i.push(e)}),r()}))}function J(e,t){return t=t||"_",e.replace($i,function(e,n){return(n?t:"")+e.toLowerCase()})}function et(){di=e.jQuery,di?(pi=di,p(di.fn,{scope:Di.scope,isolateScope:Di.isolateScope,controller:Di.controller,injector:Di.injector,inheritedData:Di.inheritedData}),ut("remove",!0,!0,!1),ut("empty",!1,!1,!1),ut("html",!1,!1,!0)):pi=pt,_i.element=pi}function tt(e,t,n){if(!e)throw vi("areq","Argument '{0}' is {1}",t||"?",n||"required");return e}function nt(e,t,n){return n&&S(e)&&(e=e[e.length-1]),tt(C(e),t,"not a function, got "+(e&&"object"==typeof e?e.constructor.name||"Object":typeof e)),e}function it(e,t){if("hasOwnProperty"===e)throw vi("badname","hasOwnProperty is not a valid {0} name",t)}function rt(e,t,n){if(!t)return e;for(var i,r=t.split("."),o=e,a=r.length,s=0;a>s;s++)i=r[s],e&&(e=(o=e)[i]);return!n&&C(e)?R(o,e):e}function ot(e){var t=e[0],n=e[e.length-1];if(t===n)return pi(t);var i=t,r=[i];do{if(i=i.nextSibling,!i)break;r.push(i)}while(i!==n);return pi(r)}function at(e){function t(e,t,n){return e[t]||(e[t]=n())}var n=i("$injector"),r=i("ng"),o=t(e,"angular",Object);return o.$$minErr=o.$$minErr||i,t(o,"module",function(){var e={};return function(i,o,a){var s=function(e,t){if("hasOwnProperty"===e)throw r("badname","hasOwnProperty is not a valid {0} name",t)};return s(i,"module"),o&&e.hasOwnProperty(i)&&(e[i]=null),t(e,i,function(){function e(e,n,i){return function(){return t[i||"push"]([e,n,arguments]),c}}if(!o)throw n("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",i);var t=[],r=[],s=e("$injector","invoke"),c={_invokeQueue:t,_runBlocks:r,requires:o,name:i,provider:e("$provide","provider"),factory:e("$provide","factory"),service:e("$provide","service"),value:e("$provide","value"),constant:e("$provide","constant","unshift"),animation:e("$animateProvider","register"),filter:e("$filterProvider","register"),controller:e("$controllerProvider","register"),directive:e("$compileProvider","directive"),config:s,run:function(e){return r.push(e),this}};return a&&s(a),c})}})}function st(t){p(t,{bootstrap:Q,copy:N,extend:p,equals:B,element:pi,forEach:o,injector:At,noop:h,bind:R,toJson:j,fromJson:H,identity:g,isUndefined:y,isDefined:v,isString:b,isFunction:C,isObject:_,isNumber:w,isElement:E,isArray:S,version:Si,isDate:$,lowercase:ai,uppercase:si,callbacks:{counter:0},$$minErr:i,$$csp:F}),fi=at(e);try{fi("ngLocale")}catch(n){fi("ngLocale",[]).provider("$locale",Qt)}fi("ng",["ngLocale"],["$provide",function(e){e.provider({$$sanitizeUri:kn}),e.provider("$compile",Bt).directive({a:dr,input:$r,textarea:$r,form:mr,script:io,select:ao,style:co,option:so,ngBind:Nr,ngBindHtml:Br,ngBindTemplate:Lr,ngClass:Fr,ngClassEven:Ur,ngClassOdd:Or,ngCloak:Rr,ngController:qr,ngForm:yr,ngHide:Yr,ngIf:Hr,ngInclude:zr,ngInit:Wr,ngNonBindable:Gr,ngPluralize:Kr,ngRepeat:Xr,ngShow:Zr,ngStyle:Qr,ngSwitch:Jr,ngSwitchWhen:eo,ngSwitchDefault:to,ngOption
if((m=g.length)||(g.push(""),m=1),l&&g.length>1)throw zi("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce",o);return!c||v?(_.length=m,d=function(e){try{for(var t,n=0,a=m;a>n;n++)"function"==typeof(t=g[n])&&(t=t(e),t=l?r.getTrusted(l,t):r.valueOf(t),null===t||y(t)?t="":"string"!=typeof t&&(t=j(t))),_[n]=t;return _.join("")}catch(s){var c=zi("interr","Can't interpolate: {0}\n{1}",o,s.toString());i(c)}},d.exp=o,d.parts=g,d):void 0}var a=e.length,s=t.length;return o.startSymbol=function(){return e},o.endSymbol=function(){return t},o}]}function Yt(){this.$get=["$rootScope","$window","$q",function(e,t,n){function i(i,o,a,s){var c=t.setInterval,l=t.clearInterval,u=n.defer(),p=u.promise,d=0,f=v(s)&&!s;return a=v(a)?a:0,p.then(null,null,i),p.$$intervalId=c(function(){u.notify(d++),a>0&&d>=a&&(u.resolve(d),l(p.$$intervalId),delete r[p.$$intervalId]),f||e.$apply()},o),r[p.$$intervalId]=u,p}var r={};return i.cancel=function(e){return e&&e.$$intervalId in r?(r[e.$$intervalId].reject("canceled"),clearInterval(e.$$intervalId),delete r[e.$$intervalId],!0):!1},i}]}function Qt(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"¤",posSuf:"",negPre:"(¤",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),SHORTMONTH:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),DAY:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),SHORTDAY:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(e){return 1===e?"one":"other"}}}}function Jt(e){for(var t=e.split("/"),n=t.length;n--;)t[n]=X(t[n]);return t.join("/")}function en(e,t,n){var i=Pn(e,n);t.$$protocol=i.protocol,t.$$host=i.hostname,t.$$port=d(i.port)||Wi[i.protocol]||null}function tn(e,t,n){var i="/"!==e.charAt(0);i&&(e="/"+e);var r=Pn(e,n);t.$$path=decodeURIComponent(i&&"/"===r.pathname.charAt(0)?r.pathname.substring(1):r.pathname),t.$$search=G(r.search),t.$$hash=decodeURIComponent(r.hash),t.$$path&&"/"!=t.$$path.charAt(0)&&(t.$$path="/"+t.$$path)}function nn(e,t){return 0===t.indexOf(e)?t.substr(e.length):void 0}function rn(e){var t=e.indexOf("#");return-1==t?e:e.substr(0,t)}function on(e){return e.substr(0,rn(e).lastIndexOf("/")+1)}function an(e){return e.substring(0,e.indexOf("/",e.indexOf("//")+2))}function sn(e,t){this.$$html5=!0,t=t||"";var i=on(e);en(e,this,e),this.$$parse=function(t){var n=nn(i,t);if(!b(n))throw Gi("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',t,i);tn(n,this,e),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var e=K(this.$$search),t=this.$$hash?"#"+X(this.$$hash):"";this.$$url=Jt(this.$$path)+(e?"?"+e:"")+t,this.$$absUrl=i+this.$$url.substr(1)},this.$$rewrite=function(r){var o,a;return(o=nn(e,r))!==n?(a=o,(o=nn(t,o))!==n?i+(nn("/",o)||o):e+a):(o=nn(i,r))!==n?i+o:i==r+"/"?i:void 0}}function cn(e,t){var n=on(e);en(e,this,e),this.$$parse=function(i){function r(e,t,n){var i,r=/^\/?.*?:(\/.*)/;return 0===t.indexOf(n)&&(t=t.replace(n,"")),r.exec(t)?e:(i=r.exec(e),i?i[1]:e)}var o=nn(e,i)||nn(n,i),a="#"==o.charAt(0)?nn(t,o):this.$$html5?o:"";if(!b(a))throw Gi("ihshprfx",'Invalid url "{0}", missing hash prefix "{1}".',i,t);tn(a,this,e),this.$$path=r(this.$$path,a,e),this.$$compose()},this.$$compose=function(){var n=K(this.$$search),i=this.$$hash?"#"+X(this.$$hash):"";this.$$url=Jt(this.$$path)+(n?"?"+n:"")+i,this.$$absUrl=e+(this.$$url?t+this.$$url:"")},this.$$rewrite=function(t){return rn(e)==rn(t)?t:void 0}}function ln(e,t){this.$$html5=!0,cn.apply(this,argumen
ui=d((/msie (\d+)/.exec(ai(navigator.userAgent))||[])[1]),isNaN(ui)&&(ui=d((/trident\/.*; rv:(\d+)/.exec(ai(navigator.userAgent))||[])[1])),h.$inject=[],g.$inject=[];var wi=function(){return String.prototype.trim?function(e){return b(e)?e.trim():e}:function(e){return b(e)?e.replace(/^\s\s*/,"").replace(/\s\s*$/,""):e}}();hi=9>ui?function(e){return e=e.nodeName?e:e[0],e.scopeName&&"HTML"!=e.scopeName?si(e.scopeName+":"+e.nodeName):e.nodeName}:function(e){return e.nodeName?e.nodeName:e[0].nodeName};var $i=/[A-Z]/g,Si={full:"1.2.9",major:1,minor:2,dot:9,codeName:"enchanted-articulacy"},Ci=pt.cache={},ki=pt.expando="ng-"+(new Date).getTime(),Mi=1,xi=e.document.addEventListener?function(e,t,n){e.addEventListener(t,n,!1)}:function(e,t,n){e.attachEvent("on"+t,n)},Ti=e.document.removeEventListener?function(e,t,n){e.removeEventListener(t,n,!1)}:function(e,t,n){e.detachEvent("on"+t,n)},Ei=/([\:\-\_]+(.))/g,Ai=/^moz([A-Z])/,Ii=i("jqLite"),Di=pt.prototype={ready:function(n){function i(){r||(r=!0,n())}var r=!1;"complete"===t.readyState?setTimeout(i):(this.on("DOMContentLoaded",i),pt(e).on("load",i))},toString:function(){var e=[];return o(this,function(t){e.push(""+t)}),"["+e.join(", ")+"]"},eq:function(e){return pi(e>=0?this[e]:this[this.length+e])},length:0,push:mi,sort:[].sort,splice:[].splice},Pi={};o("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(e){Pi[ai(e)]=e});var Ni={};o("input,select,option,textarea,button,form,details".split(","),function(e){Ni[si(e)]=!0}),o({data:yt,inheritedData:St,scope:function(e){return pi(e).data("$scope")||St(e.parentNode||e,["$isolateScope","$scope"])},isolateScope:function(e){return pi(e).data("$isolateScope")||pi(e).data("$isolateScopeNoTemplate")},controller:$t,injector:function(e){return St(e,"$injector")},removeAttr:function(e,t){e.removeAttribute(t)},hasClass:vt,css:function(e,t,i){if(t=lt(t),!v(i)){var r;return 8>=ui&&(r=e.currentStyle&&e.currentStyle[t],""===r&&(r="auto")),r=r||e.style[t],8>=ui&&(r=""===r?n:r),r}e.style[t]=i},attr:function(e,t,i){var r=ai(t);if(Pi[r]){if(!v(i))return e[t]||(e.attributes.getNamedItem(t)||h).specified?r:n;i?(e[t]=!0,e.setAttribute(t,r)):(e[t]=!1,e.removeAttribute(r))}else if(v(i))e.setAttribute(t,i);else if(e.getAttribute){var o=e.getAttribute(t,2);return null===o?n:o}},prop:function(e,t,n){return v(n)?void(e[t]=n):e[t]},text:function(){function e(e,n){var i=t[e.nodeType];return y(n)?i?e[i]:"":void(e[i]=n)}var t=[];return 9>ui?(t[1]="innerText",t[3]="nodeValue"):t[1]=t[3]="textContent",e.$dv="",e}(),val:function(e,t){if(y(t)){if("SELECT"===hi(e)&&e.multiple){var n=[];return o(e.options,function(e){e.selected&&n.push(e.value||e.text)}),0===n.length?null:n}return e.value}e.value=t},html:function(e,t){if(y(t))return e.innerHTML;for(var n=0,i=e.childNodes;n<i.length;n++)ft(i[n]);e.innerHTML=t},empty:Ct},function(e,t){pt.prototype[t]=function(t,i){var r,o;if(e!==Ct&&(2==e.length&&e!==vt&&e!==$t?t:i)===n){if(_(t)){for(r=0;r<this.length;r++)if(e===yt)e(this[r],t);else for(o in t)e(this[r],o,t[o]);return this}for(var a=e.$dv,s=a===n?Math.min(this.length,1):this.length,c=0;s>c;c++){var l=e(this[c],t,i);a=a?a+l:l}return a}for(r=0;r<this.length;r++)e(this[r],t,i);return this}}),o({removeData:gt,dealoc:ft,on:function lo(e,n,i,r){if(v(r))throw Ii("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");var a=mt(e,"events"),s=mt(e,"handle");a||mt(e,"events",a={}),s||mt(e,"handle",s=Mt(e,a)),o(n.split(" "),function(n){var r=a[n];if(!r){if("mouseenter"==n||"mouseleave"==n){var o=t.body.contains||t.body.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1};a[n]=[];var c={mouseleave:"mouseout",mouseenter:"mouseover"};lo(e,c[n],function(e){var t=this,i=e.relatedTarget;(!i||i!==t&&!o(t,i))&&s(e,n)})}else xi(e,n,s),a[n]=[];r=a[n]}r.push(i)})},off:ht,one:function(e,t,n){e=pi(e),e.on(t,functio
}else E=L===h(t,O);U=U||E}D=u(t,O),D=v(D)?D:"",n.push({id:y?y(t,O):d?F[T]:T,label:D,selected:E})}for(_||(w||null===L?P[""].unshift({id:"",label:"",selected:!U}):U||P[""].unshift({id:"?",label:"",selected:!0})),x=0,b=N.length;b>x;x++){for(e=N[x],n=P[e],k.length<=x?(r={element:C.clone().attr("label",e),label:n.label},c=[r],k.push(c),o.append(r.element)):(c=k[x],r=c[0],r.label!=e&&r.element.attr("label",r.label=e)),A=null,T=0,M=n.length;M>T;T++)i=n[T],(l=c[T+1])?(A=l.element,l.label!==i.label&&A.text(l.label=i.label),l.id!==i.id&&A.val(l.id=i.id),A[0].selected!==i.selected&&A.prop("selected",l.selected=i.selected)):(""===i.id&&w?I=w:(I=$.clone()).val(i.id).attr("selected",i.selected).text(i.label),c.push(l={element:I,label:i.label,id:i.id,selected:i.selected}),A?A.after(I):r.element.append(I),A=I);for(T++;c.length>T;)c.pop().element.remove()}for(;k.length>x;)k.pop()[0].element.remove()}var l;if(!(l=b.match(r)))throw ro("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",b,V(o));var u=i(l[2]||l[1]),p=l[4]||l[6],d=l[5],f=i(l[3]||""),h=i(l[2]?l[1]:p),g=i(l[7]),m=l[8],y=m?i(l[8]):null,k=[[{element:o,label:""}]];w&&(e(w)(t),w.removeClass("ng-scope"),w.remove()),o.empty(),o.on("change",function(){t.$apply(function(){var e,i,r,a,c,l,u,f,m,v=g(t)||[],b={};if(_){for(r=[],l=0,f=k.length;f>l;l++)for(e=k[l],c=1,u=e.length;u>c;c++)if((a=e[c].element)[0].selected){if(i=a.val(),d&&(b[d]=i),y)for(m=0;m<v.length&&(b[p]=v[m],y(t,b)!=i);m++);else b[p]=v[i];r.push(h(t,b))}}else if(i=o.val(),"?"==i)r=n;else if(""===i)r=null;else if(y){for(m=0;m<v.length;m++)if(b[p]=v[m],y(t,b)==i){r=h(t,b);break}}else b[p]=v[i],d&&(b[d]=i),r=h(t,b);s.$setViewValue(r)})}),s.$render=c,t.$watch(c)}if(u[1]){for(var h,g=u[0],m=u[1],_=l.multiple,b=l.ngOptions,w=!1,$=pi(t.createElement("option")),C=pi(t.createElement("optgroup")),k=$.clone(),M=0,x=c.children(),T=x.length;T>M;M++)if(""===x[M].value){h=w=x.eq(M);break}g.init(m,w,k),_&&(m.$isEmpty=function(e){return!e||0===e.length}),b?f(s,c,m):_?d(s,c,m):p(s,c,m,g)}}}}],so=["$interpolate",function(e){var t={addOption:h,removeOption:h};return{restrict:"E",priority:100,compile:function(n,i){if(y(i.value)){var r=e(n.text(),!0);r||i.$set("value",n.text())}return function(e,n,i){var o="$selectController",a=n.parent(),s=a.data(o)||a.parent().data(o);s&&s.databound?n.prop("selected",!1):s=t,r?e.$watch(r,function(e,t){i.$set("value",e),e!==t&&s.removeOption(t),s.addOption(e)}):s.addOption(i.value),n.on("$destroy",function(){s.removeOption(i.value)})}}}}],co=m({restrict:"E",terminal:!0});et(),st(_i),pi(t).ready(function(){Y(t,Q)})}(window,document),!angular.$$csp()&&angular.element(document).find("head").prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}ng\\:form{display:block;}</style>'),function(e,t){"use strict";function n(){function e(e,n){return t.extend(new(t.extend(function(){},{prototype:e})),n)}function n(e,t){var n=t.caseInsensitiveMatch,i={originalPath:e,regexp:e},r=i.keys=[];return e=e.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)([\?|\*])?/g,function(e,t,n,i){var o="?"===i?i:null,a="*"===i?i:null;return r.push({name:n,optional:!!o}),t=t||"",""+(o?"":t)+"(?:"+(o?t:"")+(a&&"(.+?)"||"([^/]+)")+(o||"")+")"+(o||"")}).replace(/([\/$\*])/g,"\\$1"),i.regexp=new RegExp("^"+e+"$",n?"i":""),i}var i={};this.when=function(e,r){if(i[e]=t.extend({reloadOnSearch:!0},r,e&&n(e,r)),e){var o="/"==e[e.length-1]?e.substr(0,e.length-1):e+"/";i[o]=t.extend({redirectTo:e},n(o,r))}return this},this.otherwise=function(e){return this.when(null,e),this},this.$get=["$rootScope","$location","$routeParams","$q","$injector","$http","$templateCache","$sce",function(n,r,o,a,s,c,l,u){function p(e,t){var n=t.keys,i={};if(!t.regexp)return null;var r=t.regexp.exec(e);if(!r)return null;for(var o=1,a=r.length;a>o;++o){var s=n[o-1],c="string"==typeof r[o]?decodeURIComponent(r[o]):r[o];s&&c&&(i[s.name]=c)}return i}function d(){var e=f(),i=m.current;e&&i&&e.$$route===i.$$ro
}]),angular.module("template/modal/backdrop.html",[]).run(["$templateCache",function(e){e.put("template/modal/backdrop.html",'<div class="modal-backdrop fade" ng-class="{in: animate}" ng-style="{\'z-index\': 1040 + index*10 + 1}"></div>')}]),angular.module("template/modal/window.html",[]).run(["$templateCache",function(e){e.put("template/modal/window.html",'<div tabindex="-1" class="modal fade {{ windowClass }}" ng-class="{in: animate}" ng-style="{\'z-index\': 1050 + index*10, display: \'block\'}" ng-click="close($event)">\n <div class="modal_prev_wrap hidden-xs hidden-sm" ng-show="nav.hasPrev" ng-click="nav.prev($event)">\n <div class="modal_prev"></div>\n </div>\n <div class="modal_close_wrap hidden-xs hidden-sm" ng-click="close($event)">\n <div class="modal_close"></div>\n </div>\n <div class="modal-dialog"><div class="modal-content" ng-transclude></div></div>\n</div>')}]),angular.module("template/tooltip/tooltip-html-unsafe-popup.html",[]).run(["$templateCache",function(e){e.put("template/tooltip/tooltip-html-unsafe-popup.html",'<div class="tooltip {{placement}}" ng-class="{ in: isOpen(), fade: animation() }">\n <div class="tooltip-arrow"></div>\n <div class="tooltip-inner" bind-html-unsafe="content"></div>\n</div>\n')}]),angular.module("template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function(e){e.put("template/tooltip/tooltip-popup.html",'<div class="tooltip {{placement}}" ng-class="{ in: isOpen(), fade: animation() }">\n <div class="tooltip-arrow"></div>\n <div class="tooltip-inner" ng-bind="content"></div>\n</div>\n')}]),function(){"use strict";var e=angular.module("pasvaz.bindonce",[]);e.directive("bindonce",function(){var e=function(e){if(e&&0!==e.length){var t=angular.lowercase(""+e);e=!("f"===t||"0"===t||"false"===t||"no"===t||"n"===t||"[]"===t)}else e=!1;return e},t=parseInt((/msie (\d+)/.exec(angular.lowercase(navigator.userAgent))||[])[1],10);isNaN(t)&&(t=parseInt((/trident\/.*; rv:(\d+)/.exec(angular.lowercase(navigator.userAgent))||[])[1],10));var n={restrict:"AM",controller:["$scope","$element","$attrs","$interpolate",function(n,i,r,o){var a=function(t,n,i){var r="show"===n?"":"none",o="hide"===n?"":"none";t.css("display",e(i)?r:o)},s=function(e,t){if(angular.isObject(t)&&!angular.isArray(t)){var n=[];angular.forEach(t,function(e,t){e&&n.push(t)}),t=n}t&&e.addClass(angular.isArray(t)?t.join(" "):t)},c=function(e,t){e.transclude(t,function(t){var n=e.element.parent(),i=e.element&&e.element[e.element.length-1],r=n&&n[0]||i&&i.parentNode,o=i&&i.nextSibling||null;angular.forEach(t,function(e){r.insertBefore(e,o)})})},l={watcherRemover:void 0,binders:[],group:r.boName,element:i,ran:!1,addBinder:function(e){this.binders.push(e),this.ran&&this.runBinders()},setupWatcher:function(e){var t=this;this.watcherRemover=n.$watch(e,function(e){void 0!==e&&(t.removeWatcher(),t.checkBindonce(e))},!0)},checkBindonce:function(e){var t=this,n=e.$promise?e.$promise.then:e.then;"function"==typeof n?n(function(){t.runBinders()}):t.runBinders()},removeWatcher:function(){void 0!==this.watcherRemover&&(this.watcherRemover(),this.watcherRemover=void 0)},runBinders:function(){for(;this.binders.length>0;){var n=this.binders.shift();if(!this.group||this.group==n.group){var i=n.scope.$eval(n.interpolate?o(n.value):n.value);switch(n.attr){case"boIf":e(i)&&c(n,n.scope.$new());break;case"boSwitch":var r,l=n.controller[0];(r=l.cases["!"+i]||l.cases["?"])&&(n.scope.$eval(n.attrs.change),angular.forEach(r,function(e){c(e,n.scope.$new())}));break;case"boSwitchWhen":var u=n.controller[0];u.cases["!"+n.attrs.boSwitchWhen]=u.cases["!"+n.attrs.boSwitchWhen]||[],u.cases["!"+n.attrs.boSwitchWhen].push({transclude:n.transclude,element:n.element});break;case"boSwitchDefault":var u=n.controller[0];u.cases["?"]=u.cases["?"]||[],u.cases["?"].push({transclude:n.transclude,element:n.element});break;case"hide":case"show":a(n.element,n.attr,i);break;case"class":s(n.element,i);break;case"text":n.element.text(i);break;case"html":n.element.html(i);break;case"style":n.element.css(i);break;case"src":n.element.attr(n.attr,i),t&&n
}}return this.q()};var S,C,k=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],M=d?new Uint16Array(k):k,x=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258],T=d?new Uint16Array(x):x,E=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],A=d?new Uint8Array(E):E,I=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],D=d?new Uint16Array(I):I,P=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],N=d?new Uint8Array(P):P,L=new(d?Uint8Array:Array)(288);for(S=0,C=L.length;C>S;++S)L[S]=143>=S?8:255>=S?9:279>=S?7:8;var B,F,O=r(L),U=new(d?Uint8Array:Array)(30);for(B=0,F=U.length;F>B;++B)U[B]=5;var R=r(U);o.prototype.l=function(e,t){var n=this.b,i=this.a;this.r=e;for(var r,o,c,l,u=n.length-258;256!==(r=s(this,e));)if(256>r)i>=u&&(this.a=i,n=this.e(),i=this.a),n[i++]=r;else for(o=r-257,l=T[o],0<A[o]&&(l+=a(this,A[o])),r=s(this,t),c=D[r],0<N[r]&&(c+=a(this,N[r])),i>=u&&(this.a=i,n=this.e(),i=this.a);l--;)n[i]=n[i++-c];for(;8<=this.d;)this.d-=8,this.c--;this.a=i},o.prototype.C=function(e,t){var n=this.b,i=this.a;this.r=e;for(var r,o,c,l,u=n.length;256!==(r=s(this,e));)if(256>r)i>=u&&(n=this.e(),u=n.length),n[i++]=r;else for(o=r-257,l=T[o],0<A[o]&&(l+=a(this,A[o])),r=s(this,t),c=D[r],0<N[r]&&(c+=a(this,N[r])),i+l>u&&(n=this.e(),u=n.length);l--;)n[i]=n[i++-c];for(;8<=this.d;)this.d-=8,this.c--;this.a=i},o.prototype.e=function(){var e,t,n=new(d?Uint8Array:Array)(this.a-32768),i=this.a-32768,r=this.b;if(d)n.set(r.subarray(32768,n.length));else for(e=0,t=n.length;t>e;++e)n[e]=r[e+32768];if(this.i.push(n),this.n+=n.length,d)r.set(r.subarray(i,i+32768));else for(e=0;32768>e;++e)r[e]=r[i+e];return this.a=32768,r},o.prototype.D=function(e){var t,n,i,r,o=this.input.length/this.c+1|0,a=this.input,s=this.b;return e&&("number"==typeof e.t&&(o=e.t),"number"==typeof e.z&&(o+=e.z)),2>o?(n=(a.length-this.c)/this.r[2],r=258*(n/2)|0,i=r<s.length?s.length+r:s.length<<1):i=s.length*o,d?(t=new Uint8Array(i),t.set(s)):t=s,this.b=t},o.prototype.q=function(){var e,t,n,i,r,o=0,a=this.b,s=this.i,c=new(d?Uint8Array:Array)(this.n+(this.a-32768));if(0===s.length)return d?this.b.subarray(32768,this.a):this.b.slice(32768,this.a);for(t=0,n=s.length;n>t;++t)for(e=s[t],i=0,r=e.length;r>i;++i)c[o++]=e[i];for(t=32768,n=this.a;n>t;++t)c[o++]=a[t];return this.i=[],this.buffer=c},o.prototype.A=function(){var e,t=this.a;return d?this.w?(e=new Uint8Array(t),e.set(this.b.subarray(0,t))):e=this.b.subarray(0,t):(this.b.length>t&&(this.b.length=t),e=this.b),this.buffer=e},l.prototype.F=function(){return this.s||this.g(),this.m.slice()},l.prototype.g=function(){for(var t=this.input.length;this.c<t;){var r=new i,a=u,s=u,c=u,l=u,p=u,f=u,h=u,g=u,m=u,y=this.input,v=this.c;switch(r.u=y[v++],r.v=y[v++],(31!==r.u||139!==r.v)&&e(Error("invalid file signature:"+r.u+","+r.v)),r.p=y[v++],r.p){case 8:break;default:e(Error("unknown compression method: "+r.p))}if(r.h=y[v++],g=y[v++]|y[v++]<<8|y[v++]<<16|y[v++]<<24,r.H=new Date(1e3*g),r.N=y[v++],r.M=y[v++],0<(4&r.h)&&(r.I=y[v++]|y[v++]<<8,v+=r.I),0<(8&r.h)){for(h=[],f=0;0<(p=y[v++]);)h[f++]=String.fromCharCode(p);r.name=h.join("")}if(0<(16&r.h)){for(h=[],f=0;0<(p=y[v++]);)h[f++]=String.fromCharCode(p);r.J=h.join("")}0<(2&r.h)&&(r.B=65535&n(y,0,v),r.B!==(y[v++]|y[v++]<<8)&&e(Error("invalid header crc16"))),a=y[y.length-4]|y[y.length-3]<<8|y[y.length-2]<<16|y[y.length-1]<<24,y.length-v-4-4<512*a&&(l=a),s=new o(y,{index:v,bufferSize:l}),r.data=c=s.g(),v=s.c,r.K=m=(y[v++]|y[v++]<<8|y[v++]<<16|y[v++]<<24)>>>0,n(c,u,u)!==m&&e(Error("invalid CRC-32 checksum: 0x"+n(c,u,u).toString(16)+" / 0x"+m.toString(16))),r.L=a=(y[v++]|y[v++]<<8|y[v++]<<16|y[v++]<<24)>>>0,(4294967295&c.length)!==a&&e(Error("invalid input size: "+(4294967295&c.length)+" / "+a)),this.m.push(r),this.c=v}this.s=!0;var _,b,w,$=this.m,S=0,C=0;for(_=0,b=$.length;b>_;++_)C+=$[_].data.length;if(d)for(w=new Uint8Array(C),_=0;b>_;++_)w.set($[_].data,S),S+=$[_].data.length;else{for(w=[],_=0;b>_;++_)w[_]=$[_].data;w=Array.prototype.concat.apply([],w)}return w},t("
if(console.log(dT(),"PQ factorization start"),window.Worker){var a=new Worker("js/lib/pq_worker.js");a.onmessage=function(t){e.p=t.data[0],e.q=t.data[1],console.log(dT(),"PQ factorization done"),l(e)},a.onerror=function(e){console.log("Worker error",e,e.stack),n.reject(e)},a.postMessage(e.pq)}else{var s=pqPrimeFactorization(e.pq);e.p=s[0],e.q=s[1],console.log(dT(),"PQ factorization done"),l(e)}},function(e){console.log(dT(),"req_pq error",e.message),n.reject(e)}),a(function(){t.prepare()})}function l(e){var t=e.deferred;e.newNonce=new Array(32),n.nextBytes(e.newNonce);var i=new TLSerialization({mtproto:!0});i.storeObject({_:"p_q_inner_data",pq:e.pq,p:e.p,q:e.q,nonce:e.nonce,server_nonce:e.serverNonce,new_nonce:e.newNonce},"P_Q_inner_data","DECRYPTED_DATA");var r=sha1Hash(i.getBuffer()).concat(i.getBytes()),o=new TLSerialization({mtproto:!0});o.storeMethod("req_DH_params",{nonce:e.nonce,server_nonce:e.serverNonce,p:e.p,q:e.q,public_key_fingerprint:e.publicKey.fingerprint,encrypted_data:rsaEncrypt(e.publicKey,r)}),console.log(dT(),"Send req_DH_params"),s(e.dcID,o.getBuffer()).then(function(n){var i=n.data,r=i.fetchObject("Server_DH_Params","RESPONSE");if("server_DH_params_fail"!=r._&&"server_DH_params_ok"!=r._)return t.reject(new Error("Server_DH_Params response invalid: "+r._)),!1;if(!bytesCmp(e.nonce,r.nonce))return t.reject(new Error("Server_DH_Params nonce mismatch")),!1;if(!bytesCmp(e.serverNonce,r.server_nonce))return t.reject(new Error("Server_DH_Params server_nonce mismatch")),!1;if("server_DH_params_fail"==r._){var o=sha1Hash(e.newNonce).slice(-16);return bytesCmp(o,r.new_nonce_hash)?(t.reject(new Error("server_DH_params_fail")),!1):(t.reject(new Error("server_DH_params_fail new_nonce_hash mismatch")),!1)}try{u(e,r.encrypted_answer)}catch(a){return t.reject(a),!1}p(e)},function(e){t.reject(e)})}function u(e,t){e.localTime=tsNow(),e.tmpAesKey=sha1Hash(e.newNonce.concat(e.serverNonce)).concat(sha1Hash(e.serverNonce.concat(e.newNonce)).slice(0,12)),e.tmpAesIv=sha1Hash(e.serverNonce.concat(e.newNonce)).slice(12).concat(sha1Hash([].concat(e.newNonce,e.newNonce)),e.newNonce.slice(0,4));var n=aesDecrypt(t,e.tmpAesKey,e.tmpAesIv),r=n.slice(0,20),o=n.slice(20),a=bytesToArrayBuffer(o),s=new TLDeserialization(a,{mtproto:!0}),c=s.fetchObject("Server_DH_inner_data");if("server_DH_inner_data"!=c._)throw new Error("server_DH_inner_data response invalid: "+constructor);if(!bytesCmp(e.nonce,c.nonce))throw new Error("server_DH_inner_data nonce mismatch");if(!bytesCmp(e.serverNonce,c.server_nonce))throw new Error("server_DH_inner_data serverNonce mismatch");console.log(dT(),"Done decrypting answer"),e.g=c.g,e.dhPrime=c.dh_prime,e.gA=c.g_a,e.serverTime=c.server_time,e.retry=0;var l=s.getOffset();if(!bytesCmp(r,sha1Hash(o.slice(0,l))))throw new Error("server_DH_inner_data SHA1-hash mismatch");i.applyServerTime(e.serverTime,e.localTime)}function p(e){var t=e.deferred;e.b=new Array(256),n.nextBytes(e.b);var i=new BigInteger(e.b),r=new BigInteger(e.dhPrime),o=bytesFromBigInt(bigint(e.g).modPow(i,r)),a=new TLSerialization({mtproto:!0});a.storeObject({_:"client_DH_inner_data",nonce:e.nonce,server_nonce:e.serverNonce,retry_id:[0,e.retry++],g_b:o},"Client_DH_Inner_Data");var c=sha1Hash(a.getBuffer()).concat(a.getBytes()),l=aesEncrypt(c,e.tmpAesKey,e.tmpAesIv),u=new TLSerialization({mtproto:!0});u.storeMethod("set_client_DH_params",{nonce:e.nonce,server_nonce:e.serverNonce,encrypted_data:l}),console.log(dT(),"Send set_client_DH_params"),s(e.dcID,u.getBuffer()).then(function(n){var i=n.data,r=i.fetchObject("Set_client_DH_params_answer");if("dh_gen_ok"!=r._&&"dh_gen_retry"!=r._&&"dh_gen_fail"!=r._)return t.reject(new Error("Set_client_DH_params_answer response invalid: "+r._)),!1;if(!bytesCmp(e.nonce,r.nonce))return t.reject(new Error("Set_client_DH_params_answer nonce mismatch")),!1;if(!bytesCmp(e.serverNonce,r.server_nonce))return t.reject(new Error("Set_client_DH_params_answer server_nonce mismatch")),!1;var o=new BigInteger(e.b),a=new BigInteger(e.dhPrime),s=bytesFromBigInt(new BigInteger(e.gA).modPow(o,a)),c=sha1Hash(s),l=c.slice(0,8),u=c
})}var M,x,T={},E={},A=c.createIndex();return e.openUser=b,e.$on("apiUpdate",function(t,n){switch(n._){case"updateUserStatus":var i=n.user_id,r=T[i];r&&(r.status=n.status,r.sortStatus=n.status&&(n.status.expires||n.status.was_online)||0,e.$broadcast("user_update",i));break;case"updateUserPhoto":var i=n.user_id;T[i]&&(safeReplaceObject(T[i].photo,n.photo),void 0!==E[i]&&safeReplaceObject(E[i],n.photo&&n.photo.photo_small||{empty:!0}),e.$broadcast("user_update",i));break;case"updateContactLink":C(n.user_id,"contacts.myLinkContact"==n.my_link._)}}),{getContacts:p,saveApiUsers:d,saveApiUser:f,getUser:h,getUserInput:v,getUserPhoto:m,getUserString:y,getUserSearchText:u,hasUser:g,importContact:w,importContacts:$,deleteContacts:S,wrapForFull:_,openUser:b,openImportContact:k}}]).service("PhonebookContactsService",["$q","$modal","$sce",function(e,t,n){function i(){return window.navigator&&window.navigator.mozContacts&&window.navigator.mozContacts.getAll}function r(){return t.open({templateUrl:"partials/phonebook_modal.html",controller:"PhonebookModalController",windowClass:"phonebook_modal_window"})}function o(){if(a)return a;var t=e.defer(),i=[],r=window.navigator.mozContacts.getAll({}),o=0;return r.onsuccess=function(){if(this.result){var e={id:o,first_name:(this.result.givenName||[]).join(" "),last_name:(this.result.familyName||[]).join(" "),phones:[]};if(void 0!==this.result.tel)for(var r=0;r<this.result.tel.length;r++)e.phones.push(this.result.tel[r].value);e.photo=this.result.photo?URL.createObjectURL(this.result.photo[0]):"img/placeholders/UserAvatar"+(Math.abs(o)%8+1)+"@2x.png",e.photo=n.trustAsResourceUrl(e.photo),o++,i.push(e)}return!this.result||o>=1e3?void t.resolve(i):void this.continue()},r.onerror=function(e){console.log("phonebook error",e,e.type,e.message),t.reject(e)},a=t.promise}var a;return{isAvailable:i,openPhonebookImport:r,getPhonebookContacts:o}}]).service("AppChatsManager",["$rootScope","$modal","MtpApiFileManager","MtpApiManager","AppUsersManager","RichTextProcessor",function(e,t,n,i,r,o){function a(e){angular.forEach(e,s)}function s(e){angular.isObject(e)&&(e.rTitle=o.wrapRichText(e.title,{noLinks:!0,noLinebreaks:!0})||"DELETED",void 0===h[e.id]?h[e.id]=e:safeReplaceObject(h[e.id],e),void 0!==g[e.id]&&safeReplaceObject(g[e.id],e&&e.photo&&e.photo.photo_small||{empty:!0}))}function c(e){return h[e]||{id:e,deleted:!0}}function l(e){return angular.isObject(h[e])}function u(e,t){var n=c(e);return void 0===g[e]&&(g[e]=n&&n.photo&&n.photo.photo_small||{empty:!0}),{placeholder:"img/placeholders/"+t+"Avatar"+(Math.abs(e)%4+1)+"@2x.png",location:g[e]}}function p(e){c(e);return"g"+e}function d(e,t){var n=angular.copy(t),o=c(e);return n.participants&&"chatParticipants"==n.participants._&&i.getUserID().then(function(e){angular.forEach(n.participants.participants,function(t){t.user=r.getUser(t.user_id),t.userPhoto=r.getUserPhoto(t.user_id,"User"),t.inviter=r.getUser(t.inviter_id),t.canKick=e!=t.user_id&&(e==n.participants.admin_id||e==t.inviter_id)})}),n.thumb={placeholder:"img/placeholders/GroupAvatar"+(Math.abs(e)%4+1)+"@2x.png",location:o&&o.photo&&o.photo.photo_small,width:120,height:120,size:0},n.peerString=p(e),n.chat=o,n}function f(n){var i=e.$new();i.chatID=n;t.open({templateUrl:"partials/chat_modal.html",controller:"ChatModalController",windowClass:"chat_modal_window page_modal",scope:i})}var h={},g={};return e.openChat=f,{saveApiChats:a,saveApiChat:s,getChat:c,getChatPhoto:u,getChatString:p,hasChat:l,wrapForFull:d,openChat:f}}]).service("AppPeersManager",["AppUsersManager","AppChatsManager",function(e,t){return{getInputPeer:function(e){var t="u"==e.charAt(0),n=e.substr(1).split("_");return t?{_:"inputPeerForeign",user_id:n[0],access_hash:n[1]}:{_:"inputPeerChat",chat_id:n[0]}},getInputPeerByID:function(t){return t>0?{_:"inputPeerForeign",user_id:t,access_hash:e.getUser(t).access_hash||0}:0>t?{_:"inputPeerChat",chat_id:-t}:void 0},getPeerSearchText:function(n){var i;if(n>0)i=e.getUserSearchText(n);else if(0>n){var r=t.getChat(-n);i=r.title||""}return i},getOutputPeer:function(e){return e>0?{_:"peerUser",use
break;case"updateShortChatMessage":if(!n.hasUser(e.from_id)||!i.hasChat(e.chat_id)){console.log("User or chat not found",e.from_id,e.chat_id,"getDiff"),s();break}u({_:"updateNewMessage",message:{_:"message",id:e.id,from_id:e.from_id,to_id:r.getOutputPeer(-e.chat_id),out:!1,unread:!0,date:e.date,message:e.message,media:{_:"messageMediaEmpty"}},pts:e.pts});break;case"updatesCombined":case"updates":n.saveApiUsers(e.users),i.saveApiChats(e.chats);for(var t,c,l,t=0;t<e.updates.length;t++)switch(c=e.updates[t],c._){case"updateNewMessage":if(l=c.message,l.from_id&&!n.hasUser(l.from_id))return console.log("User not found",l.from_id,"getDiff"),s(),!1;if(l.to_id.chat_id&&!i.hasChat(l.to_id.chat_id))return console.log("Chat not found",l.to_id.chat_id,"getDiff"),s(),!1}angular.forEach(e.updates,function(e){u(e)});break;default:console.warn(dT(),"Unknown update message",e)}return a(),h&&g.seq>=h.seqAwaiting&&(console.log(dT(),"cancel pending getDiff",h.seqAwaiting),clearTimeout(h.timeout),h=!1),!0}function l(){f=!0,h&&(clearTimeout(h.timeout),h=!1),o.invokeApi("updates.getDifference",{pts:g.pts,date:g.date,qts:0}).then(function(e){if("updates.differenceEmpty"==e._)return console.log(dT(),"apply empty diff",e.seq),g.date=e.date,g.seq=e.seq,f=!1,a(),!1;n.saveApiUsers(e.users),i.saveApiChats(e.chats),angular.forEach(e.other_updates,function(e){u(e)}),angular.forEach(e.new_messages,function(e){u({_:"updateNewMessage",message:e,pts:g.pts})});var t=e.intermediate_state||e.state;g.seq=t.seq,g.pts=t.pts,g.date=t.date,console.log(dT(),"apply diff",g.seq,g.pts),"updates.differenceSlice"==e._?l(!0):f=!1})}function u(t){t.pts&&(g.pts=t.pts),e.$broadcast("apiUpdate",t)}function p(e,t){return(t=t||e)?f?(console.log(dT(),"Seq decline",t),!1):t!=g.seq+1?(t>g.seq&&(console.warn(dT(),"Seq hole",t,h&&h.seqAwaiting),h||(h={seqAwaiting:t,timeout:setTimeout(function(){l()},5e3)})),!1):(g.seq=e,!0):!0}function d(){t.setUpdatesProcessor(c),o.invokeApi("updates.getState").then(function(e){g.seq=e.seq,g.pts=e.pts,g.date=e.date,f=!1})}var f=!0,h=!1,g={},m={};return{processUpdateMessage:c,attach:d}}]).service("RichTextProcessor",["$sce","$sanitize",function(e,t){function n(e){return e.replace(/&/g,"&amp;").replace(/([^\#-~| |!])/g,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function i(e){for(var t,n,i,r,o=0;o<Config.EmojiCategories.length;o++)if(r=Config.EmojiCategorySpritesheetDimens[o][1],t=Config.EmojiCategories[o].indexOf(e),t>-1)return n=Math.floor(t/r),i=t%r,{category:o,row:n,column:i};return console.error("emoji not found in spritesheet",e),null}function r(r,a){if(!r||!r.length)return"";a=a||{},r=r.replace(/\ufe0f/g,"",r);for(var d,f,h,g=r,m=[],y=!1;d=g.match(u);)m.push(n(g.substr(0,d.index))),d[1]?a.noLinks?m.push(n(d[0])):d[3]?m.push('<a href="',n("mailto:"+d[3]+d[4]),'" target="_blank">',n(d[3]+d[4]),"</a>"):m.push('<a href="',n(d[2]+"://"+d[4]),'" target="_blank">',n(d[2]+"://"+d[4]),"</a>"):d[5]?m.push(a.noLinebreaks?" ":"<br/>"):d[6]?(o=s[d[6]])&&(h=i(o))?(f=n(c[o][1][0]),y=!0,m.push('<span class="emoji emoji-',h.category,"-",l*h.column,"-",l*h.row,'" ','title="',f,'">',":",f,":</span>")):m.push(n(d[6])):d[8]&&(a.noLinks?m.push(d[7],n(d[8])):m.push(d[7],'<a href="#/im?q=',encodeURIComponent(d[8]),'">',n(d[8]),"</a>")),g=g.substr(d.index+d[0].length);if(m.push(n(g)),r=t(m.join("")),y&&(r=r.replace(/<span class="emoji emoji-(\d)-(\d+)-(\d+)"(.+?)<\/span>/g,'<span class="emoji emoji-spritesheet-$1" style="background-position: -$2px -$3px;" $4</span>')),!a.noLinks){var v=r.match(p),_=v&&v[1];if(_){var b=Config.Modes.chrome_packed?"webview":"iframe";r=r+'<div class="im_message_iframe_video"><'+b+' type="text/html" frameborder="0" src="http://www.youtube.com/embed/'+_+'?autoplay=0&amp;controls=2"></'+b+"></div>"}}return e.trustAs("html",r)}var o,a=[],s={},c=Config.Emoji,l=18;for(o in c)a.push(c[o][0]),s[c[o][0]]=o;var u=new RegExp("((?:(ftp|https?)://|(?:mailto:)?([A-Za-z0-9._%+-]+@))(\\S*\\.\\S*[^\\s.;,(){}<>\"']))|(\\n)|("+a.join("|")+")|(^|\\s)(#[A-Za-z0-9_.]{4,20})","i"),p=/(?:https?:\/\/)?(?:www\.)?youtu(?
s.confirm({type:"MESSAGE_DELETE"}).then(function(){r.deleteMessages([t])})},e.$on("history_delete",function(t,i){i.msgs[e.messageID]&&n.dismiss()})}]).controller("UserModalController",["$scope","$location","$rootScope","$modal","AppUsersManager","MtpApiManager","NotificationsManager","AppPhotosManager","AppMessagesManager","AppPeersManager","PeersSelectService","ErrorService",function(e,t,n,i,r,o,a,s,c,l,u,p){var d=r.getUserString(e.userID);e.user=r.getUser(e.userID),e.userPhoto=r.getUserPhoto(e.userID,"User"),e.settings={notifications:!0},o.invokeApi("users.getFullUser",{id:r.getUserInput(e.userID)}).then(function(t){r.saveApiUser(t.user),s.savePhoto(t.profile_photo),"photoEmpty"!=t.profile_photo._&&(e.userPhoto.id=t.profile_photo.id),a.savePeerSettings(e.userID,t.notify_settings),a.getPeerMuted(e.userID).then(function(t){e.settings.notifications=!t,e.$watch("settings.notifications",function(t,n){return t===n?!1:void a.getPeerSettings(e.userID).then(function(n){n.mute_until=t?0:2e9,a.updatePeerSettings(e.userID,n)})})})}),e.goToHistory=function(){n.$broadcast("history_focus",{peerString:d})},e.flushHistory=function(){p.confirm({type:"HISTORY_FLUSH"}).then(function(){c.flushHistory(l.getInputPeerByID(e.userID)).then(function(){e.goToHistory()})})},e.importContact=function(t){var o=n.$new();o.importContact={phone:e.user.phone,first_name:e.user.first_name,last_name:e.user.last_name},i.open({templateUrl:t?"partials/edit_contact_modal.html":"partials/import_contact_modal.html",controller:"ImportContactModalController",windowClass:"import_contact_modal_window page_modal",scope:o}).result.then(function(t){e.userID==t&&(e.user=r.getUser(e.userID),console.log(e.user))})},e.deleteContact=function(){r.deleteContacts([e.userID]).then(function(){e.user=r.getUser(e.userID),console.log(e.user)})},e.shareContact=function(){u.selectPeer({confirm_type:"SHARE_CONTACT_PEER"}).then(function(t){var i=l.getPeerID(t);c.sendOther(i,{_:"inputMediaContact",phone_number:e.user.phone,first_name:e.user.first_name,last_name:e.user.last_name,user_id:e.user.id}),n.$broadcast("history_focus",{peerString:t})})}}]).controller("ChatModalController",["$scope","$timeout","$rootScope","$modal","AppUsersManager","AppChatsManager","MtpApiManager","MtpApiFileManager","NotificationsManager","AppMessagesManager","AppPeersManager","ApiUpdatesManager","ContactsSelectService","ErrorService",function(e,t,n,i,r,o,a,s,c,l,u,p,d,f){function h(t){p.processUpdateMessage({_:"updates",users:t.users,chats:t.chats,seq:t.seq,updates:[{_:"updateNewMessage",message:t.message,pts:t.pts}]}),n.$broadcast("history_focus",{peerString:e.chatFull.peerString})}function g(t){t&&t.type&&0===t.type.indexOf("image")&&(e.photo.updating=!0,s.uploadFile(t).then(function(t){return a.invokeApi("messages.editChatPhoto",{chat_id:e.chatID,photo:{_:"inputChatUploadedPhoto",file:t,crop:{_:"inputPhotoCropAuto"}}}).then(function(e){h(e)})})["finally"](function(){e.photo.updating=!1}))}e.chatFull=o.wrapForFull(e.chatID,{}),a.invokeApi("messages.getFullChat",{chat_id:e.chatID}).then(function(t){o.saveApiChats(t.chats),r.saveApiUsers(t.users),e.chatFull=o.wrapForFull(e.chatID,t.full_chat),e.$broadcast("ui_height")}),e.settings={notifications:!0},c.getPeerMuted(-e.chatID).then(function(t){e.settings.notifications=!t,e.$watch("settings.notifications",function(t,n){return t===n?!1:void c.getPeerSettings(-e.chatID).then(function(n){n.mute_until=t?0:2e9,c.updatePeerSettings(-e.chatID,n)})})}),e.leaveGroup=function(){a.invokeApi("messages.deleteChatUser",{chat_id:e.chatID,user_id:{_:"inputUserSelf"}}).then(h)},e.returnToGroup=function(){a.invokeApi("messages.addChatUser",{chat_id:e.chatID,user_id:{_:"inputUserSelf"}}).then(h)},e.inviteToGroup=function(){var t=[];angular.forEach(e.chatFull.participants.participants,function(e){t.push(e.user_id)}),d.selectContacts({disabled:t}).then(function(t){angular.forEach(t,function(t){a.invokeApi("messages.addChatUser",{chat_id:e.chatID,user_id:{_:"inputUserContact",user_id:t},fwd_limit:100}).then(function(e){p.processUpdateMessage({_:"updates",seq:e.seq,users:e.users,chats
}]),angular.module("myApp.directives",["myApp.filters"]).directive("myHead",function(){return{restrict:"AE",scope:!0,templateUrl:"partials/head.html"}}).directive("myDialog",function(){return{restrict:"AE",scope:!0,translude:!1,templateUrl:"partials/dialog.html"}}).directive("myMessage",function(){return{restrict:"AE",scope:!0,translude:!1,templateUrl:"partials/message.html"}}).directive("myDialogs",["$modalStack","$transition","$window","$timeout",function(e,t,n,i){function r(t,r,o){function a(t){if(!d&&e.getTop())return!0;if(36==t.keyCode&&!t.shiftKey&&!t.ctrlKey&&t.altKey){var n=$(c).find(".im_dialog_wrap a")[0];return n&&(n.click(),c.scrollTop=0,$(s).nanoScroller({flash:!0})),cancelEvent(t)}if(27==t.keyCode||9==t.keyCode&&t.shiftKey&&!t.ctrlKey&&!t.metaKey)return d||(l.focus(),l.value&&l.select()),cancelEvent(t);if(d&&13==t.keyCode){var n=$(c).find(".im_dialog_selected")[0]||$(c).find(".im_dialog_wrap a")[0];return n&&n.click(),cancelEvent(t)}if(38==t.keyCode||40==t.keyCode){var i=!t.shiftKey&&t.altKey;if(!i&&(!d||t.metaKey))return!0;var r,o=40==t.keyCode,n=!i&&$(c).find(".im_dialog_selected")[0]||$(c).find(".active a.im_dialog")[0],a=n&&n.parentNode;if(a){var r=n[o?"nextSibling":"previousSibling"];if(!r||!r.className||-1==r.className.indexOf("im_dialog_wrap")){var u=$(c).find(".im_dialog_wrap"),p=u.index(n.parentNode),f=p+(o?1:-1);r=u[f]}}else{var u=$(c).find(".im_dialog_wrap");r=o?u[0]:u[u.length-1]}if(i?r&&$(r).find("a")[0].click():(a&&r&&$(a).find("a").removeClass("im_dialog_selected"),r&&$(r).find("a").addClass("im_dialog_selected")),r){var h=r.offsetTop,g=r.offsetHeight,m=c.scrollTop,y=c.clientHeight;m>h?(c.scrollTop=h,$(s).nanoScroller({flash:!0})):h+g-y>m&&(c.scrollTop=h+g-y,$(s).nanoScroller({flash:!0}))}return cancelEvent(t)}}var s=$(".im_dialogs_wrap",r)[0],c=$(".im_dialogs_scrollable_wrap",r)[0],l=$(".im_dialogs_search_field",r)[0],u=$(".im_dialogs_panel",r)[0],p=$(".im_dialogs_tabs_wrap",r)[0],d=!1;$(l).on("focus blur",function(e){d="focus"==e.type,d||($(c).find(".im_dialog_selected").removeClass("im_dialog_selected"),l.value||t.$emit("ui_dialogs_search_clear"))}),t.$on("dialogs_search_toggle",function(){$(u).addClass("im_dialogs_panel_search"),t.$broadcast("ui_dialogs_search"),$(n).scrollTop(0),i(function(){l.focus()})}),t.$on("search_clear",function(){$(u).removeClass("im_dialogs_panel_search"),t.$broadcast("ui_dialogs_search")}),o.$observe("hasTabs",function(e){e="true"==e,$(p).toggle(e),t.$broadcast("ui_dialogs_tabs",e)}),$(document).on("keydown",a),t.$on("$destroy",function(){$(document).off("keydown",a)})}return{link:r}}]).directive("myDialogsList",["$window","$timeout",function(e,t){function n(n,i,r){function o(){return r.modal?($(i).css({height:$(e).height()-(Config.Navigator.mobile?100:200)}),void h()):(l&&l.offsetHeight||(l=$(".tg_page_head")[0]),p&&p.offsetHeight||(p=$(".im_page_footer")[0]),u&&u.offsetHeight||(u=$(".im_dialogs_panel")[0]),s&&s.offsetHeight||(s=$(".im_dialogs_col_wrap")[0]),$(i).css({height:$(e).height()-p.offsetHeight-(l?l.offsetHeight:44)-(u?u.offsetHeight:58)-parseInt($(s).css("paddingBottom")||0)}),void h())}var a=$(".im_dialogs_wrap",i)[0],s=$(".im_dialogs_col_wrap")[0],c=$(".im_dialogs_scrollable_wrap",i)[0],l=$(".tg_page_head")[0],u=$(".im_dialogs_panel")[0],p=$(".im_page_footer")[0],d=!1,f=!1;onContentLoaded(function(){$(a).nanoScroller({preventPageScrolling:!0,tabIndex:-1,iOSNativeScrolling:!0})});var h=function(){onContentLoaded(function(){$(a).nanoScroller()})};n.$on("ui_dialogs_prepend",h),n.$on("ui_dialogs_tabs",function(e,t){d=t,o()}),n.$on("ui_dialogs_search",o),n.$on("ui_dialogs_update",o),n.$on("ui_dialogs_append",function(){onContentLoaded(function(){h(),f=!1,t(function(){$(c).trigger("scroll")})})}),n.$on("ui_dialogs_change",function(){onContentLoaded(function(){h(),f=!1,t(function(){$(c).trigger("scroll")})})}),$(c).on("scroll",function(){!f&&c.scrollTop>=c.scrollHeight-c.clientHeight-300&&(n.$emit("dialogs_need_more"),f=!0)}),$(e).on("resize",o),o(),setTimeout(o,1e3)}return{link:n}}]).directive("myContactsList",["$window","$timeout",function(e){function t