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.

42 lines
1.3 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,a,i,o){for(;--o>=0;){var s=t*this[e++]+n[a]+i;i=Math.floor(s/67108864),n[a++]=67108863&s}return i}function am2(e,t,n,a,i,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[a]+(1073741823&i),i=(l>>>30)+(d>>>15)+r*c+(i>>>30),n[a++]=1073741823&l}return i}function am3(e,t,n,a,i,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[a]+i,i=(l>>28)+(d>>14)+r*c,n[a++]=268435455&l}return i}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=e<0?-1:0,e>0?this[0]=e:e<-1?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 a;if(16==t)a=4;else if(8==t)a=3;else if(256==t)a=8;else if(2==t)a=1;else if(32==t)a=5;else{if(4!=t)return void this.fromRadix(e,t);a=2}this.t=0,this.s=0;for(var i=e.length,o=!1,s=0;--i>=0;){var r=8==a?255&e[i]:intAt(e,i);r<0?"-"==e.charAt(i)&&(o=!0):(o=!1,0==s?this[this.t++]=r:s+a>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+=a,s>=this.DB&&(s-=this.DB))}8==a&&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,a=(1<<t)-1,i=!1,o="",s=this.t,r=this.DB-s*this.DB%t;if(s-- >0)for(r<this.DB&&(n=this[s]>>r)>0&&(i=!0,o=int2char(n));s>=0;)r<t?(n=(this[s]&(1<<r)-1)<<t-r,n|=this[--s]>>(r+=this.DB-t)):(n=this[s]>>(r-=t)&a,r<=0&&(r+=this.DB,--s)),n>0&&(i=!0),i&&(o+=int2char(n));return i?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,a=e%this.DB,i=this.DB-a,o=(1<<i)-1,s=Math.floor(e/this.DB),r=this.s<<a&this.DM;for(n=this.t-1;n>=0;--n)t[n+s+1]=this[n]>>i|r,r=(this[n]&o)<<a;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 a=e%this.DB,i=this.DB-a,o=(1<<a)-1;t[0]=this[n]>>a;for(var s=n+1;s<this.t;++s)t[s-n-1]|=(this[s]&o)<<i,t[s-n]=this[s]>>a;a>0&&(t[this.t-n-1]|=(this.s&o)<<i),t.t=this.t-n,t.clamp()}function bnpSubTo(e,t){for(var n=0,a=0,i=Math.min(e.t,this.t);n<i;)a+=this[n]-e[n],t[n++]=a&this.DM,a>>=this.DB;if(e.t<this.t){for(a-=e.s;n<this.t;)a+=this[n],t[n++]=a&this.DM,a>>=this.DB;a+=this.s}else{for(a+=this.s;n<e.t;)a-=e[n],t[n++]=a&this.DM,a>>=this.DB;a-=e.s}t.s=a<0?-1:0,a<-1?t[n++]=this.DV+a:a>0&&(t[n++]=a),t.t=n,t.clamp()}function bnpMultiplyTo(e,t){var n=this.abs(),a=e.abs(),i=n.t;for(t.t=i+a.t;--i>=0;)t[i]=0;for(i=0;i<a.t;++i)t[i+n.t]=n.am(0,a[i],t,i,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 a=t.
return!1}function cancelEvent(e){return e=e||window.event,e&&(e=e.originalEvent||e,e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),e.returnValue=!1,e.cancelBubble=!0),!1}function hasOnlick(e){if(e.onclick||e.getAttribute("ng-click"))return!0;var t=$._data(e,"events");return!(!t||!t.click&&!t.mousedown)}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){if(13==e.keyCode&&(e.ctrlKey||e.metaKey))return t(),cancelEvent(e)})}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 a=e.createTextRange();a.collapse(!0),a.moveEnd("character",n),a.moveStart("character",t),a.select()}else e.setSelectionRange&&e.setSelectionRange(t,n)}catch(i){}}function getFieldSelection(e){if(e.selectionStart)return e.selectionStart;if(!document.selection)return 0;var t="",n=document.selection.createRange(),a=n.text,i=n.duplicate(),o=0;try{i.moveToElementText(e)}catch(s){return 0}return n.text=a+t,o=i.text.indexOf(t),n.moveStart("character",-1),n.text="",o}function getRichValue(e){if(!e)return"";var t=[],n=[];getRichElementValue(e,t,n),n.length&&t.push(n.join(""));var a=t.join("\n");return a=a.replace(/\u00A0/g," ")}function getRichValueWithCaret(e){if(!e)return[];var t,n,a=[],i=[],o=!!window.getSelection&&window.getSelection();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,a,i,t,n),i.length&&a.push(i.join(""));var r=a.join("\n"),l=r.indexOf("");return l!=-1&&(r=r.substr(0,l)+r.substr(l+1)),r=r.replace(/\u00A0/g," "),[r,l]}function getRichElementValue(e,t,n,a,i){if(3!=e.nodeType){if(1==e.nodeType){var o,s=a===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&&!i&&n.push("");for(var o=e.firstChild;o;)getRichElementValue(o,t,n,a,i),o=o.nextSibling;s&&i&&n.push(""),r&&n.length&&(t.push(n.join("")),n.splice(0,n.length))}}else if(a===e){var l=e.nodeValue;n.push(l.substr(0,i)+""+l.substr(i))}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 a=document.createRange();t?a.selectNode(t):a.selectNodeContents(e),n||a.collapse(!1);var i=window.getSelection();i.removeAllRanges(),i.addRange(a)}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 a=t.offsetTop-15,i=t.offsetHeight+30,o=e.scrollTop,s=e.clientHeight;o>a?(e.scrollTop=a,$(n).nanoScroller({flash:!0})):o<a+i-s&&(e.scrollTop=a+i-s,$(n).nanoScroller({flash:!0}))}function onContentLoaded(e){e=onAnimationFrameCallback(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),a=e.length?e[e.length-1]:4294967295,i=0;i<t.length;i++)t[i]<a&&n.push(t[i]);return n}function listUniqSorted(e){e=e||[];for(var t=[],n=!1,a=0;a<e.length;a++)e[a]!==n&&t.push(e[a]),n=e[a];return t}function templateUrl(e){var t={confirm_modal:"desktop",error_modal:"desktop",media_modal_layout:"desktop",slider:"desktop",reply_message:"desktop",message_body:"desktop",message_media:"desktop",forwarded_messages:"desktop",chat_invite_link_modal:"deskto
a!==r&&i.push(e[o]);return i},map:function(e,t,a){var i,o=0,s=e.length,r=n(e),l=[];if(r)for(;s>o;o++)i=t(e[o],o,a),null!=i&&l.push(i);else for(o in e)i=t(e[o],o,a),null!=i&&l.push(i);return Z.apply([],l)},guid:1,proxy:function(e,t){var n,a,i;return"string"==typeof t&&(i=e[t],t=e,e=i),ie.isFunction(e)?(n=Y.call(arguments,2),a=function(){return e.apply(t||this,n.concat(Y.call(arguments)))},a.guid=e.guid=e.guid||ie.guid++,a):void 0},now:function(){return+new Date},support:ne}),ie.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,a){var i,o,s,r,l,c,u,m,g,h;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(F&&!a){if(i=ve.exec(e))if(s=i[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))&&U(t,o)&&o.id===s)return n.push(o),n}else{if(i[2])return Q.apply(n,t.getElementsByTagName(e)),n;if((s=i[3])&&w.getElementsByClassName&&t.getElementsByClassName)return Q.apply(n,t.getElementsByClassName(s)),n}if(w.qsa&&(!N||!N.test(e))){if(m=u=L,g=t,h=9===r&&e,1===r&&"object"!==t.nodeName.toLowerCase()){for(c=S(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]);g=ye.test(e)&&d(t.parentNode)||t,h=c.join(",")}if(h)try{return Q.apply(n,g.querySelectorAll(h)),n}catch(f){}finally{u||t.removeAttribute("id")}}}return x(e.replace(le,"$1"),t,n,a)}function n(){function e(n,a){return t.push(n+" ")>k.cacheLength&&delete e[t.shift()],e[n+" "]=a}var t=[];return e}function a(e){return e[L]=!0,e}function i(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("|"),a=e.length;a--;)k.attrHandle[n[a]]=t}function s(e,t){var n=t&&e,a=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||K)-(~e.sourceIndex||K);if(a)return a;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 a(function(t){return t=+t,a(function(n,a){for(var i,o=e([],n.length,t),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(a[i]=n[i]))})})}function d(e){return e&&typeof e.getElementsByTagName!==G&&e}function u(){}function p(e){for(var t=0,n=e.length,a="";n>t;t++)a+=e[t].value;return a}function m(e,t,n){var a=t.dir,i=n&&"parentNode"===a,o=H++;return t.first?function(t,n,o){for(;t=t[a];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,s){var r,l,c=[j,o];if(s){for(;t=t[a];)if((1===t.nodeType||i)&&e(t,n,s))return!0}else for(;t=t[a];)if(1===t.nodeType||i){if(l=t[L]||(t[L]={}),(r=l[a])&&r[0]===j&&r[1]===o)return c[2]=r[2];if(l[a]=c,c[2]=e(t,n,s))return!0}}}function g(e){return e.length>1?function(t,n,a){for(var i=e.length;i--;)if(!e[i](t,n,a))return!1;return!0}:e[0]}function h(e,n,a){for(var i=0,o=n.length;o>i;i++)t(e,n[i],a);return a}function f(e,t,n,a,i){for(var o,s=[],r=0,l=e.length,c=null!=t;l>r;r++)(o=e[r])&&(!n||n(o,a,i))&&(s.push(o),c&&t.push(r));return s}function _(e,t,n,i,o,s){return i&&!i[L]&&(i=_(i)),o&&!o[L]&&(o=_(o,s)),a(function(a,s,r,l){var c,d,u,p=[],m=[],g=s.length,_=a||h(t||"*",r.nodeType?[r]:r,[]),v=!e||!a&&t?_:f(_,p,e,r,l),y=n?o||(a?e:g||i)?[]:s:v;if(n&&n(v,y,r,l),i)for(c=f(y,m),i(c,[],r,l),d=c.length;d--;)(u=c[d])&&(y[m[d]]=!(v[m[d]]=u));if(a){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(a,u):p[d])>-1&&(a[c]=!(s[c]=u))}}else y=f(y===s?y.splice(g,y.length):y),o?o(null,s,y,l):Q.apply(s,y)})}function v(e){for(var t,n,a,i=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,a){return!o&&(a||n!==I)||((t=n).nodeType?l(
c.add&&(c.add.call(e,u),u.handler.guid||(u.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,u):p.push(u),ie.event.global[m]=!0);e=null}},remove:function(e,t,n,a,i){var o,s,r,l,c,d,u,p,m,g,h,f=ie.hasData(e)&&ie._data(e);if(f&&(d=f.events)){for(t=(t||"").match(ye)||[""],c=t.length;c--;)if(r=Ne.exec(t[c])||[],m=h=r[1],g=(r[2]||"").split(".").sort(),m){for(u=ie.event.special[m]||{},m=(a?u.delegateType:u.bindType)||m,p=d[m]||[],r=r[2]&&new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=p.length;o--;)s=p[o],!i&&h!==s.origType||n&&n.guid!==s.guid||r&&!r.test(s.namespace)||a&&a!==s.selector&&("**"!==a||!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,g,f.handle)!==!1||ie.removeEvent(e,m,f.handle),delete d[m])}else for(m in d)ie.event.remove(e,m+t[c],n,a,!0);ie.isEmptyObject(d)&&(delete f.handle,ie._removeData(e,"events"))}},trigger:function(t,n,a,i){var o,s,r,l,c,d,u,p=[a||ge],m=te.call(t,"type")?t.type:t,g=te.call(t,"namespace")?t.namespace.split("."):[];if(r=d=a=a||ge,3!==a.nodeType&&8!==a.nodeType&&!Fe.test(m+ie.event.triggered)&&(m.indexOf(".")>=0&&(g=m.split("."),m=g.shift(),g.sort()),s=m.indexOf(":")<0&&"on"+m,t=t[ie.expando]?t:new ie.Event(m,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=g.join("."),t.namespace_re=t.namespace?new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=a),n=null==n?[t]:ie.makeArray(n,[t]),c=ie.event.special[m]||{},i||!c.trigger||c.trigger.apply(a,n)!==!1)){if(!i&&!c.noBubble&&!ie.isWindow(a)){for(l=c.delegateType||m,Fe.test(l+m)||(r=r.parentNode);r;r=r.parentNode)p.push(r),d=r;d===(a.ownerDocument||ge)&&p.push(d.defaultView||d.parentWindow||e)}for(u=0;(r=p[u++])&&!t.isPropagationStopped();)t.type=u>1?l:c.bindType||m,o=(ie._data(r,"events")||{})[t.type]&&ie._data(r,"handle"),o&&o.apply(r,n),o=s&&r[s],o&&o.apply&&ie.acceptData(r)&&(t.result=o.apply(r,n),t.result===!1&&t.preventDefault());if(t.type=m,!i&&!t.isDefaultPrevented()&&(!c._default||c._default.apply(p.pop(),n)===!1)&&ie.acceptData(a)&&s&&a[m]&&!ie.isWindow(a)){d=a[s],d&&(a[s]=null),ie.event.triggered=m;try{a[m]()}catch(h){}ie.event.triggered=void 0,d&&(a[s]=d)}return t.result}},dispatch:function(e){e=ie.event.fix(e);var t,n,a,i,o,s=[],r=Y.call(arguments),l=(ie._data(this,"events")||{})[e.type]||[],c=ie.event.special[e.type]||{};if(r[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){for(s=ie.event.handlers.call(this,e,l),t=0;(i=s[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,o=0;(a=i.handlers[o++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(a.namespace))&&(e.handleObj=a,e.data=a.data,n=((ie.event.special[a.origType]||{}).handle||a.handler).apply(i.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,a,i,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(i=[],o=0;r>o;o++)a=t[o],n=a.selector+" ",void 0===i[n]&&(i[n]=a.needsContext?ie(n,this).index(l)>=0:ie.find(n,this,null,[l]).length),i[n]&&i.push(a);i.length&&s.push({elem:l,handlers:i})}return r<t.length&&s.push({elem:this,handlers:t.slice(r)}),s},fix:function(e){if(e[ie.expando])return e;var t,n,a,i=e.type,o=e,s=this.fixHooks[i];for(s||(this.fixHooks[i]=s=Pe.test(i)?this.mouseHooks:De.test(i)?this.keyHooks:{}),a=s.props?this.props.concat(s.props):this.props,e=new ie.Event(o),t=a.length;t--;)n=a[t],e[n]=o[n];return e.target||(e.target=o.srcElement||ge),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:
prop:function(e,t){return Ae(this,ie.prop,e,t,arguments.length>1)},removeProp:function(e){return e=ie.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(t){}})}}),ie.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var a,i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return o=1!==s||!ie.isXMLDoc(e),o&&(t=ie.propFix[t]||t,i=ie.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(a=i.set(e,n,t))?a:e[t]=n:i&&"get"in i&&null!==(a=i.get(e,t))?a:e[t]},propHooks:{tabIndex:{get:function(e){var t=ie.find.attr(e,"tabindex");return t?parseInt(t,10):xt.test(e.nodeName)||It.test(e.nodeName)&&e.href?0:-1}}}}),ne.hrefNormalized||ie.each(["href","src"],function(e,t){ie.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),ne.optSelected||(ie.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),ie.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ie.propFix[this.toLowerCase()]=this}),ne.enctype||(ie.propFix.enctype="encoding");var At=/[\t\r\n\f]/g;ie.fn.extend({addClass:function(e){var t,n,a,i,o,s,r=0,l=this.length,c="string"==typeof e&&e;if(ie.isFunction(e))return this.each(function(t){ie(this).addClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(ye)||[];l>r;r++)if(n=this[r],a=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(At," "):" ")){for(o=0;i=t[o++];)a.indexOf(" "+i+" ")<0&&(a+=i+" ");s=ie.trim(a),n.className!==s&&(n.className=s)}return this},removeClass:function(e){var t,n,a,i,o,s,r=0,l=this.length,c=0===arguments.length||"string"==typeof e&&e;if(ie.isFunction(e))return this.each(function(t){ie(this).removeClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(ye)||[];l>r;r++)if(n=this[r],a=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(At," "):"")){for(o=0;i=t[o++];)for(;a.indexOf(" "+i+" ")>=0;)a=a.replace(" "+i+" "," ");s=e?ie.trim(a):"",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(ie.isFunction(e)?function(n){ie(this).toggleClass(e.call(this,n,this.className,t),t)}:function(){if("string"===n)for(var t,a=0,i=ie(this),o=e.match(ye)||[];t=o[a++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else(n===$e||"boolean"===n)&&(this.className&&ie._data(this,"__className__",this.className),this.className=this.className||e===!1?"":ie._data(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,a=this.length;a>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(At," ").indexOf(t)>=0)return!0;return!1}}),ie.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){ie.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),ie.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,a){return this.on(t,e,n,a)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var Et=ie.now(),Tt=/\?/,Dt=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;ie.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+"");var n,a=null,i=ie.trim(t+"");return i&&!ie.trim(i.replace(Dt,function(e,t,i,o){return n&&t&&(a=0),0===a?e:(n=i||t,a+=!o-!i,"")}))?Function("return "+i)():ie.error("Invalid JSON: "+t)},ie.parseXML=function(t){var n,a;if(!t||"string"!=typeof t)return null;try{e.DOMParser?(a=new DOMParser,n=a.parseFromString(t,"text/xml")):(n=new ActiveXObject("Microsoft.XMLDOM"),n.async="false",n.loadXML(t))}catch(i){n=void 0}return n&&n.documentElement&&!n.getElementsByTag
Config.Schema.API={constructors:[{id:"-1132882121",predicate:"boolFalse",params:[],type:"Bool"},{id:"-1720552011",predicate:"boolTrue",params:[],type:"Bool"},{id:"1072550713",predicate:"true",params:[],type:"True"},{id:"481674261",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:"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:"342061462",predicate:"inputFileLocation",params:[{name:"volume_id",type:"long"},{name:"local_id",type:"int"},{name:"secret",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_id",type:"int"}],type:"Peer"},{id:"-1160714821",predicate:"peerChat",params:[{name:"chat_id",type:"int"}],type:"Peer"},{id:"-1432995067",predicate:"storage.fileUnknown",params:[],type:"storage.FileType"},{id:"8322574",predicate:"storage.fileJpeg",params:[],type:"storage.FileType"},{id:"-891180321",predicate:"storage.fileGif",params:[],type:"storage.FileType"},{id:"172975040",predicate:"storage.filePng",params:[],type:"storage.FileType"},{id:"-1373745011",predicate:"storage.filePdf",params:[],type:"storage.FileType"},{id:"1384777335",predicate:"storage.fileMp3",params:[],type:"storage.FileType"},{id:"1258941372",predicate:"storage.fileMov",params:[],type:"storage.FileType"},{id:"1086091090",predicate:"storage.filePartial",params:[],type:"storage.FileType"},{id:"-1278304028",
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:"314130811",predicate:"updateUserPhone",params:[{name:"user_id",type:"int"},{name:"phone",type:"string"}],type:"Update"},{id:"1815593308",predicate:"documentAttributeImageSize",params:[{name:"w",type:"int"},{name:"h",type:"int"}],type:"DocumentAttribute"},{id:"297109817",predicate:"documentAttributeAnimated",params:[],type:"DocumentAttribute"},{id:"978674434",predicate:"documentAttributeSticker",params:[{name:"alt",type:"string"},{name:"stickerset",type:"InputStickerSet"}],type:"DocumentAttribute"},{id:"1494273227",predicate:"documentAttributeVideo",params:[{name:"duration",type:"int"},{name:"w",type:"int"},{name:"h",type:"int"}],type:"DocumentAttribute"},{id:"-1739392570",predicate:"documentAttributeAudio",params:[{name:"flags",type:"#"},{name:"voice",type:"flags.10?true"},{name:"duration",type:"int"},{name:"title",type:"flags.0?string"},{name:"performer",type:"fla
type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"InputBotInlineMessage"},{id:"982505656",predicate:"botInlineMessageMediaGeo",params:[{name:"flags",type:"#"},{name:"geo",type:"GeoPoint"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:"1130767150",predicate:"botInlineMessageMediaVenue",params:[{name:"flags",type:"#"},{name:"geo",type:"GeoPoint"},{name:"title",type:"string"},{name:"address",type:"string"},{name:"provider",type:"string"},{name:"venue_id",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:"904770772",predicate:"botInlineMessageMediaContact",params:[{name:"flags",type:"#"},{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"reply_markup",type:"flags.2?ReplyMarkup"}],type:"BotInlineMessage"},{id:"-1462213465",predicate:"inputBotInlineResultPhoto",params:[{name:"id",type:"string"},{name:"type",type:"string"},{name:"photo",type:"InputPhoto"},{name:"send_message",type:"InputBotInlineMessage"}],type:"InputBotInlineResult"},{id:"-459324",predicate:"inputBotInlineResultDocument",params:[{name:"flags",type:"#"},{name:"id",type:"string"},{name:"type",type:"string"},{name:"title",type:"flags.1?string"},{name:"description",type:"flags.2?string"},{name:"document",type:"InputDocument"},{name:"send_message",type:"InputBotInlineMessage"}],type:"InputBotInlineResult"},{id:"400266251",predicate:"botInlineMediaResult",params:[{name:"flags",type:"#"},{name:"id",type:"string"},{name:"type",type:"string"},{name:"photo",type:"flags.0?Photo"},{name:"document",type:"flags.1?Document"},{name:"title",type:"flags.2?string"},{name:"description",type:"flags.3?string"},{name:"send_message",type:"BotInlineMessage"}],type:"BotInlineResult"},{id:"-1995686519",predicate:"inputBotInlineMessageID",params:[{name:"dc_id",type:"int"},{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputBotInlineMessageID"},{id:"750622127",predicate:"updateInlineBotCallbackQuery",params:[{name:"query_id",type:"long"},{name:"user_id",type:"int"},{name:"msg_id",type:"InputBotInlineMessageID"},{name:"data",type:"bytes"}],type:"Update"},{id:"1008755359",predicate:"inlineBotSwitchPM",params:[{name:"text",type:"string"},{name:"start_param",type:"string"}],type:"InlineBotSwitchPM"},{id:"863093588",predicate:"messages.peerDialogs",params:[{name:"dialogs",type:"Vector<Dialog>"},{name:"messages",type:"Vector<Message>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"},{name:"state",type:"updates.State"}],type:"messages.PeerDialogs"},{id:"-305282981",predicate:"topPeer",params:[{name:"peer",type:"Peer"},{name:"rating",type:"double"}],type:"TopPeer"},{id:"-1419371685",predicate:"topPeerCategoryBotsPM",params:[],type:"TopPeerCategory"},{id:"344356834",predicate:"topPeerCategoryBotsInline",params:[],type:"TopPeerCategory"},{id:"104314861",predicate:"topPeerCategoryCorrespondents",params:[],type:"TopPeerCategory"},{id:"-1122524854",predicate:"topPeerCategoryGroups",params:[],type:"TopPeerCategory"},{id:"371037736",predicate:"topPeerCategoryChannels",params:[],type:"TopPeerCategory"},{id:"-75283823",predicate:"topPeerCategoryPeers",params:[{name:"category",type:"TopPeerCategory"},{name:"count",type:"int"},{name:"peers",type:"Vector<TopPeer>"}],type:"TopPeerCategoryPeers"},{id:"-567906571",predicate:"contacts.topPeersNotModified",params:[],type:"contacts.TopPeers"},{id:"1891070632",predicate:"contacts.topPeers",params:[{name:"categories",type:"Vector<TopPeerCategoryPeers>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"contacts.TopPeers"},{id:"892193368",predicate:"messageEntityMentionName",params:[{name:"offset",type:"int"},{name:"length",type:"int"},{name:"user_id",type:"int"}],type:"MessageEntity"},{id:"546203849",predicate:"inputMessageEntityMentionName",params:[{name:"offset",type:"int"},{name:"length",type:"int"},{name:"user_id",type:"InputUser"}],type:"MessageEntity"},{id:"975236280",predicate:"inputMessagesFilterChatPhotos",params:[],type:"MessagesFilter"
"25fe":["◾",["black_medium_small_square"]],2600:["☀",["sunny"]],2601:["☁",["cloud"]],"260e":["☎",["phone","telephone"]],2611:["☑",["ballot_box_with_check"]],2614:["☔",["umbrella"]],2615:["☕",["coffee"]],"261d":["☝",["point_up"]],"263a":["☺",["relaxed"]],2648:["♈",["aries"]],2649:["♉",["taurus"]],"264a":["♊",["gemini"]],"264b":["♋",["cancer"]],"264c":["♌",["leo"]],"264d":["♍",["virgo"]],"264e":["♎",["libra"]],"264f":["♏",["scorpius"]],2650:["♐",["sagittarius"]],2651:["♑",["capricorn"]],2652:["♒",["aquarius"]],2653:["♓",["pisces"]],2660:["♠",["spades"]],2663:["♣",["clubs"]],2665:["♥",["hearts"]],2666:["♦",["diamonds"]],2668:["♨",["hotsprings"]],"267b":["♻",["recycle"]],"267f":["♿",["wheelchair"]],2693:["⚓",["anchor"]],"26a0":["⚠",["warning"]],"26a1":["⚡",["zap"]],"26aa":["⚪",["white_circle"]],"26ab":["⚫",["black_circle"]],"26bd":["⚽",["soccer"]],"26be":["⚾",["baseball"]],"26c4":["⛄",["snowman"]],"26c5":["⛅",["partly_sunny"]],"26ce":["⛎",["ophiuchus"]],"26d4":["⛔",["no_entry"]],"26ea":["⛪",["church"]],"26f2":["⛲",["fountain"]],"26f3":["⛳",["golf"]],"26f5":["⛵",["boat","sailboat"]],"26fa":["⛺",["tent"]],"26fd":["⛽",["fuelpump"]],2702:["✂",["scissors"]],2705:["✅",["white_check_mark"]],2708:["✈",["airplane"]],2709:["✉",["email","envelope"]],"270a":["✊",["fist"]],"270b":["✋",["hand","raised_hand"]],"270c":["✌",["v"]],"270f":["✏",["pencil2"]],2712:["✒",["black_nib"]],2714:["✔",["heavy_check_mark"]],2716:["✖",["heavy_multiplication_x"]],2728:["✨",["sparkles"]],2733:["✳",["eight_spoked_asterisk"]],2734:["✴",["eight_pointed_black_star"]],2744:["❄",["snowflake"]],2747:["❇",["sparkle"]],"274c":["❌",["x"]],"274e":["❎",["negative_squared_cross_mark"]],2753:["❓",["question"]],2754:["❔",["grey_question"]],2755:["❕",["grey_exclamation"]],2757:["❗",["exclamation","heavy_exclamation_mark"]],2764:["❤",["heart"],"<3"],2795:["➕",["heavy_plus_sign"]],2796:["➖",["heavy_minus_sign"]],2797:["➗",["heavy_division_sign"]],"27a1":["➡",["arrow_right"]],"27b0":["➰",["curly_loop"]],"27bf":["➿",["loop"]],2934:["⤴",["arrow_heading_up"]],2935:["⤵",["arrow_heading_down"]],"2b05":["⬅",["arrow_left"]],"2b06":["⬆",["arrow_up"]],"2b07":["⬇",["arrow_down"]],"2b1b":["⬛",["black_large_square"]],"2b1c":["⬜",["white_large_square"]],"2b50":["⭐",["star"]],"2b55":["⭕",["o"]],3030:["〰",["wavy_dash"]],"303d":["〽",["part_alternation_mark"]],3297:["㊗",["congratulations"]],3299:["㊙",["secret"]],"1f004":["🀄",["mahjong"]],"1f0cf":["🃏",["black_joker"]],"1f170":["🅰",["a"]],"1f171":["🅱",["b"]],"1f17e":["🅾",["o2"]],"1f17f":["🅿",["parking"]],"1f18e":["🆎",["ab"]],"1f191":["🆑",["cl"]],"1f192":["🆒",["cool"]],"1f193":["🆓",["free"]],"1f194":["🆔",["id"]],"1f195":["🆕",["new"]],"1f196":["🆖",["ng"]],"1f197":["🆗",["ok"]],"1f198":["🆘",["sos"]],"1f199":["🆙",["up"]],"1f19a":["🆚",["vs"]],"1f201":["🈁",["koko"]],"1f202":["🈂",["sa"]],"1f21a":["🈚",["u7121"]],"1f22f":["🈯",["u6307"]],"1f232":["🈲",["u7981"]],"1f233":["🈳",["u7a7a"]],"1f234":["🈴",["u5408"]],"1f235":["🈵",["u6e80"]],"1f236":["🈶",["u6709"]],"1f237":["🈷",["u6708"]],"1f238":["🈸",["u7533"]],"1f239":["🈹",["u5272"]],"1f23a":["🈺",["u55b6"]],"1f250":["🉐",["ideograph_advantage"]],"1f251":["🉑",["accept"]],"1f300":["🌀",["cyclone"]],"1f301":["🌁",["foggy"]],"1f302":["🌂",["closed_umbrella"]],"1f303":["🌃",["night_with_stars"]],"1f304":["🌄",["sunrise_over_mountains"]],"1f305":["🌅",["sunrise"]],"1f306":["🌆",["city_sunset"]],"1f307":["🌇",["city_sunrise"]],"1f308":["🌈",["rainbow"]],"1f309":["🌉",["bridge_at_night"]],"1f30a":["🌊",["ocean"]],"1f30b":["🌋",["volcano"]],"1f30c":["🌌",["milky_way"]],"1f30d":["🌍",["earth_africa"]],"1f30e":["🌎",["earth_americas"]],"1f30f":["🌏",["earth_asia"]],"1f310":["🌐",["globe_with_meridians"]],"1f311":["🌑",["new_moon"]],"1f312":["🌒",["waxing_crescent_moon"]],"1f313":["🌓",["first_quarter_moon"]],"1f314":["<EFBFBD>
"Nj":"N","Ñ":"N","NJ":"NJ","Ó":"O","Ŏ":"O","Ǒ":"O","Ô":"O","Ố":"O","Ộ":"O","Ồ":"O","Ổ":"O","Ỗ":"O","Ö":"O","Ȫ":"O","Ȯ":"O","Ȱ":"O","Ọ":"O","Ő":"O","Ȍ":"O","Ò":"O","Ỏ":"O","Ơ":"O","Ớ":"O","Ợ":"O","Ờ":"O","Ở":"O","Ỡ":"O","Ȏ":"O","Ꝋ":"O","Ꝍ":"O","Ō":"O","Ṓ":"O","Ṑ":"O","Ɵ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Õ":"O","Ṍ":"O","Ṏ":"O","Ȭ":"O","Ƣ":"OI","Ꝏ":"OO","Ɛ":"E","Ɔ":"O","Ȣ":"OU","Ṕ":"P","Ṗ":"P","Ꝓ":"P","Ƥ":"P","Ꝕ":"P","Ᵽ":"P","Ꝑ":"P","Ꝙ":"Q","Ꝗ":"Q","Ŕ":"R","Ř":"R","Ŗ":"R","Ṙ":"R","Ṛ":"R","Ṝ":"R","Ȑ":"R","Ȓ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꜿ":"C","Ǝ":"E","Ś":"S","Ṥ":"S","Š":"S","Ṧ":"S","Ş":"S","Ŝ":"S","Ș":"S","Ṡ":"S","Ṣ":"S","Ṩ":"S","ẞ":"SS","Ť":"T","Ţ":"T","Ṱ":"T","Ț":"T","Ⱦ":"T","Ṫ":"T","Ṭ":"T","Ƭ":"T","Ṯ":"T","Ʈ":"T","Ŧ":"T","Ɐ":"A","Ꞁ":"L","Ɯ":"M","Ʌ":"V","Ꜩ":"TZ","Ú":"U","Ŭ":"U","Ǔ":"U","Û":"U","Ṷ":"U","Ü":"U","Ǘ":"U","Ǚ":"U","Ǜ":"U","Ǖ":"U","Ṳ":"U","Ụ":"U","Ű":"U","Ȕ":"U","Ù":"U","Ủ":"U","Ư":"U","Ứ":"U","Ự":"U","Ừ":"U","Ử":"U","Ữ":"U","Ȗ":"U","Ū":"U","Ṻ":"U","Ų":"U","Ů":"U","Ũ":"U","Ṹ":"U","Ṵ":"U","Ꝟ":"V","Ṿ":"V","Ʋ":"V","Ṽ":"V","Ꝡ":"VY","Ẃ":"W","Ŵ":"W","Ẅ":"W","Ẇ":"W","Ẉ":"W","Ẁ":"W","Ⱳ":"W","Ẍ":"X","Ẋ":"X","Ý":"Y","Ŷ":"Y","Ÿ":"Y","Ẏ":"Y","Ỵ":"Y","Ỳ":"Y","Ƴ":"Y","Ỷ":"Y","Ỿ":"Y","Ȳ":"Y","Ɏ":"Y","Ỹ":"Y","Ź":"Z","Ž":"Z","Ẑ":"Z","Ⱬ":"Z","Ż":"Z","Ẓ":"Z","Ȥ":"Z","Ẕ":"Z","Ƶ":"Z","IJ":"IJ","Œ":"OE","ᴀ":"A","ᴁ":"AE","ʙ":"B","ᴃ":"B","ᴄ":"C","ᴅ":"D","ᴇ":"E","ꜰ":"F","ɢ":"G","ʛ":"G","ʜ":"H","ɪ":"I","ʁ":"R","ᴊ":"J","ᴋ":"K","ʟ":"L","ᴌ":"L","ᴍ":"M","ɴ":"N","ᴏ":"O","ɶ":"OE","ᴐ":"O","ᴕ":"OU","ᴘ":"P","ʀ":"R","ᴎ":"N","ᴙ":"R","ꜱ":"S","ᴛ":"T","ⱻ":"E","ᴚ":"R","ᴜ":"U","ᴠ":"V","ᴡ":"W","ʏ":"Y","ᴢ":"Z","á":"a","ă":"a","ắ":"a","ặ":"a","ằ":"a","ẳ":"a","ẵ":"a","ǎ":"a","â":"a","ấ":"a","ậ":"a","ầ":"a","ẩ":"a","ẫ":"a","ä":"a","ǟ":"a","ȧ":"a","ǡ":"a","ạ":"a","ȁ":"a","à":"a","ả":"a","ȃ":"a","ā":"a","ą":"a","ᶏ":"a","ẚ":"a","å":"a","ǻ":"a","ḁ":"a","ⱥ":"a","ã":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ḃ":"b","ḅ":"b","ɓ":"b","ḇ":"b","ᵬ":"b","ᶀ":"b","ƀ":"b","ƃ":"b","ɵ":"o","ć":"c","č":"c","ç":"c","ḉ":"c","ĉ":"c","ɕ":"c","ċ":"c","ƈ":"c","ȼ":"c","ď":"d","ḑ":"d","ḓ":"d","ȡ":"d","ḋ":"d","ḍ":"d","ɗ":"d","ᶑ":"d","ḏ":"d","ᵭ":"d","ᶁ":"d","đ":"d","ɖ":"d","ƌ":"d","ı":"i","ȷ":"j","ɟ":"j","ʄ":"j","dz":"dz","dž":"dz","é":"e","ĕ":"e","ě":"e","ȩ":"e","ḝ":"e","ê":"e","ế":"e","ệ":"e","ề":"e","ể":"e","ễ":"e","ḙ":"e","ë":"e","ė":"e","ẹ":"e","ȅ":"e","è":"e","ẻ":"e","ȇ":"e","ē":"e","ḗ":"e","ḕ":"e","ⱸ":"e","ę":"e","ᶒ":"e","ɇ":"e","ẽ":"e","ḛ":"e","ꝫ":"et","ḟ":"f","ƒ":"f","ᵮ":"f","ᶂ":"f","ǵ":"g","ğ":"g","ǧ":"g","ģ":"g","ĝ":"g","ġ":"g","ɠ":"g","ḡ":"g","ᶃ":"g","ǥ":"g","ḫ":"h","ȟ":"h","ḩ":"h","ĥ":"h","ⱨ":"h","ḧ":"h","ḣ":"h","ḥ":"h","ɦ":"h","ẖ":"h","ħ":"h","ƕ":"hv","í":"i","ĭ":"i","ǐ":"i","î":"i","ï":"i","ḯ":"i","ị":"i","ȉ":"i","ì":"i","ỉ":"i","ȋ":"i","ī":"i","į":"i","ᶖ":"i","ɨ":"i","ĩ":"i","ḭ":"i","ꝺ":"d","ꝼ":"f","ᵹ":"g","ꞃ":"r","ꞅ":"s","ꞇ":"t","ꝭ":"is","ǰ":"j","ĵ":"j","ʝ":"j","ɉ":"j","ḱ":"k","ǩ":"k","ķ":"k","ⱪ":"k","ꝃ":"k","ḳ":"k","ƙ":"k","ḵ":"k","ᶄ":"k","ꝁ":"k","ꝅ":"k","ĺ":"l","ƚ":"l","ɬ":"l","ľ":"l","ļ":"l","ḽ":"l","ȴ":"l","ḷ":"l","ḹ":"l","ⱡ":"l","ꝉ":"l","ḻ":"l","ŀ":"l","ɫ":"l","ᶅ":"l","ɭ":"l","ł":"l","lj":"lj","ſ":"s","ẜ":"s","ẛ":"s","ẝ":"s","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ᵯ":"m","ᶆ":"m","ń":"n","ň":"n","ņ":"n","ṋ":"n","ȵ":"n","ṅ":"n","ṇ":"n","ǹ":"n","ɲ":"n","ṉ":"n","ƞ":"n","ᵰ":"n","ᶇ":"n","ɳ":"n","ñ":"n","nj":"nj","ó":"o","ŏ":"o","ǒ":"o","ô":"o","ố":"o","ộ":"o","ồ":"o","ổ":"o","ỗ":"o","ö":"o","ȫ":"o","ȯ":"o",
if(e.extend(a.options,t),null!=t.scrollBottom)return a.scrollBottom(t.scrollBottom);if(null!=t.scrollTop)return a.scrollTop(t.scrollTop);if(t.scrollTo)return a.scrollTo(t.scrollTo);if("bottom"===t.scroll)return a.scrollBottom(0);if("top"===t.scroll)return a.scrollTop(0);if(t.scroll&&t.scroll instanceof e)return a.scrollTo(t.scroll);if(t.stop)return a.stop();if(t.destroy)return a.destroy();if(t.flash)return a.flash()}return a.reset()})},e.fn.nanoScroller.Constructor=f}(jQuery,window,document),function(e){"use strict";function t(e,t){return t=t||Error,function(){var n,a,i=2,o=arguments,s=o[0],r="["+(e?e+":":"")+s+"] ",l=o[1];for(r+=l.replace(/\{\d+\}/g,function(e){var t=+e.slice(1,-1),n=t+i;return n<o.length?ve(o[n]):e}),r+="\nhttp://errors.angularjs.org/1.5.7/"+(e?e+"/":"")+s,a=i,n="?";a<o.length;a++,n="&")r+=n+"p"+(a-i)+"="+encodeURIComponent(ve(o[a]));return new t(r)}}function n(e){if(null==e||M(e))return!1;if(Ya(e)||w(e)||Ua&&e instanceof Ua)return!0;var t="length"in Object(e)&&e.length;return k(t)&&(t>=0&&(t-1 in e||e instanceof Array)||"function"==typeof e.item)}function a(e,t,i){var o,s;if(e)if(C(e))for(o in e)"prototype"==o||"length"==o||"name"==o||e.hasOwnProperty&&!e.hasOwnProperty(o)||t.call(i,e[o],o,e);else if(Ya(e)||n(e)){var r="object"!=typeof e;for(o=0,s=e.length;o<s;o++)(r||o in e)&&t.call(i,e[o],o,e)}else if(e.forEach&&e.forEach!==a)e.forEach(t,i,e);else if(b(e))for(o in e)t.call(i,e[o],o,e);else if("function"==typeof e.hasOwnProperty)for(o in e)e.hasOwnProperty(o)&&t.call(i,e[o],o,e);else for(o in e)Da.call(e,o)&&t.call(i,e[o],o,e);return e}function i(e,t,n){for(var a=Object.keys(e).sort(),i=0;i<a.length;i++)t.call(n,e[a[i]],a[i]);return a}function o(e){return function(t,n){e(n,t)}}function s(){return++Ka}function r(e,t){t?e.$$hashKey=t:delete e.$$hashKey}function l(e,t,n){for(var a=e.$$hashKey,i=0,o=t.length;i<o;++i){var s=t[i];if(y(s)||C(s))for(var c=Object.keys(s),d=0,u=c.length;d<u;d++){var p=c[d],m=s[p];n&&y(m)?$(m)?e[p]=new Date(m.valueOf()):S(m)?e[p]=new RegExp(m):m.nodeName?e[p]=m.cloneNode(!0):N(m)?e[p]=m.clone():(y(e[p])||(e[p]=Ya(m)?[]:{}),l(e[p],[m],!0)):e[p]=m}}return r(e,a),e}function c(e){return l(e,ja.call(arguments,1),!1)}function d(e){return l(e,ja.call(arguments,1),!0)}function u(e){return parseInt(e,10)}function p(e,t){return c(Object.create(e),t)}function m(){}function g(e){return e}function h(e){return function(){return e}}function f(e){return C(e.toString)&&e.toString!==Va}function _(e){return"undefined"==typeof e}function v(e){return"undefined"!=typeof e}function y(e){return null!==e&&"object"==typeof e}function b(e){return null!==e&&"object"==typeof e&&!za(e)}function w(e){return"string"==typeof e}function k(e){return"number"==typeof e}function $(e){return"[object Date]"===Va.call(e)}function C(e){return"function"==typeof e}function S(e){return"[object RegExp]"===Va.call(e)}function M(e){return e&&e.window===e}function x(e){return e&&e.$evalAsync&&e.$watch}function I(e){return"[object File]"===Va.call(e)}function A(e){return"[object FormData]"===Va.call(e)}function E(e){return"[object Blob]"===Va.call(e)}function T(e){return"boolean"==typeof e}function D(e){return e&&C(e.then)}function P(e){return e&&k(e.length)&&Za.test(Va.call(e))}function F(e){return"[object ArrayBuffer]"===Va.call(e)}function N(e){return!(!e||!(e.nodeName||e.prop&&e.attr&&e.find))}function R(e){var t,n={},a=e.split(",");for(t=0;t<a.length;t++)n[a[t]]=!0;return n}function O(e){return Pa(e.nodeName||e[0]&&e[0].nodeName)}function U(e,t){var n=e.indexOf(t);return n>=0&&e.splice(n,1),n}function L(e,t){function n(e,t){var n,a=t.$$hashKey;if(Ya(e))for(var o=0,s=e.length;o<s;o++)t.push(i(e[o]));else if(b(e))for(n in e)t[n]=i(e[n]);else if(e&&"function"==typeof e.hasOwnProperty)for(n in e)e.hasOwnProperty(n)&&(t[n]=i(e[n]));else for(n in e)Da.call(e,n)&&(t[n]=i(e[n]));return r(t,a),t}function i(e){if(!y(e))return e;var t=s.indexOf(e);if(t!==-1)return l[t];if(M(e)||x(e))throw Wa("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");var a=!1,i=o(e);return void 0===i&&(i=Ya(e)?[]:Object.creat
te(t,u,"A",a,i,k,$)}if(s=e.className,y(s)&&(s=s.animVal),w(s)&&""!==s)for(;o=b.exec(s);)u=ft(o[2]),te(t,u,"C",a,i)&&(n[u]=Xa(o[3])),s=s.substr(o.index+o[0].length);break;case ri:if(11===Oa)for(;e.parentNode&&e.nextSibling&&e.nextSibling.nodeType===ri;)e.nodeValue=e.nodeValue+e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);le(t,e.nodeValue);break;case li:try{o=f.exec(e.nodeValue),o&&(u=ft(o[1]),te(t,u,"M",a,i)&&(n[u]=Xa(o[2])))}catch(S){}}return t.sort(oe),t}function G(e,t,n){var a=[],i=0;if(t&&e.hasAttribute&&e.hasAttribute(t)){do{if(!e)throw Wi("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",t,n);e.nodeType==oi&&(e.hasAttribute(t)&&i++,e.hasAttribute(n)&&i--),a.push(e),e=e.nextSibling}while(i>0)}else a.push(e);return Ua(a)}function K(e,t,n){return function(a,i,o,s,r){return i=G(i[0],t,n),e(a,i,o,s,r)}}function Y(e,t,n,a,i,o){var s;return e?L(t,n,a,i,o):function(){return s||(s=L(t,n,a,i,o),t=n=o=null),s.apply(this,arguments)}}function X(e,t,n,o,s,r,l,d,u){function p(e,t,n,a){e&&(n&&(e=K(e,n,a)),e.require=g.require,e.directiveName=h,(S===g||g.$$isolateScope)&&(e=he(e,{isolateScope:!0})),l.push(e)),t&&(n&&(t=K(t,n,a)),t.require=g.require,t.directiveName=h,(S===g||g.$$isolateScope)&&(t=he(t,{isolateScope:!0})),d.push(t))}function m(e,o,s,r,u){function p(e,t,n,a){var i;if(x(e)||(a=n,n=t,t=e,e=void 0),T&&(i=b),n||(n=T?I.parent():I),!a)return u(e,t,i,n,U);var o=u.$$slots[a];if(o)return o(e,t,i,n,U);if(_(o))throw Wi("noslot",'No parent directive that requires a transclusion with slot name "{0}". Element: {1}',a,Z(I))}var m,g,h,f,v,b,w,I,A,E;t===s?(A=n,I=n.$$element):(I=Ua(s),A=new F(I,n)),v=o,S?f=o.$new(!0):k&&(v=o.$parent),u&&(w=p,w.$$boundTransclude=u,w.isSlotFilled=function(e){return!!u.$$slots[e]}),$&&(b=Q(I,A,w,$,f,o,S)),S&&(L.$$addScopeInfo(I,f,!0,!(M&&(M===S||M===S.$$originalDirective))),L.$$addScopeClass(I,!0),f.$$isolateBindings=S.$$isolateBindings,E=_e(o,A,f,f.$$isolateBindings,S),E.removeWatches&&f.$on("$destroy",E.removeWatches));for(var D in b){var P=$[D],N=b[D],R=P.$$bindings.bindToController;N.identifier&&R?N.bindingInfo=_e(v,A,N.instance,R,P):N.bindingInfo={};var O=N();O!==N.instance&&(N.instance=O,I.data("$"+P.name+"Controller",O),N.bindingInfo.removeWatches&&N.bindingInfo.removeWatches(),N.bindingInfo=_e(v,A,N.instance,R,P))}for(a($,function(e,t){var n=e.require;e.bindToController&&!Ya(n)&&y(n)&&c(b[t].instance,J(t,n,I,b))}),a(b,function(e){var t=e.instance;if(C(t.$onChanges))try{t.$onChanges(e.bindingInfo.initialChanges)}catch(n){i(n)}if(C(t.$onInit))try{t.$onInit()}catch(n){i(n)}C(t.$onDestroy)&&v.$on("$destroy",function(){t.$onDestroy()})}),m=0,g=l.length;m<g;m++)h=l[m],fe(h,h.isolateScope?f:o,I,A,h.require&&J(h.directiveName,h.require,I,b),w);var U=o;for(S&&(S.template||null===S.templateUrl)&&(U=f),e&&e(U,s.childNodes,void 0,u),m=d.length-1;m>=0;m--)h=d[m],fe(h,h.isolateScope?f:o,I,A,h.require&&J(h.directiveName,h.require,I,b),w);a(b,function(e){var t=e.instance;C(t.$postLink)&&t.$postLink()})}u=u||{};for(var g,h,f,v,b,w=-Number.MAX_VALUE,k=u.newScopeDirective,$=u.controllerDirectives,S=u.newIsolateScopeDirective,M=u.templateDirective,I=u.nonTlbTranscludeDirective,A=!1,E=!1,T=u.hasElementTranscludeDirective,D=n.$$element=Ua(t),P=r,N=o,R=!1,U=!1,B=0,j=e.length;B<j;B++){g=e[B];var V=g.$$start,z=g.$$end;if(V&&(D=G(t,V,z)),f=void 0,w>g.priority)break;if((b=g.scope)&&(g.templateUrl||(y(b)?(se("new/isolated scope",S||k,g,D),S=g):se("new/isolated scope",S,g,D)),k=k||g),h=g.name,!R&&(g.replace&&(g.templateUrl||g.template)||g.transclude&&!g.$$tlb)){for(var X,te=B+1;X=e[te++];)if(X.transclude&&!X.$$tlb||X.replace&&(X.templateUrl||X.template)){U=!0;break}R=!0}if(!g.templateUrl&&g.controller&&(b=g.controller,$=$||ge(),se("'"+h+"' controller",$[h],g,D),$[h]=g),b=g.transclude)if(A=!0,g.$$tlb||(se("transclusion",I,g,D),I=g),"element"==b)T=!0,w=g.priority,f=D,D=n.$$element=Ua(L.$$createComment(h,n[h])),t=D[0],me(s,H(f),t),f[0].$$parentNode=f[0].parentNode,N=Y(U,f,o,w,P&&P.name,{nonTlbTranscludeDirective:I});else{var ne=ge();if(f=Ua(Ee(t)).contents(),y(b)){f=[];var oe=ge(),re=g
cn(e.consequent,t),e.constant=e.test.constant&&e.alternate.constant&&e.consequent.constant,e.toWatch=e.constant?[]:[e];break;case vo.Identifier:e.constant=!1,e.toWatch=[e];break;case vo.MemberExpression:cn(e.object,t),e.computed&&cn(e.property,t),e.constant=e.object.constant&&(!e.computed||e.property.constant),e.toWatch=[e];break;case vo.CallExpression:n=!!e.filter&&ln(t,e.callee.name),i=[],a(e.arguments,function(e){cn(e,t),n=n&&e.constant,e.constant||i.push.apply(i,e.toWatch)}),e.constant=n,e.toWatch=e.filter&&ln(t,e.callee.name)?i:[e];break;case vo.AssignmentExpression:cn(e.left,t),cn(e.right,t),e.constant=e.left.constant&&e.right.constant,e.toWatch=[e];break;case vo.ArrayExpression:n=!0,i=[],a(e.elements,function(e){cn(e,t),n=n&&e.constant,e.constant||i.push.apply(i,e.toWatch)}),e.constant=n,e.toWatch=i;break;case vo.ObjectExpression:n=!0,i=[],a(e.properties,function(e){cn(e.value,t),n=n&&e.value.constant&&!e.computed,e.value.constant||i.push.apply(i,e.value.toWatch)}),e.constant=n,e.toWatch=i;break;case vo.ThisExpression:e.constant=!1,e.toWatch=[];break;case vo.LocalsExpression:e.constant=!1,e.toWatch=[]}}function dn(e){if(1==e.length){var t=e[0].expression,n=t.toWatch;return 1!==n.length?n:n[0]!==t?n:void 0}}function un(e){return e.type===vo.Identifier||e.type===vo.MemberExpression}function pn(e){if(1===e.body.length&&un(e.body[0].expression))return{type:vo.AssignmentExpression,left:e.body[0].expression,right:{type:vo.NGValueParameter},operator:"="}}function mn(e){return 0===e.body.length||1===e.body.length&&(e.body[0].expression.type===vo.Literal||e.body[0].expression.type===vo.ArrayExpression||e.body[0].expression.type===vo.ObjectExpression)}function gn(e){return e.constant}function hn(e,t){this.astBuilder=e,this.$filter=t}function fn(e,t){this.astBuilder=e,this.$filter=t}function _n(e){return"constructor"==e}function vn(e){return C(e.valueOf)?e.valueOf():bo.call(e)}function yn(){var e,t,n=ge(),i=ge(),o={"true":!0,"false":!1,"null":null,undefined:void 0};this.addLiteral=function(e,t){o[e]=t},this.setIdentifierFns=function(n,a){return e=n,t=a,this},this.$get=["$filter",function(s){function r(e,t,a){var o,r,c;switch(a=a||b,typeof e){case"string":e=e.trim(),c=e;var f=a?i:n;if(o=f[c],!o){":"===e.charAt(0)&&":"===e.charAt(1)&&(r=!0,e=e.substring(2));var v=a?y:_,w=new _o(v),k=new yo(w,s,v);o=k.parse(e),o.constant?o.$$watchDelegate=g:r?o.$$watchDelegate=o.literal?p:u:o.inputs&&(o.$$watchDelegate=d),a&&(o=l(o)),f[c]=o}return h(o,t);case"function":return h(e,t);default:return h(m,t)}}function l(e){function t(t,n,a,i){var o=b;b=!0;try{return e(t,n,a,i)}finally{b=o}}if(!e)return e;t.$$watchDelegate=e.$$watchDelegate,t.assign=l(e.assign),t.constant=e.constant,t.literal=e.literal;for(var n=0;e.inputs&&n<e.inputs.length;++n)e.inputs[n]=l(e.inputs[n]);return t.inputs=e.inputs,t}function c(e,t){return null==e||null==t?e===t:("object"!=typeof e||(e=vn(e),"object"!=typeof e))&&(e===t||e!==e&&t!==t)}function d(e,t,n,a,i){var o,s=a.inputs;if(1===s.length){var r=c;return s=s[0],e.$watch(function(e){var t=s(e);return c(t,r)||(o=a(e,void 0,void 0,[t]),r=t&&vn(t)),o},t,n,i)}for(var l=[],d=[],u=0,p=s.length;u<p;u++)l[u]=c,d[u]=null;return e.$watch(function(e){for(var t=!1,n=0,i=s.length;n<i;n++){var r=s[n](e);(t||(t=!c(r,l[n])))&&(d[n]=r,l[n]=r&&vn(r))}return t&&(o=a(e,void 0,void 0,d)),o},t,n,i)}function u(e,t,n,a){var i,o;return i=e.$watch(function(e){return a(e)},function(e,n,a){o=e,C(t)&&t.apply(this,arguments),v(e)&&a.$$postDigest(function(){v(o)&&i()})},n)}function p(e,t,n,i){function o(e){var t=!0;return a(e,function(e){v(e)||(t=!1)}),t}var s,r;return s=e.$watch(function(e){return i(e)},function(e,n,a){r=e,C(t)&&t.call(this,e,n,a),o(e)&&a.$$postDigest(function(){o(r)&&s()})},n)}function g(e,t,n,a){var i;return i=e.$watch(function(e){return i(),a(e)},t,n)}function h(e,t){if(!t)return e;var n=e.$$watchDelegate,a=!1,i=n!==p&&n!==u,o=i?function(n,i,o,s){var r=a&&s?s[0]:e(n,i,o,s);return t(r,n,i)}:function(n,a,i,o){var s=e(n,a,i,o),r=t(s,n,a);return v(s)?r:s};return e.$$watchDelegate&&e.$$watchDelegate!==d?o.$$watchDelegate=e.$$watchDe
return u(e)?(m=e,m&&g&&(m=Y(m,g,!0)),d("date")(e,a,g)):(m=null,"")}),v(s.min)||s.ngMin){var h;r.$validators.min=function(e){return!u(e)||_(h)||n(e)>=h},s.$observe("min",function(e){h=p(e),r.$validate()})}if(v(s.max)||s.ngMax){var f;r.$validators.max=function(e){return!u(e)||_(f)||n(e)<=f},s.$observe("max",function(e){f=p(e),r.$validate()})}}}function ya(e,t,n,a){var i=t[0],o=a.$$hasNativeValidators=y(i.validity);o&&a.$parsers.push(function(e){var n=t.prop(Ta)||{};return n.badInput||n.typeMismatch?void 0:e})}function ba(e,t,n,a,i,o){if(ya(e,t,n,a),ha(e,t,n,a,i,o),a.$$parserName="number",a.$parsers.push(function(e){return a.$isEmpty(e)?null:Vo.test(e)?parseFloat(e):void 0}),a.$formatters.push(function(e){if(!a.$isEmpty(e)){if(!k(e))throw xs("numfmt","Expected `{0}` to be a number",e);e=e.toString()}return e}),v(n.min)||n.ngMin){var s;a.$validators.min=function(e){return a.$isEmpty(e)||_(s)||e>=s},n.$observe("min",function(e){v(e)&&!k(e)&&(e=parseFloat(e,10)),s=k(e)&&!isNaN(e)?e:void 0,a.$validate()})}if(v(n.max)||n.ngMax){var r;a.$validators.max=function(e){return a.$isEmpty(e)||_(r)||e<=r},n.$observe("max",function(e){v(e)&&!k(e)&&(e=parseFloat(e,10)),r=k(e)&&!isNaN(e)?e:void 0,a.$validate()})}}function wa(e,t,n,a,i,o){ha(e,t,n,a,i,o),ma(a),a.$$parserName="url",a.$validators.url=function(e,t){var n=e||t;return a.$isEmpty(n)||Ho.test(n)}}function ka(e,t,n,a,i,o){ha(e,t,n,a,i,o),ma(a),a.$$parserName="email",a.$validators.email=function(e,t){var n=e||t;return a.$isEmpty(n)||qo.test(n)}}function $a(e,t,n,a){_(n.name)&&t.attr("name",s());var i=function(e){t[0].checked&&a.$setViewValue(n.value,e&&e.type)};t.on("click",i),a.$render=function(){var e=n.value;t[0].checked=e==a.$viewValue},n.$observe("value",a.$render)}function Ca(e,t,n,a,i){var o;if(v(a)){if(o=e(a),!o.constant)throw xs("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",n,a);return o(t)}return i}function Sa(e,t,n,a,i,o,s,r){var l=Ca(r,e,"ngTrueValue",n.ngTrueValue,!0),c=Ca(r,e,"ngFalseValue",n.ngFalseValue,!1),d=function(e){a.$setViewValue(t[0].checked,e&&e.type)};t.on("click",d),a.$render=function(){t[0].checked=a.$viewValue},a.$isEmpty=function(e){return e===!1},a.$formatters.push(function(e){return B(e,l)}),a.$parsers.push(function(e){return e?l:c})}function Ma(e,t){return e="ngClass"+e,["$animate",function(n){function i(e,t){var n=[];e:for(var a=0;a<e.length;a++){for(var i=e[a],o=0;o<t.length;o++)if(i==t[o])continue e;n.push(i)}return n}function o(e){var t=[];return Ya(e)?(a(e,function(e){t=t.concat(o(e))}),t):w(e)?e.split(" "):y(e)?(a(e,function(e,n){e&&(t=t.concat(n.split(" ")))}),t):e}return{restrict:"AC",link:function(s,r,l){function c(e){var t=u(e,1);l.$addClass(t)}function d(e){var t=u(e,-1);l.$removeClass(t)}function u(e,t){var n=r.data("$classCounts")||ge(),i=[];return a(e,function(e){(t>0||n[e])&&(n[e]=(n[e]||0)+t,n[e]===+(t>0)&&i.push(e))}),r.data("$classCounts",n),i.join(" ")}function p(e,t){var a=i(t,e),o=i(e,t);a=u(a,1),o=u(o,-1),a&&a.length&&n.addClass(r,a),o&&o.length&&n.removeClass(r,o)}function m(e){if(t===!0||(1&s.$index)===t){var n=o(e||[]);if(g){if(!B(e,g)){var a=o(g);p(a,n)}}else c(n)}g=Ya(e)?e.map(function(e){return fe(e)}):fe(e)}var g;s.$watch(l[e],m,!0),l.$observe("class",function(t){m(s.$eval(l[e]))}),"ngClass"!==e&&s.$watch("$index",function(n,a){var i=1&n;if(i!==(1&a)){var r=o(s.$eval(l[e]));i===t?c(r):d(r)}})}}}]}function xa(e){function t(e,t,r){_(t)?n("$pending",e,r):a("$pending",e,r),T(t)?t?(d(s.$error,e,r),c(s.$$success,e,r)):(c(s.$error,e,r),d(s.$$success,e,r)):(d(s.$error,e,r),d(s.$$success,e,r)),s.$pending?(i(Cs,!0),s.$valid=s.$invalid=void 0,o("",null)):(i(Cs,!1),s.$valid=Ia(s.$error),s.$invalid=!s.$valid,o("",s.$valid));var l;l=s.$pending&&s.$pending[e]?void 0:!s.$error[e]&&(!!s.$$success[e]||null),o(e,l),s.$$parentForm.$setValidity(e,l,s)}function n(e,t,n){s[e]||(s[e]={}),c(s[e],t,n)}function a(e,t,n){s[e]&&d(s[e],t,n),Ia(s[e])&&(s[e]=void 0)}function i(e,t){t&&!l[e]?(u.addClass(r,e),l[e]=!0):!t&&l[e]&&(u.removeClass(r,e),l[e]=!1)}function o(e,t){e=e?"-"+re(e,"-"):"",i(vs+e,t===!0),i(ys+e,t===!1)}var s=e.ct
(p.state.expensiveChecks||_n(e.name))&&p.addEnsureSafeObject(t),i(t);break;case vo.MemberExpression:r=n&&(n.context=this.nextId())||this.nextId(),t=t||this.nextId(),p.recurse(e.object,r,void 0,function(){p.if_(p.notNull(r),function(){o&&1!==o&&p.addEnsureSafeAssignContext(r),e.computed?(l=p.nextId(),p.recurse(e.property,l),p.getStringValue(l),p.addEnsureSafeMemberName(l),o&&1!==o&&p.if_(p.not(p.computedMember(r,l)),p.lazyAssign(p.computedMember(r,l),"{}")),d=p.ensureSafeObject(p.computedMember(r,l)),p.assign(t,d),n&&(n.computed=!0,n.name=l)):(en(e.property.name),o&&1!==o&&p.if_(p.not(p.nonComputedMember(r,e.property.name)),p.lazyAssign(p.nonComputedMember(r,e.property.name),"{}")),d=p.nonComputedMember(r,e.property.name),(p.state.expensiveChecks||_n(e.property.name))&&(d=p.ensureSafeObject(d)),p.assign(t,d),n&&(n.computed=!1,n.name=e.property.name))},function(){p.assign(t,"undefined")}),i(t)},!!o);break;case vo.CallExpression:t=t||this.nextId(),e.filter?(l=p.filter(e.callee.name),c=[],a(e.arguments,function(e){var t=p.nextId();p.recurse(e,t),c.push(t)}),d=l+"("+c.join(",")+")",p.assign(t,d),i(t)):(l=p.nextId(),r={},c=[],p.recurse(e.callee,l,r,function(){p.if_(p.notNull(l),function(){p.addEnsureSafeFunction(l),a(e.arguments,function(e){p.recurse(e,p.nextId(),void 0,function(e){c.push(p.ensureSafeObject(e))})}),r.name?(p.state.expensiveChecks||p.addEnsureSafeObject(r.context),d=p.member(r.context,r.name,r.computed)+"("+c.join(",")+")"):d=l+"("+c.join(",")+")",d=p.ensureSafeObject(d),p.assign(t,d)},function(){p.assign(t,"undefined")}),i(t)}));break;case vo.AssignmentExpression:if(l=this.nextId(),r={},!un(e.left))throw uo("lval","Trying to assign a value to a non l-value");this.recurse(e.left,void 0,r,function(){p.if_(p.notNull(r.context),function(){p.recurse(e.right,l),p.addEnsureSafeObject(p.member(r.context,r.name,r.computed)),p.addEnsureSafeAssignContext(r.context),d=p.member(r.context,r.name,r.computed)+e.operator+l,p.assign(t,d),i(t||d)})},1);break;case vo.ArrayExpression:c=[],a(e.elements,function(e){p.recurse(e,p.nextId(),void 0,function(e){c.push(e)})}),d="["+c.join(",")+"]",this.assign(t,d),i(d);break;case vo.ObjectExpression:c=[],u=!1,a(e.properties,function(e){e.computed&&(u=!0)}),u?(t=t||this.nextId(),this.assign(t,"{}"),a(e.properties,function(e){e.computed?(r=p.nextId(),p.recurse(e.key,r)):r=e.key.type===vo.Identifier?e.key.name:""+e.key.value,l=p.nextId(),p.recurse(e.value,l),p.assign(p.member(t,r,e.computed),l)})):(a(e.properties,function(t){p.recurse(t.value,e.constant?void 0:p.nextId(),void 0,function(e){c.push(p.escape(t.key.type===vo.Identifier?t.key.name:""+t.key.value)+":"+e)})}),d="{"+c.join(",")+"}",this.assign(t,d)),i(t||d);break;case vo.ThisExpression:this.assign(t,"s"),i("s");break;case vo.LocalsExpression:this.assign(t,"l"),i("l");break;case vo.NGValueParameter:this.assign(t,"v"),i("v")}},getHasOwnProperty:function(e,t){var n=e+"."+t,a=this.current().own;return a.hasOwnProperty(n)||(a[n]=this.nextId(!1,e+"&&("+this.escape(t)+" in "+e+")")),a[n]},assign:function(e,t){if(e)return this.current().body.push(e,"=",t,";"),e},filter:function(e){return this.state.filters.hasOwnProperty(e)||(this.state.filters[e]=this.nextId(!0)),this.state.filters[e]},ifDefined:function(e,t){return"ifDefined("+e+","+this.escape(t)+")"},plus:function(e,t){return"plus("+e+","+t+")"},return_:function(e){this.current().body.push("return ",e,";")},if_:function(e,t,n){if(e===!0)t();else{var a=this.current().body;a.push("if(",e,"){"),t(),a.push("}"),n&&(a.push("else{"),n(),a.push("}"))}},not:function(e){return"!("+e+")"},notNull:function(e){return e+"!=null"},nonComputedMember:function(e,t){var n=/[$_a-zA-Z][$_a-zA-Z0-9]*/,a=/[^$_a-zA-Z0-9]/g;return n.test(t)?e+"."+t:e+'["'+t.replace(a,this.stringEscapeFn)+'"]'},computedMember:function(e,t){return e+"["+t+"]"},member:function(e,t,n){return n?this.computedMember(e,t):this.nonComputedMember(e,t)},addEnsureSafeObject:function(e){this.current().body.push(this.ensureSafeObject(e),";")},addEnsureSafeMemberName:function(e){this.current().body.push(this.ensureSafeMemberName(e),";")},ad
T[u]={id:x,scope:void 0,clone:void 0},F[x]=!0}for(var R in h){if(E=h[R],D=me(E.clone),i.leave(D),D[0].parentNode)for(u=0,f=D.length;u<f;u++)D[u][s]=!0;E.scope.$destroy()}for(u=0;u<w;u++)if(S=o===A?u:A[u],M=o[S],E=T[u],E.scope){v=P;do v=v.nextSibling;while(v&&v[s]);c(E)!=v&&i.move(me(E.clone),null,P),P=d(E),l(E.scope,u,y,M,b,S,w)}else g(function(e,t){E.scope=t;var n=m.cloneNode(!1);e[e.length++]=n,i.enter(e,null,P),P=n,E.clone=e,F[E.id]=E,l(E.scope,u,y,M,b,S,w)});h=F})}}}}],Us="ng-hide",Ls="ng-hide-animate",Bs=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,a){t.$watch(a.ngShow,function(t){e[t?"removeClass":"addClass"](n,Us,{tempClasses:Ls})})}}}],js=["$animate",function(e){return{restrict:"A",multiElement:!0,link:function(t,n,a){t.$watch(a.ngHide,function(t){e[t?"addClass":"removeClass"](n,Us,{tempClasses:Ls})})}}}],Hs=da(function(e,t,n){e.$watch(n.ngStyle,function(e,n){n&&e!==n&&a(n,function(e,n){t.css(n,"")}),e&&t.css(e)},!0)}),qs=["$animate","$compile",function(e,t){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(n,i,o,s){var r=o.ngSwitch||o.on,l=[],c=[],d=[],u=[],p=function(e,t){return function(){e.splice(t,1)}};n.$watch(r,function(n){var i,o;for(i=0,o=d.length;i<o;++i)e.cancel(d[i]);for(d.length=0,i=0,o=u.length;i<o;++i){var r=me(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["?"])&&a(l,function(n){n.transclude(function(a,i){u.push(i);var o=n.element;a[a.length++]=t.$$createComment("end ngSwitchWhen");var s={clone:a};c.push(s),e.enter(a,o.parent(),o)})})})}}}],Vs=da({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,a,i){a.cases["!"+n.ngSwitchWhen]=a.cases["!"+n.ngSwitchWhen]||[],a.cases["!"+n.ngSwitchWhen].push({transclude:i,element:t})}}),zs=da({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(e,t,n,a,i){a.cases["?"]=a.cases["?"]||[],a.cases["?"].push({transclude:i,element:t})}}),Ws=t("ngTransclude"),Gs=da({restrict:"EAC",link:function(e,t,n,a,i){function o(e){e.length&&(t.empty(),t.append(e))}if(n.ngTransclude===n.$attr.ngTransclude&&(n.ngTransclude=""),!i)throw Ws("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",Z(t));var s=n.ngTransclude||n.ngTranscludeSlot;i(o,null,s)}}),Ks=["$templateCache",function(e){return{restrict:"E",terminal:!0,compile:function(t,n){if("text/ng-template"==n.type){var a=n.id,i=t[0].text;e.put(a,i)}}}}],Ys={$setViewValue:m,$render:m},Zs=["$element","$scope",function(t,n){var a=this,i=new Je;a.ngModelCtrl=Ys,a.unknownOption=Ua(e.document.createElement("option")),a.renderUnknownOption=function(e){var n="? "+Xe(e)+" ?";a.unknownOption.val(n),t.prepend(a.unknownOption),t.val(n)},n.$on("$destroy",function(){a.renderUnknownOption=m}),a.removeUnknownOption=function(){a.unknownOption.parent()&&a.unknownOption.remove()},a.readValue=function(){return a.removeUnknownOption(),t.val()},a.writeValue=function(e){a.hasOption(e)?(a.removeUnknownOption(),t.val(e),""===e&&a.emptyOption.prop("selected",!0)):null==e&&a.emptyOption?(a.removeUnknownOption(),t.val("")):a.renderUnknownOption(e)},a.addOption=function(e,t){if(t[0].nodeType!==li){ue(e,'"option value"'),""===e&&(a.emptyOption=t);var n=i.get(e)||0;i.put(e,n+1),a.ngModelCtrl.$render(),Aa(t)}},a.removeOption=function(e){var t=i.get(e);t&&(1===t?(i.remove(e),""===e&&(a.emptyOption=void 0)):i.put(e,t-1))},a.hasOption=function(e){return!!i.get(e)},a.registerOption=function(e,t,n,i,o){if(i){var s;n.$observe("value",function(e){v(s)&&a.removeOption(s),s=e,a.addOption(e,t)})}else o?e.$watch(o,function(e,i){n.$set("value",e),i!==e&&a.removeOption(i),a.addOption(e,t)}):a.addOption(n.value,t);t.on("$destroy",function(){a.removeOption(n.value),a.ngModelCtrl.$render()})}}],Xs=function(){function e(e,t,n,i){var o=i[1];if(o){var s=i[0];if(s.ngModelCtrl=o,t.on("change",function(){e.$apply(function(){o.$setViewValue(s.readValue())})}),n.multiple){s.readValue=function(){var
L.runner;L.close()}else{var Y=s("join",e,z,L);if(Y){if(L.state!==g)return y(e,E?t:null,w),t=z.event=L.event,w=f(e,L,z),L.runner;I(e,z)}}}else I(e,z);var J=z.structural;if(J||(J="animate"===z.event&&Object.keys(z.options.to||{}).length>0||c(z)),!J)return l(),F(e),C;var Q=(L.counter||0)+1;return z.counter=Q,O(e,d,z),o.$$postDigest(function(){var n=G.get(u),i=!n;n=n||{};var o=e.parent()||[],s=o.length>0&&("animate"===n.event||n.structural||c(n));if(i||n.counter!==Q||!s)return i&&(ae(e,w),m(e,w)),(i||E&&n.event!==t)&&(w.domOperation(),C.end()),void(s||F(e));t=!n.structural&&c(n,!0)?"setClass":n.event,O(e,g);var r=k(e,t,n.options);C.setHost(r),a(C,t,"start",{}),r.done(function(n){l(!n);var i=G.get(u);i&&i.counter===Q&&F(v(e)),a(C,t,"close",{})})}),C}function P(e){var t=v(e),n=t.querySelectorAll("["+Ie+"]");j(n,function(e){var t=parseInt(e.getAttribute(Ie)),n=G.get(e);if(n)switch(t){case g:n.runner.end();case d:G.remove(e)}})}function F(e){var t=v(e);t.removeAttribute(Ie),G.remove(t)}function N(e,t){return v(e)===v(t)}function R(e,t,n){var a,i=B(_[0].body),o=N(e,i)||"HTML"===e[0].nodeName,s=N(e,h),r=!1,l=Z.get(v(e)),c=B.data(e[0],Ae);for(c&&(t=c),t=v(t);t&&(s||(s=N(t,h)),t.nodeType===Y);){var d=G.get(t)||{};if(!r){var u=Z.get(t);if(u===!0&&l!==!1){l=!0;break}u===!1&&(l=!1),r=d.structural}if(z(a)||a===!0){var p=B.data(t,ne);W(p)&&(a=p)}if(r&&a===!1)break;if(o||(o=N(t,i)),o&&s)break;t=s||!(c=B.data(t,Ae))?t.parentNode:v(c)}var m=(!r||a)&&l!==!0;return m&&s&&o}function O(e,t,n){n=n||{},n.state=t;var a=v(e);a.setAttribute(Ie,t);var i=G.get(a),o=i?L(i,n):n;G.put(a,o)}var G=new w,Z=new w,X=null,J=o.$watch(function(){return 0===C.totalPendingRequests},function(e){e&&(J(),o.$$postDigest(function(){o.$$postDigest(function(){null===X&&(X=!0)})}))}),Q={},ee=a.classNameFilter(),te=ee?function(e){return ee.test(e)}:function(){return!0},ae=u(S),ie=e.Node.prototype.contains||function(e){return this===e||!!(16&this.compareDocumentPosition(e))},oe={on:function(e,t,n){var a=l(t);Q[e]=Q[e]||[],Q[e].push({node:a,callback:n}),B(t).on("$destroy",function(){var i=G.get(a);i||oe.off(e,t,n)})},off:function(e,n,a){if(1!==arguments.length||t.isString(arguments[0])){var i=Q[e];i&&(Q[e]=1===arguments.length?null:E(i,n,a))}else{n=arguments[0];for(var o in Q)Q[o]=E(Q[o],n)}},pin:function(e,t){n(K(e),"element","not an element"),n(K(t),"parentElement","not an element"),e.data(Ae,t)},push:function(e,t,n,a){return n=n||{},n.domOperation=a,D(e,t,n)},enabled:function(e,t){var n=arguments.length;if(0===n)t=!!X;else{var a=K(e);if(a){var i=v(e),o=Z.get(i);1===n?t=!o:Z.put(i,!t)}else t=X=!!e}return t}};return oe}]}],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,g){function h(e){function t(e){if(e.processed)return e;e.processed=!0;var n=e.domNode,a=n.parentNode;o.put(n,e);for(var s;a;){if(s=o.get(a)){s.processed||(s=t(s));break}a=a.parentNode}return(s||i).children.push(e),e}function n(e){var t,n=[],a=[];for(t=0;t<e.children.length;t++)a.push(e.children[t]);var i=a.length,o=0,s=[];for(t=0;t<a.length;t++){var r=a[t];i<=0&&(i=o,o=0,n.push(s),s=[]),s.push(r.fn),r.children.forEach(function(e){o++,a.push(e)}),i--}return s.length&&n.push(s),n}var a,i={children:[]},o=new d;for(a=0;a<e.length;a++){var s=e[a];o.put(s.domNode,e[a]={domNode:s.domNode,fn:s.fn,children:[]})}for(a=0;a<e.length;a++)t(e[a]);return n(i)}var f=[],_=u(e);return function(d,u,y){function b(e){var t="["+o+"]",n=e.hasAttribute(o)?[e]:e.querySelectorAll(t),a=[];return j(n,function(e){var t=e.getAttribute(o);t&&t.length&&a.push(e)}),a}function w(e){var t=[],n={};j(e,function(e,a){var i=e.element,s=v(i),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:a,element:B(e)}})}else t.push(e)});var a={},i={};return j(n,function(n,o){var s=n.from,r
this.$domEl.load(),this.ended=void 0,t&&this.$element.one("canplay",this.play.bind(this))},reset:function(e){angular.extend(this,i),this.$clearSourceList(),this.load(this.$playlist,e)},play:function(e,t){return"boolean"==typeof e&&(t=e,e=void 0),t&&(this.$selective=!0),this.$playlist.length>e?(this.currentTrack=e+1,this.load(this.$playlist[e],!0)):(!this.currentTrack&&this.$domEl.readyState&&this.currentTrack++,void(this.ended?this.load(!0):this.$domEl.play()))},playPause:function(e,t){"boolean"==typeof e&&(t=e,e=void 0),t&&(this.$selective=!0),"number"==typeof e&&e+1!==this.currentTrack?this.play(e):this.playing?this.pause():this.play()},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 a=e||t.playing;t.pause(),n(function(){t.$clearSourceList(),t.$addSourceList(t.$playlist[t.currentTrack]),t.load(a),t.currentTrack++})}},prev:function(e){var t=this;if(t.currentTrack&&t.currentTrack-1){var a=e||t.playing;t.pause(),n(function(){t.$clearSourceList(),t.$addSourceList(t.$playlist[t.currentTrack-2]),t.load(a),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 a=document.createElement("SOURCE");["src","type","media"].forEach(function(t){void 0!==e[t]&&a.setAttribute(t,e[t])}),t.$element.append(a)});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,a=parseInt(e/60,10)%60,i=parseInt(e%60,10),o=(a<10?"0"+a:a)+":"+(i<10?"0"+i:i);return t=n>0?(n<10?"0"+n:n)+":"+o:o},$attachPlaylist:function(e){void 0===e||null===e?this.playlist=[]:this.$playlist=e}},r=function(e,t,n){var i={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:a(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(i,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},i,s);return r(n,t[0],t),n};return{scope:!1,link:function(e,t,n,a){var i=n.playlist,s=n.mediaPlayer||n.playerControl,r=new l(t),c=e[i];if(c=void 0===i?[]:void 0===e[i]?e[i]=[]:e[i],void 0!==s&&e.$eval(s+" = player",{player:r}),"AUDIO"!==t[0].tagName&&"VIDE
a.prototype.getName=function(){return this.name},a.prototype.getData=function(){return this.data},a.prototype.G=function(){return this.H},t("Zlib.GunzipMember",a),t("Zlib.GunzipMember.prototype.getName",a.prototype.getName),t("Zlib.GunzipMember.prototype.getData",a.prototype.getData),t("Zlib.GunzipMember.prototype.getMtime",a.prototype.G);var v,y=[];for(v=0;288>v;v++)switch(!0){case 143>=v:y.push([v+48,8]);break;case 255>=v:y.push([v-144+400,9]);break;case 279>=v:y.push([v-256+0,7]);break;case 287>=v:y.push([v-280+192,8]);break;default: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,a,i=[];for(n=3;258>=n;n++)a=t(n),i[n]=a[2]<<24|a[1]<<16|a[0];return i}();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,a=this.c,i=this.b,o=this.a,r=d,c=d,u=d,m=i.length,g=d;switch(this.d=this.f=0,r=n[a++],r===d&&e(Error("invalid uncompressed block header: LEN (first byte)")),c=r,r=n[a++],r===d&&e(Error("invalid uncompressed block header: LEN (second byte)")),c|=r<<8,r=n[a++],r===d&&e(Error("invalid uncompressed block header: NLEN (first byte)")),u=r,r=n[a++],r===d&&e(Error("invalid uncompressed block header: NLEN (second byte)")),u|=r<<8,c===~u&&e(Error("invalid uncompressed block header: length verify")),a+c>n.length&&e(Error("input buffer is broken")),this.k){case w:for(;o+c>i.length;){if(g=m-o,c-=g,p)i.set(n.subarray(a,a+g),o),o+=g,a+=g;else for(;g--;)i[o++]=n[a++];this.a=o,i=this.e(),o=this.a}break;case k:for(;o+c>i.length;)i=this.e({t:2});break;default:e(Error("invalid inflate mode"))}if(p)i.set(n.subarray(a,a+c),o),o+=c,a+=c;else for(;c--;)i[o++]=n[a++];this.c=a,this.a=o,this.b=i;break;case 1:this.l(U,B);break;case 2:l(this);break;default:e(Error("unknown BTYPE: "+t))}}return this.q()};var $,C,S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],M=p?new Uint16Array(S):S,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],I=p?new Uint16Array(x):x,A=[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],E=p?new Uint8Array(A):A,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],F=p?new Uint8Array(P):P,N=new(p?Uint8Array:Array)(288);for($=0,C=N.length;$<C;++$)N[$]=143>=$?8:255>=$?9:279>=$?7:8;var R,O,U=i(N),L=new(p?Uint8Array:Array)(30);for(R=0,O=L.length;R<O;++R)L[R]=5;var B=i(L);o.prototype.l=function(e,t){var n=this.b,a=this.a;this.r=e;for(var i,o,l,c,d=n.length-258;256!==(i=r(this,e));)if(256>i)a>=d&&(this.a=a,n=this.e(),a=this.a),n[a++]=i;else for(o=i-257,c=I[o],0<E[o]&&(c+=s(this,E[o])),i=r(this,t),l=D[i],0<F[i]&&(l+=s(this,F[i])),a>=d&&(this.a=a,n=this.e(),a=this.a);c--;)n[a]=n[a++-l];for(;8<=this.d;)this.d-=8,this.c--;this.a=a},o.prototype.C=function(e,t){var n=this.b,a=this.a;this.r=e;for(var i,o,l,c,d=n.length;256!==(i=r(this,e));)if(256>i)a>=d&&(n=this.e(),d=n.length),n[a++]=i;else for(o=i-257,c=I[o],0<E[o]&&(c+=s(this,E[o])),i=r(this,t),l=D[i],0<F[i]&&(l+=s(this,F[i])),a+c>d&&(n=this.e(),d=n.length);c
Te[2*Ue+Oe]=(1<Qe)+0,Ae[Ae.length-1]+=16;Fe[Le+Ue]=Je}Re|=ke(De,8-2*Le),Ne|=ke(Te,8-2*Le)}$e|=ke(Pe,20),Se|=ke(Fe,20),Y.X=$e,Ee.X=Se,j.z=Ae,j.Oa=Ne+0,j.ja=Ne|Re,Y.Nb=!j.ja+0}B=!H.Ab}if(!B){l=ye(e,"VP8_STATUS_NOT_ENOUGH_DATA","Premature end-of-file encountered."+e.i+" "+e.d);break e}var et=e,tt=et.Ea,nt=ga,at=et.Ea,it=ha,ot=et.Ea,st=fa;if(0<et.i){for(var rt=m,rt=-1;16>rt;++rt)he(tt,nt+rt*pa-4,tt,nt+rt*pa+12);for(rt=-1;8>rt;++rt)he(at,it+rt*pa-4,at,it+rt*pa+4),he(ot,st+rt*pa-4,ot,st+rt*pa+4)}else{for(rt=0;16>rt;++rt)tt[nt+rt*pa-1]=129;for(rt=0;8>rt;++rt)at[it+rt*pa-1]=129,ot[st+rt*pa-1]=129;0<et.d&&(tt[nt-1-pa]=at[it-1-pa]=ot[st-1-pa]=129)}var lt=et.Xc,ct=16*+et.i,dt=et.Sc,ut=8*+et.i,pt=et.Vc,mt=8*+et.i,gt=et.z,ht=m;if(0<et.d)t(tt,nt-pa,lt,ct,16),t(at,it-pa,dt,ut,8),t(ot,st-pa,pt,mt,8);else if(0==et.i){for(i=0;21>i;++i)tt[nt-pa-1+i]=127;for(i=0;9>i;++i)at[it-pa-1+i]=127;for(i=0;9>i;++i)ot[st-pa-1+i]=127}if(et.wa){var ft=nt-pa+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*pa]=tt[_t+ft+4*pa]=tt[_t+ft+8*pa]=tt[_t+ft+12*pa]=tt[_t+ft+0];for(ht=0;16>ht;ht++){var vt=tt,yt=nt+hi[ht];li[et.Eb[ht]](vt,yt),et.Oa&1<<ht?Ua(gt,16*+ht,vt,yt,0):et.ja&1<<ht&&Ba(gt,16*+ht,vt,yt)}}else{var bt=ge(et,et.Eb[0]);if(ci[bt](tt,nt),et.ja)for(ht=0;16>ht;ht++)vt=tt,yt=nt+hi[ht],et.Oa&1<<ht?Ua(gt,16*+ht,vt,yt,0):et.ja&1<<ht&&Ba(gt,16*+ht,vt,yt)}if(bt=ge(et,et.Tc),di[bt](at,it),di[bt](ot,st),983040&et.ja){var wt=et.z,kt=256;983040&et.Oa?La(wt,kt,at,it):ja(wt,kt,at,it)}if(15728640&et.ja){var $t=et.z,kt=320;15728640&et.Oa?La($t,kt,ot,st):ja($t,kt,ot,st)}et.d<et.hb-1&&(t(lt,ct,tt,nt+15*pa,16),t(dt,ut,at,it+7*pa,8),t(pt,mt,ot,st+7*pa,8));var Ct=e;if(0<Ct.A){var St=Ct.M[1+Ct.i],Mt=Ct.La[1+Ct.i].Nb,xt=Ct.Zb[Ct.Lb];Ct.ga.oc&&(xt+=Ct.ga.Lc[0],Ct.wa&&(xt+=Ct.ga.Gc[0])),xt=0>xt?0:63<xt?63:xt,St.zc=xt,0<Ct.ga.kb&&(xt=4<Ct.ga.kb?xt>>2:xt>>1,xt>9-Ct.ga.kb&&(xt=9-Ct.ga.kb)),St.yc=1>xt?1:xt,St.ab=(!Mt||Ct.wa)+0}for(var It=m,At=8*Ct.Ja*Ct.r,Et=Ct.ca,Tt=Ct.da+16*Ct.i+16*Ct.Ja*Ct.H,Dt=Ct.aa,Pt=Ct.ba+8*Ct.i+At,Ft=Ct.ra,Nt=Ct.sa+8*Ct.i+At,It=0;16>It;++It)t(Et,Tt+It*Ct.H,Ct.Ea,+ga+It*pa,16);for(It=0;8>It;++It)t(Dt,Pt+It*Ct.r,Ct.Ea,+ha+It*pa,8),t(Ft,Nt+It*Ct.r,Ct.Ea,+fa+It*pa,8)}var Rt=e,Ot=s,Ut=1,Lt=Rt.oa;if(Rt.qb){var Bt=Rt.rc,Ut=Ut&WebPWorkerSync(Bt);if(p(Bt.a==OK),Ut){if(Lt.N=Ot,Lt.ha=Rt.Ja,Lt.d=Rt.d,Lt.W=Rt.W,Lt.W){var jt=Lt.M;Lt.M=Rt.M,Rt.M=jt}WebPWorkerLaunch(Bt),++Rt.Ja==Rt.jb&&(Rt.Ja=0)}}else{Lt.d=Rt.d,Lt.W=Rt.W;t:{var Ht=1,qt=Rt.oa,Vt=pi[Rt.A],zt=Vt*Rt.H,Wt=parseInt(Vt/2)*Rt.r,Gt=16*qt.ha*Rt.H,Kt=8*qt.ha*Rt.r,Yt=Rt.ca,Zt=Rt.da-zt+Gt,Xt=Rt.aa,Jt=Rt.ba-Wt+Kt,tn=Rt.ra,an=Rt.sa-Wt+Kt,on=0==qt.d,rn=(qt.d>=Rt.hb-1)+0,ln=16*qt.d,cn=16*(qt.d+1);if(qt.W){var dn=Rt,un=h,pn=dn.oa.d;for(p(dn.oa.W),un=dn.lb;un<dn.wb;++un){var mn=dn,gn=un,hn=pn,fn=mn.oa,_n=mn.H,vn=fn.M[1+gn],yn=mn.ca,bn=mn.da+16*fn.ha*_n+16*gn,wn=vn.zc,kn=vn.yc,$n=2*wn+kn;if(0!=wn)if(1==mn.A)0<gn&&Xa(yn,bn,_n,$n+4),vn.ab&&Qa(yn,bn,_n,$n),0<hn&&Za(yn,bn,_n,$n+4),vn.ab&&Ja(yn,bn,_n,$n);else{var Cn=mn.r,Sn=mn.aa,Mn=mn.ba+8*fn.ha*Cn+8*gn,xn=mn.ra,In=mn.sa+8*fn.ha*Cn+8*gn,An=mn.Ac.fb?40<=wn?2:15<=wn?1:0:40<=wn?3:20<=wn?2:15<=wn?1:0;0<gn&&(qa(yn,bn,_n,$n+4,kn,An),za(Sn,Mn,xn,In,Cn,$n+4,kn,An)),vn.ab&&(Ga(yn,bn,_n,$n,kn,An),Ya(Sn,Mn,xn,In,Cn,$n,kn,An)),0<hn&&(Ha(yn,bn,_n,$n+4,kn,An),Va(Sn,Mn,xn,In,Cn,$n+4,kn,An)),vn.ab&&(Wa(yn,bn,_n,$n,kn,An),Ka(Sn,Mn,xn,In,Cn,$n,kn,An))}}}if(Ot.put){if(on?(Ot.y=Rt.ca,Ot.D=Rt.da+Gt,Ot.c=Rt.aa,Ot.B=Rt.ba+Kt,Ot.S=Rt.ra,Ot.C=Rt.sa+Kt):(ln-=Vt,Ot.y=Yt,Ot.D=Zt,Ot.c=Xt,Ot.B=Jt,Ot.S=tn,Ot.C=an),rn||(cn-=Vt),cn>Ot.K&&(cn=Ot.K),Rt.Ga!=g&&ln<cn&&(0==ln?(Ot.p=O(Rt,ln,cn-ln),Ot.q=0):Ot.q=O(Rt,ln,cn-ln),Ot.p==g)){Ut=ye(Rt,nn,"Could not decode alpha data.");break t}if(ln<Ot.k){var En=Ot.k-ln,ln=Ot.k;p(!(1&En)),Ot.D+=Rt.H*En,Ot.B+=Rt.r*(En>>1),Ot.C+=Rt.r*(En>>1),Ot.p!=g&&(Ot.q+=Ot.width*En)}ln<cn&&(Ot.D+=Ot.t,Ot.B+=Ot.t>>1,Ot.C+=Ot.t>>1,Ot.p!=g&&(Ot.q+=Ot.t),Ot.w=ln-Ot.k,Ot.m=Ot.Ka-Ot.t,Ot.h=cn-ln,Ht=Ot.put(Ot))}qt.ha+1==Rt.jb&&!rn&&(t(Rt.ca,Rt.da-zt,Yt,Zt+16*Rt.H,zt),t(Rt.aa,Rt.ba-Wt,Xt,Jt+8*Rt.r,Wt),t(Rt.ra,Rt.sa-W
this.WebPGetDecoderVersion=this.Ld=function(){return 512};var ki=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],$i=[[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]],Ci=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],Si=u([da,ua],"");c(4,f);var Mi=[[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]],xi=134480385,Ii=16,Ai=-227,Ei=482,Ti=[Oe,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 Fe(Fe(e,t[n+1]),t[n+0])},function(e,t,n){return Fe(e,t[n-1])},function(e,t,n){return Fe(e,t[n+0])},function(e,t,n){return Fe(t[n-1],t[n+0])},function(e,t,n){return Fe(t[n+0],t[n+1])},function(e,t,n){return Fe(Fe(e,t[n-1]),Fe(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(Ne((e>>24&255)+(t[n+0]>>24&255)-(t[n-1]>>24&255))<<24|Ne((e>>16&255)+(t[n+0]>>16&255)-(t[n-1]>>16&255))<<16|Ne((e>>8&255)+(t[n+0]>>8&255)-(t[n-1]>>8&255))<<8|Ne((255&e)+(255&t[n+0])-(255&t[n-1])))>>>0},function(e,t,n){var a=t[n-1];return e=Fe(e,t[n+0]),(Re(e>>24&255,a>>24&255)<<24|Re(e>>16&255,a>>16&255)<<16|Re(e>>8&255,a>>8&255)<<8|Re(e>>0&255,a>>0&255))>>>0},Oe,Oe],Di={Cc:f,Bc:f,Kc:f},Pi=16,Fi=16,Ni=16,Ri=[2,3,7],Oi=[3,3,11],Ui=0,Li=1,Bi=2,ji=3,Hi=4,qi=[xn+In,xn,xn,xn,40],Vi=19,zi=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],Wi=120,Gi=[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],Ki=1<<Ii-1,Yi=c(256,0),Zi=c(256,0),Xi=c(256,_),Ji=c(256,_),Qi=c(Ei-Ai,f),eo=c(Ei-Ai,f),to=0,no=Array(Xt),ao=[function(e,t,n,a,i,o,s,r,l,c,d,u,p){mt(e,t,n,a,i,o,s,r,l,c,d,u,p,Me,3)},gt,function(e,t,n,a,i,o,s,r,l,c,d,u,p){mt(e,t,n,a,i,o,s,r,l,c,d,u,p,Ee,3)},ht,ft,_t,function(e,t,n,a,i,o,s,r,l,c,d,u,p){mt(e,t,n,a,i,o,s,r,l,c,d,u,p,xe,2)},gt,ht,ft,_t];this.Hd=function(e,t,n,a){return Ft(Ut,e,t,n,a)},this.Id=function(e,t,n,a){return Ft(Lt,e,t,n,a)},this.Jd=function(e,t,n,a){return Ft(qt,e,t,n,a)},this.Ed=function(e,t,n,a){return Ft(Ht,e,t,n,a)},this.Fd=function(e,t,n,a){return Ft(Bt,e,t,n,a)},this.Gd=function(e,t,n,a){return Ft(jt,e,t,n,a)},this.WebPDecode=this.Dd=function(t,n,a){var i=e(un),o="VP8StatusCode";return a==g?tn:(o=Nt(t,[0],[n],a.input),o!=Qt?o==rn?nn:o:(i.j=a.j,i.Qa=a.Qa,o=Pt(t,0,[n],i)))}}}(),function(e,t){"use strict";angular.module("toaster",[]).constant("toasterConfig",{limit:0,"tap-to-dismiss":!0,"close-button":!1,"close-html":'<button class="toast-close-button" type="button">&times;</button>',"newest-on-top":!0,"time-out":5e3,"icon-classes":{error:"toast-error",info:"toast-info",wait:"toast-wait",success:"toast-success",warning:"toast-warning"},"body-output-type":"","body-template":"toasterBodyTmpl.html","icon-class":"toast-info","position-class":"toast-top-right","title-class":"toast-title","message-class":"toast-message","prevent-duplicates":!1,"mouseover-timer-stop":!0}).service("toaster",["$rootScope","toasterConfig",function(e,t){function n(e){return function(t,n,a,i,o,s,r,l,c){return angular.isString(t)?this.pop(e,t,n,a,i,o,s,r,l,c):this.pop(angular.extend(t,{type:e}))}}var a=function(){var e={};return e.newGuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0,n="x"==e?t:3&t|8;return n.toString(16)})},e}();this.pop=function(t,n,i,o,s,r,l,c,d,u){if(angular.isObject(t)){var p=t;this.toast={type:p.type,title:p
g=p.constructors[u];break}if(!g)throw new Error("Constructor not found for predicate: "+e)}else{var n=this.readInt(t+"[id]"),a=uintToInt(n);if(812830625==a){var i=this.fetchBytes(t+"[packed_string]"),o=gzipUncompress(i),s=bytesToArrayBuffer(o),r=new TLDeserialization(s);return r.fetchObject(e,t)}var f=p.constructorsIndex;if(!f){p.constructorsIndex=f={};for(var u=0;u<p.constructors.length;u++)f[p.constructors[u].id]=u}var u=f[a];u&&(g=p.constructors[u]);var _=!1;if(!g&&this.mtproto){var v=Config.Schema.API;for(u=0;u<v.constructors.length;u++)if(v.constructors[u].id==a){g=v.constructors[u],delete this.mtproto,_=!0;break}}if(!g)throw new Error("Constructor not found: "+n+" "+this.fetchInt()+" "+this.fetchInt())}m=g.predicate;var c={_:m},y=(this.mtproto?"mt_":"")+m,b=this;if(this.override[y])this.override[y].apply(this,[c,t+"["+m+"]"]);else{var u,w,e,k,$,C,S,l=g.params.length;for(u=0;u<l;u++){if(w=g.params[u],e=w.type,"#"==e&&void 0===c.pFlags&&(c.pFlags={}),k=e.indexOf("?")!==-1){if($=e.split("?"),C=$[0].split("."),!(c[C[0]]&1<<C[1]))continue;e=$[1]}S=b.fetchObject(e,t+"["+m+"]["+w.name+"]"),k&&"true"===e?c.pFlags[w.name]=S:c[w.name]=S}}return _&&(this.mtproto=!0),c},TLDeserialization.prototype.getOffset=function(){return this.offset},TLDeserialization.prototype.fetchEnd=function(){if(this.offset!=this.byteView.length)throw new Error("Fetch end with non-empty buffer");return!0},angular.module("izhukov.utils",[]).provider("Storage",function(){this.setPrefix=function(e){ConfigStorage.prefix(e)},this.$get=["$q",function(e){var t={};return angular.forEach(["get","set","remove","clear"],function(n){t[n]=function(){var t=e.defer(),a=Array.prototype.slice.call(arguments);return a.push(function(e){t.resolve(e)}),ConfigStorage[n].apply(ConfigStorage,a),t.promise}}),t.noPrefix=function(){ConfigStorage.noPrefix()},t}]}).service("qSync",function(){return{when:function(e){return{then:function(t){return t(e)}}},reject:function(e){return{then:function(t,n){if(n)return n(e)}}}}}).service("FileManager",["$window","$q","$timeout","qSync",function(e,t,n,a){function i(){return f}function o(e,n){return l(n).then(function(n){return s(n,e).then(function(){return n},function(e){return t.reject(e)})})}function s(e,n){var a=t.defer();if(e.onwriteend=function(e){a.resolve()},e.onerror=function(e){a.reject(e)},n.file)n.file(function(t){e.write(t)},function(e){a.reject(e)});else if(n instanceof Blob)e.write(n);else try{var i=blobConstruct([bytesToArrayBuffer(n)]);e.write(i)}catch(o){a.reject(o)}return a.promise}function r(n,i,o){if(!e.chrome||!chrome.fileSystem||!chrome.fileSystem.chooseEntry)return a.reject();var s=t.defer();return chrome.fileSystem.chooseEntry({type:"saveFile",suggestedName:n,accepts:[{mimeTypes:[o],extensions:[i]}]},function(e){s.resolve(e)}),s.promise}function l(e){var n=t.defer();return e.createWriter(function(e){n.resolve(e)},function(e){n.reject(e)}),n.promise}function c(e,t){var n=[],a={write:function(e){return f?(n.push(e),void setZeroTimeout(function(){a.onwriteend&&a.onwriteend()})):(a.onerror&&a.onerror(new Error("Blob not supported by browser")),!1)},truncate:function(){n=[]},finalize:function(){var a=blobConstruct(n,e);return t&&t(a),a}};return a}function d(e,t){return void 0!==e.toURL?e.toURL(t):e instanceof Blob?URL.createObjectURL(e):"data:"+t+";base64,"+bytesToBase64(e)}function u(e){if(e instanceof Blob){var n=t.defer();try{var a=new FileReader;return a.onloadend=function(e){n.resolve(new Uint8Array(e.target.result))},a.onerror=function(e){n.reject(e)},a.readAsArrayBuffer(e),n.promise}catch(i){return t.reject(i)}}else if(e.file){var n=t.defer();return e.file(function(e){u(e).then(function(e){n.resolve(e)},function(e){n.reject(e)})},function(e){n.reject(e)}),n.promise}return t.when(e)}function p(e){var n;try{var a=new FileReader;a.onloadend=function(){n.resolve(a.result)},a.readAsDataURL(e)}catch(i){return t.reject(i)}return n=t.defer(),n.promise}function m(e,t){if(h&&e instanceof Blob){var t=e.type||e.mimeType||t||"";if(!t.match(/image\/(jpeg|gif|png|bmp)|video\/quicktime/))return p(e)}return a.when(d(e,t))}function
url:_};try{g=o.post(_,h,{responseType:"arraybuffer",transformRequest:null})}catch(y){g=s.reject(angular.extend(v,{originalError:y}))}return g.then(function(e){if(!e.data||!e.data.byteLength)return s.reject(v);try{var t=new TLDeserialization(e.data,{mtproto:!0});t.fetchLong("auth_key_id"),t.fetchLong("msg_id"),t.fetchInt("msg_len")}catch(n){return s.reject(angular.extend(v,{originalError:n}))}return t},function(e){return e.message||e.type||(e=angular.extend(v,{originalError:e})),s.reject(e)})}function c(e){var n=e.deferred,a=new TLSerialization({mtproto:!0});a.storeMethod("req_pq",{nonce:e.nonce}),console.log(dT(),"Send req_pq",bytesToHex(e.nonce)),l(e.dcID,a.getBuffer()).then(function(a){var o=a.fetchObject("ResPQ");if("resPQ"!=o._)throw new Error("resPQ response invalid: "+o._);if(!bytesCmp(e.nonce,o.nonce))throw new Error("resPQ nonce mismatch");if(e.serverNonce=o.server_nonce,e.pq=o.pq,e.fingerprints=o.server_public_key_fingerprints,console.log(dT(),"Got ResPQ",bytesToHex(e.serverNonce),bytesToHex(e.pq),e.fingerprints),e.publicKey=t.select(e.fingerprints),!e.publicKey)throw new Error("No public key found");console.log(dT(),"PQ factorization start",e.pq),i.factorize(e.pq).then(function(t){e.p=t[0],e.q=t[1],console.log(dT(),"PQ factorization done",t[2]),d(e)},function(e){console.log("Worker error",e,e.stack),n.reject(e)})},function(e){console.error(dT(),"req_pq error",e.message),n.reject(e)}),r(function(){t.prepare()})}function d(e){var t=e.deferred;e.newNonce=new Array(32),n.nextBytes(e.newNonce);var a=new TLSerialization({mtproto:!0});a.storeObject({_:"p_q_inner_data",pq:e.pq,p:e.p,q:e.q,nonce:e.nonce,server_nonce:e.serverNonce,new_nonce:e.newNonce},"P_Q_inner_data","DECRYPTED_DATA");var i=sha1BytesSync(a.getBuffer()).concat(a.getBytes()),o=new TLSerialization({mtproto:!0});o.storeMethod("req_DH_params",{nonce:e.nonce,server_nonce:e.serverNonce,p:e.p,q:e.q,public_key_fingerprint:e.publicKey.fingerprint,encrypted_data:rsaEncrypt(e.publicKey,i)}),console.log(dT(),"Send req_DH_params"),l(e.dcID,o.getBuffer()).then(function(n){var a=n.fetchObject("Server_DH_Params","RESPONSE");if("server_DH_params_fail"!=a._&&"server_DH_params_ok"!=a._)return t.reject(new Error("Server_DH_Params response invalid: "+a._)),!1;if(!bytesCmp(e.nonce,a.nonce))return t.reject(new Error("Server_DH_Params nonce mismatch")),!1;if(!bytesCmp(e.serverNonce,a.server_nonce))return t.reject(new Error("Server_DH_Params server_nonce mismatch")),!1;if("server_DH_params_fail"==a._){var i=sha1BytesSync(e.newNonce).slice(-16);return bytesCmp(i,a.new_nonce_hash)?(t.reject(new Error("server_DH_params_fail")),!1):(t.reject(new Error("server_DH_params_fail new_nonce_hash mismatch")),!1)}try{u(e,a.encrypted_answer)}catch(o){return t.reject(o),!1}p(e)},function(e){t.reject(e)})}function u(e,t){e.localTime=tsNow(),e.tmpAesKey=sha1BytesSync(e.newNonce.concat(e.serverNonce)).concat(sha1BytesSync(e.serverNonce.concat(e.newNonce)).slice(0,12)),e.tmpAesIv=sha1BytesSync(e.serverNonce.concat(e.newNonce)).slice(12).concat(sha1BytesSync([].concat(e.newNonce,e.newNonce)),e.newNonce.slice(0,4));var n=aesDecryptSync(t,e.tmpAesKey,e.tmpAesIv),i=n.slice(0,20),o=n.slice(20),s=bytesToArrayBuffer(o),r=new TLDeserialization(s,{mtproto:!0}),l=r.fetchObject("Server_DH_inner_data");if("server_DH_inner_data"!=l._)throw new Error("server_DH_inner_data response invalid: "+constructor);if(!bytesCmp(e.nonce,l.nonce))throw new Error("server_DH_inner_data nonce mismatch");if(!bytesCmp(e.serverNonce,l.server_nonce))throw new Error("server_DH_inner_data serverNonce mismatch");console.log(dT(),"Done decrypting answer"),e.g=l.g,e.dhPrime=l.dh_prime,e.gA=l.g_a,e.serverTime=l.server_time,e.retry=0;var c=r.getOffset();if(!bytesCmp(i,sha1BytesSync(o.slice(0,c))))throw new Error("server_DH_inner_data SHA1-hash mismatch");a.applyServerTime(e.serverTime,e.localTime)}function p(e){var t=e.deferred,a=bytesFromHex(e.g.toString(16));e.b=new Array(256),n.nextBytes(e.b),i.modPow(a,e.b,e.dhPrime).then(function(n){var a=new TLSerialization({mtproto:!0});a.storeObject({_:"client_DH_inner_data",nonce:e.nonce,serve
function u(){if(!f&&!Config.Navigator.mobile&&!Config.Modes.packed){f=!0,l.start(),t.$watch("idle.isIDLE",g),i(g,5e3),g();try{$($window).on("beforeunload",p)}catch(e){}}}function p(){s.remove(_?"xt_instance":"xt_idle_instance")}function m(){if(_||y)return!1;console.log(dT(),"deactivate"),v=!1,y=!0,p(),o.dismissAll(),document.title=e("inactive_tab_title_raw");var a=n("<ng-include src=\"'partials/desktop/inactive.html'\"></ng-include>"),i=t.$new(!0);i.close=function(){r.close()},i.reload=function(){r.reload()},a(i,function(e){$(".page_wrap").hide(),$(e).appendTo($("body"))}),t.idle.deactivated=!0}function g(){if(y)return!1;var e=tsNow(),n=t.idle&&t.idle.isIDLE,i={id:h,idle:n,time:e};s.get("xt_instance","xt_idle_instance").then(function(t){var o=t[0],r=t[1];!n||!o||o.id==h||o.time<e-6e4?(r&&r.id==h&&s.remove("xt_idle_instance"),s.set({xt_instance:i}),_||(d.startAll(),console.warn(dT(),"now master instance",i)),_=!0,v&&(a.cancel(v),v=!1)):(s.set({xt_idle_instance:i}),_&&(d.stopAll(),console.warn(dT(),"now idle instance",i),v||(v=a(m,3e4))),_=!1)})}var h=nextRandomInt(4294967295),f=!1,_=!1,v=!1,y=!1;return{start:u}}]);var extraModules=[];Config.Modes.animations&&extraModules.push("ngAnimate"),angular.module("myApp",["ngRoute","ngSanitize","ngTouch","ui.bootstrap","mediaPlayer","toaster","izhukov.utils","izhukov.mtproto","izhukov.mtproto.wrapper","myApp.filters","myApp.services","myApp.templates","myApp.directives","myApp.controllers"].concat(extraModules)).config(["$locationProvider","$routeProvider","$compileProvider","StorageProvider",function(e,t,n,a){n.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|file|blob|filesystem|chrome-extension|app):|data:image\//),n.aHrefSanitizationWhitelist(/^\s*(https?|ftp|file|tg|mailto|blob|filesystem|chrome-extension|app):|data:/),n.debugInfoEnabled(!1),Config.Modes.test&&a.setPrefix("t_"),t.when("/",{templateUrl:templateUrl("welcome"),controller:"AppWelcomeController"}),t.when("/login",{templateUrl:templateUrl("login"),controller:"AppLoginController"}),t.when("/im",{templateUrl:templateUrl("im"),controller:"AppIMController",reloadOnSearch:!1}),t.otherwise({redirectTo:"/"})}]),angular.module("myApp.services",["myApp.i18n","izhukov.utils"]).service("AppUsersManager",["$rootScope","$modal","$modalStack","$filter","$q","qSync","MtpApiManager","RichTextProcessor","ServerTimeManager","Storage","_",function(e,t,n,a,i,o,s,r,l,c,d){function u(){return R?R:R=s.invokeApi("contacts.getContacts",{hash:""}).then(function(e){var t,n;O=[],h(e.users);for(var n=0;n<e.contacts.length;n++)t=e.contacts[n].user_id,O.push(t),SearchIndexManager.indexObject(t,p(t),q);return O})}function p(e){var t=L[e];return!!t&&(t.first_name||"")+" "+(t.last_name||"")+" "+(t.phone||"")+" "+(t.username||"")}function m(e){return u().then(function(t){if(angular.isString(e)&&e.length){for(var n=SearchIndexManager.search(e,q),a=[],i=0;i<t.length;i++)n[t[i]]&&a.push(t[i]);t=a}return t})}function g(e){return B[e]||0}function h(e){angular.forEach(e,f)}function f(t,n){if(angular.isObject(t)&&!(n&&angular.isObject(L[t.id])&&L[t.id].first_name)){var i=t.id,o=L[i];if(void 0===t.pFlags&&(t.pFlags={}),!t.pFlags.min||void 0===o){if(t.phone&&(t.rPhone=a("phoneNumber")(t.phone)),t.num=Math.abs(i)%8+1,t.first_name?(t.rFirstName=r.wrapRichText(t.first_name,{noLinks:!0,noLinebreaks:!0}),t.rFullName=t.last_name?r.wrapRichText(t.first_name+" "+(t.last_name||""),{noLinks:!0,noLinebreaks:!0}):t.rFirstName):(t.rFirstName=r.wrapRichText(t.last_name,{noLinks:!0,noLinebreaks:!0})||t.rPhone||d("user_first_name_deleted"),t.rFullName=r.wrapRichText(t.last_name,{noLinks:!0,noLinebreaks:!0})||t.rPhone||d("user_name_deleted")),t.username){var s=SearchIndexManager.cleanUsername(t.username);B[s]=i}t.sortName=t.pFlags.deleted?"":SearchIndexManager.cleanSearchText(t.first_name+" "+(t.last_name||""));var c=t.sortName.split(" "),u=c.shift(),p=c.pop();t.initials=u.charAt(0)+(p?p.charAt(0):u.charAt(1)),t.status&&(t.status.expires&&(t.status.expires-=l.serverTimeOffset),t.status.was_online&&(t.status.was_online-=l.serverTimeOffset)),t.pFlags.bot?t.sortStatus=-1:t.sortStat
all_stickers:e}),u(e)):p(e,t&&t.fullSets).then(function(){return r.set({all_stickers:e}),u(e)})})})}function u(e){if(w!==e.hash){w=e.hash;var t,n,i,o,r,l,c,d;for(k=[],i=e.sets.length,t=0;t<i;t++)if(l=e.sets[t],!l.pFlags.disabled){for(d=e.fullSets[l.id].documents,o=d.length,c=[],n=0;n<o;n++)r=d[n],s.saveDoc(r),c.push(r.id);l.docIDs=c,k.push(l)}}return m().then(function(e){var t=k;if(e.length){t=k.slice();var n,i,o=[];for(n=0,i=e.length;n<i;n++)o.push(e[n].id);t.unshift({id:0,title:a("im_stickers_tab_recent_raw"),short_name:"",docIDs:o})}return t})}function p(t,n){var a=[],i=n||t.fullSets||{};return t.fullSets={},angular.forEach(t.sets,function(e){var n=i[e.id];if(n&&n.set.hash==e.hash)t.fullSets[e.id]=n;else{var s=o.invokeApi("messages.getStickerSet",{stickerset:{_:"inputStickerSetID",id:e.id,access_hash:e.access_hash}}).then(function(n){t.fullSets[e.id]=n});a.push(s)}}),e.all(a)}function m(){return r.get("stickers_popular").then(function(e){var t,n,a,i=[];if(e&&e.length)for(t=0,n=e.length;t<n;t++)a=e[t][0],s.hasDoc(a)&&i.push({id:a,rate:e[t][1]});return i})}function g(e){m().then(function(t){for(var n=!1,a=t.length,i=[],o=0;o<a;o++)t[o].id==e&&(n=!0,t[o].rate++),i.push([t[o].id,t[o].rate]);n?i.sort(function(e,t){return t[1]-e[1]}):(i.length>15&&(i=i.slice(0,15)),i.push([e,1])),ConfigStorage.set({stickers_popular:i})})}function h(e){return o.invokeApi("messages.getStickerSet",{stickerset:e}).then(function(e){for(var t=0;t<e.documents.length;t++)s.saveDoc(e.documents[t]);return e})}function f(e,t){var n=t?"messages.uninstallStickerSet":"messages.installStickerSet",a={_:"inputStickerSetID",id:e.set.id,access_hash:e.set.access_hash};return o.invokeApi(n,{stickerset:a,disabled:!1}).then(function(n){var a;a=t?{_:"updateDelStickerSet",id:e.set.id}:{_:"updateNewStickerSet",stickerset:e},l.processUpdateMessage({_:"updateShort",update:a})})}function _(e){return v({_:"inputStickerSetShortName",short_name:e})}function v(e){var a=t.$new(!0);a.inputStickerset=e;n.open({templateUrl:templateUrl("stickerset_modal"),controller:"StickersetModalController",scope:a,windowClass:"stickerset_modal_window mobile_modal"})}function y(e){for(var t,n=0,a=0;a<e.length;a++)t=e[a],!t.pFlags.disabled&&t.pFlags.installed&&(n=(20261*n+2147483648+t.hash)%2147483648);return n}var b=!1,w=!1,k=[];return t.$on("apiUpdate",function(e,n){return("updateStickerSets"==n._||"updateNewStickerSet"==n._||"updateDelStickerSet"==n._||"updateStickerSetsOrder"==n._)&&r.get("all_stickers").then(function(e){switch(e&&e.layer==Config.Schema.API.layer||t.$broadcast("stickers_changed"),n._){case"updateNewStickerSet":for(var a=n.stickerset,i=a.set,o=!1,s=0,l=e.sets.length;s<l;s++)if(e.sets[s].id==i.id){o=s;break}o!==!1&&e.sets.splice(o,1),i.pFlags.installed=!0,e.sets.unshift(i),e.fullSets[i.id]=a;break;case"updateDelStickerSet":for(var i,s=0,l=e.sets.length;s<l;s++)if(i=e.sets[s],i.id==n.id){i.pFlags.installed=!1,e.sets.splice(s,1);break}delete e.fullSets[n.id];break;case"updateStickerSetsOrder":var c=n.order;e.sets.sort(function(e,t){return c.indexOf(e.id)-c.indexOf(t.id)})}e.hash=y(e.sets),e.date=0,r.set({all_stickers:e}).then(function(){t.$broadcast("stickers_changed")})})}),{start:c,getStickers:d,openStickersetLink:_,openStickerset:v,installStickerset:f,pushPopularSticker:g,getStickerset:h}}]).service("AppInlineBotsManager",["qSync","$q","$rootScope","toaster","Storage","ErrorService","MtpApiManager","AppMessagesManager","AppMessagesIDsManager","AppDocsManager","AppPhotosManager","RichTextProcessor","AppUsersManager","AppPeersManager","PeersSelectService","GeoLocationManager",function(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h){function f(){return i.get("inline_bots_popular").then(function(e){var t,n,a,i=[];if(e&&e.length){var o=tsNow(!0);for(t=0,n=e.length;t<n;t++)o-e[t][3]>1209600||(a=e[t][0],p.hasUser(a)||p.saveApiUser(e[t][1]),i.push({id:a,rate:e[t][2],date:e[t][3]}))}return i})}function _(e){f().then(function(t){for(var a=!1,i=t.length,o=[],s=0;s<i;s++){t[s].id==e&&(a=!0,t[s].rate++,t[s].date=tsNow(!0));var r=p.getUser(t[s].id);o.push([t[s].id,r,t[s].rate,t[s].date])}a?o.sort(fun
function c(e,t){return console.warn(dT(),"get draft",e,t),r.get("draft"+e).then(function(n){"string"==typeof n&&(n=n.length>0&&{text:n}),n||t?console.warn(dT(),"local",n):(n=d(e),console.warn(dT(),"server",n));var a=n&&n.replyToMsgID;if(a){var s=!!o.isChannel(e)&&-e;n.replyToMsgID=i.getFullMessageID(a,s)}return n})}function d(e){var t=_[e];return void 0!==t&&t}function u(t,n,a){a&&console.warn(dT(),"save draft",t,n,a);var i=h(n);return _[t]=i,a&&(p(t,i),e.$broadcast("draft_updated",{peerID:t,draft:i})),i}function p(e,t){console.warn(dT(),"change draft",e,t),e||console.trace("empty peerID"),t||(t={text:"",replyToMsgID:0}),t.replyToMsgID=t.replyToMsgID?i.getMessageLocalID(t.replyToMsgID):0;var n="draft"+e;if(g(t))r.remove(n);else{var a={};a[n]=t,r.set(a)}}function m(e,t){var n=g(e),a=g(t);return!(!n||!a)||n==a&&(e.replyToMsgID==t.replyToMsgID&&e.text==t.text)}function g(e){return!e||!(e.replyToMsgID>0)&&("string"!=typeof e.text||!e.text.length)}function h(e){if(!e||"draftMessage"!=e._)return!1;var t=s.parseEntities(e.message),n=e.entities||[];t=s.mergeEntities(t,n);var a=s.wrapDraftText(e.message,{entities:t}),i=s.wrapRichText(e.message,{noLinks:!0,noLinebreaks:!0});return{text:a,richMessage:i,replyToMsgID:e.reply_to_msg_id||0,date:e.date-l.serverTimeOffset}}function f(e){console.warn(dT(),"sync draft",e),c(e,!0).then(function(t){var a=_[e];if(m(a,t))return void console.warn(dT(),"equal drafts",t,a);console.warn(dT(),"changed draft",t,a);var i,r={flags:0,peer:o.getInputPeerByID(e)};if(g(t))i={_:"draftMessageEmpty"},r.message="";else{i={_:"draftMessage"};var c=t.text,d=[];c=s.parseEmojis(c),c=s.parseMarkdown(c,d),t.replyToMsgID>0&&(r.flags|=1,r.reply_to_msg_id=t.replyToMsgID,i.reply_to_msg_id=t.replyToMsgID),d.length&&(r.flags|=8,r.entities=d,i.entities=d),r.message=c,i.message=c}n.invokeApi("messages.saveDraft",r).then(function(){i.date=tsNow(!0)+l.serverTimeOffset,u(e,i,!0)})})}var _={};return e.$on("apiUpdate",function(e,t){if("updateDraftMessage"==t._){var n=o.getPeerID(t.peer);u(n,t.draft,!0)}}),{getDraft:c,getServerDraft:d,saveDraft:u,changeDraft:p,syncDraft:f}}]),angular.module("myApp.controllers",["myApp.i18n"]).controller("AppWelcomeController",["$scope","$location","MtpApiManager","ErrorService","ChangelogNotifyService","LayoutSwitchService",function(e,t,n,a,i,o){n.getUserID().then(function(e){return e?void t.url("/im"):"http:"!=location.protocol||Config.Modes.http||Config.App.domains.indexOf(location.hostname)==-1?void t.url("/login"):void(location.href=location.href.replace(/^http:/,"https:"))}),i.checkUpdate(),o.start()}]).controller("AppLoginController",["$scope","$rootScope","$location","$timeout","$modal","$modalStack","MtpApiManager","ErrorService","NotificationsManager","PasswordManager","ChangelogNotifyService","IdleManager","LayoutSwitchService","TelegramMeWebService","_",function(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g){function h(){var t=(navigator.language||"").toLowerCase(),n=Config.LangCountries[t],a=!Config.Navigator.mobile;if(f(["en","en-us","en-uk"].indexOf(t)==-1?void 0!==n?n:t.indexOf("-")>0?t.split("-")[1].toUpperCase():"US":"US"),a){var i=e.credentials.phone_country;s.invokeApi("help.getNearestDc",{},{dcID:2,createNetworker:!0}).then(function(t){i==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:g(n[1]+"_raw"),code:n[2]})}return _({name:g("country_select_modal_country_us_raw"),code:"+1"})}function _(t){C=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,a,i=((e.credentials.phone_country||"")+(e.credentials.phone_number||"")).replace(/\D+/g,""),o=0,s=!1;if(i.length)if(C&&!i.indexOf(C.code.replace(/\D+/g,"")))s=C.name;else for(t=0;t<Config.CountryCodes.length;t++)for(n=2;n<Config.CountryCodes[t].length;n++)a=Config.CountryCodes[t][n].replace(/\D+/g,""),a.length>o&&!i.indexOf(a)&&(o=a.length,s=g(Config.Coun
l&&(e.historyState.typing.length&&e.historyState.typing.splice(0,e.historyState.typing.length),e.$broadcast("ui_history_append_new",{idleScroll:K&&!h&&r}),r?f&&(e.historyUnreadAfter=f,K=!0,s=!0):n(function(){d.readHistory(e.curDialog.peerID)}),C(),S())}}),o&&e.$broadcast("messages_regroup"),s&&e.$broadcast("messages_unread_after")}),e.$on("history_delete",function(t,n){var a=w(n.peerID);if(a){var i,o=[];for(i=0;i<a.messages.length;i++)n.msgs[a.messages[i].mid]||o.push(a.messages[i]);a.messages=o,d.regroupWrappedHistory(a.messages),e.$broadcast("messages_regroup"),n.peerID==e.curDialog.peerID&&(e.state.empty=!o.length,C())}}),e.$on("dialog_flush",function(t,n){var a=w(n.peerID);a&&(a.messages=[],a.ids=[],n.peerID==e.curDialog.peerID&&(e.state.empty=!0,C()))}),e.$on("history_focus",function(t,n){e.historyFilter.mediaType&&V()}),e.$on("apiUpdate",function(t,a){switch(a._){case"updateUserTyping":case"updateChatUserTyping":l.forceUserOnline(a.user_id),l.hasUser(a.user_id)&&e.curDialog.peerID==("updateUserTyping"==a._?a.user_id:-a.chat_id)&&(e.historyState.typing.indexOf(a.user_id)==-1&&e.historyState.typing.push(a.user_id),n.cancel(ce[a.user_id]),ce[a.user_id]=n(function(){var t=e.historyState.typing.indexOf(a.user_id);t!==-1&&e.historyState.typing.splice(t,1)},6e3))}}),e.$on("history_need_less",x),e.$on("history_need_more",I),i.$watch("idle.isIDLE",function(t){t||!e.curDialog||!e.curDialog.peerID||e.historyFilter.mediaType||e.historyState.skipped||d.readHistory(e.curDialog.peerID),t||(K=!1,le&&le==e.curDialog.peerID&&(A(),le=!1))})}]).controller("AppImPanelController",["$scope",function(e){e.$on("user_update",angular.noop)}]).controller("AppImSendController",["$rootScope","$q","$scope","$timeout","MtpApiManager","Storage","AppProfileManager","AppChatsManager","AppUsersManager","AppPeersManager","AppDocsManager","AppMessagesManager","AppInlineBotsManager","MtpApiFileManager","DraftsManager","RichTextProcessor",function(e,t,n,a,i,o,s,r,l,c,d,u,p,m,g,h){function f(e){return n.$broadcast("ui_message_before_send"),a(function(){var e=n.draftMessage.text;if(angular.isString(e)&&e.length>0){e=h.parseEmojis(e);var t={replyToMsgID:n.draftMessage.replyToMsgID,clearDraft:!0};do u.sendText(n.curDialog.peerID,e.substr(0,4096),t),e=e.substr(4096);while(e.length)}S(),O==n.curDialog.peer?O=!1:g.changeDraft(n.curDialog.peerID),y(),n.$broadcast("ui_message_send")}),cancelEvent(e)}function _(){var e=n.curDialog.peerID;if(!e)return safeReplaceObject(n.mentions,{}),void n.$broadcast("mentions_update");var a,i=[],o=SearchIndexManager.createIndex(),r=p.getPopularBots().then(function(e){var t=[];return angular.forEach(e,function(e){t.push(e.id)}),t});a=e<0?s.getChatFull(-e).then(function(e){var t=(e.participants||{}).participants||[],n=[];return angular.forEach(t,function(e){n.push(e.user_id)}),n}):t.when([]),t.all({pop:r,chat:a}).then(function(e){var t={},a=e.pop.concat(e.chat);angular.forEach(a,function(e){t[e]||(t[e]=!0,i.push(l.getUser(e)),SearchIndexManager.indexObject(e,l.getUserSearchText(e),o))}),safeReplaceObject(n.mentions,{users:i,index:o}),n.$broadcast("mentions_update")})}function v(){var e=n.curDialog.peerID;return e?void s.getPeerBots(e).then(function(t){if(!t.length)return safeReplaceObject(n.commands,{}),void n.$broadcast("mentions_update");var a=e<0,i=[],o=SearchIndexManager.createIndex();angular.forEach(t,function(e){var t="";if(a){var n=l.getUser(e.id);n&&n.username&&(t+="@"+n.username)}var s=l.getUserSearchText(e.id);angular.forEach(e.commands,function(n,a){var r="/"+a+t;i.push({botID:e.id,value:r,rDescription:h.wrapRichText(n,{noLinks:!0,noLineBreaks:!0})}),SearchIndexManager.indexObject(r,s+" "+a+" "+n,o)})}),safeReplaceObject(n.commands,{list:i,index:o}),n.$broadcast("mentions_update")}):(safeReplaceObject(n.commands,{}),void n.$broadcast("mentions_update"))}function y(e,t){if(t){var a=c.getPeerID(t);a&&g.syncDraft(a)}if(_(),v(),$(),x(),delete n.draftMessage.inlineProgress,n.$broadcast("inline_results",!1),O){if(O==n.curDialog.peer)return n.draftMessage.isBroadcast=c.isChannel(n.curDialog.peerID)&&!c.isMegagroup(n.curDialog.
t.notify.desktop?l.remove("notify_nodesktop"):l.set({notify_nodesktop:!0}),e.$broadcast("settings_changed")},t.togglePreview=function(){t.notify.preview=!t.notify.preview,t.notify.preview?l.remove("notify_nopreview"):l.set({notify_nopreview:!0}),e.$broadcast("settings_changed")},t.toggleVibrate=function(){t.notify.vibrate=!t.notify.vibrate,t.notify.vibrate?l.remove("notify_novibrate"):l.set({notify_novibrate:!0}),e.$broadcast("settings_changed")},t.toggleCtrlEnter=function(n){t.send.enter=n,t.send.enter?l.remove("send_ctrlenter"):l.set({send_ctrlenter:!0}),e.$broadcast("settings_changed")}}),t.openChangelog=function(){m.showChangelog(!1)},t.logOut=function(){f.confirm({type:"LOGOUT"}).then(function(){r.logOut().then(function(){location.hash="/login",h.reload()})})},t.switchBackToDesktop=Config.Mobile&&!Config.Navigator.mobile,t.switchToDesktop=function(){g.switchLayout(!1)}}]).controller("ChangelogModalController",["$scope","$modal",function(e,t){if(e.currentVersion=Config.App.version,!e.lastVersion){var n=e.currentVersion.split(".");e.lastVersion=n[0]+"."+n[1]+"."+Math.max(0,n[2]-1)}e.changelogHidden=!1,e.changelogShown=!1,e.canShowVersion=function(t){if(e.changelogShown)return!0;var n=versionCompare(t,e.lastVersion)>=0;return n||(e.changelogHidden=!0),n},e.showAllVersions=function(){e.changelogShown=!0,e.changelogHidden=!1,e.$emit("ui_height"),e.$broadcast("ui_height")},e.changeUsername=function(){t.open({templateUrl:templateUrl("username_edit_modal"),controller:"UsernameEditModalController",windowClass:"md_simple_modal_window mobile_modal"})}}]).controller("ProfileEditModalController",["$scope","$modalInstance","AppUsersManager","MtpApiManager",function(e,t,n,a){e.profile={},e.error={},a.getUserID().then(function(t){var a=n.getUser(t);e.profile={first_name:a.first_name,last_name:a.last_name}}),e.updateProfile=function(){e.profile.updating=!0;var i=3;a.invokeApi("account.updateProfile",{flags:i,first_name:e.profile.first_name||"",last_name:e.profile.last_name||""}).then(function(a){e.error={},n.saveApiUser(a),t.close()},function(n){switch(n.type){case"FIRSTNAME_INVALID":e.error={field:"first_name"},n.handled=!0;break;case"LASTNAME_INVALID":e.error={field:"last_name"},n.handled=!0;break;case"NAME_NOT_MODIFIED":n.handled=!0,t.close()}})["finally"](function(){delete e.profile.updating})}}]).controller("UsernameEditModalController",["$scope","$modalInstance","AppUsersManager","MtpApiManager",function(e,t,n,a){e.profile={},e.error={},a.getUserID().then(function(t){var a=n.getUser(t);e.profile={username:a.username}}),e.updateUsername=function(){e.profile.updating=!0,a.invokeApi("account.updateUsername",{username:e.profile.username||""}).then(function(a){e.checked={},n.saveApiUser(a),t.close()},function(e){"USERNAME_NOT_MODIFIED"==e.type&&(e.handled=!0,t.close())})["finally"](function(){delete e.profile.updating})},e.$watch("profile.username",function(t){return t&&t.length?void a.invokeApi("account.checkUsername",{username:t||""}).then(function(n){e.profile.username==t&&(n?e.checked={success:!0}:e.checked={error:!0})},function(n){if(e.profile.username==t)switch(n.type){case"USERNAME_INVALID":e.checked={error:!0},n.handled=!0}}):void(e.checked={})})}]).controller("SessionsListModalController",["$scope","$q","$timeout","_","MtpApiManager","ErrorService","$modalInstance",function(e,t,n,a,i,o,s){function r(){n.cancel(l),i.invokeApi("account.getAuthorizations").then(function(t){e.sessionsLoaded=!0,e.authorizations=t.authorizations;for(var a,i=0,o=e.authorizations.length;i<o;i++)a=e.authorizations[i],a.current=1==(1&a.flags);e.authorizations.sort(function(e,t){return e.current?-1:t.current?1:t.date_active-e.date_active}),c||(l=n(r,5e3))})}e.slice={limit:20,limitDelta:20};var l=!1,c=!1;e.terminateSession=function(e){o.confirm({type:"TERMINATE_SESSION"}).then(function(){i.invokeApi("account.resetAuthorization",{hash:e}).then(r)})},e.terminateAllSessions=function(){o.confirm({type:"TERMINATE_SESSIONS"}).then(function(){i.invokeApi("auth.resetAuthorizations",{})})},r(),e.$on("apiUpdate",function(e,t){"updateNewAuthorization"==t._&&r()
id:a}).then(function(e){return e.link}):e.reject()}function z(e){var n=c.isChannel(e),a=ke[e],i=I(e)[0];if(!i||!i.unread_count){if(!a||!a.history.length)return!1;var o,r,d=!1;for(p=a.history.length;p>=0;p--)if(o=a.history[p],r=ye[o],r&&!r.pFlags.out&&r.pFlags.unread){d=!0;break}if(!d)return!1}if(a.readPromise)return a.readPromise;var u;if(u=n?f.invokeApi("channels.readHistory",{channel:l.getChannelInput(-e),max_id:0}):f.invokeApi("messages.readHistory",{peer:c.getInputPeerByID(e),max_id:0}).then(function(e){s.processUpdateMessage({_:"updateShort",update:{_:"updatePts",pts:e.pts,pts_count:e.pts_count}})}),a.readPromise=u.then(function(){i&&(i.unread_count=0,t.$broadcast("dialog_unread",{peerID:e,count:0}),t.$broadcast("messages_read"),a&&a.history.length&&(i.read_inbox_max_id=a.history[0]))})["finally"](function(){delete a.readPromise}),a&&a.history.length){var o,r,p,e,i;for(p=0;p<a.history.length;p++)o=a.history[p],r=ye[o],r&&!r.pFlags.out&&(r.pFlags.unread=!1,be[o]&&(be[o].pFlags.unread=!1),we[o]&&(we[o].pFlags.unread=!1),b.cancel("msg"+o))}return b.soundReset(c.getPeerString(e)),a.readPromise}function W(e){f.invokeApi("messages.readMessageContents",{id:e}).then(function(t){s.processUpdateMessage({_:"updateShort",update:{_:"updateReadMessagesContents",messages:e,pts:t.pts,pts_count:t.pts_count}})})}function G(e,t){var n=0;return t&&(n|=1),f.invokeApi("messages.deleteHistory",{flags:n,peer:e,max_id:0}).then(function(n){return s.processUpdateMessage({_:"updateShort",update:{_:"updatePts",pts:n.pts,pts_count:n.pts_count}}),!n.offset||G(e,t)})}function K(e,n){return G(c.getInputPeerByID(e),n).then(function(){if(n)t.$broadcast("dialog_flush",{peerID:e});else{var a=I(e);a[0]&&$e.dialogs.splice(a[1],1),delete ke[e],t.$broadcast("dialog_drop",{peerID:e})}})}function Y(e,t){t=t||{},angular.forEach(e,function(e){if(void 0===e.pFlags&&(e.pFlags={}),e.pFlags.out||(e.pFlags.out=!1),e.pFlags.unread||(e.pFlags.unread=!1),"messageEmpty"!=e._){var n=ae(e),a="peerChannel"==e.to_id._,i=a?-n:0,o=a&&!l.isMegagroup(i),s=m.getFullMessageID(e.id,i);e.mid=s;var r=I(n)[0];if(r&&s>0){var c=e.pFlags.out?"read_outbox_max_id":"read_inbox_max_id";e.pFlags.unread=s>r[c]}else t.isNew&&(e.pFlags.unread=!0);e.reply_to_msg_id&&(e.reply_to_mid=m.getFullMessageID(e.reply_to_msg_id,i)),e.date-=v.serverTimeOffset;var p=e.fwd_from;p&&(e.fwdFromID=p.channel_id?-p.channel_id:p.from_id,p.date-=v.serverTimeOffset),e.peerID=n,e.fromID=e.pFlags.post?n:e.from_id,e.signID=e.pFlags.post&&e.from_id||p&&p.channel_id&&p.from_id,e.via_bot_id>0&&(e.viaBotID=e.via_bot_id);var g={user_id:e.fromID,date:e.date};if(e.media)switch(e.media._){case"messageMediaEmpty":delete e.media;break;case"messageMediaPhoto":d.savePhoto(e.media.photo,g);break;case"messageMediaDocument":u.saveDoc(e.media.document,g);break;case"messageMediaWebPage":h.saveWebPage(e.media.webpage,e.mid,g)}if(e.action){var f,_;switch(e.action._){case"messageActionChatEditPhoto":d.savePhoto(e.action.photo,g),o&&(e.action._="messageActionChannelEditPhoto");break;case"messageActionChatEditTitle":o&&(e.action._="messageActionChannelEditTitle");break;case"messageActionChatDeletePhoto":o&&(e.action._="messageActionChannelDeletePhoto");break;case"messageActionChatAddUser":1==e.action.users.length?(e.action.user_id=e.action.users[0],e.fromID==e.action.user_id&&(a?e.action._="messageActionChatJoined":e.action._="messageActionChatReturn")):e.action.users.length>1&&(e.action._="messageActionChatAddUsers");break;case"messageActionChatDeleteUser":e.fromID==e.action.user_id&&(e.action._="messageActionChatLeave");break;case"messageActionChannelMigrateFrom":f=-e.action.chat_id,_=-i;break;case"messageActionChatMigrateTo":f=-i,_=-e.action.channel_id;break;case"messageActionHistoryClear":e.deleted=!0,e.clear_history=!0,e.pFlags.out=!1,e.pFlags.unread=!1}f&&_&&!Ve[f]&&!ze[_]&&R(f,_)}if(e.message&&e.message.length){var b=y.parseEntities(e.message),w=e.entities||[];e.totalEntities=y.mergeEntities(b,w,!e.pending)}t.isEdited||(ye[s]=e)}})}function Z(e,n,a){if(angular.isString(n)){a=a||{};var i=a.entities||[];if(a.viaBotID||(n=y.parseMarkdo
e.put("partials/desktop/changelog_modal.html",'<div class="changelog_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 </div>\n <div class="md_modal_title" my-i18n="head_about"></div>\n </div>\n\n <div class="peer_modal_profile_wrap clearfix">\n <div class="peer_modal_photo_wrap pull-left">\n <div class="peer_modal_photo telegram_modal_logo"></div>\n </div>\n <div class="peer_modal_profile">\n <div class="peer_modal_profile_name">Telegram Web</div>\n <div class="peer_modal_profile_description">Version {{currentVersion}}</div>\n </div>\n </div>\n </div>\n\n <div class="md_modal_split_actions_wrap">\n <div class="md_modal_split_actions">\n <a href="https://twitter.com/telegram_web" target="_blank" class="md_modal_split_action">\n <i class="md_modal_split_action_twitter"></i>\n </a>\n </div>\n </div>\n\n <div class="md_modal_body">\n\n <div class="md_modal_sections">\n\n <div class="md_modal_versioned_section_wrap" ng-if="canShowVersion(\'0.5.5\')">\n <div class="md_modal_section_version">0.5.5</div>\n <div class="md_modal_section_description changelog_version_changes">\n <ul class="list-unstyled changelog_version_changes_list">\n <li>Introducing Drafts: Seamless syncing for unsent messages on all your devices. Drafts are now visible in your chats list.</li>\n <li>Mention people in groups by typing @ and selecting them from the list — even if they don\'t have a username.</li>\n <li>Share links to specific posts in channels via quick forwarding menu (click on the date in a message to try this out).</li>\n </ul>\n\n </div>\n </div>\n\n <div class="md_modal_versioned_section_wrap" ng-if="canShowVersion(\'0.5.4\')">\n <div class="md_modal_section_version">0.5.4</div>\n <div class="md_modal_section_description changelog_version_changes">\n <ul class="list-unstyled changelog_version_changes_list">\n <li>Introducing Bot API 2.0, the biggest update to our bot platform since June 2015.</li>\n <li>New inline keyboards with callback, \'open URL\' or \'switch to inline mode\' buttons help create seamless interfaces.</li>\n <li>Bots can now update existing messages on the fly as you interact with them.</li>\n <li>Prepare for the rise of location-based bots: all bots can now ask users to share their location.</li>\n <li>Inline bots can now send all attachments supported in Telegram (videos, music, stickers, files, etc.).</li>\n <li>Try out these sample bots to see what\'s coming your way soon: @music, @sticker, @youtube, @foursquare</li>\n <li>Check out the <a href="https://telegram.org/blog/bots-2-0" target="_blank">Telegram Blog</a> for more info.</li>\n <li>New quick forwarding in channels (click on the date in a message to try this out).</li>\n <li>Improved performance.</li>\n </ul>\n\n </div>\n </div>\n\n <div class="md_modal_versioned_section_wrap" ng-if="canShowVersion(\'0.5.3\')">\n <div class="md_modal_section_version">0.5.3</div>\n <div class="md_modal_section_description changelog_version_changes">\n <ul class="list-unstyled changelog_version_changes_list">\n <li>Inline bots: A new way to add bot content to any chat. Type a bot\'s username and your query in the text field to get instant results and send them to your chat partner. Try typing <code>@gif dog</code> in your next chat. Sample bots: @gif, @wiki, @bing, @vid, @bold.</li>\n <li>Check out the <a href="https://telegram.org/blog/inline-bots" target="_blank">Telegram Blog</a> for more info.</li>\n <li>Improved GIFs: 20x faster sending and downloading, nice animated progress
e.put("partials/desktop/chat_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="hasRights(\'edit_title\')" ng-click="editTitle()" my-i18n="modal_edit"></a>\n </div>\n <div class="md_modal_title" my-i18n="group_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"></div>\n <div class="peer_modal_profile_description" 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 </div>\n </div>\n </div>\n </div>\n\n <div class="md_modal_split_actions_wrap">\n <div class="md_modal_split_actions">\n <div 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 </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_link" ng-if="hasRights(\'invite\') && chatFull.participants.participants.length < maxParticipants">\n <i class="md_modal_section_icon md_modal_section_icon_person"></i>\n\n <div class="md_modal_section_link_wrap">\n <a class="md_modal_section_link" ng-click="inviteToGroup()" my-i18n="group_modal_add_member"></a>\n </div>\n\n </div>\n\n <div class="md_modal_iconed_section_wrap md_modal_iconed_section_link" ng-if="chatFull.chat._ != \'chatForbidden\' && !chatFull.chat.pFlags.left && chatFull.chat.pFlags.creator">\n\n <div class="md_modal_section_link_wrap">\n <a class="md_modal_section_link" ng-click="inviteViaLink()" my-i18n="group_modal_menu_share_link"></a>\n </div>\n\n </div>\n\n <div class="md_modal_iconed_section_wrap md_modal_iconed_section_toggle">\n <i class="md_modal_section_icon md_modal_section_icon_notification"></i>\n\n <a class="md_modal_section_toggle_wrap tg_checkbox" ng-click="settings.notifications = !settings.notifications" ng-class="settings.notifications ? \'tg_checkbox_on\' : \'\'">\n <span class="icon icon-checkbox-outer"><i class="icon-checkbox-inner"></i></span>\n <span class="tg_checkbox_label" my-i18n="group_modal_notifications"></span>\n </a>\n\n </div>\n\n <div class="md_modal_iconed_section_wrap md_modal_iconed_section_link">\n <i class="md_modal_section_icon md_modal_section_icon_more"></i>\n\n <div class="md_modal_section_link_wrap">\n <a class="md_modal_section_link" ng-click="flushHistory(true)" my-i18n="group_modal_menu_clear_history"></a>\n </div>\n\n </div>\n\n <div class="md_modal_iconed_section_wrap md_modal_iconed_section_link" ng-if="chatFull.chat.pFlags.creator">\n\n <div class="md_modal_section_link_wrap">\n <a class="md_modal_section_link" ng-c
e.put("partials/desktop/footer.html",'<div class="footer_wrap" ng-controller="AppFooterController">\n\t<a class="footer_link" href="https://telegram.org" target="_blank" my-i18n="head_about"></a>\n <a class="footer_link" ng-click="openSettings()" my-i18n="im_settings"></a>\n <a class="footer_link" href="https://twitter.com/telegram_web" target="_blank" my-i18n="footer_twitter"></a>\n</div>'),e.put("partials/desktop/forwarded_messages.html",'<div class="im_message_reply clearfix" ng-class="{im_message_reply_thumbed: thumb !== false}">\n <div class="im_message_reply_border"></div>\n <div class="im_message_reply_thumb_wrap pull-left" ng-if="thumb !== false">\n <img\n class="im_message_reply_thumb"\n my-load-thumb\n thumb="thumb"\n watch="true"\n />\n </div>\n <div class="im_message_reply_author">\n <span my-peer-link="fromID" peer-watch="true"></span>\n </div>\n <div class="im_message_reply_body" ng-switch="singleMessage !== false">\n <div ng-switch-when="true">\n <span my-short-message="singleMessage"></span>\n </div>\n <div ng-switch-default>\n <span class="im_reply_message_service">\n <ng-pluralize count="count"\n when="im_X_forwarded_messages">\n </ng-pluralize>\n </span>\n </div>\n </div>\n</div>'),e.put("partials/desktop/full_document.html",'<div class="document_modal_image_wrap">\n <div class="img_fullsize_with_progress_wrap document_fullsize_with_progress_wrap" ng-style="{width: frameWidth + \'px\', height: frameHeight + \'px\'}">\n <div class="img_fullsize_progress_overlay">\n <div class="img_fullsize_progress_wrap" ng-style="{width: frameWidth + \'px\', height: frameHeight + \'px\'}">\n <div class="img_fullsize_progress progress tg_progress">\n <div class="progress-bar progress-bar-success" style="width: {{document.progress.percent}}%"></div>\n </div>\n </div>\n </div>\n <div class="img_fullsize_wrap" ng-if="thumbSrc.length > 0">\n <img\n class="img_fullsize"\n ng-src="{{thumbSrc}}"\n ng-style="{width: imageWidth + \'px\', height: imageHeight + \'px\'}"\n />\n </div>\n </div>\n <div class="document_fullsize_wrap" ng-click="toggleZoom(!zoomed)">\n <img class="document_fullsize_img" />\n </div>\n</div>'),e.put("partials/desktop/full_gif.html",'<a class="img_gif_with_progress_wrap" ng-click="toggle($event)">\n\n <div class="img_gif_image_wrap">\n\n <div class="img_gif_meta" ng-show="!isActive" ng-switch="document.progress.enabled">\n <div ng-switch-when="true" class="img_gif_meta_contents">\n <i class="icon icon-cancel">\n <i class="icon icon-bar"></i>\n <i class="icon icon-bar"></i>\n </i>\n <div my-arc-progress="document.progress.percent"></div>\n </div>\n <div ng-switch-default class="img_gif_label noselect img_gif_meta_contents"><span class="copyonly">[</span>GIF<span class="copyonly">]</span></div>\n </div>\n\n <div ng-if="document.url" ng-show="document.downloaded &amp;&amp; isActive" ng-switch="document.mime_type == \'video/mp4\'">\n <video ng-switch-when="true" width="{{document.thumb.width}}" height="{{document.thumb.height}}" loop autoplay class="img_gif_video">\n <source ng-src="{{document.url}}" type="video/mp4">\n </video>\n <img ng-switch-default class="img_gif_image" ng-src="{{document.url}}" width="{{document.thumb.width}}" height="{{document.thumb.height}}" />\n </div>\n <img ng-hide="document.downloaded &amp;&amp; isActive" class="img_gif_thumb" my-load-thumb thumb="document.thumb" />\n\n </div>\n\n</a>'),e.put("partials/desktop/full_photo.html",'<div class="img_fullsize_with_progress_wrap">\n <div class="img_fullsize_progress_overlay" ng-show="progress.enabled">\n <div class="img_fullsize_progress_wrap">\n <div class="img_fullsize_progress progress tg_progress" ng-show="progress.percent > 0">\n <div class="progress-bar progress-bar-success" ng-style="{width: progress.percent + \'%\'}">\n </div>\n </
e.put("partials/desktop/lang_footer.html",'<div class="footer_wrap" ng-controller="AppLangSelectController">\n\t<span ng-repeat="locale in ::supportedLocales">\n\t <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\t <span ng-if="!$last" class="footer_link_divider"></span>\n\t</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 icon-next-submit"></i>\n </a>\n <a class="login_head_submit_btn" ng-if="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 </div>\n <a class="login_head_logo_link" href="https://telegram.org" target="_blank">\n <i class="icon icon-tg-logo"></i><i class="icon icon-tg-title"></i>\n </a>\n </div>\n\n <div class="login_form_wrap">\n <div class="error" ng-if="error.message" ng-bind="error.message"></div>\n\n <form name="mySendCodeForm" ng-if="!credentials.phone_code_hash" ng-submit="sendCode()">\n <h3 class="login_form_head" my-i18n="login_sign_in"></h3>\n <p class="login_form_lead" my-i18n="login_enter_number_description"></p>\n\n <div class="md-input-group md-input-has-value login_phone_country_input_group" ng-click="chooseCountry()">\n <label class="md-input-label" my-i18n="login_country_select_placeholder"></label>\n <div autocomplete="off" class="md-input"ng-bind="credentials.phone_country_name"></div>\n </div>\n\n <div class="login_phone_groups_wrap clearfix">\n\n <div class="md-input-group login_phone_code_input_group" ng-class="{\'md-input-error\': error.field == \'phone\'}" my-labeled-input>\n <label class="md-input-label" my-i18n="login_code_input_placeholder"></label>\n <input autocomplete="off" class="md-input" my-focused name="phone_country" type="tel" ng-model="credentials.phone_country" />\n </div>\n\n <div class="md-input-group login_phone_num_input_group" ng-class="{\'md-input-error\': error.field == \'phone\'}" my-labeled-input ng-switch="error.field == \'phone\'">\n <label ng-switch-when="true" class="md-input-label" my-i18n="login_incorrect_number"></label>\n <label ng-switch-default class="md-input-label" my-i18n="login_tel_input_placeholder"></label>\n <input required autocomplete="off" my-submit-on-enter class="md-input" my-focus-on="co
e.put("partials/desktop/password_recovery_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="checkCode()">\n\n <h4 my-i18n="login_recovery_title"></h4>\n\n <div class="md_simple_form_description" my-i18n="login_recovery_description_md">\n <my-i18n-param name="email">\n <strong ng-bind="recovery.email_pattern"></strong>\n </my-i18n-param>\n </div>\n\n <div class="md-input-group" ng-class="{\'md-input-error\': recovery.error_field == \'code\'}" my-labeled-input ng-switch="recovery.error_field == \'code\'">\n <label ng-switch-when="true" class="md-input-label" my-i18n="login_code_incorrect"></label>\n <label ng-switch-default class="md-input-label" my-i18n="login_code_placeholder"></label>\n <input class="md-input" my-focused type="text" ng-model="recovery.code" name="code" my-focused />\n </div>\n\n </form>\n\n </div>\n\n <div class="md_simple_modal_footer">\n\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: recovery.updating}" ng-click="checkCode()" ng-disabled="recovery.updating" ng-bind="recovery.updating ? \'password_recover_active\' : \'password_recover_submit\' | i18n"></button>\n\n </div>\n\n</div>'),e.put("partials/desktop/password_update_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="updatePassword()">\n\n <h4 ng-switch="action">\n <my-i18n ng-switch-when="disable" msgid="password_delete_title"></my-i18n>\n <my-i18n ng-switch-default msgid="password_change_title"></my-i18n>\n </h4>\n\n <div ng-if="password._ != \'account.noPassword\'" class="md-input-group" ng-class="{\'md-input-error\': passwordSettings.error_field == \'cur_password\'}" my-labeled-input>\n <label class="md-input-label" my-i18n="password_current_placeholder"></label>\n <input class="md-input" my-focused type="password" ng-model="passwordSettings.cur_password" name="cur_password" my-focus-on="cur_password_focus" />\n </div>\n\n <div ng-if="action != \'disable\'" class="md-input-group md-input-grouped" ng-class="{\'md-input-error\': passwordSettings.error_field == \'new_password\'}" my-labeled-input>\n <label class="md-input-label" my-i18n="password_new_placeholder"></label>\n <input class="md-input" type="password" ng-model="passwordSettings.new_password" name="new_password" my-focus-on="new_password_focus" />\n </div>\n\n <div ng-if="action != \'disable\'" class="md-input-group" ng-class="{\'md-input-error\': passwordSettings.confirm_password && passwordSettings.new_password && passwordSettings.confirm_password != passwordSettings.new_password}" my-labeled-input>\n <label class="md-input-label" my-i18n="password_confirm_placeholder"></label>\n <input class="md-input" type="password" ng-model="passwordSettings.confirm_password" name="confirm_password" my-focus-on="confirm_password_focus" />\n </div>\n\n <div ng-if="action != \'disable\'" class="md-input-group" my-labeled-input>\n <label class="md-input-label" my-i18n="password_hint_placeholder"></label>\n <input class="md-input" type="text" ng-model="passwordSettings.hint" name="hint" />\n </div>\n\n <div ng-if="action != \'disable\'" class="md_simple_form_description" my-i18n="password_create_description"></div>\n\n <div ng-if="action != \'disable\'" class="md-input-group" ng-class="{\'md-input-error\': passwordSettings.error_field == \'email\'}" my-labeled-input>\n <label class="md-input-label" my-i18n="password_email_placeholder"></label>\n <input class="md-input" type="text" ng-model="passwordSettings.email" name="email" />\n </div>\n\n\n </form>\n\n </div>\n\n <div class="md_simple_modal_footer">\n\n <button class="btn btn-md" ng-click="$dismiss()" my
e.put("partials/desktop/user_modal.html",'<div class="user_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="user.pFlags.contact" ng-click="importContact(true)" my-i18n="modal_edit"></a>\n </div>\n <div class="md_modal_title" my-i18n="user_modal_contact_info"></div>\n </div>\n\n <div class="peer_modal_profile_wrap clearfix">\n <div class="peer_modal_photo_wrap pull-left">\n <a ng-click="openPhoto(user.photo.photo_id, {p: user.id})" class="peer_modal_photo" ng-class="{disabled: !user.photo.photo_id}" ng-disabled="!user.photo.photo_id" my-peer-photolink="::user.id" img-class="peer_modal_photo" no-open="true"></a>\n </div>\n <div class="peer_modal_profile">\n <div class="peer_modal_profile_name" my-peer-link="user.id" verified="true"></div>\n <div class="peer_modal_profile_description" my-user-status="::user.id"></div>\n </div>\n </div>\n </div>\n\n <div class="md_modal_split_actions_wrap">\n <div class="md_modal_split_actions">\n <a 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\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="user.phone || user.username || rAbout">\n <i class="md_modal_section_icon md_modal_section_icon_phone"></i>\n\n <div class="md_modal_section_param_wrap" ng-if="user.phone">\n <div class="md_modal_section_param_value" ng-bind="user.phone | phoneNumber"></div>\n <div class="md_modal_section_param_name" my-i18n="user_modal_phone"></div>\n </div>\n\n <div class="md_modal_section_param_wrap" ng-if="user.username">\n <div class="md_modal_section_param_value">\n <span ng-bind="\'@\' + user.username"></span>\n </div>\n <div class="md_modal_section_param_name" my-i18n="user_modal_username"></div>\n </div>\n\n <div class="md_modal_section_param_wrap" ng-if="rAbout">\n <div class="md_modal_section_param_value">\n <span ng-bind-html="rAbout"></span>\n </div>\n <div class="md_modal_section_param_name" my-i18n="user_modal_about"></div>\n </div>\n </div>\n\n <div class="md_modal_iconed_section_wrap md_modal_iconed_section_toggle">\n <i class="md_modal_section_icon md_modal_section_icon_notification"></i>\n\n <a class="md_modal_section_toggle_wrap tg_checkbox" ng-click="settings.notifications = !settings.notifications" ng-class="settings.notifications ? \'tg_checkbox_on\' : \'\'">\n <span class="icon icon-checkbox-outer"><i class="icon-checkbox-inner"></i></span>\n <span class="tg_checkbox_label" my-i18n="user_modal_notifications"></span>\n </a>\n\n </div>\n\n <div class="md_modal_iconed_section_wrap md_modal_iconed_section_link" ng-init="f.showMoreActions = !user.phone.length">\n <i class="md_modal_section_icon md_modal_section_icon_more"></i>\n\n <div class="md_modal_section_link_wrap" ng-if="user.pFlags.bot &amp;&amp; !user.pFlags.bot_nochats">\n <a class="md_modal_section_link" ng-click="inviteToGroup()" my-i18n="user_modal_add_to_group"></a>\n </div>\n\n <div class="md_modal_section_link_wrap" ng-if="bot_info.commands.settings != null">\n <a class="md_modal_section_link" ng-click="sendCommand(\'settings\')" my-i18n="user_modal_bot_settings"></a>\n </div>\n\n <div class="md_modal_section_link_wrap" ng-if="bot_info.commands.help != null">\n <a class="md_modal_section_link" ng-click="sendCommand(\'help\')" my-i18n="user_modal_bot_help"></a>\n
e.put("partials/mobile/channel_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 ng-if="chatFull.chat.pFlags.creator || !chatFull.chat.pFlags.left && !chatFull.chat.pFlags.kicked">\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="hasRights(\'edit_photo\')">\n <a ng-click="deletePhoto()" my-i18n="group_modal_menu_delete_photo"></a>\n </li>\n <li ng-if="hasRights(\'edit_title\')">\n <a ng-click="editChannel()" my-i18n="modal_edit"></a>\n </li>\n <li ng-if="chatFull.chat.pFlags.creator">\n <a ng-click="deleteChannel()" my-i18n="channel_modal_delete_channel"></a>\n </li>\n <li ng-if="!chatFull.chat.pFlags.creator && !chatFull.chat.pFlags.left && !chatFull.chat.pFlags.kicked">\n <a ng-click="leaveChannel()" my-i18n="group_modal_menu_leave"></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="channel_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" verified="true"></h4>\n <p class="mobile_user_modal_status" ng-if="chatFull.participants_count > 0">\n <ng-pluralize count="chatFull.participants_count"\n when="group_modal_pluralize_participants">\n </ng-pluralize>\n </p>\n </div>\n\n </div>\n\n <div class="mobile_modal_section" ng-if="chatFull.rAbout">\n <h4 class="mobile_modal_section_header" my-i18n="channel_modal_description"></h4>\n <div class="mobile_modal_section_value" ng-bind-html="chatFull.rAbout"></div>\n </div>\n\n <div class="mobile_modal_section" ng-if="chatFull.chat.username || chatFull.chat.pFlags.creator">\n <h4 class="mobile_modal_section_header" my-i18n="channel_modal_share_link"></h4>\n <div class="mobile_modal_section_value" ng-switch="chatFull.chat.username.length > 0">\n <a ng-switch-when="true" class="settings_modal_username_link" ng-click="shareLink($event)" ng-bind="\'https://telegram.me/\' + chatFull.chat.username" ng-href="https://telegram.me/{{chatFull.chat.username}}" target="_blank"></a>\n <a ng-switch-default ng-click="shareLink($event)" ng-bind="chatFull.exported_invite.link" ng-href="{{chatFull.exported_invite.link}}" target="_blank"></a>\n </div>\n </div>\n\n <div class="mobile_modal_action_wrap" ng-if="hasRights(\'invite\')">\n <a class="mobile_modal_action" ng-click="inviteToChannel()" my-i18n="channel_modal_add_member"></a>\n </div>\n\n <div class="mobile_modal_action_wrap" ng-if="chatFull.chat.pFlags.left">\n <a class="mobile_modal_action" ng-click="joinChannel()" my-i18n="channel_modal_join"></a>\n </div>\
e.put("partials/mobile/im.html",'<div my-head></div>\n\n<div class="im_page_wrap" ng-class="{im_page_peer_not_selected: !curDialog.peer}">\n\n <div class="im_page_split clearfix">\n\n <div ng-controller="AppImDialogsController" my-dialogs class="im_dialogs_col_wrap" ng-class="search.query.length > 0 ? \'im_dialogs_col_search\' : \'\'">\n <div class="im_dialogs_panel">\n <div class="im_dialogs_search">\n <input class="form-control im_dialogs_search_field no_outline" type="search" placeholder="{{\'modal_search\' | i18n}}" ng-model="search.query" autocomplete="off" />\n <a class="im_dialogs_search_clear tg_search_clear" ng-click="searchClear()" ng-show="search.query.length">\n <i class="icon icon-search-clear"></i>\n </a>\n </div>\n </div>\n\n <div my-dialogs-list-mobile class="im_dialogs_col im_dialogs_scrollable_wrap mobile_scrollable_wrap">\n\n <div class="im_dialogs_empty_wrap" ng-if="isEmpty.contacts" my-vertical-position="0.4">\n <h3 class="im_dialogs_empty_header" my-i18n="im_no_contacts"></h3>\n <p class="im_dialogs_empty_lead" my-i18n="im_get_started_long"></p>\n <button type="button" class="btn btn-primary btn-block im_dialogs_add_contact" ng-click="importContact()" my-i18n="im_add_contact"></button>\n <button ng-if="phonebookAvailable" type="button" class="btn btn-primary btn-block im_dialogs_import_phonebook" ng-click="importPhonebook()" my-i18n="im_import_phonebook"></button>\n </div>\n\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" ng-class="{active: curDialog.peerID == dialogMessage.peerID}"></li>\n </ul>\n\n <div class="im_dialogs_contacts_wrap" ng-show="contacts.length > 0">\n <h5 my-i18n="im_contacts_title"></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-mousedown="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" verified="true"></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\n <div class="im_dialogs_contacts_wrap" ng-show="foundPeers.length > 0">\n <h5 my-i18n="im_found_title"></h5>\n <ul class="nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" ng-repeat="foundPeer in foundPeers track by foundPeer.id" ng-class="{active: curDialog.peerID == foundPeer.id}">\n <a class="im_dialog" ng-mousedown="dialogSelect(foundPeer.peerString)">\n <div class="im_dialog_photo pull-left" my-peer-photolink="foundPeer.id" 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="foundPeer.id" verified="true"></span>\n </div>\n <div class="im_dialog_message">\n <span class="im_dialog_message_text" ng-bind="::\'@\' + foundPeer.username"></span>\n </div>\n </div>\n </a>\n </li>\n </ul>\n </div>\n\n <div class="im_dialogs_messages_wrap" ng-show="foundMessages.length > 0">\n <h5 my-i18n="im_messages"><
e.put("partials/mobile/message_attach_geo.html",'<a ng-href="{{::media.mapUrl}}" target="_blank" class="im_message_geopoint">\n <i class="icon icon-geo-point"></i>\n <img\n class="im_message_venue_geopoint_image"\n my-geo-point-map="media.geo"\n width="200"\n height="100"\n />\n</a>'),e.put("partials/mobile/message_attach_pending.html",'<div class="im_message_document im_message_upload_file" ng-class="::\'im_message_upload_\' + media.type">\n <div class="im_message_file_button im_message_file_button_upload">\n <i class="im_message_file_button_icon"></i>\n </div>\n <div class="im_message_document_info">\n <div class="im_message_document_name_wrap">\n <span class="im_message_document_name" ng-bind="::media.file_name"></span>\n <span class="im_message_document_size" ng-if="media.progress" ng-bind="media.progress | formatSizeProgress"></span>\n </div>\n <div class="clearfix im_message_cancelable_progress_wrap">\n <a class="im_message_media_progress_cancel pull-right" ng-click="media.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" role="progressbar" ng-style="{width: media.progress.percent + \'%\'}"></div>\n </div>\n </div>\n </div>\n </div>\n</div>\n'),e.put("partials/mobile/message_attach_photo.html",'<a class="im_message_photo_thumb" ng-click="openPhoto(media.photo.id, {m: messageId})" ng-style="::{width: media.photo.thumb.width + \'px\'}" ng-mouseover="preloadPhoto(media.photo.id)">\n <img\n class="im_message_photo_thumb"\n my-load-thumb\n thumb="media.photo.thumb"\n />\n</a>\n<div ng-if="::media.rCaption" class="im_message_photo_caption" ng-bind-html="::media.rCaption"></div>'),e.put("partials/mobile/message_attach_venue.html",'<div class="im_message_venue clearfix">\n\n <a ng-href="{{::media.mapUrl}}" target="_blank" class="im_message_venue_geopoint_wrap">\n <i class="icon icon-geo-point"></i>\n <img\n class="im_message_venue_geopoint_image"\n my-geo-point-map="media.geo"\n width="100"\n height="100"\n alt="[{{::\'conversation_media_location\' | i18n}} {{::media.mapUrl}}]"\n />\n </a>\n\n <div class="im_message_venue_info">\n <div class="im_message_venue_title_wrap">\n <a ng-href="{{::media.mapUrl}}" target="_blank" class="im_message_document_name" ng-bind="::media.title"></a>\n </div>\n <div class="im_message_venue_address" ng-bind="::media.address"></div>\n </div>\n\n</div>\n'),e.put("partials/mobile/message_attach_webpage.html",'<div ng-show="webpage._ == \'webPage\'" class="im_message_webpage_wrap clearfix" ng-switch="webpage.type">\n <div ng-switch-when="photo" class="im_message_webpage_photo">\n <div class="im_message_webpage_site" ng-bind="webpage.site_name || webpage.display_url"></div>\n <div class="im_message_webpage_title">\n <a href="{{webpage.url}}" target="_blank" ng-bind-html="webpage.rTitle"></a>\n </div>\n <div ng-if="webpage.description.length" class="im_message_webpage_description" ng-bind-html="webpage.rDescription"></div>\n <a class="im_message_photo_thumb" ng-click="openPhoto(webpage.photo.id, {w: webpage.id, m: messageId})" ng-style="::{width: webpage.photo.thumb.width + \'px\'}" ng-mouseover="preloadPhoto(webpage.photo.id)">\n <img\n class="im_message_photo_thumb"\n my-load-thumb\n thumb="webpage.photo.thumb"\n />\n </a>\n </div>\n <div ng-switch-when="video" class="im_message_webpage_video">\n <div class="im_message_webpage_site" ng-bind="webpage.site_name || webpage.display_url"></div>\n <div class="im_message_webpage_title">\n <a ng-click="openEmbed($event)" href="{{webpage.url}}" target="_blank" ng-bind-html="webpage.rTitle"></a>\n </div>\n <div ng-if="webpage.description.length" class="im_message_webpage_description" ng-bind-html="webpage.rDescription"></div>\n <a class="im_message_video_thumb" ng-click="openEmbed($event)" ng-href="{{w
e.put("partials/mobile/stickerset_modal.html",'<div class="stickerset_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" ng-if="stickersetLoaded" ng-switch="stickersetInstalled">\n <a ng-switch-when="true" my-i18n="stickerset_modal_uninstall" ng-click="toggleInstalled(false)"></a>\n <a ng-switch-when="false" my-i18n="stickerset_modal_install" ng-click="toggleInstalled(true)"></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 ng-switch="!stickersetLoaded">\n <span ng-switch-when="true" my-i18n="stickerset_modal_title_loading"></span>\n <span ng-switch-default ng-bind="stickerset.title"></span>\n </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 <div my-stickers-list class="stickerset_modal_col">\n\n <div class="stickerset_wrap nano" my-infinite-scroller>\n <div class="stickerset_scrollable_wrap nano-content" ng-switch="!stickersetLoaded">\n\n <div ng-switch-when="true" class="stickerset_modal_loading" my-vertical-position="0.2" padding="true" my-i18n="stickerset_modal_loading">\n <my-i18n-param name="dots">\n <span my-loading-dots></span>\n </my-i18n-param>\n </div>\n\n <div ng-switch-default class="stickerset_modal_stickers_list clearfix">\n <div class="stickerset_modal_sticker_wrap" ng-repeat="sticker in documents | limitTo: slice.limit">\n <div class="stickerset_modal_sticker" my-load-sticker document="sticker" thumb="true"></div>\n <div class="stickerset_modal_sticker_alt" ng-bind-html="sticker.stickerEmoji"></div>\n </div>\n </div>\n\n </div>\n </div>\n\n </div>\n\n </div>\n\n</div>'),e.put("partials/mobile/user_modal.html",'<div class="mobile_user_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="user.pFlags.contact">\n <a ng-click="importContact(true)" my-i18n="user_modal_edit_contact"></a>\n </li>\n <li ng-if="user.pFlags.contact">\n <a ng-click="deleteContact()" my-i18n="user_modal_delete_contact"></a>\n </li>\n <li ng-if="user.phone.length > 0 &amp;&amp; !user.pFlags.contact &amp;&amp; !user.pFlags.self">\n <a ng-click="importContact()" my-i18n="user_modal_add_contact"></a>\n </li>\n <li>\n <a ng-click="flushHistory()" my-i18n="user_modal_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="user_modal_contact_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
n.value=f,setFieldSelection(n,_)}this.hideSuggestions(),this.onChange()},MessageComposer.prototype.onMentionsUpdated=function(e){delete this.previousQuery,this.isActive&&this.checkAutocomplete()},MessageComposer.prototype.onMentionSelected=function(e,t){var n=!0;if("#"==e.charAt(0)&&(n=!1,e=e.substr(1),t=t.replace(/\(\)@/,"")),this.richTextareaEl){var a=this.richTextareaEl[0];this.isActive||this.restoreSelection()||setRichFocus(a);var i,o=getRichValueWithCaret(a),s=o[0],r=o[1]>=0?o[1]:s.length,l=s.substr(r),c=s.substr(0,r),d=c.match(/@([A-Za-z0-9\-\+\*_]*)$/);i=d&&d[0]?c.substr(0,d.index)+"@"+e:c+"@"+e;var u;n?l.length?(this.selId=(this.selId||0)+1,u=this.getRichHtml(i)+'&nbsp;<span id="composer_sel'+this.selId+'"></span>'+this.getRichHtml(l),this.richTextareaEl.html(u),setRichFocus(a,$("#composer_sel"+this.selId)[0])):(u=this.getRichHtml(i)+"&nbsp;",this.richTextareaEl.html(u),setRichFocus(a)):(this.selId=(this.selId||0)+1,u=this.getRichHtml(i)+'&nbsp;(<span id="composer_sel'+this.selId+'">'+encodeEntities(t)+"</span>)&nbsp;"+this.getRichHtml(l),this.richTextareaEl.html(u),setRichFocus(a,$("#composer_sel"+this.selId)[0],!0))}else{var i,p,m,g,a=this.textareaEl[0],s=a.value,r=this.isActive?getFieldSelection(a):s.length,l=s.substr(r),c=s.substr(0,r),d=c.match(/@([A-Za-z0-9\-\+\*_]*)$/);i=d&&d[0]?c.substr(0,d.index)+"@"+e:c+"@"+e,n?(p=i+"@"+e+" "+l,m=d.index+e.length+2):(p=i+"@"+e+" ("+t+") "+l,m=d.index+e.length+2,g=m+t.length),a.value=p,setFieldSelection(a,m,g)}this.hideSuggestions(),this.onChange()},MessageComposer.prototype.onCommandSelected=function(e,t){if(t)if(this.richTextareaEl)this.richTextareaEl.html(encodeEntities(e)+"&nbsp;"),setRichFocus(this.richTextareaEl[0]);else{var n=this.textareaEl[0];n.value=e+" ",setFieldSelection(n)}else this.onCommandSend(e);this.hideSuggestions(),this.onChange()},MessageComposer.prototype.onChange=function(e){if(this.richTextareaEl){delete this.keyupStarted;var t=getRichValue(this.richTextareaEl[0]);this.textareaEl.val(t).trigger("change")}this.updateInlinePlaceholder()},MessageComposer.prototype.getEmojiHtml=function(e,t){t=t||EmojiHelper.emojis[e];var n=20,a=EmojiHelper.spritesheetPositions[e],i=a[0],o=(a[1],n*a[3]),s=n*a[2];return'<img src="img/blank.gif" alt=":'+encodeEntities(t[1])+':" data-code="'+encodeEntities(e)+'" class="emoji emoji-w20 emoji-spritesheet-'+i+'" style="background-position: -'+o+"px -"+s+'px;" onresizestart="return false" />'},MessageComposer.prototype.setValue=function(e){this.richTextareaEl?(this.richTextareaEl.html(this.getRichHtml(e)),this.lastLength=e.length,this.wasEmpty=!e.length,this.onKeyEvent({type:"keyup"})):this.textareaEl.val(e)},MessageComposer.prototype.setFocusedValue=function(e){var t=e[0],n=e[1],a=e[2];if(this.richTextareaEl){this.selId=(this.selId||0)+1;var i=this.getRichHtml(t)+'<span id="composer_sel'+this.selId+'">'+this.getRichHtml(n)+"</span>"+this.getRichHtml(a);this.richTextareaEl.html(i),setRichFocus(this.richTextareaEl[0],$("#composer_sel"+this.selId)[0],!0)}else this.textareaEl.val(t+n+a),setFieldSelection(this.textareaEl[0],t.length,t.length+n.length)},MessageComposer.prototype.getRichHtml=function(e){var t=$("<div>").text(e).html();return t=t.replace(/\n/g,"<br/>"),t=t.replace(/:([A-Za-z0-9\-\+\*_]+?):/gi,function(e,t){var n=EmojiHelper.shortcuts[t];return void 0!==n?this.getEmojiHtml(n):e}.bind(this)),t=t.replace(/ /g,"  ").replace(/^ | $/g," ")},MessageComposer.prototype.focus=function(){this.richTextareaEl?setZeroTimeout(function(){setRichFocus(this.richTextareaEl[0])}.bind(this)):setFieldSelection(this.textareaEl[0])},MessageComposer.prototype.blur=function(){this.richTextareaEl?this.richTextareaEl[0].blur():this.textareaEl[0].blur()},MessageComposer.prototype.renderSuggestions=function(){this.autoCompleteWrapEl.show(),this.scroller.reinit(),this.updatePosition(),this.autocompleteShown=!0},MessageComposer.prototype.showEmojiSuggestions=function(e){var t=this;setZeroTimeout(function(){t.autoCompleteScope.$apply(function(){t.autoCompleteScope.type="emoji",t.autoCompleteScope.emojiCodes=e}),onContentLoaded(function(){t.ren
o.draftMessage.command=e})}}),B=L.richTextareaEl&&L.richTextareaEl[0];B&&$(B).on("keydown keyup",y),o.$on("inline_results",function(e,t){var n=Config.Mobile?$(window).width():(P.offsetWidth||382)-2,a=80;t&&u.regroupWrappedResults(t.results,n,a),setZeroTimeout(function(){L.setInlineSuggestions(t)})}),o.$on("inline_placeholder",function(e,t){L.setInlinePlaceholder(t.prefix,t.placeholder)}),T.on("change",function(){var e=this;o.$apply(function(){o.draftMessage.files=Array.prototype.slice.call(e.files),o.draftMessage.isMedia=$(e).hasClass("im_media_attach_input")||Config.Mobile,setTimeout(function(){try{e.value=""}catch(t){}},1e3)})});var j=!0;o.$on("settings_changed",h),h(),$(F).on("mousedown touchstart",f);var H=B&&B.offsetHeight;$(document).on("keydown",b),$("body").on("dragenter dragleave dragover drop",S),$(document).on("paste",C),m&&(o.$on("ui_peer_change",w),o.$on("ui_history_focus",w),o.$on("ui_history_change",w)),o.$on("ui_peer_change",L.resetTyping.bind(L)),o.$on("ui_peer_draft",function(t,n){n=n||{};var a=o.draftMessage.isBroadcast;L.setPlaceholder(e(a?"im_broadcast_field_placeholder_raw":"im_message_field_placeholder_raw")),n.customSelection?(L.setFocusedValue(n.customSelection),y()):(B&&(L.setValue(o.draftMessage.text||""),y()),(m||n&&n.focus)&&L.focus()),onContentLoaded(function(){L.checkAutocomplete(!0)}),O&&Config.Mobile&&O.hide()}),o.$on("ui_peer_reply",function(){onContentLoaded(function(){o.$emit("ui_editor_resize"),m&&L.focus()})}),o.$on("mentions_update",function(){L.onMentionsUpdated()}),o.$on("ui_message_before_send",function(){v()}),o.$on("ui_message_send",function(){m&&w()}),o.$on("ui_message_blur",function(){L.blur()}),o.$on("$destroy",function(){$(document).off("paste",C),$(document).off("keydown",b),$("body").off("dragenter dragleave dragover drop",S),$(F).off("mousedown touchstart"),T.off("change")}),m&&w()}return{link:g,scope:{draftMessage:"=",mentions:"=",commands:"="}}}]).directive("myLoadThumb",["MtpApiFileManager","FileManager",function(e,t){function n(n,a,i){var o=0,s=e.getCachedFile(n.thumb&&n.thumb.location&&!n.thumb.location.empty&&n.thumb.location);s&&a.attr("src",t.getUrl(s,"image/jpeg")),n.thumb&&n.thumb.width&&n.thumb.height&&(a.attr("width",n.thumb.width),a.attr("height",n.thumb.height));var r=n.$watchCollection("thumb.location",function(i){n.thumb&&n.thumb.width&&n.thumb.height&&(a.attr("width",n.thumb.width),a.attr("height",n.thumb.height),n.$emit("ui_height"));var s=++o;if(!i||i.empty)return a.attr("src",n.thumb&&n.thumb.placeholder||"img/blank.gif"),void l();var r=e.getCachedFile(i);return r?(a.attr("src",t.getUrl(r,"image/jpeg")),void l()):(a.attr("src")||a.attr("src",n.thumb.placeholder||"img/blank.gif"),void e.downloadSmallFile(n.thumb.location).then(function(e){s==o&&(a.attr("src",t.getUrl(e,"image/jpeg")),l())},function(e){console.log("Download image failed",e,n.thumb.location,a[0]),s==o&&(a.attr("src",n.thumb.placeholder||"img/blank.gif"),l())}))}),l=i.watch?angular.noop:function(){setTimeout(function(){n.$destroy(),r()},0)}}return{link:n,scope:{thumb:"="}}}]).directive("myLoadFullPhoto",["MtpApiFileManager","FileManager","_",function(e,t,n){function a(a,i,o){var s=$("img",i)[0],r=$(".img_fullsize_with_progress_wrap",i).add(".img_fullsize_progress_wrap",i).add($(s)),l=function(){r.css({width:a.fullPhoto.width,height:a.fullPhoto.height}),a.$emit("ui_height",!0)},c=0;a.$watchCollection("fullPhoto.location",function(){var i=e.getCachedFile(a.thumbLocation),o=++c;if(i?(s.src=t.getUrl(i,"image/jpeg"),l()):s.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",a.fullPhoto.location){var r;if(a.fullPhoto.size){var d={_:"inputFileLocation",volume_id:a.fullPhoto.location.volume_id,local_id:a.fullPhoto.location.local_id,secret:a.fullPhoto.location.secret};r=e.downloadFile(a.fullPhoto.location.dc_id,d,a.fullPhoto.size)}else r=e.downloadSmallFile(a.fullPhoto.location);a.progress={enabled:!0,percent:0},r.then(function(e){o==c&&(a.progress.enabled=!1,s.src=t.getUrl(e,"image/jpeg"),l())},function(e){console.log("Download image failed",e,a.fullPhoto.locatio
t(function(){$(c).trigger("scroll")})})}),n.$on("ui_selection_clear",function(){window.getSelection?window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().removeAllRanges():document.selection&&document.selection.empty()}),n.$on("ui_editor_resize",s),n.$on("ui_height",function(){onContentLoaded(s)});var _=!0,v=-1;$(c).on("scroll",function(e){if(a.is(":visible")&&!$(c).hasClass("im_history_to_bottom")){var t=c.scrollTop;_=t>=c.scrollHeight-c.clientHeight,v>=0&&v!=t&&(v=-1),!h&&t<=300?(h=!0,n.$emit("history_need_more")):!f&&t>=c.scrollHeight-c.clientHeight-300&&(f=!0,n.$emit("history_need_less"))}}),$(e).on("resize",s),s(),onContentLoaded(s)}return{link:i}}]).directive("myContactsListMobile",["$window","$timeout",function(e,t){function n(t,n,a){function i(){$(n).css({height:$(e).height()-(s&&s.offsetHeight||0)-(o&&o.offsetHeight||0)-64})}var o=$(".contacts_modal_search")[0],s=$(".contacts_modal_panel")[0];$(e).on("resize",i),t.$on("contacts_change",function(){onContentLoaded(i)}),onContentLoaded(i)}return{link:n}}]).directive("myCountriesListMobile",["$window","$timeout",function(e,t){function n(t,n,a){function i(){$(n).css({height:$(e).height()-(s&&s.offsetHeight||0)-(o&&o.offsetHeight||0)-64})}var o=$(".countries_modal_search")[0],s=$(".countries_modal_panel")[0];$(e).on("resize",i),onContentLoaded(i)}return{link:n}}]).directive("myInfiniteScrollerMobile",function(){function e(e,t,n){var a=t[0],i=!1;$(a).on("scroll",function(n){t.is(":visible")&&!i&&a.scrollTop>=a.scrollHeight-a.clientHeight-300&&(i=!0,e.$apply(function(){e.slice.limit+=e.slice.limitDelta||20}),onContentLoaded(function(){i=!1}))})}return{link:e,scope:!0}});