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.

46 lines
1.2 MiB

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,a,o){for(;--o>=0;){var s=t*this[e++]+n[i]+a;a=Math.floor(s/67108864),n[i++]=67108863&s}return a}function am2(e,t,n,i,a,o){for(var s=32767&t,r=t>>15;--o>=0;){var l=32767&this[e],c=this[e++]>>15,d=r*l+c*s;l=s*l+((32767&d)<<15)+n[i]+(1073741823&a),a=(l>>>30)+(d>>>15)+r*c+(a>>>30),n[i++]=1073741823&l}return a}function am3(e,t,n,i,a,o){for(var s=16383&t,r=t>>14;--o>=0;){var l=16383&this[e],c=this[e++]>>14,d=r*l+c*s;l=s*l+((16383&d)<<14)+n[i]+a,a=(l>>28)+(d>>14)+r*c,n[i++]=268435455&l}return a}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 a=e.length,o=!1,s=0;--a>=0;){var r=8==i?255&e[a]:intAt(e,a);0>r?"-"==e.charAt(a)&&(o=!0):(o=!1,0==s?this[this.t++]=r:s+i>this.DB?(this[this.t-1]|=(r&(1<<this.DB-s)-1)<<s,this[this.t++]=r>>this.DB-s):this[this.t-1]|=r<<s,s+=i,s>=this.DB&&(s-=this.DB))}8==i&&0!=(128&e[0])&&n&&(this.s=-1,s>0&&(this[this.t-1]|=(1<<this.DB-s)-1<<s)),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,a=!1,o="",s=this.t,r=this.DB-s*this.DB%t;if(s-->0)for(r<this.DB&&(n=this[s]>>r)>0&&(a=!0,o=int2char(n));s>=0;)t>r?(n=(this[s]&(1<<r)-1)<<t-r,n|=this[--s]>>(r+=this.DB-t)):(n=this[s]>>(r-=t)&i,0>=r&&(r+=this.DB,--s)),n>0&&(a=!0),a&&(o+=int2char(n));return a?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&this.DM)}function bnpDLShiftTo(e,t){var n;for(n=this.t-1;n>=0;--n)t[n+e]=this[n];for(n=e-1;n>=0;--n)t[n]=0;t.t=this.t+e,t.s=this.s}function bnpDRShiftTo(e,t){for(var n=e;n<this.t;++n)t[n-e]=this[n];t.t=Math.max(this.t-e,0),t.s=this.s}function bnpLShiftTo(e,t){var n,i=e%this.DB,a=this.DB-i,o=(1<<a)-1,s=Math.floor(e/this.DB),r=this.s<<i&this.DM;for(n=this.t-1;n>=0;--n)t[n+s+1]=this[n]>>a|r,r=(this[n]&o)<<i;for(n=s-1;n>=0;--n)t[n]=0;t[s]=r,t.t=this.t+s+1,t.s=this.s,t.clamp()}function bnpRShiftTo(e,t){t.s=this.s;var n=Math.floor(e/this.DB);if(n>=this.t)return void(t.t=0);var i=e%this.DB,a=this.DB-i,o=(1<<i)-1;t[0]=this[n]>>i;for(var s=n+1;s<this.t;++s)t[s-n-1]|=(this[s]&o)<<a,t[s-n]=this[s]>>i;i>0&&(t[this.t-n-1]|=(this.s&o)<<a),t.t=this.t-n,t.clamp()}function bnpSubTo(e,t){for(var n=0,i=0,a=Math.min(e.t,this.t);a>n;)i+=this[n]-e[n],t[n++]=i&this.DM,i>>=this.DB;if(e.t<this.t){for(i-=e.s;n<this.t;)i+=this[n],t[n++]=i&this.DM,i>>=this.DB;i+=this.s}else{for(i+=this.s;n<e.t;)i-=e[n],t[n++]=i&this.DM,i>>=this.DB;i-=e.s}t.s=0>i?-1:0,-1>i?t[n++]=this.DV+i:i>0&&(t[n++]=i),t.t=n,t.clamp()}function bnpMultiplyTo(e,t){var n=this.abs(),i=e.abs(),a=n.t;for(t.t=a+i.t;--a>=0;)t[a]=0;for(a=0;a<i.t;++a)t[a+n.t]=n.am(0,i[a],t,a,0,n.t);t.s=0,t.clamp(),this.s!=e.s&&BigInteger.ZERO.subTo(t,t)}function bnpSquareTo(e){for(var t=this.abs(),n=e.t=2*t.t;--n>=0;)e[n]=0;for(n=0;n<t.t-1;++n){var i=t.a
return!1}function cancelEvent(e){return e=e||window.event,e&&(e=e.originalEvent||e,e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()),!1}function getScrollWidth(){var e=$("<div>").css({position:"absolute",width:100,height:100,overflow:"scroll",top:-9999}).appendTo($(document.body)),t=e[0].offsetWidth-e[0].clientWidth;return e.remove(),t}function onCtrlEnter(e,t){$(e).on("keydown",function(e){return 13==e.keyCode&&(e.ctrlKey||e.metaKey)?(t(),cancelEvent(e)):void 0})}function setFieldSelection(e,t,n){e=$(e)[0];try{if(e.focus(),(void 0===t||t===!1)&&(t=e.value.length),(void 0===n||n===!1)&&(n=t),e.createTextRange){var i=e.createTextRange();i.collapse(!0),i.moveEnd("character",n),i.moveStart("character",t),i.select()}else e.setSelectionRange&&e.setSelectionRange(t,n)}catch(a){}}function getFieldSelection(e){if(e.selectionStart)return e.selectionStart;if(!document.selection)return 0;var t="",n=document.selection.createRange(),i=n.text,a=n.duplicate(),o=0;try{a.moveToElementText(e)}catch(s){return 0}return n.text=i+t,o=a.text.indexOf(t),n.moveStart("character",-1),n.text="",o}function getRichValue(e){if(!e)return"";var t=[],n=[];return getRichElementValue(e,t,n),n.length&&t.push(n.join("")),t.join("\n")}function getRichValueWithCaret(e){if(!e)return[];var t,n,i=[],a=[],o=window.getSelection?window.getSelection():!1;if(o&&o.rangeCount){var s=o.getRangeAt(0);s.startContainer&&s.startContainer==s.endContainer&&s.startOffset==s.endOffset&&(t=s.startContainer,n=s.startOffset)}getRichElementValue(e,i,a,t,n),a.length&&i.push(a.join(""));var r=i.join("\n"),l=r.indexOf("");return-1!=l&&(r=r.substr(0,l)+r.substr(l+1)),[r,l]}function getRichElementValue(e,t,n,i,a){if(3!=e.nodeType){if(1==e.nodeType){var o,s=i===e,r="DIV"==e.tagName||"P"==e.tagName;r&&n.length||"BR"==e.tagName?(t.push(n.join("")),n.splice(0,n.length)):"IMG"==e.tagName&&e.alt&&n.push(e.alt),s&&!a&&n.push("");for(var o=e.firstChild;o;)getRichElementValue(o,t,n,i,a),o=o.nextSibling;s&&a&&n.push(""),r&&n.length&&(t.push(n.join("")),n.splice(0,n.length))}}else if(i===e){var l=e.nodeValue;n.push(l.substr(0,a)+""+l.substr(a))}else n.push(e.nodeValue)}function setRichFocus(e,t,n){if(e.focus(),!t||t.parentNode!=e||t.nextSibling||n||(e.removeChild(t),t=null),window.getSelection&&document.createRange){var i=document.createRange();t?i.selectNode(t):i.selectNodeContents(e),n||i.collapse(!1);var a=window.getSelection();a.removeAllRanges(),a.addRange(i)}else if(void 0!==document.body.createTextRange){var o=document.body.createTextRange();o.moveToElementText(t||e),n||o.collapse(!1),o.select()}}function getSelectedText(){var e=(window.getSelection&&window.getSelection()||document.getSelection&&document.getSelection()||document.selection&&document.selection.createRange().text||"").toString().replace(/^\s+|\s+$/g,"");return e}function scrollToNode(e,t,n){var i=t.offsetTop-15,a=t.offsetHeight+30,o=e.scrollTop,s=e.clientHeight;o>i?(e.scrollTop=i,$(n).nanoScroller({flash:!0})):i+a-s>o&&(e.scrollTop=i+a-s,$(n).nanoScroller({flash:!0}))}function onContentLoaded(e){setZeroTimeout(e)}function tsNow(e){var t=+new Date+(window.tsOffset||0);return e?Math.floor(t/1e3):t}function safeReplaceObject(e,t){for(var n in e)t.hasOwnProperty(n)||"$"==n.charAt(0)||delete e[n];for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])}function listMergeSorted(e,t){e=e||[],t=t||[];for(var n=angular.copy(e),i=e.length?e[e.length-1]:4294967295,a=0;a<t.length;a++)t[a]<i&&n.push(t[a]);return n}function listUniqSorted(e){e=e||[];for(var t=[],n=!1,i=0;i<e.length;i++)e[i]!==n&&t.push(e[i]),n=e[i];return t}function templateUrl(e){var t={confirm_modal:"desktop",error_modal:"desktop",media_modal_layout:"desktop",slider:"desktop",reply_message:"desktop",forwarded_messages:"desktop",chat_invite_link_modal:"desktop",reply_markup:"desktop",dialog_service:"desktop",channel_edit_modal:"desktop"},n=t[e]||(Config.Mobile?"mobile":"desktop");return"partials/"+n+"/"+e+".html"}function encodeEntities(e){return e.replace(/&/g,"&amp;").replace(/([^\#-~| |!])/g,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(/</
else for(o in e)a=t(e[o],o,i),null!=a&&l.push(a);return Z.apply([],l)},guid:1,proxy:function(e,t){var n,i,a;return"string"==typeof t&&(a=e[t],t=e,e=a),ae.isFunction(e)?(n=Y.call(arguments,2),i=function(){return e.apply(t||this,n.concat(Y.call(arguments)))},i.guid=e.guid=e.guid||ae.guid++,i):void 0},now:function(){return+new Date},support:ne}),ae.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){Q["[object "+t+"]"]=t.toLowerCase()});var ce=function(e){function t(e,t,n,i){var a,o,s,r,l,c,u,m,h,g;if((t?t.ownerDocument||t:B)!==D&&T(t),t=t||D,n=n||[],!e||"string"!=typeof e)return n;if(1!==(r=t.nodeType)&&9!==r)return[];if(N&&!i){if(a=ve.exec(e))if(s=a[1]){if(9===r){if(o=t.getElementById(s),!o||!o.parentNode)return n;if(o.id===s)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(s))&&L(t,o)&&o.id===s)return n.push(o),n}else{if(a[2])return Q.apply(n,t.getElementsByTagName(e)),n;if((s=a[3])&&w.getElementsByClassName&&t.getElementsByClassName)return Q.apply(n,t.getElementsByClassName(s)),n}if(w.qsa&&(!F||!F.test(e))){if(m=u=R,h=t,g=9===r&&e,1===r&&"object"!==t.nodeName.toLowerCase()){for(c=C(e),(u=t.getAttribute("id"))?m=u.replace(be,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",l=c.length;l--;)c[l]=m+p(c[l]);h=ye.test(e)&&d(t.parentNode)||t,g=c.join(",")}if(g)try{return Q.apply(n,h.querySelectorAll(g)),n}catch(f){}finally{u||t.removeAttribute("id")}}}return x(e.replace(le,"$1"),t,n,i)}function n(){function e(n,i){return t.push(n+" ")>k.cacheLength&&delete e[t.shift()],e[n+" "]=i}var t=[];return e}function i(e){return e[R]=!0,e}function a(e){var t=D.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),i=e.length;i--;)k.attrHandle[n[i]]=t}function s(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||K)-(~e.sourceIndex||K);if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function r(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return i(function(t){return t=+t,i(function(n,i){for(var a,o=e([],n.length,t),s=o.length;s--;)n[a=o[s]]&&(n[a]=!(i[a]=n[a]))})})}function d(e){return e&&typeof e.getElementsByTagName!==G&&e}function u(){}function p(e){for(var t=0,n=e.length,i="";n>t;t++)i+=e[t].value;return i}function m(e,t,n){var i=t.dir,a=n&&"parentNode"===i,o=q++;return t.first?function(t,n,o){for(;t=t[i];)if(1===t.nodeType||a)return e(t,n,o)}:function(t,n,s){var r,l,c=[j,o];if(s){for(;t=t[i];)if((1===t.nodeType||a)&&e(t,n,s))return!0}else for(;t=t[i];)if(1===t.nodeType||a){if(l=t[R]||(t[R]={}),(r=l[i])&&r[0]===j&&r[1]===o)return c[2]=r[2];if(l[i]=c,c[2]=e(t,n,s))return!0}}}function h(e){return e.length>1?function(t,n,i){for(var a=e.length;a--;)if(!e[a](t,n,i))return!1;return!0}:e[0]}function g(e,n,i){for(var a=0,o=n.length;o>a;a++)t(e,n[a],i);return i}function f(e,t,n,i,a){for(var o,s=[],r=0,l=e.length,c=null!=t;l>r;r++)(o=e[r])&&(!n||n(o,i,a))&&(s.push(o),c&&t.push(r));return s}function _(e,t,n,a,o,s){return a&&!a[R]&&(a=_(a)),o&&!o[R]&&(o=_(o,s)),i(function(i,s,r,l){var c,d,u,p=[],m=[],h=s.length,_=i||g(t||"*",r.nodeType?[r]:r,[]),v=!e||!i&&t?_:f(_,p,e,r,l),y=n?o||(i?e:h||a)?[]:s:v;if(n&&n(v,y,r,l),a)for(c=f(y,m),a(c,[],r,l),d=c.length;d--;)(u=c[d])&&(y[m[d]]=!(v[m[d]]=u));if(i){if(o||e){if(o){for(c=[],d=y.length;d--;)(u=y[d])&&c.push(v[d]=u);o(null,y=[],c,l)}for(d=y.length;d--;)(u=y[d])&&(c=o?te.call(i,u):p[d])>-1&&(i[c]=!(s[c]=u))}}else y=f(y===s?y.splice(h,y.length):y),o?o(null,s,y,l):Q.apply(s,y)})}function v(e){for(var t,n,i,a=e.length,o=k.relative[e[0].type],s=o||k.relative[" "],r=o?1:0,l=m(function(e){return e===t},s,!0),c=m(function(e){return te.call(t,e)>-1},s,!0),d=[function(e,n,i){return!o&&(i||n!==A)||((t=n).nodeType?l(e,n,i):c(e,n,i))}];a>r;r++)if(n=k.relative[e[r].type])d=[m(h(d),n)];else{if(n=k.filter[e[r].type].apply(null,e[r].matches),n[R]){for(i
a?p.splice(p.delegateCount++,0,u):p.push(u),ae.event.global[m]=!0);e=null}},remove:function(e,t,n,i,a){var o,s,r,l,c,d,u,p,m,h,g,f=ae.hasData(e)&&ae._data(e);if(f&&(d=f.events)){for(t=(t||"").match(ye)||[""],c=t.length;c--;)if(r=Fe.exec(t[c])||[],m=g=r[1],h=(r[2]||"").split(".").sort(),m){for(u=ae.event.special[m]||{},m=(i?u.delegateType:u.bindType)||m,p=d[m]||[],r=r[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=p.length;o--;)s=p[o],!a&&g!==s.origType||n&&n.guid!==s.guid||r&&!r.test(s.namespace)||i&&i!==s.selector&&("**"!==i||!s.selector)||(p.splice(o,1),s.selector&&p.delegateCount--,u.remove&&u.remove.call(e,s));l&&!p.length&&(u.teardown&&u.teardown.call(e,h,f.handle)!==!1||ae.removeEvent(e,m,f.handle),delete d[m])}else for(m in d)ae.event.remove(e,m+t[c],n,i,!0);ae.isEmptyObject(d)&&(delete f.handle,ae._removeData(e,"events"))}},trigger:function(t,n,i,a){var o,s,r,l,c,d,u,p=[i||he],m=te.call(t,"type")?t.type:t,h=te.call(t,"namespace")?t.namespace.split("."):[];if(r=d=i=i||he,3!==i.nodeType&&8!==i.nodeType&&!Ne.test(m+ae.event.triggered)&&(m.indexOf(".")>=0&&(h=m.split("."),m=h.shift(),h.sort()),s=m.indexOf(":")<0&&"on"+m,t=t[ae.expando]?t:new ae.Event(m,"object"==typeof t&&t),t.isTrigger=a?2:3,t.namespace=h.join("."),t.namespace_re=t.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:ae.makeArray(n,[t]),c=ae.event.special[m]||{},a||!c.trigger||c.trigger.apply(i,n)!==!1)){if(!a&&!c.noBubble&&!ae.isWindow(i)){for(l=c.delegateType||m,Ne.test(l+m)||(r=r.parentNode);r;r=r.parentNode)p.push(r),d=r;d===(i.ownerDocument||he)&&p.push(d.defaultView||d.parentWindow||e)}for(u=0;(r=p[u++])&&!t.isPropagationStopped();)t.type=u>1?l:c.bindType||m,o=(ae._data(r,"events")||{})[t.type]&&ae._data(r,"handle"),o&&o.apply(r,n),o=s&&r[s],o&&o.apply&&ae.acceptData(r)&&(t.result=o.apply(r,n),t.result===!1&&t.preventDefault());if(t.type=m,!a&&!t.isDefaultPrevented()&&(!c._default||c._default.apply(p.pop(),n)===!1)&&ae.acceptData(i)&&s&&i[m]&&!ae.isWindow(i)){d=i[s],d&&(i[s]=null),ae.event.triggered=m;try{i[m]()}catch(g){}ae.event.triggered=void 0,d&&(i[s]=d)}return t.result}},dispatch:function(e){e=ae.event.fix(e);var t,n,i,a,o,s=[],r=Y.call(arguments),l=(ae._data(this,"events")||{})[e.type]||[],c=ae.event.special[e.type]||{};if(r[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){for(s=ae.event.handlers.call(this,e,l),t=0;(a=s[t++])&&!e.isPropagationStopped();)for(e.currentTarget=a.elem,o=0;(i=a.handlers[o++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,n=((ae.event.special[i.origType]||{}).handle||i.handler).apply(a.elem,r),void 0!==n&&(e.result=n)===!1&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,i,a,o,s=[],r=t.delegateCount,l=e.target;if(r&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(a=[],o=0;r>o;o++)i=t[o],n=i.selector+" ",void 0===a[n]&&(a[n]=i.needsContext?ae(n,this).index(l)>=0:ae.find(n,this,null,[l]).length),a[n]&&a.push(i);a.length&&s.push({elem:l,handlers:a})}return r<t.length&&s.push({elem:this,handlers:t.slice(r)}),s},fix:function(e){if(e[ae.expando])return e;var t,n,i,a=e.type,o=e,s=this.fixHooks[a];for(s||(this.fixHooks[a]=s=Pe.test(a)?this.mouseHooks:De.test(a)?this.keyHooks:{}),i=s.props?this.props.concat(s.props):this.props,e=new ae.Event(o),t=i.length;t--;)n=i[t],e[n]=o[n];return e.target||(e.target=o.srcElement||he),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY
},removeProp:function(e){return e=ae.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(t){}})}}),ae.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var i,a,o,s=e.nodeType;return e&&3!==s&&8!==s&&2!==s?(o=1!==s||!ae.isXMLDoc(e),o&&(t=ae.propFix[t]||t,a=ae.propHooks[t]),void 0!==n?a&&"set"in a&&void 0!==(i=a.set(e,n,t))?i:e[t]=n:a&&"get"in a&&null!==(i=a.get(e,t))?i:e[t]):void 0},propHooks:{tabIndex:{get:function(e){var t=ae.find.attr(e,"tabindex");return t?parseInt(t,10):xt.test(e.nodeName)||At.test(e.nodeName)&&e.href?0:-1}}}}),ne.hrefNormalized||ae.each(["href","src"],function(e,t){ae.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),ne.optSelected||(ae.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),ae.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ae.propFix[this.toLowerCase()]=this}),ne.enctype||(ae.propFix.enctype="encoding");var Et=/[\t\r\n\f]/g;ae.fn.extend({addClass:function(e){var t,n,i,a,o,s,r=0,l=this.length,c="string"==typeof e&&e;if(ae.isFunction(e))return this.each(function(t){ae(this).addClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(ye)||[];l>r;r++)if(n=this[r],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(Et," "):" ")){for(o=0;a=t[o++];)i.indexOf(" "+a+" ")<0&&(i+=a+" ");s=ae.trim(i),n.className!==s&&(n.className=s)}return this},removeClass:function(e){var t,n,i,a,o,s,r=0,l=this.length,c=0===arguments.length||"string"==typeof e&&e;if(ae.isFunction(e))return this.each(function(t){ae(this).removeClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(ye)||[];l>r;r++)if(n=this[r],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(Et," "):"")){for(o=0;a=t[o++];)for(;i.indexOf(" "+a+" ")>=0;)i=i.replace(" "+a+" "," ");s=e?ae.trim(i):"",n.className!==s&&(n.className=s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):this.each(ae.isFunction(e)?function(n){ae(this).toggleClass(e.call(this,n,this.className,t),t)}:function(){if("string"===n)for(var t,i=0,a=ae(this),o=e.match(ye)||[];t=o[i++];)a.hasClass(t)?a.removeClass(t):a.addClass(t);else(n===$e||"boolean"===n)&&(this.className&&ae._data(this,"__className__",this.className),this.className=this.className||e===!1?"":ae._data(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,i=this.length;i>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(Et," ").indexOf(t)>=0)return!0;return!1}}),ae.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){ae.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),ae.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,i){return this.on(t,e,n,i)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var It=ae.now(),Tt=/\?/,Dt=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;ae.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+"");var n,i=null,a=ae.trim(t+"");return a&&!ae.trim(a.replace(Dt,function(e,t,a,o){return n&&t&&(i=0),0===i?e:(n=a||t,i+=!o-!a,"")}))?Function("return "+a)():ae.error("Invalid JSON: "+t)},ae.parseXML=function(t){var n,i;if(!t||"string"!=typeof t)return null;try{e.DOMParser?(i=new DOMParser,n=i.parseFromString(t,"text/xml")):(n=new ActiveXObject("Microsoft.XMLDOM"),n.async="false",n.loadXML(t))}catch(a){n=void 0}return n&&n.documentElement&&!n.getElementsByTagName("parsererror").length||ae.error("Invalid XML: "+t),n};
predicate:"vector",params:[],type:"Vector t"},{id:"-994444869",predicate:"error",params:[{name:"code",type:"int"},{name:"text",type:"string"}],type:"Error"},{id:"1450380236",predicate:"null",params:[],type:"Null"},{id:"2134579434",predicate:"inputPeerEmpty",params:[],type:"InputPeer"},{id:"2107670217",predicate:"inputPeerSelf",params:[],type:"InputPeer"},{id:"396093539",predicate:"inputPeerChat",params:[{name:"chat_id",type:"int"}],type:"InputPeer"},{id:"-1182234929",predicate:"inputUserEmpty",params:[],type:"InputUser"},{id:"-138301121",predicate:"inputUserSelf",params:[],type:"InputUser"},{id:"-208488460",predicate:"inputPhoneContact",params:[{name:"client_id",type:"long"},{name:"phone",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"InputContact"},{id:"-181407105",predicate:"inputFile",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"name",type:"string"},{name:"md5_checksum",type:"string"}],type:"InputFile"},{id:"-1771768449",predicate:"inputMediaEmpty",params:[],type:"InputMedia"},{id:"-139464256",predicate:"inputMediaUploadedPhoto",params:[{name:"file",type:"InputFile"},{name:"caption",type:"string"}],type:"InputMedia"},{id:"-373312269",predicate:"inputMediaPhoto",params:[{name:"id",type:"InputPhoto"},{name:"caption",type:"string"}],type:"InputMedia"},{id:"-104578748",predicate:"inputMediaGeoPoint",params:[{name:"geo_point",type:"InputGeoPoint"}],type:"InputMedia"},{id:"-1494984313",predicate:"inputMediaContact",params:[{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"InputMedia"},{id:"-2106507297",predicate:"inputMediaUploadedVideo",params:[{name:"file",type:"InputFile"},{name:"duration",type:"int"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"mime_type",type:"string"},{name:"caption",type:"string"}],type:"InputMedia"},{id:"2004934137",predicate:"inputMediaUploadedThumbVideo",params:[{name:"file",type:"InputFile"},{name:"thumb",type:"InputFile"},{name:"duration",type:"int"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"mime_type",type:"string"},{name:"caption",type:"string"}],type:"InputMedia"},{id:"-1821749571",predicate:"inputMediaVideo",params:[{name:"id",type:"InputVideo"},{name:"caption",type:"string"}],type:"InputMedia"},{id:"480546647",predicate:"inputChatPhotoEmpty",params:[],type:"InputChatPhoto"},{id:"-1809496270",predicate:"inputChatUploadedPhoto",params:[{name:"file",type:"InputFile"},{name:"crop",type:"InputPhotoCrop"}],type:"InputChatPhoto"},{id:"-1293828344",predicate:"inputChatPhoto",params:[{name:"id",type:"InputPhoto"},{name:"crop",type:"InputPhotoCrop"}],type:"InputChatPhoto"},{id:"-457104426",predicate:"inputGeoPointEmpty",params:[],type:"InputGeoPoint"},{id:"-206066487",predicate:"inputGeoPoint",params:[{name:"lat",type:"double"},{name:"long",type:"double"}],type:"InputGeoPoint"},{id:"483901197",predicate:"inputPhotoEmpty",params:[],type:"InputPhoto"},{id:"-74070332",predicate:"inputPhoto",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputPhoto"},{id:"1426648181",predicate:"inputVideoEmpty",params:[],type:"InputVideo"},{id:"-296249774",predicate:"inputVideo",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputVideo"},{id:"342061462",predicate:"inputFileLocation",params:[{name:"volume_id",type:"long"},{name:"local_id",type:"int"},{name:"secret",type:"long"}],type:"InputFileLocation"},{id:"1023632620",predicate:"inputVideoFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputFileLocation"},{id:"-1377390588",predicate:"inputPhotoCropAuto",params:[],type:"InputPhotoCrop"},{id:"-644787419",predicate:"inputPhotoCrop",params:[{name:"crop_left",type:"double"},{name:"crop_top",type:"double"},{name:"crop_width",type:"double"}],type:"InputPhotoCrop"},{id:"1996904104",predicate:"inputAppEvent",params:[{name:"time",type:"double"},{name:"type",type:"string"},{name:"peer",type:"long"},{name:"data",type:"string"}],type:"InputAppEvent"},{id:"-1649296275",predicate:"peerUser",params:[{name:"user_i
type:"NotifyPeer"},{id:"-2131957734",predicate:"updateUserBlocked",params:[{name:"user_id",type:"int"},{name:"blocked",type:"Bool"}],type:"Update"},{id:"-1094555409",predicate:"updateNotifySettings",params:[{name:"peer",type:"NotifyPeer"},{name:"notify_settings",type:"PeerNotifySettings"}],type:"Update"},{id:"-484053553",predicate:"auth.sentAppCode",params:[{name:"phone_registered",type:"Bool"},{name:"phone_code_hash",type:"string"},{name:"send_call_timeout",type:"int"},{name:"is_password",type:"Bool"}],type:"auth.SentCode"},{id:"381645902",predicate:"sendMessageTypingAction",params:[],type:"SendMessageAction"},{id:"-44119819",predicate:"sendMessageCancelAction",params:[],type:"SendMessageAction"},{id:"-1584933265",predicate:"sendMessageRecordVideoAction",params:[],type:"SendMessageAction"},{id:"-378127636",predicate:"sendMessageUploadVideoAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"-718310409",predicate:"sendMessageRecordAudioAction",params:[],type:"SendMessageAction"},{id:"-212740181",predicate:"sendMessageUploadAudioAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"-774682074",predicate:"sendMessageUploadPhotoAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"-1441998364",predicate:"sendMessageUploadDocumentAction",params:[{name:"progress",type:"int"}],type:"SendMessageAction"},{id:"393186209",predicate:"sendMessageGeoLocationAction",params:[],type:"SendMessageAction"},{id:"1653390447",predicate:"sendMessageChooseContactAction",params:[],type:"SendMessageAction"},{id:"446822276",predicate:"contacts.found",params:[{name:"results",type:"Vector<Peer>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"contacts.Found"},{id:"942527460",predicate:"updateServiceNotification",params:[{name:"type",type:"string"},{name:"message",type:"string"},{name:"media",type:"MessageMedia"},{name:"popup",type:"Bool"}],type:"Update"},{id:"-496024847",predicate:"userStatusRecently",params:[],type:"UserStatus"},{id:"129960444",predicate:"userStatusLastWeek",params:[],type:"UserStatus"},{id:"2011940674",predicate:"userStatusLastMonth",params:[],type:"UserStatus"},{id:"-298113238",predicate:"updatePrivacy",params:[{name:"key",type:"PrivacyKey"},{name:"rules",type:"Vector<PrivacyRule>"}],type:"Update"},{id:"1335282456",predicate:"inputPrivacyKeyStatusTimestamp",params:[],type:"InputPrivacyKey"},{id:"-1137792208",predicate:"privacyKeyStatusTimestamp",params:[],type:"PrivacyKey"},{id:"218751099",predicate:"inputPrivacyValueAllowContacts",params:[],type:"InputPrivacyRule"},{id:"407582158",predicate:"inputPrivacyValueAllowAll",params:[],type:"InputPrivacyRule"},{id:"320652927",predicate:"inputPrivacyValueAllowUsers",params:[{name:"users",type:"Vector<InputUser>"}],type:"InputPrivacyRule"},{id:"195371015",predicate:"inputPrivacyValueDisallowContacts",params:[],type:"InputPrivacyRule"},{id:"-697604407",predicate:"inputPrivacyValueDisallowAll",params:[],type:"InputPrivacyRule"},{id:"-1877932953",predicate:"inputPrivacyValueDisallowUsers",params:[{name:"users",type:"Vector<InputUser>"}],type:"InputPrivacyRule"},{id:"-123988",predicate:"privacyValueAllowContacts",params:[],type:"PrivacyRule"},{id:"1698855810",predicate:"privacyValueAllowAll",params:[],type:"PrivacyRule"},{id:"1297858060",predicate:"privacyValueAllowUsers",params:[{name:"users",type:"Vector<int>"}],type:"PrivacyRule"},{id:"-125240806",predicate:"privacyValueDisallowContacts",params:[],type:"PrivacyRule"},{id:"-1955338397",predicate:"privacyValueDisallowAll",params:[],type:"PrivacyRule"},{id:"209668535",predicate:"privacyValueDisallowUsers",params:[{name:"users",type:"Vector<int>"}],type:"PrivacyRule"},{id:"1430961007",predicate:"account.privacyRules",params:[{name:"rules",type:"Vector<PrivacyRule>"},{name:"users",type:"Vector<User>"}],type:"account.PrivacyRules"},{id:"-1194283041",predicate:"accountDaysTTL",params:[{name:"days",type:"int"}],type:"AccountDaysTTL"},{id:"-1527411636",predicate:"account.sentChangePhoneCode",params:[{name:"phone_code_hash",type:"string"},{name:"send
method:"messages.forwardMessage",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"int"},{name:"random_id",type:"long"}],type:"Updates"},{id:"-1082919718",method:"messages.sendBroadcast",params:[{name:"contacts",type:"Vector<InputUser>"},{name:"random_id",type:"Vector<long>"},{name:"message",type:"string"},{name:"media",type:"InputMedia"}],type:"Updates"},{id:"651135312",method:"messages.getDhConfig",params:[{name:"version",type:"int"},{name:"random_length",type:"int"}],type:"messages.DhConfig"},{id:"-162681021",method:"messages.requestEncryption",params:[{name:"user_id",type:"InputUser"},{name:"random_id",type:"int"},{name:"g_a",type:"bytes"}],type:"EncryptedChat"},{id:"1035731989",method:"messages.acceptEncryption",params:[{name:"peer",type:"InputEncryptedChat"},{name:"g_b",type:"bytes"},{name:"key_fingerprint",type:"long"}],type:"EncryptedChat"},{id:"-304536635",method:"messages.discardEncryption",params:[{name:"chat_id",type:"int"}],type:"Bool"},{id:"2031374829",method:"messages.setEncryptedTyping",params:[{name:"peer",type:"InputEncryptedChat"},{name:"typing",type:"Bool"}],type:"Bool"},{id:"2135648522",method:"messages.readEncryptedHistory",params:[{name:"peer",type:"InputEncryptedChat"},{name:"max_date",type:"int"}],type:"Bool"},{id:"-1451792525",method:"messages.sendEncrypted",params:[{name:"peer",type:"InputEncryptedChat"},{name:"random_id",type:"long"},{name:"data",type:"bytes"}],type:"messages.SentEncryptedMessage"},{id:"-1701831834",method:"messages.sendEncryptedFile",params:[{name:"peer",type:"InputEncryptedChat"},{name:"random_id",type:"long"},{name:"data",type:"bytes"},{name:"file",type:"InputEncryptedFile"}],type:"messages.SentEncryptedMessage"},{id:"852769188",method:"messages.sendEncryptedService",params:[{name:"peer",type:"InputEncryptedChat"},{name:"random_id",type:"long"},{name:"data",type:"bytes"}],type:"messages.SentEncryptedMessage"},{id:"1436924774",method:"messages.receivedQueue",params:[{name:"max_qts",type:"int"}],type:"Vector<long>"},{id:"-562337987",method:"upload.saveBigFilePart",params:[{name:"file_id",type:"long"},{name:"file_part",type:"int"},{name:"file_total_parts",type:"int"},{name:"bytes",type:"bytes"}],type:"Bool"},{id:"1769565673",method:"initConnection",params:[{name:"api_id",type:"int"},{name:"device_model",type:"string"},{name:"system_version",type:"string"},{name:"app_version",type:"string"},{name:"lang_code",type:"string"},{name:"query",type:"!X"}],type:"X"},{id:"-1663104819",method:"help.getSupport",params:[],type:"help.Support"},{id:"229241832",method:"auth.sendSms",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"}],type:"Bool"},{id:"916930423",method:"messages.readMessageContents",params:[{name:"id",type:"Vector<int>"}],type:"messages.AffectedMessages"},{id:"655677548",method:"account.checkUsername",params:[{name:"username",type:"string"}],type:"Bool"},{id:"1040964988",method:"account.updateUsername",params:[{name:"username",type:"string"}],type:"User"},{id:"301470424",method:"contacts.search",params:[{name:"q",type:"string"},{name:"limit",type:"int"}],type:"contacts.Found"},{id:"-623130288",method:"account.getPrivacy",params:[{name:"key",type:"InputPrivacyKey"}],type:"account.PrivacyRules"},{id:"-906486552",method:"account.setPrivacy",params:[{name:"key",type:"InputPrivacyKey"},{name:"rules",type:"Vector<InputPrivacyRule>"}],type:"account.PrivacyRules"},{id:"1099779595",method:"account.deleteAccount",params:[{name:"reason",type:"string"}],type:"Bool"},{id:"150761757",method:"account.getAccountTTL",params:[],type:"AccountDaysTTL"},{id:"608323678",method:"account.setAccountTTL",params:[{name:"ttl",type:"AccountDaysTTL"}],type:"Bool"},{id:"-627372787",method:"invokeWithLayer",params:[{name:"layer",type:"int"},{name:"query",type:"!X"}],type:"X"},{id:"-113456221",method:"contacts.resolveUsername",params:[{name:"username",type:"string"}],type:"contacts.ResolvedPeer"},{id:"-1543001868",method:"account.sendChangePhoneCode",params:[{name:"phone_number",type:"string"}],type:"account.SentChangePhoneCode"},{id:"1891839707",method:"account.changeP
"1f620":["😠",["angry"]],"1f621":["😡",["rage"]],"1f622":["😢",["cry"],":'("],"1f623":["😣",["persevere"]],"1f624":["😤",["triumph"]],"1f625":["😥",["disappointed_relieved"]],"1f626":["😦",["frowning"]],"1f627":["😧",["anguished"]],"1f628":["😨",["fearful"]],"1f629":["😩",["weary"]],"1f62a":["😪",["sleepy"]],"1f62b":["😫",["tired_face"]],"1f62c":["😬",["grimacing"]],"1f62d":["😭",["sob"],":'("],"1f62e":["😮",["open_mouth"]],"1f62f":["😯",["hushed"]],"1f630":["😰",["cold_sweat"]],"1f631":["😱",["scream"]],"1f632":["😲",["astonished"]],"1f633":["😳",["flushed"]],"1f634":["😴",["sleeping"]],"1f635":["😵",["dizzy_face"]],"1f636":["😶",["no_mouth"]],"1f637":["😷",["mask"]],"1f638":["😸",["smile_cat"]],"1f639":["😹",["joy_cat"]],"1f63a":["😺",["smiley_cat"]],"1f63b":["😻",["heart_eyes_cat"]],"1f63c":["😼",["smirk_cat"]],"1f63d":["😽",["kissing_cat"]],"1f63e":["😾",["pouting_cat"]],"1f63f":["😿",["crying_cat_face"]],"1f640":["🙀",["scream_cat"]],"1f645":["🙅",["no_good"]],"1f646":["🙆",["ok_woman"]],"1f647":["🙇",["bow"]],"1f648":["🙈",["see_no_evil"]],"1f649":["🙉",["hear_no_evil"]],"1f64a":["🙊",["speak_no_evil"]],"1f64b":["🙋",["raising_hand"]],"1f64c":["🙌",["raised_hands"]],"1f64d":["🙍",["person_frowning"]],"1f64e":["🙎",["person_with_pouting_face"]],"1f64f":["🙏",["pray"]],"1f680":["🚀",["rocket"]],"1f681":["🚁",["helicopter"]],"1f682":["🚂",["steam_locomotive"]],"1f683":["🚃",["railway_car"]],"1f68b":["🚋",["train"]],"1f684":["🚄",["bullettrain_side"]],"1f685":["🚅",["bullettrain_front"]],"1f686":["🚆",["train2"]],"1f687":["🚇",["metro"]],"1f688":["🚈",["light_rail"]],"1f689":["🚉",["station"]],"1f68a":["🚊",["tram"]],"1f68c":["🚌",["bus"]],"1f68d":["🚍",["oncoming_bus"]],"1f68e":["🚎",["trolleybus"]],"1f68f":["🚏",["busstop"]],"1f690":["🚐",["minibus"]],"1f691":["🚑",["ambulance"]],"1f692":["🚒",["fire_engine"]],"1f693":["🚓",["police_car"]],"1f694":["🚔",["oncoming_police_car"]],"1f695":["🚕",["taxi"]],"1f696":["🚖",["oncoming_taxi"]],"1f697":["🚗",["car","red_car"]],"1f698":["🚘",["oncoming_automobile"]],"1f699":["🚙",["blue_car"]],"1f69a":["🚚",["truck"]],"1f69b":["🚛",["articulated_lorry"]],"1f69c":["🚜",["tractor"]],"1f69d":["🚝",["monorail"]],"1f69e":["🚞",["mountain_railway"]],"1f69f":["🚟",["suspension_railway"]],"1f6a0":["🚠",["mountain_cableway"]],"1f6a1":["🚡",["aerial_tramway"]],"1f6a2":["🚢",["ship"]],"1f6a3":["🚣",["rowboat"]],"1f6a4":["🚤",["speedboat"]],"1f6a5":["🚥",["traffic_light"]],"1f6a6":["🚦",["vertical_traffic_light"]],"1f6a7":["🚧",["construction"]],"1f6a8":["🚨",["rotating_light"]],"1f6a9":["🚩",["triangular_flag_on_post"]],"1f6aa":["🚪",["door"]],"1f6ab":["🚫",["no_entry_sign"]],"1f6ac":["🚬",["smoking"]],"1f6ad":["🚭",["no_smoking"]],"1f6ae":["🚮",["put_litter_in_its_place"]],"1f6af":["🚯",["do_not_litter"]],"1f6b0":["🚰",["potable_water"]],"1f6b1":["🚱",["non-potable_water"]],"1f6b2":["🚲",["bike"]],"1f6b3":["🚳",["no_bicycles"]],"1f6b4":["🚴",["bicyclist"]],"1f6b5":["🚵",["mountain_bicyclist"]],"1f6b6":["🚶",["walking"]],"1f6b7":["🚷",["no_pedestrians"]],"1f6b8":["🚸",["children_crossing"]],"1f6b9":["🚹",["mens"]],"1f6ba":["🚺",["womens"]],"1f6bb":["🚻",["restroom"]],"1f6bc":["🚼",["baby_symbol"]],"1f6bd":["🚽",["toilet"]],"1f6be":["🚾",["wc"]],"1f6bf":["🚿",["shower"]],"1f6c0":["🛀",["bath"]],"1f6c1":["🛁",["bathtub"]],"1f6c2":["🛂",["passport_control"]],"1f6c3":["🛃",["customs"]],"1f6c4":["🛄",["baggage_claim"]],"1f6c5":["🛅",["left_luggage"]],"0023":["#",["hash"]],"0030":["0",["zero"]],"0031":["1",["one"]],"0032":["2",["two"]],"0033":["3",["three"]],"0034":["4",["four"]],"0035":["5",["five"]],"0036":["6",["six"]],"0037":["7",["seven"]],"0038":["8",["eight"]],"0039":["9",["nine"]],"1f1e8-1f1f3":["🇨🇳",["cn"]],"1f1e9-1f1ea":["🇩🇪",["de"]],"1f1ea-1f1f8":["🇪🇸",["es"]],"1f1eb-1f1f7":["🇫🇷",["fr"]],"1f1ec-1f1e7":["
var t=window.applicationCache,n=!1,i=!1,a=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(e){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}),a()))},!1),t.addEventListener("noupdate",function(){a()},!1),t.addEventListener("error",function(){a()},!1)};a(3e3),window.addEventListener("load",o)}}(),function(){var e=[Config.Navigator.osX?"osx":"non_osx",Config.Navigator.retina?"is_2x":"is_1x"];Config.Modes.ios_standalone&&e.push("ios_standalone"),$(document.body).addClass(e.join(" ")),ConfigStorage.get("layout_selected","i18n_locale",function(e){var t=e[0],n=e[1],i="en-us",a={dom:!1,i18n_ng:!1,i18n_messages:!1,i18n_fallback:!1},o=function(){var e,t=!0;for(e in a)if(a.hasOwnProperty(e)&&a[e]===!1){t=!1;break}t&&(a.boot=!1,angular.bootstrap(document,["myApp"]))};switch(Config.Modes.force_mobile?t="mobile":Config.Modes.force_desktop&&(t="desktop"),t){case"mobile":Config.Mobile=!0;break;case"desktop":Config.Mobile=!1;break;default:var s=$(window).width();Config.Mobile=Config.Navigator.mobile||s>10&&480>s}$("head").append('<link rel="stylesheet" href="css/'+(Config.Mobile?"mobile.css":"desktop.css")+'" />'),n||(n=(navigator.language||"").toLowerCase(),n=Config.I18n.aliases[n]||n);for(var r=0;r<Config.I18n.supported.length;r++)if(Config.I18n.supported[r]==n){Config.I18n.locale=n;break}a.i18n_ng=Config.I18n.locale==i,$.getJSON("js/locales/"+Config.I18n.locale+".json").success(function(e){Config.I18n.messages=e,a.i18n_messages=!0,Config.I18n.locale==i&&(a.i18n_fallback=!0),o()}),Config.I18n.locale!=i&&$.getJSON("js/locales/"+i+".json").success(function(e){Config.I18n.fallback_messages=e,a.i18n_fallback=!0,o()}),$(document).ready(function(){a.dom=!0,a.i18n_ng?o():$("<script>").appendTo("body").on("load",function(){a.i18n_ng=!0,o()}).attr("src","vendor/angular/i18n/angular-locale_"+Config.I18n.locale+".js")})})}(),function(e,t,n){"use strict";var i,a,o,s,r,l,c,d,u,p,m,h,g,f,_,v,y,b,w,k,$,S,C,M,x,A,E,I,T,D,P;C={paneClass:"nano-pane",sliderClass:"nano-slider",contentClass:"nano-content",iOSNativeScrolling:!1,preventPageScrolling:!1,disableResize:!1,alwaysVisible:!1,flashDelay:1500,sliderMinHeight:20,sliderMaxHeight:null,documentContext:null,windowContext:null},b="scrollbar",y="scroll",u="mousedown",p="mouseenter",m="mousemove",g="mousewheel",h="mouseup",v="resize",r="drag",l="enter",k="up",_="panedown",o="DOMMouseScroll",s="down",$="wheel",c="keydown",d="keyup",w="touchmove",i="Microsoft Internet Explorer"===t.navigator.appName&&/msie 7./i.test(t.navigator.appVersion)&&t.ActiveXObject,a=null,E=t.requestAnimationFrame,S=t.cancelAnimationFrame,T=n.createElement("div").style,P=function(){var e,t,n,i,a,o;for(i=["t","webkitT","MozT","msT","OT"],e=a=0,o=i.length;o>a;e=++a)if(n=i[e],t=i[e]+"ransform",t in T)return i[e].substr(0,i[e].length-1);return!1}(),D=function(e){return P===!1?!1:""===P?e:P+e.charAt(0).toUpperCase()+e.substr(1)},I=D("transform"),x=I!==!1,M=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},A=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},f=function(){function c(i,o){this.el=i,this.options=o,a||(a=M()),this.$el=e(this.el),this.doc=e(this.options.documentContext||n),this.win=e(this.options.windowContext||t),this.body=this.doc.find("body"),this.$content=this.$el.children("."+o.contentClass),this.$content.attr("tabindex",this.options.tabIndex||0),this.content=this.$content[0],this.previousPosition=0,this.options.iOSNativeScrolling&&(null!=this.el.style.WebkitOverflowScrolling||navigator.userAgent.match(/mobi.+Gecko/i))?this.nativeScrolling():this.generate(),this.createEvents(),t
return x.invoke(i.$get,i,n,e)});return o(m(e),function(e){e&&x.invoke(e)}),x}function Qe(){var e=!0;this.disableAutoScrolling=function(){e=!1},this.$get=["$window","$location","$rootScope",function(t,n,i){function a(e){var t=null;return Array.prototype.some.call(e,function(e){return"a"===L(e)?(t=e,!0):void 0}),t}function o(){var e=r.yOffset;if(M(e))e=e();else if(O(e)){var n=e[0],i=t.getComputedStyle(n);e="fixed"!==i.position?0:n.getBoundingClientRect().bottom}else S(e)||(e=0);return e}function s(e){if(e){e.scrollIntoView();var n=o();if(n){var i=e.getBoundingClientRect().top;t.scrollBy(0,i-n)}}else t.scrollTo(0,0)}function r(e){e=$(e)?e:n.hash();var t;e?(t=l.getElementById(e))?s(t):(t=a(l.getElementsByName(e)))?s(t):"top"===e&&s(null):s(null)}var l=t.document;return e&&i.$watch(function(){return n.hash()},function(e,t){(e!==t||""!==e)&&He(function(){i.$evalAsync(r)})}),r}]}function et(e,t){return e||t?e?t?(Li(e)&&(e=e.join(" ")),Li(t)&&(t=t.join(" ")),e+" "+t):e:t:""}function tt(e){for(var t=0;t<e.length;t++){var n=e[t];if(n.nodeType===Sa)return n}}function nt(e){$(e)&&(e=e.split(" "));var t=fe();return o(e,function(e){e.length&&(t[e]=!0)}),t}function it(e){return w(e)?e:{}}function at(e,t,n,i){function a(e){try{e.apply(null,V(arguments,1))}finally{if(v--,0===v)for(;b.length;)try{b.pop()()}catch(t){n.error(t)}}}function s(e){var t=e.indexOf("#");return-1===t?"":e.substr(t)}function r(){C=null,c(),d()}function l(){try{return m.state}catch(e){}}function c(){w=l(),w=y(w)?null:w,q(w,A)&&(w=A),A=w}function d(){($!==u.url()||k!==w)&&($=u.url(),k=w,o(M,function(e){e(u.url(),w)}))}var u=this,p=(t[0],e.location),m=e.history,h=e.setTimeout,f=e.clearTimeout,_={};u.isMock=!1;var v=0,b=[];u.$$completeOutstandingRequest=a,u.$$incOutstandingRequestCount=function(){v++},u.notifyWhenNoOutstandingRequests=function(e){0===v?e():b.push(e)};var w,k,$=p.href,S=t.find("base"),C=null;c(),k=w,u.url=function(t,n,a){if(y(a)&&(a=null),p!==e.location&&(p=e.location),m!==e.history&&(m=e.history),t){var o=k===a;if($===t&&(!i.history||o))return u;var r=$&&Ft($)===Ft(t);return $=t,k=a,!i.history||r&&o?((!r||C)&&(C=t),n?p.replace(t):r?p.hash=s(t):p.href=t,p.href!==t&&(C=t)):(m[n?"replaceState":"pushState"](a,"",t),c(),k=w),u}return C||p.href.replace(/%27/g,"'")},u.state=function(){return w};var M=[],x=!1,A=null;u.onUrlChange=function(t){return x||(i.history&&Mi(e).on("popstate",r),Mi(e).on("hashchange",r),x=!0),M.push(t),t},u.$$applicationDestroyed=function(){Mi(e).off("hashchange popstate",r)},u.$$checkUrlChange=d,u.baseHref=function(){var e=S.attr("href");return e?e.replace(/^(https?\:)?\/\/[^\/]*/,""):""},u.defer=function(e,t){var n;return v++,n=h(function(){delete _[n],a(e)},t||0),_[n]=!0,n},u.defer.cancel=function(e){return _[e]?(delete _[e],f(e),a(g),!0):!1}}function ot(){this.$get=["$window","$log","$sniffer","$document",function(e,t,n,i){return new at(e,i,t,n)}]}function st(){this.$get=function(){function e(e,n){function a(e){e!=p&&(m?m==e&&(m=e.n):m=e,o(e.n,e.p),o(e,p),p=e,p.n=null)}function o(e,t){e!=t&&(e&&(e.p=t),t&&(t.n=e))}if(e in t)throw i("$cacheFactory")("iid","CacheId '{0}' is already taken!",e);var s=0,r=u({},n,{id:e}),l={},c=n&&n.capacity||Number.MAX_VALUE,d={},p=null,m=null;return t[e]={put:function(e,t){if(!y(t)){if(c<Number.MAX_VALUE){var n=d[e]||(d[e]={key:e});a(n)}return e in l||s++,l[e]=t,s>c&&this.remove(m.key),t}},get:function(e){if(c<Number.MAX_VALUE){var t=d[e];if(!t)return;a(t)}return l[e]},remove:function(e){if(c<Number.MAX_VALUE){var t=d[e];if(!t)return;t==p&&(p=t.p),t==m&&(m=t.n),o(t.n,t.p),delete d[e]}delete l[e],s--},removeAll:function(){l={},s=0,d={},p=m=null},destroy:function(){l=null,r=null,d=null,delete t[e]},info:function(){return u({},r,{size:s})}}}var t={};return e.info=function(){var e={};return o(t,function(t,n){e[n]=t.info()}),e},e.get=function(e){return t[e]},e}}function rt(){this.$get=["$cacheFactory",function(e){return e("templates")}]}function lt(e,i){function a(e,t,n){var i=/^\s*([@&]|=(\*?))(\??)\s*(\w*)\s*$/,a={};return o(e,function(e,o){var s=e.match(i);if(!s)throw Ia("iscp","Invalid {3} for directive
var t=te(this.$$search),i=this.$$hash?"#"+ne(this.$$hash):"";this.$$url=Tt(this.$$path)+(t?"?"+t:"")+i,this.$$absUrl=e+(this.$$url?n+this.$$url:"")},this.$$parseLinkUrl=function(t,n){return Ft(e)==Ft(t)?(this.$$parse(t),!0):!1}}function jt(e,t,n){this.$$html5=!0,Bt.apply(this,arguments),this.$$parseLinkUrl=function(i,a){if(a&&"#"===a[0])return this.hash(a.slice(1)),!0;var o,s;return e==Ft(i)?o=i:(s=Nt(t,i))?o=e+n+s:t===i+"/"&&(o=t),o&&this.$$parse(o),!!o},this.$$compose=function(){var t=te(this.$$search),i=this.$$hash?"#"+ne(this.$$hash):"";this.$$url=Tt(this.$$path)+(t?"?"+t:"")+i,this.$$absUrl=e+n+this.$$url}}function qt(e){return function(){return this[e]}}function Ht(e,t){return function(n){return y(n)?this[e]:(this[e]=t(n),this.$$compose(),this)}}function Vt(){var e="",t={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(t){return b(t)?(e=t,this):e},this.html5Mode=function(e){return P(e)?(t.enabled=e,this):w(e)?(P(e.enabled)&&(t.enabled=e.enabled),P(e.requireBase)&&(t.requireBase=e.requireBase),P(e.rewriteLinks)&&(t.rewriteLinks=e.rewriteLinks),this):t},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(n,i,a,o,s){function r(e,t,n){var a=c.url(),o=c.$$state;try{i.url(e,t,n),c.$$state=i.state()}catch(s){throw c.url(a),c.$$state=o,s}}function l(e,t){n.$broadcast("$locationChangeSuccess",c.absUrl(),e,c.$$state,t)}var c,d,u,p=i.baseHref(),m=i.url();if(t.enabled){if(!p&&t.requireBase)throw za("nobase","$location in HTML5 mode requires a <base> tag to be present!");u=Lt(m)+(p||"/"),d=a.history?Rt:jt}else u=Ft(m),d=Bt;var h=Ut(u);c=new d(u,h,"#"+e),c.$$parseLinkUrl(m,m),c.$$state=i.state();var g=/^\s*(javascript|mailto):/i;o.on("click",function(e){if(t.rewriteLinks&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&2!=e.which&&2!=e.button){for(var a=Mi(e.target);"a"!==L(a[0]);)if(a[0]===o[0]||!(a=a.parent())[0])return;var r=a.prop("href"),l=a.attr("href")||a.attr("xlink:href");w(r)&&"[object SVGAnimatedString]"===r.toString()&&(r=Mn(r.animVal).href),g.test(r)||!r||a.attr("target")||e.isDefaultPrevented()||c.$$parseLinkUrl(r,l)&&(e.preventDefault(),c.absUrl()!=i.url()&&(n.$apply(),s.angular["ff-684208-preventDefault"]=!0))}}),Ot(c.absUrl())!=Ot(m)&&i.url(c.absUrl(),!0);var f=!0;return i.onUrlChange(function(e,t){return y(Nt(h,e))?void(s.location.href=e):(n.$evalAsync(function(){var i,a=c.absUrl(),o=c.$$state;c.$$parse(e),c.$$state=t,i=n.$broadcast("$locationChangeStart",e,a,t,o).defaultPrevented,c.absUrl()===e&&(i?(c.$$parse(a),c.$$state=o,r(a,!1,o)):(f=!1,l(a,o)))}),void(n.$$phase||n.$digest()))}),n.$watch(function(){var e=Ot(i.url()),t=Ot(c.absUrl()),o=i.state(),s=c.$$replace,d=e!==t||c.$$html5&&a.history&&o!==c.$$state;(f||d)&&(f=!1,n.$evalAsync(function(){var t=c.absUrl(),i=n.$broadcast("$locationChangeStart",t,e,c.$$state,o).defaultPrevented;c.absUrl()===t&&(i?(c.$$parse(e),c.$$state=o):(d&&r(t,s,o===c.$$state?null:c.$$state),l(e,o)))})),c.$$replace=!1}),c}]}function zt(){var e=!0,t=this;this.debugEnabled=function(t){return b(t)?(e=t,this):e},this.$get=["$window",function(n){function i(e){return e instanceof Error&&(e.stack?e=e.message&&-1===e.stack.indexOf(e.message)?"Error: "+e.message+"\n"+e.stack:e.stack:e.sourceURL&&(e=e.message+"\n"+e.sourceURL+":"+e.line)),e}function a(e){var t=n.console||{},a=t[e]||t.log||g,s=!1;try{s=!!a.apply}catch(r){}return s?function(){var e=[];return o(arguments,function(t){e.push(i(t))}),a.apply(t,e)}:function(e,t){a(e,null==t?"":t)}}return{log:a("log"),info:a("info"),warn:a("warn"),error:a("error"),debug:function(){var n=a("debug");return function(){e&&n.apply(t,arguments)}}()}}]}function Wt(e,t){if("__defineGetter__"===e||"__defineSetter__"===e||"__lookupGetter__"===e||"__lookupSetter__"===e||"__proto__"===e)throw Ga("isecfld","Attempting to access a disallowed field in Angular expressions! Expression: {0}",t);return e}function Gt(e,t){if(e+="",!$(e))throw Ga("iseccst","Cannot convert object to primitive value! Expression: {0}",t);return e}function Kt(e,t){if(e){if(e.constructor===e)throw Ga("isecfn","Referencing Function in Angular expressions is dis
for(var n=0,i=0,a=c.length;a>i&&!(n=s(e.predicateValues[i],t.predicateValues[i])*c[i].descending);++i);return n}if(!a(e))return e;Li(n)||(n=[n]),0===n.length&&(n=["+"]);var c=t(n,i);c.push({get:function(){return{}},descending:i?-1:1});var d=Array.prototype.map.call(e,r);return d.sort(l),e=d.map(function(e){return e.value})}}function Qn(e){return M(e)&&(e={link:e}),e.restrict=e.restrict||"AC",_(e)}function ei(e,t){e.$name=t}function ti(e,t,i,a,s){var r=this,l=[];r.$error={},r.$$success={},r.$pending=n,r.$name=s(t.name||t.ngForm||"")(i),r.$dirty=!1,r.$pristine=!0,r.$valid=!0,r.$invalid=!1,r.$submitted=!1,r.$$parentForm=fo,r.$rollbackViewValue=function(){o(l,function(e){e.$rollbackViewValue()})},r.$commitViewValue=function(){o(l,function(e){e.$commitViewValue()})},r.$addControl=function(e){me(e.$name,"input"),l.push(e),e.$name&&(r[e.$name]=e),e.$$parentForm=r},r.$$renameControl=function(e,t){var n=e.$name;r[n]===e&&delete r[n],r[t]=e,e.$name=t},r.$removeControl=function(e){e.$name&&r[e.$name]===e&&delete r[e.$name],o(r.$pending,function(t,n){r.$setValidity(n,null,e)}),o(r.$error,function(t,n){r.$setValidity(n,null,e)}),o(r.$$success,function(t,n){r.$setValidity(n,null,e)}),R(l,e),e.$$parentForm=fo},fi({ctrl:this,$element:e,set:function(e,t,n){var i=e[t];if(i){var a=i.indexOf(n);-1===a&&i.push(n)}else e[t]=[n]},unset:function(e,t,n){var i=e[t];i&&(R(i,n),0===i.length&&delete e[t])},$animate:a}),r.$setDirty=function(){a.removeClass(e,Jo),a.addClass(e,Qo),r.$dirty=!0,r.$pristine=!1,r.$$parentForm.$setDirty()},r.$setPristine=function(){a.setClass(e,Jo,Qo+" "+_o),r.$dirty=!1,r.$pristine=!0,r.$submitted=!1,o(l,function(e){e.$setPristine()})},r.$setUntouched=function(){o(l,function(e){e.$setUntouched()})},r.$setSubmitted=function(){a.addClass(e,_o),r.$submitted=!0,r.$$parentForm.$setSubmitted()}}function ni(e){e.$formatters.push(function(t){return e.$isEmpty(t)?t:t.toString()})}function ii(e,t,n,i,a,o){ai(e,t,n,i,a,o),ni(i)}function ai(e,t,n,i,a,o){var s=bi(t[0].type);if(!a.android){var r=!1;t.on("compositionstart",function(e){r=!0}),t.on("compositionend",function(){r=!1,l()})}var l=function(e){if(c&&(o.defer.cancel(c),c=null),!r){var a=t.val(),l=e&&e.type;"password"===s||n.ngTrim&&"false"===n.ngTrim||(a=Bi(a)),(i.$viewValue!==a||""===a&&i.$$hasNativeValidators)&&i.$setViewValue(a,l)}};if(a.hasEvent("input"))t.on("input",l);else{var c,d=function(e,t,n){c||(c=o.defer(function(){c=null,t&&t.value===n||l(e)}))};t.on("keydown",function(e){var t=e.keyCode;91===t||t>15&&19>t||t>=37&&40>=t||d(e,this,this.value)}),a.hasEvent("paste")&&t.on("paste cut",d)}t.on("change",l),i.$render=function(){var e=i.$isEmpty(i.$viewValue)?"":i.$viewValue;t.val()!==e&&t.val(e)}}function oi(e,t){if(C(e))return e;if($(e)){xo.lastIndex=0;var n=xo.exec(e);if(n){var i=+n[1],a=+n[2],o=0,s=0,r=0,l=0,c=Hn(i),d=7*(a-1);return t&&(o=t.getHours(),s=t.getMinutes(),r=t.getSeconds(),l=t.getMilliseconds()),new Date(i,0,c.getDate()+d,o,s,r,l)}}return 0/0}function si(e,t){return function(n,i){var a,s;if(C(n))return n;if($(n)){if('"'==n.charAt(0)&&'"'==n.charAt(n.length-1)&&(n=n.substring(1,n.length-1)),wo.test(n))return new Date(n);if(e.lastIndex=0,a=e.exec(n))return a.shift(),s=i?{yyyy:i.getFullYear(),MM:i.getMonth()+1,dd:i.getDate(),HH:i.getHours(),mm:i.getMinutes(),ss:i.getSeconds(),sss:i.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},o(a,function(e,n){n<t.length&&(s[t[n]]=+e)}),new Date(s.yyyy,s.MM-1,s.dd,s.HH,s.mm,s.ss||0,1e3*s.sss||0)}return 0/0}}function ri(e,t,i,a){return function(o,s,r,l,c,d,u){function p(e){return e&&!(e.getTime&&e.getTime()!==e.getTime())}function m(e){return b(e)&&!C(e)?i(e)||n:e}li(o,s,r,l),ai(o,s,r,l,c,d);var h,g=l&&l.$options&&l.$options.timezone;if(l.$$parserName=e,l.$parsers.push(function(e){if(l.$isEmpty(e))return null;if(t.test(e)){var a=i(e,h);return g&&(a=X(a,g)),a}return n}),l.$formatters.push(function(e){if(e&&!C(e))throw is("datefmt","Expected `{0}` to be a date",e);return p(e)?(h=e,h&&g&&(h=X(h,g,!0)),u("date")(e,a,g)):(h=null,"")}),b(r.min)||r.ngMin){var f;l.$validators.min=function(e){return!p(e)||y(f)||i(e)>=
c=e}),i!==e.body.length-1?p.current().body.push(c,";"):p.return_(c)});break;case eo.Literal:u=this.escape(e.value),this.assign(t,u),a(u);break;case eo.UnaryExpression:this.recurse(e.argument,n,n,function(e){c=e}),u=e.operator+"("+this.ifDefined(c,0)+")",this.assign(t,u),a(u);break;case eo.BinaryExpression:this.recurse(e.left,n,n,function(e){l=e}),this.recurse(e.right,n,n,function(e){c=e}),u="+"===e.operator?this.plus(l,c):"-"===e.operator?this.ifDefined(l,0)+e.operator+this.ifDefined(c,0):"("+l+")"+e.operator+"("+c+")",this.assign(t,u),a(u);break;case eo.LogicalExpression:t=t||this.nextId(),p.recurse(e.left,t),p.if_("&&"===e.operator?t:p.not(t),p.lazyRecurse(e.right,t)),a(t);break;case eo.ConditionalExpression:t=t||this.nextId(),p.recurse(e.test,t),p.if_(t,p.lazyRecurse(e.alternate,t),p.lazyRecurse(e.consequent,t)),a(t);break;case eo.Identifier:t=t||this.nextId(),i&&(i.context="inputs"===p.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",e.name)+"?l:s"),i.computed=!1,i.name=e.name),Wt(e.name),p.if_("inputs"===p.stage||p.not(p.getHasOwnProperty("l",e.name)),function(){p.if_("inputs"===p.stage||"s",function(){s&&1!==s&&p.if_(p.not(p.nonComputedMember("s",e.name)),p.lazyAssign(p.nonComputedMember("s",e.name),"{}")),p.assign(t,p.nonComputedMember("s",e.name))})},t&&p.lazyAssign(t,p.nonComputedMember("l",e.name))),(p.state.expensiveChecks||cn(e.name))&&p.addEnsureSafeObject(t),a(t);break;case eo.MemberExpression:l=i&&(i.context=this.nextId())||this.nextId(),t=t||this.nextId(),p.recurse(e.object,l,n,function(){p.if_(p.notNull(l),function(){e.computed?(c=p.nextId(),p.recurse(e.property,c),p.getStringValue(c),p.addEnsureSafeMemberName(c),s&&1!==s&&p.if_(p.not(p.computedMember(l,c)),p.lazyAssign(p.computedMember(l,c),"{}")),u=p.ensureSafeObject(p.computedMember(l,c)),p.assign(t,u),i&&(i.computed=!0,i.name=c)):(Wt(e.property.name),s&&1!==s&&p.if_(p.not(p.nonComputedMember(l,e.property.name)),p.lazyAssign(p.nonComputedMember(l,e.property.name),"{}")),u=p.nonComputedMember(l,e.property.name),(p.state.expensiveChecks||cn(e.property.name))&&(u=p.ensureSafeObject(u)),p.assign(t,u),i&&(i.computed=!1,i.name=e.property.name))},function(){p.assign(t,"undefined")}),a(t)},!!s);break;case eo.CallExpression:t=t||this.nextId(),e.filter?(c=p.filter(e.callee.name),d=[],o(e.arguments,function(e){var t=p.nextId();p.recurse(e,t),d.push(t)}),u=c+"("+d.join(",")+")",p.assign(t,u),a(t)):(c=p.nextId(),l={},d=[],p.recurse(e.callee,c,l,function(){p.if_(p.notNull(c),function(){p.addEnsureSafeFunction(c),o(e.arguments,function(e){p.recurse(e,p.nextId(),n,function(e){d.push(p.ensureSafeObject(e))})}),l.name?(p.state.expensiveChecks||p.addEnsureSafeObject(l.context),u=p.member(l.context,l.name,l.computed)+"("+d.join(",")+")"):u=c+"("+d.join(",")+")",u=p.ensureSafeObject(u),p.assign(t,u)},function(){p.assign(t,"undefined")}),a(t)}));break;case eo.AssignmentExpression:if(c=this.nextId(),l={},!nn(e.left))throw Ga("lval","Trying to assing a value to a non l-value");this.recurse(e.left,n,l,function(){p.if_(p.notNull(l.context),function(){p.recurse(e.right,c),p.addEnsureSafeObject(p.member(l.context,l.name,l.computed)),p.addEnsureSafeAssignContext(l.context),u=p.member(l.context,l.name,l.computed)+e.operator+c,p.assign(t,u),a(t||u)})},1);break;case eo.ArrayExpression:d=[],o(e.elements,function(e){p.recurse(e,p.nextId(),n,function(e){d.push(e)})}),u="["+d.join(",")+"]",this.assign(t,u),a(u);break;case eo.ObjectExpression:d=[],o(e.properties,function(e){p.recurse(e.value,p.nextId(),n,function(t){d.push(p.escape(e.key.type===eo.Identifier?e.key.name:""+e.key.value)+":"+t)})}),u="{"+d.join(",")+"}",this.assign(t,u),a(u);break;case eo.ThisExpression:this.assign(t,"s"),a("s");break;case eo.NGValueParameter:this.assign(t,"v"),a("v")}},getHasOwnProperty:function(e,t){var n=e+"."+t,i=this.current().own;return i.hasOwnProperty(n)||(i[n]=this.nextId(!1,e+"&&("+this.escape(t)+" in "+e+")")),i[n]},assign:function(e,t){return e?(this.current().body.push(e,"=",t,";"),e):void 0},filter:function(e){return this.state.filters.hasOwnProperty(e)||(this.state.filters[e]=t
E=$||C,I=[];for(var O in i)wi.call(i,O)&&"$"!==O.charAt(0)&&I.push(O)}for(k=I.length,D=new Array(k),p=0;k>p;p++)if(M=i===I?p:I[p],x=i[M],A=E(M,x,p),f[A])T=f[A],delete f[A],F[A]=T,D[p]=T;else{if(F[A])throw o(D,function(e){e&&e.scope&&(f[e.id]=e)}),l("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",m,A,x);D[p]={id:A,scope:n,clone:n},F[A]=!0}for(var U in f){if(T=f[U],P=ge(T.clone),s.leave(P),P[0].parentNode)for(p=0,_=P.length;_>p;p++)P[p][r]=!0;T.scope.$destroy()}for(p=0;k>p;p++)if(M=i===I?p:I[p],x=i[M],T=D[p],T.scope){y=N;do y=y.nextSibling;while(y&&y[r]);d(T)!=y&&s.move(ge(T.clone),null,Mi(N)),N=u(T),c(T.scope,p,b,x,w,M,k)}else g(function(e,t){T.scope=t;var n=h.cloneNode(!1);e[e.length++]=n,s.enter(e,null,Mi(N)),N=n,T.clone=e,F[T.id]=T,c(T.scope,p,b,x,w,M,k)});f=F})}}}}],hs="ng-hide",gs="ng-hide-animate",fs=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,i){t.$watch(i.ngShow,function(t){e[t?"removeClass":"addClass"](n,hs,{tempClasses:gs})})}}}],_s=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,i){t.$watch(i.ngHide,function(t){e[t?"addClass":"removeClass"](n,hs,{tempClasses:gs})})}}}],vs=Qn(function(e,t,n){e.$watch(n.ngStyle,function(e,n){n&&e!==n&&o(n,function(e,n){t.css(n,"")}),e&&t.css(e)},!0)}),ys=["$animate",function(e){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(n,i,a,s){var r=a.ngSwitch||a.on,l=[],c=[],d=[],u=[],p=function(e,t){return function(){e.splice(t,1)}};n.$watch(r,function(n){var i,a;for(i=0,a=d.length;a>i;++i)e.cancel(d[i]);for(d.length=0,i=0,a=u.length;a>i;++i){var r=ge(c[i].clone);u[i].$destroy();var m=d[i]=e.leave(r);m.then(p(d,i))}c.length=0,u.length=0,(l=s.cases["!"+n]||s.cases["?"])&&o(l,function(n){n.transclude(function(i,a){u.push(a);var o=n.element;i[i.length++]=t.createComment(" end ngSwitchWhen: ");var s={clone:i};c.push(s),e.enter(i,o.parent(),o)})})})}}}],bs=Qn({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,i,a){i.cases["!"+n.ngSwitchWhen]=i.cases["!"+n.ngSwitchWhen]||[],i.cases["!"+n.ngSwitchWhen].push({transclude:a,element:t})}}),ws=Qn({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,i,a){i.cases["?"]=i.cases["?"]||[],i.cases["?"].push({transclude:a,element:t})}}),ks=Qn({restrict:"EAC",link:function(e,t,n,a,o){if(!o)throw i("ngTransclude")("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",J(t));o(function(e){t.empty(),t.append(e)})}}),$s=["$templateCache",function(e){return{restrict:"E",terminal:!0,compile:function(t,n){if("text/ng-template"==n.type){var i=n.id,a=t[0].text;e.put(i,a)}}}}],Ss={$setViewValue:g,$render:g},Cs=["$element","$scope","$attrs",function(e,i,a){var o=this,s=new Ye;o.ngModelCtrl=Ss,o.unknownOption=Mi(t.createElement("option")),o.renderUnknownOption=function(t){var n="? "+Ke(t)+" ?";o.unknownOption.val(n),e.prepend(o.unknownOption),e.val(n)},i.$on("$destroy",function(){o.renderUnknownOption=g}),o.removeUnknownOption=function(){o.unknownOption.parent()&&o.unknownOption.remove()},o.readValue=function(){return o.removeUnknownOption(),e.val()},o.writeValue=function(t){o.hasOption(t)?(o.removeUnknownOption(),e.val(t),""===t&&o.emptyOption.prop("selected",!0)):null==t&&o.emptyOption?(o.removeUnknownOption(),e.val("")):o.renderUnknownOption(t)},o.addOption=function(e,t){me(e,'"option value"'),""===e&&(o.emptyOption=t);var n=s.get(e)||0;s.put(e,n+1)},o.removeOption=function(e){var t=s.get(e);t&&(1===t?(s.remove(e),""===e&&(o.emptyOption=n)):s.put(e,t-1))},o.hasOption=function(e){return!!s.get(e)}}],Ms=function(){return{restrict:"E",require:["select","?ngModel"],controller:Cs,link:function(e,t,n,i){var a=i[1];if(a){var s=i[0];if(s.ngModelCtrl=a,a.$render=function(){s.writeValue(a.$viewValue)},t.on("change",function(){e.$apply(function(){a.$setViewValue(s.readValue())})}),n.multiple){s.readValue=funct
o||(o=T(t,a)),t=t.parent()}var h=!r||i;return h&&s&&o}function P(e,t,n){n=n||{},n.state=t;var i=y(e);i.setAttribute(Me,t);var a=N.get(i),o=a?R(a,n):n;N.put(i,o)}var N=new g,F=new g,O=null,U=r.$watch(function(){return 0===k.totalPendingRequests},function(e){e&&(U(),r.$$postDigest(function(){r.$$postDigest(function(){null===O&&(O=!0)})}))}),L={},G=e.classNameFilter(),Z=G?function(e){return G.test(e)}:function(){return!0},X=p($);return{on:function(e,t,n){var i=c(t);L[e]=L[e]||[],L[e].push({node:i,callback:n})},off:function(e,t,n){function i(e,t,n){var i=c(t);return e.filter(function(e){var t=e.node===i&&(!n||e.callback===n);return!t})}var a=L[e];a&&(L[e]=1===arguments.length?null:i(a,t,n))},pin:function(e,t){i(K(e),"element","not an element"),i(K(t),"parentElement","not an element"),e.data(xe,t)},push:function(e,t,n,i){return n=n||{},n.domOperation=i,A(e,t,n)},enabled:function(e,t){var n=arguments.length;if(0===n)t=!!O;else{var i=K(e);if(i){var a=y(e),o=F.get(a);1===n?t=!o:(t=!!t,t?o&&F.remove(a):F.put(a,!0))}else t=O=!!e}return t}}}]}],Ee=["$$rAF",function(e){function t(t){n.push(t),n.length>1||e(function(){for(var e=0;e<n.length;e++)n[e]();n=[]})}var n=[];return function(){var e=!1;return t(function(){e=!0}),function(n){e?n():t(n)}}}],Ie=["$q","$sniffer","$$animateAsyncRun",function(e,t,n){function i(e){this.setHost(e),this._doneCallbacks=[],this._runInAnimationFrame=n(),this._state=0}var a=0,o=1,s=2;return i.chain=function(e,t){function n(){return i===e.length?void t(!0):void e[i](function(e){return e===!1?void t(!1):(i++,void n())})}var i=0;n()},i.all=function(e,t){function n(n){a=a&&n,++i===e.length&&t(a)}var i=0,a=!0;j(e,function(e){e.done(n)})},i.prototype={setHost:function(e){this.host=e||{}},done:function(e){this._state===s?e():this._doneCallbacks.push(e)},progress:L,getPromise:function(){if(!this.promise){var t=this;this.promise=e(function(e,n){t.done(function(t){t===!1?n():e()})})}return this.promise},then:function(e,t){return this.getPromise().then(e,t)},"catch":function(e){return this.getPromise()["catch"](e)},"finally":function(e){return this.getPromise()["finally"](e)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(e){var t=this;t._state===a&&(t._state=o,t._runInAnimationFrame(function(){t._resolve(e)}))},_resolve:function(e){this._state!==s&&(j(this._doneCallbacks,function(t){t(e)}),this._doneCallbacks.length=0,this._state=s)}},i}],Te=["$animateProvider",function(e){function t(e,t){e.data(r,t)}function n(e){e.removeData(r)}function i(e){return e.data(r)}var o="ng-animate-ref",s=this.drivers=[],r="$$animationRunner";this.$get=["$$jqLite","$rootScope","$injector","$$AnimateRunner","$$HashMap","$$rAFScheduler",function(e,r,l,c,d,u){function g(e){function t(e){if(e.processed)return e;e.processed=!0;var n=e.domNode,i=n.parentNode;o.put(n,e);for(var s;i;){if(s=o.get(i)){s.processed||(s=t(s));break}i=i.parentNode}return(s||a).children.push(e),e}function n(e){var t,n=[],i=[];for(t=0;t<e.children.length;t++)i.push(e.children[t]);var a=i.length,o=0,s=[];for(t=0;t<i.length;t++){var r=i[t];0>=a&&(a=o,o=0,n.push(s),s=[]),s.push(r.fn),r.children.forEach(function(e){o++,i.push(e)}),a--}return s.length&&n.push(s),n}var i,a={children:[]},o=new d;for(i=0;i<e.length;i++){var s=e[i];o.put(s.domNode,e[i]={domNode:s.domNode,fn:s.fn,children:[]})}for(i=0;i<e.length;i++)t(e[i]);return n(a)}var f=[],_=p(e);return function(d,p,v){function b(e){var t="["+o+"]",n=e.hasAttribute(o)?[e]:e.querySelectorAll(t),i=[];return j(n,function(e){var t=e.getAttribute(o);t&&t.length&&i.push(e)}),i}function w(e){var t=[],n={};j(e,function(e,i){var a=e.element,s=y(a),r=e.event,l=["enter","move"].indexOf(r)>=0,c=e.structural?b(s):[];if(c.length){var d=l?"to":"from";j(c,function(e){var t=e.getAttribute(o);n[t]=n[t]||{},n[t][d]={animationID:i,element:B(e)}})}else t.push(e)});var i={},a={};return j(n,function(n,o){var s=n.from,r=n.to;if(!s
},pause:function(){this.$domEl.pause()},stop:function(){this.reset()},toggleMute:function(){this.muted=this.$domEl.muted=!this.$domEl.muted},next:function(e){var t=this;if(t.currentTrack&&t.currentTrack<t.tracks){var i=e||t.playing;t.pause(),n(function(){t.$clearSourceList(),t.$addSourceList(t.$playlist[t.currentTrack]),t.load(i),t.currentTrack++})}},prev:function(e){var t=this;if(t.currentTrack&&t.currentTrack-1){var i=e||t.playing;t.pause(),n(function(){t.$clearSourceList(),t.$addSourceList(t.$playlist[t.currentTrack-2]),t.load(i),t.currentTrack--})}},setPlaybackRate:function(e){this.$domEl.playbackRate=e},setVolume:function(e){this.$domEl.volume=e},seek:function(e){var t,n=0;return"string"!=typeof e?this.$domEl.currentTime=e:(t=e.split(":"),n+=parseInt(t.pop(),10),t.length&&(n+=60*parseInt(t.pop(),10)),t.length&&(n+=3600*parseInt(t.pop(),10)),isNaN(n)?void 0:this.$domEl.currentTime=n)},on:function(e,t){return this.$element.on(e,t)},off:function(e,t){return this.$element.off(e,t)},one:function(e,t){return this.$element.one(e,t)},$addSourceList:function(e){var t=this;if(angular.isArray(e))angular.forEach(e,function(e,n){var i=document.createElement("SOURCE");["src","type","media"].forEach(function(t){void 0!==e[t]&&i.setAttribute(t,e[t])}),t.$element.append(i)});else if(angular.isObject(e)){var n=document.createElement("SOURCE");["src","type","media"].forEach(function(t){void 0!==e[t]&&n.setAttribute(t,e[t])}),t.$element.append(n)}},$clearSourceList:function(){this.$element.contents().remove()},$formatTime:function(e){if(e===1/0)return"∞";var t,n=parseInt(e/3600,10)%24,i=parseInt(e/60,10)%60,a=parseInt(e%60,10),o=(10>i?"0"+i:i)+":"+(10>a?"0"+a:a);return t=n>0?(10>n?"0"+n:n)+":"+o:o},$attachPlaylist:function(e){void 0===e||null===e?this.playlist=[]:this.$playlist=e}},r=function(e,t,n){var a={playing:function(){e.$apply(function(e){e.playing=!0,e.ended=!1})},pause:function(){e.$apply(function(e){e.playing=!1})},ended:function(){!e.$selective&&e.currentTrack<e.tracks?e.next(!0):e.$apply(function(e){e.ended=!0,e.playing=!1})},timeupdate:i(1e3,!1,function(){e.$apply(function(e){e.currentTime=t.currentTime,e.formatTime=e.$formatTime(e.currentTime)})}),loadedmetadata:function(){e.$apply(function(e){e.currentTrack||e.currentTrack++,e.duration=t.duration,e.formatDuration=e.$formatTime(e.duration),t.buffered.length&&(e.loadPercent=Math.round(t.buffered.end(t.buffered.length-1)/e.duration*100))})},progress:function(){e.$domEl.buffered.length&&e.$apply(function(e){e.loadPercent=Math.round(t.buffered.end(t.buffered.length-1)/e.duration*100),e.network="progress"})},volumechange:function(){e.$apply(function(e){e.volume=t.volume,e.muted=t.muted})},seeked:function(){e.$apply(function(e){e.seeking=!1})},seeking:function(){e.$apply(function(e){e.seeking=!0})},ratechange:function(){e.$apply(function(e){e.playbackRate=t.playbackRate})},stalled:function(){e.$apply(function(e){e.network="stalled"})},suspend:function(){e.$apply(function(e){e.network="suspend"})}};angular.forEach(a,function(e,t){n.on(t,e)})},l=function(t){var n=angular.extend(e.$new(!0),{$element:t,$domEl:t[0],$playlist:void 0,buffered:t[0].buffered,played:t[0].played,seekable:t[0].seekable},a,s);return r(n,t[0],t),n};return{scope:!1,link:function(e,t,n,i){var a=n.playlist,s=n.mediaPlayer||n.playerControl,r=new l(t),c=e[a];if(c=void 0===a?[]:void 0===e[a]?e[a]=[]:e[a],void 0!==s&&e.$eval(s+" = player",{player:r}),"AUDIO"!==t[0].tagName&&"VIDEO"!==t[0].tagName)return new Error("player directive works only when attached to an <audio>/<video> type tag");var d=[],u=t.find("source");1===u.length?c.unshift({src:u[0].src,type:u[0].type,media:u[0].media}):u.length>1&&(angular.forEach(u,function(e){d.push({src:e.src,type:e.type,media:e.media})}),c.unshift(d)),void 0===a?r.$attachPlaylist(c):c.length?(o(r)(c,void 0,e),e.$watch(a,o(r),!0)):e.$watch(a,o(r),!0)}}}]),angular.module("mediaPlayer.helpers",[]).factory("mp.throttle",["$timeout",function(e){return function(t,n,i,a){var o,s=0;"boolean"!=typeof n&&(a=i,i=n,n=void 0);var r=function(){var r=this,l=+new Date-s,c=arguments,d=functio
e("invalid literal: "+v)}var b=function(){function t(t){switch(!0){case 3===t:return[257,t-3,0];case 4===t:return[258,t-4,0];case 5===t:return[259,t-5,0];case 6===t:return[260,t-6,0];case 7===t:return[261,t-7,0];case 8===t:return[262,t-8,0];case 9===t:return[263,t-9,0];case 10===t:return[264,t-10,0];case 12>=t:return[265,t-11,1];case 14>=t:return[266,t-13,1];case 16>=t:return[267,t-15,1];case 18>=t:return[268,t-17,1];case 22>=t:return[269,t-19,2];case 26>=t:return[270,t-23,2];case 30>=t:return[271,t-27,2];case 34>=t:return[272,t-31,2];case 42>=t:return[273,t-35,3];case 50>=t:return[274,t-43,3];case 58>=t:return[275,t-51,3];case 66>=t:return[276,t-59,3];case 82>=t:return[277,t-67,4];case 98>=t:return[278,t-83,4];case 114>=t:return[279,t-99,4];case 130>=t:return[280,t-115,4];case 162>=t:return[281,t-131,5];case 194>=t:return[282,t-163,5];case 226>=t:return[283,t-195,5];case 257>=t:return[284,t-227,5];case 258===t:return[285,t-258,0];default:e("invalid length: "+t)}}var n,i,a=[];for(n=3;258>=n;n++)i=t(n),a[n]=i[2]<<24|i[1]<<16|i[0];return a}();p&&new Uint32Array(b);var w=0,k=1;o.prototype.g=function(){for(;!this.o;){var t=s(this,3);switch(1&t&&(this.o=!0),t>>>=1){case 0:var n=this.input,i=this.c,a=this.b,o=this.a,r=d,c=d,u=d,m=a.length,h=d;switch(this.d=this.f=0,r=n[i++],r===d&&e(Error("invalid uncompressed block header: LEN (first byte)")),c=r,r=n[i++],r===d&&e(Error("invalid uncompressed block header: LEN (second byte)")),c|=r<<8,r=n[i++],r===d&&e(Error("invalid uncompressed block header: NLEN (first byte)")),u=r,r=n[i++],r===d&&e(Error("invalid uncompressed block header: NLEN (second byte)")),u|=r<<8,c===~u&&e(Error("invalid uncompressed block header: length verify")),i+c>n.length&&e(Error("input buffer is broken")),this.k){case w:for(;o+c>a.length;){if(h=m-o,c-=h,p)a.set(n.subarray(i,i+h),o),o+=h,i+=h;else for(;h--;)a[o++]=n[i++];this.a=o,a=this.e(),o=this.a}break;case k:for(;o+c>a.length;)a=this.e({t:2});break;default:e(Error("invalid inflate mode"))}if(p)a.set(n.subarray(i,i+c),o),o+=c,i+=c;else for(;c--;)a[o++]=n[i++];this.c=i,this.a=o,this.b=a;break;case 1:this.l(L,B);break;case 2:l(this);break;default:e(Error("unknown BTYPE: "+t))}}return this.q()};var $,S,C=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],M=p?new Uint16Array(C):C,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],A=p?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],I=p?new Uint8Array(E):E,T=[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=p?new Uint16Array(T):T,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=p?new Uint8Array(P):P,F=new(p?Uint8Array:Array)(288);for($=0,S=F.length;S>$;++$)F[$]=143>=$?8:255>=$?9:279>=$?7:8;var O,U,L=a(F),R=new(p?Uint8Array:Array)(30);for(O=0,U=R.length;U>O;++O)R[O]=5;var B=a(R);o.prototype.l=function(e,t){var n=this.b,i=this.a;this.r=e;for(var a,o,l,c,d=n.length-258;256!==(a=r(this,e));)if(256>a)i>=d&&(this.a=i,n=this.e(),i=this.a),n[i++]=a;else for(o=a-257,c=A[o],0<I[o]&&(c+=s(this,I[o])),a=r(this,t),l=D[a],0<N[a]&&(l+=s(this,N[a])),i>=d&&(this.a=i,n=this.e(),i=this.a);c--;)n[i]=n[i++-l];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 a,o,l,c,d=n.length;256!==(a=r(this,e));)if(256>a)i>=d&&(n=this.e(),d=n.length),n[i++]=a;else for(o=a-257,c=A[o],0<I[o]&&(c+=s(this,I[o])),a=r(this,t),l=D[a],0<N[a]&&(l+=s(this,N[a])),i+c>d&&(n=this.e(),d=n.length);c--;)n[i]=n[i++-l];for(;8<=this.d;)this.d-=8,this.c--;this.a=i},o.prototype.e=function(){var e,t,n=new(p?Uint8Array:Array)(this.a-32768),i=this.a-32768,a=this.b;if(p)n.set(a.subarray(32768,n.length));else for(e=0,t=n.length;t>e;++e)n[e]=a[e+32768];if(this.i.push(n),this.n+=n.length,p)a.set(a.subarray(i,i+32768));else for(e=0;32768>e;++e)a[e]=a[i+e];return this.a=32768,a},o.prototype.D=function(e){var t,n,i,a,o=this.input.length/this.c+1|0,s=this.input,r=this.b;return e&&("number"==typeof e.t&&(o=e.t),"number"==typeof e.z&&(o+=e.z)),2>o?(
for(rt=0;8>rt;++rt)it[at+rt*pi-1]=129,ot[st+rt*pi-1]=129;0<et.d&&(tt[nt-1-pi]=it[at-1-pi]=ot[st-1-pi]=129)}var lt=et.Xc,ct=16*+et.i,dt=et.Sc,ut=8*+et.i,pt=et.Vc,mt=8*+et.i,ht=et.z,gt=m;if(0<et.d)t(tt,nt-pi,lt,ct,16),t(it,at-pi,dt,ut,8),t(ot,st-pi,pt,mt,8);else if(0==et.i){for(i=0;21>i;++i)tt[nt-pi-1+i]=127;for(i=0;9>i;++i)it[at-pi-1+i]=127;for(i=0;9>i;++i)ot[st-pi-1+i]=127}if(et.wa){var ft=nt-pi+16;0<et.d&&(et.i>=et.Ma-1?tt[ft+0]=tt[ft+1]=tt[ft+2]=tt[ft+3]=lt[ct+15]:t(tt,ft+0,lt,ct+16,4));for(var _t=0;4>_t;++_t)tt[_t+ft+4*pi]=tt[_t+ft+4*pi]=tt[_t+ft+8*pi]=tt[_t+ft+12*pi]=tt[_t+ft+0];for(gt=0;16>gt;gt++){var vt=tt,yt=nt+ga[gt];la[et.Eb[gt]](vt,yt),et.Oa&1<<gt?Li(ht,16*+gt,vt,yt,0):et.ja&1<<gt&&Bi(ht,16*+gt,vt,yt)}}else{var bt=he(et,et.Eb[0]);if(ca[bt](tt,nt),et.ja)for(gt=0;16>gt;gt++)vt=tt,yt=nt+ga[gt],et.Oa&1<<gt?Li(ht,16*+gt,vt,yt,0):et.ja&1<<gt&&Bi(ht,16*+gt,vt,yt)}if(bt=he(et,et.Tc),da[bt](it,at),da[bt](ot,st),983040&et.ja){var wt=et.z,kt=256;983040&et.Oa?Ri(wt,kt,it,at):ji(wt,kt,it,at)}if(15728640&et.ja){var $t=et.z,kt=320;15728640&et.Oa?Ri($t,kt,ot,st):ji($t,kt,ot,st)}et.d<et.hb-1&&(t(lt,ct,tt,nt+15*pi,16),t(dt,ut,it,at+7*pi,8),t(pt,mt,ot,st+7*pi,8));var St=e;if(0<St.A){var Ct=St.M[1+St.i],Mt=St.La[1+St.i].Nb,xt=St.Zb[St.Lb];St.ga.oc&&(xt+=St.ga.Lc[0],St.wa&&(xt+=St.ga.Gc[0])),xt=0>xt?0:xt>63?63:xt,Ct.zc=xt,0<St.ga.kb&&(xt=4<St.ga.kb?xt>>2:xt>>1,xt>9-St.ga.kb&&(xt=9-St.ga.kb)),Ct.yc=1>xt?1:xt,Ct.ab=(!Mt||St.wa)+0}for(var At=m,Et=8*St.Ja*St.r,It=St.ca,Tt=St.da+16*St.i+16*St.Ja*St.H,Dt=St.aa,Pt=St.ba+8*St.i+Et,Nt=St.ra,Ft=St.sa+8*St.i+Et,At=0;16>At;++At)t(It,Tt+At*St.H,St.Ea,+hi+At*pi,16);for(At=0;8>At;++At)t(Dt,Pt+At*St.r,St.Ea,+gi+At*pi,8),t(Nt,Ft+At*St.r,St.Ea,+fi+At*pi,8)}var Ot=e,Ut=s,Lt=1,Rt=Ot.oa;if(Ot.qb){var Bt=Ot.rc,Lt=Lt&WebPWorkerSync(Bt);if(p(Bt.a==OK),Lt){if(Rt.N=Ut,Rt.ha=Ot.Ja,Rt.d=Ot.d,Rt.W=Ot.W,Rt.W){var jt=Rt.M;Rt.M=Ot.M,Ot.M=jt}WebPWorkerLaunch(Bt),++Ot.Ja==Ot.jb&&(Ot.Ja=0)}}else{Rt.d=Ot.d,Rt.W=Ot.W;t:{var qt=1,Ht=Ot.oa,Vt=pa[Ot.A],zt=Vt*Ot.H,Wt=parseInt(Vt/2)*Ot.r,Gt=16*Ht.ha*Ot.H,Kt=8*Ht.ha*Ot.r,Yt=Ot.ca,Zt=Ot.da-zt+Gt,Xt=Ot.aa,Jt=Ot.ba-Wt+Kt,tn=Ot.ra,an=Ot.sa-Wt+Kt,on=0==Ht.d,rn=(Ht.d>=Ot.hb-1)+0,ln=16*Ht.d,cn=16*(Ht.d+1);if(Ht.W){var dn=Ot,un=g,pn=dn.oa.d;for(p(dn.oa.W),un=dn.lb;un<dn.wb;++un){var mn=dn,hn=un,gn=pn,fn=mn.oa,_n=mn.H,vn=fn.M[1+hn],yn=mn.ca,bn=mn.da+16*fn.ha*_n+16*hn,wn=vn.zc,kn=vn.yc,$n=2*wn+kn;if(0!=wn)if(1==mn.A)hn>0&&Xi(yn,bn,_n,$n+4),vn.ab&&Qi(yn,bn,_n,$n),gn>0&&Zi(yn,bn,_n,$n+4),vn.ab&&Ji(yn,bn,_n,$n);else{var Sn=mn.r,Cn=mn.aa,Mn=mn.ba+8*fn.ha*Sn+8*hn,xn=mn.ra,An=mn.sa+8*fn.ha*Sn+8*hn,En=mn.Ac.fb?wn>=40?2:wn>=15?1:0:wn>=40?3:wn>=20?2:wn>=15?1:0;hn>0&&(Hi(yn,bn,_n,$n+4,kn,En),zi(Cn,Mn,xn,An,Sn,$n+4,kn,En)),vn.ab&&(Gi(yn,bn,_n,$n,kn,En),Yi(Cn,Mn,xn,An,Sn,$n,kn,En)),gn>0&&(qi(yn,bn,_n,$n+4,kn,En),Vi(Cn,Mn,xn,An,Sn,$n+4,kn,En)),vn.ab&&(Wi(yn,bn,_n,$n,kn,En),Ki(Cn,Mn,xn,An,Sn,$n,kn,En))}}}if(Ut.put){if(on?(Ut.y=Ot.ca,Ut.D=Ot.da+Gt,Ut.c=Ot.aa,Ut.B=Ot.ba+Kt,Ut.S=Ot.ra,Ut.C=Ot.sa+Kt):(ln-=Vt,Ut.y=Yt,Ut.D=Zt,Ut.c=Xt,Ut.B=Jt,Ut.S=tn,Ut.C=an),rn||(cn-=Vt),cn>Ut.K&&(cn=Ut.K),Ot.Ga!=h&&cn>ln&&(0==ln?(Ut.p=U(Ot,ln,cn-ln),Ut.q=0):Ut.q=U(Ot,ln,cn-ln),Ut.p==h)){Lt=ye(Ot,nn,"Could not decode alpha data.");break t}if(ln<Ut.k){var In=Ut.k-ln,ln=Ut.k;p(!(1&In)),Ut.D+=Ot.H*In,Ut.B+=Ot.r*(In>>1),Ut.C+=Ot.r*(In>>1),Ut.p!=h&&(Ut.q+=Ut.width*In)}cn>ln&&(Ut.D+=Ut.t,Ut.B+=Ut.t>>1,Ut.C+=Ut.t>>1,Ut.p!=h&&(Ut.q+=Ut.t),Ut.w=ln-Ut.k,Ut.m=Ut.Ka-Ut.t,Ut.h=cn-ln,qt=Ut.put(Ut))}Ht.ha+1==Ot.jb&&!rn&&(t(Ot.ca,Ot.da-zt,Yt,Zt+16*Ot.H,zt),t(Ot.aa,Ot.ba-Wt,Xt,Jt+8*Ot.r,Wt),t(Ot.ra,Ot.sa-Wt,tn,an+8*Ot.r,Wt)),Lt=qt}}if(!Lt){l=ye(e,"VP8_STATUS_USER_ABORT","Output aborted.");break e}}var Tn;if(!(Tn=e.qb&&!WebPWorkerSync(e.rc))){var Dn;(Dn=0<e.fc)&&(p(e),p(0<e.fc),Dn=!1),Tn=Dn}l=Tn?0:1}var Pn=l;s.Pb&&s.Pb(s),l=1&Pn}return l?(e.za=0,l):(Se(e),0)}function Se(e){e!=h&&(e.ib&&(e.ib=0),e.ib=h,e.Gb=0,e.za=0)}function Ce(e,t){return e+(1<<t)-1>>t}function Me(e,t,n,i,a){var o=Xa[n]+Ja[t]>>Aa;t=Za[t],i[a+0]=Qa[e+Ya[n]-Ea],i[a+1]=Qa[e+o-Ea],i[a+2]=Qa[e+t-Ea]}function xe(e,t,n,i,a){var o=Xa[n]+Ja[t]>>Aa;t=Za[t],i[a+0]=248&Qa[e+Ya[n]
this.WebPGetDecoderVersion=this.Ld=function(){return 512};var ka=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],$a=[[173,148,140,0],[176,155,140,135,0],[180,157,141,134,130,0],[254,254,243,230,196,177,153,140,133,130,129,0]],Sa=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],Ca=u([di,ui],"");c(4,f);var Ma=[[0,0,0,0],[1,0,0,0],[0,1,0,0],[1,1,0,0],[0,0,1,0],[1,0,1,0],[0,1,1,0],[1,1,1,0],[0,0,0,1],[1,0,0,1],[0,1,0,1],[1,1,0,1],[0,0,1,1],[1,0,1,1],[0,1,1,1],[1,1,1,1]],xa=134480385,Aa=16,Ea=-227,Ia=482,Ta=[Ue,function(e){return e},function(e,t,n){return t[n+0]},function(e,t,n){return t[n+1]},function(e,t,n){return t[n-1]},function(e,t,n){return Ne(Ne(e,t[n+1]),t[n+0])},function(e,t,n){return Ne(e,t[n-1])},function(e,t,n){return Ne(e,t[n+0])},function(e,t,n){return Ne(t[n-1],t[n+0])},function(e,t,n){return Ne(t[n+0],t[n+1])},function(e,t,n){return Ne(Ne(e,t[n-1]),Ne(t[n+0],t[n+1]))},function(e,t,n){return 0>=Math.abs((e>>24&255)-(t[n-1]>>24&255))-Math.abs((t[n+0]>>24&255)-(t[n-1]>>24&255))+(Math.abs((e>>16&255)-(t[n-1]>>16&255))-Math.abs((t[n+0]>>16&255)-(t[n-1]>>16&255)))+(Math.abs((e>>8&255)-(t[n-1]>>8&255))-Math.abs((t[n+0]>>8&255)-(t[n-1]>>8&255)))+(Math.abs((255&e)-(255&t[n-1]))-Math.abs((255&t[n+0])-(255&t[n-1])))?t[n+0]:e},function(e,t,n){return(Fe((e>>24&255)+(t[n+0]>>24&255)-(t[n-1]>>24&255))<<24|Fe((e>>16&255)+(t[n+0]>>16&255)-(t[n-1]>>16&255))<<16|Fe((e>>8&255)+(t[n+0]>>8&255)-(t[n-1]>>8&255))<<8|Fe((255&e)+(255&t[n+0])-(255&t[n-1])))>>>0},function(e,t,n){var i=t[n-1];return e=Ne(e,t[n+0]),(Oe(e>>24&255,i>>24&255)<<24|Oe(e>>16&255,i>>16&255)<<16|Oe(e>>8&255,i>>8&255)<<8|Oe(e>>0&255,i>>0&255))>>>0},Ue,Ue],Da={Cc:f,Bc:f,Kc:f},Pa=16,Na=16,Fa=16,Oa=[2,3,7],Ua=[3,3,11],La=0,Ra=1,Ba=2,ja=3,qa=4,Ha=[xn+An,xn,xn,xn,40],Va=19,za=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],Wa=120,Ga=[24,7,23,25,40,6,39,41,22,26,38,42,56,5,55,57,21,27,54,58,37,43,72,4,71,73,20,28,53,59,70,74,36,44,88,69,75,52,60,3,87,89,19,29,86,90,35,45,68,76,85,91,51,61,104,2,103,105,18,30,102,106,34,46,84,92,67,77,101,107,50,62,120,1,119,121,83,93,17,31,100,108,66,78,118,122,33,47,117,123,49,63,99,109,82,94,0,116,124,65,79,16,32,98,110,48,115,125,81,95,64,114,126,97,111,80,113,127,96,112],Ka=1<<Aa-1,Ya=c(256,0),Za=c(256,0),Xa=c(256,_),Ja=c(256,_),Qa=c(Ia-Ea,f),eo=c(Ia-Ea,f),to=0,no=Array(Xt),io=[function(e,t,n,i,a,o,s,r,l,c,d,u,p){mt(e,t,n,i,a,o,s,r,l,c,d,u,p,Me,3)},ht,function(e,t,n,i,a,o,s,r,l,c,d,u,p){mt(e,t,n,i,a,o,s,r,l,c,d,u,p,Ie,3)},gt,ft,_t,function(e,t,n,i,a,o,s,r,l,c,d,u,p){mt(e,t,n,i,a,o,s,r,l,c,d,u,p,xe,2)},ht,gt,ft,_t];this.Hd=function(e,t,n,i){return Nt(Lt,e,t,n,i)},this.Id=function(e,t,n,i){return Nt(Rt,e,t,n,i)},this.Jd=function(e,t,n,i){return Nt(Ht,e,t,n,i)},this.Ed=function(e,t,n,i){return Nt(qt,e,t,n,i)},this.Fd=function(e,t,n,i){return Nt(Bt,e,t,n,i)},this.Gd=function(e,t,n,i){return Nt(jt,e,t,n,i)},this.WebPDecode=this.Dd=function(t,n,i){var a=e(un),o="VP8StatusCode";return i==h?tn:(o=Ft(t,[0],[n],i.input),o!=Qt?o==rn?nn:o:(a.j=i.j,a.Qa=i.Qa,o=Pt(t,0,[n],a)))}}}();var _logTimer=(new Date).getTime();!function(e){function t(){return{shortIndexes:{},fullTexts:{}}}function n(e){var t="%"==e.charAt(0);return e=e.replace(s," ").replace(r,""),e=e.replace(/[^A-Za-z0-9]/g,function(e){return Config.LatinizeMap[e]||e}),e=e.toLowerCase(),t&&(e="%"+e),e}function i(e){return e&&e.toLowerCase()||""}function a(e,t,i){if(void 0!==i.fullTexts[e])return!1;if(t=n(t),!t.length)return!1;var a=i.shortIndexes;i.fullTexts[e]=t,angular.forEach(t.split(" "),function(t){var n,i,o=Math.min(t.length,3);for(i=1;o>=i;i++)n=t.substr(0,i),void 0===a[n]?a[n]=[e]:a[n].push(e)})}function o(e,t){var i=t.shortIndexes,a=t.fullTexts;e=n(e);var o,s,r,l,c,d=e.split(" "),u=!1;for(s=0;s<d.length;s++){if(o=i[d[s].substr(0,3)],!o){u=[];break}(u===!1||u.length>o.length)&&(u=o)}for(o={},r=0;r<u.length;r++){for(c=!0,l=a[u[r]],s=0;s<d.length;s++)if(-1==l.indexOf(d[s])){c=!1;break}c&&(o[u[r]]=!0)}return o}var s=/[`~!@#$%^&*()\-_=+\[\]\\|{}'";:\/?.>,<\s]+/g,r=/^\s+|\s$/g;e.SearchIndexManager={createIndex:t,indexObject:a,cleanSearchText:n,cleanUsername:i,search:o}}(window),TLSerialization.prototype.cr
break;case"messageEntityEmail":if(a.noLinks){p=!0;break}_.push('<a href="',encodeEntities("mailto:"+u),'" target="_blank">',encodeEntities(u),"</a>");break;case"messageEntityUrl":case"messageEntityTextUrl":if(a.noLinks){p=!0;break}var h=d.url||u;h.match(/^https?:\/\//i)||(h="http://"+h);var $;if("messageEntityTextUrl"==d._)h="tg://unsafe_url?url="+encodeURIComponent(h);else if($=h.match(/^https?:\/\/telegram\.me\/(.+)/)){var S=$[1].split("/");switch(S[0]){case"joinchat":h="tg://join?invite="+S[1];break;case"addstickers":h="tg://addstickers?set="+S[1];break;default:var x=S[0].split("?");h="tg://resolve?domain="+x[0]+(x[1]?"&"+x[1]:"")}}_.push('<a href="',encodeEntities(h),'" target="_blank">',s(u,d.nested,a),"</a>");break;case"messageEntityLinebreak":_.push(a.noLinebreaks?" ":"<br/>");break;case"messageEntityEmoji":_.push('<span class="emoji emoji-',d.coords.category,"-",m*d.coords.column,"-",m*d.coords.row,'" ','title="',d.title,'">',":",d.title,":</span>"),c=!0;break;case"messageEntityBotCommand":if(a.noLinks||a.noCommands||l){p=!0;break}var A,E,I=u.substr(1);-1!=(E=I.indexOf("@"))?(A=I.substr(E),I=I.substr(0,E)):A=a.fromBot,_.push('<a href="',encodeEntities("tg://bot_command?command="+encodeURIComponent(I)+(A?"&bot="+encodeURIComponent(A):"")),'">',encodeEntities(u),"</a>");break;case"messageEntityBold":_.push("<strong>",s(u,d.nested,a),"</strong>");break;case"messageEntityItalic":_.push("<em>",s(u,d.nested,a),"</em>");break;case"messageEntityCode":_.push("<code>",encodeEntities(u),"</code>");break;case"messageEntityPre":_.push("<pre><code",d.language?' class="language-'+encodeEntities(d.language)+'"':"",">",encodeEntities(u),"</code></pre>");break;default:p=!0}v=d.offset+(p?0:d.length)}return _.push(encodeEntities(n.substr(v))),n=t(_.join("")),c&&!a.nested&&(n=n.replace(/\ufe0f|&#65039;|&#65533;|&#8205;/g,"",n),n=n.replace(/<span class="emoji emoji-(\d)-(\d+)-(\d+)"(.+?)<\/span>/g,'<span class="emoji emoji-spritesheet-$1" style="background-position: -$2px -$3px;" $4</span>')),e.trustAs("html",n)}function l(e){for(var t=e.length,n=e.split("(").length-1,i=e.split(")").length-1;i>n&&")"===e.charAt(t-1);)e=e.substr(0,t-1),i--,t--;return n>i&&(e=e.replace(/\)+$/,"")),e}function c(e,t){if(h)return e;if(!e||!e.length)return"";t=t||{},e=e.replace(/\ufe0f/g,"",e);for(var n,i,a=e,e=[];n=a.match(k);)e.push(a.substr(0,n.index)),e.push(n[8]?(d=u[n[8]])&&(i=p[d][1][0])?":"+i+":":n[0]:n[0]),a=a.substr(n.index+n[0].length);return e.push(a),e.join("")}var d,u={},p=Config.Emoji,m=18,h=-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS|Android/i),g="\\u0023\\u20E3|\\u00a9|\\u00ae|\\u203c|\\u2049|\\u2139|[\\u2194-\\u2199]|\\u21a9|\\u21aa|\\u231a|\\u231b|\\u23e9|[\\u23ea-\\u23ec]|\\u23f0|\\u24c2|\\u25aa|\\u25ab|\\u25b6|\\u2611|\\u2614|\\u26fd|\\u2705|\\u2709|[\\u2795-\\u2797]|\\u27a1|\\u27b0|\\u27bf|\\u2934|\\u2935|[\\u2b05-\\u2b07]|\\u2b1b|\\u2b1c|\\u2b50|\\u2b55|\\u3030|\\u303d|\\u3297|\\u3299|[\\uE000-\\uF8FF\\u270A-\\u2764\\u2122\\u25C0\\u25FB-\\u25FE\\u2615\\u263a\\u2648-\\u2653\\u2660-\\u2668\\u267B\\u267F\\u2693\\u261d\\u26A0-\\u26FA\\u2708\\u2702\\u2601\\u260E]|[\\u2600\\u26C4\\u26BE\\u23F3\\u2764]|\\uD83D[\\uDC00-\\uDFFF]|\\uD83C[\\uDDE8-\\uDDFA<EFBFBD>]\\uD83C[\\uDDEA-\\uDDFA<EFBFBD>]|[0-9]\\u20e3|\\uD83C[\\uDC00-\\uDFFF]";for(d in p)u[p[d][0]]=d;var f="a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-
this.updateSession());var l=this.updateSentMessage(e.bad_msg_id);this.pushResend(l.msg_id),this.ackMessage(n)}break;case"message":this.serverMessages.push(e.msg_id),this.processMessage(e.body,e.msg_id,a);break;case"new_session_created":this.ackMessage(n),this.processMessageAck(e.first_msg_id),this.applyServerSalt(e.server_salt);var c=this;i.get("dc").then(function(t){t==c.dcID&&!c.upload&&h&&h(e)});break;case"msgs_ack":for(var s=0;s<e.msg_ids.length;s++)this.processMessageAck(e.msg_ids[s]);break;case"msg_detailed_info":if(!this.sentMessages[e.msg_id]){this.ackMessage(e.answer_msg_id);break}case"msg_new_detailed_info":this.reqResendMessage(e.answer_msg_id);break;case"msgs_state_info":if(this.ackMessage(e.answer_msg_id),this.lastResendReq&&this.lastResendReq.req_msg_id==e.req_msg_id&&this.pendingResends.length){var s,d,u;for(s=0;s<this.lastResendReq.resend_msg_ids.length;s++)d=this.lastResendReq.resend_msg_ids[s],u=this.pendingResends.indexOf(d),-1!=u&&this.pendingResends.splice(u,1)}break;case"rpc_result":this.ackMessage(n);var p=e.req_msg_id,r=this.sentMessages[p];if(this.processMessageAck(p),r){var m=r.deferred;if("rpc_error"==e.result._){var g=this.processError(e.result);console.log(dT(),"Rpc error",g),m&&m.reject(g)}else{if(m){if(Config.Modes.debug)console.log(dT(),"Rpc response",e.result);else{var f=e.result._;f||(f=e.result.length>5?"[.."+e.result.length+"..]":e.result),console.log(dT(),"Rpc response",f)}r.deferred.resolve(e.result)}r.isAPI&&(this.connectionInited=!0)}delete this.sentMessages[p]}break;default:this.ackMessage(n),h&&h(e)}},{getNetworker:function(e,t,n,i){return new u(e,t,n,i)},setUpdatesProcessor:function(e){h=e},stopAll:m,startAll:p}}]),angular.module("izhukov.mtproto.wrapper",["izhukov.utils","izhukov.mtproto"]).factory("MtpApiManager",["Storage","MtpAuthorizer","MtpNetworkerFactory","MtpSingleInstanceService","AppRuntimeManager","ErrorService","qSync","$q","TelegramMeWebService",function(e,t,n,i,a,o,s,r,l){function c(e){f!==e&&(f=e,l.setAuthorized(f))}function d(t,n){e.set({dc:t,user_auth:angular.extend({dcID:t},n)}),c(!0),b=t}function u(){for(var t=[],n=1;5>=n;n++)t.push("dc"+n+"_auth_key");return e.get.apply(e,t).then(function(n){for(var i=[],a=0;a<n.length;a++)n[a]&&i.push(m("auth.logOut",{},{dcID:a+1}));return r.all(i).then(function(){e.remove("dc","user_auth"),b=!1,c(!1)},function(n){e.remove.apply(t),e.remove("dc","user_auth"),b=!1,n.handled=!0,c(!1)})})}function p(i,a){a=a||{};var o=a.fileUpload||a.fileDownload?v:_;if(!i)throw new Exception("get Networker without dcID");if(void 0!==o[i])return s.when(o[i]);var l="dc"+i+"_auth_key",c="dc"+i+"_server_salt";return e.get(l,c).then(function(s){if(void 0!==o[i])return o[i];var d=s[0],u=s[1];if(d&&512==d.length){var p=bytesFromHex(d),m=bytesFromHex(u);return o[i]=n.getNetworker(i,p,m,a)}return a.createNetworker?t.auth(i).then(function(t){var s={};return s[l]=bytesToHex(t.authKey),s[c]=bytesToHex(t.serverSalt),e.set(s),o[i]=n.getNetworker(i,t.authKey,t.serverSalt,a)},function(e){return console.log("Get networker error",e,e.stack),r.reject(e)}):r.reject({type:"AUTH_KEY_EMPTY",code:401})})}function m(t,n,i){i=i||{};var s,l,d=r.defer(),h=function(e){e?angular.isObject(e)||(e={message:e}):e={type:"ERROR_EMPTY"},d.reject(e),i.noErrorBox||(e.input=t,e.stack=e.originalError&&e.originalError.stack||e.stack||(new Error).stack,setTimeout(function(){e.handled||(401==e.code?u()["finally"](function(){"http:"!=location.protocol||Config.Modes.http||-1==Config.App.domains.indexOf(location.hostname)?(location.hash="/login",a.reload()):location.href=location.href.replace(/^http:/,"https:")}):o.show({error:e}),e.handled=!0)},100))},g=(new Error).stack;if(!g)try{window.unexistingFunction()}catch(f){g=f.stack||""}var _=function(a){return(l=a).wrapApiCall(t,n,i).then(function(e){d.resolve(e)},function(o){if(console.error(dT(),"Error",o.code,o.type,b,s),401==o.code&&b==s)e.remove("dc","user_auth"),c(!1),h(o);else if(401==o.code&&b&&s!=b){if(void 0===y[s]){var u=r.defer();m("auth.exportAuthorization",{dc_id:s},{noErrorBox:!0}).then(function(e){m("auth.importAuthorization"
e.rTitle=s.wrapRichText(e.title||e.author,{noLinks:!0,noLinebreaks:!0});var a="";if("GitHub"==e.site_name){var r=e.url.match(/(https?:\/\/github\.com\/[^\/]+\/[^\/]+)/);r&&(a=r[0]+"/issues/{1}")}if(e.rDescription=s.wrapRichText(e.description,{contextSite:e.site_name||"external",contextHashtag:a}),t&&(void 0===p[e.id]&&(p[e.id]={}),p[e.id][t]=!0,u[e.id]=e),void 0===u[e.id]?u[e.id]=e:safeReplaceObject(u[e.id],e),!t&&void 0!==p[e.id]){var l=[];angular.forEach(p[e.id],function(e,t){l.push(t)}),i.$broadcast("webpage_updated",{id:e.id,msgs:l})}}function l(t,n){var a=i.$new(!0);a.webpageID=t,a.messageID=n,e.open({templateUrl:templateUrl("embed_modal"),windowTemplateUrl:templateUrl("media_modal_layout"),controller:"EmbedModalController",scope:a,windowClass:"photo_modal_window"})}function c(e){var t=angular.copy(u[e])||{_:"webPageEmpty"};return t.photo&&t.photo.id&&(t.photo=o.wrapForHistory(t.photo.id,{website:"photo"!=t.type&&"video"!=t.type})),t}function d(e){var i=c(e);if(!i.embed_url)return i;var a=$(window).width()-(Config.Mobile?0:10),o=$(n).height()-(Config.Mobile?92:150);!Config.Mobile&&a>800&&(a-=208);var s={width:a,height:o};if(i.embed_width&&i.embed_height){var r=calcImageInBox(i.embed_width,i.embed_height,a,o);s.width=r.w,s.height=r.h}else s.height=s.width=Math.min(a,o);var l=Config.Modes.chrome_packed?"webview":"iframe",d="iframe"!=i.embed_type?i.embed_type||"text/html":"text/html",u="<"+l+' src="'+encodeEntities(i.embed_url)+'" type="'+encodeEntities(d)+'" frameborder="0" border="0" webkitallowfullscreen mozallowfullscreen allowfullscreen width="'+s.width+'" height="'+s.height+'" style="width: '+s.width+"px; height: "+s.height+'px;"></'+l+">";return s.html=t.trustAs("html",u),i.full=s,i}var u={},p={};return i.$on("apiUpdate",function(e,t){switch(t._){case"updateWebPage":r(t.webpage)}}),{saveWebPage:r,openEmbed:l,wrapForFull:d,wrapForHistory:c}}]).service("AppVideoManager",["$sce","$rootScope","$modal","$window","MtpApiFileManager","AppUsersManager","FileManager","qSync",function(e,t,n,i,a,o,s,r){function l(e,t){t&&angular.extend(e,t),g[e.id]=e,e.thumb&&"photoCachedSize"==e.thumb._&&(a.saveSmallFile(e.thumb.location,e.thumb.bytes),e.thumb.size=e.thumb.bytes.length,delete e.thumb.bytes,e.thumb._="photoSize")}function c(e){if(void 0!==f[e])return f[e];var t=angular.copy(g[e]),n=Math.min(_-80,Config.Mobile?210:150),i=Math.min(v-100,Config.Mobile?210:150),a=t.thumb,o={placeholder:"img/placeholders/VideoThumbConversation.gif",width:n,height:i};return a&&"photoSizeEmpty"!=a._&&(a.w/a.h>n/i?o.height=parseInt(a.h*n/a.w):(o.width=parseInt(a.w*i/a.h),o.width>n&&(o.height=parseInt(o.height*n/o.width),o.width=n)),o.location=a.location,o.size=a.size),t.thumb=o,f[e]=t}function d(e){var t=c(e),n=Math.min($(window).width()-(Config.Mobile?0:60),542),a=$(i).height()-(Config.Mobile?92:150),o={placeholder:"img/placeholders/VideoThumbModal.gif",width:n,height:a};if(t.w&&t.h){var s=calcImageInBox(t.w,t.h,n,a);o.width=s.w,o.height=s.h}else o.height=o.width=Math.min(n,a);return t.full=o,t.fullThumb=angular.copy(t.thumb),t.fullThumb.width=o.width,t.fullThumb.height=o.height,t}function u(e,i){var a=t.$new(!0);return a.videoID=e,a.messageID=i,n.open({templateUrl:templateUrl("video_modal"),windowTemplateUrl:templateUrl("media_modal_layout"),controller:"VideoModalController",scope:a,windowClass:"video_modal_window"})}function p(e){var t=g[e],n=f[e]||t||{},i={_:"inputVideoFileLocation",id:e,access_hash:t.access_hash};void 0===n.downloaded&&a.getDownloadedFile(i,t.size).then(function(){n.downloaded=!0},function(){n.downloaded=!1})}function m(n,i){var o=g[n],l=f[n]||o||{},c=o.mime_type||"video/ogg",d={_:"inputVideoFileLocation",id:n,access_hash:o.access_hash};if(l.downloaded&&!i){var u=a.getCachedFile(d);if(u)return r.when(u)}l.progress={enabled:!l.downloaded,percent:1,total:o.size};var p=a.downloadFile(o.dc_id,d,o.size,{mime:c,toFileEntry:i});return p.then(function(t){s.getFileCorrectUrl(t,c).then(function(t){l.url=e.trustAsResourceUrl(t)}),delete l.progress,l.downloaded=!0,console.log("video save done")},function(e){console.log("video download f
return 0>d&&c[2]&&(u+="@"+c[2]),a.sendText(d,u),e.$broadcast("history_focus",{peerString:n.getPeerString(d)}),!0}return!1}function d(){if(!p){if(p=!0,"registerProtocolHandler"in navigator){try{navigator.registerProtocolHandler("tg","#im?tgaddr=%s","Telegram Web")}catch(t){}try{navigator.registerProtocolHandler("web+tg","#im?tgaddr=%s","Telegram Web")}catch(t){}}$(document).on("click",function(e){var t=e.target;if(t&&"A"==t.tagName&&!t.onclick&&!t.onmousedown){var n=$(t).attr("href")||t.href||"",i=n.match(u);if(i&&c(i[3],!0))return cancelEvent(e)}}),e.$on("$routeUpdate",l),l()}}var u=/^(web\+)?tg:(\/\/)?(.+)/,p=!1;return{start:d}}]),angular.module("myApp.controllers",["myApp.i18n"]).controller("AppWelcomeController",["$scope","$location","MtpApiManager","ErrorService","ChangelogNotifyService","LayoutSwitchService",function(e,t,n,i,a,o){n.getUserID().then(function(e){return e?void t.url("/im"):"http:"!=location.protocol||Config.Modes.http||-1==Config.App.domains.indexOf(location.hostname)?void t.url("/login"):void(location.href=location.href.replace(/^http:/,"https:"))}),a.checkUpdate(),o.start()}]).controller("AppLoginController",["$scope","$rootScope","$location","$timeout","$modal","$modalStack","MtpApiManager","ErrorService","NotificationsManager","PasswordManager","ChangelogNotifyService","IdleManager","LayoutSwitchService","TelegramMeWebService","_",function(e,t,n,i,a,o,s,r,l,c,d,u,p,m,h){function g(){var t=(navigator.language||"").toLowerCase(),n=Config.LangCountries[t],i=!Config.Navigator.mobile;if(f(-1==["en","en-us","en-uk"].indexOf(t)?void 0!==n?n:t.indexOf("-")>0?t.split("-")[1].toUpperCase():"US":"US"),i){var a=e.credentials.phone_country;s.invokeApi("help.getNearestDc",{},{dcID:2,createNetworker:!0}).then(function(t){a==e.credentials.phone_country&&f(t.country),t.nearest_dc!=t.this_dc&&s.getNetworker(t.nearest_dc,{createNetworker:!0})})}}function f(e){if(e){var t,n;for(t=0;t<Config.CountryCodes.length;t++)if(n=Config.CountryCodes[t],n[0]==e)return _({name:h(n[1]+"_raw"),code:n[2]})}return _({name:h("country_select_modal_country_us_raw"),code:"+1"})}function _(t){$=t,e.credentials.phone_country!=t.code?e.credentials.phone_country=t.code:v(),e.$broadcast("country_selected"),e.$broadcast("value_updated")}function v(){var t,n,i,a=((e.credentials.phone_country||"")+(e.credentials.phone_number||"")).replace(/\D+/g,""),o=0,s=!1;if(a.length)if($&&!a.indexOf($.code.replace(/\D+/g,"")))s=$.name;else for(t=0;t<Config.CountryCodes.length;t++)for(n=2;n<Config.CountryCodes[t].length;n++)i=Config.CountryCodes[t][n].replace(/\D+/g,""),i.length>o&&!a.indexOf(i)&&(o=i.length,s=h(Config.CountryCodes[t][1]+"_raw"));e.credentials.phone_full=a,e.credentials.phone_country_name=s||h("login_controller_unknown_country_raw")}function y(e){s.setUserAuth(k.dcID,{id:e.user.id}),i.cancel(S),n.url("/im")}function b(){i.cancel(S),e.credentials.viaApp||(--e.callPending.remaining?S=i(b,1e3):(e.callPending.success=!1,s.invokeApi("auth.sendCall",{phone_number:e.credentials.phone_full,phone_code_hash:e.credentials.phone_code_hash},k).then(function(){e.callPending.success=!0})))}function w(){return c.getState(k).then(function(t){return e.password=t})}o.dismissAll(),u.start(),s.getUserID().then(function(e){return e?void n.url("/im"):"http:"!=location.protocol||Config.Modes.http||-1==Config.App.domains.indexOf(location.hostname)?void m.setAuthorized(!1):void(location.href=location.href.replace(/^http:/,"https:"))});var k={dcID:2,createNetworker:!0},$=!1;e.credentials={phone_country:"",phone_country_name:"",phone_number:"",phone_full:""},e.progress={},e.callPending={},e.about={},e.chooseCountry=function(){var e=a.open({templateUrl:templateUrl("country_select_modal"),controller:"CountrySelectModalController",windowClass:"countries_modal_window mobile_modal",backdrop:"single"});e.result.then(_)},e.$watch("credentials.phone_country",v),e.$watch("credentials.phone_number",v),g();var S;e.sendCode=function(){i.cancel(S),r.confirm({type:"LOGIN_PHONE_CORRECT",country_code:e.credentials.phone_country,phone_number:e.credentials.phone_number}).then(function(){
e.$broadcast("ui_peer_reply"))}function _(t){e.draftMessage.replyToMessage=c.wrapForDialog(t),e.$broadcast("ui_peer_reply"),E=!1}function v(){var t=e.draftMessage.replyToMessage;t&&e.historyState.replyKeyboard&&e.historyState.replyKeyboard.mid==t.mid&&!e.historyState.replyKeyboard.pFlags.hidden&&(e.historyState.replyKeyboard.pFlags.hidden=!0,e.$broadcast("ui_keyboard_update")),delete e.draftMessage.replyToMessage,e.$broadcast("ui_peer_reply")}function y(){e.draftMessage.fwdMessages&&e.draftMessage.fwdMessages.length&&(delete e.draftMessage.fwdMessages,e.$broadcast("ui_peer_reply"),I==e.curDialog.peer&&(I=!1))}function b(){if(e.draftMessage.fwdMessages&&e.draftMessage.fwdMessages.length){var t=e.draftMessage.fwdMessages.slice();y(),setTimeout(function(){c.forwardMessages(e.curDialog.peerID,t)},0)}}function w(t){return e.draftMessage.text=e.draftMessage.text&&"/"==e.draftMessage.text.charAt(0)?"":"/",e.$broadcast("ui_peer_draft",{focus:!0}),cancelEvent(t)}function k(){var t=e.curDialog.peerID,n=c.getReplyKeyboard(t);n&&(n=c.wrapReplyMarkup(n)),e.historyState.replyKeyboard=n;var i=n&&!n.pFlags.hidden&&("replyKeyboardForceReply"==n._||"replyKeyboardMarkup"==n._&&0>t);i?(_(n.mid),E=!0):E&&v();var a=n&&!n.pFlags.hidden&&"replyKeyboardMarkup"==n._;e.$broadcast("ui_keyboard_update",{enabled:a}),e.$emit("ui_panel_update",{blur:a})}function $(t){var n=e.historyState.replyKeyboard;return n&&(n.pFlags.hidden=!n.pFlags.hidden,k()),cancelEvent(t)}function S(t){if(t&&t.length){e.historyFilter.mediaType||e.historyState.skipped||c.readHistory(e.curDialog.inputPeer);var n={};n["draft"+e.curDialog.peerID]=t,i.set(n)}else i.remove("draft"+e.curDialog.peerID)}function C(){return"inputPeerChannel"==e.curDialog.inputPeer._?!1:void n.invokeApi("messages.setTyping",{peer:e.curDialog.inputPeer,action:{_:"sendMessageTypingAction"}})}function M(t){if(angular.isArray(t)&&t.length){var n={replyToMsgID:e.draftMessage.replyToMessage&&e.draftMessage.replyToMessage.mid,isMedia:e.draftMessage.isMedia};delete e.draftMessage.replyToMessage,t[0].lastModified&&t.sort(function(e,t){return e.lastModified-t.lastModified});for(var i=0;i<t.length;i++)c.sendFile(e.curDialog.peerID,t[i],n),e.$broadcast("ui_message_send");b()}}function x(t){if(t){var n=l.getDoc(t);if(n.id&&n.access_hash){var i={_:"inputMediaDocument",id:{_:"inputDocument",id:n.id,access_hash:n.access_hash}},a={replyToMsgID:e.draftMessage.replyToMessage&&e.draftMessage.replyToMessage.mid};c.sendOther(e.curDialog.peerID,i,a),e.$broadcast("ui_message_send"),b()}delete e.draftMessage.sticker,g()}}function A(t){t&&(c.sendText(e.curDialog.peerID,t),g(),delete e.draftMessage.sticker,delete e.draftMessage.text,delete e.draftMessage.command,e.$broadcast("ui_message_send"),e.$broadcast("ui_peer_draft"))}e.$watch("curDialog.peer",g),e.$on("user_update",angular.noop),e.$on("peer_draft_attachment",f),e.$on("reply_selected",function(e,t){_(t)}),e.$on("ui_typing",C),e.draftMessage={text:"",send:p,replyClear:v,fwdsClear:y},e.mentions={},e.commands={},e.$watch("draftMessage.text",S),e.$watch("draftMessage.files",M),e.$watch("draftMessage.sticker",x),e.$watch("draftMessage.command",A),e.$on("history_reply_markup",function(t,n){n.peerID==e.curDialog.peerID&&k()}),e.replyKeyboardToggle=$,e.toggleSlash=w;var E=!1,I=!1}]).controller("AppLangSelectController",["$scope","_","Storage","ErrorService","AppRuntimeManager",function(e,t,n,i,a){e.supportedLocales=Config.I18n.supported,e.langNames=Config.I18n.languages,e.curLocale=Config.I18n.locale,e.form={locale:Config.I18n.locale},e.localeSelect=function(t){t=t||e.form.locale,e.curLocale!==t&&i.confirm({type:"APPLY_LANG_WITH_RELOAD"}).then(function(){n.set({i18n_locale:t}).then(function(){a.reload()})},function(){e.form.locale=e.curLocale})}}]).controller("AppFooterController",["$scope","LayoutSwitchService",function(e,t){e.switchLayout=function(e){t.switchLayout(e)}}]).controller("PhotoModalController",["$q","$scope","$rootScope","$modalInstance","AppPhotosManager","AppMessagesManager","AppPeersManager","AppWebPagesManager","PeersSelectService","ErrorService",function(e,t,n,i,
e.selectedCount++)):i.close(t)},e.submitSelected=function(){if(e.selectedCount>0){var t=[];return angular.forEach(e.selectedContacts,function(e,n){t.push(n)}),i.close(t)}},e.deleteSelected=function(){if(e.selectedCount>0){var t=[];angular.forEach(e.selectedContacts,function(e,n){t.push(n)}),o.deleteContacts(t).then(function(){e.toggleEdit(!1)})}},e.importContact=function(){o.openImportContact()}}]).controller("PeerSelectController",["$scope","$modalInstance","$q","AppPeersManager","ErrorService",function(e,t,n,i,a){e.selectedPeers={},e.selectedPeerIDs=[],e.selectedCount=0,e.dialogSelect=function(o){if(!e.multiSelect){var s;if(e.confirm_type){var r=i.getPeerID(o),l=i.getPeer(r);s=a.confirm({type:e.confirm_type,peer_id:r,peer_data:l})}else s=n.when();return void s.then(function(){t.close(o)})}var r=i.getPeerID(o);if(e.selectedPeers[r]){delete e.selectedPeers[r],e.selectedCount--;var c=e.selectedPeerIDs.indexOf(r);c>=0&&e.selectedPeerIDs.splice(c,1)}else e.selectedPeers[r]=i.getPeer(r),e.selectedCount++,e.selectedPeerIDs.unshift(r)},e.submitSelected=function(){if(e.selectedCount>0){var n=[];return angular.forEach(e.selectedPeers,function(e,t){n.push(i.getPeerString(t))}),t.close(n)}},e.toggleSearch=function(){e.$broadcast("dialogs_search_toggle")}}]).controller("ChatCreateModalController",["$scope","$modalInstance","$rootScope","MtpApiManager","AppUsersManager","AppChatsManager","ApiUpdatesManager",function(e,t,n,i,a,o,s){e.group={name:""},e.createGroup=function(){if(e.group.name){e.group.creating=!0;var r=[];return angular.forEach(e.userIDs,function(e){r.push(a.getUserInput(e))}),i.invokeApi("messages.createChat",{title:e.group.name,users:r}).then(function(e){if(s.processUpdateMessage(e),e.updates&&e.updates.length){for(var i,a=0,r=e.updates.length;r>a;a++)if(i=e.updates[a],"updateNewMessage"==i._){n.$broadcast("history_focus",{peerString:o.getChatString(i.message.to_id.chat_id)});break}t.close()}})["finally"](function(){delete e.group.creating})}}}]).controller("ChatEditModalController",["$scope","$modalInstance","$rootScope","MtpApiManager","AppUsersManager","AppChatsManager","ApiUpdatesManager",function(e,t,n,i,a,o,s){var r=o.getChat(e.chatID);e.group={name:r.title},e.updateGroup=function(){if(e.group.name){if(e.group.name==r.title)return t.close();e.group.updating=!0;var a;return a=o.isChannel(e.chatID)?i.invokeApi("channels.editTitle",{channel:o.getChannelInput(e.chatID),title:e.group.name}):i.invokeApi("messages.editChatTitle",{chat_id:o.getChatInput(e.chatID),title:e.group.name}),a.then(function(t){s.processUpdateMessage(t);var i=o.getChatString(e.chatID);n.$broadcast("history_focus",{peerString:i})})["finally"](function(){delete e.group.updating})}}}]).controller("ChannelEditModalController",["$q","$scope","$modalInstance","$rootScope","MtpApiManager","AppUsersManager","AppChatsManager","AppProfileManager","ApiUpdatesManager",function(e,t,n,i,a,o,s,r,l){function c(){return a.invokeApi("channels.editTitle",{channel:s.getChannelInput(t.chatID),title:t.channel.title}).then(function(e){l.processUpdateMessage(e)})}function d(){return a.invokeApi("channels.editAbout",{channel:s.getChannelInput(t.chatID),about:t.channel.about})}var u=s.getChat(t.chatID),p={title:u.title};t.channel={title:u.title},r.getChannelFull(t.chatID).then(function(e){p.about=e.about,t.channel.about=e.about}),t.updateChannel=function(){if(t.channel.title.length){var n=[];return t.channel.title!=p.title&&n.push(c()),t.channel.about!=p.about&&n.push(d()),e.all(n).then(function(){var e=s.getChatString(t.chatID);i.$broadcast("history_focus",{peerString:e})})["finally"](function(){delete t.channel.updating})}}}]).controller("ChatInviteLinkModalController",["_","$scope","$timeout","$modalInstance","AppChatsManager","AppProfileManager","ErrorService",function(e,t,n,i,a,o,s){function r(){n(function(){t.$broadcast("ui_invite_select")},100)}function l(e){var n=a.getChat(t.chatID);return n.username?(t.exportedInvite={link:"https://telegram.me/"+n.username,"short":!0},void r()):(e&&(t.exportedInvite.revoking=!0),void o.getChatInviteLink(t.chatID,e).then(functio
noLinks:!0,noLinebreaks:!0})),a.dateText=We(a.date),n&&(Se[e]=a),a}function ce(e){if(void 0!==$e[e])return $e[e];var t=angular.copy(ke[e])||{id:e};t.media&&void 0!==t.media.progress&&(t.media.progress=ke[e].media.progress);var n=t.from_id&&r.getUser(t.from_id),i=n&&n.pFlags.bot&&n.username||!1,a=i||t.to_id&&(t.to_id.chat_id||t.to_id.user_id&&r.isBot(t.to_id.user_id));if(t.media)switch(t.media.caption&&t.media.caption.length&&(t.media.rCaption=v.wrapRichText(t.media.caption,{noCommands:!a,fromBot:i})),t.media._){case"messageMediaPhoto":t.media.photo=d.wrapForHistory(t.media.photo.id);break;case"messageMediaVideo":t.media.video=u.wrapForHistory(t.media.video.id);break;case"messageMediaDocument":t.media.document=p.wrapForHistory(t.media.document.id);break;case"messageMediaAudio":t.media.audio=h.wrapForHistory(t.media.audio.id);break;case"messageMediaGeo":var s="https://maps.google.com/?q="+t.media.geo.lat+","+t.media.geo["long"];t.media.mapUrl=o.trustAsResourceUrl(s);break;case"messageMediaVenue":var s;s="foursquare"==t.media.provider&&t.media.venue_id?"https://foursquare.com/v/"+encodeURIComponent(t.media.venue_id):"https://maps.google.com/?q="+t.media.geo.lat+","+t.media.geo["long"],t.media.mapUrl=o.trustAsResourceUrl(s);break;case"messageMediaContact":t.media.rFullName=v.wrapRichText(t.media.first_name+" "+(t.media.last_name||""),{noLinks:!0,noLinebreaks:!0});break;case"messageMediaWebPage":if(!t.media.webpage||"webPageEmpty"==t.media.webpage._||Config.Mobile){delete t.media;break}t.media.webpage=g.wrapForHistory(t.media.webpage.id)}else if(t.action)switch(t.action._){case"messageActionChatEditPhoto":case"messageActionChannelEditPhoto":t.action.photo=d.wrapForHistory(t.action.photo.id);break;case"messageActionChatCreate":case"messageActionChatEditTitle":case"messageActionChannelCreate":case"messageActionChannelEditTitle":t.action.rTitle=v.wrapRichText(t.action.title,{noLinks:!0,noLinebreaks:!0})||x("chat_title_deleted");break;case"messageActionBotIntro":t.action.rDescription=v.wrapRichText(t.action.description,{noCommands:!a,fromBot:i})}var l=t.reply_to_mid;return l&&(ke[l]?t.reply_to_msg=le(l):(t.reply_to_msg={mid:l,loading:!0},-1==Oe.indexOf(l)&&(Oe.push(l),Ue===!1&&(Ue=setTimeout(ue,100))))),$e[e]=t}function de(e){if(!e||"replyKeyboardHide"==e._)return!1;if(e.wrapped)return e;var t=e.rows&&e.rows.length||0;return t>0&&4>=t&&!e.pFlags.resize&&(e.splitCount=t),e.wrapped=!0,angular.forEach(e.rows,function(e){angular.forEach(e.buttons,function(e){e.rText=v.wrapRichText(e.text,{noLinks:!0,noLinebreaks:!0})})}),nextRandomInt(1)&&(e.rows=e.rows.slice(0,2)),e}function ue(){if(Ue!==!1&&(clearTimeout(Ue),Ue=!1),Oe.length){var e=Oe.slice();Oe=[];var n=R(e);angular.forEach(n.msgIDs,function(e,i){var a;a=i>0?f.invokeApi("channels.getMessages",{channel:l.getChannelInput(i),id:e}):f.invokeApi("messages.getMessages",{id:e}),a.then(function(e){r.saveApiUsers(e.users),l.saveApiChats(e.chats),J(e.messages),t.$broadcast("messages_downloaded",n.mids[i])})})}}function pe(){if(Be!==!1&&(clearTimeout(Be),Be=!1),Re.length){var e=Re.slice();Re=[];var t=R(e);angular.forEach(t.msgIDs,function(e,n){f.invokeApi("messages.getMessagesViews",{peer:c.getInputPeerByID(-n),id:e,increment:!0}).then(function(e){if(n){for(var i=t.mids[n],a=[],o=0;o<i.length;o++)a.push({_:"updateChannelMessageViews",channel_id:n,id:i[o],views:e[o]});s.processUpdateMessage({_:"updates",updates:a,chats:[],users:[]})}})})}}function me(e,t){if(!e||!e.length)return!1;var n,i,a,o,s,r,l,c=0,d=e.length,u=d,p=!1,m=!Config.Mobile;for(t>0?u=Math.min(t,d):0>t&&(c=Math.max(0,u+t)),n=c;u>n;n++){if(o=e[n],i=Math.floor((o.date+we)/86400),l=s&&s.grouped,r=o.grouped,i===a?o.needDate&&(delete o.needDate,p=!0):(!n||s)&&(o.needDate||(o.needDate=!0,p=!0)),o.fwdFromID&&o.media&&o.media.document&&(o.media.document.sticker||o.media.document.audioTitle)&&(o.fromID!=(s||{}).fromID||!(s||{}).fwdFromID)&&(delete o.fwdFromID,o._="message"),o.views&&!Le[o.mid]&&(Le[o.mid]=!0,Re.push(o.mid),Be===!1&&(Be=setTimeout(pe,1e4))),s&&o.fromID==s.fromID&&!s.fwdFromID==!o.fwdFromID&&!s.action&&!o.action&&o.date<s
e.put("partials/desktop/channel_edit_modal.html",'<div class="md_simple_modal_wrap" my-modal-position>\n\n <div class="md_simple_modal_body">\n\n <form class="modal_simple_form" ng-submit="updateChannel()">\n\n <h4 my-i18n="channel_edit_modal_title"></h4>\n\n <div class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="channel_edit_name"></label>\n <input class="md-input" my-focused type="text" ng-model="channel.title" />\n </div>\n\n <div class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="channel_edit_about"></label>\n <input class="md-input" type="text" ng-model="channel.about" />\n </div>\n\n </form>\n\n </div>\n\n <div class="md_simple_modal_footer">\n <button class="btn btn-md" ng-click="$dismiss()" my-i18n="modal_cancel"></button>\n <button class="btn btn-md btn-md-primary" ng-class="{disabled: channel.updating}" ng-click="updateChannel()" ng-bind="channel.updating ? \'channel_edit_submit_active\' : \'channel_edit_submit\' | i18n" ng-disabled="channel.updating"></button>\n </div>\n\n</div>'),e.put("partials/desktop/channel_modal.html",'<div class="chat_modal_wrap md_modal_wrap" my-modal-position>\n\n <div class="md_modal_head">\n <div class="md_modal_title_wrap">\n <div class="md_modal_actions_wrap clearfix">\n <a class="md_modal_action md_modal_action_close" ng-click="$close()" my-i18n="modal_close"></a>\n <a class="md_modal_action" ng-if="chatFull.chat.pFlags.creator" ng-click="editChannel()" my-i18n="modal_edit"></a>\n </div>\n <div class="md_modal_title" my-i18n="channel_modal_info"></div>\n </div>\n\n <div class="peer_modal_profile_wrap clearfix">\n <div class="peer_modal_photo_wrap pull-left" ng-switch="photo.updating">\n <div ng-switch-when="true" class="peer_modal_photo md_photo_loading loading_dots">\n <i></i><i></i><i></i>\n </div>\n <a ng-switch-default ng-click="openPhoto(chatFull.chat_photo.id, {p: -chatFull.chat.id})" class="peer_modal_photo" my-peer-photolink="::-chatFull.chat.id" img-class="peer_modal_photo" no-open="true" watch="true" ng-class="{disabled: !chatFull.chat.photo.photo_small}" ng-disabled="!chatFull.chat.photo.photo_small"></a>\n </div>\n <div class="peer_modal_profile">\n <div class="peer_modal_profile_name" my-peer-link="-chatFull.chat.id" verified="true"></div>\n <div class="peer_modal_profile_description" ng-if="chatFull.participants_count > 0">\n <ng-pluralize count="chatFull.participants_count"\n when="group_modal_pluralize_participants">\n </ng-pluralize>\n </div>\n </div>\n </div>\n </div>\n\n <div class="md_modal_split_actions_wrap">\n <div class="md_modal_split_actions" ng-switch="chatFull.chat.pFlags.creator">\n <div ng-switch-when="true" class="md_modal_split_action">\n <input my-file-upload type="file" multiple="false" class="im_attach_input" size="120" multiple="false" accept="image/x-png, image/png, image/gif, image/jpeg" title="{{\'group_modal_update_photo\' | i18n}}" />\n <i class="md_modal_split_action_camera"></i>\n </div>\n <a ng-switch-default class="md_modal_split_action" href="" ng-click="goToHistory()" title="{{\'user_modal_send_message\' | i18n}}">\n <i class="md_modal_split_action_msg"></i>\n </a>\n </div>\n </div>\n\n <div class="md_modal_body">\n\n <div class="md_modal_sections clearfix">\n\n <div class="md_modal_iconed_section_wrap md_modal_iconed_section_number" ng-if="chatFull.rAbout || chatFull.chat.username || chatFull.chat.pFlags.creator">\n <i class="md_modal_section_icon md_modal_section_icon_about"></i>\n\n <div class="md_modal_section_param_wrap" ng-if="chatFull.about.length > 0">\n <div class="md_modal_section_param_value">\n <span ng-bind-html="chatFull.rAbout"></span>\n </div>\n <div class="md_modal_section_param_name" my-i18n="channel_modal_description"></div
e.put("partials/desktop/dialog_service.html",'<span ng-switch="message.action._">\n <span ng-switch-when="messageActionChatCreate" my-i18n="conversation_group_created"></span>\n <span ng-switch-when="messageActionChatEditTitle" my-i18n="conversation_group_renamed"></span>\n <span ng-switch-when="messageActionChatEditPhoto" my-i18n="conversation_group_photo_updated"></span>\n <span ng-switch-when="messageActionChatDeletePhoto" my-i18n="conversation_group_photo_removed"></span>\n <span ng-switch-when="messageActionChatAddUser" ng-switch="::message.fromID != message.action.user_id">\n <span ng-switch-when="true" my-i18n="conversation_invited_user">\n <my-i18n-param name="user"><span my-peer-link="message.action.user_id"></span></my-i18n-param>\n </span>\n <span ng-switch-default my-i18n="conversation_returned_to_group"></span>\n </span>\n <span ng-switch-when="messageActionChatDeleteUser" ng-switch="::message.fromID != message.action.user_id">\n <span ng-switch-when="true" my-i18n="conversation_kicked_user">\n <my-i18n-param name="user"><span my-peer-link="message.action.user_id"></span></my-i18n-param>\n </span>\n <span ng-switch-default my-i18n="conversation_left_group"></span>\n </span>\n <span ng-switch-when="messageActionChatJoinedByLink" my-i18n="conversation_joined_by_link"></span>\n\n <span ng-switch-when="messageActionChannelCreate" my-i18n="conversation_created_channel"></span>\n <span ng-switch-when="messageActionChannelEditTitle" my-i18n="conversation_changed_channel_name"></span>\n <span ng-switch-when="messageActionChannelEditPhoto" my-i18n="conversation_changed_channel_photo"></span>\n <span ng-switch-when="messageActionChannelDeletePhoto" my-i18n="conversation_removed_channel_photo"></span>\n</span>\n'),e.put("partials/desktop/document_modal.html",'<div class="modal_close_wrap" ng-click="$close()">\n <div class="modal_close"></div>\n</div>\n\n<div class="media_modal_bottom_panel_wrap">\n <div class="media_modal_bottom_panel">\n <div class="media_modal_bottom_actions pull-right">\n <a class="media_modal_action_btn" ng-click="download()" title="{{\'media_modal_download\' | i18n}}">\n <i class="media_modal_action_btn_download"></i>\n </a>\n <a class="media_modal_action_btn" ng-if="messageID" ng-click="forward()" title="{{\'media_modal_forward\' | i18n}}">\n <i class="media_modal_action_btn_forward"></i>\n </a>\n <a class="media_modal_action_btn" ng-if="messageID" ng-click="delete()" title="{{\'media_modal_delete\' | i18n}}">\n <i class="media_modal_action_btn_delete"></i>\n </a>\n </div>\n\n <div class="media_modal_info_wrap pull-left" ng-if="document.user_id > 0" ng-switch="messageID > 0">\n <a class="media_modal_author_photo pull-left" my-peer-photolink="document.user_id" img-class="media_modal_author_photo" watch="true"></a>\n <div class="media_modal_author_name">\n <a class="media_modal_author" my-peer-link="document.user_id" peer-watch="true"></a>\n </div>\n <div class="media_modal_date" ng-if="document.date > 0">\n <a ng-switch-when="true" class="media_modal_date" ng-click="goToMessage()" ng-bind="document.date | dateOrTime :true"></a>\n <span ng-switch-default ng-bind="document.date | dateOrTime :true"></span>\n </div>\n </div>\n\n <div class="media_modal_title_wrap" ng-bind="document.file_name"></div>\n\n </div>\n</div>\n\n<div class="modal-dialog">\n <div class="modal-content">\n <div my-modal-width="{{photo.full.modalWidth}}" class="media_modal_wrap photo_modal_wrap" my-modal-position animation="no">\n\n <div class="modal-body">\n\n <div my-load-document="document"></div>\n\n </div>\n\n </div>\n </div>\n</div>'),e.put("partials/desktop/edit_contact_modal.html",'<div class="md_simple_modal_wrap" my-modal-position>\n\n <div class="md_simple_modal_body">\n\n <form class="modal_simple_form" ng-submit="doImport()">\n\n <h4 my-i18n="contact_edit_modal_title"></h4>\n\n <div class="md-input-group md-input-disabled"
e.put("partials/desktop/import_contact_modal.html",'<div class="md_simple_modal_wrap" my-modal-position>\n\n <div class="md_simple_modal_body">\n\n <form class="modal_simple_form" ng-submit="doImport()">\n\n <h4 my-i18n="contact_import_modal_title"></h4>\n\n <div class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="contact_import_modal_phone"></label>\n <input class="md-input" my-focused type="text" ng-model="importContact.phone" my-submit-on-enter />\n </div>\n\n <div class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="contact_edit_modal_first_name"></label>\n <input class="md-input" type="text" ng-model="importContact.first_name" my-submit-on-enter />\n </div>\n\n <div class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="contact_edit_modal_last_name"></label>\n <input class="md-input" type="text" ng-model="importContact.last_name" my-submit-on-enter />\n </div>\n\n </form>\n\n </div>\n\n <div class="md_simple_modal_footer">\n <button class="btn btn-md" ng-click="$dismiss()" my-i18n="modal_cancel"></button>\n <button class="btn btn-md btn-md-primary" ng-class="{disabled: progress.enabled}" ng-click="doImport()" ng-bind="progress.enabled ? \'contact_import_modal_submit_active\' : \'contact_import_modal_submit\' | i18n" ng-disabled="progress.enabled"></button>\n </div>\n\n</div>'),e.put("partials/desktop/inactive.html",'<div class="inactive_page_wrap">\n <div class="tg_head_split inactive_head"></div>\n <div class="im_page_wrap">\n <div class="inactive_page_content" my-vertical-position="0.35">\n <a class="inactive_image" ng-click="reload()"></a>\n <h3 class="inactive_title" my-i18n="inactive_title"></h3>\n <div class="inactive_description" my-i18n="inactive_description_md"></div>\n <div class="inactive_actions">\n <button class="btn btn-lg btn-md btn-md-primary" ng-click="reload()" my-i18n="inactive_reload_btn" my-focused></button>\n </div>\n </div>\n </div>\n</div>'),e.put("partials/desktop/lang_footer.html",'<div class="footer_wrap" ng-controller="AppLangSelectController">\n <span ng-repeat="locale in ::supportedLocales">\n <a class="footer_lang_link" ng-class="{active: curLocale == locale, disabled: curLocale == locale}" ng-disabled="curLocale == locale" ng-click="localeSelect(locale)" ng-bind="langNames[locale]"></a>\n <span ng-if="!$last" class="footer_link_divider"></span>\n </span>\n</div>'),e.put("partials/desktop/login.html",'<div class="login_page_wrap" my-custom-background="#e7ebf0">\n <div class="login_head_bg"></div>\n <div class="login_page">\n <div class="login_head_wrap clearfix" ng-switch="progress.enabled">\n <div ng-switch-when="true" class="login_head_submit_progress">\n <my-i18n ng-if="!credentials.phone_code_hash" msgid="login_generating_key"></my-i18n><my-i18n ng-if="credentials.phone_code_hash &amp;&amp; !credentials.phone_code_valid" msgid="login_checking_code"></my-i18n><my-i18n ng-if="credentials.phone_code_valid &amp;&amp; credentials.phone_unoccupied" msgid="login_signing_up"></my-i18n><my-i18n ng-if="credentials.phone_code_valid &amp;&amp; credentials.password_needed" msgid="login_checking_password"></my-i18n><span my-loading-dots></span>\n </div>\n <div ng-switch-default class="login_head_submit_wrap">\n <a class="login_head_submit_btn" ng-if="!credentials.phone_code_hash" ng-click="sendCode()">\n <my-i18n msgid="modal_next"></my-i18n><i class="icon icon-next-submit"></i>\n </a>\n <a class="login_head_submit_btn" ng-if="credentials.phone_code_hash &amp;&amp; !credentials.phone_code_valid" ng-click="logIn()">\n <my-i18n msgid="modal_next"></my-i18n><i class="icon icon-next-submit"></i>\n </a>\n <a class="login_head_submit_btn" ng-if="credentials.phone_code_valid &amp;&amp; credentials.phone_unoccupied" ng-click="logIn(true)">\n <my-i18n msgid="modal_next"></my-i18n><i class="icon
e.put("partials/desktop/peer_select.html",'<div class="peer_select_modal_wrap md_modal_wrap" my-modal-position>\n\n <div class="md_modal_head md_modal_head_simple">\n <div class="md_modal_title_wrap">\n <div class="md_modal_actions_wrap clearfix">\n <a class="md_modal_action md_modal_action_close" ng-click="$dismiss()" my-i18n="modal_close"></a>\n </div>\n </div>\n <div class="md_modal_title" my-i18n="conversations_modal_forward_title"></div>\n </div>\n\n <div class="md_modal_body">\n\n <div class="im_dialogs_modal_col_wrap" ng-controller="AppImDialogsController" my-dialogs ng-class="search.query.length > 0 ? \'im_dialogs_col_search\' : \'\'">\n <div class="im_dialogs_panel">\n <div class="im_dialogs_search">\n <input my-focused class="form-control im_dialogs_search_field no_outline" type="search" placeholder="{{\'modal_search\' | i18n}}" ng-model="search.query"/>\n <a class="im_dialogs_search_clear tg_search_clear" ng-click="search.query = \'\'" ng-show="search.query.length">\n <i class="icon icon-search-clear"></i>\n </a>\n </div>\n </div>\n <div my-dialogs-list modal="true" class="im_dialogs_modal_col">\n <div class="im_dialogs_wrap nano">\n <div class="im_dialogs_scrollable_wrap nano-content">\n <ul class="im_dialogs_modal_list nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" my-dialog dialog-message="dialogMessage" ng-repeat="dialogMessage in dialogs track by dialogMessage.peerID" ng-class="{active: selectedPeers[dialogMessage.peerID] !== undefined}"></li>\n </ul>\n <div class="im_dialogs_contacts_wrap" ng-show="contacts.length > 0">\n <h5 my-i18n="conversation_select_modal_contacts"></h5>\n <ul class="nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" ng-repeat="contact in contacts | orderBy:\'user.sortName\' track by contact.userID" ng-class="{active: selectedPeers[contact.userID] !== undefined}">\n <a class="im_dialog" ng-click="dialogSelect(contact.peerString)">\n <div class="im_dialog_photo pull-left" my-peer-photolink="::contact.userID" img-class="im_dialog_photo"></div>\n <div class="im_dialog_message_wrap">\n <div class="im_dialog_peer">\n <span class="im_dialog_user" my-peer-link="contact.userID"></span>\n </div>\n <div class="im_dialog_message">\n <span class="im_dialog_message_text" my-user-status="::contact.userID"></span>\n </div>\n </div>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n <div class="md_modal_footer peer_select_modal_footer clearfix" ng-if="multiSelect">\n <button class="btn btn-md btn-md-primary pull-right" ng-click="submitSelected()" my-i18n="conversations_modal_forward_submit"></button>\n\n <div class="peer_select_modal_recipients_wrap" ng-switch="!selectedCount">\n <span class="peer_select_modal_recipients_empty" ng-switch-when="true" my-i18n="conversations_modal_select_recipients"></span>\n <span ng-switch-default>\n <span class="peer_select_modal_recipients_name" my-i18n="conversations_modal_recipients"></span>\n <span class="peer_select_modal_recipients_list" ng-switch="selectedCount" my-i18n>\n <span ng-switch-when="1" my-i18n-format="conversation_one_selected"></span>\n <span ng-switch-when="2" my-i18n-format="conversation_two_selected"></span>\n <span ng-switch-default my-i18n-format="conversation_many_selected"></span>\n <my-i18n-param name="name1"><span class="peer_select_modal_recipient" ng-bind-html="selectedPeers[selectedPeerIDs[0]][selectedPeerIDs[0] > 0 ? \'rFullName\' : \'rTitle\']"></span></my-i18n-param>\n <my-i18n-param name="name2"><span class="peer_select_modal_rec
e.put("partials/desktop/welcome.html",""),e.put("partials/mobile/audio_player.html",'<div class="audio_player_wrap clearfix">\n <a class="im_message_file_button" ng-click="togglePlay()" ng-class="{im_message_file_button_dl_audio: audio.downloaded}">\n <i class="im_message_file_button_icon" ng-class="{audio_player_btn_icon_pause: mediaPlayer.player.playing}"></i>\n </a>\n <div class="audio_player_title_wrap">\n <div class="audio_player_meta pull-right" ng-if="audio.downloaded &amp;&amp; (mediaPlayer.player.duration || audio.duration)" ng-switch="mediaPlayer.player.playing || mediaPlayer.player.currentTime > 0">\n <span ng-switch-when="true" class="audio_player_duration" ng-bind="mediaPlayer.player.currentTime | durationRemains : (mediaPlayer.player.duration || audio.duration)"></span>\n <span ng-switch-default class="audio_player_duration" ng-bind="mediaPlayer.player.duration || audio.duration | duration"></span>\n </div>\n <a ng-click="download()" class="audio_player_title" ng-switch="::audio.audioTitle.length > 0 ? 2 : (audio.file_name.length > 0 ? 1 : 0)">\n <span ng-switch-when="2">\n <strong ng-bind="::audio.audioPerformer"></strong>\n <span ng-bind="::(audio.audioPerformer ? \'– \' : \'\') + audio.audioTitle"></span>\n </span>\n <span ng-switch-when="1" ng-bind="::audio.file_name"></span>\n <span ng-switch-default my-i18n="message_attach_audio_message"></span>\n </a>\n <i ng-if="::message.media_unread || false" ng-show="message.media_unread" class="icon icon-audio-unread"></i>\n <div class="audio_player_meta" ng-if="!audio.downloaded || !(mediaPlayer.player.duration || audio.duration)" ng-switch="audio.progress.enabled">\n <span ng-switch-when="true" class="audio_player_size" ng-bind="audio.progress | formatSizeProgress"></span>\n <span ng-switch-default class="audio_player_size" ng-bind="audio.size | formatSize"></span>\n </div>\n </div>\n <div class="audio_player_actions" ng-if="!audio.progress.enabled &amp;&amp; !audio.downloaded">\n <a ng-if="audio._ == \'document\'" ng-click="download()" my-i18n="message_attach_document_download"></a>\n <a ng-click="togglePlay()" my-i18n="message_attach_audio_play"></a>\n </div>\n <div class="audio_player_progress_wrap" ng-if="audio.progress.enabled || audio.downloaded" ng-switch="audio.progress.enabled">\n <div ng-switch-when="true" class="clearfix im_message_cancelable_progress_wrap">\n <a class="im_message_media_progress_cancel pull-right" ng-click="audio.progress.cancel()" my-i18n="modal_cancel"></a>\n <div class="im_message_download_progress_wrap">\n <div class="progress tg_down_progress">\n <div class="progress-bar progress-bar-success" ng-style="{width: audio.progress.percent + \'%\'}"></div>\n </div>\n </div>\n </div>\n <div ng-switch-default class="im_message_playback_progress_wrap">\n <div class="audio_player_seek_slider" my-slider slider-model="mediaPlayer.player.currentTime" slider-max="mediaPlayer.player.duration || audio.duration" slider-onchange="seek(value)"></div>\n </div>\n </div>\n <audio ng-if="audio.url" media-player="mediaPlayer.player">\n <source ng-src="{{::audio.url}}" type="{{audio.mime_type || \'audio/ogg\'}}" volume="{{::volume}}" />\n </audio>\n</div>'),e.put("partials/mobile/changelog_modal.html",'<div class="changelog_modal_wrap">\n\n <a class="modal-close-button" ng-click="$close()"><i></i></a>\n\n <div class="modal-body">\n\n <div class="changelog_card_wrap" ng-switch="lastVersion === false">\n <div ng-switch-when="true">\n <div class="changelog_card"></div>\n <h2 class="changelog_header" my-i18n="changelog_modal_header_recent_updates_md"></h2>\n </div>\n <div ng-switch-default>\n <div class="changelog_card"></div>\n <h2 class="changelog_header" my-i18n="changelog_modal_header_new_updates_md"></h2>\n </div>\n </div>\n\n <div class="changelog_versions_wrap">\n\n <div class="modal_section changelog_version_wrap">\n <h3 class="modal_section_header changelog_version_title">\n Version 0.4.9\n
e.put("partials/mobile/chat_edit_modal.html",'<div class="contacts_modal_wrap">\n\n <div class="tg_page_head tg_modal_head">\n <div class="navbar navbar-static-top navbar-inverse">\n <div class="container">\n\n <div class="navbar-header">\n\n <ul class="nav navbar-nav navbar-quick-nav">\n <li class="navbar-quick-right">\n <a ng-class="{disabled: group.updating}" ng-click="updateGroup()" ng-bind="group.updating ? \'group_edit_submit_active\' : \'group_edit_submit\' | i18n" ng-disabled="group.updating"></a>\n </li>\n <li>\n <a ng-click="$dismiss()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title">\n <h4 my-i18n="group_edit_modal_title"></h4>\n </div>\n </a>\n </li>\n </ul>\n\n </div>\n\n </div>\n </div>\n </div>\n\n <div class="modal-body">\n\n <form class="modal_simple_form" ng-submit="updateGroup()" my-vertical-position="0.25">\n\n <div class="form-group">\n <input class="form-control input-lg" my-focused type="text" placeholder="{{\'group_edit_name\' | i18n}}" ng-model="group.name"/>\n </div>\n\n </form>\n\n </div>\n\n</div>'),e.put("partials/mobile/chat_modal.html",'<div class="chat_modal_wrap">\n\n <div class="tg_page_head tg_modal_head">\n <div class="navbar navbar-static-top navbar-inverse">\n <div class="container">\n\n <div class="navbar-toggle-wrap dropdown" dropdown>\n <a class="dropdown-toggle navbar-toggle" dropdown-toggle>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </a>\n <ul class="dropdown-menu">\n <li ng-if="chatFull.thumb.location" ng-if="chatFull.chat._ != \'chatForbidden\' &amp;&amp; !chatFull.chat.pFlags.left">\n <a ng-click="deletePhoto()" my-i18n="group_modal_menu_delete_photo"></a>\n </li>\n <li ng-if="chatFull.chat._ != \'chatForbidden\' &amp;&amp; !chatFull.chat.pFlags.left">\n <a ng-click="editTitle()" my-i18n="group_modal_menu_edit_group"></a>\n </li>\n <li>\n <a ng-click="flushHistory()" my-i18n="group_modal_menu_delete_chat"></a>\n </li>\n </ul>\n </div>\n\n <div class="navbar-header">\n\n <ul class="nav navbar-nav navbar-quick-nav">\n <li>\n <a ng-click="$close()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title">\n <h4 my-i18n="group_modal_info"></h4>\n </div>\n </a>\n </li>\n </ul>\n\n </div>\n\n </div>\n </div>\n </div>\n\n <div class="modal-body mobile_modal_body">\n\n <div class="mobile_user_modal_photo_profile_wrap">\n\n <a ng-click="openPhoto(chatFull.chat_photo.id, {p: -chatFull.chat.id})" class="mobile_user_modal_image_wrap pull-left" my-peer-photolink="::-chatFull.chat.id" img-class="mobile_user_modal_image mobile_chat_modal_image" no-open="true" watch="true" ng-class="{disabled: !chatFull.chat.photo.photo_small}" ng-disabled="!chatFull.chat.photo.photo_small"></a>\n\n <div class="mobile_user_modal_info_wrap clearfix">\n <h4 class="mobile_user_modal_header" my-peer-link="-chatFull.chat.id"></h4>\n <p class="mobile_user_modal_status" ng-if="chatFull.chat.participants_count > 0">\n <ng-pluralize count="chatFull.chat.participants_count"\n when="group_modal_pluralize_participants">\n </ng-pluralize>\n </p>\n </div>\n\n </div>\n\n <div class="mobile_modal_action_wrap" ng-if="!chatFull.chat.pFlags.left &amp;&amp; chatFull.participants.participants.length">\n <a class="mobile_modal_action" ng-click="inviteToGroup()" my-i18n="group_modal_add_member"></a>\n </div>\n
e.put("partials/mobile/import_contact_modal.html",'<div class="import_modal_wrap">\n\n <div class="tg_page_head tg_modal_head">\n <div class="navbar navbar-static-top navbar-inverse">\n <div class="container">\n\n <div class="navbar-header">\n\n <ul class="nav navbar-nav navbar-quick-nav">\n <li class="navbar-quick-right">\n <a ng-class="{disabled: progress.enabled}" ng-click="doImport()" ng-bind="progress.enabled ? \'contact_import_modal_submit_active\' : \'contact_import_modal_submit\' | i18n" ng-disabled="progress.enabled"></a>\n </li>\n <li>\n <a ng-click="$dismiss()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title">\n <h4 my-i18n="contact_import_modal_title"></h4>\n </div>\n </a>\n </li>\n </ul>\n\n </div>\n\n </div>\n </div>\n </div>\n\n <div class="modal-body">\n\n <form class="modal_simple_form" ng-submit="doImport()" my-vertical-position="0.2">\n\n <div class="form-group">\n <input class="form-control input-lg" my-focused type="text" placeholder="{{\'contact_import_modal_phone\' | i18n}}" ng-model="importContact.phone" my-submit-on-enter/>\n </div>\n <div class="form-group">\n <input class="form-control input-lg" type="text" placeholder="{{\'contact_edit_modal_first_name\' | i18n}}" ng-model="importContact.first_name" my-submit-on-enter/>\n </div>\n <div class="form-group">\n <input class="form-control input-lg" type="text" placeholder="{{\'contact_edit_modal_last_name\' | i18n}}" ng-model="importContact.last_name" my-submit-on-enter/>\n </div>\n\n <div class="import_modal_phonebook_wrap" ng-if="phonebookAvailable">\n <a class="btn btn-link" ng-click="importPhonebook()" my-i18n="contact_import_modal_phonebook"></a>\n </div>\n\n </form>\n\n </div>\n</div>'),e.put("partials/mobile/login.html",'<div class="tg_page_head">\n <div class="navbar navbar-static-top navbar-inverse navbar_peer_not_selected">\n <div class="container">\n <div class="navbar-header">\n\n <ul class="nav navbar-nav navbar-quick-nav">\n <li class="navbar-quick-right login_head_submit_wrap">\n <a class="disabled" disabled="disabled" ng-if="progress.enabled" class="login_head_submit_progress">\n <my-i18n ng-if="!credentials.phone_code_hash" msgid="login_generating_key"></my-i18n><my-i18n ng-if="credentials.phone_code_hash &amp;&amp; !credentials.phone_code_valid" msgid="login_checking_code"></my-i18n><my-i18n ng-if="credentials.phone_code_valid &amp;&amp; credentials.phone_unoccupied" msgid="login_signing_up"></my-i18n><my-i18n ng-if="credentials.phone_code_valid &amp;&amp; credentials.password_needed" msgid="login_checking_password"></my-i18n><span my-loading-dots></span>\n </a>\n <a ng-if="!progress.enabled &amp;&amp; !credentials.phone_code_hash" ng-click="sendCode()">\n <my-i18n msgid="modal_next"></my-i18n><i class="icon icon-next-submit"></i>\n </a>\n <a ng-if="!progress.enabled &amp;&amp; credentials.phone_code_hash &amp;&amp; !credentials.phone_code_valid" ng-click="logIn()">\n <my-i18n msgid="modal_next"></my-i18n><i class="icon icon-next-submit"></i>\n </a>\n <a ng-if="!progress.enabled &amp;&amp; credentials.phone_code_valid &amp;&amp; credentials.phone_unoccupied" ng-click="logIn(true)">\n <my-i18n msgid="modal_next"></my-i18n><i class="icon icon-next-submit"></i>\n </a>\n <a ng-if="!progress.enabled &amp;&amp; credentials.phone_code_valid &amp;&amp; credentials.password_needed" ng-click="checkPassword()">\n <my-i18n msgid="modal_next"></my-i18n><i class="icon icon-next-submit"></i>\n </a>\n </li>\n <li>\n <a class="navbar-brand tg_logo_wrap" href="https://telegram.org" target="_blank"><i c
e.put("partials/mobile/peer_select.html",'<div class="peer_select_modal_wrap">\n\n <div class="tg_page_head tg_modal_head">\n <div class="navbar navbar-static-top navbar-inverse">\n <div class="container">\n\n <a class="navbar-search-wrap" ng-click="toggleSearch()">\n <i class="icon-search"></i>\n </a>\n\n <div class="navbar-header">\n\n <ul class="nav navbar-nav navbar-quick-nav">\n <li>\n <a ng-click="$dismiss()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title">\n <h4 my-i18n="conversation_select_modal_title"></h4>\n </div>\n </a>\n </li>\n </ul>\n\n </div>\n\n </div>\n </div>\n </div>\n\n <div class="modal-body mobile_modal_body">\n\n <div class="im_dialogs_modal_col_wrap" ng-controller="AppImDialogsController" my-dialogs ng-class="search.query.length > 0 ? \'im_dialogs_col_search\' : \'\'">\n <div class="im_dialogs_panel">\n <div class="im_dialogs_search">\n <input my-focused class="form-control im_dialogs_search_field no_outline" type="search" placeholder="{{\'modal_search\' | i18n}}" ng-model="search.query"/>\n <a class="im_dialogs_search_clear tg_search_clear" ng-click="search.query = \'\'" ng-show="search.query.length">\n <i class="icon icon-search-clear"></i>\n </a>\n </div>\n </div>\n <div my-dialogs-list-mobile modal="true" class="im_dialogs_modal_col im_dialogs_scrollable_wrap mobile_scrollable_wrap">\n <ul class="nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" my-dialog dialog-message="dialogMessage" ng-repeat="dialogMessage in dialogs track by dialogMessage.peerID"></li>\n </ul>\n <div class="im_dialogs_contacts_wrap" ng-show="contacts.length > 0">\n <h5 my-i18n="conversation_select_modal_contacts"></h5>\n <ul class="nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" ng-repeat="contact in contacts | orderBy:\'user.sortName\' track by contact.userID" ng-class="{active: curDialog.peerID == contact.userID}">\n <a class="im_dialog" ng-click="dialogSelect(contact.peerString)">\n <div class="im_dialog_photo pull-left" my-peer-photolink="::contact.userID" img-class="im_dialog_photo" watch="true"></div>\n <div class="im_dialog_message_wrap">\n <div class="im_dialog_peer">\n <span class="im_dialog_user" my-peer-link="contact.userID"></span>\n </div>\n <div class="im_dialog_message">\n <span class="im_dialog_message_text" my-user-status="::contact.userID"></span>\n </div>\n </div>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n\n </div>\n\n</div>\n'),e.put("partials/mobile/phonebook_modal.html",'<div class="contacts_modal_wrap">\n\n <div class="tg_page_head tg_modal_head">\n <div class="navbar navbar-static-top navbar-inverse">\n <div class="container">\n\n <div class="navbar-header">\n\n <ul class="nav navbar-nav navbar-quick-nav">\n <li class="navbar-quick-right">\n <a ng-class="{disabled: !selectedCount || progress.enabled}" ng-click="submitSelected()" ng-switch="progress.enabled">\n <span ng-switch-when="true">\n <my-i18n msgid="phonebook_modal_submit_active"></my-i18n>\n <span my-loading-dots></span>\n </span>\n <span ng-switch-default my-i18n="phonebook_modal_submit"></span>\n </a>\n </li>\n <li>\n <a ng-click="$dismiss()" class="navbar-quick-media-back">\n <i class="icon icon-back"></i>\n <div class="navbar-quick-back-title">\n <h4 my-i18n="phonebook_modal_title"></h4>\n </div>\n
e.put("partials/mobile/welcome.html","")}]),function(e,t,n,i){function a(e){ConfigStorage.get("emojis_popular",function(t){var n=[];if(t&&t.length){for(var i=0,a=t.length;a>i;i++)n.push({code:t[i][0],rate:t[i][1]});return void e(n)}ConfigStorage.get("emojis_recent",function(t){t=t||y||[];for(var i,a,o=0,s=t.length;s>o;o++)i=t[o],Array.isArray(i)&&(i=i[0]),i&&"string"==typeof i&&(":"==i.charAt(0)&&(i=i.substr(1,i.length-2)),(a=f[i])&&n.push({code:a,rate:1}));e(n)})})}function o(e){a(function(t){for(var n=!1,i=t.length,a=[],o=0;i>o;o++)t[o].code==e&&(n=!0,t[o].rate++),a.push([t[o].code,t[o].rate]);n?a.sort(function(e,t){return t[1]-e[1]}):(a.length>41&&(a=a.slice(0,41)),a.push([e,1])),ConfigStorage.set({emojis_popular:a})})}function s(){if(v===!1){v=SearchIndexManager.createIndex();var e;for(e in f)f.hasOwnProperty(e)&&SearchIndexManager.indexObject(f[e],e,v)}}function r(e){s();var t,n=SearchIndexManager.search(e,v),i=[];for(t in n)n.hasOwnProperty(t)&&i.push(t);return i}var l,c,d,u,p,m,h,g,t={},f={},_={},v=!1,y="joy,kissing_heart,heart,heart_eyes,blush,grin,+1,relaxed,pensive,smile,sob,kiss,unamused,flushed,stuck_out_tongue_winking_eye,see_no_evil,wink,smiley,cry,stuck_out_tongue_closed_eyes,scream,rage,smirk,disappointed,sweat_smile,kissing_closed_eyes,speak_no_evil,relieved,grinning,yum,laughing,ok_hand,neutral_face,confused".split(",");for(l=0,h=n.length;h>l;l++)for(m=i[l][1],c=0,g=n[l].length;g>c;c++)d=n[l][c],p=Config.Emoji[d],u=p[1][0],t[d]=[p[0],u],f[u]=d,_[d]=[l,c,Math.floor(c/m),c%m];e.EmojiHelper={emojis:t,shortcuts:f,spritesheetPositions:_,getPopularEmoji:a,pushPopularEmoji:o,indexEmojis:s,searchEmojis:r}}(window,Config.Emoji,Config.EmojiCategories,Config.EmojiCategorySpritesheetDimens),EmojiTooltip.prototype.onMouseEnter=function(e){this.hideTimeout?(clearTimeout(this.hideTimeout),delete this.hideTimeout):e&&!this.showTimeout&&(this.showTimeout=setTimeout(this.show.bind(this),100))},EmojiTooltip.prototype.onMouseLeave=function(e){if(this.hideTimeout)e&&this.showTimeout&&(clearTimeout(this.showTimeout),delete this.showTimeout);else{var t=this;this.hideTimeout=setTimeout(function(){t.hide()},600)}},EmojiTooltip.prototype.createTooltip=function(){if(this.tooltipEl)return!1;var e='<div class="composer_emoji_tooltip noselect"> <div class="composer_emoji_tooltip_tabs"> <div class="composer_emoji_tooltip_tab composer_emoji_tooltip_tab_emoji">'+this.langpack.im_emoji_tab+'</div> <div class="composer_emoji_tooltip_tab composer_emoji_tooltip_tab_stickers">'+this.langpack.im_stickers_tab+'</div> <div class="composer_emoji_tooltip_tab_shadow"></div> </div> <div class="composer_emoji_tooltip_tabs_wrap"> <div class="composer_emoji_tooltip_tabs_contents clearfix"> <div class="composer_emoji_tooltip_tab_emoji_content"> <div class="composer_emoji_tooltip_content_wrap"> <div class="composer_emoji_tooltip_content composer_emoji_tooltip_content_emoji clearfix"></div> </div> <div class="composer_emoji_tooltip_categories"> <a class="composer_emoji_tooltip_category active" data-category="0"><i class="composer_emoji_tooltip_category_recent"></i></a> <a class="composer_emoji_tooltip_category" data-category="1"><i class="composer_emoji_tooltip_category_smile"></i></a> <a class="composer_emoji_tooltip_category" data-category="2"><i class="composer_emoji_tooltip_category_flower"></i></a> <a class="composer_emoji_tooltip_category" data-category="3"><i class="composer_emoji_tooltip_category_bell"></i></a> <a class="composer_emoji_tooltip_category" data-category="4"><i class="composer_emoji_tooltip_category_car"></i></a> <a class="composer_emoji_tooltip_category" data-category="5"><i class="composer_emoji_tooltip_category_grid"></i></a> </div> </div> <div class="composer_emoji_tooltip_tab_stickers_content"> <div class="composer_emoji_tooltip_content_wrap"> <div class="composer_emoji_tooltip_content composer_emoji_tooltip_content_stickers clearfix"></div> </div> <div class="composer_emo
u=function(){n?window.FB&&FB.XFBML.parse(r[0]):(n=!0,$("<script>").appendTo("body").on("load",function(){FB.Event.subscribe("xfbml.render",function(e){for(var t=0;t<o.length;t++)o[t].$emit("ui_height");o=[]})}).attr("src","https://connect.facebook.net/en_US/sdk.js#xfbml=1&appId=254098051407226&version=v2.0")),o.push(e)};break;case"gplus":d='<div class="im_message_gplus_embed"><div class="g-post" data-href="'+c[1]+'"></div></div>',u=function(){i?window.gapi&&gapi.post.go(r[0]):(i=!0,window.___gcfg={parsetags:"explicit"},$("<script>").appendTo("body").on("load",function(){gapi.post.go()}).attr("src","https://apis.google.com/js/plusone.js")),r.one("load",function(){e.$emit("ui_height")})}}d&&(r[0].innerHTML=d,u&&u())}}var t=!1,n=!1,i=!1,a=[],o=[],s=Config.Modes.chrome_packed?"webview":"iframe";return{link:e}}).directive("myServiceMessage",function(){return{templateUrl:templateUrl("message_service")}}).directive("myServiceShortMessage",function(){return{scope:{message:"=myServiceShortMessage"},templateUrl:templateUrl("dialog_service")}}).directive("myReplyMessage",["AppPhotosManager","AppMessagesManager","AppPeersManager","$rootScope",function(e,t,n,i){function a(e,t,n){n.watch?e.$watch("replyMessage",function(){o(e,t)}):o(e,t)}function o(e,n){var i=e.replyMessage;if(i.loading)var a=i.mid,o=e.$on("messages_downloaded",function(i,r){-1!=r.indexOf(a)&&(e.replyMessage=t.wrapForDialog(a),s(e,n),o())});else s(e,n)}function s(e,a){var o=e.replyMessage;return o&&!o.deleted&&o.to_id?(e.thumb=t.getMessageThumb(o,42,42),"A"==a[0].tagName&&a.on("click",function(){var e=t.getMessagePeer(o),a=n.getPeerString(e);i.$broadcast("history_focus",{peerString:a,messageID:o.mid})}),void onContentLoaded(function(){e.$emit("ui_height")})):void $(a).remove()}return{templateUrl:templateUrl("reply_message"),scope:{replyMessage:"=myReplyMessage"},link:a}}]).directive("myForwardedMessages",["AppPhotosManager","AppMessagesManager","AppPeersManager","$rootScope",function(e,t,n,i){function a(e,t,n){n.watch?e.$watch("forwardMessages",function(){o(e,t)}):o(e,t)}function o(e,n){var i=e.forwardMessages,a=i.length,o=!1,s=1==a;e.thumb=!1,e.singleMessage=!1,angular.forEach(i,function(n){var i=t.getMessage(n);o===!1?o=i.fromID:o!==i.fromID&&(o=t.getMessagePeer(i)),s&&(e.thumb=t.getMessageThumb(i,42,42),e.singleMessage=t.wrapForDialog(n))}),e.fromID=o,e.count=a,onContentLoaded(function(){e.$emit("ui_height")})}return{templateUrl:templateUrl("forwarded_messages"),scope:{forwardMessages:"=myForwardedMessages"},link:a}}]).directive("myMessageText",["AppPeersManager","AppMessagesManager","AppUsersManager","RichTextProcessor",function(e,t,n,i){function a(t,a){var o=t.totalEntities,s=t.from_id&&n.getUser(t.from_id),r=s&&s.pFlags.bot&&s.username||!1,l=e.getPeerID(t.to_id),c=r||0>l||l>0&&n.isBot(l),d={noCommands:!c,fromBot:r,entities:o};if(16&t.flags){var u=n.getSelf();u&&(d.highlightUsername=u.username)}var p=i.wrapRichText(t.message,d);a.html(p.valueOf())}function o(e,t,n){var i=e.message,o=i.mid;if(a(i,t),i.pending)var s=e.$on("messages_pending",function(){i.mid!=o&&(a(i,t),s())})}return{link:o,scope:{message:"=myMessageText"}}}]).directive("myMessageViews",["$filter","AppMessagesManager",function(e,t){function n(e,t){t.html(a(e))}function i(e,i,a){var o=e.$eval(a.myMessageViews),s=t.getMessage(o).views||0;n(s,i),e.$on("message_views",function(e,t){t.mid==o&&n(t.views,i)})}var a=e("formatShortNumber");return{link:i}}]).directive("myReplyMarkup",function(){function e(e,t,n){var i=$(".reply_markup",t),a=new Scroller(i,{classPrefix:"reply_markup",maxHeight:170});e.buttonSend=function(t){e.$emit("reply_button_press",t)},e.$on("ui_keyboard_update",function(t,n){onContentLoaded(function(){a.updateHeight(),a.scrollTo(0),e.$emit("ui_panel_update",{blur:n.enabled})})}),onContentLoaded(function(){a.updateHeight(),e.$emit("ui_panel_update")})}return{templateUrl:templateUrl("reply_markup"),scope:{replyMarkup:"=myReplyMarkup"},link:e}}).directive("myMessagePhoto",["AppPhotosManager",function(e){return{scope:{media:"=myMessagePhoto",messageId:"=messageId"},templateUrl:templateUrl("m
angular.forEach(s,function(e){e()})}function i(e,n,i){var r,l=o++,c=function(){var e=t.getUser(r);n.html(a(e,i.botChatPrivacy)).toggleClass("status_online",e.status&&"userStatusOnline"==e.status._||!1)};e.$watch(i.myUserStatus,function(e){r=e,c()}),e.$on("user_update",function(e,t){r==t&&c()}),s[l]=c,e.$on("$destroy",function(){delete s[l]})}var a=e("userStatus"),o=0,s={};return setInterval(n,9e4),{link:i}}]).directive("myChatStatus",["$rootScope","_","MtpApiManager","AppChatsManager","AppUsersManager","AppProfileManager",function(e,t,n,i,a,o){function s(){angular.forEach(c,function(e){e()})}function r(n,i,s){var r,m=l++,h=0,g={},f=function(){h=0,g={},r&&o.getChatFull(r).then(function(e){var t=(e.participants||{}).participants||[];h=t.length,angular.forEach(t,function(e){g[e.user_id]=!0}),e.participants_count&&(h=e.participants_count||0),_()})},_=function(){var e=d(h),n=0,o=!1;angular.forEach(g,function(e,t){var i=a.getUser(t);i.status&&"userStatusOnline"==i.status._&&(i.id==p&&(o=!0),n++)}),(n>1||1==n&&!o)&&(e=t("group_modal_participants",{total:e,online:u(n)})),n||h||(e=""),i.html(e)};n.$watch(s.myChatStatus,function(e){r=e,f()}),e.$on("chat_full_update",function(e,t){r==t&&f()}),e.$on("user_update",function(e,t){g[t]&&_()}),c[m]=_,n.$on("$destroy",function(){delete c[m]})}var l=0,c={},d=t.pluralize("group_modal_pluralize_participants"),u=t.pluralize("group_modal_pluralize_online_participants"),p=0;return n.getUserID().then(function(e){p=e}),setInterval(s,9e4),{link:r}}]).directive("myPeerLink",["AppChatsManager","AppUsersManager",function(e,t){function n(n,i,a){var o,s=a.userOverride&&n.$eval(a.userOverride)||{},r=a["short"]&&n.$eval(a["short"]),l=function(){if(-1!=i[0].className.indexOf("user_color_")&&(i[0].className=i[0].className.replace(/user_color_\d+/g,"")),o>0){var l=t.getUser(o),c=r?"rFirstName":"rFullName";i.html((s[c]||l[c]||"").valueOf()),a.color&&n.$eval(a.color)&&i.addClass("user_color_"+l.num)}else{var d=e.getChat(-o);i.html((d.rTitle||"").valueOf()+(a.verified&&d.pFlags&&d.pFlags.verified?' <i class="icon-verified"></i>':""))}};"A"==i[0].tagName&&i.on("click",function(){o>0?t.openUser(o,s):e.openChat(-o)}),a.peerWatch?n.$watch(a.myPeerLink,function(e){o=e,l()}):(o=n.$eval(a.myPeerLink),l()),a.noWatch||(n.$on("user_update",function(e,t){o==t&&l()}),n.$on("chat_update",function(e,t){o==-t&&l()}))}return{link:n}}]).directive("myPeerPhotolink",["AppPeersManager","AppUsersManager","AppChatsManager","MtpApiFileManager","FileManager",function(e,t,n,i,a){function o(o,s,r){s.addClass("peer_photo_init");var l,c,d,u=$('<img class="'+(r.imgClass||"")+'">'),p=$('<span class="peer_initials '+(r.imgClass||"")+'"></span>'),m=0,h=!1,g=function(t){if(l==t)return!1;l=t,c=e.getPeer(l);var n="user_bgcolor_"+(c.num||1);return n!=h&&(h&&p.removeClass(h),p.addClass(n),h=n),f(),!0},f=function(){var e=++m;d=c.photo&&angular.copy(c.photo.photo_small);var t=void 0!==d;if(t){var n=i.getCachedFile(c.photo.photo_small);if(n)return p.remove(),void u.prependTo(s).attr("src",a.getUrl(n,"image/jpeg"))}p.text(c.initials).prependTo(s),u.remove(),t&&i.downloadSmallFile(c.photo.photo_small).then(function(t){e==m&&(p.remove(),u.prependTo(s).attr("src",a.getUrl(t,"image/jpeg")))},function(e){console.log("Download image failed",e,c.photo.photo_small,s[0])})};"A"!=s[0].tagName||r.noOpen||s.on("click",function(e){l>0?t.openUser(l,r.userOverride&&o.$eval(r.userOverride)):n.openChat(-l)}),o.$watch(r.myPeerPhotolink,g),g(o.$eval(r.myPeerPhotolink)),r.watch&&(o.$on("user_update",function(e,t){l==t&&(angular.equals(c.photo&&c.photo.photo_small,d)||f())}),o.$on("chat_update",function(e,t){l==-t&&(angular.equals(c.photo&&c.photo.photo_small,d)||f())}))}return{link:o}}]).directive("myAudioPlayer",["$timeout","$q","Storage","AppAudioManager","AppDocsManager","AppMessagesManager","ErrorService",function(e,t,n,i,a,o,s){function r(e){return e===c?!1:(c&&c.pause(),void(c=e))}function l(e,t,l){"audio"==e.audio._?i.updateAudioDownloaded(e.audio.id):a.updateDocDownloaded(e.audio.id),e.volume=d,e.mediaPlayer={},e.download=function(){"audio"==e.audio._?i.saveAud