tweb/public/index.bundle.js

20 lines
555 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

!function(e){function t(t){for(var s,n,r=t[0],l=t[1],d=t[2],u=0,h=[];u<r.length;u++)n=r[u],Object.prototype.hasOwnProperty.call(a,n)&&a[n]&&h.push(a[n][0]),a[n]=0;for(s in l)Object.prototype.hasOwnProperty.call(l,s)&&(e[s]=l[s]);for(c&&c(t);h.length;)h.shift()();return o.push.apply(o,d||[]),i()}function i(){for(var e,t=0;t<o.length;t++){for(var i=o[t],s=!0,r=1;r<i.length;r++){var l=i[r];0!==a[l]&&(s=!1)}s&&(o.splice(t--,1),e=n(n.s=i[0]))}return e}var s={},a={0:0},o=[];function n(t){if(s[t])return s[t].exports;var i=s[t]={i:t,l:!1,exports:{}};return e[t].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=s,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)n.d(i,s,function(t){return e[t]}.bind(null,s));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="";var r=window.webpackJsonp=window.webpackJsonp||[],l=r.push.bind(r);r.push=t,r=r.slice();for(var d=0;d<r.length;d++)t(r[d]);var c=l;o.push([54,1,3]),i()}([function(e,t,i){"use strict";i.r(t),i.d(t,"dT",(function(){return a})),i.d(t,"isInDOM",(function(){return o})),i.d(t,"checkDragEvent",(function(){return n})),i.d(t,"cancelEvent",(function(){return r})),i.d(t,"getRichValue",(function(){return l})),i.d(t,"placeCaretAtEnd",(function(){return d})),i.d(t,"getRichElementValue",(function(){return c})),i.d(t,"$rootScope",(function(){return u})),i.d(t,"generatePathData",(function(){return p})),i.d(t,"langPack",(function(){return m})),i.d(t,"_",(function(){return g})),i.d(t,"isObject",(function(){return f})),i.d(t,"tsNow",(function(){return b})),i.d(t,"safeReplaceObject",(function(){return v})),i.d(t,"numberWithCommas",(function(){return y})),i.d(t,"findUpClassName",(function(){return w})),i.d(t,"findUpTag",(function(){return x})),i.d(t,"whichChild",(function(){return _})),i.d(t,"copy",(function(){return k})),i.d(t,"formatBytes",(function(){return M})),i.d(t,"formatNumber",(function(){return D})),i.d(t,"deepEqual",(function(){return S})),i.d(t,"listMergeSorted",(function(){return E})),i.d(t,"escapeRegExp",(function(){return I})),i.d(t,"encodeEntities",(function(){return P})),i.d(t,"fillPropertyValue",(function(){return X})),i.d(t,"calcImageInBox",(function(){return L})),i.d(t,"emojiUnicode",(function(){return C})),i.d(t,"getEmojiToneIndex",(function(){return T}));
/*!
* Webogram v0.7.0 - messaging web application for MTProto
* https://github.com/zhukov/webogram
* Copyright (C) 2014 Igor Zhukov <igor.beatle@gmail.com>
* https://github.com/zhukov/webogram/blob/master/LICENSE
*/
var s=Date.now();function a(){return"["+((Date.now()-s)/1e3).toFixed(3)+"]"}function o(e,t){return!!e&&(e==(t=t||document.body)||o(e.parentNode,t))}function n(e){if(!e||e.target&&("IMG"==e.target.tagName||"A"==e.target.tagName))return!1;if(!e.dataTransfer||!e.dataTransfer.types)return!0;for(var t=0;t<e.dataTransfer.types.length;t++)if("Files"==e.dataTransfer.types[t])return!0;return!1}function r(e){return(e=e||window.event)&&((e=e.originalEvent||e).stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),e.returnValue=!1,e.cancelBubble=!0),!1}function l(e){if(!e)return"";var t=[],i=[];c(e,t,i),i.length&&t.push(i.join(""));var s=t.join("\n");return s=s.replace(/\u00A0/g," ")}function d(e){if(e.focus(),void 0!==window.getSelection&&void 0!==document.createRange){var t=document.createRange();t.selectNodeContents(e),t.collapse(!1);var i=window.getSelection();i.removeAllRanges(),i.addRange(t)}else if(void 0!==document.body.createTextRange){var s=document.body.createTextRange();s.moveToElementText(e),s.collapse(!1),s.select()}}function c(e,t,i,s,a){if(3!=e.nodeType){if(1==e.nodeType){var o=s===e,n="DIV"==e.tagName||"P"==e.tagName;n&&i.length||"BR"==e.tagName?(t.push(i.join("")),i.splice(0,i.length)):"IMG"==e.tagName&&e.alt&&i.push(e.alt),o&&!a&&i.push("");for(var r=e.firstChild;r;)c(r,t,i,s,a),r=r.nextSibling;o&&a&&i.push(""),n&&i.length&&(t.push(i.join("")),i.splice(0,i.length))}}else if(s===e){var l=e.nodeValue;i.push(l.substr(0,a)+""+l.substr(a))}else i.push(e.nodeValue)}const u={$broadcast:(e,t)=>{"user_update"!=e&&console.log(a(),"Broadcasting "+e+" event, with args:",t);let i=new CustomEvent(e,{detail:t});document.dispatchEvent(i)},$on:(e,t)=>{document.addEventListener(e,t)},selectedPeerID:0,myID:0,idle:{isIDLE:!1}};var h=function(e,t,i,s,a,o,n){return[e,",",t," ",i," ",s,",",a," ",o,",",n].join("")};function p(e,t,i,s,a,o,n,r){var l=[];return l.push("M"+(e+i/2)+","+t),l.push("H"+(e+i-o)),o>0&&l.push("A"+h(o,o,0,0,1,e+i,t+o)),l.push("V"+(t+s-n)),n>0&&l.push("A"+h(n,n,0,0,1,e+i-n,t+s)),l.push("H"+(e+r)),r>0&&l.push("A"+h(r,r,0,0,1,e+0,t+s-r)),l.push("V"+(t+a)),a>0&&l.push("A"+h(a,a,0,0,1,e+a,t+0)),l.push("Z"),l.join(" ")}const m={messageActionChatCreate:"created the group",messageActionChatEditTitle:"changed group name",messageActionChatEditPhoto:"changed group photo",messageActionChatDeletePhoto:"removed group photo",messageActionChatReturn:"returned to group",messageActionChatJoined:"joined the group",messageActionChatAddUser:"invited {user}",messageActionChatAddUsers:"invited {} users",messageActionChatLeave:"left the group",messageActionChatDeleteUser:"removed user",messageActionChatJoinedByLink:"joined the group",messageActionPinMessage:"pinned message",messageActionContactSignUp:"joined Telegram",messageActionChannelCreate:"Channel created",messageActionChannelEditTitle:"Channel renamed",messageActionChannelEditPhoto:"Channel photo updated",messageActionChannelDeletePhoto:"Channel photo removed",messageActionHistoryClear:"History cleared","messageActionPhoneCall.in_ok":"Incoming Call","messageActionPhoneCall.out_ok":"Outgoing Call","messageActionPhoneCall.in_missed":"Missed Call","messageActionPhoneCall.out_missed":"Cancelled Call"},g=e=>(e=e.replace("_raw",""),m[e]?m[e]:e);function f(e){return"object"==typeof e&&null!==e}function b(e){var t=+new Date;return e?Math.floor(t/1e3):t}function v(e,t){for(var i in e)t.hasOwnProperty(i)||"$"==i.charAt(0)||delete e[i];for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])}function y(e){var t=e.toString().split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),t.join(".")}function w(e,t){if(e.classList.contains(t))return e;for(;e.parentElement;)if((e=e.parentElement).classList.contains(t))return e;return null}function x(e,t){if(e.tagName==t)return e;for(;e.parentElement;)if((e=e.parentElement).tagName===t)return e;return null}function _(e){let t=0;for(;null!=(e=e.previousElementSibling);)++t;return t}function k(e){if(null===e||"object"!=typeof e)return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e)){var t=[];return e.forEach((function(e){t.push(k(e))})),t}let i=new e.constructor;for(var s in e)e.hasOwnProperty(s)&&(i[s]=k(e[s]));return i}function M(e,t=2){if(0===e)return"0 Bytes";const i=t<0?0:t,s=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,s)).toFixed(i))+" "+["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][s]}function D(e,t=2){if(0===e)return"0";const i=t<0?0:t,s=Math.floor(Math.log(e)/Math.log(1e3));return parseFloat((e/Math.pow(1e3,s)).toFixed(i))+["","K","M","B","T"][s]}function S(e,t){const i=Object.keys,s=typeof e;return e&&t&&"object"===s&&s===typeof t?i(e).length===i(t).length&&i(e).every(i=>S(e[i],t[i])):e===t}function E(e,t){t=t||[];for(var i=k(e=e||[]),s=e.length?e[e.length-1]:4294967295,a=0;a<t.length;a++)t[a]<s&&i.push(t[a]);return i}function I(e){return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function P(e){return e.replace(/&/g,"&amp;").replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,(function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"})).replace(/([^\#-~| |!])/g,(function(e){return"&#"+e.charCodeAt(0)+";"})).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function X(e){let t=e.split(" ");if(4!=t.length){t[0]||(t[0]="0px");for(let e=t.length;e<4;++e)t[e]=t[e%2]||t[0]||"0px"}return t}function L(e,t,i,s,a){if(e<i&&t<s)return{w:e,h:t};var o=i,n=s;return e/t>i/s?n=parseInt(t*i/e):(o=parseInt(e*s/t))>i&&(n=parseInt(n*i/o),o=i),a&&o>=e&&n>=t&&(o=e,n=t),{w:o,h:n}}function C(e){let t=C.raw(e).split(" ").map(e=>parseInt(e).toString(16)).filter(e=>"fe0f"!=e);return t.length&&2==t[0].length&&(t[0]="00"+t[0]),t.join("-")}function T(e){let t=e.match(/[\uDFFB-\uDFFF]/);return t?5-(57343-t[0].charCodeAt(0)):0}C.raw=function(e){if(1===e.length)return e.charCodeAt(0).toString();if(e.length>1){const i=[];for(var t=0;t<e.length;t++)e.charCodeAt(t)>=55296&&e.charCodeAt(t)<=56319?e.charCodeAt(t+1)>=56320&&e.charCodeAt(t+1)<=57343&&i.push(1024*(e.charCodeAt(t)-55296)+(e.charCodeAt(t+1)-56320)+65536):(e.charCodeAt(t)<55296||e.charCodeAt(t)>57343)&&i.push(e.charCodeAt(t));return i.join(" ")}return""}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const o=i(0),n=s(i(12)),r=s(i(72));class l extends r.default{constructor(){super(),this.webWorker=!1,this.taskID=0,this.awaiting={},this.pending=[],this.debug=!1,this.updatesProcessor=null,console.log(o.dT(),"ApiManagerProxy constructor"),window.Worker&&Promise.resolve().then(()=>a(i(73))).then(e=>{var t=new e.default;t.onmessage=e=>{this.webWorker||(this.webWorker=t,console.info(o.dT(),"ApiManagerProxy set webWorker"),this.releasePending()),o.isObject(e.data)&&(e.data.useLs?n.default[e.data.task](...e.data.args).then(t=>{this.webWorker.postMessage({useLs:!0,taskID:e.data.taskID,args:t})}):e.data.update?this.updatesProcessor&&this.updatesProcessor(e.data.update.obj,e.data.update.bool):this.finalizeTask(e.data.taskID,e.data.result,e.data.error))},t.onerror=e=>{console.error("ApiManagerProxy error",e),this.webWorker=!1}})}finalizeTask(e,t,i){let s=this.awaiting[e];void 0!==s&&(this.debug&&console.log(o.dT(),"ApiManagerProxy done",s.taskName,t,i),void 0===t?s.reject(i):s.resolve(t),delete this.awaiting[e])}performTaskWorker(e,...t){return this.debug&&console.log(o.dT(),"ApiManagerProxy start",e,t),new Promise((i,s)=>{this.awaiting[this.taskID]={resolve:i,reject:s,taskName:e};let a={task:e,taskID:this.taskID,args:t};this.pending.push(a),this.releasePending(),this.taskID++})}releasePending(){this.webWorker&&(this.pending.forEach(e=>{this.webWorker.postMessage(e)}),this.pending.length=0)}setUpdatesProcessor(e){this.updatesProcessor=e}invokeApi(e,t={},i={}){return console.log("will invokeApi:",e,t,i),this.performTaskWorker("invokeApi",e,t,i)}setBaseDcID(e){return this.performTaskWorker("setBaseDcID",e)}setUserAuth(e){return o.$rootScope.$broadcast("user_auth",e),this.performTaskWorker("setUserAuth",e)}getNetworker(e){return this.performTaskWorker("getNetworker",e)}getUserID(){return this.performTaskWorker("getUserID")}logOut(){return this.performTaskWorker("logOut")}checkPassword(e){return this.performTaskWorker("checkPassword",e)}}const d=new l;window.apiManagerProxy=d,t.default=d},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(0),n=a(i(17));let r=0;t.ripple=function(e,t=(()=>Promise.resolve()),i=null){if(e.querySelector(".c-ripple"))return;let s=document.createElement("div");s.classList.add("c-ripple"),e.append(s),e.addEventListener("mousedown",a=>{if("0"==e.dataset.ripple)return!1;let o=Date.now(),n=document.createElement("span"),l=r++;console.log("ripple mousedown");t&&t(l),window.requestAnimationFrame(()=>{n.classList.add("c-ripple__circle");let e,t,i=s.getBoundingClientRect(),o=a.clientX-i.left,r=a.clientY-i.top;i.width>i.height?(e=i.width,t=o):(e=i.height,t=r),e-=t>e/2?e-t:t,e*=1.1;let l=o-e/2,d=r-e/2;n.style.width=n.style.height=e+"px",n.style.left=l+"px",n.style.top=d+"px",s.append(n)}),window.addEventListener("mouseup",()=>{(()=>{let e=Date.now()-o;if(e<700){let t=Math.max(700-e,350);setTimeout(()=>n.classList.add("hiding"),Math.max(t-350,0)),setTimeout(()=>{n.remove(),i&&i(l)},t)}else n.classList.add("hiding"),setTimeout(()=>{n.remove(),i&&i(l)},350)})()},{once:!0})})};const l=document.createElement("div");l.classList.add("toast"),t.toast=function(e){l.innerHTML=e,document.body.append(l),l.dataset.timeout&&clearTimeout(+l.dataset.timeout),l.dataset.timeout=""+setTimeout(()=>{l.remove(),delete l.dataset.timeout},3e3)};let d={},c=(e,t)=>{e instanceof HTMLImageElement||e instanceof HTMLSourceElement?e.src=t:e instanceof SVGImageElement?e.setAttributeNS(null,"href",t):e.style.backgroundImage="url("+t+")"};t.renderImageFromUrl=function(e,t){return d[t]?(c(e,t),Promise.resolve(!0)):e instanceof HTMLSourceElement?(e.src=t,Promise.resolve(!1)):new Promise((i,s)=>{let a=new Image;a.src=t,a.addEventListener("load",()=>{c(e,t),d[t]=!0,i(!1)}),a.addEventListener("error",s)})},t.putPreloader=function(e,t=!1){const i='\n <svg xmlns="http://www.w3.org/2000/svg" class="preloader-circular" viewBox="25 25 50 50">\n <circle class="preloader-path" cx="50" cy="50" r="20" fill="none" stroke-miterlimit="10"/>\n </svg>';if(t){let t=document.createElement("div");return t.classList.add("preloader"),t.innerHTML=i,e&&e.appendChild(t),t}e.innerHTML+=i},t.horizontalMenu=function(e,t,i,a,n=300){let r=0,l=null,d=-1,c=Array.from(t.children),u=e?Array.from(e.firstElementChild.children):[],h=new Set,p=i=>s(this,void 0,void 0,(function*(){if(i==d)return!1;let s=l,o=t.children[i];o.classList.add("active"),h.has(o)||h.add(o);let p=d<i;-1!=d&&(yield new Promise(e=>window.requestAnimationFrame(()=>{t.style.cssText=`will-change: width, transform; width: ${100*h.size}%; transform: translateX(-${100-100/h.size}%);`,t.classList.remove("animated"),p?t.classList.add("animated"):window.requestAnimationFrame(()=>{t.classList.add("animated"),t.style.transform=""}),e()}))),r&&clearTimeout(r),s&&(e&&u.forEach((e,t)=>{t!=d&&t!=i&&(e.dataset.ripple="0")}),r=setTimeout(()=>{c.forEach(e=>{e!=o&&(e.classList.remove("active"),h.delete(e))}),e&&u.forEach(e=>{delete e.dataset.ripple}),t.classList.remove("animated"),t.style.cssText="",r=0,a&&a()},n)),d=i,l=o}));if(e){let s=document.createElement("span");s.classList.add("menu-horizontal__stripe"),e.append(s),e.addEventListener("click",(function(a){let n=a.target;if("LI"!=n.tagName&&(n=o.findUpTag(n,"LI")),!n)return!1;let r=o.whichChild(n),l=t.children[r];if(h.size>=2&&!h.has(l))return!1;if(i&&i(r,l),n.classList.contains("active")||r==d)return!1;let c=e.querySelector("li.active");c&&c.classList.remove("active");let u=e.getBoundingClientRect(),m=n.firstElementChild.getBoundingClientRect();s.style.cssText=`width: ${m.width+4}px; transform: translateX(${m.left-u.left}px);`,console.log("tabs click:",u,m),n.classList.add("active"),p(r)}))}return p},t.formatPhoneNumber=function(e){let t=(e=e.replace(/\D/g,"")).slice(0,6),i=n.default.Countries.slice().sort((e,t)=>t.phoneCode.length-e.phoneCode.length).find(e=>e.phoneCode.split(" and ").find(e=>0==t.indexOf(e.replace(/\D/g,"")))),s=i?i.pattern||i.phoneCode:"";return i&&(s.split("").forEach((t,i)=>{" "==t&&" "!=e[i]&&e.length>i&&(e=e.slice(0,i)+" "+e.slice(i))}),i.pattern&&(e=e.slice(0,i.pattern.length))),{formatted:e,country:i}},t.parseMenuButtonsTo=function(e,t){Array.from(t).forEach(t=>{let i=t.className.match(/(?:^|\s)menu-(.+?)(?:$|\s)/)[1];e[i]=t})};let u=e=>{let t=m.getBoundingClientRect(),{clientX:i,clientY:s}=e,a=i>=t.right?i-t.right:t.left-i,o=s>=t.bottom?s-t.bottom:t.top-s;(a>=100||o>=100)&&p()},h=e=>{p()},p=()=>{m&&(m.classList.remove("active"),m.parentElement.classList.remove("menu-open"),m=null),g&&(g(),g=null),window.removeEventListener("mousemove",u),window.removeEventListener("click",h),window.removeEventListener("contextmenu",h)},m=null,g=null;t.openBtnMenu=function(e,t){p(),m=e,m.classList.add("active"),m.parentElement.classList.add("menu-open"),g=t,window.addEventListener("mousemove",u),window.addEventListener("click",h,{once:!0}),window.addEventListener("contextmenu",h,{once:!0})},t.positionMenu=function(e,t,i="left"){t.classList.remove("bottom-left","bottom-right"),t.classList.add("left"==i?"bottom-right":"bottom-left");let{clientX:s,clientY:a}=e;t.style.left=("right"==i?s-t.scrollWidth:s)+"px",a+t.scrollHeight>window.innerHeight?t.style.top=window.innerHeight-t.scrollHeight+"px":t.style.top=a+"px"}},function(e,t,i){"use strict";i.r(t),i.d(t,"RichTextProcessor",(function(){return k}));var s,a=i(0),o=i(17),n=i.n(o),r={emojiMap:e=>e,shortcuts:[],emojis:[]},l=n.a.Emoji,d=-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i),c=new RegExp("(^| )(@)([a-zA-Z\\d_]{5,32})|(((?:https?|ftp)://|mailto:)?(?:\\S{1,64}(?::\\S{0,64})?@)?(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])(?:\\.(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])){3}|[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc0-9][a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc·0-9-]{0,64}(?:\\.[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc0-9][a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc·0-9-]{0,64}){0,10}(?:\\.(xn--[0-9a-z]{2,16}|[a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc]{2,24})))(?::\\d{2,5})?(?:/(?:\\S{0,255}[^\\s.;,(\\[\\]{}<>\"'])?)?)|(\\n)|((?:\\ud83d\\udc68\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc68\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc68\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc68\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc68\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffc-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffd-\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb\\udffc\\udffe\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffd\\udfff]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc68\\ud83c[\\udffb-\\udffe]|\\ud83d\\udc69\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83d\\udc69\\ud83c[\\udffb-\\udffe]|\\ud83e\\uddd1\\ud83c\\udffb\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffc\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffd\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udffe\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\ud83c\\udfff\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1\\ud83c[\\udffb-\\udfff]|\\ud83e\\uddd1\\u200d\\ud83e\\udd1d\\u200d\\ud83e\\uddd1|\\ud83d\\udc6b\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6c\\ud83c[\\udffb-\\udfff]|\\ud83d\\udc6d\\ud83c[\\udffb-\\udfff]|\\ud83d[\\udc6b-\\udc6d])|(?:\\ud83d[\\udc68\\udc69]|\\ud83e\\uddd1)(?:\\ud83c[\\udffb-\\udfff])?\\u200d(?:\\u2695\\ufe0f|\\u2696\\ufe0f|\\u2708\\ufe0f|\\ud83c[\\udf3e\\udf73\\udf7c\\udf84\\udf93\\udfa4\\udfa8\\udfeb\\udfed]|\\ud83d[\\udcbb\\udcbc\\udd27\\udd2c\\ude80\\ude92]|\\ud83e[\\uddaf-\\uddb3\\uddbc\\uddbd])|(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75]|\\u26f9)((?:\\ud83c[\\udffb-\\udfff]|\\ufe0f)\\u200d[\\u2640\\u2642]\\ufe0f)|(?:\\ud83c[\\udfc3\\udfc4\\udfca]|\\ud83d[\\udc6e\\udc70\\udc71\\udc73\\udc77\\udc81\\udc82\\udc86\\udc87\\ude45-\\ude47\\ude4b\\ude4d\\ude4e\\udea3\\udeb4-\\udeb6]|\\ud83e[\\udd26\\udd35\\udd37-\\udd39\\udd3d\\udd3e\\uddb8\\uddb9\\uddcd-\\uddcf\\uddd6-\\udddd])(?:\\ud83c[\\udffb-\\udfff])?\\u200d[\\u2640\\u2642]\\ufe0f|(?:\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d\\udc68|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc8b\\u200d\\ud83d[\\udc68\\udc69]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\u2764\\ufe0f\\u200d\\ud83d\\udc68|\\ud83d\\udc68\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc68\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc68\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\u2764\\ufe0f\\u200d\\ud83d[\\udc68\\udc69]|\\ud83d\\udc69\\u200d\\ud83d\\udc66\\u200d\\ud83d\\udc66|\\ud83d\\udc69\\u200d\\ud83d\\udc67\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83c\\udff3\\ufe0f\\u200d\\u26a7\\ufe0f|\\ud83c\\udff3\\ufe0f\\u200d\\ud83c\\udf08|\\ud83c\\udff4\\u200d\\u2620\\ufe0f|\\ud83d\\udc15\\u200d\\ud83e\\uddba|\\ud83d\\udc3b\\u200d\\u2744\\ufe0f|\\ud83d\\udc41\\u200d\\ud83d\\udde8|\\ud83d\\udc68\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc69\\u200d\\ud83d[\\udc66\\udc67]|\\ud83d\\udc6f\\u200d\\u2640\\ufe0f|\\ud83d\\udc6f\\u200d\\u2642\\ufe0f|\\ud83e\\udd3c\\u200d\\u2640\\ufe0f|\\ud83e\\udd3c\\u200d\\u2642\\ufe0f|\\ud83e\\uddde\\u200d\\u2640\\ufe0f|\\ud83e\\uddde\\u200d\\u2642\\ufe0f|\\ud83e\\udddf\\u200d\\u2640\\ufe0f|\\ud83e\\udddf\\u200d\\u2642\\ufe0f|\\ud83d\\udc08\\u200d\\u2b1b)|[#*0-9]\\ufe0f?\\u20e3|(?:[©®\\u2122\\u265f]\\ufe0f*)|(?:\\ud83c[\\udc04\\udd70\\udd71\\udd7e\\udd7f\\ude02\\ude1a\\ude2f\\ude37\\udf21\\udf24-\\udf2c\\udf36\\udf7d\\udf96\\udf97\\udf99-\\udf9b\\udf9e\\udf9f\\udfcd\\udfce\\udfd4-\\udfdf\\udff3\\udff5\\udff7]|\\ud83d[\\udc3f\\udc41\\udcfd\\udd49\\udd4a\\udd6f\\udd70\\udd73\\udd76-\\udd79\\udd87\\udd8a-\\udd8d\\udda5\\udda8\\uddb1\\uddb2\\uddbc\\uddc2-\\uddc4\\uddd1-\\uddd3\\udddc-\\uddde\\udde1\\udde3\\udde8\\uddef\\uddf3\\uddfa\\udecb\\udecd-\\udecf\\udee0-\\udee5\\udee9\\udef0\\udef3]|[\\u203c\\u2049\\u2139\\u2194-\\u2199\\u21a9\\u21aa\\u231a\\u231b\\u2328\\u23cf\\u23ed-\\u23ef\\u23f1\\u23f2\\u23f8-\\u23fa\\u24c2\\u25aa\\u25ab\\u25b6\\u25c0\\u25fb-\\u25fe\\u2600-\\u2604\\u260e\\u2611\\u2614\\u2615\\u2618\\u2620\\u2622\\u2623\\u2626\\u262a\\u262e\\u262f\\u2638-\\u263a\\u2640\\u2642\\u2648-\\u2653\\u2660\\u2663\\u2665\\u2666\\u2668\\u267b\\u267f\\u2692-\\u2697\\u2699\\u269b\\u269c\\u26a0\\u26a1\\u26a7\\u26aa\\u26ab\\u26b0\\u26b1\\u26bd\\u26be\\u26c4\\u26c5\\u26c8\\u26cf\\u26d1\\u26d3\\u26d4\\u26e9\\u26ea\\u26f0-\\u26f5\\u26f8\\u26fa\\u26fd\\u2702\\u2708\\u2709\\u270f\\u2712\\u2714\\u2716\\u271d\\u2721\\u2733\\u2734\\u2744\\u2747\\u2757\\u2763\\u2764\\u27a1\\u2934\\u2935\\u2b05-\\u2b07\\u2b1b\\u2b1c\\u2b50\\u2b55\\u3030\\u303d\\u3297\\u3299])(?:\\ufe0f|(?!\\ufe0e))|(?:(?:\\ud83c[\\udfcb\\udfcc]|\\ud83d[\\udd74\\udd75\\udd90]|[\\u261d\\u26f7\\u26f9\\u270c\\u270d])(?:\\ufe0f|(?!\\ufe0e))|(?:\\ud83c[\\udf85\\udfc2-\\udfc4\\udfc7\\udfca]|\\ud83d[\\udc42\\udc43\\udc46-\\udc50\\udc66-\\udc69\\udc6e\\udc70-\\udc78\\udc7c\\udc81-\\udc83\\udc85-\\udc87\\udcaa\\udd7a\\udd95\\udd96\\ude45-\\ude47\\ude4b-\\ude4f\\udea3\\udeb4-\\udeb6\\udec0\\udecc]|\\ud83e[\\udd0c\\udd0f\\udd18-\\udd1c\\udd1e\\udd1f\\udd26\\udd30-\\udd39\\udd3d\\udd3e\\udd77\\uddb5\\uddb6\\uddb8\\uddb9\\uddbb\\uddcd-\\uddcf\\uddd1-\\udddd]|[\\u270a\\u270b]))(?:\\ud83c[\\udffb-\\udfff])?|(?:\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc65\\udb40\\udc6e\\udb40\\udc67\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc73\\udb40\\udc63\\udb40\\udc74\\udb40\\udc7f|\\ud83c\\udff4\\udb40\\udc67\\udb40\\udc62\\udb40\\udc77\\udb40\\udc6c\\udb40\\udc73\\udb40\\udc7f|\\ud83c\\udde6\\ud83c[\\udde8-\\uddec\\uddee\\uddf1\\uddf2\\uddf4\\uddf6-\\uddfa\\uddfc\\uddfd\\uddff]|\\ud83c\\udde7\\ud83c[\\udde6\\udde7\\udde9-\\uddef\\uddf1-\\uddf4\\uddf6-\\uddf9\\uddfb\\uddfc\\uddfe\\uddff]|\\ud83c\\udde8\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\uddee\\uddf0-\\uddf5\\uddf7\\uddfa-\\uddff]|\\ud83c\\udde9\\ud83c[\\uddea\\uddec\\uddef\\uddf0\\uddf2\\uddf4\\uddff]|\\ud83c\\uddea\\ud83c[\\udde6\\udde8\\uddea\\uddec\\udded\\uddf7-\\uddfa]|\\ud83c\\uddeb\\ud83c[\\uddee-\\uddf0\\uddf2\\uddf4\\uddf7]|\\ud83c\\uddec\\ud83c[\\udde6\\udde7\\udde9-\\uddee\\uddf1-\\uddf3\\uddf5-\\uddfa\\uddfc\\uddfe]|\\ud83c\\udded\\ud83c[\\uddf0\\uddf2\\uddf3\\uddf7\\uddf9\\uddfa]|\\ud83c\\uddee\\ud83c[\\udde8-\\uddea\\uddf1-\\uddf4\\uddf6-\\uddf9]|\\ud83c\\uddef\\ud83c[\\uddea\\uddf2\\uddf4\\uddf5]|\\ud83c\\uddf0\\ud83c[\\uddea\\uddec-\\uddee\\uddf2\\uddf3\\uddf5\\uddf7\\uddfc\\uddfe\\uddff]|\\ud83c\\uddf1\\ud83c[\\udde6-\\udde8\\uddee\\uddf0\\uddf7-\\uddfb\\uddfe]|\\ud83c\\uddf2\\ud83c[\\udde6\\udde8-\\udded\\uddf0-\\uddff]|\\ud83c\\uddf3\\ud83c[\\udde6\\udde8\\uddea-\\uddec\\uddee\\uddf1\\uddf4\\uddf5\\uddf7\\uddfa\\uddff]|\\ud83c\\uddf4\\ud83c\\uddf2|\\ud83c\\uddf5\\ud83c[\\udde6\\uddea-\\udded\\uddf0-\\uddf3\\uddf7-\\uddf9\\uddfc\\uddfe]|\\ud83c\\uddf6\\ud83c\\udde6|\\ud83c\\uddf7\\ud83c[\\uddea\\uddf4\\uddf8\\uddfa\\uddfc]|\\ud83c\\uddf8\\ud83c[\\udde6-\\uddea\\uddec-\\uddf4\\uddf7-\\uddf9\\uddfb\\uddfd-\\uddff]|\\ud83c\\uddf9\\ud83c[\\udde6\\udde8\\udde9\\uddeb-\\udded\\uddef-\\uddf4\\uddf7\\uddf9\\uddfb\\uddfc\\uddff]|\\ud83c\\uddfa\\ud83c[\\udde6\\uddec\\uddf2\\uddf3\\uddf8\\uddfe\\uddff]|\\ud83c\\uddfb\\ud83c[\\udde6\\udde8\\uddea\\uddec\\uddee\\uddf3\\uddfa]|\\ud83c\\uddfc\\ud83c[\\uddeb\\uddf8]|\\ud83c\\uddfd\\ud83c\\uddf0|\\ud83c\\uddfe\\ud83c[\\uddea\\uddf9]|\\ud83c\\uddff\\ud83c[\\udde6\\uddf2\\uddfc]|\\ud83c[\\udccf\\udd8e\\udd91-\\udd9a\\udde6-\\uddff\\ude01\\ude32-\\ude36\\ude38-\\ude3a\\ude50\\ude51\\udf00-\\udf20\\udf2d-\\udf35\\udf37-\\udf7c\\udf7e-\\udf84\\udf86-\\udf93\\udfa0-\\udfc1\\udfc5\\udfc6\\udfc8\\udfc9\\udfcf-\\udfd3\\udfe0-\\udff0\\udff4\\udff8-\\udfff]|\\ud83d[\\udc00-\\udc3e\\udc40\\udc44\\udc45\\udc51-\\udc65\\udc6a\\udc6f\\udc79-\\udc7b\\udc7d-\\udc80\\udc84\\udc88-\\udca9\\udcab-\\udcfc\\udcff-\\udd3d\\udd4b-\\udd4e\\udd50-\\udd67\\udda4\\uddfb-\\ude44\\ude48-\\ude4a\\ude80-\\udea2\\udea4-\\udeb3\\udeb7-\\udebf\\udec1-\\udec5\\uded0-\\uded2\\uded5-\\uded7\\udeeb\\udeec\\udef4-\\udefc\\udfe0-\\udfeb]|\\ud83e[\\udd0d\\udd0e\\udd10-\\udd17\\udd1d\\udd20-\\udd25\\udd27-\\udd2f\\udd3a\\udd3c\\udd3f-\\udd45\\udd47-\\udd76\\udd78\\udd7a-\\uddb4\\uddb7\\uddba\\uddbc-\\uddcb\\uddd0\\uddde-\\uddff\\ude70-\\ude74\\ude78-\\ude7a\\ude80-\\ude86\\ude90-\\udea8\\udeb0-\\udeb6\\udec0-\\udec2\\uded0-\\uded6]|[\\u23e9-\\u23ec\\u23f0\\u23f3\\u267e\\u26ce\\u2705\\u2728\\u274c\\u274e\\u2753-\\u2755\\u2795-\\u2797\\u27b0\\u27bf\\ue50a]))|(^|[\\s\\(\\]])(#[0-9_a-z\\u00c0-\\u00d6\\u00d8-\\u00f6\\u00f8-\\u00ff\\u0100-\\u024f\\u0253\\u0254\\u0256\\u0257\\u0259\\u025b\\u0263\\u0268\\u026f\\u0272\\u0289\\u028b\\u02bb\\u0300-\\u036f\\u1e00-\\u1eff\\u0400-\\u04ff\\u0500-\\u0527\\u2de0-\\u2dff\\ua640-\\ua69f\\u0591-\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u05d0-\\u05ea\\u05f0-\\u05f4\\ufb1d-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4f\\u0610-\\u061a\\u0620-\\u065f\\u066e-\\u06d3\\u06d5-\\u06dc\\u06de-\\u06e8\\u06ea-\\u06ef\\u06fa-\\u06fc\\u06ff\\u0750-\\u077f\\u08a0\\u08a2-\\u08ac\\u08e4-\\u08fe\\ufb50-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\u200c\\u0e01-\\u0e3a\\u0e40-\\u0e4e\\u1100-\\u11ff\\u3130-\\u3185\\uA960-\\uA97F\\uAC00-\\uD7AF\\uD7B0-\\uD7FF\\u3003\\u3005\\u303b\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uff9f\\uffa1-\\uffdc]{2,64})|(^|\\s)\\/([a-zA-Z\\d_]{1,32})(?:@([a-zA-Z\\d_]{5,32}))?(\\b|$)","i"),u=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,h=/[`_*@]/,p=/(^|\s|\n)(````?)([\s\S]+?)(````?)([\s\n\.,:?!;]|$)|(^|\s)(`|\*\*|__)([^\n]+?)\7([\s\.,:?!;]|$)|@(\d+)\s*\((.+?)\)/m,m={Telegram:"tg://search_hashtag?hashtag={1}",Twitter:"https://twitter.com/hashtag/{1}",Instagram:"https://instagram.com/explore/tags/{1}/","Google Plus":"https://plus.google.com/explore/{1}"},g={Telegram:"#/im?p=%40{1}",Twitter:"https://twitter.com/{1}",Instagram:"https://instagram.com/{1}/",GitHub:"https://github.com/{1}"},f={"`":"messageEntityCode","**":"messageEntityBold",__:"messageEntityItalic"};function b(e){return void 0===l[e.replace(/\ufe0f/g,"")]?null:Object(a.emojiUnicode)(e)}function v(e,t={}){for(var i,s,a=e,o=[],r=0;i=a.match(c);){if(s=r+i.index,i[3])o.push({_:"messageEntityMention",offset:s+i[1].length,length:i[2].length+i[3].length});else if(i[4])if(u.test(i[4]))o.push({_:"messageEntityEmail",offset:s,length:i[4].length});else{var l=!1,d=i[5],h=i[6];if(h){if(d||"xn--"!==h.substr(0,4)&&-1===n.a.TLD.indexOf(h.toLowerCase())||(d="http://"),d){var p=x(i[4]);p.length!==i[4].length&&(i[4].substring(p.length),i[4]=p),l=(i[5]?"":d)+i[4]}}else l=(i[5]?"":"http://")+i[4];l&&o.push({_:"messageEntityUrl",offset:s,length:i[4].length})}else if(i[7])o.push({_:"messageEntityLinebreak",offset:s,length:1});else if(i[8]){let e=b(i[8]);e&&o.push({_:"messageEntityEmoji",offset:s,length:i[8].length,unicode:e})}else i[10]?o.push({_:"messageEntityHashtag",offset:s+(i[9]?i[9].length:0),length:i[10].length}):i[12]&&o.push({_:"messageEntityBotCommand",offset:s+(i[11]?i[11].length:0),length:1+i[12].length+(i[13]?1+i[13].length:0)});a=a.substr(i.index+i[0].length),r+=i.index+i[0].length}return o}function y(e,t,i){return void 0===t?Object(a.encodeEntities)(e):(i.hasNested=!0,w(e,{entities:t,nested:!0}))}function w(e,t={}){if(!e||!e.length)return"";var i=t.entities,s=t.contextSite||"Telegram",o="Telegram"!=s;void 0===i&&(i=v(e,t));for(var n,r,l,c,u=i.length,h=[],p=0,f=0;f<u;f++){if((n=i[f]).offset>p)h.push(Object(a.encodeEntities)(e.substr(p,n.offset-p)));else if(n.offset<p)continue;switch(l=!1,r=e.substr(n.offset,n.length),n._){case"messageEntityMention":if(!(x=!t.noLinks&&g[s])){l=!0;break}var b=r.substr(1),w="";t.highlightUsername&&t.highlightUsername.toLowerCase()==b.toLowerCase()&&(w='class="im_message_mymention"'),h.push("<a ",w,o?' target="_blank" rel="noopener noreferrer" ':"",' href="',x.replace("{1}",encodeURIComponent(b)),'">',Object(a.encodeEntities)(r),"</a>");break;case"messageEntityMentionName":if(t.noLinks){l=!0;break}h.push('<a href="#/im?p=u',encodeURIComponent(n.user_id),'">',Object(a.encodeEntities)(r),"</a>");break;case"messageEntityHashtag":var x;if(!(x=!t.noLinks&&m[s])){l=!0;break}var k=r.substr(1);h.push("<a ",o?' target="_blank" rel="noopener noreferrer" ':"",'href="',x.replace("{1}",encodeURIComponent(k)),'">',Object(a.encodeEntities)(r),"</a>");break;case"messageEntityEmail":if(t.noLinks){l=!0;break}h.push('<a href="',Object(a.encodeEntities)("mailto:"+r),'" target="_blank" rel="noopener noreferrer">',Object(a.encodeEntities)(r),"</a>");break;case"messageEntityUrl":case"messageEntityTextUrl":var M;"messageEntityTextUrl"==n._?(c=_(c=n.url,!0),M=y(r,n.nested,t)):(c=_(r,!1),M=Object(a.encodeEntities)(r.replace(/(%[A-Z\d]{2})+/g,(function(e){try{return decodeURIComponent(e)}catch(t){return e}})))),t.noLinks?h.push(M):h.push('<a href="',Object(a.encodeEntities)(c),'" target="_blank" rel="noopener noreferrer">',M,"</a>");break;case"messageEntityLinebreak":h.push(t.noLinebreaks?" ":"<br/>");break;case"messageEntityEmoji":h.push(d?`<span class="emoji" contenteditable="false">${Object(a.encodeEntities)(r)}</span>`:`<img src="assets/img/emoji/${n.unicode}.png" alt="${Object(a.encodeEntities)(r)}" class="emoji">`),!0;break;case"messageEntityBotCommand":if(t.noLinks||t.noCommands||o){l=!0;break}var D,S,E=r.substr(1);-1!=(S=E.indexOf("@"))?(D=E.substr(S+1),E=E.substr(0,S)):D=t.fromBot,h.push('<a href="',Object(a.encodeEntities)("tg://bot_command?command="+encodeURIComponent(E)+(D?"&bot="+encodeURIComponent(D):"")),'">',Object(a.encodeEntities)(r),"</a>");break;case"messageEntityBold":if(t.noTextFormat){h.push(y(r,n.nested,t));break}h.push("<strong>",y(r,n.nested,t),"</strong>");break;case"messageEntityItalic":if(t.noTextFormat){h.push(y(r,n.nested,t));break}h.push("<em>",y(r,n.nested,t),"</em>");break;case"messageEntityHighlight":h.push("<i>",y(r,n.nested,t),"</i>");break;case"messageEntityCode":if(t.noTextFormat){h.push(Object(a.encodeEntities)(r));break}h.push("<code>",Object(a.encodeEntities)(r),"</code>");break;case"messageEntityPre":if(t.noTextFormat){h.push(Object(a.encodeEntities)(r));break}h.push("<pre><code",n.language?' class="language-'+Object(a.encodeEntities)(n.language)+'"':"",">",Object(a.encodeEntities)(r),"</code></pre>");break;default:l=!0}p=n.offset+(l?0:n.length)}return h.push(Object(a.encodeEntities)(e.substr(p))),e=h.join("")}function x(e){for(var t=e.length,i=e.split("(").length-1,s=e.split(")").length-1;s>i&&")"===e.charAt(t-1);)e=e.substr(0,t-1),s--,t--;return i>s&&(e=e.replace(/\)+$/,"")),e}function _(e,t){var i,s;if(e.match(/^https?:\/\//i)||(e="http://"+e),2==t)e="tg://unsafe_url?url="+encodeURIComponent(e);else if(i=e.match(/^https?:\/\/t(?:elegram)?\.me\/(.+)/)){var a=i[1].split("/");switch(a[0]){case"joinchat":e="tg://join?invite="+a[1];break;case"addstickers":e="tg://addstickers?set="+a[1];break;default:if(a[1]&&a[1].match(/^\d+$/))e="tg://resolve?domain="+a[0]+"&post="+a[1];else if(1==a.length){var o=a[0].split("?"),n=o[0],r=o[1];if("iv"==n){var l=(r||"").match(/url=([^&=]+)/);if(l){e=l[1];try{e=decodeURIComponent(e)}catch(e){}return _(e,t)}}e="tg://resolve?domain="+n+(r?"&"+r:"")}}}else(s=e.match(/^https?:\/\/telesco\.pe\/([^/?]+)\/(\d+)/))?e="tg://resolve?domain="+s[1]+"&post="+s[2]:t&&(e="tg://unsafe_url?url="+encodeURIComponent(e));return e}let k={wrapRichText:w,wrapPlainText:function(e,t={}){if(d)return e;if(!e||!e.length)return"";var i,a,o=e=e.replace(/\ufe0f/g,"",e);for(e=[];i=o.match(c);)e.push(o.substr(0,i.index)),i[8]&&(s=r.emojiMap[i[8]])&&(a=l[s][1][0])?e.push(":"+a+":"):e.push(i[0]),o=o.substr(i.index+i[0].length);return e.push(o),e.join("")},wrapDraftText:function(e,t){if(!e||!e.length)return"";var i=(t=t||{}).entities;void 0===i&&(i=v(e,t));var s,a,o,n=0,r=i.length,l=[],d=0;for(n=0;n<r;n++){if((s=i[n]).offset>d)l.push(e.substr(d,s.offset-d));else if(s.offset<d)continue;switch(o=!1,a=e.substr(s.offset,s.length),s._){case"messageEntityEmoji":l.push(":",s.title,":");break;case"messageEntityCode":l.push("`",a,"`");break;case"messageEntityBold":l.push("**",a,"**");break;case"messageEntityItalic":l.push("__",a,"__");break;case"messageEntityPre":l.push("```",a,"```");break;case"messageEntityMentionName":l.push("@",s.user_id," (",a,")");break;default:o=!0}d=s.offset+(o?0:s.length)}return l.push(e.substr(d)),l.join("")},wrapUrl:_,wrapEmojiText:function(e){return e?w(e,{entities:v(e).filter(e=>"messageEntityEmoji"==e._)}):""},parseEntities:v,parseMarkdown:function(e,t,i){if(!h.test(e))return i?e:e.trim();for(var s,a,o=e,n=[],r=0;s=o.match(p);){a=r+s.index,n.push(o.substr(0,s.index)),r-=(e=s[3]||s[8]||s[11]).length,r+=(e=e.replace(/^\s+|\s+$/g,"")).length,e.match(/^`*$/)?n.push(s[0]):s[3]?("\n"==s[5]&&(s[5]="",r-=1),n.push(s[1]+e+s[5]),t.push({_:"messageEntityPre",language:"",offset:a+s[1].length,length:e.length}),r-=s[2].length+s[4].length):s[7]?(n.push(s[6]+e+s[9]),t.push({_:f[s[7]],offset:a+s[6].length,length:e.length}),r-=2*s[7].length):s[11]&&(n.push(e),t.push({_:"messageEntityMentionName",user_id:s[10],offset:a,length:e.length}),r-=s[0].length-e.length),o=o.substr(s.index+s[0].length),r+=s.index+s[0].length}return n.push(o),(n=n.join("")).replace(/\s+/g,"").length||(n=e,t.splice(0,t.length)),t.length||i||(n=n.trim()),n},parseEmojis:function(e){return e.replace(/:([a-z0-9\-\+\*_]+?):/gi,(function(e,t){var i=r.shortcuts[t];return void 0!==i?r.emojis[i][0]:e}))},mergeEntities:function(e,t,i){var s,o,n,r,l,d,c,u,h,p=t.slice(),m=e.length,g=t.length,f=0;for(s=0;s<m;s++)if(n=e[s],!i||"messageEntityLinebreak"==n._||"messageEntityEmoji"==n._){for(d=(l=n.offset)+n.length,h=!1,o=f;o<g;o++){if(u=(c=(r=t[o]).offset)+r.length,c<=l&&(f=o),l>=c&&l<u||d>c&&d<=u){i&&l>=c&&d<=u&&(void 0===r.nested&&(r.nested=[]),n.offset-=c,r.nested.push(Object(a.copy)(n))),h=!0;break}if(c>=d)break}h||p.push(n)}return p.sort((function(e,t){return e.offset-t.offset})),p},getEmojiSpritesheetCoords:b,emojiSupported:d};window.RichTextProcessor=k},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(0),o=i(3),n=s(i(6)),r=s(i(1)),l=s(i(28)),d=i(2),c=s(i(27));class u{constructor(){this.users={},this.usernames={},this.userAccess={},this.cachedPhotoLocations={},this.contactsIndex=c.default.createIndex(),r.default.getUserID().then(e=>{this.myID=e}),a.$rootScope.$on("user_auth",e=>{let t=e.detail;this.myID=t?t.id:0}),setInterval(this.updateUsersStatuses.bind(this),6e4),a.$rootScope.$on("stateSynchronized",this.updateUsersStatuses.bind(this)),a.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateUserStatus":var i=t.user_id;(s=this.users[i])&&(s.status=t.status,s.status&&(s.status.expires&&(s.status.expires-=l.default.serverTimeOffset),s.status.was_online&&(s.status.was_online-=l.default.serverTimeOffset)),s.sortStatus=this.getUserStatusForSort(s.status),a.$rootScope.$broadcast("user_update",i));break;case"updateUserPhoto":var s;i=t.user_id;(s=this.users[i])?(this.forceUserOnline(i),s.photo?a.safeReplaceObject(s.photo,t.photo):s.photo=t.photo,void 0!==this.cachedPhotoLocations[i]&&a.safeReplaceObject(this.cachedPhotoLocations[i],t.photo?t.photo:{empty:!0}),a.$rootScope.$broadcast("user_update",i),a.$rootScope.$broadcast("avatar_update",i)):console.warn("No user by id:",i);break;case"updateContactLink":this.onContactUpdated(t.user_id,"contactLinkContact"==t.my_link._)}})}fillContacts(){return this.contactsFillPromise?this.contactsFillPromise:this.contactsFillPromise=r.default.invokeApi("contacts.getContacts",{hash:0}).then(e=>{let t;return this.contactsList=[],this.saveApiUsers(e.users),e.contacts.forEach(e=>{t=e.user_id,this.contactsList.push(t),c.default.indexObject(t,this.getUserSearchText(t),this.contactsIndex)}),this.contactsList})}getUserSearchText(e){const t=this.users[e];if(!t)return"";const i=t.pFlags.self?"user_name_saved_msgs_raw":"";return(t.first_name||"")+" "+(t.last_name||"")+" "+(t.phone||"")+" "+(t.username||"")+" "+i}getContacts(e){return this.fillContacts().then(t=>{if(e){const i=c.default.search(e,this.contactsIndex),s=t.filter(e=>!!i[e]);t=s}return t.sort((e,t)=>{const i=(this.users[e]||{}).sortName||"",s=(this.users[t]||{}).sortName||"";return i.localeCompare(s)}),t})}resolveUsername(e){return this.usernames[e]||0}saveApiUsers(e){e.forEach(e=>this.saveApiUser(e))}saveApiUser(e,t){if(a.isObject(e)&&!(t&&a.isObject(this.users[e.id])&&this.users[e.id].first_name)){var i=e.id,s=this.users[i];if(void 0===e.pFlags&&(e.pFlags={}),!e.pFlags.min||void 0===s){if(e.phone&&(e.rPhone="+"+d.formatPhoneNumber(e.phone).formatted),e.first_name?(e.rFirstName=o.RichTextProcessor.wrapRichText(e.first_name,{noLinks:!0,noLinebreaks:!0}),e.rFullName=e.last_name?o.RichTextProcessor.wrapRichText(e.first_name+" "+(e.last_name||""),{noLinks:!0,noLinebreaks:!0}):e.rFirstName):(e.rFirstName=o.RichTextProcessor.wrapRichText(e.last_name,{noLinks:!0,noLinebreaks:!0})||e.rPhone||"user_first_name_deleted",e.rFullName=o.RichTextProcessor.wrapRichText(e.last_name,{noLinks:!0,noLinebreaks:!0})||e.rPhone||"user_name_deleted"),e.username){var n=c.default.cleanUsername(e.username);this.usernames[n]=i}e.sortName=e.pFlags.deleted?"":c.default.cleanSearchText(e.first_name+" "+(e.last_name||""),!1);var r=e.sortName.split(" "),u=r.shift(),h=r.pop();e.initials=u.charAt(0)+(h?h.charAt(0):""),e.status&&(e.status.expires&&(e.status.expires-=l.default.serverTimeOffset),e.status.was_online&&(e.status.was_online-=l.default.serverTimeOffset)),e.pFlags.bot?e.sortStatus=-1:e.sortStatus=this.getUserStatusForSort(e.status),void 0===(s=this.users[i])?s=this.users[i]=e:a.safeReplaceObject(s,e),a.$rootScope.$broadcast("user_update",i),void 0!==this.cachedPhotoLocations[i]&&a.safeReplaceObject(this.cachedPhotoLocations[i],e&&e.photo?e.photo:{empty:!0})}}}saveUserAccess(e,t){this.userAccess[e]=t}getUserStatusForSort(e){if(e){var t=e.expires||e.was_online;if(t)return t;var i=a.tsNow(!0);switch(e._){case"userStatusRecently":return i-259200;case"userStatusLastWeek":return i-604800;case"userStatusLastMonth":return i-2592e3}}return 0}getUser(e){return a.isObject(e)?e:this.users[e]||{id:e,pFlags:{deleted:!0},access_hash:this.userAccess[e]}}getSelf(){return this.getUser(this.myID)}getUserStatusString(e){if(this.isBot(e))return"bot";let t=this.getUser(e);if(!t||!t.status)return"";let i="";switch(t.status._){case"userStatusRecently":i="last seen recently";break;case"userStatusLastWeek":i="last seen last week";break;case"userStatusLastMonth":i="last seen last month";break;case"userStatusOffline":{i="last seen ";let e=t.status.was_online,s=Date.now()/1e3;if(s-e<60)i+=" just now";else if(s-e<3600){let t=(s-e)/60|0;i+=t+" "+(1==t?"minute":"minutes")+" ago"}else if(s-e<86400){let t=(s-e)/3600|0;i+=t+" "+(1==t?"hour":"hours")+" ago"}else{let t=new Date(1e3*e);i+=("0"+t.getDate()).slice(-2)+"."+("0"+(t.getMonth()+1)).slice(-2)+" at "+("0"+t.getHours()).slice(-2)+":"+("0"+t.getMinutes()).slice(-2)}break}case"userStatusOnline":i="online"}return i}isBot(e){return this.users[e]&&this.users[e].pFlags.bot}hasUser(e,t){var i=this.users[e];return a.isObject(i)&&(t||!i.pFlags.min)}getUserPhoto(e){var t=this.getUser(e);return void 0===this.cachedPhotoLocations[e]&&(this.cachedPhotoLocations[e]=t&&t.photo?t.photo:{empty:!0}),this.cachedPhotoLocations[e]}getUserString(e){var t=this.getUser(e);return"u"+e+(t.access_hash?"_"+t.access_hash:"")}getUserInput(e){var t=this.getUser(e);return t.pFlags&&t.pFlags.self?{_:"inputUserSelf"}:{_:"inputUser",user_id:e,access_hash:t.access_hash||0}}updateUsersStatuses(){var e=a.tsNow(!0);for(let t in this.users){let i=this.users[t];i.status&&"userStatusOnline"==i.status._&&i.status.expires<e&&(i.status=i.status.wasStatus||{_:"userStatusOffline",was_online:i.status.expires},delete i.status.wasStatus,a.$rootScope.$broadcast("user_update",i.id))}}forceUserOnline(e){if(!this.isBot(e)){var t,i=this.getUser(e);if(i&&i.status&&"userStatusOnline"!=i.status._&&"userStatusEmpty"!=i.status._)"userStatusOffline"!=i.status._&&(delete i.status.wasStatus,t=a.copy(i.status)),i.status={_:"userStatusOnline",expires:a.tsNow(!0)+60,wasStatus:t},i.sortStatus=this.getUserStatusForSort(i.status),a.$rootScope.$broadcast("user_update",e)}}deleteContacts(e){var t=[];return e.forEach(e=>{t.push(this.getUserInput(e))}),r.default.invokeApi("contacts.deleteContacts",{id:t}).then(()=>{e.forEach(e=>{this.onContactUpdated(e,!1)})})}getTopPeers(){return r.default.invokeApi("contacts.getTopPeers",{flags:1,correspondents:!0,offset:0,limit:30,hash:0}).then(e=>(this.saveApiUsers(e.users),n.default.saveApiChats(e.chats),e.categories))}searchContacts(e,t=20){return r.default.invokeApi("contacts.search",{q:e,limit:t}).then(e=>(this.saveApiUsers(e.users),n.default.saveApiChats(e.chats),e))}onContactUpdated(e,t){if(e=parseInt(""+e),Array.isArray(this.contactsList)){var i=this.contactsList.indexOf(e);t!=(-1!=i)&&(t?(this.contactsList.push(e),c.default.indexObject(e,this.getUserSearchText(e),this.contactsIndex)):this.contactsList.splice(i,1),a.$rootScope.$broadcast("contacts_update",e))}}setUserStatus(e,t){if(!this.isBot(e)){var i=this.users[e];if(i){var s=t?{_:"userStatusOffline",was_online:a.tsNow(!0)}:{_:"userStatusOnline",expires:a.tsNow(!0)+500};i.status=s,i.sortStatus=this.getUserStatusForSort(i.status),a.$rootScope.$broadcast("user_update",e)}}}}t.AppUsersManager=u,t.default=new u},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(0),n=a(i(23)),r=a(i(6)),l=a(i(4)),d=i(3),c=i(10),u=i(75),h=a(i(19)),p=a(i(8)),m=a(i(12)),g=a(i(7)),f=a(i(28)),b=a(i(20)),v=a(i(11)),y=a(i(15)),w=a(i(24)),x=a(i(28)),_=a(i(1)),k=a(i(43)),M=i(13),D=a(i(44)),S=a(i(27));class E{constructor(){this.messagesStorage={},this.groupedMessagesStorage={},this.historiesStorage={},this.dialogsStorage={},this.pendingByRandomID={},this.pendingByMessageID={},this.pendingAfterMsgs={},this.pendingTopMsgs={},this.sendFilePromise=Promise.resolve(),this.tempID=-1,this.tempFinalizeCallbacks={},this.lastSearchFilter={},this.lastSearchResults=[],this.needSingleMessages=[],this.fetchSingleMessagesTimeout=0,this.fetchSingleMessagesPromise=null,this.maxSeenID=0,this.allDialogsLoaded={},this.dialogsOffsetDate={},this.pinnedIndex=0,this.dialogsNum=0,this.migratedFromTo={},this.migratedToFrom={},this.newMessagesHandlePromise=0,this.newMessagesToHandle={},this.newDialogsHandlePromise=0,this.newDialogsToHandle={},this.newUpdatesAfterReloadToHandle={},this.loaded=null,this.dialogsIndex=S.default.createIndex(),this.cachedResults={query:"",count:0,dialogs:[]},o.$rootScope.$on("apiUpdate",e=>{let t=e.detail;this.handleUpdate(t)}),o.$rootScope.$on("webpage_updated",e=>{let t=e.detail;t.msgs.forEach(e=>{let i=this.getMessage(e);i.webpage=k.default.getWebPage(t.id),o.$rootScope.$broadcast("message_edit",{peerID:this.getMessagePeer(i),id:i.id,mid:e,justMedia:!0})})}),o.$rootScope.$on("draft_updated",e=>{let t=e.detail;var i=t.peerID,s=t.draft,a=this.getDialogByPeerID(i)[0];if(a){if(s&&s.date)l=s.date;else{var n=g.default.isChannel(i)?-i:0,l=this.getMessage(a.top_message).date;if(n){var d=r.default.getChat(n);(!l||d.date&&d.date>l)&&(l=d.date)}}a.pFlags.pinned||(a.index=this.generateDialogIndex(l)),this.pushDialogToStorage(a),o.$rootScope.$broadcast("dialog_draft",{peerID:i,draft:s,index:a.index})}}),this.loaded=new Promise((e,t)=>{m.default.get("state").then(({dialogs:t,allDialogsLoaded:i,peers:s,messages:a,maxSeenMsgID:o,updates:d})=>{if(console.log("state res",t,a),o&&!n.default.getMessageIDInfo(o)[1]&&(this.maxSeenID=o),s)for(let e in s){let t=s[e];+e<0?r.default.saveApiChat(t):l.default.saveApiUser(t)}a&&this.saveMessages(a),i&&(this.allDialogsLoaded=i),t&&t.forEachReverse(e=>{this.saveConversation(e)}),h.default.attach(null!=d?d:null),e()}).catch(e)}),setInterval(()=>this.saveState(),1e4)}saveState(){var e,t;let i=[],s=[],a={};for(let n in this.dialogsStorage)for(let r of this.dialogsStorage[n]){let n=this.historiesStorage[r.peerID],l=[].concat(null!==(e=null==n?void 0:n.pending)&&void 0!==e?e:[],null!==(t=null==n?void 0:n.history)&&void 0!==t?t:[]);r=o.copy(r);let d=0;for(let e of l){let t=this.getMessage(e);if(t.id>0){i.push(t),t.fromID!=r.peerID&&(a[t.fromID]=g.default.getPeer(t.fromID)),r.top_message=t.mid;break}t.pFlags&&t.pFlags.unread&&++d}d&&r.unread_count&&(r.unread_count-=d),s.push(r),a[r.peerID]=g.default.getPeer(r.peerID)}let n=h.default.updatesState,r={seq:n.seq,pts:n.pts,date:n.date};m.default.set({state:{dialogs:s,messages:i,allDialogsLoaded:this.allDialogsLoaded,peers:a,updates:r,maxSeenMsgID:this.maxSeenID}})}getInputEntities(e){var t=o.copy(e);return t.forEach(e=>{"messageEntityMentionName"==e._&&(e._="inputMessageEntityMentionName",e.user_id=l.default.getUserInput(e.user_id))}),t}editMessage(e,t,i={}){if("string"!=typeof t||!this.canEditMessage(e))return Promise.reject();if(e<0){return void 0===this.tempFinalizeCallbacks[e]&&(this.tempFinalizeCallbacks[e]={}),new Promise((i,s)=>{this.tempFinalizeCallbacks[e].edit=e=>{console.log("invoke callback",e),this.editMessage(e,t).then(i,s)}})}var s=[];t=d.RichTextProcessor.parseMarkdown(t,s);var a=this.getMessage(e),o=this.getMessagePeer(a),r=0;let l=i.noWebPage||!1;return l&&(r|=2),t&&(r|=2056),_.default.invokeApi("messages.editMessage",{flags:r,peer:g.default.getInputPeerByID(o),id:n.default.getMessageLocalID(e),message:t,media:a.media,entities:this.getInputEntities(s),no_webpage:l}).then(e=>{h.default.processUpdateMessage(e)},e=>{if(!e||"MESSAGE_NOT_MODIFIED"!=e.type)return e&&"MESSAGE_EMPTY"==e.type&&(e.handled=!0),Promise.reject(e);e.handled=!0})}sendText(e,t,i={}){if("string"!=typeof t)return;e=g.default.getPeerMigratedTo(e)||e;var s=i.entities||[];if(i.viaBotID||(t=d.RichTextProcessor.parseMarkdown(t,s)),!t.length)return;var a,r=this.getInputEntities(s),u=this.tempID--,p=[c.nextRandomInt(4294967295),c.nextRandomInt(4294967295)],m=c.bigint(p[0]).shiftLeft(32).add(c.bigint(p[1])).toString(),f=this.historiesStorage[e],b=0,v={},y=i.replyToMsgID,w=g.default.isChannel(e),k=w&&g.default.isMegagroup(e),M=!(!w||k);let D=i.noWebPage||!1;void 0===f&&(f=this.historiesStorage[e]={count:null,history:[],pending:[]});var S=l.default.getSelf().id;e!=S&&(b|=2,v.out=!0,w||l.default.isBot(e)||(b|=1,v.unread=!0)),y&&(b|=8),M?(S=0,v.post=!0):b|=256,a={_:"message",id:u,from_id:S,to_id:g.default.getOutputPeer(e),flags:b,pFlags:v,date:o.tsNow(!0)+x.default.serverTimeOffset,message:t,random_id:m,reply_to_msg_id:y,via_bot_id:i.viaBotID,reply_markup:i.reply_markup,entities:s,views:M&&1,pending:!0},i.webPage&&(a.media={_:"messageMediaWebPage",webpage:i.webPage});var E=e=>{e?a.error=!0:delete a.error,o.$rootScope.$broadcast("messages_pending")};a.send=()=>{E(!1);var s={};this.pendingAfterMsgs[e]&&(s.afterMessageID=this.pendingAfterMsgs[e].messageID);var o,l=0;y&&(l|=1),M&&(l|=16),i.clearDraft&&(l|=128),D&&(l|=2),i.viaBotID?o=_.default.invokeApi("messages.sendInlineBotResult",{flags:l,peer:g.default.getInputPeerByID(e),random_id:p,reply_to_msg_id:n.default.getMessageLocalID(y),query_id:i.queryID,id:i.resultID},s):(r.length&&(l|=8),o=_.default.invokeApi("messages.sendMessage",{flags:l,no_webpage:D,peer:g.default.getInputPeerByID(e),message:t,random_id:p,reply_to_msg_id:n.default.getMessageLocalID(y),entities:r},s)),o.then(e=>{"updateShortSentMessage"==e._?(a.flags=e.flags,a.date=e.date,a.id=e.id,a.media=e.media,a.entities=e.entities,e={_:"updates",users:[],chats:[],seq:0,updates:[{_:"updateMessageID",random_id:m,id:e.id},{_:w?"updateNewChannelMessage":"updateNewMessage",message:a,pts:e.pts,pts_count:e.pts_count}]}):e.updates&&e.updates.forEach(e=>{"updateDraftMessage"==e._&&(e.local=!0)}),h.default.processUpdateMessage(e)},()=>{E(!0)}).finally(()=>{this.pendingAfterMsgs[e]===s&&delete this.pendingAfterMsgs[e]}),this.pendingAfterMsgs[e]=s},this.saveMessages([a]),f.pending.unshift(u),o.$rootScope.$broadcast("history_append",{peerID:e,messageID:u,my:!0}),setTimeout(()=>a.send(),0),this.pendingByRandomID[m]=[e,u]}sendFile(e,t,i={}){var s;e=g.default.getPeerMigratedTo(e)||e;var a,r,u=this.tempID--,m=[c.nextRandomInt(4294967295),c.nextRandomInt(4294967295)],x=c.bigint(m[0]).shiftLeft(32).add(c.bigint(m[1])).toString(),k=null!==(s=this.historiesStorage[e])&&void 0!==s?s:this.historiesStorage[e]={count:null,history:[],pending:[]},D=0,S={},E=i.replyToMsgID,I=g.default.isChannel(e),P=I&&g.default.isMegagroup(e),X=!(!I||P);let L="mime_type"in t?t.mime_type:t.type,C=t instanceof File?t.name:"",T=!(t instanceof File||t instanceof Blob),A=i.caption||"",j=o.tsNow(!0)+f.default.serverTimeOffset;if(A){let e=i.entities||[];A=d.RichTextProcessor.parseMarkdown(A,e)}let F=[],B="";if(i.isMedia)if(T)a="document",r="";else if(["image/jpeg","image/png","image/bmp"].indexOf(L)>=0){a="photo",r="photo."+L.split("/")[1],B="sendMessageUploadPhotoAction";let e={_:"photo",id:""+u,sizes:[{_:"photoSize",w:i.width,h:i.height,type:"m",size:t.size}],w:i.width,h:i.height,downloaded:t.size,url:i.objectURL||""};p.default.savePhoto(e)}else if(0===L.indexOf("audio/")||["video/ogg"].indexOf(L)>=0)a="audio",r="audio."+("ogg"==L.split("/")[1]?"ogg":"mp3"),B="sendMessageUploadAudioAction";else if(0===L.indexOf("video/")){a="video",r="video.mp4",B="sendMessageUploadVideoAction";let e=1;i.isRoundMessage&&(e|=2);let s={_:"documentAttributeVideo",flags:e,pFlags:{supports_streaming:!0,round_message:i.isRoundMessage},round_message:i.isRoundMessage,supports_streaming:!0,duration:i.duration,w:i.width,h:i.height};F.push(s);let o={_:"document",id:""+u,duration:i.duration,attributes:F,w:i.width,h:i.height,downloaded:t.size,thumbs:[],mime_type:L,url:i.objectURL||"",size:t.size};v.default.saveDoc(o)}else a="document",r="document."+L.split("/")[1],B="sendMessageUploadDocumentAction";else a="document",r="document."+L.split("/")[1],B="sendMessageUploadDocumentAction";console.log("AMM: sendFile",a,r,t.type,i);var R=l.default.getSelf().id;e!=R&&(D|=2,S.out=!0,I||l.default.isBot(e)||(D|=1,S.unread=!0)),E&&(D|=8),X?(R=0,S.post=!0):D|=256;let U=new w.default(null,!0);var O={_:"messageMediaPending",type:a,file_name:C||r,size:t.size,file:t,preloader:U,w:i.width,h:i.height,url:i.objectURL,progress:{percent:1,total:t.size,done:0,cancel:()=>{}}};F.push({_:"documentAttributeFilename",file_name:O.file_name}),U.preloader.onclick=()=>{console.log("cancelling upload",O),y.default.setTyping("sendMessageCancelAction"),O.progress.cancel()};var z={_:"message",id:u,from_id:R,to_id:g.default.getOutputPeer(e),flags:D,pFlags:S,date:j,message:A,media:T?{_:"messageMediaDocument",pFlags:{},flags:1,document:t}:O,random_id:x,reply_to_msg_id:E,views:X&&1,pending:!0},N=e=>{e?z.error=!0:delete z.error,o.$rootScope.$broadcast("messages_pending")},H=!1,q=null;let $=(t,s)=>(y.default.setTyping("sendMessageCancelAction"),_.default.invokeApi("messages.sendMedia",{flags:t,background:i.background,clear_draft:!0,peer:g.default.getInputPeerByID(e),media:s,message:A,random_id:m,reply_to_msg_id:n.default.getMessageLocalID(E)}).then(e=>{h.default.processUpdateMessage(e)},e=>{if("photo"==a&&400==e.code&&("PHOTO_INVALID_DIMENSIONS"==e.type||"PHOTO_SAVE_FILE_INVALID"==e.type))return e.handled=!0,a="document",void z.send();N(!0)}));z.send=()=>{let s=0;if(E&&(s|=1),i.background&&(s|=64),s|=128,T){let{id:e,access_hash:i,file_reference:a}=t;$(s,{_:"inputMediaDocument",flags:0,id:{_:"inputDocument",id:e,access_hash:i,file_reference:a}})}else if(t instanceof File||t instanceof Blob){let i=M.deferredPromise();this.sendFilePromise.then(()=>{H&&!z.error||(H=!1,q=b.default.uploadFile(t)),q&&q.then(e=>{var t;switch(console.log("appMessagesManager: sendFile uploaded:",e),e.name=r,H=!0,a){case"photo":t={_:"inputMediaUploadedPhoto",flags:0,file:e};break;default:t={_:"inputMediaUploadedDocument",file:e,mime_type:L,attributes:F}}$(s,t)},()=>{N(!0)}),q.notify=t=>{console.log("upload progress",t),O.progress.done=t.done,O.progress.percent=Math.max(1,Math.floor(100*t.done/t.total)),y.default.setTyping({_:B,progress:0|O.progress.percent}),U.setProgress(O.progress.percent),o.$rootScope.$broadcast("history_update",{peerID:e})},O.progress.cancel=()=>{H||(i.resolve(),q.cancel(),this.cancelPendingMessage(x))},q.finally(()=>{i.resolve(),U.detach()})}),this.sendFilePromise=i}},this.saveMessages([z]),k.pending.unshift(u),o.$rootScope.$broadcast("history_append",{peerID:e,messageID:u,my:!0}),setTimeout(z.send.bind(this),0),this.pendingByRandomID[x]=[e,u]}sendAlbum(e,t,i={}){var a;return s(this,void 0,void 0,(function*(){let s;e=g.default.getPeerMigratedTo(e)||e;let r=null!==(a=this.historiesStorage[e])&&void 0!==a?a:this.historiesStorage[e]={count:null,history:[],pending:[]},u=0,m={},x=i.replyToMsgID,k=g.default.isChannel(e),D=k&&g.default.isMegagroup(e),S=!(!k||D),E=i.caption||"",I=o.tsNow(!0)+f.default.serverTimeOffset;if(E){let e=i.entities||[];E=d.RichTextProcessor.parseMarkdown(E,e)}console.log("AMM: sendAlbum",t,i);let P=l.default.getSelf().id;e!=P&&(m.out=!0,k||l.default.isBot(e)||(m.unread=!0)),x&&(u|=1),S?(P=0,m.post=!0):u|=128;let X=t.map(()=>this.tempID--).reverse();s=X[X.length-1];let L=t.map((t,a)=>{let o=X[a],n=[c.nextRandomInt(4294967295),c.nextRandomInt(4294967295)],l=c.bigint(n[0]).shiftLeft(32).add(c.bigint(n[1])).toString(),d=new w.default(null,!0),h=i.sendFileDetails[a],f={_:"messageMediaPending",type:"album",preloader:d,progress:{percent:1,total:t.size,done:0,cancel:()=>{}},document:void 0,photo:void 0};if(0===t.type.indexOf("video/")){let e={_:"document",id:""+o,attributes:[{_:"documentAttributeVideo",flags:1,pFlags:{supports_streaming:!0,round_message:!1},round_message:!1,supports_streaming:!0,duration:h.duration,w:h.width,h:h.height}],downloaded:t.size,thumbs:[],mime_type:t.type,url:h.objectURL||"",size:t.size};v.default.saveDoc(e),f.document=e}else{let e={_:"photo",id:""+o,sizes:[{_:"photoSize",w:h.width,h:h.height,type:"m",size:t.size}],w:h.width,h:h.height,downloaded:t.size,url:h.objectURL||""};p.default.savePhoto(e),f.photo=e}d.preloader.onclick=()=>{console.log("cancelling upload",f),y.default.setTyping("sendMessageCancelAction"),f.progress.cancel()};let b={_:"message",id:o,from_id:P,grouped_id:s,to_id:g.default.getOutputPeer(e),flags:u,pFlags:m,date:I,message:E,media:f,random_id:l,randomID:n,reply_to_msg_id:x,views:S&&1,pending:!0,error:!1};return this.saveMessages([b]),r.pending.unshift(o),this.pendingByRandomID[l]=[e,o],b});o.$rootScope.$broadcast("history_append",{peerID:e,messageID:L[L.length-1].id,my:!0});let C=(e,t)=>{t?e.error=!0:delete e.error,o.$rootScope.$broadcast("messages_pending")},T=!1,A=null,j=g.default.getInputPeerByID(e),F=[];for(let s=0,a=t.length;s<a;++s){let a=t[s],n=L[s],r=n.media,l=r.preloader,d=0===a.type.indexOf("video/")?"sendMessageUploadVideoAction":"sendMessageUploadPhotoAction",c=M.deferredPromise();yield this.sendFilePromise,this.sendFilePromise=c,T&&!n.error||(T=!1,A=b.default.uploadFile(a)),A.notify=t=>{console.log("upload progress",t),r.progress.percent=Math.max(1,Math.floor(100*t.done/t.total)),y.default.setTyping({_:d,progress:0|r.progress.percent}),l.setProgress(r.progress.percent),o.$rootScope.$broadcast("history_update",{peerID:e})},yield A.then(e=>{let t;console.log("appMessagesManager: sendAlbum file uploaded:",e);let o=i.sendFileDetails[s];return t=o.duration?{_:"inputMediaUploadedDocument",flags:0,file:e,mime_type:a.type,attributes:[{_:"documentAttributeVideo",flags:2,supports_streaming:!0,duration:o.duration,w:o.width,h:o.height}]}:{_:"inputMediaUploadedPhoto",flags:0,file:e},_.default.invokeApi("messages.uploadMedia",{peer:j,media:t}).then(e=>{let t;if(e.photo){let i=e.photo;p.default.savePhoto(i),t=p.default.getInputByID(i.id)}else{let i=e.document;v.default.saveDoc(i),t=v.default.getMediaInputByID(i.id)}F.push({_:"inputSingleMedia",flags:0,media:t,random_id:n.randomID,message:E,entities:[]}),E=""},()=>{C(n,!0)})},()=>{C(n,!0)}),console.log("appMessagesManager: sendAlbum uploadPromise.finally!"),c.resolve(),l.detach()}var B;T=!0,B=F,y.default.setTyping("sendMessageCancelAction"),_.default.invokeApi("messages.sendMultiMedia",{flags:u,peer:j,multi_media:B,reply_to_msg_id:n.default.getMessageLocalID(x)}).then(e=>{h.default.processUpdateMessage(e)},e=>{L.forEach(e=>C(e,!0))})}))}cancelPendingMessage(e){var t=this.pendingByRandomID[e];if(console.log("cancelPendingMessage",e,t),t){var i=t[0],s=t[1],a=this.historiesStorage[i],o=a.pending.indexOf(s);return h.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteMessages",messages:[s]}}),-1!=o&&a.pending.splice(o,1),delete this.messagesStorage[s],!0}return!1}getConversations(e="",t,i=20,s=0){var a;let o=null!==(a=this.dialogsStorage[s])&&void 0!==a?a:this.dialogsStorage[s]=[];if(e){if(!i||this.cachedResults.query!==e){this.cachedResults.query=e;const t=S.default.search(e,this.dialogsIndex);this.cachedResults.dialogs=[];for(const e in this.dialogsStorage){this.dialogsStorage[e].forEach(e=>{t[e.peerID]&&this.cachedResults.dialogs.push(e)})}this.cachedResults.count=this.cachedResults.dialogs.length}o=this.cachedResults.dialogs}else this.cachedResults.query="";let n=0;if(t>0)for(;n<o.length&&!(t>o[n].index);n++);return e||this.allDialogsLoaded[s]||o.length>=n+i?Promise.resolve({dialogs:o.slice(n,n+i),count:o.length}):this.getTopMessages(i,s).then(e=>{if(n=0,t>0)for(;n<o.length&&!(t>o[n].index);n++);return{dialogs:o.slice(n,n+i),count:e}})}getTopMessages(e,t){const i=this.dialogsStorage[t];let s=0,a=0,d=0;return this.dialogsOffsetDate[t]&&(s=this.dialogsOffsetDate[t]+x.default.serverTimeOffset,a=65536*this.dialogsOffsetDate[t]),d|=2,_.default.invokeApi("messages.getDialogs",{flags:2,folder_id:t,offset_date:s,offset_id:n.default.getMessageLocalID(0),offset_peer:g.default.getInputPeerByID(0),limit:e,hash:0},{timeout:0}).then(e=>{s||u.telegramMeWebService.setAuthorized(!0),l.default.saveApiUsers(e.users),r.default.saveApiChats(e.chats),this.saveMessages(e.messages);var n=!!s,d=!1;let c=e.dialogs.length,h={};for(let t=c-1;t>=0;--t){let i=e.dialogs[t];this.saveConversation(i),a&&i.index>a&&(this.newDialogsToHandle[i.peerID]=i,d=!0),i.read_inbox_max_id||i.read_outbox_max_id||(h[i.peerID]=i),n||g.default.isChannel(g.default.getPeerID(i.peer))||(this.incrementMaxSeenID(i.top_message),n=!0)}return Object.keys(h).length&&this.reloadConversation(Object.keys(h).map(e=>+e)).then(()=>{o.$rootScope.$broadcast("dialogs_multiupdate",h);for(let e in h)o.$rootScope.$broadcast("dialog_unread",{peerID:+e})}),(!e.dialogs.length||!e.count||i.length>=e.count)&&(this.allDialogsLoaded[t]=!0),d?this.scheduleHandleNewDialogs():o.$rootScope.$broadcast("dialogs_multiupdate",{}),e.count})}forwardMessages(e,t,i={}){e=g.default.getPeerMigratedTo(e)||e,t=t.sort((e,t)=>e-t);var s=0;i.withMyScore&&(s|=256);let a=n.default.splitMessageIDsByChannels(t),o=[];for(let t in a.msgIDs){let i=a.msgIDs[t],n=i.length,r=[];for(let e=0;e<n;e++)r.push([c.nextRandomInt(4294967295),c.nextRandomInt(4294967295)]);let l={};this.pendingAfterMsgs[e]&&(l.afterMessageID=this.pendingAfterMsgs[e].messageID);let d=_.default.invokeApi("messages.forwardMessages",{flags:s,from_peer:g.default.getInputPeerByID(-t),id:i,random_id:r,to_peer:g.default.getInputPeerByID(e)},l).then(e=>{h.default.processUpdateMessage(e)},()=>{}).then(()=>{this.pendingAfterMsgs[e]===l&&delete this.pendingAfterMsgs[e]});this.pendingAfterMsgs[e]=l,o.push(d)}return Promise.all(o)}generateDialogIndex(e){return void 0===e&&(e=o.tsNow(!0)+x.default.serverTimeOffset),65536*e+(65535&++this.dialogsNum)}generateIndexForDialog(e){const t=g.default.isChannel(e.peerID)?-e.peerID:0,i=n.default.getFullMessageID(e.top_message,t);let s=this.getMessage(i).date;if(t){const e=r.default.getChat(t);(!s||e.date&&e.date>s)&&(s=e.date)}const a={};a&&a.date>s&&(s=a.date),e.pFlags.pinned&&0==e.folder_id&&(s=this.generateDialogPinnedDate(e)),e.index=this.generateDialogIndex(s)}pushDialogToStorage(e,t){var i;let s=null!==(i=this.dialogsStorage[e.folder_id])&&void 0!==i?i:this.dialogsStorage[e.folder_id]=[],a=s.findIndex(t=>t.peerID==e.peerID);if(-1!==a&&s.splice(a,1),t&&!e.pFlags.pinned&&(!this.dialogsOffsetDate[e.folder_id]||t<this.dialogsOffsetDate[e.folder_id])){if(-1!==a)return!1;this.dialogsOffsetDate[e.folder_id]=t}let o=e.index,n=s.length;if(!n||o<s[n-1].index)s.push(e);else if(o>=s[0].index)s.unshift(e);else for(let t=0;t<n;t++)if(o>s[t].index){s.splice(t,0,e);break}}getMessage(e){return this.messagesStorage[e]||{_:"messageEmpty",deleted:!0,pFlags:{out:!1,unread:!1}}}getMessagePeer(e){var t=e.to_id&&g.default.getPeerID(e.to_id)||0;return t<0||e.pFlags&&e.pFlags.out||2&e.flags?t:e.from_id}getDialogByPeerID(e){let t=this.dialogsStorage;for(let i in t){let s=t[i].findIndex(t=>t.peerID==e);if(-1!==s)return[t[i][s],s]}return[]}reloadConversation(e){let t=[].concat(e).map(e=>g.default.getInputPeerByID(e));return console.log("will reloadConversation",e),_.default.invokeApi("messages.getPeerDialogs",{peers:t}).then(this.applyConversations.bind(this))}doFlushHistory(e,t){let i=0;return t&&(i|=1),_.default.invokeApi("messages.deleteHistory",{flags:i,peer:e,max_id:0}).then(i=>(h.default.processUpdateMessage({_:"updateShort",update:{_:"updatePts",pts:i.pts,pts_count:i.pts_count}}),!i.offset||this.doFlushHistory(e,t)))}flushHistory(e,t){return s(this,void 0,void 0,(function*(){if(g.default.isChannel(e)){let t=this.getHistory(e,0,1),i=t instanceof Promise?yield t:t,s=-e,a=n.default.getMessageLocalID(i.history[0]||0);return _.default.invokeApi("channels.deleteHistory",{channel:r.default.getChannelInput(s),max_id:a}).then(()=>(h.default.processUpdateMessage({_:"updateShort",update:{_:"updateChannelAvailableMessages",channel_id:s,available_min_id:a}}),!0))}return this.doFlushHistory(g.default.getInputPeerByID(e),t).then(()=>{delete this.historiesStorage[e];for(let t in this.messagesStorage){this.messagesStorage[t].peerID==e&&delete this.messagesStorage[t]}if(t)o.$rootScope.$broadcast("dialog_flush",{peerID:e});else{let t=this.getDialogByPeerID(e);t[0]&&this.dialogsStorage[t[0].folder_id].splice(t[1],1),o.$rootScope.$broadcast("dialog_drop",{peerID:e})}})}))}saveMessages(e,t={}){e.forEach(e=>{var i;if(void 0===e.pFlags&&(e.pFlags={}),e.pFlags.out||(e.pFlags.out=!1),e.pFlags.unread||(e.pFlags.unread=!1),"messageEmpty"==e._)return;const s=this.getMessagePeer(e),a="peerChannel"==e.to_id._,o=a?-s:0,c=a&&r.default.isBroadcast(o),u=n.default.getFullMessageID(e.id,o);if(e.mid=u,e.grouped_id){(null!==(i=this.groupedMessagesStorage[e.grouped_id])&&void 0!==i?i:this.groupedMessagesStorage[e.grouped_id]={})[u]=e}const h=this.getDialogByPeerID(s)[0];h&&u>0?e.pFlags.unread=u>h[e.pFlags.out?"read_outbox_max_id":"read_inbox_max_id"]:t.isNew&&(e.pFlags.unread=!0),e.reply_to_msg_id&&(e.reply_to_mid=n.default.getFullMessageID(e.reply_to_msg_id,o)),e.date-=x.default.serverTimeOffset,e.peerID=s,e.fromID=e.pFlags.post?s:e.from_id;const m=e.fwd_from;if(m){if(s==l.default.getSelf().id){if(m.saved_from_peer&&m.saved_from_msg_id){const t=g.default.getPeerID(m.saved_from_peer),i=n.default.getFullMessageID(m.saved_from_msg_id,g.default.isChannel(t)?-t:0);e.savedFrom=t+"_"+i}e.fromID=m.channel_id?-m.channel_id:m.from_id}else e.fwdPostID=m.channel_post;e.fwdFromID=m.channel_id?-m.channel_id:m.from_id,m.date-=x.default.serverTimeOffset}e.via_bot_id>0&&(e.viaBotID=e.via_bot_id);const f={user_id:e.fromID,date:e.date};if(e.media)switch(e.media._){case"messageMediaEmpty":delete e.media;break;case"messageMediaPhoto":e.media.ttl_seconds?e.media={_:"messageMediaUnsupportedWeb"}:e.media.photo=p.default.savePhoto(e.media.photo,f);break;case"messageMediaPoll":e.media.poll=D.default.savePoll(e.media.poll,e.media.results);break;case"messageMediaDocument":e.media.ttl_seconds?e.media={_:"messageMediaUnsupportedWeb"}:e.media.document=v.default.saveDoc(e.media.document,f);break;case"messageMediaWebPage":k.default.saveWebPage(e.media.webpage,e.mid,f);break;case"messageMediaInvoice":e.media={_:"messageMediaUnsupportedWeb"};break;case"messageMediaGeoLive":e.media._="messageMediaGeo"}if(e.action){let t,i;switch(e.action._){case"messageActionChatEditPhoto":e.action.photo=p.default.savePhoto(e.action.photo,f),c&&(e.action._="messageActionChannelEditPhoto");break;case"messageActionChatEditTitle":c&&(e.action._="messageActionChannelEditTitle");break;case"messageActionChatDeletePhoto":c&&(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&&(e.action._=a?"messageActionChatJoined":"messageActionChatReturn")):e.action.users.length>1&&(e.action._="messageActionChatAddUsers");break;case"messageActionChatDeleteUser":e.fromID==e.action.user_id&&(e.action._="messageActionChatLeave");break;case"messageActionChannelMigrateFrom":t=-e.action.chat_id,i=-o;break;case"messageActionChatMigrateTo":t=-o,i=-e.action.channel_id;break;case"messageActionHistoryClear":e.deleted=!0,e.clear_history=!0,e.pFlags.out=!1,e.pFlags.unread=!1;break;case"messageActionPhoneCall":delete e.fromID,e.action.type=(e.pFlags.out?"out_":"in_")+("phoneCallDiscardReasonMissed"==e.action.reason._||"phoneCallDiscardReasonBusy"==e.action.reason._?"missed":"ok")}t&&i&&!this.migratedFromTo[t]&&!this.migratedToFrom[i]&&this.migrateChecks(t,i)}if(e.rReply=this.getRichReplyText(e),e.message&&e.message.length){const t=d.RichTextProcessor.parseEntities(e.message),i=e.entities||[];e.totalEntities=d.RichTextProcessor.mergeEntities(t,i,!e.pending)}e.canBeEdited=this.canMessageBeEdited(e),t.isEdited||(this.messagesStorage[u]=e)})}getRichReplyText(e,t=e.message){let i="";if(e.media)if(e.grouped_id)i+="<i>Album"+(e.message?", ":"")+"</i>";else switch(e.media._){case"messageMediaPhoto":i+="<i>Photo"+(e.message?", ":"")+"</i>";break;case"messageMediaGeo":i+="<i>Geolocation</i>";break;case"messageMediaPoll":i+="<i>"+e.media.poll.rReply+"</i>";break;case"messageMediaContact":i+="<i>Contact</i>";break;case"messageMediaDocument":let t=e.media.document;i="video"==t.type?"<i>Video"+(e.message?", ":"")+"</i>":"voice"==t.type?"<i>Voice message</i>":"gif"==t.type?"<i>GIF"+(e.message?", ":"")+"</i>":"round"==t.type?"<i>Video message"+(e.message?", ":"")+"</i>":"sticker"==t.type?(t.stickerEmoji||"")+"<i>Sticker</i>":"<i>"+t.file_name+"</i>"}if(e.action){let t=e.action,s="";if(t.message)s=d.RichTextProcessor.wrapRichText(t.message,{noLinebreaks:!0});else{let e="",i=t._;if("messageActionPhoneCall"==i){i+="."+t.type;let s=t.duration;if(s){let t=[];t.push(s%60+" s"),s>=60&&t.push((s/60|0)+" min"),e=" ("+t.reverse().join(" ")+")"}}s=o.langPack[i]+e}console.log("message action:",t),i="<i>"+s+"</i>"}let s="";if(t){let e=d.RichTextProcessor.parseEntities(t.replace(/\n/g," "),{noLinebreakers:!0});s=d.RichTextProcessor.wrapRichText(t,{noLinebreakers:!0,entities:e,noTextFormat:!0})}return i+s}editPeerFolders(e,t){_.default.invokeApi("folders.editPeerFolders",{folder_peers:e.map(e=>({_:"inputFolderPeer",peer:g.default.getInputPeerByID(e),folder_id:t}))}).then(e=>{console.log("editPeerFolders updates:",e),h.default.processUpdateMessage(e)})}toggleDialogPin(e){var t;let i=this.getDialogByPeerID(e)[0];if(!i)return Promise.reject();let s={_:"inputDialogPeer",peer:g.default.getInputPeerByID(e)},a=(null===(t=i.pFlags)||void 0===t?void 0:t.pinned)?0:1;return _.default.invokeApi("messages.toggleDialogPin",{flags:a,peer:s}).then(e=>{this.handleUpdate({_:"updateDialogPinned",peer:s,pFlags:{pinned:a}})})}markDialogUnread(e){var t;let i=this.getDialogByPeerID(e)[0];if(!i)return Promise.reject();let s={_:"inputDialogPeer",peer:g.default.getInputPeerByID(e)},a=(null===(t=i.pFlags)||void 0===t?void 0:t.unread_mark)?0:1;return _.default.invokeApi("messages.markDialogUnread",{flags:a,peer:s}).then(e=>{this.handleUpdate({_:"updateDialogUnreadMark",peer:s,pFlags:{unread:a}})})}migrateChecks(e,t){if(!this.migratedFromTo[e]&&!this.migratedToFrom[t]&&r.default.hasChat(-t)){var i=r.default.getChat(-e);i&&i.migrated_to&&i.migrated_to.channel_id==-t&&(this.migratedFromTo[e]=t,this.migratedToFrom[t]=e,setTimeout(()=>{var i=this.getDialogByPeerID(e);i.length&&(this.dialogsStorage[i[0].folder_id].splice(i[1],1),o.$rootScope.$broadcast("dialog_drop",{peerID:e,dialog:i[0]})),o.$rootScope.$broadcast("dialog_migrate",{migrateFrom:e,migrateTo:t})},100))}}canMessageBeEdited(e){return!("message"!=e._||e.deleted||e.fwd_from||e.via_bot_id||e.media&&-1==["messageMediaPhoto","messageMediaDocument","messageMediaWebPage","messageMediaPending"].indexOf(e.media._)||e.fromID&&l.default.isBot(e.fromID))&&(!e.media||"messageMediaDocument"!=e.media._||!e.media.document.sticker)}canEditMessage(e){if(!this.messagesStorage[e])return!1;const t=this.messagesStorage[e];return!(!t||!t.canBeEdited)&&(this.getMessagePeer(t)==l.default.getSelf().id||!(t.date<o.tsNow(!0)-172800||!t.pFlags.out))}applyConversations(e){l.default.saveApiUsers(e.users),r.default.saveApiChats(e.chats),this.saveMessages(e.messages);const t={};let i=!1;e.dialogs.forEach(e=>{const s=g.default.getPeerID(e.peer);let a=e.top_message;const n=this.pendingTopMsgs[s];if(n&&(!a||this.getMessage(n).date>this.getMessage(a).date)&&(e.top_message=a=n),a){const a=this.getDialogByPeerID(s)[0];a&&a.pFlags&&a.pFlags.pinned&&(e.pFlags||(e.pFlags={}),e.pFlags.pinned=!0,e.pinnedIndex=a.pinnedIndex),this.saveConversation(e),a?o.$rootScope.$broadcast("dialog_top",e):(t[s]=e,i=!0)}else{const e=this.getDialogByPeerID(s);e.length&&(this.dialogsStorage[e[0].folder_id].splice(e[1],1),o.$rootScope.$broadcast("dialog_drop",{peerID:s,dialog:e[0]}))}if(void 0!==this.newUpdatesAfterReloadToHandle[s]){for(const e in this.newUpdatesAfterReloadToHandle[s]){const t=this.newUpdatesAfterReloadToHandle[s][e];this.handleUpdate(t)}delete this.newUpdatesAfterReloadToHandle[s]}}),i&&o.$rootScope.$broadcast("dialogs_multiupdate",t)}saveConversation(e){const t=g.default.getPeerID(e.peer);if(!t)return!1;const i=g.default.isChannel(t)?-t:0,s=g.default.getPeerSearchText(t);let a,d;if(S.default.indexObject(t,s,this.dialogsIndex),e.top_message?(a=n.default.getFullMessageID(e.top_message,i),d=this.getMessage(a)):(a=this.tempID--,d={_:"message",id:a,mid:a,from_id:l.default.getSelf().id,to_id:g.default.getOutputPeer(t),deleted:!0,flags:0,pFlags:{unread:!1,out:!0},date:0,message:""},this.saveMessages([d])),!i&&t<0){const e=r.default.getChat(-t);if(e&&e.migrated_to&&e.pFlags.deactivated){const i=g.default.getPeerID(e.migrated_to);return this.migratedFromTo[t]=i,void(this.migratedToFrom[i]=t)}}if(e.top_message=a,e.read_inbox_max_id=n.default.getFullMessageID(e.read_inbox_max_id,i),e.read_outbox_max_id=n.default.getFullMessageID(e.read_outbox_max_id,i),e.hasOwnProperty("folder_id")||(e.folder_id=0),e.peerID=t,this.generateIndexForDialog(e),this.pushDialogToStorage(e,d.date),d.mid>0&&(d.mid>e[d.pFlags.out?"read_outbox_max_id":"read_inbox_max_id"]?d.pFlags.unread=!0:d.pFlags.unread=!1),void 0===this.historiesStorage[t]){const i={count:null,history:[],pending:[]};i[a>0?"history":"pending"].push(a),a<0&&d.pFlags.unread&&e.unread_count++,this.historiesStorage[t]=i,this.mergeReplyKeyboard(i,d)&&o.$rootScope.$broadcast("history_reply_markup",{peerID:t})}i&&e.pts&&h.default.addChannelState(i,e.pts)}mergeReplyKeyboard(e,t){if(!t.reply_markup&&!t.pFlags.out&&!t.action)return!1;if(t.reply_markup&&"replyInlineMarkup"==t.reply_markup._)return!1;var i=t.reply_markup,s=e.reply_markup;if(i)return!(s&&s.mid>=t.mid)&&(!(i.pFlags.selective&&!(16&t.flags))&&(e.maxOutID&&t.mid<e.maxOutID&&i.pFlags.single_use&&(i.pFlags.hidden=!0),"replyKeyboardHide"!=(i=Object.assign({mid:t.mid},i))._&&(i.fromID=t.from_id),e.reply_markup=i,!0));if(t.pFlags.out)if(s){if(s.pFlags.single_use&&!s.pFlags.hidden&&(t.mid>s.mid||t.mid<0)&&t.message)return s.pFlags.hidden=!0,!0}else(!e.maxOutID||t.mid>e.maxOutID)&&(e.maxOutID=t.mid);return!(!t.action||"messageActionChatDeleteUser"!=t.action._||!(s?t.action.user_id==s.fromID:l.default.isBot(t.action.user_id)))&&(e.reply_markup={_:"replyKeyboardHide",mid:t.mid,flags:0,pFlags:{}},!0)}getSearch(e=0,t="",i={_:"inputMessagesFilterEmpty"},s,a,d=0,c=0){var u,h=[],p=!t,m={peer:e,filter:i},b=p&&o.deepEqual(this.lastSearchFilter,m);if(p&&!b&&(this.lastSearchFilter=m,this.lastSearchResults=[]),e&&!s&&!t){var v=this.historiesStorage[e];if(void 0!==v&&v.history.length){var y,w,x={},k=a||20;switch(i._){case"inputMessagesFilterPhotos":x.messageMediaPhoto=!0;break;case"inputMessagesFilterPhotoVideo":x.messageMediaPhoto=!0,x.messageMediaDocument=!0,y="video";break;case"inputMessagesFilterVideo":x.messageMediaDocument=!0,y="video";break;case"inputMessagesFilterDocument":x.messageMediaDocument=!0,y=!1;break;case"inputMessagesFilterVoice":x.messageMediaDocument=!0,y="voice";break;case"inputMessagesFilterRoundVideo":x.messageMediaDocument=!0,y="round";break;case"inputMessagesFilterMusic":x.messageMediaDocument=!0,y="audio";break;case"inputMessagesFilterUrl":x.url=!0;break;case"inputMessagesFilterMyMentions":x.mentioned=!0;break;default:return Promise.resolve({count:0,next_rate:0,history:[]})}for(let e=0;e<v.history.length;e++)if((w=this.messagesStorage[v.history[e]]).media&&x[w.media._]){if(void 0!==y&&"messageMediaDocument"==w.media._&&w.media.document.type!=y)continue;if(h.push(w.mid),h.length>=k)break}}if(h.length<k&&this.lastSearchResults.length&&b){var M=!!h.length&&h[h.length-1];for(let e=0;e<this.lastSearchResults.length&&!((!1===M||this.lastSearchResults[e]<M)&&(h.push(this.lastSearchResults[e]),h.length>=k));e++);}}if(h.length||1e3==a)return p&&(this.lastSearchResults=o.listMergeSorted(this.lastSearchResults,h)),Promise.resolve({count:0,next_rate:0,history:h});if(e||!t)u=_.default.invokeApi("messages.search",{flags:0,peer:g.default.getInputPeerByID(e),q:t||"",filter:i||{_:"inputMessagesFilterEmpty"},min_date:0,max_date:0,limit:a,offset_id:n.default.getMessageLocalID(s)||0,add_offset:c?-c:0,max_id:0,min_id:0},{timeout:0,noErrorBox:!0});else{var D=0,S=0,E=s&&this.getMessage(s);E&&E.date&&(E.date+f.default.serverTimeOffset,S=E.id,D=this.getMessagePeer(E)),u=_.default.invokeApi("messages.searchGlobal",{q:t,offset_rate:d,offset_peer:g.default.getInputPeerByID(D),offset_id:n.default.getMessageLocalID(S),limit:a||20},{timeout:0,noErrorBox:!0})}return u.then(e=>{l.default.saveApiUsers(e.users),r.default.saveApiChats(e.chats),this.saveMessages(e.messages);var t=e.count||e.messages.length;return h=[],e.messages.forEach(e=>{var t=this.getMessagePeer(e);if(t<0){var i=r.default.getChat(-t);i.migrated_to&&this.migrateChecks(t,-i.migrated_to.channel_id)}h.push(e.mid)}),p&&(!s||b&&this.lastSearchResults.indexOf(s)>=0)&&(this.lastSearchResults=o.listMergeSorted(this.lastSearchResults,h)),{count:t,next_rate:e.next_rate,history:h}},e=>(400==e.code&&(e.handled=!0),Promise.reject(e)))}generateDialogPinnedDate(e){let t;return e?e.hasOwnProperty("pinnedIndex")?t=e.pinnedIndex:e.pinnedIndex=t=this.pinnedIndex++:t=this.pinnedIndex++,t>this.pinnedIndex&&(this.pinnedIndex=t),2147483392+(255&t)}handleNewMessages(){clearTimeout(this.newMessagesHandlePromise),this.newMessagesHandlePromise=0,o.$rootScope.$broadcast("history_multiappend",this.newMessagesToHandle),this.newMessagesToHandle={}}handleNewDialogs(){clearTimeout(this.newDialogsHandlePromise),this.newDialogsHandlePromise=0;let e=0;for(let t in this.newDialogsToHandle){let i=this.newDialogsToHandle[t];"reload"in i?(this.reloadConversation(+t),delete this.newDialogsToHandle[t]):(this.pushDialogToStorage(i),g.default.isChannel(+t)||(e=Math.max(e,i.top_message||0)))}0!=e&&this.incrementMaxSeenID(e),o.$rootScope.$broadcast("dialogs_multiupdate",this.newDialogsToHandle),this.newDialogsToHandle={}}scheduleHandleNewDialogs(){this.newDialogsHandlePromise||(this.newDialogsHandlePromise=window.setTimeout(this.handleNewDialogs.bind(this),0))}deleteMessages(e,t){const i=n.default.splitMessageIDsByChannels(e),s=[];for(const e in i.msgIDs){const a=+e;let o,n=i.msgIDs[a];if(a>0){const e=r.default.getChat(a);if(!(e.pFlags.creator||e.pFlags.editor&&e.pFlags.megagroup)){const t=[];if((e.pFlags.editor||e.pFlags.megagroup)&&n.forEach((e,s)=>{this.getMessage(i.mids[a][s]).pFlags.out&&t.push(e)}),!t.length)return;n=t}o=_.default.invokeApi("channels.deleteMessages",{channel:r.default.getChannelInput(a),id:n}).then(e=>{h.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteChannelMessages",channel_id:a,messages:n,pts:e.pts,pts_count:e.pts_count}})})}else{let e=0;t&&(e|=1),o=_.default.invokeApi("messages.deleteMessages",{flags:e,id:n}).then(e=>{h.default.processUpdateMessage({_:"updateShort",update:{_:"updateDeleteMessages",messages:n,pts:e.pts,pts_count:e.pts_count}})})}s.push(o)}return Promise.all(s)}readHistory(e,t=0,i=0){const s=g.default.isChannel(e),a=this.historiesStorage[e],n=this.getDialogByPeerID(e)[0];if(!n||!n.unread_count){if(!a||!a.history.length)return Promise.resolve(!1);if(!!!a.history.find(e=>{const t=this.messagesStorage[e];return t&&!t.pFlags.out&&t.pFlags.unread}))return Promise.resolve(!1)}if(a.readPromise)return a.readPromise;let l;return l=s?_.default.invokeApi("channels.readHistory",{channel:r.default.getChannelInput(-e),max_id:t}):_.default.invokeApi("messages.readHistory",{peer:g.default.getInputPeerByID(e),max_id:t}).then(e=>{h.default.processUpdateMessage({_:"updateShort",update:{_:"updatePts",pts:e.pts,pts_count:e.pts_count}})}),a.readPromise=l.then(()=>{let s=-1;0!=t&&a.history.length&&(s=a.history.indexOf(t));let r=1;if(a.history.length&&t)for(let e=-1==s?0:s,i=a.history.length;e<i;e++){const i=a.history[e];if(i>t)continue;const s=this.messagesStorage[i];s&&!s.pFlags.out&&(s.pFlags.unread=!1,r++)}return!!n&&(a.history.length&&(n.read_inbox_max_id=t),n.read_inbox_max_id==n.top_message||n.read_inbox_max_id==n.read_outbox_max_id?n.unread_count=0:n.unread_count=Math.max(n.unread_count-(i||r),0),console.log("readHistory set unread_count to:",n.unread_count,n),o.$rootScope.$broadcast("dialog_unread",{peerID:e,count:n.unread_count}),o.$rootScope.$broadcast("messages_read"),!0)}).finally(()=>{delete a.readPromise}),a.readPromise}readMessages(e){var t=n.default.splitMessageIDsByChannels(e);Object.keys(t.msgIDs).forEach(e=>{e=+e;let i=t.msgIDs[e];e>0?_.default.invokeApi("channels.readMessageContents",{channel:r.default.getChannelInput(e),id:i}).then(()=>{h.default.processUpdateMessage({_:"updateShort",update:{_:"updateChannelReadMessagesContents",channel_id:e,messages:i}})}):_.default.invokeApi("messages.readMessageContents",{id:i}).then(e=>{h.default.processUpdateMessage({_:"updateShort",update:{_:"updateReadMessagesContents",messages:i,pts:e.pts,pts_count:e.pts_count}})})})}handleUpdate(e){switch(console.log("AMM: handleUpdate:",e._),e._){case"updateMessageID":var t=e.random_id,i=this.pendingByRandomID[t];if(i){var s=i[0],a=i[1],d=g.default.isChannel(s)?-s:0,c=n.default.getFullMessageID(e.id,d);if(h=this.messagesStorage[c]){var u=(p=this.historiesStorage[s]).pending.indexOf(a);-1!=u&&p.pending.splice(u,1),delete this.messagesStorage[a],this.finalizePendingMessageCallbacks(a,c)}else this.pendingByMessageID[c]=t}break;case"updateNewMessage":case"updateNewChannelMessage":var h=e.message,p=(s=this.getMessagePeer(h),this.historiesStorage[s]);if(!(S=this.getDialogByPeerID(s)).length){this.newDialogsToHandle[s]={reload:!0},this.scheduleHandleNewDialogs(),void 0===this.newUpdatesAfterReloadToHandle[s]&&(this.newUpdatesAfterReloadToHandle[s]=[]),this.newUpdatesAfterReloadToHandle[s].push(e);break}if("updateNewChannelMessage"==e._){var m=r.default.getChat(-s);if(m.pFlags&&(m.pFlags.left||m.pFlags.kicked))break}if(this.saveMessages([h],{isNew:!0}),void 0===p&&(p=this.historiesStorage[s]={count:null,history:[],pending:[]}),-1!=(T=h.mid>0?p.history:p.pending).indexOf(h.mid))return!1;var f,b=T[0];T.unshift(h.mid),h.mid>0&&h.mid<b&&T.sort((e,t)=>t-e),h.mid>0&&null!==p.count&&p.count++,this.mergeReplyKeyboard(p,h)&&o.$rootScope.$broadcast("history_reply_markup",{peerID:s}),!h.pFlags.out&&h.from_id&&l.default.forceUserOnline(h.from_id),(t=this.pendingByMessageID[h.mid])&&((f=this.finalizePendingMessage(t,h))&&o.$rootScope.$broadcast("history_update",{peerID:s,mid:h.mid}),delete this.pendingByMessageID[h.mid]),f||(void 0===this.newMessagesToHandle[s]&&(this.newMessagesToHandle[s]=[]),this.newMessagesToHandle[s].push(h.mid),this.newMessagesHandlePromise||(this.newMessagesHandlePromise=window.setTimeout(this.handleNewMessages.bind(this),0)));var v=!h.pFlags.out&&h.pFlags.unread;(y=S[0]).top_message=h.mid,v&&y.unread_count++,y.pFlags.pinned&&y.index||(y.index=this.generateDialogIndex(h.date)),this.newDialogsToHandle[s]=y,this.scheduleHandleNewDialogs();break;case"updateDialogUnreadMark":{console.log("updateDialogUnreadMark",e);let t=g.default.getPeerID(e.peer.peer),i=this.getDialogByPeerID(t);if(i.length){let t=i[0];e.pFlags.unread?t.pFlags.unread_mark=!0:delete t.pFlags.unread_mark,o.$rootScope.$broadcast("dialogs_multiupdate",{peerID:t})}else this.newDialogsToHandle[t]={reload:!0},this.scheduleHandleNewDialogs();break}case"updateFolderPeers":{console.log("updateFolderPeers",e);let t=e.folder_peers;this.scheduleHandleNewDialogs(),t.forEach(e=>{let{folder_id:t,peer:i}=e,s=g.default.getPeerID(i),a=this.getDialogByPeerID(s);if(a.length){let e=a[0];this.newDialogsToHandle[s]=e,this.dialogsStorage[e.folder_id].splice(a[1],1),e.folder_id=t,this.generateIndexForDialog(e),this.pushDialogToStorage(e)}else this.newDialogsToHandle[s]={reload:!0}});break}case"updateDialogPinned":{console.log("updateDialogPinned",e);let t=g.default.getPeerID(e.peer.peer),i=this.getDialogByPeerID(t);if(this.scheduleHandleNewDialogs(),!i.length){this.newDialogsToHandle[t]={reload:!0};break}{let s=i[0];this.newDialogsToHandle[t]=s,e.pFlags.pinned?s.pFlags.pinned=!0:(delete s.pFlags.pinned,delete s.pinnedIndex),this.generateIndexForDialog(s)}break}case"updatePinnedDialogs":{console.log("updatePinnedDialogs",e);let t={};if(!e.order){_.default.invokeApi("messages.getPinnedDialogs",{}).then(e=>{e.dialogs.reverse(),this.applyConversations(e),e.dialogs.forEach(e=>{t[e.peerID]=!0}),this.dialogsStorage[0].forEach(e=>{let i=e.peerID;e.pFlags.pinned&&!t[i]&&(this.newDialogsToHandle[i]={reload:!0},this.scheduleHandleNewDialogs())})});break}this.pinnedIndex=0;let i=!1;e.order.reverse(),e.order.forEach(e=>{let s=g.default.getPeerID(e.peer);t[s]=!0;let a=this.getDialogByPeerID(s);if(!a.length)return this.newDialogsToHandle[s]={reload:!0},void(i=!0);let o=a[0];delete o.pinnedIndex,o.pFlags.pinned=!0,this.generateIndexForDialog(o),this.newDialogsToHandle[s]=o,i=!0}),this.dialogsStorage[0].forEach(e=>{let s=e.peerID;e.pFlags.pinned&&!t[s]&&(this.newDialogsToHandle[s]={reload:!0},i=!0)}),i&&this.scheduleHandleNewDialogs();break}case"updateEditMessage":case"updateEditChannelMessage":h=e.message,s=this.getMessagePeer(h),d="peerChannel"==h.to_id._?-s:0,c=n.default.getFullMessageID(h.id,d);if(void 0===this.messagesStorage[c])break;this.saveMessages([h],{isEdited:!0}),o.safeReplaceObject(this.messagesStorage[c],h);var y,w=(y=this.getDialogByPeerID(s)[0])&&y.top_message==c;if(h.clear_history)w&&o.$rootScope.$broadcast("dialog_flush",{peerID:s});else if(o.$rootScope.$broadcast("message_edit",{peerID:s,id:h.id,mid:c,justMedia:!1}),w){var k={};k[s]=y,o.$rootScope.$broadcast("dialogs_multiupdate",k)}break;case"updateReadHistoryInbox":case"updateReadHistoryOutbox":case"updateReadChannelInbox":case"updateReadChannelOutbox":var M="updateReadHistoryOutbox"==e._||"updateReadChannelOutbox"==e._,D=(d=e.channel_id,n.default.getFullMessageID(e.max_id,d)),S=(s=d?-d:g.default.getPeerID(e.peer),this.getDialogByPeerID(s)),E=0,I=(T=(this.historiesStorage[s]||{}).history||[]).length,P=!1;for(s>0&&M&&l.default.forceUserOnline(s),L=0;L<I;L++)if(!((R=T[L])>D)&&(h=this.messagesStorage[R])&&h.pFlags.out==M){if(!h.pFlags.unread)break;h&&h.pFlags.unread&&(h.pFlags.unread=!1,P||(P=!0),h.pFlags.out||S[0]&&(E=--S[0].unread_count))}S[0]&&(!M&&E&&S[0].top_message<=D&&(E=S[0].unread_count=0),S[0][M?"read_outbox_max_id":"read_inbox_max_id"]=D),o.$rootScope.$broadcast("dialog_unread",{peerID:s,count:E}),P&&o.$rootScope.$broadcast("messages_read");break;case"updateChannelReadMessagesContents":d=e.channel_id;var X=[];e.messages.forEach(e=>{X.push(n.default.getFullMessageID(e,d))}),e.messages=X;case"updateReadMessagesContents":var L,C=(A=e.messages).length;for(L=0;L<C;L++)R=A[L],(h=this.messagesStorage[R])&&delete h.pFlags.media_unread;break;case"updateChannelAvailableMessages":d=e.channel_id;var T,A=[];s=-d;(T=(this.historiesStorage[s]||{}).history||[]).length&&T.forEach(t=>{(!e.available_min_id||n.default.getMessageLocalID(t)<=e.available_min_id)&&A.push(t)}),e.messages=A;case"updateDeleteMessages":case"updateDeleteChannelMessages":{let t={},i=e.channel_id;for(let s=0;s<e.messages.length;s++){let a=n.default.getFullMessageID(e.messages[s],i),o=this.messagesStorage[a];if(o){let e=this.getMessagePeer(o),i=t[e]||(t[e]={count:0,unread:0,msgs:{}});!o.pFlags.out&&o.pFlags.unread&&i.unread++,i.count++,i.msgs[a]=!0,o.deleted=!0,this.messagesStorage[a]={deleted:!0,id:a,from_id:o.from_id,to_id:o.to_id,flags:o.flags,pFlags:o.pFlags,date:o.date};let s=this.newMessagesToHandle[e];if(s&&s.length){let e=s.indexOf(a);-1!=e&&s.splice(e)}}}Object.keys(t).forEach(e=>{let i=t[+e],s=this.historiesStorage[e];if(void 0!==s){let t=[],a=[];for(let e=0;e<s.history.length;e++)i.msgs[s.history[e]]||t.push(s.history[e]);s.history=t,i.count&&null!==s.count&&s.count>0&&(s.count-=i.count,s.count<0&&(s.count=0));for(let e=0;e<s.pending.length;e++)i.msgs[s.pending[e]]||a.push(s.pending[e]);s.pending=a,o.$rootScope.$broadcast("history_delete",{peerID:e,msgs:i.msgs})}let a=this.getDialogByPeerID(+e)[0];a&&(i.unread&&(a.unread_count-=i.unread,o.$rootScope.$broadcast("dialog_unread",{peerID:e,count:a.unread_count})),i.msgs[a.top_message]&&this.reloadConversation(+e))});break}case"updateChannel":s=-(d=e.channel_id);var j=r.default.getChat(d),F="channel"==j._&&!j.pFlags.left&&!j.pFlags.kicked,B=(S=this.getDialogByPeerID(s)).length>0;!("channel"!=j._||!j.username&&(j.pFlags.left||j.pFlags.kicked))!=(void 0!==this.historiesStorage[s])&&(delete this.historiesStorage[s],o.$rootScope.$broadcast("history_forbidden",s)),B!=F&&(F?this.reloadConversation(-d):S[0]&&(this.dialogsStorage[S[0].folder_id].splice(S[1],1),o.$rootScope.$broadcast("dialog_drop",{peerID:s,dialog:S[0]})));break;case"updateChannelReload":{let t=e.channel_id,i=-t,s=this.getDialogByPeerID(i);s[0]&&this.dialogsStorage[s[0].folder_id].splice(s[1],1),delete this.historiesStorage[i],this.reloadConversation(-t).then(()=>{o.$rootScope.$broadcast("history_reload",i)});break}case"updateChannelMessageViews":{let t=e.views,i=n.default.getFullMessageID(e.id,e.channel_id),s=this.getMessage(i);s&&s.views&&s.views<t&&(s.views=t,o.$rootScope.$broadcast("message_views",{mid:i,views:t}));break}case"updateServiceNotification":console.log("updateServiceNotification",e);var R;s=777e3,h={_:"message",id:R=this.tempID--,from_id:777e3,to_id:g.default.getOutputPeer(s),flags:0,pFlags:{unread:!0},date:(e.inbox_date||o.tsNow(!0))+x.default.serverTimeOffset,message:e.message,media:e.media,entities:e.entities};l.default.hasUser(777e3)||l.default.saveApiUsers([{_:"user",id:777e3,pFlags:{verified:!0},access_hash:0,first_name:"Telegram",phone:"42777"}]),this.saveMessages([h]),e.inbox_date&&(this.pendingTopMsgs[s]=R,this.handleUpdate({_:"updateNewMessage",message:h}))}}finalizePendingMessage(e,t){var i=this.pendingByRandomID[e];if(i){var s,a=i[0],n=i[1],r=this.historiesStorage[a],l=r.pending.indexOf(n);return-1!=l&&r.pending.splice(l,1),(s=this.messagesStorage[n])&&(delete s.pending,delete s.error,delete s.random_id,delete s.send,o.$rootScope.$broadcast("messages_pending")),delete this.messagesStorage[n],this.finalizePendingMessageCallbacks(n,t.mid),s}return!1}finalizePendingMessageCallbacks(e,t){var i=this.tempFinalizeCallbacks[e];console.warn(o.dT(),i,e),void 0!==i&&(i.forEach(e=>{e(t)}),delete this.tempFinalizeCallbacks[e]),o.$rootScope.$broadcast("message_sent",{tempID:e,mid:t})}incrementMaxSeenID(e){if(!e||this.maxSeenID&&!(e>this.maxSeenID))return!1;m.default.set({max_seen_msg:e}),_.default.invokeApi("messages.receivedMessages",{max_id:e})}getHistory(e,t=0,i,s){var a;this.migratedFromTo[e]&&(e=this.migratedFromTo[e]);const o=null!==(a=this.historiesStorage[e])&&void 0!==a?a:this.historiesStorage[e]={count:null,history:[],pending:[]};let r=0,l=!1,d=!1,c=e;if(this.migratedToFrom[e]&&(d=!0,t&&t<n.default.fullMsgIDModulus&&(c=this.migratedToFrom[e])),t>0)for(l=!0;r<o.history.length;r++)if(t>o.history[r]){l=!1;break}if(!l&&(null!==o.count&&o.history.length==o.count||o.history.length>=r+i)){s?(s=Math.min(r,s),r=Math.max(0,r-s),i+=s):i=i;let e=o.history.slice(r,r+i);return!t&&o.pending.length&&(e=o.pending.slice().concat(e)),this.wrapHistoryResult({count:o.count,history:e,unreadOffset:0,unreadSkip:!1})}return l&&(r=0),(s||t)&&-1==o.history.indexOf(t)?(s&&(r=-s,i+=s),this.requestHistory(c,t,i,r).then(e=>{o.count=e.count||e.messages.length,d&&o.count++;let i=[];return e.messages.forEach(e=>{i.push(e.mid)}),!t&&o.pending.length&&(i=o.pending.slice().concat(i)),this.wrapHistoryResult({count:o.count,history:i,unreadOffset:0,unreadSkip:!1})})):this.fillHistoryStorage(e,t,i,o).then(()=>{if(r=0,t>0)for(r=0;r<o.history.length&&!(t>o.history[r]);r++);var e=o.history.slice(r,r+i);return!t&&o.pending.length&&(e=o.pending.slice().concat(e)),this.wrapHistoryResult({count:o.count,history:e,unreadOffset:0,unreadSkip:!1})})}fillHistoryStorage(e,t,i,s){const a=this.migratedFromTo[e]&&!t?1:0;return this.requestHistory(e,t,i,a).then(a=>{s.count=a.count||a.messages.length,!t&&a.messages.length&&(t=a.messages[0].mid+1);let n=0;if(t>0)for(;n<s.history.length&&!(t>s.history[n]);n++);const r=s.history.length;s.history.splice(n,s.history.length-n),a.messages.forEach(t=>{this.mergeReplyKeyboard(s,t)&&o.$rootScope.$broadcast("history_reply_markup",{peerID:e}),s.history.push(t.mid)});const l=s.history.length;i-=l-r;const d=this.migratedFromTo[e],c=this.migratedToFrom[e],u=void 0!==d||void 0!==c;if(u&&(s.count=Math.max(s.count,l)+1),i>0){if(t=s.history[l-1],u){if(!a.messages.length){if(!c)return s.count=l,!0;t=0,e=c}return this.fillHistoryStorage(e,t,i,s)}if(l<s.count)return this.fillHistoryStorage(e,t,i,s)}return!0})}wrapHistoryResult(e){if(e.unreadOffset)for(let t=e.history.length-1;t>=0;t--){const i=this.messagesStorage[e.history[t]];if(i&&!i.pFlags.out&&i.pFlags.unread){e.unreadOffset=t+1;break}}return e}requestHistory(e,t,i,s=0){const a=g.default.isChannel(e);return o.$rootScope.$broadcast("history_request"),_.default.invokeApi("messages.getHistory",{peer:g.default.getInputPeerByID(e),offset_id:t?n.default.getMessageLocalID(t):0,offset_date:0,add_offset:s||0,limit:i||0,max_id:0,min_id:0,hash:0},{timeout:0,noErrorBox:!0}).then(o=>{console.log("requestHistory result:",o,t,i,s),l.default.saveApiUsers(o.users),r.default.saveApiChats(o.chats),this.saveMessages(o.messages),a&&h.default.addChannelState(-e,o.pts);let n=o.messages.length;n&&o.messages[n-1].deleted&&(o.messages.splice(n-1,1),n--,o.count--);const d=this.historiesStorage[e];return n&&o.messages[n-1].grouped_id&&d.history.length+o.messages.length<o.count?this.requestHistory(e,o.messages[n-1].mid,10,0).then(e=>o):o},t=>{switch(t.type){case"CHANNEL_PRIVATE":let t=r.default.getChat(-e);t={_:"channelForbidden",access_hash:t.access_hash,title:t.title},h.default.processUpdateMessage({_:"updates",updates:[{_:"updateChannel",channel_id:-e}],chats:[t],users:[]})}throw t})}fetchSingleMessages(){if(this.fetchSingleMessagesPromise)return this.fetchSingleMessagesPromise;var e=this.needSingleMessages.slice();this.needSingleMessages.length=0;var t=n.default.splitMessageIDsByChannels(e);let i=[];return Object.keys(t.msgIDs).forEach(e=>{e=+e;let s=t.msgIDs[e].map(e=>({_:"inputMessageID",id:e}));var a;a=e>0?_.default.invokeApi("channels.getMessages",{channel:r.default.getChannelInput(e),id:s}):_.default.invokeApi("messages.getMessages",{id:s}),i.push(a.then(i=>{l.default.saveApiUsers(i.users),r.default.saveApiChats(i.chats),this.saveMessages(i.messages),o.$rootScope.$broadcast("messages_downloaded",t.mids[+e])}))}),this.fetchSingleMessagesPromise=Promise.all(i).then(()=>{this.fetchSingleMessagesTimeout=0,this.fetchSingleMessagesPromise=null,this.needSingleMessages.length&&this.fetchSingleMessages()}).catch(()=>{this.fetchSingleMessagesTimeout=0,this.fetchSingleMessagesPromise=null,this.needSingleMessages.length&&this.fetchSingleMessages()})}wrapSingleMessage(e){return this.messagesStorage[e]?(o.$rootScope.$broadcast("messages_downloaded",[e]),{mid:e,loading:!1}):-1==this.needSingleMessages.indexOf(e)?(this.needSingleMessages.push(e),0==this.fetchSingleMessagesTimeout&&(this.fetchSingleMessagesTimeout=window.setTimeout(this.fetchSingleMessages.bind(this),10)),{mid:e,loading:!0}):{mid:e,loading:!1}}}t.AppMessagesManager=E,t.default=new E},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(0),n=i(3),r=a(i(4)),l=a(i(1)),d=a(i(19)),c=a(i(16)),u=a(i(27));class h{constructor(){this.chats={},this.usernames={},this.channelAccess={},this.megagroups={},this.cachedPhotoLocations={},this.megagroupOnlines={},o.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateChannel":var i=t.channel_id;o.$rootScope.$broadcast("channel_settings",{channelID:i})}})}saveApiChats(e){e.forEach(e=>this.saveApiChat(e))}saveApiChat(e){if(!o.isObject(e))return;e.rTitle=e.title||"chat_title_deleted",e.rTitle=n.RichTextProcessor.wrapRichText(e.title,{noLinks:!0,noLinebreaks:!0})||"chat_title_deleted";let t=this.chats[e.id],i=u.default.cleanSearchText(e.title||"",!1).split(" "),s=i.shift(),a=i.pop();if(e.initials=s.charAt(0)+(a?a.charAt(0):""),void 0===e.pFlags&&(e.pFlags={}),e.pFlags.min&&void 0!==t)return;if("channel"==e._&&void 0===e.participants_count&&void 0!==t&&t.participants_count&&(e.participants_count=t.participants_count),e.username){let t=u.default.cleanUsername(e.username);this.usernames[t]=e.id}let r=!1;if(void 0===t)t=this.chats[e.id]=e;else{let i=t.photo&&t.photo.photo_small,s=e.photo&&e.photo.photo_small;JSON.stringify(i)!==JSON.stringify(s)&&(r=!0),o.safeReplaceObject(t,e),o.$rootScope.$broadcast("chat_update",e.id)}void 0!==this.cachedPhotoLocations[e.id]&&o.safeReplaceObject(this.cachedPhotoLocations[e.id],e&&e.photo?e.photo:{empty:!0}),r&&o.$rootScope.$broadcast("avatar_update",-e.id)}getChat(e){return e<0&&(e=-e),this.chats[e]||{id:e,deleted:!0,access_hash:this.channelAccess[e]}}hasRights(e,t){var i,s;const a=this.getChat(e);if(!a)return!1;if("chatForbidden"==a._||"channelForbidden"==a._||a.pFlags.kicked||a.pFlags.left)return!1;if(a.pFlags.creator)return!0;let o=null!==(s=null===(i=a.admin_rights||a.banned_rights||a.default_banned_rights)||void 0===i?void 0:i.pFlags)&&void 0!==s?s:{};switch(t){case"send":if("channel"==a._&&!a.pFlags.megagroup&&!o.post_messages)return!1;break;case"deleteRevoke":if("channel"==a._)return!!o.delete_messages;if(!a.pFlags.admin)return!1;break;case"pin":if("channel"==a._)return a.admin_rights?!!o.pin_messages||!!o.post_messages:!o.pin_messages;if(o.pin_messages&&!a.pFlags.admin)return!1;break;case"edit_title":case"edit_photo":case"invite":if("channel"==a._){if(!a.pFlags.megagroup)return!1;if("invite"!=t||!a.pFlags.democracy)return!1}else if(a.pFlags.admins_enabled&&!a.pFlags.admin)return!1}return!0}resolveUsername(e){return this.usernames[e]||0}saveChannelAccess(e,t){this.channelAccess[e]=t}saveIsMegagroup(e){this.megagroups[e]=!0}isChannel(e){let t=this.chats[e];return!((!t||"channel"!=t._&&"channelForbidden"!=t._)&&!this.channelAccess[e])}isMegagroup(e){if(this.megagroups[e])return!0;let t=this.chats[e];return!(!t||"channel"!=t._||!t.pFlags.megagroup)}isBroadcast(e){return this.isChannel(e)&&!this.isMegagroup(e)}getChannelInput(e){return e?{_:"inputChannel",channel_id:e,access_hash:this.getChat(e).access_hash||this.channelAccess[e]||0}:{_:"inputChannelEmpty"}}getChatInputPeer(e){return{_:"inputPeerChat",chat_id:e}}getChannelInputPeer(e){return e?{_:"inputPeerChannel",channel_id:e,access_hash:this.getChat(e).access_hash||this.channelAccess[e]||0}:{_:"inputPeerEmpty"}}hasChat(e,t){let i=this.chats[e];return o.isObject(i)&&(t||!i.pFlags.min)}getChatPhoto(e){let t=this.getChat(e);return void 0===this.cachedPhotoLocations[e]&&(this.cachedPhotoLocations[e]=t&&t.photo?t.photo:{empty:!0}),this.cachedPhotoLocations[e]}getChatString(e){let t=this.getChat(e);return this.isChannel(e)?(this.isMegagroup(e)?"s":"c")+e+"_"+t.access_hash:"g"+e}getChatMembersString(e){var t;const i=this.getChat(e),s=this.isBroadcast(e),a=i.participants_count||(null===(t=i.participants)||void 0===t?void 0:t.participants.length)||0;return o.numberWithCommas(a)+" "+(s?"subscribers":"members")}wrapForFull(e,t){let i=o.copy(t),s=this.getChat(e);return i.participants_count||(i.participants_count=s.participants_count),i.participants&&"chatParticipants"==i.participants._&&(i.participants.participants=this.wrapParticipants(e,i.participants.participants)),i.about&&(i.rAbout=n.RichTextProcessor.wrapRichText(i.about,{noLinebreaks:!0})),i.peerString=this.getChatString(e),i.chat=s,i}wrapParticipants(e,t){let i=this.getChat(e),s=r.default.getSelf().id;if(this.isChannel(e)){let e=i.pFlags.creator;t.forEach(t=>{t.canLeave=s==t.user_id,t.canKick=e&&"channelParticipant"==t._,t.user=r.default.getUser(t.user_id)})}else{let e=i.pFlags.creator||i.pFlags.admins_enabled&&i.pFlags.admin;t.forEach(t=>{t.canLeave=s==t.user_id,t.canKick=!t.canLeave&&(i.pFlags.creator||"chatParticipant"==t._&&(e||s==t.inviter_id)),t.user=r.default.getUser(t.user_id)})}return t}createChannel(e,t){return l.default.invokeApi("channels.createChannel",{flags:1,broadcast:!0,title:e,about:t}).then(e=>(d.default.processUpdateMessage(e),e.chats[0].id))}inviteToChannel(e,t){let i=this.getChannelInput(e),s=t.map(e=>r.default.getUserInput(e));return l.default.invokeApi("channels.inviteToChannel",{channel:i,users:s}).then(e=>{d.default.processUpdateMessage(e)})}createChat(e,t){return l.default.invokeApi("messages.createChat",{users:t.map(e=>r.default.getUserInput(e)),title:e}).then(e=>(d.default.processUpdateMessage(e),e.chats[0].id))}editPhoto(e,t){let i={_:"inputChatUploadedPhoto",file:t};return this.isChannel(e)?l.default.invokeApi("channels.editPhoto",{channel:this.getChannelInputPeer(e),photo:i}).then(e=>{d.default.processUpdateMessage(e)}):l.default.invokeApi("messages.editChatPhoto",{chat_id:e,photo:i}).then(e=>{d.default.processUpdateMessage(e)})}getOnlines(e){var t,i;return s(this,void 0,void 0,(function*(){if(this.isMegagroup(e)){let s=Date.now()/1e3|0,a=null!==(t=this.megagroupOnlines[e])&&void 0!==t?t:this.megagroupOnlines[e]={timestamp:0,onlines:1};if(s-a.timestamp<60)return a.onlines;let o=yield l.default.invokeApi("messages.getOnlines",{peer:this.getChannelInputPeer(e)}),n=null!==(i=o.onlines)&&void 0!==i?i:1;return a.timestamp=s,a.onlines=n,n}if(this.isBroadcast(e))return 1;let s=c.default.getChatFull(e);if("chatFull"==s._&&s.participants&&s.participants.participants){return s.participants.participants.reduce((e,t)=>{let i=r.default.getUser(t.user_id);return i&&i.status&&"userStatusOnline"==i.status._?e+1:e},0)}return 1}))}}t.AppChatsManager=h,t.default=new h},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(4)),o=s(i(6)),n=i(0),r=i(3),l=["#c03d33","#4fad2d","#d09306","#168acd","#8544d6","#cd4073","#2996ad","#ce671b"],d=["#e17076","#7bc862","#e5ca77","#65AADD","#a695e7","#ee7aae","#6ec9cb","#faa774"],c=[0,7,4,1,6,3,5],u={getPeerPhoto:e=>e>0?a.default.getUserPhoto(e):o.default.getChatPhoto(-e),getPeerMigratedTo:e=>{if(e>=0)return!1;let t=o.default.getChat(-e);return!!(t&&t.migrated_to&&t.pFlags.deactivated)&&u.getPeerID(t.migrated_to)},getPeerTitle:(e,t=!1,i=!1)=>{let s={};s=n.isObject(e)?e:u.getPeer(e);let a="";return e>0?(s.first_name&&(a+=s.first_name),s.last_name&&(a+=" "+s.last_name),a=a?a.trim():s.pFlags.deleted?"Deleted account":s.username):a=s.title,i&&(a=a.split(" ")[0]),t?a:r.RichTextProcessor.wrapEmojiText(a)},getOutputPeer:e=>{if(e>0)return{_:"peerUser",user_id:e};let t=-e;return o.default.isChannel(t)?{_:"peerChannel",channel_id:t}:{_:"peerChat",chat_id:t}},getPeerString:e=>e>0?a.default.getUserString(e):o.default.getChatString(-e),getPeerUsername:e=>e>0?a.default.getUser(e).username||"":o.default.getChat(-e).username||"",getPeer:e=>e>0?a.default.getUser(e):o.default.getChat(-e),getPeerID:e=>{if(n.isObject(e))return e.user_id?e.user_id:-(e.channel_id||e.chat_id);let t="u"==e.charAt(0),i=e.substr(1).split("_");return t?i[0]:-i[0]||0},isChannel:e=>e<0&&o.default.isChannel(-e),isMegagroup:e=>e<0&&o.default.isMegagroup(-e),isAnyGroup:e=>e<0&&!o.default.isBroadcast(-e),isBroadcast:e=>u.isChannel(e)&&!u.isMegagroup(e),isBot:e=>e>0&&a.default.isBot(e),getInputPeer:e=>{var t=e.charAt(0),i=e.substr(1).split("_");let s=+i[0];return"u"==t?(a.default.saveUserAccess(s,i[1]),{_:"inputPeerUser",user_id:s,access_hash:i[1]}):"c"==t||"s"==t?(o.default.saveChannelAccess(s,i[1]),"s"==t&&o.default.saveIsMegagroup(s),{_:"inputPeerChannel",channel_id:s,access_hash:i[1]||0}):{_:"inputPeerChat",chat_id:s}},getInputPeerByID:e=>{if(!e)return{_:"inputPeerEmpty"};if(e<0){let t=-e;return o.default.isChannel(t)?o.default.getChannelInputPeer(t):o.default.getChatInputPeer(t)}return{_:"inputPeerUser",user_id:e,access_hash:a.default.getUser(e).access_hash||0}},getPeerColorByID:(e,t=!0)=>(t?d:l)[c[(e<0?-e:e)%7]],getPeerSearchText:e=>{let t;if(e>0)t="%pu "+a.default.getUserSearchText(e);else if(e<0){t="%pg "+(o.default.getChat(-e).title||"")}return t}};t.default=u},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(4)),o=i(0),n=s(i(26)),r=i(10),l=s(i(20)),d=s(i(1));class c{constructor(){this.photos={},this.documentThumbsCache={},this.windowW=0,this.windowH=0,window.addEventListener("resize",e=>{this.windowW=document.body.scrollWidth,this.windowH=document.body.scrollHeight}),this.windowW=document.body.scrollWidth,this.windowH=document.body.scrollHeight}savePhoto(e,t){return this.photos[e.id]?this.photos[e.id]:(e.id?this.photos[e.id]=e:console.warn("no apiPhoto.id",e),e)}choosePhotoSize(e,t=0,i=0){window.devicePixelRatio>1&&(t*=2,i*=2);let s={_:"photoSizeEmpty"},a=e.sizes||e.thumbs;if(a)for(let e of a){if(!e.w||!e.h)continue;s=e;let{w:a,h:n}=o.calcImageInBox(e.w,e.h,t,i);if(a==t||n==i)break}return s}getUserPhotos(e,t,i){var s=a.default.getUserInput(e);return d.default.invokeApi("photos.getUserPhotos",{user_id:s,offset:0,limit:i||20,max_id:t||0}).then(t=>{a.default.saveApiUsers(t.users);for(var i=[],s={user_id:e},o=0;o<t.photos.length;o++)t.photos[o]=this.savePhoto(t.photos[o],s),i.push(t.photos[o].id);return{count:t.count||t.photos.length,photos:i}})}getPreviewURLFromBytes(e,t=!1){let i;t?i=e instanceof Uint8Array?e:new Uint8Array(e):(i=c.jf.concat(e.slice(3),c.Df),i[164]=e[1],i[166]=e[2]);let s=new Blob([i],{type:"image/jpeg"});return URL.createObjectURL(s)}getPreviewURLFromThumb(e,t=!1){var i;return null!==(i=e.url)&&void 0!==i?i:e.url=this.getPreviewURLFromBytes(e.bytes,t)}setAttachmentPreview(e,t,i=!1,s=!1){let a=this.getPreviewURLFromBytes(e,i);if(s){let e=new Image;return e.src=a,e.addEventListener("load",()=>{t.style.backgroundImage="url("+a+")"}),t}if(t instanceof HTMLImageElement)return t.src=a,t;{let e=new Image;return e.src=a,t.append(e),e}}setAttachmentSize(e,t,i=480,s=480,a=!1){let n=null;if("string"==typeof e){if(n=this.photos[e],!n)return{_:"photoEmpty"}}else n=e;let r,l,d=this.choosePhotoSize(n,i,s),c=n.sizes||n.thumbs;!n.downloaded&&!a&&c&&c[0].bytes&&this.setAttachmentPreview(c[0].bytes,t,a),"document"==n._?(r=n.w||512,l=n.h||512):(r=d.w||100,l=d.h||100);let{w:u,h:h}=o.calcImageInBox(r,l,i,s);return t instanceof SVGForeignObjectElement?(t.setAttributeNS(null,"width",""+u),t.setAttributeNS(null,"height",""+h)):(t.style.width=u+"px",t.style.height=h+"px"),d}preloadPhoto(e,t){var i;let s=this.getPhoto(e);if(!t){let e=this.windowW,i=this.windowH;t=this.choosePhotoSize(s,e,i)}let a="document"==s._,o=a?null!==(i=this.documentThumbsCache[s.id])&&void 0!==i?i:this.documentThumbsCache[s.id]={downloaded:-1,url:""}:s;if(o.downloaded>=t.size&&o.url)return Promise.resolve();if(!t||"photoSizeEmpty"==t._)return console.error("no photoSize by photo:",s),Promise.reject("no photoSize");let n,r=t.size&&s.access_hash&&s.file_reference,d=r?{_:a?"inputDocumentFileLocation":"inputPhotoFileLocation",id:s.id,access_hash:s.access_hash,file_reference:s.file_reference,thumb_size:t.type}:t.location;return n=r?l.default.downloadFile(s.dc_id,d,t.size):l.default.downloadSmallFile(d),n.then(e=>{(!o.downloaded||o.downloaded<e.size)&&(o.downloaded=e.size,o.url=URL.createObjectURL(e))}),n}getDocumentCachedThumb(e){return this.documentThumbsCache[e]}getPhoto(e){return o.isObject(e)?e:this.photos[e]}getInputByID(e){let t=this.getPhoto(e);return{_:"inputMediaPhoto",flags:0,id:{_:"inputPhoto",id:t.id,access_hash:t.access_hash,file_reference:t.file_reference},ttl_seconds:0}}downloadPhoto(e){var t=this.photos[e],i="image/jpeg",s="photo"+e+".jpg",a=this.windowW,o=this.windowH,r=this.choosePhotoSize(t,a,o),d={_:"document"==t._?"inputDocumentFileLocation":"inputPhotoFileLocation",id:t.id,access_hash:t.access_hash,file_reference:t.file_reference,thumb_size:r.type};try{let e=n.default.chooseSaveFile(s,"jpg",i,r.size);e.ready.then(()=>{console.log("ready"),l.default.downloadFile(t.dc_id,d,r.size,{mimeType:i,toFileEntry:e}).then(()=>{e.close(),console.log("file save done",s,"jpg",i,e)},e=>{console.log("photo download failed",e)})})}catch(e){console.error("err",e);var c=l.default.getCachedFile(d);if(c)return n.default.download(c,i,s);l.default.downloadFile(t.dc_id,d,r.size,{mimeType:i}).then(e=>{n.default.download(e,i,s)},e=>{console.log("photo download failed",e)})}}}t.AppPhotosManager=c,c.jf=new Uint8Array(r.bytesFromHex("ffd8ffe000104a46494600010100000100010000ffdb004300281c1e231e19282321232d2b28303c64413c37373c7b585d4964918099968f808c8aa0b4e6c3a0aadaad8a8cc8ffcbdaeef5ffffff9bc1fffffffaffe6fdfff8ffdb0043012b2d2d3c353c76414176f8a58ca5f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8f8ffc00011080000000003012200021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc400b5100002010303020403050504040000017d01020300041105122131410613516107227114328191a1082342b1c11552d1f02433627282090a161718191a25262728292a3435363738393a434445464748494a535455565758595a636465666768696a737475767778797a838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae1e2e3e4e5e6e7e8e9eaf1f2f3f4f5f6f7f8f9faffc4001f0100030101010101010101010000000000000102030405060708090a0bffc400b51100020102040403040705040400010277000102031104052131061241510761711322328108144291a1b1c109233352f0156272d10a162434e125f11718191a262728292a35363738393a434445464748494a535455565758595a636465666768696a737475767778797a82838485868788898a92939495969798999aa2a3a4a5a6a7a8a9aab2b3b4b5b6b7b8b9bac2c3c4c5c6c7c8c9cad2d3d4d5d6d7d8d9dae2e3e4e5e6e7e8e9eaf2f3f4f5f6f7f8f9faffda000c03010002110311003f00")),c.Df=r.bytesFromHex("ffd9"),t.default=new c},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(13),o=s(i(68));window.__forceSmoothScrollPolyfill__=!0,o.default.polyfill();t.default=class{constructor(e,t="y",i="",s=e,o=300,n=15){if(this.el=e,this.appendTo=s,this.onScrollOffset=o,this.splitCount=n,this.onScrolledTop=null,this.onScrolledBottom=null,this.onScrollMeasure=null,this.lastScrollTop=0,this.disableHoverTimeout=0,this.debug=!1,this.virtualTempIDTop=0,this.virtualTempIDBottom=0,this.lastTopID=0,this.lastBottomID=0,this.lastScrollDirection=0,this.onScrolledTopFired=!1,this.onScrolledBottomFired=!1,this.scrollLocked=0,this.container=document.createElement("div"),this.container.classList.add("scrollable"),this.visible=new Set,this.observer=new IntersectionObserver(e=>{let t=e.filter(e=>e.isIntersecting);if(e.forEach(e=>{let t=e.target;if(e.isIntersecting)this.setVisible(t),this.debug&&this.log("intersection entry:",e,this.lastTopID,this.lastBottomID);else{let i=+t.dataset.virtual;e.boundingClientRect.top<0?this.lastTopID=i+1:this.lastBottomID=i-1}}),!t.length||0===this.lastScrollDirection)return;if(1===this.lastScrollDirection){let e=t[t.length-1].target;this.lastBottomID=+e.dataset.virtual;for(let t=0;t<this.splitCount&&(e=e.nextElementSibling,e);++t)this.setVisible(e)}else{let e=t[0].target;this.lastTopID=+e.dataset.virtual;for(let t=0;t<this.splitCount&&(e=e.previousElementSibling,e);++t)this.setVisible(e)}this.debug&&this.log("entries:",e,t,this.lastScrollDirection,this.lastTopID,this.lastBottomID);let i=this.lastTopID-this.splitCount,s=this.lastBottomID+this.splitCount;for(let e of this.visible){let t=+e.dataset.virtual;(t<i||t>s)&&this.setHidden(e)}}),s||(this.appendTo=this.container),this.log=a.logger("SCROLL"+(i?"-"+i:"")),"x"==t){this.container.classList.add("scrollable-x");let e=e=>{e=window.event||e;var t=Math.max(-1,Math.min(1,e.wheelDelta||-e.detail));this.container.scrollLeft-=20*t,e.preventDefault()};this.container.addEventListener?(this.container.addEventListener("mousewheel",e,!1),this.container.addEventListener("DOMMouseScroll",e,!1)):this.container.attachEvent("onmousewheel",e)}else{if("y"!=t)throw new Error("no side for scroll");this.container.classList.add("scrollable-y")}window.addEventListener("resize",()=>this.onScroll()),this.container.addEventListener("scroll",()=>this.onScroll(),{passive:!0,capture:!0}),Array.from(e.children).forEach(e=>this.container.append(e)),e.append(this.container)}setVisible(e){this.visible.has(e)||(this.debug&&this.log("setVisible id:",e.dataset.virtual),e.firstElementChild.style.display="",this.visible.add(e))}setHidden(e){this.visible.has(e)&&(this.debug&&this.log("setHidden id:",e.dataset.virtual),e.firstElementChild.style.display="none",this.visible.delete(e))}setVirtualContainer(e){this.splitUp=e,this.lastScrollTop=0,this.log("setVirtualContainer:",e,this)}onScroll(){let e=this.splitUp||this.appendTo;clearTimeout(this.disableHoverTimeout),this.el!=this.appendTo&&this.appendTo!=this.container&&(e.classList.contains("disable-hover")||e.classList.add("disable-hover")),this.disableHoverTimeout=setTimeout(()=>{e.classList.remove("disable-hover"),this.lastScrollDirection=0},100),this.onScrollMeasure||(this.onScrollMeasure=window.requestAnimationFrame(()=>{if(this.checkForTriggers(),this.onScrollMeasure=0,!this.splitUp)return;let e=this.container.scrollTop;this.lastScrollTop!=e?(this.lastScrollDirection=this.lastScrollTop<e?1:-1,this.lastScrollTop=e):this.lastScrollDirection=0}))}checkForTriggers(){if(this.scrollLocked||!this.onScrolledTop&&!this.onScrolledBottom)return;let e=this.container.scrollTop,t=this.container.scrollHeight-this.container.clientHeight;this.onScrolledTop&&e<=this.onScrollOffset&&this.onScrolledTop(),this.onScrolledBottom&&t-e<=this.onScrollOffset&&this.onScrolledBottom()}reorder(){Array.from(this.splitUp.children).forEach((e,t)=>{e.dataset.virtual=""+t})}updateElement(e){e.style.minHeight="",window.requestAnimationFrame(()=>{let t=e.scrollHeight;window.requestAnimationFrame(()=>{e.style.minHeight=t+"px"})})}prepareElement(e,t=!0){e.dataset.virtual=""+(t?this.virtualTempIDBottom++:this.virtualTempIDTop--),this.debug&&this.log("prepareElement: prepared"),window.requestAnimationFrame(()=>{let{scrollHeight:t}=e;this.debug&&this.log("prepareElement: first rAF"),window.requestAnimationFrame(()=>{e.style.minHeight=t+"px"}),this.visible.add(e),this.observer.observe(e)})}prepend(e,t=!0){t&&this.prepareElement(e,!1),this.splitUp?this.splitUp.prepend(e):this.appendTo.prepend(e)}append(e,t=!0){t&&this.prepareElement(e),this.splitUp?this.splitUp.append(e):this.appendTo.append(e)}contains(e){return this.splitUp?!!e.parentElement:this.appendTo.contains(e)}scrollIntoView(e,t=!0){if(e.parentElement&&!this.scrollLocked){let i=e.classList.contains("is-first-unread"),s=e.getBoundingClientRect().top-this.container.getBoundingClientRect().top;if(s=this.container.scrollTop+s,!t&&i)return void this.scrollTo(s,!1);s-=(this.container.clientHeight-e.scrollHeight)/2,this.scrollTo(s,t)}}scrollTo(e,t=!0,i=!1){if(this.scrollLocked&&!i)return;this.scrollTop!=Math.floor(e)&&(this.scrollLocked&&clearTimeout(this.scrollLocked),this.scrollLocked=setTimeout(()=>{this.scrollLocked=0,this.onScroll()},468),this.container.scrollTo({behavior:t?"smooth":"auto",top:e}))}removeElement(e){e.remove()}set scrollTop(e){this.container.scrollTop=e}get scrollTop(){return this.container.scrollTop}get scrollHeight(){return this.container.scrollHeight}get length(){return this.appendTo.childElementCount}}},function(e,t,i){"use strict";
/*!
* Webogram v0.7.0 - messaging web application for MTProto
* https://github.com/zhukov/webogram
* Copyright (C) 2014 Igor Zhukov <igor.beatle@gmail.com>
* https://github.com/zhukov/webogram/blob/master/LICENSE
*/Object.defineProperty(t,"__esModule",{value:!0});const s=i(41);var a=Date.now();function o(e){return new s.BigInteger(e.toString(16),16)}function n(e){return new s.BigInteger(e,10)}function r(e){return e<26?e+65:e<52?e+71:e<62?e-4:62===e?43:63===e?47:65}function l(e,t){for(var i=atob(e),s=i.length,a=Math.ceil(s/1024),o=new Array(a),n=0;n<a;++n){for(var r=1024*n,l=Math.min(r+1024,s),c=new Array(l-r),u=r,h=0;u<l;++h,++u)c[h]=i[u].charCodeAt(0);o[n]=new Uint8Array(c)}return d(o,t)}function d(e,t=""){var i,s=c(t);try{i=new Blob(e,{type:s})}catch(t){var a=new BlobBuilder;e.forEach((function(e){a.append(e)})),i=a.getBlob(s)}return i}function c(e){return-1===["image/jpeg","image/png","image/gif","image/webp","image/bmp","video/mp4","video/webm","video/quicktime","audio/ogg","audio/mpeg","audio/mp4"].indexOf(e)?"application/octet-stream":e}function u(e){return new Uint8Array(e).buffer}function h(e){return void 0!==e.buffer?e:new Uint8Array(e)}function p(e,t){var i=e.byteLength||e.length,s=t.byteLength||t.length,a=new Uint8Array(i+s);return a.set(e instanceof ArrayBuffer?new Uint8Array(e):e,0),a.set(t instanceof ArrayBuffer?new Uint8Array(t):t,i),a.buffer}function m(e){var t=n(e).divideAndRemainder(o(4294967296));return[t[0].intValue(),t[1].intValue()]}function g(e){for(var t=e.words,i=e.sigBytes,s=[],a=0;a<i;a++)s.push(t[a>>>2]>>>24-a%4*8&255);return s}t.dT=function(){return"["+((Date.now()-a)/1e3).toFixed(3)+"]"},t.isObject=function(e){return"object"==typeof e&&null!==e},t.bigint=o,t.bigStringInt=n,t.bytesToHex=function(e){e=e||[];for(var t=[],i=0;i<e.length;i++)t.push((e[i]<16?"0":"")+(e[i]||0).toString(16));return t.join("")},t.bytesFromHex=function(e){var t,i=e.length,s=0,a=[];for(e.length%2&&(a.push(parseInt(e.charAt(0),16)),s++),t=s;t<i;t+=2)a.push(parseInt(e.substr(t,2),16));return a},t.bytesToBase64=function(e){for(var t,i="",s=e.length,a=0,o=0;o<s;o++)t=o%3,a|=e[o]<<(16>>>t&24),2!==t&&s-o!=1||(i+=String.fromCharCode(r(a>>>18&63),r(a>>>12&63),r(a>>>6&63),r(63&a)),a=0);return i.replace(/A(?=A$|$)/g,"=")},t.uint6ToBase64=r,t.base64ToBlob=l,t.dataUrlToBlob=function(e){var t=e.split(",");return l(t[1],t[0].split(":")[1].split(";")[0])},t.blobConstruct=d,t.blobSafeMimeType=c,t.bytesCmp=function(e,t){var i=e.length;if(i!=t.length)return!1;for(var s=0;s<i;s++)if(e[s]!=t[s])return!1;return!0},t.bytesXor=function(e,t){for(var i=e.length,s=[],a=0;a<i;++a)s[a]=e[a]^t[a];return s},t.bytesFromBigInt=function(e,t){var i=e.toByteArray();if(t&&i.length<t){for(var s=[],a=0,o=t-i.length;a<o;a++)s[a]=0;i=i instanceof ArrayBuffer?p(s,i):s.concat(i)}else for(;!i[0]&&(!t||i.length>t);)i=i.slice(1);return i},t.bytesToArrayBuffer=u,t.convertToArrayBuffer=function(e){return e instanceof ArrayBuffer?e:void 0!==e.buffer&&e.buffer.byteLength==e.length*e.BYTES_PER_ELEMENT?e.buffer:u(e)},t.convertToUint8Array=h,t.convertToByteArray=function(e){if(Array.isArray(e))return e;for(var t=[],i=0,s=(e=h(e)).length;i<s;i++)t.push(e[i]);return t},t.bytesFromArrayBuffer=function(e){for(var t=e.byteLength,i=new Uint8Array(e),s=[],a=0;a<t;++a)s[a]=i[a];return s},t.bufferConcat=p,t.bufferConcats=function(...e){let t=0;e.forEach(e=>t+=e.byteLength||e.length);var i=new Uint8Array(t);let s=0;return e.forEach(e=>{i.set(e instanceof ArrayBuffer?new Uint8Array(e):e,s),s+=e.byteLength||e.length}),i},t.longToInts=m,t.bytesFromWords=g,t.bytesFromWordss=function(e){for(var t=[],i=0;i<4*e.length;i++)t.push(e[i>>>2]>>>24-i%4*8&255);return t},t.bytesToWordss=function(e){let t;t=e instanceof ArrayBuffer?new Uint8Array(e):e;var i,s=t.length,a=[];for(i=0;i<s;i++)a[i>>>2]|=t[i]<<24-i%4*8;return new Uint32Array(a)},t.longToBytes=function(e){return g({words:m(e),sigBytes:8}).reverse()},t.longFromInts=function(e,t){return o(e).shiftLeft(32).add(o(t)).toString(10)},t.addPadding=function(e,t=16,i,a=!1,o=!1){let n=t-(e.byteLength||e.length)%t;if(n>0&&(n<t||a)){let t=new Array(n);if(i)for(let e=0;e<n;e++)t[e]=0;else(new s.SecureRandom).nextBytes(t);if(e instanceof ArrayBuffer)e=o?p(t,e):p(e,t);else if(e instanceof Uint8Array){let i=new Uint8Array(e.length+t.length);o?(i.set(t),i.set(e,t.length)):(i.set(e),i.set(t,e.length)),e=i}else e=o?t.concat(e):e.concat(t)}return e},t.nextRandomInt=function(e){return Math.floor(Math.random()*e)}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=a(i(20)),n=a(i(26)),r=i(3),l=i(0);t.default=new class{constructor(){this.docs={},this.thumbs={}}saveDoc(e,t){if(this.docs[e.id]){let i=this.docs[e.id];return e.thumbs&&(i.thumbs?e.thumbs[0].bytes&&!i.thumbs[0].bytes&&i.thumbs.unshift(e.thumbs[0]):i.thumbs=e.thumbs),t?Object.assign(i,t):i}if(t&&Object.assign(e,t),this.docs[e.id]=e,e.thumb&&"photoCachedSize"==e.thumb._&&(console.warn("this will happen!!!"),o.default.saveSmallFile(e.thumb.location,e.thumb.bytes),e.thumb.size=e.thumb.bytes.length,delete e.thumb.bytes,e.thumb._="photoSize"),e.thumb&&"photoSizeEmpty"==e.thumb._&&delete e.thumb,e.attributes.forEach(t=>{switch(t._){case"documentAttributeFilename":e.file_name=r.RichTextProcessor.wrapPlainText(t.file_name);break;case"documentAttributeAudio":e.duration=t.duration,e.audioTitle=t.title,e.audioPerformer=t.performer,e.type=t.pFlags.voice?"voice":"audio";break;case"documentAttributeVideo":e.duration=t.duration,e.w=t.w,e.h=t.h,e.thumbs&&t.pFlags.round_message?e.type="round":e.type="video";break;case"documentAttributeSticker":void 0!==t.alt&&(e.stickerEmojiRaw=t.alt,e.stickerEmoji=r.RichTextProcessor.wrapRichText(e.stickerEmojiRaw,{noLinks:!0,noLinebreaks:!0})),t.stickerset&&("inputStickerSetEmpty"==t.stickerset._?delete t.stickerset:"inputStickerSetID"==t.stickerset._&&(e.stickerSetInput=t.stickerset)),"image/webp"==e.mime_type&&(e.type="sticker",e.sticker=1);break;case"documentAttributeImageSize":e.w=t.w,e.h=t.h;break;case"documentAttributeAnimated":"image/gif"!=e.mime_type&&"video/mp4"!=e.mime_type||!e.thumbs||(e.type="gif"),e.animated=!0}}),!e.mime_type)switch(e.type){case"gif":e.mime_type="video/mp4";break;case"video":case"round":e.mime_type="video/mp4";break;case"sticker":e.mime_type="image/webp";break;case"audio":e.mime_type="audio/mpeg";break;case"voice":e.mime_type="audio/ogg";break;default:e.mime_type="application/octet-stream"}return e.file_name||(e.file_name=""),"application/x-tgsticker"==e.mime_type&&"AnimatedSticker.tgs"==e.file_name&&(e.type="sticker",e.animated=!0,e.sticker=2),"documentEmpty"==e._&&(e.size=0),e}getDoc(e){return l.isObject(e)?e:this.docs[e]}getMediaInputByID(e){let t=this.getDoc(e);return{_:"inputMediaDocument",flags:0,id:{_:"inputDocument",id:t.id,access_hash:t.access_hash,file_reference:t.file_reference},ttl_seconds:0}}getInputByID(e,t){let i=this.getDoc(e);return{_:"inputDocumentFileLocation",id:i.id,access_hash:i.access_hash,file_reference:i.file_reference,thumb_size:t}}getFileName(e){if(e.file_name)return e.file_name;var t="."+e.mime_type.split("/")[1];return".octet-stream"==t&&(t=""),"t_"+(e.type||"file")+e.id+t}downloadDoc(e,t){let i=this.getDoc(e),s=this.getInputByID(i);if("documentEmpty"==i._)return Promise.reject();if(i.downloaded&&!t){if(i.url)return Promise.resolve(null);let e=o.default.getCachedFile(s);if(e)return Promise.resolve(e)}let a=o.default.downloadFile(i.dc_id,s,i.size,{mimeType:i.mime_type||"application/octet-stream",toFileEntry:t,stickerType:i.sticker});return a.then(e=>(e&&(i.downloaded=!0,i.type&&2!=i.sticker&&(i.url=URL.createObjectURL(e))),e),e=>{console.log("document download failed",e)}),a}downloadDocThumb(e,t){let i=this.getDoc(e),s=i.id+"-"+t;if(this.thumbs[s])return this.thumbs[s];let a=this.getInputByID(i,t);if("documentEmpty"==i._)return Promise.reject();let n=i.sticker?"image/webp":i.mime_type,r=o.default.downloadSmallFile(a,{dcID:i.dc_id,stickerType:i.sticker?1:void 0,mimeType:n});return this.thumbs[s]=r.then(e=>URL.createObjectURL(e))}hasDownloadedThumb(e,t){return!!this.thumbs[e+"-"+t]}saveDocFile(e){return s(this,void 0,void 0,(function*(){var t=this.docs[e],i=this.getFileName(t),s=(i.split(".",2)||[])[1]||"";try{let a=n.default.chooseSaveFile(i,s,t.mime_type,t.size);yield a.ready;let o=this.downloadDoc(e,a);return o.then(()=>{a.close(),console.log("saved doc",t)}),{promise:o}}catch(s){let a=this.downloadDoc(e);return a.then(e=>{n.default.download(e,t.mime_type,i)}),{promise:a}}}))}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=i(21);const a=new class{constructor(){this.keyPrefix="",this.noPrefix=!1,this.cache={},this.useLs=!0}storageGetPrefix(){return this.noPrefix?(this.noPrefix=!1,""):this.keyPrefix}get(e,t){var i=!1;Array.isArray(e)||(t=(e=Array.prototype.slice.call(arguments)).pop(),i=1==e.length);var s,a,o,n=[],r=!0,l=this.storageGetPrefix();for(a=0;a<e.length;a++)if("xt_"!=(o=e[a]=l+e[a]).substr(0,3)&&void 0!==this.cache[o])n.push(this.cache[o]);else if(this.useLs){try{s=localStorage.getItem(o)}catch(e){this.useLs=!1}try{s=null!=s&&JSON.parse(s)}catch(e){s=!1}n.push(this.cache[o]=s)}else r=!1;if(r)return t(i?n[0]:n)}set(e,t){var i,s,a={},o=this.storageGetPrefix();for(i in e)if(e.hasOwnProperty(i))if(s=e[i],i=o+i,this.cache[i]=s,s=JSON.stringify(s,(e,t)=>{if("downloaded"!=e&&("url"!=e||0!==t.indexOf("blob:")))return t}),this.useLs)try{localStorage.setItem(i,s)}catch(e){this.useLs=!1}else a[i]=s;this.useLs&&t&&t()}remove(e,t){Array.isArray(e)||"function"==typeof(e=Array.prototype.slice.call(arguments))[e.length-1]&&(t=e.pop());var i,s,a=this.storageGetPrefix();for(i=0;i<e.length;i++)if(s=e[i]=a+e[i],delete this.cache[s],this.useLs)try{localStorage.removeItem(s)}catch(e){this.useLs=!1}t&&t()}clear(e){if(this.useLs)try{localStorage.clear()}catch(e){this.useLs=!1}this.cache={},e()}};t.default=new class{constructor(){this.taskID=0,this.tasks={},s.Modes.test&&this.setPrefix("t_"),this.isWebWorker="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope}setPrefix(e){a.keyPrefix=e}noPrefix(){a.noPrefix=!0}finishTask(e,t){this.tasks[e](t),delete this.tasks[e]}proxy(e,...t){return new Promise((i,s)=>{if(this.isWebWorker)this.tasks[this.taskID]=i,self.postMessage({useLs:!0,task:e,taskID:this.taskID,args:t}),this.taskID++;else{let s=Array.prototype.slice.call(t);s.push(e=>{i(e)}),a[e].apply(a,s)}})}get(...e){return this.proxy("get",...e)}set(...e){return this.proxy("set",...e)}remove(...e){return this.proxy("remove",...e)}clear(...e){return this.proxy("clear",...e)}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=i(10),a=i(41);t.secureRandom=new a.SecureRandom,t.logger=function(e){function t(...t){return console.log(s.dT(),"["+e+"]:",...t)}return t.warn=function(...t){return console.warn(s.dT(),"["+e+"]:",...t)},t.info=function(...t){return console.info(s.dT(),"["+e+"]:",...t)},t.error=function(...t){return console.error(s.dT(),"["+e+"]:",...t)},t.trace=function(...t){return console.trace(s.dT(),"["+e+"]:",...t)},t},t.deferredPromise=function(){let e={notify:()=>{},isFulfilled:!1,isRejected:!1},t=new Promise((i,s)=>{e.resolve=e=>{t.isFulfilled||(t.isFulfilled=!0,i(e))},e.reject=(...e)=>{t.isRejected||(t.isRejected=!0,s(...e))}});return Object.assign(t,e),t},Object.defineProperty(Uint8Array.prototype,"hex",{get:function(){return s.bytesToHex([...this])},set:function(e){this.set(s.bytesFromHex(e))},enumerable:!0,configurable:!0}),Uint8Array.prototype.randomize=function(){return t.secureRandom.nextBytes(this),this},Uint8Array.prototype.concat=function(...e){return s.bufferConcats(this,...e)},Uint8Array.prototype.toString=function(){return String.fromCharCode.apply(null,[...this])},Uint8Array.prototype.toJSON=function(){return[...this]},Array.prototype.forEachReverse=function(e){for(var t=this.length-1;t>=0;--t)e(this[t],t,this)},Array.prototype.findAndSplice=function(e){let t=this.findIndex(e);return-1!==t?this.splice(t,1)[0]:void 0},String.prototype.toHHMMSS=function(e=!1){let t=parseInt(this+"",10),i=Math.floor(t/3600),s=Math.floor((t-3600*i)/60),a=t-3600*i-60*s;return i<10&&(i="0"+i),s<10&&(s=e?"0"+s:s),a<10&&(a="0"+a),s+":"+a}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const a=i(0);let o=e=>Math.round(255*Math.min(Math.max(e,0),1));class n{constructor({el:e,width:t,height:i,worker:s}){this.reqId=0,this.listeners={},this.listenerResults={},this.paused=!0,this.direction=1,this.speed=1,this.autoplay=!0,this.loop=!0,this.playedTimes=0,this.reqId=++n.reqId,this.el=e,this.width=t,this.height=i,this.worker=s,this.canvas=document.createElement("canvas"),this.canvas.width=this.width,this.canvas.height=this.height,this.context=this.canvas.getContext("2d")}addListener(e,t){if(this.listenerResults.hasOwnProperty(e))return Promise.resolve(this.listenerResults[e]);this.listeners[e]=t}setListenerResult(e,t){this.listenerResults[e]=t,this.listeners[e]&&this.listeners[e](t)}sendQuery(e,...t){this.worker.sendQuery(e,this.reqId,...t)}loadFromData(e){this.sendQuery("loadFromData",e,this.width,this.height,{paused:this.paused,direction:this.direction,speed:this.speed})}play(){this.paused&&(this.paused=!1,this.setMainLoop())}pause(){this.paused||(this.paused=!0,window.cancelAnimationFrame(this.rafId))}stop(){this.pause(),this.curFrame=1==this.direction?0:this.frameCount,this.sendQuery("renderFrame",this.curFrame)}restart(){this.stop(),this.play()}setSpeed(e){this.speed=e,this.paused||this.setMainLoop()}setDirection(e){this.direction=e,this.paused||this.setMainLoop()}destroy(){d.onDestroy(this.reqId),this.pause(),this.sendQuery("destroy")}renderFrame(e,t){this.context.putImageData(new ImageData(e,this.width,this.height),0,0),this.setListenerResult("enterFrame",t)}mainLoop(e){let t=()=>{if(this.paused)return;const i=Date.now(),s=i-this.frThen;if(s>this.frInterval){this.frThen=i-s%this.frInterval,e()||this.loop||!this.autoplay||(this.autoplay=!1)}this.rafId=window.requestAnimationFrame(t)};t()}mainLoopForwards(){if(this.sendQuery("renderFrame",this.curFrame++),this.curFrame>=this.frameCount){if(this.playedTimes++,!this.loop)return!1;this.curFrame=0}return!0}mainLoopBackwards(){if(this.sendQuery("renderFrame",this.curFrame--),this.curFrame<0){if(this.playedTimes++,!this.loop)return!1;this.curFrame=this.frameCount-1}return!0}setMainLoop(){window.cancelAnimationFrame(this.rafId),this.frInterval=1e3/this.fps/this.speed,this.frThen=Date.now();const e=(1==this.direction?this.mainLoopForwards:this.mainLoopBackwards).bind(this);this.mainLoop(e)}}t.RLottiePlayer=n,n.reqId=0;class r{constructor(e,t=(()=>{}),i){this.defaultListener=t,this.listeners={},this.worker=new Worker(e),i&&(this.worker.onerror=i),this.worker.onmessage=e=>{e.data instanceof Object&&e.data.hasOwnProperty("queryMethodListener")&&e.data.hasOwnProperty("queryMethodArguments")?this.listeners[e.data.queryMethodListener].apply(this,e.data.queryMethodArguments):this.defaultListener.call(this,e.data)}}postMessage(e){this.worker.postMessage(e)}terminate(){this.worker.terminate()}addListener(e,t){this.listeners[e]=t}removeListener(e){delete this.listeners[e]}sendQuery(e,...t){this.worker.postMessage({queryMethod:e,queryMethodArguments:t})}}class l{constructor(){this.loaded=!1,this.workersLimit=4,this.players={},this.byGroups={},this.workers=[],this.curWorkerNum=0,this.visible=new Set,this.debug=!0,this.observer=new IntersectionObserver(e=>{for(const t of e){const e=t.target;for(const i in this.byGroups){const s=this.byGroups[i].find(t=>t.el==e);if(s){t.isIntersecting?(this.visible.add(s),this.checkAnimation(s,!1)):(this.visible.delete(s),this.checkAnimation(s,!0));break}}}})}loadLottieWorkers(){if(this.loadPromise)return this.loadPromise;const e=this.onFrame.bind(this),t=this.onPlayerLoaded.bind(this);return this.loadPromise=new Promise((i,s)=>{let a=this.workersLimit;for(let s=0;s<this.workersLimit;++s){const o=this.workers[s]=new r("rlottie.worker.js");o.addListener("ready",()=>{console.log("worker #"+s+" ready"),o.addListener("frame",e),o.addListener("loaded",t),--a,a||(console.log("workers ready"),i(),this.loaded=!0)})}})}applyReplacements(e,t){const i=l.COLORREPLACEMENTS[t-2],s=e=>{for(let t of e){switch(t.ty){case"st":case"fl":let e=t.c.k,s=o(e[2])|o(e[1])<<8|o(e[0])<<16,a=i.find(e=>e[0]==s);a&&(e[0]=(a[1]>>16&255)/255,e[1]=(a[1]>>8&255)/255,e[2]=(255&a[1])/255)}t.hasOwnProperty("it")&&s(t.it)}};for(let t of e.layers)if(t.shapes)for(let e of t.shapes)s(e.it)}loadAnimationWorker(e,t="",i=-1){var a;return s(this,void 0,void 0,(function*(){e.autoplay=!0,i>=1&&i<=5&&this.applyReplacements(e.animationData,i),this.loaded||(yield this.loadLottieWorkers());const s=e.width||parseInt(e.container.style.width),o=e.height||parseInt(e.container.style.height),n=this.initPlayer(e.container,e.animationData,s,o);for(let t in e)n.hasOwnProperty(t)&&(n[t]=e[t]);return(null!==(a=this.byGroups[t])&&void 0!==a?a:this.byGroups[t]=[]).push(n),n}))}checkAnimations(e,t,i=!1){const s=Object.keys(this.byGroups);t&&!this.byGroups[t]&&(console.warn("no animation group:",t),this.byGroups[t]=[]);for(const t of s){this.byGroups[t].forEach(t=>{this.checkAnimation(t,e,i)})}}checkAnimation(e,t=!1,i=!1){i||!a.isInDOM(e.el)&&e.listenerResults.hasOwnProperty("ready")?e.destroy():t?e.paused||(this.debug&&console.log("pause animation",e),e.pause()):e.paused&&this.visible.has(e)&&e.autoplay&&(this.debug&&console.log("play animation",e),e.play())}onPlayerLoaded(e,t,i){const s=this.players[e];s?(s.el.appendChild(s.canvas),s.curFrame=1==s.direction?0:t-1,s.frameCount=t,s.fps=i,s.sendQuery("renderFrame",0),s.setListenerResult("ready"),this.observer.observe(s.el)):this.debug&&console.warn("onPlayerLoaded on destroyed player:",e,t)}onFrame(e,t,i){const s=this.players[e];s?s.renderFrame(i,t):this.debug&&console.warn("onFrame on destroyed player:",e,t)}onDestroy(e){let t=this.players[e];for(let e in this.byGroups)this.byGroups[e].findAndSplice(e=>e==t);delete this.players[t.reqId],this.observer.unobserve(t.el),this.visible.delete(t)}destroyWorkers(){this.workers.forEach((e,t)=>{e.terminate(),console.log("worker #"+t+" terminated")}),console.log("workers destroyed"),this.workers.length=0}initPlayer(e,t,i,s){const a=new n({el:e,width:i,height:s,worker:this.workers[this.curWorkerNum++]});return this.players[a.reqId]=a,this.curWorkerNum>=this.workers.length&&(this.curWorkerNum=0),a.loadFromData(t),a}}l.COLORREPLACEMENTS=[[[16219713,13275258],[16757049,15582629],[16765248,16245699],[16768889,16510934]],[[16219713,11172960],[16757049,13150599],[16765248,14534815],[16768889,15128242]],[[16219713,9199944],[16757049,11371874],[16765248,12885622],[16768889,13939080]],[[16219713,7224364],[16757049,9591348],[16765248,10579526],[16768889,11303506]]];const d=new l;window.LottieLoader=d,t.default=d},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(1)),o=i(0),n=s(i(4)),r=s(i(5)),l=s(i(7)),d=s(i(16)),c=s(i(25)),u=i(3),h=s(i(8)),p=s(i(36)),m=i(13),g=s(i(14)),f=s(i(37)),b=s(i(48)),v=s(i(6)),y=s(i(19)),w=i(32),x=s(i(24)),_=i(2),k=i(78),M=s(i(9)),D=s(i(81)),S=s(i(30)),E=s(i(11)),I=s(i(38)),P=s(i(39)),X=s(i(29)),L=s(i(82)),C=s(i(83)),T=i(45);console.log("appImManager included!"),b.default;const A=["messageActionChannelMigrateFrom"];class j{constructor(e){this.attachTo=e,this.element=document.getElementById("bubble-contextmenu"),this.buttons={},_.parseMenuButtonsTo(this.buttons,this.element.children),e.addEventListener("contextmenu",e=>{let t=null;try{t=o.findUpClassName(e.target,"bubble__container")}catch(e){}if(!t)return;if(e.preventDefault(),this.element.classList.contains("active"))return!1;e.cancelBubble=!0,t=t.parentElement;let i=+t.dataset.mid;if(!i)return;let s=o.$rootScope.selectedPeerID;this.msgID=i;const a=r.default.getMessage(i);this.buttons.copy.style.display=a.message?"":"none",o.$rootScope.myID==s||s<0&&v.default.hasRights(-s,"pin")?this.buttons.pin.style.display="":this.buttons.pin.style.display="none",this.buttons.edit.style.display=r.default.canEditMessage(i)?"":"none";let n=t.classList.contains("is-in")?"left":"right";_.positionMenu(e,this.element,n),_.openBtnMenu(this.element)}),this.buttons.copy.addEventListener("click",()=>{let e=r.default.getMessage(this.msgID),t=e?e.message:"";var i=document.createElement("textarea");i.value=t,i.style.position="fixed",document.body.appendChild(i),i.focus(),i.select();try{document.execCommand("copy")}catch(e){console.error("Oops, unable to copy",e)}document.body.removeChild(i)}),this.buttons.delete.addEventListener("click",()=>{let e,t,i,s=o.$rootScope.selectedPeerID,a=l.default.getPeerTitle(s,!1,!0),n=e=>{r.default.deleteMessages([this.msgID],e)};e="Delete Message?",t="Are you sure you want to delete this message?",s==o.$rootScope.myID?i=[{text:"DELETE",isDanger:!0,callback:()=>n(!1)}]:(i=[{text:"DELETE JUST FOR ME",isDanger:!0,callback:()=>n(!1)}],s>0?i.push({text:"DELETE FOR ME AND "+a,isDanger:!0,callback:()=>n(!0)}):v.default.hasRights(-s,"deleteRevoke")&&i.push({text:"DELETE FOR ALL",isDanger:!0,callback:()=>n(!0)})),i.push({text:"CANCEL",isCancel:!0}),new T.PopupPeer("popup-delete-chat",{peerID:s,title:"Delete Message?",description:"Are you sure you want to delete this message?",buttons:i}).show()}),this.buttons.reply.addEventListener("click",()=>{const e=r.default.getMessage(this.msgID),t=B.chatInputC;t.setTopInfo(l.default.getPeerTitle(e.fromID,!0),e.message,void 0,e),t.replyToMsgID=this.msgID,t.editMsgID=0}),this.buttons.forward.addEventListener("click",()=>{I.default.init([this.msgID])}),this.buttons.edit.addEventListener("click",()=>{const e=r.default.getMessage(this.msgID),t=B.chatInputC;t.setTopInfo("Editing",e.message,e.message,e),t.replyToMsgID=0,t.editMsgID=this.msgID}),this.buttons.pin.addEventListener("click",()=>{a.default.invokeApi("messages.updatePinnedMessage",{flags:0,peer:l.default.getInputPeerByID(o.$rootScope.selectedPeerID),id:this.msgID}).then(e=>{y.default.processUpdateMessage(e)})})}}class F{constructor(){this.pageEl=document.getElementById("page-chats"),this.btnMute=this.pageEl.querySelector(".tool-mute"),this.btnMenuMute=this.pageEl.querySelector(".menu-mute"),this.avatarEl=document.getElementById("im-avatar"),this.titleEl=document.getElementById("im-title"),this.subtitleEl=document.getElementById("im-subtitle"),this.bubblesContainer=document.getElementById("bubbles"),this.chatInner=document.getElementById("bubbles-inner"),this.searchBtn=this.pageEl.querySelector(".chat-search-button"),this.goDownBtn=this.pageEl.querySelector("#bubbles-go-down"),this.chatInputC=null,this.myID=0,this.peerID=0,this.bubbles={},this.dateMessages={},this.unreadOut=new Set,this.needUpdate=[],this.offline=!1,this.updateStatusInterval=0,this.pinnedMsgID=0,this.pinnedMessageContainer=this.pageEl.querySelector(".pinned-message"),this.pinnedMessageContent=this.pinnedMessageContainer.querySelector(".pinned-message-subtitle"),this.lazyLoadQueue=new S.default,this.scroll=null,this.scrollable=null,this.preloader=null,this.typingTimeouts={},this.typingUsers={},this.topbar=document.getElementById("topbar"),this.chatInput=document.getElementById("chat-input"),this.contextMenu=new j(this.bubblesContainer),this.setPeerPromise=null,this.bubbleGroups=new D.default,this.scrolledDown=!0,this.onScrollRAF=0,this.isScrollingTimeout=0,this.unreadedObserver=null,this.unreaded=[],this.loadedTopTimes=0,this.loadedBottomTimes=0,this.messagesQueuePromise=null,this.messagesQueue=[],this.messagesQueueOnRender=null,this.firstUnreadBubble=null,this.stickyIntersector=null,this.cleanupID=0,this.log=m.logger("IM"),this.chatInputC=new k.ChatInput,this.preloader=new x.default(null,!1),a.default.getUserID().then(e=>{this.myID=o.$rootScope.myID=e}),o.$rootScope.$on("user_auth",e=>{let t=e.detail;this.myID=o.$rootScope.myID=t?t.id:0}),o.$rootScope.$on("history_append",e=>{let t=e.detail;this.scrolledAllDown?this.renderNewMessagesByIDs([t.messageID],!0):this.setPeer(this.peerID,0)}),o.$rootScope.$on("history_update",e=>{let t=e.detail;if(t.mid&&t.peerID==this.peerID){let e=t.mid,i=this.bubbles[e];if(!i)return;let s=r.default.getMessage(e);this.getDateContainerByMessage(s,!1).container.append(i),this.bubbleGroups.addBubble(i,s,!1)}}),o.$rootScope.$on("history_multiappend",e=>{let t=e.detail;if(!(this.peerID in t))return;let i=t[this.peerID];this.renderNewMessagesByIDs(i)}),o.$rootScope.$on("history_delete",e=>{let t=e.detail;this.deleteMessagesByIDs(Object.keys(t.msgs).map(e=>+e))}),o.$rootScope.$on("dialog_flush",e=>{let t=e.detail.peerID;this.peerID==t&&this.deleteMessagesByIDs(Object.keys(this.bubbles).map(e=>+e))}),o.$rootScope.$on("message_sent",e=>{let{tempID:t,mid:i}=e.detail;this.log("message_sent",e.detail);let s=r.default.getMessage(i);if(s.media)if(s.media.photo){let e=h.default.getPhoto(t);if(e){let t=s.media.photo;t.downloaded=e.downloaded,t.url=e.url}}else if(s.media.document){let e=E.default.getDoc(t);if(e&&e.type&&"sticker"!=e.type){let t=s.media.document;t.downloaded=e.downloaded,t.url=e.url}}let a=this.bubbles[t];if(a){if(this.bubbles[i]=a,s.grouped_id){let e=a.querySelectorAll(".album-item"),t=Object.keys(r.default.groupedMessagesStorage[s.grouped_id]).map(e=>+e).sort((e,t)=>e-t);Array.from(e).forEach((e,i)=>{e.dataset.mid=""+t[i]})}a.classList.remove("is-sending"),a.classList.add("is-sent"),a.dataset.mid=i,this.bubbleGroups.removeBubble(a,t),delete this.bubbles[t]}else this.log.warn("message_sent there is no bubble",e.detail);this.unreadOut.has(t)&&(this.unreadOut.delete(t),this.unreadOut.add(i))}),o.$rootScope.$on("message_edit",e=>{let{peerID:t,mid:i,id:s,justMedia:a}=e.detail;if(t!=this.peerID)return;let o=r.default.getMessage(i),n=this.bubbles[i];if(!n&&o.grouped_id){let e=this.getAlbumBubble(o.grouped_id);n=e.bubble,o=e.message}n&&this.renderMessage(o,!0,!1,n,!1)}),o.$rootScope.$on("messages_downloaded",e=>{e.detail.forEach(e=>{if(this.pinnedMsgID==e){let t=r.default.getMessage(e);this.pinnedMessageContainer.dataset.mid=""+e,this.pinnedMessageContainer.style.display="",this.pinnedMessageContent.innerHTML=t.rReply}this.needUpdate.forEachReverse((t,i)=>{if(t.replyMid==e){let{mid:e,replyMid:t}=this.needUpdate.splice(i,1)[0],s=this.bubbles[e];if(!s)return;let a=r.default.getMessage(e);r.default.getMessage(t).deleted&&delete a.reply_to_mid,this.renderMessage(a,!0,!1,s,!1)}})})}),o.$rootScope.$on("apiUpdate",e=>{let t=e.detail;this.handleUpdate(t)}),window.addEventListener("blur",()=>{g.default.checkAnimations(!0),this.offline=!0,this.updateStatus(),clearInterval(this.updateStatusInterval),window.addEventListener("focus",()=>{g.default.checkAnimations(!1),this.offline=!1,this.updateStatus(),this.updateStatusInterval=window.setInterval(()=>this.updateStatus(),5e4)},{once:!0})}),this.pageEl.querySelector(".person").addEventListener("click",e=>{p.default.toggleSidebar(!0)}),this.bubblesContainer.addEventListener("click",e=>{var t;let i=e.target,s=null;try{s=o.findUpClassName(i,"bubble")}catch(e){}if(!s)return;let a=o.findUpClassName(i,"contact");if(a)this.setPeer(+a.dataset.peerID);else if("SPAN"!=i.tagName){if("IMG"==i.tagName&&!i.classList.contains("emoji")&&"AVATAR-ELEMENT"!=i.parentElement.tagName||"image"==i.tagName||i.classList.contains("album-item")||"VIDEO"==i.tagName&&!s.classList.contains("round")){let e=+(null===(t=o.findUpClassName(i,"album-item"))||void 0===t?void 0:t.dataset.mid)||+s.dataset.mid,a=r.default.getMessage(e);if(!a)return void this.log.warn("no message by messageID:",e);let n=[],l=Object.keys(this.bubbles).map(e=>+e).filter(e=>{let t=r.default.getMessage(e);return t.media&&(t.media.photo||t.media.document&&("video"==t.media.document.type||"gif"==t.media.document.type)||t.media.webpage&&(t.media.webpage.document||t.media.webpage.photo))}).sort((e,t)=>e-t);l.forEach(e=>{let t=this.bubbles[e].querySelectorAll(".album-item img, .album-item video, .preview img, .preview video, .bubble__media-container");Array.from(t).forEach(t=>{let i=o.findUpClassName(t,"album-item");n.push({element:t,mid:+(null==i?void 0:i.dataset.mid)||e})})});let d=n.findIndex(t=>t.mid==e);this.log("open mediaViewer single with ids:",l,d,n),f.default.openMedia(a,n[d].element,!0,this.scroll.parentElement,n.slice(0,d),n.slice(d+1))}if(-1===["IMG","DIV"].indexOf(i.tagName)&&(i=o.findUpTag(i,"DIV")),"DIV"==i.tagName||"AVATAR-ELEMENT"==i.tagName){if(i.classList.contains("goto-original")){let e=s.dataset.savedFrom.split("_"),t=+e[0],i=+e[1];return void this.setPeer(t,i)}if("AVATAR-ELEMENT"==i.tagName||i.classList.contains("name")){let e=+i.dataset.peerID;return void(isNaN(e)||this.setPeer(e))}let t=!1;try{t=!!o.findUpClassName(e.target,"reply")}catch(e){}if(t&&s.classList.contains("is-reply")){let e=+s.getAttribute("data-original-mid");this.setPeer(this.peerID,e)}}else if("IMG"==i.tagName&&"AVATAR-ELEMENT"==i.parentElement.tagName){let e=+i.parentElement.dataset.peerID;isNaN(e)||this.setPeer(e)}}else{let e=i.parentElement.querySelector("video");e&&e.click()}}),this.searchBtn.addEventListener("click",e=>{this.peerID&&p.default.beginSearch()}),this.pinnedMessageContainer.addEventListener("click",e=>{e.preventDefault(),e.cancelBubble=!0;let t=+this.pinnedMessageContainer.getAttribute("data-mid");this.setPeer(this.peerID,t)}),this.btnMenuMute.addEventListener("click",()=>this.mutePeer(this.peerID)),this.btnMute.addEventListener("click",()=>this.mutePeer(this.peerID));document.body.addEventListener("keydown",e=>{let t=e.target;if(this.chatInputC.attachMediaPopUp.container.classList.contains("active"))return"INPUT"!=t.tagName&&this.chatInputC.attachMediaPopUp.captionInput.focus(),void("Enter"==e.key?this.chatInputC.attachMediaPopUp.sendBtn.click():"Escape"==e.key&&this.chatInputC.attachMediaPopUp.container.classList.remove("active"));if("Escape"==e.key)f.default.wholeDiv.classList.contains("active")?f.default.buttons.close.click():I.default.container.classList.contains("active")?I.default.close():this.chatInputC.replyElements.container.classList.contains("active")?this.chatInputC.replyElements.cancelBtn.click():0!=this.peerID&&this.setPeer(0);else{if("Meta"==e.key||"Control"==e.key)return;if("c"==e.key&&(e.ctrlKey||e.metaKey)&&"INPUT"!=t.tagName)return}e.target!=this.chatInputC.messageInput&&"INPUT"!=t.tagName&&(this.chatInputC.messageInput.focus(),o.placeCaretAtEnd(this.chatInputC.messageInput))}),this.goDownBtn.addEventListener("click",()=>{let e=r.default.getDialogByPeerID(this.peerID)[0];e?this.setPeer(this.peerID,e.top_message):(this.log("will scroll down 3"),this.scroll.scrollTop=this.scroll.scrollHeight)}),this.updateStatusInterval=window.setInterval(()=>this.updateStatus(),5e4),this.updateStatus(),setInterval(()=>this.setPeerStatus(),6e4),this.setScroll(),this.stickyIntersector=new C.default(this.scrollable.container,(e,t)=>{for(let i in this.dateMessages){let s=this.dateMessages[i];if(s.container==t){s.div.classList.toggle("is-sticky",e);break}}}),this.unreadedObserver=new IntersectionObserver(e=>{let t=[];if(e.forEach(e=>{if(e.isIntersecting){let i=e.target,s=+i.dataset.mid;t.push(s),this.unreadedObserver.unobserve(i),this.unreaded.findAndSplice(e=>e==s)}}),t.length){let e=Math.max(...t),i=t.length;for(let t=this.unreaded.length-1;t>=0;--t){this.unreaded[t]<e&&(i++,this.unreaded.splice(t,1))}this.log("will readHistory by ids:",e,i),r.default.readHistory(this.peerID,e,i).catch(t=>{this.log.error("readHistory err:",t),r.default.readHistory(this.peerID,e,i)})}})}updateStatus(){return this.myID?(n.default.setUserStatus(this.myID,this.offline),a.default.invokeApi("account.updateStatus",{offline:this.offline})):Promise.resolve()}getAlbumBubble(e){let t=r.default.groupedMessagesStorage[e];for(let e in t){let t=+e;if(this.bubbles[t])return{bubble:this.bubbles[t],message:r.default.getMessage(t)}}return null}loadMoreHistory(e){if(this.log("loadMoreHistory",e),!this.peerID||this.setPeerPromise||e&&this.getHistoryTopPromise||!e&&this.getHistoryBottomPromise)return;let t=Object.keys(this.bubbles).map(e=>+e).filter(e=>e>0).sort((e,t)=>e-t);if(!t.length)return;if(e&&!this.scrolledAll&&(this.log("Will load more (up) history by id:",t[0],"maxID:",t[t.length-1],t),this.getHistory(t[0],!0)),this.scrolledAllDown)return;let i=r.default.getDialogByPeerID(this.peerID)[0];e||i&&-1!==t.indexOf(i.top_message)||(this.log("Will load more (down) history by maxID:",t[t.length-1],t),this.getHistory(t[t.length-1],!1,!0))}onScroll(){this.onScrollRAF&&window.cancelAnimationFrame(this.onScrollRAF),this.onScrollRAF=window.requestAnimationFrame(()=>{g.default.checkAnimations(!1,"chat"),this.isScrollingTimeout?clearTimeout(this.isScrollingTimeout):this.chatInner.classList.contains("is-scrolling")||this.chatInner.classList.add("is-scrolling"),this.isScrollingTimeout=setTimeout(()=>{this.chatInner.classList.remove("is-scrolling"),this.isScrollingTimeout=0},300),this.scroll.scrollHeight-Math.round(this.scroll.scrollTop+this.scroll.offsetHeight)<=1?(this.scroll.parentElement.classList.add("scrolled-down"),this.scrolledDown=!0):this.scroll.parentElement.classList.contains("scrolled-down")&&(this.scroll.parentElement.classList.remove("scrolled-down"),this.scrolledDown=!1),this.onScrollRAF=0})}setScroll(){this.scrollable=new M.default(this.bubblesContainer,"y","IM",this.chatInner,300),this.scroll=this.scrollable.container,this.bubblesContainer.append(this.goDownBtn),this.scrollable.onScrolledTop=()=>this.loadMoreHistory(!0),this.scrollable.onScrolledBottom=()=>this.loadMoreHistory(!1),this.scroll.addEventListener("scroll",this.onScroll.bind(this)),this.scroll.parentElement.classList.add("scrolled-down")}setPeerStatus(e=!1){if(this.myID)if(this.peerID<0){let t=l.default.getPeer(this.peerID),i=l.default.isChannel(this.peerID)&&!l.default.isMegagroup(this.peerID);this.subtitleEl.classList.remove("online"),p.default.profileElements.subtitle.classList.remove("online"),e&&(this.subtitleEl.innerText=p.default.profileElements.subtitle.innerText=""),d.default.getChatFull(t.id).then(e=>{this.log("chatInfo res:",e),e.pinned_msg_id&&(this.pinnedMsgID=e.pinned_msg_id,r.default.wrapSingleMessage(e.pinned_msg_id));let s=e.participants_count||e.participants&&e.participants.participants&&e.participants.participants.length;if(s){let e=o.numberWithCommas(s)+" "+(i?"subscribers":"members");if(this.subtitleEl.innerText=p.default.profileElements.subtitle.innerText=e,s<2)return;v.default.getOnlines(t.id).then(t=>{t>1&&(e+=", "+o.numberWithCommas(t)+" online"),this.subtitleEl.innerText=p.default.profileElements.subtitle.innerText=e})}})}else if(n.default.isBot(this.peerID))this.subtitleEl.innerText="bot",p.default.profileElements.subtitle.innerText="bot";else{let e=n.default.getUser(this.peerID);if(this.myID==this.peerID)this.subtitleEl.innerText=p.default.profileElements.subtitle.innerText="";else if(e&&e.status){let t=n.default.getUserStatusString(e.id);"online"==t&&(this.subtitleEl.classList.add("online"),p.default.profileElements.subtitle.classList.add("online")),p.default.profileElements.subtitle.innerText=t,this.typingUsers[this.peerID]==this.peerID?(this.subtitleEl.innerText="typing...",this.subtitleEl.classList.add("online")):(this.subtitleEl.innerText=t,"online"!=t&&(this.subtitleEl.classList.remove("online"),p.default.profileElements.subtitle.classList.remove("online")))}}}cleanup(e=!1){this.scrolledAll=!1,this.scrolledAllDown=!1,this.bubbles={},this.dateMessages={},this.bubbleGroups.cleanup(),this.unreadOut.clear(),this.needUpdate.length=0,this.lazyLoadQueue.clear(),this.chatInputC.messageInput.innerHTML="",this.chatInputC.replyElements.cancelBtn.click(),e&&(this.scrollable.container.innerHTML=""),this.peerChanged=!1,this.firstUnreadBubble=null,this.attachedUnreadBubble=!1,this.messagesQueue.length=0,this.messagesQueuePromise=null,g.default.checkAnimations(!1,"chat",!0),this.getHistoryTopPromise=this.getHistoryBottomPromise=void 0,this.stickyIntersector.disconnect(),this.unreadedObserver.disconnect(),this.unreaded.length=0,this.loadedTopTimes=this.loadedBottomTimes=0,this.cleanupID++}setPeer(e,t){var i;if(0==e)return p.default.toggleSidebar(!1),this.topbar.style.display=this.chatInput.style.display=this.goDownBtn.style.display="none",this.cleanup(!0),this.peerID=o.$rootScope.selectedPeerID=0,o.$rootScope.$broadcast("peer_changed",this.peerID),!1;const s=this.peerID==e;if(this.setPeerPromise&&s)return this.setPeerPromise;const a=r.default.getDialogByPeerID(e)[0]||null,n=t<=0?t:null!==(i=null==a?void 0:a.top_message)&&void 0!==i?i:0,l=void 0!==t;if(!l&&a&&(t=a.unread_count&&!s?a.read_inbox_max_id:a.top_message),s){if(this.bubbles[t])return a&&t==n?(this.log("will scroll down",this.scroll.scrollTop,this.scroll.scrollHeight),this.scroll.scrollTop=this.scroll.scrollHeight):l&&(this.scrollable.scrollIntoView(this.bubbles[t]),this.highlightBubble(this.bubbles[t])),!0}else p.default.searchCloseBtn.click();this.peerID=o.$rootScope.selectedPeerID=e,this.log("setPeer peerID:",this.peerID,a,t,n);const d=t!=n,c=d?0:n,u=s&&Math.max(...Object.keys(this.bubbles).map(e=>+e)),h=this.chatInner;this.cleanup(),this.chatInner=document.createElement("div"),this.chatInner.id="bubbles-inner",this.scrollable.appendTo=this.chatInner,this.chatInner.className=h.className,this.chatInner.classList.add("disable-hover","is-scrolling"),this.lazyLoadQueue.lock();const{promise:m,cached:g}=this.getHistory(t,!0,d,c);return s?this.peerChanged=!0:p.default.setPeer(this.peerID),g||(this.scrollable.container.innerHTML="",!s&&this.finishPeerChange(),this.preloader.attach(this.bubblesContainer)),this.setPeerPromise=Promise.all([m.then(()=>{if(g?(this.scrollable.container.innerHTML="",!s&&this.finishPeerChange()):this.preloader.detach(),this.scrollable.container.append(this.chatInner),this.lazyLoadQueue.unlock(),a&&t&&t!=n&&(this.bubbles[t]||this.firstUnreadBubble)){this.scrollable.scrollLocked&&(clearTimeout(this.scrollable.scrollLocked),this.scrollable.scrollLocked=0);const e=u>0&&(u<t||t<0),i=a.read_inbox_max_id==t;e||!s&&!i||(this.scrollable.scrollTop=this.scrollable.scrollHeight);const o=i&&this.firstUnreadBubble||this.bubbles[t];this.scrollable.scrollIntoView(o,s),i||this.highlightBubble(o)}else this.scrollable.scrollTop=this.scrollable.scrollHeight;return t&&!this.bubbles[n]&&t!=n||(this.scrolledAllDown=!0),this.log("scrolledAllDown:",this.scrolledAllDown),this.scrolledAllDown&&a&&r.default.readHistory(e,a.top_message),this.chatInner.classList.remove("disable-hover","is-scrolling"),!0}).catch(e=>{throw this.log.error("getHistory promise error:",e),e})]).catch(e=>(this.log.error("setPeer promises error:",e),this.preloader.detach(),!1)).then(t=>(this.peerID==e&&(this.setPeerPromise=null),!!t)),p.default.setLoadMutex(this.setPeerPromise),p.default.loadSidebarMedia(!0),this.setPeerPromise}finishPeerChange(){if(this.peerChanged)return;let e=this.peerID;this.peerChanged=!0,this.avatarEl.setAttribute("peer",""+this.peerID);const t=l.default.isChannel(e),i=t&&v.default.hasRights(-e,"send");this.chatInner.classList.toggle("has-rights",i),this.chatInput.style.display=!t||i?"":"none",this.topbar.style.display="",this.chatInner.classList.toggle("is-chat",l.default.isAnyGroup(e)||e==this.myID),this.chatInner.classList.toggle("is-channel",t),this.pinnedMessageContainer.style.display="none",this.btnMute.style.display=l.default.isBroadcast(e)?"":"none",window.requestAnimationFrame(()=>{let e="";e=this.peerID==this.myID?"Saved Messages":l.default.getPeerTitle(this.peerID),this.titleEl.innerHTML=p.default.profileElements.name.innerHTML=e,this.goDownBtn.style.display="",this.setPeerStatus(!0)}),p.default.fillProfileElements(),o.$rootScope.$broadcast("peer_changed",this.peerID)}setTyping(e){if(!this.peerID)return Promise.resolve(!1);"string"==typeof e&&(e={_:e});let t=l.default.getInputPeerByID(this.peerID);return a.default.invokeApi("messages.setTyping",{peer:t,action:e})}updateUnreadByDialog(e){let t=this.peerID==this.myID?e.read_inbox_max_id:e.read_outbox_max_id;for(let e of this.unreadOut)if(e>0&&e<=t){let t=this.bubbles[e];t&&(t.classList.remove("is-sent"),t.classList.add("is-read")),this.unreadOut.delete(e)}}deleteMessagesByIDs(e){e.forEach(e=>{if(!(e in this.bubbles))return;let t=this.bubbles[e];delete this.bubbles[e],this.firstUnreadBubble==t&&(this.firstUnreadBubble=null),this.bubbleGroups.removeBubble(t,e),this.unreadedObserver.unobserve(t),this.scrollable.removeElement(t)}),g.default.checkAnimations(),this.deleteEmptyDateGroups()}renderNewMessagesByIDs(e,t=this.scrolledDown){this.scrolledAllDown?(e.forEach(e=>{let t=r.default.getMessage(e);this.renderMessage(t)}),this.messagesQueuePromise&&t&&(this.scrollable.scrollTo(this.scrollable.scrollHeight-1,!1,!0),this.messagesQueuePromise.then(()=>{this.log("messagesQueuePromise after:",this.chatInner.childElementCount,this.scrollable.scrollHeight),this.scrollable.scrollTo(this.scrollable.scrollHeight,!0,!0),setTimeout(()=>{this.log("messagesQueuePromise afterafter:",this.chatInner.childElementCount,this.scrollable.scrollHeight)},10)}))):this.log("seems search is active, skipping render:",e)}highlightBubble(e){e.dataset.timeout&&(clearTimeout(+e.dataset.timeout),e.classList.remove("is-selected"),e.offsetWidth),e.classList.add("is-selected"),e.dataset.timeout=""+setTimeout(()=>{e.classList.remove("is-selected"),delete e.dataset.timeout},2e3)}getDateContainerByMessage(e,t){let i=new Date(1e3*e.date),s=new Date(i.getFullYear(),i.getMonth(),i.getDate()),a=s.getTime();if(!(a in this.dateMessages)){let e="",o=new Date;if(o.setHours(0),o.setMinutes(0),o.setSeconds(0),o<i)e="Today";else{const t=["January","February","March","April","May","June","July","August","September","October","November","December"];e=s.getFullYear()==(new Date).getFullYear()?t[s.getMonth()]+" "+s.getDate():s.toISOString().split("T")[0].split("-").reverse().join(".")}let n=document.createElement("div");n.className="bubble service is-date",n.innerHTML=`<div class="bubble__container"><div class="service-msg">${e}</div></div>`;let r=document.createElement("div");r.className="bubbles-date-group",this.dateMessages[a]={div:n,container:r,firstTimestamp:i.getTime()},r.append(n),t?this.scrollable.prepend(r,!1):this.scrollable.append(r,!1),this.stickyIntersector.observeStickyHeaderChanges(r)}return this.dateMessages[a]}renderMessagesQueue(e,t,i){let s=[];Array.from(t.querySelectorAll("img, video")).forEach(e=>{if(e instanceof HTMLVideoElement){let t=e.firstElementChild;if(!t||!t.src)return void this.log.warn("no source",e,t,"src",t.src);if(e.readyState>=4)return}else if(e.complete||!e.src)return;let t=e.src,i=new Promise((i,s)=>{let a,o=()=>{clearTimeout(r),i()};e instanceof HTMLVideoElement?(e.addEventListener("loadeddata",o),a=()=>e.readyState>=4):(e.addEventListener("load",o),a=()=>e.complete);let n=()=>a()?o():window.requestAnimationFrame(n);window.requestAnimationFrame(n);let r=setTimeout(()=>{console.log("did not called",e,e.parentElement,e.complete,t),s()},1500)});s.push(i)}),this.messagesQueue.push({message:e,bubble:t,reverse:i,promises:s}),this.messagesQueuePromise||(this.messagesQueuePromise=new Promise((e,t)=>{setTimeout(()=>{let i=this.chatInner,s=this.messagesQueue.slice();this.messagesQueue.length=0;let a=s.reduce((e,{promises:t})=>e.concat(t),[]);Promise.all(a).then(()=>{if(this.chatInner!=i)return this.log.warn("chatInner changed!",this.chatInner,i),t("chatInner changed!");this.messagesQueueOnRender&&this.messagesQueueOnRender(),s.forEach(({message:e,bubble:t,reverse:i})=>{let s=this.getDateContainerByMessage(e,i);i?s.container.insertBefore(t,s.div.nextSibling):s.container.append(t)}),e(),this.messagesQueuePromise=null},t)},0)}))}getMiddleware(){let e=this.cleanupID;return()=>this.cleanupID==e}renderMessage(e,t=!1,i=!1,s=null,a=!0){if(this.log("message to render:",e),e.deleted)return;if(e.grouped_id){let t=r.default.groupedMessagesStorage[e.grouped_id],i=Math.max(...Object.keys(t).map(e=>+e));if(e.mid<i)return}let d,c=this.peerID,p=e.fromID==this.myID,m=document.createElement("div");if(m.classList.add("message"),s?(s.className="bubble",d=s.firstElementChild,d.innerHTML="",s==this.firstUnreadBubble&&s.classList.add("is-first-unread")):(d=document.createElement("div"),d.classList.add("bubble__container"),(s=document.createElement("div")).classList.add("bubble"),s.appendChild(d),this.bubbles[+e.mid]=s),s.dataset.mid=e.mid,"messageService"==e._){let i=e.action,n=i._;if(-1!==A.indexOf(n))return s;s.className="bubble service";let r=l.default.getPeerTitle(e.fromID),c=document.createElement("div");c.classList.add("name"),c.dataset.peerID=e.fromID,c.innerHTML=r;let h="";if(i.message)h=u.RichTextProcessor.wrapRichText(i.message,{noLinebreaks:!0});else{"messageActionPhoneCall"==n&&(n+="."+i.type);let e=o.langPack[n];e||(e="["+n+"]"),h=e[0].toUpperCase()==e[0]?e:(c.innerText?c.outerHTML+" ":"")+e}return d.innerHTML=`<div class="service-msg">${h}</div>`,a&&this.renderMessagesQueue(e,s,t),s}let g=new Date(1e3*e.date),f=("0"+g.getHours()).slice(-2)+":"+("0"+g.getMinutes()).slice(-2);e.views&&(s.classList.add("channel-post"),f=o.formatNumber(e.views,1)+' <i class="tgico-channelviews"></i> '+f),e.edit_date&&(s.classList.add("is-edited"),f='<i class="edited">edited</i> '+f);let b=document.createElement("span");b.classList.add("time");let v,y,x=document.createElement("div");if(x.classList.add("inner","tgico"),x.innerHTML=f,e.grouped_id){let t=r.default.groupedMessagesStorage[e.grouped_id],i=0;for(let e in t){let s=t[e];if(s.message){if(++i>1)break;v=s.message,y=s.totalEntities}}i>1&&(v=void 0,y=void 0)}v||y||(v=e.message,y=e.totalEntities);let k=u.RichTextProcessor.wrapRichText(v,{entities:y}),M=e.media;if(y){let e=y.filter(e=>"messageEntityEmoji"==e._),t=v.length;if(e.reduce((e,t)=>e+t.length,0)==t&&e.length<=3){let t=P.default.getAnimatedEmojiSticker(v);if(1==e.length&&!M&&t)M={_:"messageMediaDocument",document:t};else{let t=document.createElement("div");t.classList.add("attachment"),t.innerHTML=k,s.classList.add("emoji-"+e.length+"x"),d.append(t)}s.classList.add("is-message-empty","emoji-big")}else m.innerHTML=k}else m.innerHTML=k;if(b.appendChild(x),m.append(b),d.prepend(m),e.reply_markup&&"replyInlineMarkup"==e.reply_markup._&&e.reply_markup.rows&&e.reply_markup.rows.length){let t=e.reply_markup.rows,i=document.createElement("div");i.classList.add("reply-markup"),t.forEach(t=>{let s=t.buttons;if(!s||!s.length)return;let a=document.createElement("div");a.classList.add("reply-markup-row"),s.forEach(t=>{let i,s=u.RichTextProcessor.wrapRichText(t.text,{noLinks:!0,noLinebreaks:!0});switch(t._){case"keyboardButtonUrl":{let s=n.default.getUser(e.fromID),a=!(s&&s.pFlags&&s.pFlags.verified),o=u.RichTextProcessor.wrapUrl(t.url,a);i=document.createElement("a"),i.href=o,i.rel="noopener noreferrer",i.target="_blank",i.classList.add("is-link","tgico");break}default:i=document.createElement("button")}i.classList.add("reply-markup-button","rp"),i.innerHTML=s,_.ripple(i),a.append(i)}),i.append(a)}),i.addEventListener("click",i=>{let s=i.target;if(s.classList.contains("reply-markup-button")||(s=o.findUpClassName(s,"reply-markup-button")),!s)return;let a=o.whichChild(s),n=t[o.whichChild(s.parentElement)];if(!n.buttons||!n.buttons[a])return void this.log.warn("no such button",n,a,e);let r=n.buttons[a];L.default.callbackButtonClick(e.mid,r)});let s=45*t.length+"px";d.style.marginBottom=s,i.style.bottom="-"+s,d.prepend(i)}if(p){(e.pFlags.unread||e.mid<0)&&this.unreadOut.add(e.mid);let t="";t=e.mid<0?"is-sending":e.pFlags.unread?"is-sent":"is-read",s.classList.add(t)}else e.pFlags.unread&&(this.unreadedObserver.observe(s),this.unreaded.indexOf(e.mid)||this.unreaded.push(e.mid));const D=p&&(!e.fwd_from||this.peerID!=this.myID);if(M){let t=document.createElement("div");t.classList.add("attachment"),v||s.classList.add("is-message-empty");let a=!1;switch(M._){case"messageMediaPending":{let i=M,o=i.preloader;switch(i.type){case"album":this.log("will wrap pending album"),s.classList.add("hide-name","photo","is-album"),w.wrapAlbum({groupID:""+e.id,attachmentDiv:t,uploading:!0,isOut:!0});break;case"photo":this.log("will wrap pending photo:",i,e,h.default.getPhoto(e.id)),w.wrapPhoto(e.id,e,t,void 0,void 0,!0,!0,this.lazyLoadQueue,null),s.classList.add("hide-name","photo");break;case"video":{let a=E.default.getDoc(e.id);this.log("will wrap pending video:",i,e,a),w.wrapVideo({doc:a,container:t,message:e,boxWidth:480,boxHeight:480,withTail:"round"!=a.type,isOut:D,lazyLoadQueue:this.lazyLoadQueue,middleware:null}),o.attach(t,!1),s.classList.add("hide-name","video");break}case"audio":case"document":{let e=w.wrapDocument(i,!1,!0),t=e.querySelector(".document-ico");o.attach(t,!1),s.classList.remove("is-message-empty"),m.classList.add((i.type||"document")+"-message"),m.append(e),a=!0;break}}break}case"messageMediaPhoto":{let i=M.photo;s.classList.add("hide-name","photo"),e.grouped_id?(s.classList.add("is-album"),w.wrapAlbum({groupID:e.grouped_id,attachmentDiv:t,middleware:this.getMiddleware(),isOut:p,lazyLoadQueue:this.lazyLoadQueue})):w.wrapPhoto(i.id,e,t,void 0,void 0,!0,D,this.lazyLoadQueue,this.getMiddleware());break}case"messageMediaWebPage":{a=!0;let t=M.webpage;if("webPageEmpty"==t._)break;s.classList.add("webpage");let i=document.createElement("div");i.classList.add("box","web");let o=document.createElement("div");o.classList.add("quote");let n=null;(t.photo||t.document)&&(n=document.createElement("div"),n.classList.add("preview"));let r=null;t.document&&(r=t.document,"gif"==r.type||"video"==r.type?(s.classList.add("video"),w.wrapVideo({doc:r,container:n,message:e,boxWidth:480,boxHeight:400,lazyLoadQueue:this.lazyLoadQueue,middleware:this.getMiddleware(),isOut:D})):r=null),n&&o.append(n);let l=document.createElement("div");if(l.classList.add("quote-text"),t.site_name){let e=document.createElement("a");e.classList.add("name"),e.setAttribute("target","_blank"),e.href=t.url||"#",e.innerHTML=u.RichTextProcessor.wrapEmojiText(t.site_name),l.append(e)}if(t.title){let e=document.createElement("div");e.classList.add("title"),e.innerHTML=u.RichTextProcessor.wrapRichText(t.title),l.append(e)}if(t.description){let e=document.createElement("div");e.classList.add("text"),e.innerHTML=u.RichTextProcessor.wrapRichText(t.description),l.append(e)}if(o.append(l),t.photo&&!r){s.classList.add("photo");const i=t.photo.sizes[t.photo.sizes.length-1];i.w==i.h&&l.childElementCount?s.classList.add("is-square-photo"):i.h>i.w&&s.classList.add("is-vertical-photo"),w.wrapPhoto(t.photo.id,e,n,480,400,!1,null,this.lazyLoadQueue,this.getMiddleware())}i.append(o),d.prepend(b,i);break}case"messageMediaDocument":{let o=M.document;if(o.sticker){s.classList.add("sticker"),o.animated&&s.classList.add("sticker-animated");let a=s.classList.contains("emoji-big")?140:200;h.default.setAttachmentSize(o,t,a,a,!0),d.style.height=t.style.height,d.style.width=t.style.width,w.wrapSticker({doc:o,div:t,middleware:this.getMiddleware(),lazyLoadQueue:this.lazyLoadQueue,group:"chat",play:!!e.pending||!i,emoji:s.classList.contains("emoji-big")?v:void 0});break}if("video"==o.type||"gif"==o.type||"round"==o.type){"round"==o.type&&s.classList.add("round"),s.classList.add("hide-name","video"),e.grouped_id?(s.classList.add("is-album"),w.wrapAlbum({groupID:e.grouped_id,attachmentDiv:t,middleware:this.getMiddleware(),isOut:p,lazyLoadQueue:this.lazyLoadQueue})):w.wrapVideo({doc:o,container:t,message:e,boxWidth:480,boxHeight:480,withTail:"round"!=o.type,isOut:D,lazyLoadQueue:this.lazyLoadQueue,middleware:this.getMiddleware()});break}if("audio/ogg"==o.mime_type){let e=w.wrapDocument(o);s.classList.remove("is-message-empty"),s.classList.add("bubble-audio"),m.append(e),a=!0;break}{let e=w.wrapDocument(o);s.classList.remove("is-message-empty"),m.append(e),m.classList.add((o.type||"document")+"-message"),a=!0;break}}case"messageMediaContact":{let t=document.createElement("div");t.classList.add("contact"),t.dataset.peerID=""+M.user_id,m.classList.add("contact-message"),a=!0;let i=[];e.media.first_name&&i.push(u.RichTextProcessor.wrapEmojiText(e.media.first_name)),e.media.last_name&&i.push(u.RichTextProcessor.wrapEmojiText(e.media.last_name)),t.innerHTML=`\n <div class="contact-details">\n <div class="contact-name">${i.join(" ")}</div>\n <div class="contact-number">${e.media.phone_number?"+"+_.formatPhoneNumber(e.media.phone_number).formatted:"Unknown phone number"}</div>\n </div>`;let o=new X.default;o.setAttribute("peer",""+e.media.user_id),o.classList.add("contact-avatar"),t.prepend(o),s.classList.remove("is-message-empty"),m.append(t);break}case"messageMediaPoll":{s.classList.remove("is-message-empty");let t=w.wrapPoll(e.media.poll.id,e.mid);m.prepend(t);break}default:s.classList.remove("is-message-empty"),m.innerHTML="unrecognized media type: "+e.media._,m.append(b),this.log.warn("unrecognized media type:",e.media._,e)}a||d.append(t)}if(this.peerID<0&&!p||e.fwd_from||e.reply_to_mid){let t=l.default.getPeerTitle(e.fwdFromID||e.fromID);if(e.fwd_from&&!e.fwd_from.from_id&&!e.fwd_from.channel_id&&(t=u.RichTextProcessor.wrapEmojiText(e.fwd_from.from_name),s.classList.add("hidden-profile")),e.fwdFromID||e.fwd_from){if(this.peerID!=this.myID&&s.classList.add("forwarded"),e.savedFrom){let t=document.createElement("div");t.classList.add("goto-original","tgico-next"),d.append(t),s.dataset.savedFrom=e.savedFrom}if(!s.classList.contains("sticker")){let i=document.createElement("div");i.classList.add("name"),i.dataset.peerID=e.fwdFromID,this.peerID==this.myID?(i.style.color=l.default.getPeerColorByID(e.fwdFromID,!1),i.innerHTML=t):i.innerHTML="Forwarded from "+t,d.append(i)}}else{if(e.reply_to_mid){let t=r.default.getMessage(e.reply_to_mid),i=l.default.getPeerTitle(t.fromID,!0)||"";"messageEmpty"==t._&&(r.default.wrapSingleMessage(e.reply_to_mid),this.needUpdate.push({replyMid:e.reply_to_mid,mid:e.mid}),i="Loading..."),t.mid?s.setAttribute("data-original-mid",t.mid):s.setAttribute("data-original-mid",e.reply_to_mid),d.append(w.wrapReply(i,t.message||"",t)),s.classList.add("is-reply")}if(!s.classList.contains("sticker")&&c<0&&c!=e.fromID){let i=document.createElement("div");i.classList.add("name"),i.innerHTML=t,i.style.color=l.default.getPeerColorByID(e.fromID,!1),i.dataset.peerID=e.fromID,d.append(i)}else s.classList.add("hide-name")}if(!p&&this.peerID<0&&(!l.default.isChannel(this.peerID)||l.default.isMegagroup(this.peerID))||this.peerID==this.myID&&!e.reply_to_mid){let t=new X.default;t.classList.add("user-avatar"),!e.fromID&&e.fwd_from&&e.fwd_from.from_name&&t.setAttribute("peer-title",e.fwd_from.from_name),t.setAttribute("peer",""+((e.fwd_from&&this.peerID==this.myID?e.fwdFromID:e.fromID)||0)),this.log("exec loadDialogPhoto",e),d.append(t)}}else s.classList.add("hide-name");return s.classList.add(D?"is-out":"is-in"),a?(this.bubbleGroups.addBubble(s,e,t),this.renderMessagesQueue(e,s,t)):this.bubbleGroups.updateGroupByMessageID(e.mid),s}performHistoryResult(e,t,i,s){e.length||(i?this.scrolledAllDown=!0:this.scrolledAll=!0),e=e.slice(),s&&e.unshift(s);let a=r.default.getDialogByPeerID(this.peerID)[0];if(a&&a.top_message)for(let t of e)if(t==a.top_message){this.scrolledAllDown=!0;break}return console.time("appImManager render history"),new Promise((i,s)=>{let a,o=(t?e.shift:e.pop).bind(e);for(this.scrollable.length>0&&t&&(this.messagesQueueOnRender=()=>{let e=this.scrollable.scrollTop;a=this.scrollable.scrollHeight-e,this.log("performHistoryResult: messagesQueueOnRender, scrollTop:",e,a),this.messagesQueueOnRender=void 0});e.length;){let e=r.default.getMessage(o());this.renderMessage(e,t,!0)}(this.messagesQueuePromise||Promise.resolve()).then(()=>{if(void 0!==a){const e=t?this.scrollable.scrollHeight-a:a;this.log("performHistoryResult: will set scrollTop",this.scrollable.scrollHeight,e,this.scrollable.container.clientHeight),this.scrollable.scrollTop=e}i(!0)},s)}).then(()=>(console.timeEnd("appImManager render history"),!0))}getHistory(e=0,t=!1,i=!1,s=0){let a=this.peerID,o=h.default.windowH/38|0,n=Object.keys(this.bubbles).length>0?Math.max(40,o):o,l=n;let d=0;i&&(d=l,t||(l=0,e+=1));let c,u,p=r.default.getHistory(this.peerID,e,l,d);return p instanceof Promise?(u=!1,c=p.then(o=>(this.log("getHistory not cached result by maxID:",e,t,i,o,a),this.peerID!=a?(this.log.warn("peer changed"),Promise.reject()):this.performHistoryResult(o.history||[],t,i,s)),e=>(this.log.error("getHistory error:",e),t?this.getHistoryTopPromise=void 0:this.getHistoryBottomPromise=void 0,!1))):(u=!0,this.log("getHistory cached result by maxID:",e,t,i,p,a),c=this.performHistoryResult(p.history||[],t,i,s)),t?this.getHistoryTopPromise=c:this.getHistoryBottomPromise=c,c.then(()=>{let e;t?(this.loadedTopTimes++,this.loadedBottomTimes=Math.max(0,--this.loadedBottomTimes)):(this.loadedBottomTimes++,this.loadedTopTimes=Math.max(0,--this.loadedTopTimes)),(t&&this.loadedTopTimes>2||!t&&this.loadedBottomTimes>2)&&(e=Object.keys(this.bubbles).map(e=>+e).sort((e,t)=>e-t));let i=2*n;this.log("getHistory: slice loadedTimes:",t,o,this.loadedTopTimes,this.loadedBottomTimes,e&&e.length,i),e&&e.length>i&&(t?(e=e.slice(i),this.scrolledAllDown=!1):(e=e.slice(0,e.length-i),this.scrolledAll=!1,this.log("getHistory: slice bottom: to:",e.length,l)),this.log("getHistory: will slice ids:",e,t),this.deleteMessagesByIDs(e)),t?this.getHistoryTopPromise=void 0:this.getHistoryBottomPromise=void 0,this.setUnreadDelimiter()}),{cached:u,promise:c}}setUnreadDelimiter(){if(this.attachedUnreadBubble)return;let e=r.default.getDialogByPeerID(this.peerID)[0];if(!(null==e?void 0:e.unread_count))return;let t=e.read_inbox_max_id;if(t=Object.keys(this.bubbles).filter(e=>!this.bubbles[e].classList.contains("is-out")).map(e=>+e).sort((e,t)=>e-t).find(e=>e>t),t&&this.bubbles[t]){let i=this.bubbles[t];this.firstUnreadBubble&&this.firstUnreadBubble!=i&&(this.firstUnreadBubble.classList.remove("is-first-unread"),this.firstUnreadBubble=null),t!=e.top_message&&i.classList.add("is-first-unread"),this.firstUnreadBubble=i,this.attachedUnreadBubble=!0}}deleteEmptyDateGroups(){for(let e in this.dateMessages){let t=this.dateMessages[e];2==t.container.childElementCount&&(t.container.remove(),this.stickyIntersector.unobserve(t.container,t.div),delete this.dateMessages[e])}}setMutedState(e=!1){p.default.profileElements.notificationsCheckbox.checked=!e,p.default.profileElements.notificationsStatus.innerText=e?"Disabled":"Enabled",l.default.isBroadcast(this.peerID)?(this.btnMute.classList.remove("tgico-mute","tgico-unmute"),this.btnMute.classList.add(e?"tgico-unmute":"tgico-mute"),this.btnMute.style.display=""):this.btnMute.style.display="none",this.btnMenuMute.classList.remove("tgico-mute","tgico-unmute"),this.btnMenuMute.classList.add(e?"tgico-unmute":"tgico-mute");let t=this.btnMenuMute.firstElementChild;this.btnMenuMute.innerText=e?"Unmute":"Mute",this.btnMenuMute.appendChild(t)}mutePeer(e){let t={_:"inputNotifyPeer",peer:l.default.getInputPeerByID(e)},i={_:"inputPeerNotifySettings",flags:0,mute_until:0},s=r.default.getDialogByPeerID(e)[0],o=!0;s&&s.notify_settings&&(o=s.notify_settings.mute_until>(Date.now()/1e3|0)),o?i.flags|=2:(i.flags|=4,i.mute_until=2147483647),a.default.invokeApi("account.updateNotifySettings",{peer:t,settings:i}).then(e=>{this.handleUpdate({_:"updateNotifySettings",peer:t,notify_settings:i})})}handleUpdate(e){switch(e._){case"updateUserTyping":case"updateChatUserTyping":{if(this.myID==e.user_id)return;var t="updateUserTyping"==e._?e.user_id:-e.chat_id;this.typingUsers[e.user_id]=t,n.default.hasUser(e.user_id)||e.chat_id&&v.default.hasChat(e.chat_id)&&!v.default.isChannel(e.chat_id)&&d.default.getChatFull(e.chat_id),n.default.forceUserOnline(e.user_id);let i=r.default.getDialogByPeerID(t)[0],s=this.peerID==t;this.typingTimeouts[t]?clearTimeout(this.typingTimeouts[t]):i&&(c.default.setTyping(i,n.default.getUser(e.user_id)),s&&this.setPeerStatus()),this.typingTimeouts[t]=setTimeout(()=>{this.typingTimeouts[t]=0,delete this.typingUsers[e.user_id],i&&c.default.unsetTyping(i),this.setPeerStatus()},6e3);break}case"updateNotifySettings":{let{peer:t,notify_settings:i}=e;t=t.peer;let s=l.default.getPeerID(t),a=r.default.getDialogByPeerID(s)[0];if(a&&(a.notify_settings=i),s==this.peerID){let e=!!i.mute_until&&new Date(1e3*i.mute_until)>new Date;this.setMutedState(e)}break}case"updateChatPinnedMessage":case"updateUserPinnedMessage":{let{id:t}=e;this.pinnedMsgID=t,(e.user_id||-e.chat_id||-e.channel_id)==this.peerID&&r.default.wrapSingleMessage(t);break}}}}t.AppImManager=F;const B=new F;window.appImManager=B,t.default=B},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(0),n=a(i(23)),r=a(i(6)),l=a(i(8)),d=a(i(4)),c=i(3),u=a(i(7)),h=a(i(19)),p=a(i(12)),m=a(i(1)),g=a(i(20)),f=i(2),b=a(i(27));class v{constructor(){this.botInfos={},this.usersFull={},this.chatsFull={},this.chatFullPromises={},this.chatParticipantsPromises={},this.savedAvatarURLs={},o.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateChatParticipants":var i=t.participants;void 0!==(r=this.chatsFull[i.id])&&(r.participants=t.participants,o.$rootScope.$broadcast("chat_full_update",t.chat_id));break;case"updateChatParticipantAdd":if(void 0!==(r=this.chatsFull[t.chat_id])){for(var s=0,a=(i=r.participants.participants||[]).length;s<a;s++)if(i[s].user_id==t.user_id)return;i.push({_:"chatParticipant",user_id:t.user_id,inviter_id:t.inviter_id,date:o.tsNow(!0)}),r.participants.version=t.version,o.$rootScope.$broadcast("chat_full_update",t.chat_id)}break;case"updateChatParticipantDelete":var r;if(void 0!==(r=this.chatsFull[t.chat_id]))for(s=0,a=(i=r.participants.participants||[]).length;s<a;s++)if(i[s].user_id==t.user_id)return i.splice(s,1),r.participants.version=t.version,void o.$rootScope.$broadcast("chat_full_update",t.chat_id);break;case"updateChannelPinnedMessage":var l=t.channel_id,d=this.chatsFull[l];void 0!==d&&(d.pinned_msg_id=n.default.getFullMessageID(t.id,l),o.$rootScope.$broadcast("peer_pinned_message",-l))}}),o.$rootScope.$on("chat_update",e=>{let t=e.detail,i=this.chatsFull[t],s=r.default.getChat(t);if(!s.photo||!i)return;let a="chatPhotoEmpty"==s.photo._;if(i.chat_photo&&a!=("photoEmpty"==i.chat_photo._))return delete this.chatsFull[t],void o.$rootScope.$broadcast("chat_full_update",t);if(a)return;let n=s.photo.photo_small,d=l.default.choosePhotoSize(i.chat_photo,0,0);JSON.stringify(n)!==JSON.stringify(d.location)&&(delete this.chatsFull[t],o.$rootScope.$broadcast("chat_full_update",t))})}saveBotInfo(e){let t=e&&e.user_id;if(!t)return!1;let i={};return e.commands.forEach(e=>{i[e.command]=e.description}),this.botInfos[t]={id:t,version:e.version,shareText:e.share_text,description:e.description,commands:i}}getProfile(e,t){return this.usersFull[e]?Promise.resolve(this.usersFull[e]):m.default.invokeApi("users.getFullUser",{id:d.default.getUserInput(e)}).then(i=>(t&&t.phone_number?(i.user.phone=t.phone_number,(t.first_name||t.last_name)&&(i.user.first_name=t.first_name,i.user.last_name=t.last_name),d.default.saveApiUser(i.user)):d.default.saveApiUser(i.user,!0),i.profile_photo&&(i.profile_photo=l.default.savePhoto(i.profile_photo,{user_id:e})),void 0!==i.about&&(i.rAbout=c.RichTextProcessor.wrapRichText(i.about,{noLinebreaks:!0})),i.bot_info&&(i.bot_info=this.saveBotInfo(i.bot_info)),this.usersFull[e]=i))}getPeerBots(e){var t=[];return e>=0&&!d.default.isBot(e)||u.default.isChannel(e)&&!u.default.isMegagroup(e)?Promise.resolve(t):e>=0?this.getProfile(e).then(e=>{var i=e.bot_info;return i&&"botInfoEmpty"!=i._&&t.push(i),t}):this.getChatFull(-e).then(e=>(e.bot_info.forEach(e=>{t.push(this.saveBotInfo(e))}),t))}getChatFull(e){if(r.default.isChannel(e))return this.getChannelFull(e);if(void 0!==this.chatsFull[e]){var t=r.default.getChat(e);if(t.version==this.chatsFull[e].participants.version||t.pFlags.left)return Promise.resolve(this.chatsFull[e])}return void 0!==this.chatFullPromises[e]?this.chatFullPromises[e]:this.chatFullPromises[e]=m.default.invokeApi("messages.getFullChat",{chat_id:e}).then(t=>{r.default.saveApiChats(t.chats),d.default.saveApiUsers(t.users);var i=t.full_chat;return i&&i.chat_photo&&i.chat_photo.id&&(i.chat_photo=l.default.savePhoto(i.chat_photo)),delete this.chatFullPromises[e],this.chatsFull[e]=i,o.$rootScope.$broadcast("chat_full_update",e),i})}getChatInviteLink(e,t){return this.getChatFull(e).then(i=>{if(!t&&i.exported_invite&&"chatInviteExported"==i.exported_invite._)return i.exported_invite.link;let s;return s=r.default.isChannel(e)?m.default.invokeApi("channels.exportInvite",{channel:r.default.getChannelInput(e)}):m.default.invokeApi("messages.exportChatInvite",{chat_id:e}),s.then(t=>(void 0!==this.chatsFull[e]&&(this.chatsFull[e].exported_invite=t),t.link))})}getChannelParticipants(e,t,i,s){i=i||200,s=s||0;let a=[e,(t=t||{_:"channelParticipantsRecent"})._,s,i].join("_"),n=this.chatParticipantsPromises[a];if("channelParticipantsRecent"==t._){let t=r.default.getChat(e);if(t&&t.pFlags&&(t.pFlags.kicked||t.pFlags.broadcast&&!t.pFlags.creator&&!t.admin_rights))return Promise.reject()}let l=a=>{let o=0;if(a){let e=[];a.forEach(t=>{e.push(t.user_id)}),e.sort((e,t)=>e-t),e.forEach(e=>{o=(20261*o+2147483648+e)%2147483648})}return m.default.invokeApi("channels.getParticipants",{channel:r.default.getChannelInput(e),filter:t,offset:s,limit:i,hash:o}).then(e=>"channels.channelParticipantsNotModified"==e._?a:(d.default.saveApiUsers(e.users),e.participants))},c=i=>{let a=r.default.getChat(e);if("channelParticipantsRecent"==t._&&!s&&!a.pFlags.kicked&&!a.pFlags.left){i=o.copy(i);let e,t=d.default.getSelf().id,s=i.findIndex(e=>e.user_id==t);-1!==s?(e=i[s],i.splice(s,1)):e={_:"channelParticipantSelf",user_id:t},i.unshift(e)}return i},u=o.tsNow();if(void 0!==n){let e=n[1];if(n[0]>u-6e4)return e;let t=e.then(e=>l(e).then(c));return this.chatParticipantsPromises[a]=[u,t],t}let h=l().then(c);return this.chatParticipantsPromises[a]=[u,h],h}getChannelFull(e,t){return void 0===this.chatsFull[e]||t?void 0!==this.chatFullPromises[e]?this.chatFullPromises[e]:this.chatFullPromises[e]=m.default.invokeApi("channels.getFullChannel",{channel:r.default.getChannelInput(e)}).then(t=>{r.default.saveApiChats(t.chats),d.default.saveApiUsers(t.users);let i=t.full_chat;return i&&i.chat_photo.id&&(i.chat_photo=l.default.savePhoto(i.chat_photo)),i.pinned_msg_id&&(i.pinned_msg_id=n.default.getFullMessageID(i.pinned_msg_id,e)),delete this.chatFullPromises[e],this.chatsFull[e]=i,o.$rootScope.$broadcast("chat_full_update",e),i},t=>{switch(t.type){case"CHANNEL_PRIVATE":let t=r.default.getChat(e);t={_:"channelForbidden",access_hash:t.access_hash,title:t.title},h.default.processUpdateMessage({_:"updates",updates:[{_:"updateChannel",channel_id:e}],chats:[t],users:[]})}return Promise.reject(t)}):Promise.resolve(this.chatsFull[e])}invalidateChannelParticipants(e){delete this.chatsFull[e],delete this.chatFullPromises[e];for(let t in this.chatParticipantsPromises)+t.split("_")[0]==e&&delete this.chatParticipantsPromises[t];o.$rootScope.$broadcast("chat_full_update",e)}getChannelPinnedMessage(e){return this.getChannelFull(e).then(t=>{let i=t&&t.pinned_msg_id;return!!i&&p.default.get("pinned_hidden"+e).then(e=>n.default.getMessageLocalID(i)!=e&&i)})}hideChannelPinnedMessage(e,t){let i={};i["pinned_hidden"+e]=n.default.getMessageLocalID(t),p.default.set(i),o.$rootScope.$broadcast("peer_pinned_message",-e)}updateProfile(e,t,i){return m.default.invokeApi("account.updateProfile",{flags:7,first_name:e,last_name:t,about:i}).then(e=>{d.default.saveApiUser(e)})}uploadProfilePhoto(e){return m.default.invokeApi("photos.uploadProfilePhoto",{file:e}).then(e=>{d.default.saveApiUsers(e.users),m.default.getUserID().then(t=>{l.default.savePhoto(e.photo,{user_id:t}),h.default.processUpdateMessage({_:"updateShort",update:{_:"updateUserPhoto",user_id:t,date:o.tsNow(!0),photo:d.default.getUser(t).photo,previous:!0}})})})}updateUsername(e){return m.default.invokeApi("account.updateUsername",{username:e}).then(e=>{d.default.saveApiUser(e)})}removeFromAvatarsCache(e){this.savedAvatarURLs[e]&&delete this.savedAvatarURLs[e]}putPhoto(e,t,i=!1,a=""){var n;return s(this,void 0,void 0,(function*(){let s,r;t&&(s=u.default.getInputPeerByID(t),r=u.default.getPeerPhoto(t));let l=o.$rootScope.myID;if(t==l&&i)return e.firstChild&&e.firstChild.remove(),e.style.backgroundColor="",e.classList.add("tgico-savedmessages"),e.classList.remove("tgico-avatar_deletedaccount"),!0;if(t>0){let i=d.default.getUser(t);if(i&&i.pFlags&&i.pFlags.deleted)return e.firstChild&&e.firstChild.remove(),e.style.backgroundColor="",e.classList.add("tgico-avatar_deletedaccount"),!0}e.firstChild&&e.firstChild.remove();let c,h="";if(t&&t!=l&&(h=u.default.getPeerColorByID(t)),e.classList.remove("tgico-savedmessages","tgico-avatar_deletedaccount"),e.style.backgroundColor=h,a){const e=b.default.cleanSearchText(a,!1).split(" "),t=e.shift(),i=e.pop();c=t.charAt(0)+(i?i.charAt(0):"")}else c=null!==(n=u.default.getPeer(t).initials)&&void 0!==n?n:"";if(e.innerText=c.toUpperCase(),!r||r.empty||!r.photo_small)return!0;if(!this.savedAvatarURLs[t]){let e=yield g.default.downloadSmallFile({_:"inputPeerPhotoFileLocation",dc_id:r.dc_id,flags:0,peer:s,volume_id:r.photo_small.volume_id,local_id:r.photo_small.local_id});this.savedAvatarURLs[t]=URL.createObjectURL(e)}let p=new Image;return(yield f.renderImageFromUrl(p,this.savedAvatarURLs[t]))?(e.innerHTML="",e.append(p)):(p.classList.add("fade-in"),p.addEventListener("load",()=>{e.innerHTML="",e.append(p)})),!0}))}}t.AppProfileManager=v,t.default=new v},function(e,t,i){"use strict";
/*!
* Webogram v0.7.0 - messaging web application for MTProto
* https://github.com/zhukov/webogram
* Copyright (C) 2014 Igor Zhukov <igor.beatle@gmail.com>
* https://github.com/zhukov/webogram/blob/master/LICENSE
*/Object.defineProperty(t,"__esModule",{value:!0});const s={Emoji:{"#⃣":6365,"*⃣":6366,"0⃣":6367,"1⃣":6368,"2⃣":6369,"3⃣":6370,"4⃣":6371,"5⃣":6372,"6⃣":6373,"7⃣":6374,"8⃣":6375,"9⃣":6376,"©":6362,"®":6363,"🀄":573,"🃏":572,"🅰":6383,"🅱":6385,"🅾":6394,"🅿":6396,"🆎":6384,"🆑":6386,"🆒":6387,"🆓":6388,"🆔":6390,"🆕":6392,"🆖":6393,"🆗":6395,"🆘":6397,"🆙":6398,"🆚":6399,"🇦🇨":78,"🇦🇩":79,"🇦🇪":710,"🇦🇫":711,"🇦🇬":712,"🇦🇮":713,"🇦🇱":714,"🇦🇲":715,"🇦🇴":716,"🇦🇶":717,"🇦🇷":718,"🇦🇸":719,"🇦🇹":720,"🇦🇺":721,"🇦🇼":722,"🇦🇽":723,"🇦🇿":724,"🇧🇦":725,"🇧🇧":726,"🇧🇩":727,"🇧🇪":728,"🇧🇫":729,"🇧🇬":730,"🇧🇭":731,"🇧🇮":732,"🇧🇯":733,"🇧🇱":734,"🇧🇲":735,"🇧🇳":736,"🇧🇴":737,"🇧🇶":738,"🇧🇷":739,"🇧🇸":740,"🇧🇹":741,"🇧🇻":742,"🇧🇼":743,"🇧🇾":744,"🇧🇿":745,"🇨🇦":746,"🇨🇨":747,"🇨🇩":748,"🇨🇫":749,"🇨🇬":750,"🇨🇭":751,"🇨🇮":752,"🇨🇰":753,"🇨🇱":754,"🇨🇲":755,"🇨🇳":756,"🇨🇴":757,"🇨🇵":758,"🇨🇷":759,"🇨🇺":760,"🇨🇻":761,"🇨🇼":762,"🇨🇽":763,"🇨🇾":764,"🇨🇿":765,"🇩🇪":766,"🇩🇬":767,"🇩🇯":768,"🇩🇰":769,"🇩🇲":770,"🇩🇴":771,"🇩🇿":772,"🇪🇦":773,"🇪🇨":774,"🇪🇪":775,"🇪🇬":776,"🇪🇭":777,"🇪🇷":778,"🇪🇸":779,"🇪🇹":780,"🇪🇺":781,"🇫🇮":782,"🇫🇯":783,"🇫🇰":784,"🇫🇲":785,"🇫🇴":786,"🇫🇷":787,"🇬🇦":788,"🇬🇧":789,"🇬🇩":790,"🇬🇪":791,"🇬🇫":792,"🇬🇬":793,"🇬🇭":794,"🇬🇮":795,"🇬🇱":796,"🇬🇲":797,"🇬🇳":798,"🇬🇵":799,"🇬🇶":7100,"🇬🇷":7101,"🇬🇸":7102,"🇬🇹":7103,"🇬🇺":7104,"🇬🇼":7105,"🇬🇾":7106,"🇭🇰":7107,"🇭🇲":7108,"🇭🇳":7109,"🇭🇷":7110,"🇭🇹":7111,"🇭🇺":7112,"🇮🇨":7113,"🇮🇩":7114,"🇮🇪":7115,"🇮🇱":7116,"🇮🇲":7117,"🇮🇳":7118,"🇮🇴":7119,"🇮🇶":7120,"🇮🇷":7121,"🇮🇸":7122,"🇮🇹":7123,"🇯🇪":7124,"🇯🇲":7125,"🇯🇴":7126,"🇯🇵":7127,"🇰🇪":7128,"🇰🇬":7129,"🇰🇭":7130,"🇰🇮":7131,"🇰🇲":7132,"🇰🇳":7133,"🇰🇵":7134,"🇰🇷":7135,"🇰🇼":7136,"🇰🇾":7137,"🇰🇿":7138,"🇱🇦":7139,"🇱🇧":7140,"🇱🇨":7141,"🇱🇮":7142,"🇱🇰":7143,"🇱🇷":7144,"🇱🇸":7145,"🇱🇹":7146,"🇱🇺":7147,"🇱🇻":7148,"🇱🇾":7149,"🇲🇦":7150,"🇲🇨":7151,"🇲🇩":7152,"🇲🇪":7153,"🇲🇫":7154,"🇲🇬":7155,"🇲🇭":7156,"🇲🇰":7157,"🇲🇱":7158,"🇲🇲":7159,"🇲🇳":7160,"🇲🇴":7161,"🇲🇵":7162,"🇲🇶":7163,"🇲🇷":7164,"🇲🇸":7165,"🇲🇹":7166,"🇲🇺":7167,"🇲🇻":7168,"🇲🇼":7169,"🇲🇽":7170,"🇲🇾":7171,"🇲🇿":7172,"🇳🇦":7173,"🇳🇨":7174,"🇳🇪":7175,"🇳🇫":7176,"🇳🇬":7177,"🇳🇮":7178,"🇳🇱":7179,"🇳🇴":7180,"🇳🇵":7181,"🇳🇷":7182,"🇳🇺":7183,"🇳🇿":7184,"🇴🇲":7185,"🇵🇦":7186,"🇵🇪":7187,"🇵🇫":7188,"🇵🇬":7189,"🇵🇭":7190,"🇵🇰":7191,"🇵🇱":7192,"🇵🇲":7193,"🇵🇳":7194,"🇵🇷":7195,"🇵🇸":7196,"🇵🇹":7197,"🇵🇼":7198,"🇵🇾":7199,"🇶🇦":7200,"🇷🇪":7201,"🇷🇴":7202,"🇷🇸":7203,"🇷🇺":7204,"🇷🇼":7205,"🇸🇦":7206,"🇸🇧":7207,"🇸🇨":7208,"🇸🇩":7209,"🇸🇪":7210,"🇸🇬":7211,"🇸🇭":7212,"🇸🇮":7213,"🇸🇯":7214,"🇸🇰":7215,"🇸🇱":7216,"🇸🇲":7217,"🇸🇳":7218,"🇸🇴":7219,"🇸🇷":7220,"🇸🇸":7221,"🇸🇹":7222,"🇸🇻":7223,"🇸🇽":7224,"🇸🇾":7225,"🇸🇿":7226,"🇹🇦":7227,"🇹🇨":7228,"🇹🇩":7229,"🇹🇫":7230,"🇹🇬":7231,"🇹🇭":7232,"🇹🇯":7233,"🇹🇰":7234,"🇹🇱":7235,"🇹🇲":7236,"🇹🇳":7237,"🇹🇴":7238,"🇹🇷":7239,"🇹🇹":7240,"🇹🇻":7241,"🇹🇼":7242,"🇹🇿":7243,"🇺🇦":7244,"🇺🇬":7245,"🇺🇲":7246,"🇺🇳":7247,"🇺🇸":7248,"🇺🇾":7249,"🇺🇿":7250,"🇻🇦":7251,"🇻🇨":7252,"🇻🇪":7253,"🇻🇬":7254,"🇻🇮":7255,"🇻🇳":7256,"🇻🇺":7257,"🇼🇫":7258,"🇼🇸":7259,"🇽🇰":7260,"🇾🇪":7261,"🇾🇹":7262,"🇿🇦":7263,"🇿🇲":7264,"🇿🇼":7265,"🈁":6400,"🈂":6401,"🈚":6407,"🈯":6404,"🈲":6408,"🈳":6412,"🈴":6411,"🈵":6416,"🈶":6403,"🈷":6402,"🈸":6410,"🈹":6406,"🈺":6415,"🉐":6405,"🉑":6409,"🌀":4197,"🌁":449,"🌂":4199,"🌃":450,"🌄":452,"🌅":453,"🌆":454,"🌇":455,"🌈":4198,"🌉":456,"🌊":4210,"🌋":410,"🌌":4184,"🌍":41,"🌎":42,"🌏":43,"🌐":44,"🌑":4164,"🌒":4165,"🌓":4166,"🌔":4167,"🌕":4168,"🌖":4169,"🌗":4170,"🌘":4171,"🌙":4172,"🌚":4173,"🌛":4174,"🌜":4175,"🌝":4178,"🌞":4179,"🌟":4182,"🌠":4183,"🌡":4176,"🌤":4188,"🌥":4189,"🌦":4190,"🌧":4191,"🌨":4192,"🌩":4193,"🌪":4194,"🌫":4195,"🌬":4196,"🌭":347,"🌮":349,"🌯":350,"🌰":331,"🌱":2116,"🌲":2117,"🌳":2118,"🌴":2119,"🌵":2120,"🌶":323,"🌷":2115,"🌸":2107,"🌹":2110,"🌺":2112,"🌻":2113,"🌼":2114,"🌽":322,"🌾":2121,"🌿":2122,"🍀":2124,"🍁":2125,"🍂":2126,"🍃":2127,"🍄":329,"🍅":316,"🍆":319,"🍇":31,"🍈":32,"🍉":33,"🍊":34,"🍋":35,"🍌":36,"🍍":37,"🍎":39,"🍏":310,"🍐":311,"🍑":312,"🍒":313,"🍓":314,"🍔":344,"🍕":346,"🍖":340,"🍗":341,"🍘":364,"🍙":365,"🍚":366,"🍛":367,"🍜":368,"🍝":369,"🍞":332,"🍟":345,"🍠":370,"🍡":376,"🍢":371,"🍣":372,"🍤":373,"🍥":374,"🍦":385,"🍧":386,"🍨":387,"🍩":388,"🍪":389,"🍫":394,"🍬":395,"🍭":396,"🍮":397,"🍯":398,"🍰":391,"🍱":363,"🍲":356,"🍳":354,"🍴":3118,"🍵":3102,"🍶":3103,"🍷":3105,"🍸":3106,"🍹":3107,"🍺":3108,"🍻":3109,"🍼":399,"🍽":3117,"🍾":3104,"🍿":359,"🎀":517,"🎁":518,"🎂":390,"🎃":51,"🎄":52,"🎅":1326,"🎆":53,"🎇":54,"🎈":57,"🎉":58,"🎊":59,"🎋":510,"🎌":73,"🎍":511,"🎎":512,"🎏":513,"🎐":514,"🎑":515,"🎒":625,"🎓":637,"🎖":522,"🎗":519,"🎙":656,"🎚":657,"🎛":658,"🎞":689,"🎟":520,"🎠":458,"🎡":459,"🎢":460,"🎣":549,"🎤":659,"🎥":688,"🎦":6324,"🎧":660,"🎨":577,"🎩":636,"🎪":462,"🎫":521,"🎬":691,"🎭":575,"🎮":561,"🎯":555,"🎰":563,"🎱":558,"🎲":564,"🎳":537,"🎴":574,"🎵":654,"🎶":655,"🎷":662,"🎸":663,"🎹":664,"🎺":665,"🎻":666,"🎼":653,"🎽":551,"🎾":535,"🎿":552,"🏀":531,"🏁":71,"🏂":1397,"🏃‍♀":1381,"🏃‍♂":1380,"🏃":1379,"🏄‍♀":1403,"🏄‍♂":1402,"🏄":1401,"🏅":524,"🏆":523,"🏇":1395,"🏈":533,"🏉":534,"🏊‍♀":1409,"🏊‍♂":1408,"🏊":1407,"🏋‍♀":1415,"🏋‍♂":1414,"🏋":1413,"🏌‍♀":1400,"🏌‍♂":1399,"🏌":1398,"🏍":492,"🏎":491,"🏏":538,"🏐":532,"🏑":539,"🏒":540,"🏓":542,"🏔":48,"🏕":412,"🏖":413,"🏗":419,"🏘":421,"🏙":451,"🏚":422,"🏛":418,"🏜":414,"🏝":415,"🏞":416,"🏟":417,"🏠":423,"🏡":424,"🏢":425,"🏣":426,"🏤":427,"🏥":428,"🏦":429,"🏧":6234,"🏨":430,"🏩":431,"🏪":432,"🏫":433,"🏬":434,"🏭":435,"🏮":6102,"🏯":436,"🏰":437,"🏳‍🌈":76,"🏳":75,"🏴‍☠":77,"🏴󠁧󠁢󠁥󠁮󠁧󠁿":7266,"🏴󠁧󠁢󠁳󠁣󠁴󠁿":7267,"🏴󠁧󠁢󠁷󠁬󠁳󠁿":7268,"🏴":74,"🏵":2109,"🏷":6120,"🏸":543,"🏹":6189,"🏺":3121,"🏻":81,"🏼":82,"🏽":83,"🏾":84,"🏿":85,"🐀":244,"🐁":243,"🐂":225,"🐃":226,"🐄":227,"🐅":217,"🐆":218,"🐇":247,"🐈":214,"🐉":282,"🐊":277,"🐋":286,"🐌":294,"🐍":280,"🐎":220,"🐏":232,"🐐":234,"🐑":233,"🐒":22,"🐓":262,"🐔":261,"🐕‍🦺":28,"🐕":26,"🐖":229,"🐗":230,"🐘":239,"🐙":292,"🐚":293,"🐛":296,"🐜":297,"🐝":298,"🐞":299,"🐟":288,"🐠":289,"🐡":290,"🐢":278,"🐣":263,"🐤":264,"🐥":265,"🐦":266,"🐧":267,"🐨":252,"🐩":29,"🐪":235,"🐫":236,"🐬":287,"🐭":242,"🐮":224,"🐯":216,"🐰":246,"🐱":213,"🐲":281,"🐳":285,"🐴":219,"🐵":21,"🐶":25,"🐷":228,"🐸":276,"🐹":245,"🐺":210,"🐻":251,"🐼":253,"🐽":231,"🐾":259,"🐿":248,"👀":1194,"👁‍🗨":1145,"👁":1195,"👂":1188,"👃":1190,"👄":1197,"👅":1196,"👆":1164,"👇":1166,"👈":1162,"👉":1163,"👊":1171,"👋":1150,"👌":1155,"👍":1168,"👎":1169,"👏":1174,"👐":1176,"👑":634,"👒":635,"👓":61,"👔":66,"👕":67,"👖":68,"👗":613,"👘":614,"👙":619,"👚":620,"👛":621,"👜":622,"👝":623,"👞":626,"👟":627,"👠":630,"👡":631,"👢":633,"👣":1483,"👤":1481,"👥":1482,"👦":1200,"👧":1201,"👨‍🌾":1267,"👨‍🍳":1270,"👨‍🎓":1258,"👨‍🎤":1288,"👨‍🎨":1291,"👨‍🏫":1261,"👨‍🏭":1276,"👨‍👦‍👦":1471,"👨‍👦":1470,"👨‍👧‍👦":1473,"👨‍👧‍👧":1474,"👨‍👧":1472,"👨‍👨‍👦":1460,"👨‍👨‍👦‍👦":1463,"👨‍👨‍👧":1461,"👨‍👨‍👧‍👦":1462,"👨‍👨‍👧‍👧":1464,"👨‍👩‍👦":1455,"👨‍👩‍👦‍👦":1458,"👨‍👩‍👧":1456,"👨‍👩‍👧‍👦":1457,"👨‍👩‍👧‍👧":1459,"👨‍💻":1285,"👨‍💼":1279,"👨‍🔧":1273,"👨‍🔬":1282,"👨‍🚀":1297,"👨‍🚒":1300,"👨‍🦯":1371,"👨‍🦰":1206,"👨‍🦱":1207,"👨‍🦲":1209,"👨‍🦳":1208,"👨‍🦼":1374,"👨‍🦽":1377,"👨‍⚕":1255,"👨‍⚖":1264,"👨‍✈":1294,"👨‍❤‍👨":1452,"👨‍❤‍💋‍👨":1448,"👨":1204,"👩‍🌾":1268,"👩‍🍳":1271,"👩‍🎓":1259,"👩‍🎤":1289,"👩‍🎨":1292,"👩‍🏫":1262,"👩‍🏭":1277,"👩‍👦‍👦":1476,"👩‍👦":1475,"👩‍👧‍👦":1478,"👩‍👧‍👧":1479,"👩‍👧":1477,"👩‍👩‍👦":1465,"👩‍👩‍👦‍👦":1468,"👩‍👩‍👧":1466,"👩‍👩‍👧‍👦":1467,"👩‍👩‍👧‍👧":1469,"👩‍💻":1286,"👩‍💼":1280,"👩‍🔧":1274,"👩‍🔬":1283,"👩‍🚀":1298,"👩‍🚒":1301,"👩‍🦯":1372,"👩‍🦰":1211,"👩‍🦱":1213,"👩‍🦲":1217,"👩‍🦳":1215,"👩‍🦼":1375,"👩‍🦽":1378,"👩‍⚕":1256,"👩‍⚖":1265,"👩‍✈":1295,"👩‍❤‍👨":1451,"👩‍❤‍👩":1453,"👩‍❤‍💋‍👨":1447,"👩‍❤‍💋‍👩":1449,"👩":1210,"👪":1454,"👫":1444,"👬":1445,"👭":1443,"👮‍♀":1304,"👮‍♂":1303,"👮":1302,"👯‍♀":1387,"👯‍♂":1386,"👯":1385,"👰":1322,"👱‍♀":1219,"👱‍♂":1220,"👱":1203,"👲":1319,"👳‍♀":1318,"👳‍♂":1317,"👳":1316,"👴":1222,"👵":1223,"👶":1198,"👷‍♀":1313,"👷‍♂":1312,"👷":1311,"👸":1315,"👹":197,"👺":198,"👻":199,"👼":1325,"👽":1100,"👾":1101,"👿":192,"💀":193,"💁‍♀":1238,"💁‍♂":1237,"💁":1236,"💂‍♀":1310,"💂‍♂":1309,"💂":1308,"💃":1382,"💄":641,"💅":1181,"💆‍♀":1357,"💆‍♂":1356,"💆":1355,"💇‍♀":1360,"💇‍♂":1359,"💇":1358,"💈":461,"💉":6208,"💊":6210,"💋":1115,"💌":1116,"💍":642,"💎":643,"💏":1446,"💐":2106,"💑":1450,"💒":438,"💓":1121,"💔":1126,"💕":1123,"💖":1119,"💗":1120,"💘":1117,"💙":1131,"💚":1130,"💛":1129,"💜":1132,"💝":1118,"💞":1122,"💟":1124,"💠":6447,"💡":6100,"💢":1137,"💣":1143,"💤":1149,"💥":1138,"💦":1140,"💧":4209,"💨":1141,"💩":195,"💪":1183,"💫":1139,"💬":1144,"💭":1148,"💮":2108,"💯":1136,"💰":6121,"💱":6130,"💲":6131,"💳":6127,"💴":6122,"💵":6123,"💶":6124,"💷":6125,"💸":6126,"💹":6129,"💺":4123,"💻":677,"💼":6152,"💽":683,"💾":684,"💿":685,"📀":686,"📁":6153,"📂":6154,"📃":6113,"📄":6115,"📅":6156,"📆":6157,"📇":6160,"📈":6161,"📉":6162,"📊":6163,"📋":6164,"📌":6165,"📍":6166,"📎":6167,"📏":6169,"📐":6170,"📑":6118,"📒":6112,"📓":6111,"📔":6104,"📕":6105,"📖":6106,"📗":6107,"📘":6108,"📙":6109,"📚":6110,"📛":6337,"📜":6114,"📝":6151,"📞":672,"📟":673,"📠":674,"📡":6207,"📢":648,"📣":649,"📤":6136,"📥":6137,"📦":6138,"📧":6133,"📨":6134,"📩":6135,"📪":6140,"📫":6139,"📬":6141,"📭":6142,"📮":6143,"📯":650,"📰":6116,"📱":669,"📲":670,"📳":6328,"📴":6329,"📵":6256,"📶":6327,"📷":693,"📸":694,"📹":695,"📺":692,"📻":661,"📼":696,"📽":690,"📿":640,"🔀":6306,"🔁":6307,"🔂":6308,"🔃":6274,"🔄":6275,"🔅":6325,"🔆":6326,"🔇":644,"🔈":645,"🔉":646,"🔊":647,"🔋":675,"🔌":676,"🔍":697,"🔎":698,"🔏":6177,"🔐":6178,"🔑":6179,"🔒":6175,"🔓":6176,"🔔":651,"🔕":652,"🔖":6119,"🔗":6197,"🔘":6448,"🔙":6276,"🔚":6277,"🔛":6278,"🔜":6279,"🔝":6280,"🔞":6257,"🔟":6377,"🔠":6378,"🔡":6379,"🔢":6380,"🔣":6381,"🔤":6382,"🔥":4208,"🔦":6101,"🔧":6191,"🔨":6181,"🔩":6192,"🔪":3120,"🔫":6188,"🔬":6205,"🔭":6206,"🔮":559,"🔯":6292,"🔰":6338,"🔱":6336,"🔲":6450,"🔳":6449,"🔴":6417,"🔵":6421,"🔶":6441,"🔷":6442,"🔸":6443,"🔹":6444,"🔺":6445,"🔻":6446,"🔼":6316,"🔽":6318,"🕉":6283,"🕊":268,"🕋":446,"🕌":442,"🕍":444,"🕎":6291,"🕐":4142,"🕑":4144,"🕒":4146,"🕓":4148,"🕔":4150,"🕕":4152,"🕖":4154,"🕗":4156,"🕘":4158,"🕙":4160,"🕚":4162,"🕛":4140,"🕜":4143,"🕝":4145,"🕞":4147,"🕟":4149,"🕠":4151,"🕡":4153,"🕢":4155,"🕣":4157,"🕤":4159,"🕥":4161,"🕦":4163,"🕧":4141,"🕯":699,"🕰":4139,"🕳":1142,"🕴":1384,"🕵‍♀":1307,"🕵‍♂":1306,"🕵":1305,"🕶":62,"🕷":2101,"🕸":2102,"🕹":562,"🕺":1383,"🖇":6168,"🖊":6148,"🖋":6147,"🖌":6149,"🖍":6150,"🖐":1152,"🖕":1165,"🖖":1154,"🖤":1134,"🖥":678,"🖨":679,"🖱":681,"🖲":682,"🖼":576,"🗂":6155,"🗃":6172,"🗄":6173,"🗑":6174,"🗒":6158,"🗓":6159,"🗜":6194,"🗝":6180,"🗞":6117,"🗡":6186,"🗣":1480,"🗨":1146,"🗯":1147,"🗳":6144,"🗺":45,"🗻":411,"🗼":439,"🗽":440,"🗾":46,"🗿":6233,"😀":11,"😁":14,"😂":18,"😃":12,"😄":13,"😅":16,"😆":15,"😇":113,"😈":191,"😉":111,"😊":112,"😋":122,"😌":142,"😍":115,"😎":160,"😏":137,"😐":134,"😑":135,"😒":138,"😓":183,"😔":143,"😕":163,"😖":180,"😗":118,"😘":117,"😙":121,"😚":120,"😛":123,"😜":124,"😝":126,"😞":182,"😟":164,"😠":189,"😡":188,"😢":177,"😣":181,"😤":187,"😥":176,"😦":172,"😧":173,"😨":174,"😩":184,"😪":144,"😫":185,"😬":140,"😭":178,"😮":167,"😯":168,"😰":175,"😱":179,"😲":169,"😳":170,"😴":146,"😵":156,"😶":136,"😷":147,"😸":1104,"😹":1105,"😺":1103,"😻":1106,"😼":1107,"😽":1108,"😾":1111,"😿":1110,"🙀":1109,"🙁":165,"🙂":19,"🙃":110,"🙄":139,"🙅‍♀":1232,"🙅‍♂":1231,"🙅":1230,"🙆‍♀":1235,"🙆‍♂":1234,"🙆":1233,"🙇‍♀":1247,"🙇‍♂":1246,"🙇":1245,"🙈":1112,"🙉":1113,"🙊":1114,"🙋‍♀":1241,"🙋‍♂":1240,"🙋":1239,"🙌":1175,"🙍‍♀":1226,"🙍‍♂":1225,"🙍":1224,"🙎‍♀":1229,"🙎‍♂":1228,"🙎":1227,"🙏":1179,"🚀":4129,"🚁":4124,"🚂":463,"🚃":464,"🚄":465,"🚅":466,"🚆":467,"🚇":468,"🚈":469,"🚉":470,"🚊":471,"🚋":474,"🚌":475,"🚍":476,"🚎":477,"🚏":4100,"🚐":478,"🚑":479,"🚒":480,"🚓":481,"🚔":482,"🚕":483,"🚖":484,"🚗":485,"🚘":486,"🚙":487,"🚚":488,"🚛":489,"🚜":490,"🚝":472,"🚞":473,"🚟":4125,"🚠":4126,"🚡":4127,"🚢":4117,"🚣‍♀":1406,"🚣‍♂":1405,"🚣":1404,"🚤":4113,"🚥":4106,"🚦":4107,"🚧":4109,"🚨":4105,"🚩":72,"🚪":6213,"🚫":6250,"🚬":6230,"🚭":6252,"🚮":6235,"🚯":6253,"🚰":6236,"🚱":6254,"🚲":497,"🚳":6251,"🚴‍♀":1418,"🚴‍♂":1417,"🚴":1416,"🚵‍♀":1421,"🚵‍♂":1420,"🚵":1419,"🚶‍♀":1363,"🚶‍♂":1362,"🚶":1361,"🚷":6255,"🚸":6248,"🚹":6238,"🚺":6239,"🚻":6240,"🚼":6241,"🚽":6217,"🚾":6242,"🚿":6218,"🛀":1440,"🛁":6219,"🛂":6243,"🛃":6244,"🛄":6245,"🛅":6246,"🛋":6215,"🛌":1441,"🛍":624,"🛎":4131,"🛏":6214,"🛐":6281,"🛑":4108,"🛒":6229,"🛕":443,"🛠":6185,"🛡":6190,"🛢":4103,"🛣":4101,"🛤":4102,"🛥":4116,"🛩":4119,"🛫":4120,"🛬":4121,"🛰":4128,"🛳":4114,"🛴":498,"🛵":493,"🛶":4112,"🛷":553,"🛸":4130,"🛹":499,"🛺":496,"🟠":6418,"🟡":6419,"🟢":6420,"🟣":6422,"🟤":6423,"🟥":6426,"🟦":6430,"🟧":6427,"🟨":6428,"🟩":6429,"🟪":6431,"🟫":6432,"🤍":1135,"🤎":1133,"🤏":1156,"🤐":132,"🤑":127,"🤒":148,"🤓":161,"🤔":131,"🤕":149,"🤖":1102,"🤗":128,"🤘":1160,"🤙":1161,"🤚":1151,"🤛":1172,"🤜":1173,"🤝":1178,"🤞":1158,"🤟":1159,"🤠":158,"🤡":196,"🤢":150,"🤣":17,"🤤":145,"🤥":141,"🤦‍♀":1250,"🤦‍♂":1249,"🤦":1248,"🤧":152,"🤨":133,"🤩":116,"🤪":125,"🤫":130,"🤬":190,"🤭":129,"🤮":151,"🤯":157,"🤰":1323,"🤱":1324,"🤲":1177,"🤳":1182,"🤴":1314,"🤵":1321,"🤶":1327,"🤷‍♀":1253,"🤷‍♂":1252,"🤷":1251,"🤸‍♀":1424,"🤸‍♂":1423,"🤸":1422,"🤹‍♀":1436,"🤹‍♂":1435,"🤹":1434,"🤺":1394,"🤼‍♀":1427,"🤼‍♂":1426,"🤼":1425,"🤽‍♀":1430,"🤽‍♂":1429,"🤽":1428,"🤾‍♀":1433,"🤾‍♂":1432,"🤾":1431,"🤿":550,"🥀":2111,"🥁":668,"🥂":3110,"🥃":3111,"🥄":3119,"🥅":546,"🥇":525,"🥈":526,"🥉":527,"🥊":544,"🥋":545,"🥌":554,"🥍":541,"🥎":530,"🥏":536,"🥐":333,"🥑":318,"🥒":324,"🥓":343,"🥔":320,"🥕":321,"🥖":334,"🥗":358,"🥘":355,"🥙":351,"🥚":353,"🥛":3100,"🥜":330,"🥝":315,"🥞":337,"🥟":377,"🥠":378,"🥡":379,"🥢":3116,"🥣":357,"🥤":3112,"🥥":317,"🥦":326,"🥧":393,"🥨":335,"🥩":342,"🥪":348,"🥫":362,"🥬":325,"🥭":38,"🥮":375,"🥯":336,"🥰":114,"🥱":186,"🥳":159,"🥴":155,"🥵":153,"🥶":154,"🥺":171,"🥻":615,"🥼":64,"🥽":63,"🥾":628,"🥿":629,"🦀":380,"🦁":215,"🦂":2103,"🦃":260,"🦄":221,"🦅":269,"🦆":270,"🦇":250,"🦈":291,"🦉":272,"🦊":211,"🦋":295,"🦌":223,"🦍":23,"🦎":279,"🦏":240,"🦐":382,"🦑":383,"🦒":238,"🦓":222,"🦔":249,"🦕":283,"🦖":284,"🦗":2100,"🦘":257,"🦙":237,"🦚":274,"🦛":241,"🦜":275,"🦝":212,"🦞":381,"🦟":2104,"🦠":2105,"🦡":258,"🦢":271,"🦥":254,"🦦":255,"🦧":24,"🦨":256,"🦩":273,"🦪":384,"🦮":27,"🦯":6196,"🦴":1193,"🦵":1186,"🦶":1187,"🦷":1192,"🦸‍♀":1330,"🦸‍♂":1329,"🦸":1328,"🦹‍♀":1333,"🦹‍♂":1332,"🦹":1331,"🦺":65,"🦻":1189,"🦼":495,"🦽":494,"🦾":1184,"🦿":1185,"🧀":339,"🧁":392,"🧂":361,"🧃":3113,"🧄":327,"🧅":328,"🧆":352,"🧇":338,"🧈":360,"🧉":3114,"🧊":3115,"🧍‍♀":1366,"🧍‍♂":1365,"🧍":1364,"🧎‍♀":1369,"🧎‍♂":1368,"🧎":1367,"🧏‍♀":1244,"🧏‍♂":1243,"🧏":1242,"🧐":162,"🧑‍🌾":1266,"🧑‍🍳":1269,"🧑‍🎓":1257,"🧑‍🎤":1287,"🧑‍🎨":1290,"🧑‍🏫":1260,"🧑‍🏭":1275,"🧑‍💻":1284,"🧑‍💼":1278,"🧑‍🔧":1272,"🧑‍🔬":1281,"🧑‍🚀":1296,"🧑‍🚒":1299,"🧑‍🤝‍🧑":1442,"🧑‍🦯":1370,"🧑‍🦰":1212,"🧑‍🦱":1214,"🧑‍🦲":1218,"🧑‍🦳":1216,"🧑‍🦼":1373,"🧑‍🦽":1376,"🧑‍⚕":1254,"🧑‍⚖":1263,"🧑‍✈":1293,"🧑":1202,"🧒":1199,"🧓":1221,"🧔":1205,"🧕":1320,"🧖‍♀":1390,"🧖‍♂":1389,"🧖":1388,"🧗‍♀":1393,"🧗‍♂":1392,"🧗":1391,"🧘‍♀":1439,"🧘‍♂":1438,"🧘":1437,"🧙‍♀":1336,"🧙‍♂":1335,"🧙":1334,"🧚‍♀":1339,"🧚‍♂":1338,"🧚":1337,"🧛‍♀":1342,"🧛‍♂":1341,"🧛":1340,"🧜‍♀":1345,"🧜‍♂":1344,"🧜":1343,"🧝‍♀":1348,"🧝‍♂":1347,"🧝":1346,"🧞‍♀":1351,"🧞‍♂":1350,"🧞":1349,"🧟‍♀":1354,"🧟‍♂":1353,"🧟":1352,"🧠":1191,"🧡":1128,"🧢":638,"🧣":69,"🧤":610,"🧥":611,"🧦":612,"🧧":516,"🧨":55,"🧩":565,"🧪":6202,"🧫":6203,"🧬":6204,"🧭":47,"🧮":687,"🧯":6228,"🧰":6199,"🧱":420,"🧲":6200,"🧳":4132,"🧴":6221,"🧵":578,"🧶":579,"🧷":6222,"🧸":566,"🧹":6223,"🧺":6224,"🧻":6225,"🧼":6226,"🧽":6227,"🧾":6128,"🧿":560,"🩰":632,"🩱":616,"🩲":617,"🩳":618,"🩸":6209,"🩹":6211,"🩺":6212,"🪀":556,"🪁":557,"🪂":4122,"🪐":4180,"🪑":6216,"🪒":6220,"🪓":6182,"🪔":6103,"🪕":667,"‼":6355,"⁉":6356,"™":6364,"":6389,"↔":6269,"↕":6268,"↖":6267,"↗":6261,"↘":6263,"↙":6265,"↩":6270,"↪":6271,"⌚":4135,"⌛":4133,"⌨":680,"⏏":6323,"⏩":6310,"⏪":6314,"⏫":6317,"⏬":6319,"⏭":6311,"⏮":6315,"⏯":6312,"⏰":4136,"⏱":4137,"⏲":4138,"⏳":4134,"⏸":6320,"⏹":6321,"⏺":6322,"Ⓜ":6391,"▪":6439,"▫":6440,"▶":6309,"◀":6313,"◻":6436,"◼":6435,"◽":6438,"◾":6437,"☀":4177,"☁":4185,"☂":4200,"☃":4205,"☄":4207,"☎":671,"☑":6341,"☔":4201,"☕":3101,"☘":2123,"☝":1167,"☠":194,"☢":6258,"☣":6259,"☦":6288,"☪":6289,"☮":6290,"☯":6286,"☸":6285,"☹":166,"☺":119,"♈":6293,"♉":6294,"♊":6295,"♋":6296,"♌":6297,"♍":6298,"♎":6299,"♏":6300,"♐":6301,"♑":6302,"♒":6303,"♓":6304,"♟":571,"♠":567,"♣":570,"♥":568,"♦":569,"♨":457,"♻":6334,"♾":6333,"♿":6237,"⚒":6184,"⚓":4110,"⚔":6187,"⚖":6195,"⚗":6201,"⚙":6193,"⚛":6282,"⚜":6335,"⚠":6247,"⚡":4203,"⚪":6425,"⚫":6424,"⚰":6231,"⚱":6232,"⚽":528,"⚾":529,"⛄":4206,"⛅":4186,"⛈":4187,"⛎":6305,"⛏":6183,"⛑":639,"⛓":6198,"⛔":6249,"⛩":445,"⛪":441,"⛰":49,"⛱":4202,"⛲":447,"⛳":547,"⛴":4115,"⛵":4111,"⛷":1396,"⛸":548,"⛹‍♀":1412,"⛹‍♂":1411,"⛹":1410,"⛺":448,"⛽":4104,"✂":6171,"✅":6340,"✈":4118,"✉":6132,"✊":1170,"✋":1153,"✌":1157,"✍":1180,"✏":6145,"✒":6146,"✔":6342,"✖":6343,"✝":6287,"✡":6284,"✨":56,"✳":6352,"✴":6353,"❄":4204,"❇":6354,"❌":6344,"❎":6345,"❓":6357,"❔":6358,"❕":6359,"❗":6360,"❣":1125,"❤":1127,"":6346,"":6347,"➗":6348,"➡":6262,"➰":6349,"➿":6350,"⤴":6272,"⤵":6273,"⬅":6266,"⬆":6260,"⬇":6264,"⬛":6433,"⬜":6434,"⭐":4181,"⭕":6339,"〰":6361,"〽":6351,"㊗":6413,"㊙":6414,"🎅🏻":0,"🎅🏼":0,"🎅🏽":0,"🎅🏾":0,"🎅🏿":0,"🏂🏻":0,"🏂🏼":0,"🏂🏽":0,"🏂🏾":0,"🏂🏿":0,"🏃🏻‍♀":0,"🏃🏼‍♀":0,"🏃🏽‍♀":0,"🏃🏾‍♀":0,"🏃🏿‍♀":0,"🏃🏻‍♂":0,"🏃🏼‍♂":0,"🏃🏽‍♂":0,"🏃🏾‍♂":0,"🏃🏿‍♂":0,"🏃🏻":0,"🏃🏼":0,"🏃🏽":0,"🏃🏾":0,"🏃🏿":0,"🏄🏻‍♀":0,"🏄🏼‍♀":0,"🏄🏽‍♀":0,"🏄🏾‍♀":0,"🏄🏿‍♀":0,"🏄🏻‍♂":0,"🏄🏼‍♂":0,"🏄🏽‍♂":0,"🏄🏾‍♂":0,"🏄🏿‍♂":0,"🏄🏻":0,"🏄🏼":0,"🏄🏽":0,"🏄🏾":0,"🏄🏿":0,"🏇🏻":0,"🏇🏼":0,"🏇🏽":0,"🏇🏾":0,"🏇🏿":0,"🏊🏻‍♀":0,"🏊🏼‍♀":0,"🏊🏽‍♀":0,"🏊🏾‍♀":0,"🏊🏿‍♀":0,"🏊🏻‍♂":0,"🏊🏼‍♂":0,"🏊🏽‍♂":0,"🏊🏾‍♂":0,"🏊🏿‍♂":0,"🏊🏻":0,"🏊🏼":0,"🏊🏽":0,"🏊🏾":0,"🏊🏿":0,"🏋🏻‍♀":0,"🏋🏼‍♀":0,"🏋🏽‍♀":0,"🏋🏾‍♀":0,"🏋🏿‍♀":0,"🏋🏻‍♂":0,"🏋🏼‍♂":0,"🏋🏽‍♂":0,"🏋🏾‍♂":0,"🏋🏿‍♂":0,"🏋🏻":0,"🏋🏼":0,"🏋🏽":0,"🏋🏾":0,"🏋🏿":0,"🏌🏻‍♀":0,"🏌🏼‍♀":0,"🏌🏽‍♀":0,"🏌🏾‍♀":0,"🏌🏿‍♀":0,"🏌🏻‍♂":0,"🏌🏼‍♂":0,"🏌🏽‍♂":0,"🏌🏾‍♂":0,"🏌🏿‍♂":0,"🏌🏻":0,"🏌🏼":0,"🏌🏽":0,"🏌🏾":0,"🏌🏿":0,"👂🏻":0,"👂🏼":0,"👂🏽":0,"👂🏾":0,"👂🏿":0,"👃🏻":0,"👃🏼":0,"👃🏽":0,"👃🏾":0,"👃🏿":0,"👆🏻":0,"👆🏼":0,"👆🏽":0,"👆🏾":0,"👆🏿":0,"👇🏻":0,"👇🏼":0,"👇🏽":0,"👇🏾":0,"👇🏿":0,"👈🏻":0,"👈🏼":0,"👈🏽":0,"👈🏾":0,"👈🏿":0,"👉🏻":0,"👉🏼":0,"👉🏽":0,"👉🏾":0,"👉🏿":0,"👊🏻":0,"👊🏼":0,"👊🏽":0,"👊🏾":0,"👊🏿":0,"👋🏻":0,"👋🏼":0,"👋🏽":0,"👋🏾":0,"👋🏿":0,"👌🏻":0,"👌🏼":0,"👌🏽":0,"👌🏾":0,"👌🏿":0,"👍🏻":0,"👍🏼":0,"👍🏽":0,"👍🏾":0,"👍🏿":0,"👎🏻":0,"👎🏼":0,"👎🏽":0,"👎🏾":0,"👎🏿":0,"👏🏻":0,"👏🏼":0,"👏🏽":0,"👏🏾":0,"👏🏿":0,"👐🏻":0,"👐🏼":0,"👐🏽":0,"👐🏾":0,"👐🏿":0,"👦🏻":0,"👦🏼":0,"👦🏽":0,"👦🏾":0,"👦🏿":0,"👧🏻":0,"👧🏼":0,"👧🏽":0,"👧🏾":0,"👧🏿":0,"👨🏻‍🌾":0,"👨🏼‍🌾":0,"👨🏽‍🌾":0,"👨🏾‍🌾":0,"👨🏿‍🌾":0,"👨🏻‍🍳":0,"👨🏼‍🍳":0,"👨🏽‍🍳":0,"👨🏾‍🍳":0,"👨🏿‍🍳":0,"👨🏻‍🎓":0,"👨🏼‍🎓":0,"👨🏽‍🎓":0,"👨🏾‍🎓":0,"👨🏿‍🎓":0,"👨🏻‍🎤":0,"👨🏼‍🎤":0,"👨🏽‍🎤":0,"👨🏾‍🎤":0,"👨🏿‍🎤":0,"👨🏻‍🎨":0,"👨🏼‍🎨":0,"👨🏽‍🎨":0,"👨🏾‍🎨":0,"👨🏿‍🎨":0,"👨🏻‍🏫":0,"👨🏼‍🏫":0,"👨🏽‍🏫":0,"👨🏾‍🏫":0,"👨🏿‍🏫":0,"👨🏻‍🏭":0,"👨🏼‍🏭":0,"👨🏽‍🏭":0,"👨🏾‍🏭":0,"👨🏿‍🏭":0,"👨🏻‍💻":0,"👨🏼‍💻":0,"👨🏽‍💻":0,"👨🏾‍💻":0,"👨🏿‍💻":0,"👨🏻‍💼":0,"👨🏼‍💼":0,"👨🏽‍💼":0,"👨🏾‍💼":0,"👨🏿‍💼":0,"👨🏻‍🔧":0,"👨🏼‍🔧":0,"👨🏽‍🔧":0,"👨🏾‍🔧":0,"👨🏿‍🔧":0,"👨🏻‍🔬":0,"👨🏼‍🔬":0,"👨🏽‍🔬":0,"👨🏾‍🔬":0,"👨🏿‍🔬":0,"👨🏻‍🚀":0,"👨🏼‍🚀":0,"👨🏽‍🚀":0,"👨🏾‍🚀":0,"👨🏿‍🚀":0,"👨🏻‍🚒":0,"👨🏼‍🚒":0,"👨🏽‍🚒":0,"👨🏾‍🚒":0,"👨🏿‍🚒":0,"👨🏻‍🦯":0,"👨🏼‍🦯":0,"👨🏽‍🦯":0,"👨🏾‍🦯":0,"👨🏿‍🦯":0,"👨🏻‍🦰":0,"👨🏼‍🦰":0,"👨🏽‍🦰":0,"👨🏾‍🦰":0,"👨🏿‍🦰":0,"👨🏻‍🦱":0,"👨🏼‍🦱":0,"👨🏽‍🦱":0,"👨🏾‍🦱":0,"👨🏿‍🦱":0,"👨🏻‍🦲":0,"👨🏼‍🦲":0,"👨🏽‍🦲":0,"👨🏾‍🦲":0,"👨🏿‍🦲":0,"👨🏻‍🦳":0,"👨🏼‍🦳":0,"👨🏽‍🦳":0,"👨🏾‍🦳":0,"👨🏿‍🦳":0,"👨🏻‍🦼":0,"👨🏼‍🦼":0,"👨🏽‍🦼":0,"👨🏾‍🦼":0,"👨🏿‍🦼":0,"👨🏻‍🦽":0,"👨🏼‍🦽":0,"👨🏽‍🦽":0,"👨🏾‍🦽":0,"👨🏿‍🦽":0,"👨🏻‍⚕":0,"👨🏼‍⚕":0,"👨🏽‍⚕":0,"👨🏾‍⚕":0,"👨🏿‍⚕":0,"👨🏻‍⚖":0,"👨🏼‍⚖":0,"👨🏽‍⚖":0,"👨🏾‍⚖":0,"👨🏿‍⚖":0,"👨🏻‍✈":0,"👨🏼‍✈":0,"👨🏽‍✈":0,"👨🏾‍✈":0,"👨🏿‍✈":0,"👨🏻":0,"👨🏼":0,"👨🏽":0,"👨🏾":0,"👨🏿":0,"👩🏻‍🌾":0,"👩🏼‍🌾":0,"👩🏽‍🌾":0,"👩🏾‍🌾":0,"👩🏿‍🌾":0,"👩🏻‍🍳":0,"👩🏼‍🍳":0,"👩🏽‍🍳":0,"👩🏾‍🍳":0,"👩🏿‍🍳":0,"👩🏻‍🎓":0,"👩🏼‍🎓":0,"👩🏽‍🎓":0,"👩🏾‍🎓":0,"👩🏿‍🎓":0,"👩🏻‍🎤":0,"👩🏼‍🎤":0,"👩🏽‍🎤":0,"👩🏾‍🎤":0,"👩🏿‍🎤":0,"👩🏻‍🎨":0,"👩🏼‍🎨":0,"👩🏽‍🎨":0,"👩🏾‍🎨":0,"👩🏿‍🎨":0,"👩🏻‍🏫":0,"👩🏼‍🏫":0,"👩🏽‍🏫":0,"👩🏾‍🏫":0,"👩🏿‍🏫":0,"👩🏻‍🏭":0,"👩🏼‍🏭":0,"👩🏽‍🏭":0,"👩🏾‍🏭":0,"👩🏿‍🏭":0,"👩🏻‍💻":0,"👩🏼‍💻":0,"👩🏽‍💻":0,"👩🏾‍💻":0,"👩🏿‍💻":0,"👩🏻‍💼":0,"👩🏼‍💼":0,"👩🏽‍💼":0,"👩🏾‍💼":0,"👩🏿‍💼":0,"👩🏻‍🔧":0,"👩🏼‍🔧":0,"👩🏽‍🔧":0,"👩🏾‍🔧":0,"👩🏿‍🔧":0,"👩🏻‍🔬":0,"👩🏼‍🔬":0,"👩🏽‍🔬":0,"👩🏾‍🔬":0,"👩🏿‍🔬":0,"👩🏻‍🚀":0,"👩🏼‍🚀":0,"👩🏽‍🚀":0,"👩🏾‍🚀":0,"👩🏿‍🚀":0,"👩🏻‍🚒":0,"👩🏼‍🚒":0,"👩🏽‍🚒":0,"👩🏾‍🚒":0,"👩🏿‍🚒":0,"👩🏻‍🦯":0,"👩🏼‍🦯":0,"👩🏽‍🦯":0,"👩🏾‍🦯":0,"👩🏿‍🦯":0,"👩🏻‍🦰":0,"👩🏼‍🦰":0,"👩🏽‍🦰":0,"👩🏾‍🦰":0,"👩🏿‍🦰":0,"👩🏻‍🦱":0,"👩🏼‍🦱":0,"👩🏽‍🦱":0,"👩🏾‍🦱":0,"👩🏿‍🦱":0,"👩🏻‍🦲":0,"👩🏼‍🦲":0,"👩🏽‍🦲":0,"👩🏾‍🦲":0,"👩🏿‍🦲":0,"👩🏻‍🦳":0,"👩🏼‍🦳":0,"👩🏽‍🦳":0,"👩🏾‍🦳":0,"👩🏿‍🦳":0,"👩🏻‍🦼":0,"👩🏼‍🦼":0,"👩🏽‍🦼":0,"👩🏾‍🦼":0,"👩🏿‍🦼":0,"👩🏻‍🦽":0,"👩🏼‍🦽":0,"👩🏽‍🦽":0,"👩🏾‍🦽":0,"👩🏿‍🦽":0,"👩🏻‍⚕":0,"👩🏼‍⚕":0,"👩🏽‍⚕":0,"👩🏾‍⚕":0,"👩🏿‍⚕":0,"👩🏻‍⚖":0,"👩🏼‍⚖":0,"👩🏽‍⚖":0,"👩🏾‍⚖":0,"👩🏿‍⚖":0,"👩🏻‍✈":0,"👩🏼‍✈":0,"👩🏽‍✈":0,"👩🏾‍✈":0,"👩🏿‍✈":0,"👩🏻":0,"👩🏼":0,"👩🏽":0,"👩🏾":0,"👩🏿":0,"👫🏻":0,"👫🏼":0,"👫🏽":0,"👫🏾":0,"👫🏿":0,"👩🏻‍🤝‍👨🏼":0,"👩🏻‍🤝‍👨🏽":0,"👩🏻‍🤝‍👨🏾":0,"👩🏻‍🤝‍👨🏿":0,"👩🏼‍🤝‍👨🏻":0,"👩🏼‍🤝‍👨🏽":0,"👩🏼‍🤝‍👨🏾":0,"👩🏼‍🤝‍👨🏿":0,"👩🏽‍🤝‍👨🏻":0,"👩🏽‍🤝‍👨🏼":0,"👩🏽‍🤝‍👨🏾":0,"👩🏽‍🤝‍👨🏿":0,"👩🏾‍🤝‍👨🏻":0,"👩🏾‍🤝‍👨🏼":0,"👩🏾‍🤝‍👨🏽":0,"👩🏾‍🤝‍👨🏿":0,"👩🏿‍🤝‍👨🏻":0,"👩🏿‍🤝‍👨🏼":0,"👩🏿‍🤝‍👨🏽":0,"👩🏿‍🤝‍👨🏾":0,"👬🏻":0,"👬🏼":0,"👬🏽":0,"👬🏾":0,"👬🏿":0,"👨🏻‍🤝‍👨🏼":0,"👨🏻‍🤝‍👨🏽":0,"👨🏻‍🤝‍👨🏾":0,"👨🏻‍🤝‍👨🏿":0,"👨🏼‍🤝‍👨🏻":0,"👨🏼‍🤝‍👨🏽":0,"👨🏼‍🤝‍👨🏾":0,"👨🏼‍🤝‍👨🏿":0,"👨🏽‍🤝‍👨🏻":0,"👨🏽‍🤝‍👨🏼":0,"👨🏽‍🤝‍👨🏾":0,"👨🏽‍🤝‍👨🏿":0,"👨🏾‍🤝‍👨🏻":0,"👨🏾‍🤝‍👨🏼":0,"👨🏾‍🤝‍👨🏽":0,"👨🏾‍🤝‍👨🏿":0,"👨🏿‍🤝‍👨🏻":0,"👨🏿‍🤝‍👨🏼":0,"👨🏿‍🤝‍👨🏽":0,"👨🏿‍🤝‍👨🏾":0,"👭🏻":0,"👭🏼":0,"👭🏽":0,"👭🏾":0,"👭🏿":0,"👩🏻‍🤝‍👩🏼":0,"👩🏻‍🤝‍👩🏽":0,"👩🏻‍🤝‍👩🏾":0,"👩🏻‍🤝‍👩🏿":0,"👩🏼‍🤝‍👩🏻":0,"👩🏼‍🤝‍👩🏽":0,"👩🏼‍🤝‍👩🏾":0,"👩🏼‍🤝‍👩🏿":0,"👩🏽‍🤝‍👩🏻":0,"👩🏽‍🤝‍👩🏼":0,"👩🏽‍🤝‍👩🏾":0,"👩🏽‍🤝‍👩🏿":0,"👩🏾‍🤝‍👩🏻":0,"👩🏾‍🤝‍👩🏼":0,"👩🏾‍🤝‍👩🏽":0,"👩🏾‍🤝‍👩🏿":0,"👩🏿‍🤝‍👩🏻":0,"👩🏿‍🤝‍👩🏼":0,"👩🏿‍🤝‍👩🏽":0,"👩🏿‍🤝‍👩🏾":0,"👮🏻‍♀":0,"👮🏼‍♀":0,"👮🏽‍♀":0,"👮🏾‍♀":0,"👮🏿‍♀":0,"👮🏻‍♂":0,"👮🏼‍♂":0,"👮🏽‍♂":0,"👮🏾‍♂":0,"👮🏿‍♂":0,"👮🏻":0,"👮🏼":0,"👮🏽":0,"👮🏾":0,"👮🏿":0,"👰🏻":0,"👰🏼":0,"👰🏽":0,"👰🏾":0,"👰🏿":0,"👱🏻‍♀":0,"👱🏼‍♀":0,"👱🏽‍♀":0,"👱🏾‍♀":0,"👱🏿‍♀":0,"👱🏻‍♂":0,"👱🏼‍♂":0,"👱🏽‍♂":0,"👱🏾‍♂":0,"👱🏿‍♂":0,"👱🏻":0,"👱🏼":0,"👱🏽":0,"👱🏾":0,"👱🏿":0,"👲🏻":0,"👲🏼":0,"👲🏽":0,"👲🏾":0,"👲🏿":0,"👳🏻‍♀":0,"👳🏼‍♀":0,"👳🏽‍♀":0,"👳🏾‍♀":0,"👳🏿‍♀":0,"👳🏻‍♂":0,"👳🏼‍♂":0,"👳🏽‍♂":0,"👳🏾‍♂":0,"👳🏿‍♂":0,"👳🏻":0,"👳🏼":0,"👳🏽":0,"👳🏾":0,"👳🏿":0,"👴🏻":0,"👴🏼":0,"👴🏽":0,"👴🏾":0,"👴🏿":0,"👵🏻":0,"👵🏼":0,"👵🏽":0,"👵🏾":0,"👵🏿":0,"👶🏻":0,"👶🏼":0,"👶🏽":0,"👶🏾":0,"👶🏿":0,"👷🏻‍♀":0,"👷🏼‍♀":0,"👷🏽‍♀":0,"👷🏾‍♀":0,"👷🏿‍♀":0,"👷🏻‍♂":0,"👷🏼‍♂":0,"👷🏽‍♂":0,"👷🏾‍♂":0,"👷🏿‍♂":0,"👷🏻":0,"👷🏼":0,"👷🏽":0,"👷🏾":0,"👷🏿":0,"👸🏻":0,"👸🏼":0,"👸🏽":0,"👸🏾":0,"👸🏿":0,"👼🏻":0,"👼🏼":0,"👼🏽":0,"👼🏾":0,"👼🏿":0,"💁🏻‍♀":0,"💁🏼‍♀":0,"💁🏽‍♀":0,"💁🏾‍♀":0,"💁🏿‍♀":0,"💁🏻‍♂":0,"💁🏼‍♂":0,"💁🏽‍♂":0,"💁🏾‍♂":0,"💁🏿‍♂":0,"💁🏻":0,"💁🏼":0,"💁🏽":0,"💁🏾":0,"💁🏿":0,"💂🏻‍♀":0,"💂🏼‍♀":0,"💂🏽‍♀":0,"💂🏾‍♀":0,"💂🏿‍♀":0,"💂🏻‍♂":0,"💂🏼‍♂":0,"💂🏽‍♂":0,"💂🏾‍♂":0,"💂🏿‍♂":0,"💂🏻":0,"💂🏼":0,"💂🏽":0,"💂🏾":0,"💂🏿":0,"💃🏻":0,"💃🏼":0,"💃🏽":0,"💃🏾":0,"💃🏿":0,"💅🏻":0,"💅🏼":0,"💅🏽":0,"💅🏾":0,"💅🏿":0,"💆🏻‍♀":0,"💆🏼‍♀":0,"💆🏽‍♀":0,"💆🏾‍♀":0,"💆🏿‍♀":0,"💆🏻‍♂":0,"💆🏼‍♂":0,"💆🏽‍♂":0,"💆🏾‍♂":0,"💆🏿‍♂":0,"💆🏻":0,"💆🏼":0,"💆🏽":0,"💆🏾":0,"💆🏿":0,"💇🏻‍♀":0,"💇🏼‍♀":0,"💇🏽‍♀":0,"💇🏾‍♀":0,"💇🏿‍♀":0,"💇🏻‍♂":0,"💇🏼‍♂":0,"💇🏽‍♂":0,"💇🏾‍♂":0,"💇🏿‍♂":0,"💇🏻":0,"💇🏼":0,"💇🏽":0,"💇🏾":0,"💇🏿":0,"💪🏻":0,"💪🏼":0,"💪🏽":0,"💪🏾":0,"💪🏿":0,"🕴🏻":0,"🕴🏼":0,"🕴🏽":0,"🕴🏾":0,"🕴🏿":0,"🕵🏻‍♀":0,"🕵🏼‍♀":0,"🕵🏽‍♀":0,"🕵🏾‍♀":0,"🕵🏿‍♀":0,"🕵🏻‍♂":0,"🕵🏼‍♂":0,"🕵🏽‍♂":0,"🕵🏾‍♂":0,"🕵🏿‍♂":0,"🕵🏻":0,"🕵🏼":0,"🕵🏽":0,"🕵🏾":0,"🕵🏿":0,"🕺🏻":0,"🕺🏼":0,"🕺🏽":0,"🕺🏾":0,"🕺🏿":0,"🖐🏻":0,"🖐🏼":0,"🖐🏽":0,"🖐🏾":0,"🖐🏿":0,"🖕🏻":0,"🖕🏼":0,"🖕🏽":0,"🖕🏾":0,"🖕🏿":0,"🖖🏻":0,"🖖🏼":0,"🖖🏽":0,"🖖🏾":0,"🖖🏿":0,"🙅🏻‍♀":0,"🙅🏼‍♀":0,"🙅🏽‍♀":0,"🙅🏾‍♀":0,"🙅🏿‍♀":0,"🙅🏻‍♂":0,"🙅🏼‍♂":0,"🙅🏽‍♂":0,"🙅🏾‍♂":0,"🙅🏿‍♂":0,"🙅🏻":0,"🙅🏼":0,"🙅🏽":0,"🙅🏾":0,"🙅🏿":0,"🙆🏻‍♀":0,"🙆🏼‍♀":0,"🙆🏽‍♀":0,"🙆🏾‍♀":0,"🙆🏿‍♀":0,"🙆🏻‍♂":0,"🙆🏼‍♂":0,"🙆🏽‍♂":0,"🙆🏾‍♂":0,"🙆🏿‍♂":0,"🙆🏻":0,"🙆🏼":0,"🙆🏽":0,"🙆🏾":0,"🙆🏿":0,"🙇🏻‍♀":0,"🙇🏼‍♀":0,"🙇🏽‍♀":0,"🙇🏾‍♀":0,"🙇🏿‍♀":0,"🙇🏻‍♂":0,"🙇🏼‍♂":0,"🙇🏽‍♂":0,"🙇🏾‍♂":0,"🙇🏿‍♂":0,"🙇🏻":0,"🙇🏼":0,"🙇🏽":0,"🙇🏾":0,"🙇🏿":0,"🙋🏻‍♀":0,"🙋🏼‍♀":0,"🙋🏽‍♀":0,"🙋🏾‍♀":0,"🙋🏿‍♀":0,"🙋🏻‍♂":0,"🙋🏼‍♂":0,"🙋🏽‍♂":0,"🙋🏾‍♂":0,"🙋🏿‍♂":0,"🙋🏻":0,"🙋🏼":0,"🙋🏽":0,"🙋🏾":0,"🙋🏿":0,"🙌🏻":0,"🙌🏼":0,"🙌🏽":0,"🙌🏾":0,"🙌🏿":0,"🙍🏻‍♀":0,"🙍🏼‍♀":0,"🙍🏽‍♀":0,"🙍🏾‍♀":0,"🙍🏿‍♀":0,"🙍🏻‍♂":0,"🙍🏼‍♂":0,"🙍🏽‍♂":0,"🙍🏾‍♂":0,"🙍🏿‍♂":0,"🙍🏻":0,"🙍🏼":0,"🙍🏽":0,"🙍🏾":0,"🙍🏿":0,"🙎🏻‍♀":0,"🙎🏼‍♀":0,"🙎🏽‍♀":0,"🙎🏾‍♀":0,"🙎🏿‍♀":0,"🙎🏻‍♂":0,"🙎🏼‍♂":0,"🙎🏽‍♂":0,"🙎🏾‍♂":0,"🙎🏿‍♂":0,"🙎🏻":0,"🙎🏼":0,"🙎🏽":0,"🙎🏾":0,"🙎🏿":0,"🙏🏻":0,"🙏🏼":0,"🙏🏽":0,"🙏🏾":0,"🙏🏿":0,"🚣🏻‍♀":0,"🚣🏼‍♀":0,"🚣🏽‍♀":0,"🚣🏾‍♀":0,"🚣🏿‍♀":0,"🚣🏻‍♂":0,"🚣🏼‍♂":0,"🚣🏽‍♂":0,"🚣🏾‍♂":0,"🚣🏿‍♂":0,"🚣🏻":0,"🚣🏼":0,"🚣🏽":0,"🚣🏾":0,"🚣🏿":0,"🚴🏻‍♀":0,"🚴🏼‍♀":0,"🚴🏽‍♀":0,"🚴🏾‍♀":0,"🚴🏿‍♀":0,"🚴🏻‍♂":0,"🚴🏼‍♂":0,"🚴🏽‍♂":0,"🚴🏾‍♂":0,"🚴🏿‍♂":0,"🚴🏻":0,"🚴🏼":0,"🚴🏽":0,"🚴🏾":0,"🚴🏿":0,"🚵🏻‍♀":0,"🚵🏼‍♀":0,"🚵🏽‍♀":0,"🚵🏾‍♀":0,"🚵🏿‍♀":0,"🚵🏻‍♂":0,"🚵🏼‍♂":0,"🚵🏽‍♂":0,"🚵🏾‍♂":0,"🚵🏿‍♂":0,"🚵🏻":0,"🚵🏼":0,"🚵🏽":0,"🚵🏾":0,"🚵🏿":0,"🚶🏻‍♀":0,"🚶🏼‍♀":0,"🚶🏽‍♀":0,"🚶🏾‍♀":0,"🚶🏿‍♀":0,"🚶🏻‍♂":0,"🚶🏼‍♂":0,"🚶🏽‍♂":0,"🚶🏾‍♂":0,"🚶🏿‍♂":0,"🚶🏻":0,"🚶🏼":0,"🚶🏽":0,"🚶🏾":0,"🚶🏿":0,"🛀🏻":0,"🛀🏼":0,"🛀🏽":0,"🛀🏾":0,"🛀🏿":0,"🛌🏻":0,"🛌🏼":0,"🛌🏽":0,"🛌🏾":0,"🛌🏿":0,"🤏🏻":0,"🤏🏼":0,"🤏🏽":0,"🤏🏾":0,"🤏🏿":0,"🤘🏻":0,"🤘🏼":0,"🤘🏽":0,"🤘🏾":0,"🤘🏿":0,"🤙🏻":0,"🤙🏼":0,"🤙🏽":0,"🤙🏾":0,"🤙🏿":0,"🤚🏻":0,"🤚🏼":0,"🤚🏽":0,"🤚🏾":0,"🤚🏿":0,"🤛🏻":0,"🤛🏼":0,"🤛🏽":0,"🤛🏾":0,"🤛🏿":0,"🤜🏻":0,"🤜🏼":0,"🤜🏽":0,"🤜🏾":0,"🤜🏿":0,"🤞🏻":0,"🤞🏼":0,"🤞🏽":0,"🤞🏾":0,"🤞🏿":0,"🤟🏻":0,"🤟🏼":0,"🤟🏽":0,"🤟🏾":0,"🤟🏿":0,"🤦🏻‍♀":0,"🤦🏼‍♀":0,"🤦🏽‍♀":0,"🤦🏾‍♀":0,"🤦🏿‍♀":0,"🤦🏻‍♂":0,"🤦🏼‍♂":0,"🤦🏽‍♂":0,"🤦🏾‍♂":0,"🤦🏿‍♂":0,"🤦🏻":0,"🤦🏼":0,"🤦🏽":0,"🤦🏾":0,"🤦🏿":0,"🤰🏻":0,"🤰🏼":0,"🤰🏽":0,"🤰🏾":0,"🤰🏿":0,"🤱🏻":0,"🤱🏼":0,"🤱🏽":0,"🤱🏾":0,"🤱🏿":0,"🤲🏻":0,"🤲🏼":0,"🤲🏽":0,"🤲🏾":0,"🤲🏿":0,"🤳🏻":0,"🤳🏼":0,"🤳🏽":0,"🤳🏾":0,"🤳🏿":0,"🤴🏻":0,"🤴🏼":0,"🤴🏽":0,"🤴🏾":0,"🤴🏿":0,"🤵🏻":0,"🤵🏼":0,"🤵🏽":0,"🤵🏾":0,"🤵🏿":0,"🤶🏻":0,"🤶🏼":0,"🤶🏽":0,"🤶🏾":0,"🤶🏿":0,"🤷🏻‍♀":0,"🤷🏼‍♀":0,"🤷🏽‍♀":0,"🤷🏾‍♀":0,"🤷🏿‍♀":0,"🤷🏻‍♂":0,"🤷🏼‍♂":0,"🤷🏽‍♂":0,"🤷🏾‍♂":0,"🤷🏿‍♂":0,"🤷🏻":0,"🤷🏼":0,"🤷🏽":0,"🤷🏾":0,"🤷🏿":0,"🤸🏻‍♀":0,"🤸🏼‍♀":0,"🤸🏽‍♀":0,"🤸🏾‍♀":0,"🤸🏿‍♀":0,"🤸🏻‍♂":0,"🤸🏼‍♂":0,"🤸🏽‍♂":0,"🤸🏾‍♂":0,"🤸🏿‍♂":0,"🤸🏻":0,"🤸🏼":0,"🤸🏽":0,"🤸🏾":0,"🤸🏿":0,"🤹🏻‍♀":0,"🤹🏼‍♀":0,"🤹🏽‍♀":0,"🤹🏾‍♀":0,"🤹🏿‍♀":0,"🤹🏻‍♂":0,"🤹🏼‍♂":0,"🤹🏽‍♂":0,"🤹🏾‍♂":0,"🤹🏿‍♂":0,"🤹🏻":0,"🤹🏼":0,"🤹🏽":0,"🤹🏾":0,"🤹🏿":0,"🤽🏻‍♀":0,"🤽🏼‍♀":0,"🤽🏽‍♀":0,"🤽🏾‍♀":0,"🤽🏿‍♀":0,"🤽🏻‍♂":0,"🤽🏼‍♂":0,"🤽🏽‍♂":0,"🤽🏾‍♂":0,"🤽🏿‍♂":0,"🤽🏻":0,"🤽🏼":0,"🤽🏽":0,"🤽🏾":0,"🤽🏿":0,"🤾🏻‍♀":0,"🤾🏼‍♀":0,"🤾🏽‍♀":0,"🤾🏾‍♀":0,"🤾🏿‍♀":0,"🤾🏻‍♂":0,"🤾🏼‍♂":0,"🤾🏽‍♂":0,"🤾🏾‍♂":0,"🤾🏿‍♂":0,"🤾🏻":0,"🤾🏼":0,"🤾🏽":0,"🤾🏾":0,"🤾🏿":0,"🦵🏻":0,"🦵🏼":0,"🦵🏽":0,"🦵🏾":0,"🦵🏿":0,"🦶🏻":0,"🦶🏼":0,"🦶🏽":0,"🦶🏾":0,"🦶🏿":0,"🦸🏻‍♀":0,"🦸🏼‍♀":0,"🦸🏽‍♀":0,"🦸🏾‍♀":0,"🦸🏿‍♀":0,"🦸🏻‍♂":0,"🦸🏼‍♂":0,"🦸🏽‍♂":0,"🦸🏾‍♂":0,"🦸🏿‍♂":0,"🦸🏻":0,"🦸🏼":0,"🦸🏽":0,"🦸🏾":0,"🦸🏿":0,"🦹🏻‍♀":0,"🦹🏼‍♀":0,"🦹🏽‍♀":0,"🦹🏾‍♀":0,"🦹🏿‍♀":0,"🦹🏻‍♂":0,"🦹🏼‍♂":0,"🦹🏽‍♂":0,"🦹🏾‍♂":0,"🦹🏿‍♂":0,"🦹🏻":0,"🦹🏼":0,"🦹🏽":0,"🦹🏾":0,"🦹🏿":0,"🦻🏻":0,"🦻🏼":0,"🦻🏽":0,"🦻🏾":0,"🦻🏿":0,"🧍🏻‍♀":0,"🧍🏼‍♀":0,"🧍🏽‍♀":0,"🧍🏾‍♀":0,"🧍🏿‍♀":0,"🧍🏻‍♂":0,"🧍🏼‍♂":0,"🧍🏽‍♂":0,"🧍🏾‍♂":0,"🧍🏿‍♂":0,"🧍🏻":0,"🧍🏼":0,"🧍🏽":0,"🧍🏾":0,"🧍🏿":0,"🧎🏻‍♀":0,"🧎🏼‍♀":0,"🧎🏽‍♀":0,"🧎🏾‍♀":0,"🧎🏿‍♀":0,"🧎🏻‍♂":0,"🧎🏼‍♂":0,"🧎🏽‍♂":0,"🧎🏾‍♂":0,"🧎🏿‍♂":0,"🧎🏻":0,"🧎🏼":0,"🧎🏽":0,"🧎🏾":0,"🧎🏿":0,"🧏🏻‍♀":0,"🧏🏼‍♀":0,"🧏🏽‍♀":0,"🧏🏾‍♀":0,"🧏🏿‍♀":0,"🧏🏻‍♂":0,"🧏🏼‍♂":0,"🧏🏽‍♂":0,"🧏🏾‍♂":0,"🧏🏿‍♂":0,"🧏🏻":0,"🧏🏼":0,"🧏🏽":0,"🧏🏾":0,"🧏🏿":0,"🧑🏻‍🌾":0,"🧑🏼‍🌾":0,"🧑🏽‍🌾":0,"🧑🏾‍🌾":0,"🧑🏿‍🌾":0,"🧑🏻‍🍳":0,"🧑🏼‍🍳":0,"🧑🏽‍🍳":0,"🧑🏾‍🍳":0,"🧑🏿‍🍳":0,"🧑🏻‍🎓":0,"🧑🏼‍🎓":0,"🧑🏽‍🎓":0,"🧑🏾‍🎓":0,"🧑🏿‍🎓":0,"🧑🏻‍🎤":0,"🧑🏼‍🎤":0,"🧑🏽‍🎤":0,"🧑🏾‍🎤":0,"🧑🏿‍🎤":0,"🧑🏻‍🎨":0,"🧑🏼‍🎨":0,"🧑🏽‍🎨":0,"🧑🏾‍🎨":0,"🧑🏿‍🎨":0,"🧑🏻‍🏫":0,"🧑🏼‍🏫":0,"🧑🏽‍🏫":0,"🧑🏾‍🏫":0,"🧑🏿‍🏫":0,"🧑🏻‍🏭":0,"🧑🏼‍🏭":0,"🧑🏽‍🏭":0,"🧑🏾‍🏭":0,"🧑🏿‍🏭":0,"🧑🏻‍💻":0,"🧑🏼‍💻":0,"🧑🏽‍💻":0,"🧑🏾‍💻":0,"🧑🏿‍💻":0,"🧑🏻‍💼":0,"🧑🏼‍💼":0,"🧑🏽‍💼":0,"🧑🏾‍💼":0,"🧑🏿‍💼":0,"🧑🏻‍🔧":0,"🧑🏼‍🔧":0,"🧑🏽‍🔧":0,"🧑🏾‍🔧":0,"🧑🏿‍🔧":0,"🧑🏻‍🔬":0,"🧑🏼‍🔬":0,"🧑🏽‍🔬":0,"🧑🏾‍🔬":0,"🧑🏿‍🔬":0,"🧑🏻‍🚀":0,"🧑🏼‍🚀":0,"🧑🏽‍🚀":0,"🧑🏾‍🚀":0,"🧑🏿‍🚀":0,"🧑🏻‍🚒":0,"🧑🏼‍🚒":0,"🧑🏽‍🚒":0,"🧑🏾‍🚒":0,"🧑🏿‍🚒":0,"🧑🏻‍🤝‍🧑🏻":0,"🧑🏻‍🤝‍🧑🏼":0,"🧑🏻‍🤝‍🧑🏽":0,"🧑🏻‍🤝‍🧑🏾":0,"🧑🏻‍🤝‍🧑🏿":0,"🧑🏼‍🤝‍🧑🏻":0,"🧑🏼‍🤝‍🧑🏼":0,"🧑🏼‍🤝‍🧑🏽":0,"🧑🏼‍🤝‍🧑🏾":0,"🧑🏼‍🤝‍🧑🏿":0,"🧑🏽‍🤝‍🧑🏻":0,"🧑🏽‍🤝‍🧑🏼":0,"🧑🏽‍🤝‍🧑🏽":0,"🧑🏽‍🤝‍🧑🏾":0,"🧑🏽‍🤝‍🧑🏿":0,"🧑🏾‍🤝‍🧑🏻":0,"🧑🏾‍🤝‍🧑🏼":0,"🧑🏾‍🤝‍🧑🏽":0,"🧑🏾‍🤝‍🧑🏾":0,"🧑🏾‍🤝‍🧑🏿":0,"🧑🏿‍🤝‍🧑🏻":0,"🧑🏿‍🤝‍🧑🏼":0,"🧑🏿‍🤝‍🧑🏽":0,"🧑🏿‍🤝‍🧑🏾":0,"🧑🏿‍🤝‍🧑🏿":0,"🧑🏻‍🦯":0,"🧑🏼‍🦯":0,"🧑🏽‍🦯":0,"🧑🏾‍🦯":0,"🧑🏿‍🦯":0,"🧑🏻‍🦰":0,"🧑🏼‍🦰":0,"🧑🏽‍🦰":0,"🧑🏾‍🦰":0,"🧑🏿‍🦰":0,"🧑🏻‍🦱":0,"🧑🏼‍🦱":0,"🧑🏽‍🦱":0,"🧑🏾‍🦱":0,"🧑🏿‍🦱":0,"🧑🏻‍🦲":0,"🧑🏼‍🦲":0,"🧑🏽‍🦲":0,"🧑🏾‍🦲":0,"🧑🏿‍🦲":0,"🧑🏻‍🦳":0,"🧑🏼‍🦳":0,"🧑🏽‍🦳":0,"🧑🏾‍🦳":0,"🧑🏿‍🦳":0,"🧑🏻‍🦼":0,"🧑🏼‍🦼":0,"🧑🏽‍🦼":0,"🧑🏾‍🦼":0,"🧑🏿‍🦼":0,"🧑🏻‍🦽":0,"🧑🏼‍🦽":0,"🧑🏽‍🦽":0,"🧑🏾‍🦽":0,"🧑🏿‍🦽":0,"🧑🏻‍⚕":0,"🧑🏼‍⚕":0,"🧑🏽‍⚕":0,"🧑🏾‍⚕":0,"🧑🏿‍⚕":0,"🧑🏻‍⚖":0,"🧑🏼‍⚖":0,"🧑🏽‍⚖":0,"🧑🏾‍⚖":0,"🧑🏿‍⚖":0,"🧑🏻‍✈":0,"🧑🏼‍✈":0,"🧑🏽‍✈":0,"🧑🏾‍✈":0,"🧑🏿‍✈":0,"🧑🏻":0,"🧑🏼":0,"🧑🏽":0,"🧑🏾":0,"🧑🏿":0,"🧒🏻":0,"🧒🏼":0,"🧒🏽":0,"🧒🏾":0,"🧒🏿":0,"🧓🏻":0,"🧓🏼":0,"🧓🏽":0,"🧓🏾":0,"🧓🏿":0,"🧔🏻":0,"🧔🏼":0,"🧔🏽":0,"🧔🏾":0,"🧔🏿":0,"🧕🏻":0,"🧕🏼":0,"🧕🏽":0,"🧕🏾":0,"🧕🏿":0,"🧖🏻‍♀":0,"🧖🏼‍♀":0,"🧖🏽‍♀":0,"🧖🏾‍♀":0,"🧖🏿‍♀":0,"🧖🏻‍♂":0,"🧖🏼‍♂":0,"🧖🏽‍♂":0,"🧖🏾‍♂":0,"🧖🏿‍♂":0,"🧖🏻":0,"🧖🏼":0,"🧖🏽":0,"🧖🏾":0,"🧖🏿":0,"🧗🏻‍♀":0,"🧗🏼‍♀":0,"🧗🏽‍♀":0,"🧗🏾‍♀":0,"🧗🏿‍♀":0,"🧗🏻‍♂":0,"🧗🏼‍♂":0,"🧗🏽‍♂":0,"🧗🏾‍♂":0,"🧗🏿‍♂":0,"🧗🏻":0,"🧗🏼":0,"🧗🏽":0,"🧗🏾":0,"🧗🏿":0,"🧘🏻‍♀":0,"🧘🏼‍♀":0,"🧘🏽‍♀":0,"🧘🏾‍♀":0,"🧘🏿‍♀":0,"🧘🏻‍♂":0,"🧘🏼‍♂":0,"🧘🏽‍♂":0,"🧘🏾‍♂":0,"🧘🏿‍♂":0,"🧘🏻":0,"🧘🏼":0,"🧘🏽":0,"🧘🏾":0,"🧘🏿":0,"🧙🏻‍♀":0,"🧙🏼‍♀":0,"🧙🏽‍♀":0,"🧙🏾‍♀":0,"🧙🏿‍♀":0,"🧙🏻‍♂":0,"🧙🏼‍♂":0,"🧙🏽‍♂":0,"🧙🏾‍♂":0,"🧙🏿‍♂":0,"🧙🏻":0,"🧙🏼":0,"🧙🏽":0,"🧙🏾":0,"🧙🏿":0,"🧚🏻‍♀":0,"🧚🏼‍♀":0,"🧚🏽‍♀":0,"🧚🏾‍♀":0,"🧚🏿‍♀":0,"🧚🏻‍♂":0,"🧚🏼‍♂":0,"🧚🏽‍♂":0,"🧚🏾‍♂":0,"🧚🏿‍♂":0,"🧚🏻":0,"🧚🏼":0,"🧚🏽":0,"🧚🏾":0,"🧚🏿":0,"🧛🏻‍♀":0,"🧛🏼‍♀":0,"🧛🏽‍♀":0,"🧛🏾‍♀":0,"🧛🏿‍♀":0,"🧛🏻‍♂":0,"🧛🏼‍♂":0,"🧛🏽‍♂":0,"🧛🏾‍♂":0,"🧛🏿‍♂":0,"🧛🏻":0,"🧛🏼":0,"🧛🏽":0,"🧛🏾":0,"🧛🏿":0,"🧜🏻‍♀":0,"🧜🏼‍♀":0,"🧜🏽‍♀":0,"🧜🏾‍♀":0,"🧜🏿‍♀":0,"🧜🏻‍♂":0,"🧜🏼‍♂":0,"🧜🏽‍♂":0,"🧜🏾‍♂":0,"🧜🏿‍♂":0,"🧜🏻":0,"🧜🏼":0,"🧜🏽":0,"🧜🏾":0,"🧜🏿":0,"🧝🏻‍♀":0,"🧝🏼‍♀":0,"🧝🏽‍♀":0,"🧝🏾‍♀":0,"🧝🏿‍♀":0,"🧝🏻‍♂":0,"🧝🏼‍♂":0,"🧝🏽‍♂":0,"🧝🏾‍♂":0,"🧝🏿‍♂":0,"🧝🏻":0,"🧝🏼":0,"🧝🏽":0,"🧝🏾":0,"🧝🏿":0,"☝🏻":0,"☝🏼":0,"☝🏽":0,"☝🏾":0,"☝🏿":0,"⛹🏻‍♀":0,"⛹🏼‍♀":0,"⛹🏽‍♀":0,"⛹🏾‍♀":0,"⛹🏿‍♀":0,"⛹🏻‍♂":0,"⛹🏼‍♂":0,"⛹🏽‍♂":0,"⛹🏾‍♂":0,"⛹🏿‍♂":0,"⛹🏻":0,"⛹🏼":0,"⛹🏽":0,"⛹🏾":0,"⛹🏿":0,"✊🏻":0,"✊🏼":0,"✊🏽":0,"✊🏾":0,"✊🏿":0,"✋🏻":0,"✋🏼":0,"✋🏽":0,"✋🏾":0,"✋🏿":0,"✌🏻":0,"✌🏼":0,"✌🏽":0,"✌🏾":0,"✌🏿":0,"✍🏻":0,"✍🏼":0,"✍🏽":0,"✍🏾":0,"✍🏿":0},LatinizeMap:{"Á":"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","Ć":"C","Č":"C","Ç":"C","Ḉ":"C","Ĉ":"C","Ċ":"C","Ƈ":"C","Ȼ":"C","Ď":"D","Ḑ":"D","Ḓ":"D","Ḋ":"D","Ḍ":"D","Ɗ":"D","Ḏ":"D","Dz":"D","Dž":"D","Đ":"D","Ƌ":"D","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","":"ET","Ḟ":"F","Ƒ":"F","Ǵ":"G","Ğ":"G","Ǧ":"G","Ģ":"G","Ĝ":"G","Ġ":"G","Ɠ":"G","Ḡ":"G","Ǥ":"G","Ḫ":"H","Ȟ":"H","Ḩ":"H","Ĥ":"H","Ⱨ":"H","Ḧ":"H","Ḣ":"H","Ḥ":"H","Ħ":"H","Í":"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","Ḱ":"K","Ǩ":"K","Ķ":"K","Ⱪ":"K","Ꝃ":"K","Ḳ":"K","Ƙ":"K","Ḵ":"K","Ꝁ":"K","Ꝅ":"K","Ĺ":"L","Ƚ":"L","Ľ":"L","Ļ":"L","Ḽ":"L","Ḷ":"L","Ḹ":"L","Ⱡ":"L","Ꝉ":"L","Ḻ":"L","Ŀ":"L","Ɫ":"L","Lj":"L","Ł":"L","LJ":"LJ","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ń":"N","Ň":"N","Ņ":"N","Ṋ":"N","Ṅ":"N","Ṇ":"N","Ǹ":"N","Ɲ":"N","Ṉ":"N","Ƞ":"N","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","ȱ":"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","ᶓ":"e","ɔ":"o","ᶗ":"o","ȣ":"ou","ṕ":"p","ṗ":"p","ꝓ":"p","ƥ":"p","ᵱ":"p","ᶈ":"p","ꝕ":"p","ᵽ":"p","ꝑ":"p","ꝙ":"q","ʠ":"q","ɋ":"q","ꝗ":"q","ŕ":"r","ř":"r","ŗ":"r","ṙ":"r","ṛ":"r","ṝ":"r","ȑ":"r","ɾ":"r","ᵳ":"r","ȓ":"r","ṟ":"r","ɼ":"r","ᵲ":"r","ᶉ":"r","ɍ":"r","ɽ":"r","ↄ":"c","ꜿ":"c","ɘ":"e","ɿ":"r","ś":"s","ṥ":"s","š":"s","ṧ":"s","ş":"s","ŝ":"s","ș":"s","ṡ":"s","ṣ":"s","ṩ":"s","ʂ":"s","ᵴ":"s","ᶊ":"s","ȿ":"s","ɡ":"g","ß":"ss","":"o","ᴓ":"o","ᴝ":"u","ť":"t","ţ":"t","ṱ":"t","ț":"t","ȶ":"t","ẗ":"t","ⱦ":"t","ṫ":"t","ṭ":"t","ƭ":"t","ṯ":"t","ᵵ":"t","ƫ":"t","ʈ":"t","ŧ":"t","ᵺ":"th","ɐ":"a","ᴂ":"ae","ǝ":"e","ᵷ":"g","ɥ":"h","ʮ":"h","ʯ":"h","ᴉ":"i","ʞ":"k","ꞁ":"l","ɯ":"m","ɰ":"m","ᴔ":"oe","ɹ":"r","ɻ":"r","ɺ":"r","ⱹ":"r","ʇ":"t","ʌ":"v","ʍ":"w","ʎ":"y","ꜩ":"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","ṵ":"u","ᵫ":"ue","":"um","ⱴ":"v","ꝟ":"v","ṿ":"v","ʋ":"v","":"v","ⱱ":"v","ṽ":"v","ꝡ":"vy","ẃ":"w","ŵ":"w","ẅ":"w","ẇ":"w","ẉ":"w","ẁ":"w","ⱳ":"w","ẘ":"w","ẍ":"x","ẋ":"x","ᶍ":"x","ý":"y","ŷ":"y","ÿ":"y","ẏ":"y","ỵ":"y","ỳ":"y","ƴ":"y","ỷ":"y","ỿ":"y","ȳ":"y","ẙ":"y","ɏ":"y","ỹ":"y","ź":"z","ž":"z","ẑ":"z","ʑ":"z","ⱬ":"z","ż":"z","ẓ":"z","ȥ":"z","ẕ":"z","ᵶ":"z","ᶎ":"z","ʐ":"z","ƶ":"z","ɀ":"z","ff":"ff","ffi":"ffi","ffl":"ffl","fi":"fi","fl":"fl","ij":"ij","œ":"oe","st":"st","ₐ":"a","ₑ":"e","ᵢ":"i","ⱼ":"j","ₒ":"o","ᵣ":"r","ᵤ":"u","ᵥ":"v","ₓ":"x","Ё":"YO","Й":"I","Ц":"TS","У":"U","К":"K","Е":"E","Н":"N","Г":"G","Ш":"SH","Щ":"SCH","З":"Z","Х":"H","Ъ":"","ё":"yo","й":"i","ц":"ts","у":"u","к":"k","е":"e","н":"n","г":"g","ш":"sh","щ":"sch","з":"z","х":"h","ъ":"","Ф":"F","Ы":"I","В":"V","А":"A","П":"P","Р":"R","О":"O","Л":"L","Д":"D","Ж":"ZH","Э":"E","ф":"f","ы":"i","в":"v","а":"a","п":"p","р":"r","о":"o","л":"l","д":"d","ж":"zh","э":"e","Я":"Ya","Ч":"CH","С":"S","М":"M","И":"I","Т":"T","Ь":"","Б":"B","Ю":"YU","я":"ya","ч":"ch","с":"s","м":"m","и":"i","т":"t","ь":"","б":"b","ю":"yu"},TLD:["abogado","ac","academy","accountants","active","actor","ad","adult","ae","aero","af","ag","agency","ai","airforce","al","allfinanz","alsace","am","amsterdam","an","android","ao","apartments","aq","aquarelle","ar","archi","army","arpa","as","asia","associates","at","attorney","au","auction","audio","autos","aw","ax","axa","az","ba","band","bank","bar","barclaycard","barclays","bargains","bayern","bb","bd","be","beer","berlin","best","bf","bg","bh","bi","bid","bike","bingo","bio","biz","bj","black","blackfriday","bloomberg","blue","bm","bmw","bn","bnpparibas","bo","boo","boutique","br","brussels","bs","bt","budapest","build","builders","business","buzz","bv","bw","by","bz","bzh","ca","cab","cal","camera","camp","cancerresearch","canon","capetown","capital","caravan","cards","care","career","careers","cartier","casa","cash","cat","catering","cc","cd","center","ceo","cern","cf","cg","ch","channel","chat","cheap","christmas","chrome","church","ci","citic","city","ck","cl","claims","cleaning","click","clinic","clothing","club","cm","cn","co","coach","codes","coffee","college","cologne","com","community","company","computer","condos","construction","consulting","contractors","cooking","cool","coop","country","cr","credit","creditcard","cricket","crs","cruises","cu","cuisinella","cv","cw","cx","cy","cymru","cz","dabur","dad","dance","dating","day","dclk","de","deals","degree","delivery","democrat","dental","dentist","desi","design","dev","diamonds","diet","digital","direct","directory","discount","dj","dk","dm","dnp","do","docs","domains","doosan","durban","dvag","dz","eat","ec","edu","education","ee","eg","email","emerck","energy","engineer","engineering","enterprises","equipment","er","es","esq","estate","et","eu","eurovision","eus","events","everbank","exchange","expert","exposed","fail","farm","fashion","feedback","fi","finance","financial","firmdale","fish","fishing","fit","fitness","fj","fk","flights","florist","flowers","flsmidth","fly","fm","fo","foo","forsale","foundation","fr","frl","frogans","fund","furniture","futbol","ga","gal","gallery","garden","gb","gbiz","gd","ge","gent","gf","gg","ggee","gh","gi","gift","gifts","gives","gl","glass","gle","global","globo","gm","gmail","gmo","gmx","gn","goog","google","gop","gov","gp","gq","gr","graphics","gratis","green","gripe","gs","gt","gu","guide","guitars","guru","gw","gy","hamburg","hangout","haus","healthcare","help","here","hermes","hiphop","hiv","hk","hm","hn","holdings","holiday","homes","horse","host","hosting","house","how","hr","ht","hu","ibm","id","ie","ifm","il","im","immo","immobilien","in","industries","info","ing","ink","institute","insure","int","international","investments","io","iq","ir","irish","is","it","iwc","jcb","je","jetzt","jm","jo","jobs","joburg","jp","juegos","kaufen","kddi","ke","kg","kh","ki","kim","kitchen","kiwi","km","kn","koeln","kp","kr","krd","kred","kw","ky","kyoto","kz","la","lacaixa","land","lat","latrobe","lawyer","lb","lc","lds","lease","legal","lgbt","li","lidl","life","lighting","limited","limo","link","lk","loans","london","lotte","lotto","lr","ls","lt","ltda","lu","luxe","luxury","lv","ly","ma","madrid","maison","management","mango","market","marketing","marriott","mc","md","me","media","meet","melbourne","meme","memorial","menu","mg","mh","miami","mil","mini","mk","ml","mm","mn","mo","mobi","moda","moe","monash","money","mormon","mortgage","moscow","motorcycles","mov","mp","mq","mr","ms","mt","mu","museum","mv","mw","mx","my","mz","na","nagoya","name","navy","nc","ne","net","network","neustar","new","nexus","nf","ng","ngo","nhk","ni","nico","ninja","nl","no","np","nr","nra","nrw","ntt","nu","nyc","nz","okinawa","om","one","ong","onl","ooo","org","organic","osaka","otsuka","ovh","pa","paris","partners","parts","party","pe","pf","pg","ph","pharmacy","photo","photography","photos","physio","pics","pictures","pink","pizza","pk","pl","place","plumbing","pm","pn","pohl","poker","porn","post","pr","praxi","press","pro","prod","productions","prof","properties","property","ps","pt","pub","pw","py","qa","qpon","quebec","re","realtor","recipes","red","rehab","reise","reisen","reit","ren","rentals","repair","report","republican","rest","restaurant","reviews","rich","rio","rip","ro","rocks","rodeo","rs","rsvp","ru","ruhr","rw","ryukyu","sa","saarland","sale","samsung","sarl","saxo","sb","sc","sca","scb","schmidt","schule","schwarz","science","scot","sd","se","services","sew","sexy","sg","sh","shiksha","shoes","shriram","si","singles","sj","sk","sky","sl","sm","sn","so","social","software","sohu","solar","solutions","soy","space","spiegel","sr","st","style","su","supplies","supply","support","surf","surgery","suzuki","sv","sx","sy","sydney","systems","sz","taipei","tatar","tattoo","tax","tc","td","technology","tel","temasek","tennis","tf","tg","th","tienda","tips","tires","tirol","tj","tk","tl","tm","tn","to","today","tokyo","tools","top","toshiba","town","toys","tp","tr","trade","training","travel","trust","tt","tui","tv","tw","tz","ua","ug","uk","university","uno","uol","us","uy","uz","va","vacations","vc","ve","vegas","ventures","versicherung","vet","vg","vi","viajes","video","villas","vision","vlaanderen","vn","vodka","vote","voting","voto","voyage","vu","wales","wang","watch","webcam","website","wed","wedding","wf","whoswho","wien","wiki","williamhill","wme","work","works","world","ws","wtc","wtf","佛山","集团","在线","한국","ভারত","八卦","موقع","公益","公司","移动","我爱你","москва","қаз","онлайн","сайт","срб","淡马锡","орг","삼성","சிங்கப்பூர்","商标","商店","商城","дети","мкд","中文网","中信","中国","中國","谷歌","భారత్","ලංකා","ભારત","भारत","网店","संगठन","网络","укр","香港","台湾","台灣","手机","мон","الجزائر","عمان","ایران","امارات","بازار","الاردن","بھارت","المغرب","السعودية","مليسيا","شبكة","გე","机构","组织机构","ไทย","سورية","рус","рф","تونس","みんな","グーグル","世界","ਭਾਰਤ","网址","游戏","vermögensberater","vermögensberatung","企业","مصر","قطر","广东","இலங்கை","இந்தியா","新加坡","فلسطين","政务","xxx","xyz","yachts","yandex","ye","yoga","yokohama","youtube","yt","za","zip","zm","zone","zuerich","zw"],Countries:[{phoneCode:"7 840",code:"AB",name:"Abkhazia",pattern:"",emoji:""},{phoneCode:"93",code:"AF",name:"Afghanistan",pattern:"93 XXX XXX XXX",emoji:"🇦🇫"},{phoneCode:"358 18",code:"AX",name:"Aland Islands",pattern:"",emoji:"🇦🇽"},{phoneCode:"355",code:"AL",name:"Albania",pattern:"355 XX XXX XXXX",emoji:"🇦🇱"},{phoneCode:"213",code:"DZ",name:"Algeria",pattern:"213 XXX XX XX XX",emoji:"🇩🇿"},{phoneCode:"1 684",code:"AS",name:"American Samoa",pattern:"1684 XXX XXXX",emoji:"🇦🇸"},{phoneCode:"376",code:"AD",name:"Andorra",pattern:"376 XX XX XX",emoji:"🇦🇩"},{phoneCode:"244",code:"AO",name:"Angola",pattern:"244 XXX XXX XXX",emoji:"🇦🇴"},{phoneCode:"1 264",code:"AI",name:"Anguilla",pattern:"1264 XXX XXXX",emoji:"🇦🇮"},{phoneCode:"1 268",code:"AG",name:"Antigua & Barbuda",pattern:"1268 XXX XXXX",emoji:"🇦🇬"},{phoneCode:"54",code:"AR",name:"Argentina",pattern:"",emoji:"🇦🇷"},{phoneCode:"374",code:"AM",name:"Armenia",pattern:"374 XX XXX XXX",emoji:"🇦🇲"},{phoneCode:"297",code:"AW",name:"Aruba",pattern:"297 XXX XXXX",emoji:"🇦🇼"},{phoneCode:"247",code:"SH",name:"Ascension",pattern:"290 XX XXX",emoji:"🇸🇭"},{phoneCode:"61",code:"AU",name:"Australia",pattern:"61 XXX XXX XXX",emoji:"🇦🇺"},{phoneCode:"672",code:"AU",name:"Australian External Territories",pattern:"61 XXX XXX XXX",emoji:"🇦🇺"},{phoneCode:"43",code:"AT",name:"Austria",pattern:"",emoji:"🇦🇹"},{phoneCode:"994",code:"AZ",name:"Azerbaijan",pattern:"994 XX XXX XX XX",emoji:"🇦🇿"},{phoneCode:"1 242",code:"BS",name:"Bahamas",pattern:"1242 XXX XXXX",emoji:"🇧🇸"},{phoneCode:"973",code:"BH",name:"Bahrain",pattern:"973 XXXX XXXX",emoji:"🇧🇭"},{phoneCode:"880",code:"BD",name:"Bangladesh",pattern:"",emoji:"🇧🇩"},{phoneCode:"1 246",code:"BB",name:"Barbados",pattern:"1246 XXX XXXX",emoji:"🇧🇧"},{phoneCode:"1 268",code:"AG",name:"Barbuda",pattern:"1268 XXX XXXX",emoji:"🇦🇬"},{phoneCode:"375",code:"BY",name:"Belarus",pattern:"375 XX XXX XXXX",emoji:"🇧🇾"},{phoneCode:"32",code:"BE",name:"Belgium",pattern:"32 XXX XX XX XX",emoji:"🇧🇪"},{phoneCode:"501",code:"BZ",name:"Belize",pattern:"",emoji:"🇧🇿"},{phoneCode:"229",code:"BJ",name:"Benin",pattern:"229 XX XXX XXX",emoji:"🇧🇯"},{phoneCode:"1 441",code:"BM",name:"Bermuda",pattern:"1441 XXX XXXX",emoji:"🇧🇲"},{phoneCode:"975",code:"BT",name:"Bhutan",pattern:"",emoji:"🇧🇹"},{phoneCode:"591",code:"BO",name:"Bolivia",pattern:"591 X XXX XXXX",emoji:"🇧🇴"},{phoneCode:"599 7",code:"BQ",name:"Caribbean Netherlands",pattern:"",emoji:"🇧🇶"},{phoneCode:"387",code:"BA",name:"Bosnia & Herzegovina",pattern:"",emoji:"🇧🇦"},{phoneCode:"267",code:"BW",name:"Botswana",pattern:"267 XX XXX XXX",emoji:"🇧🇼"},{phoneCode:"55",code:"BR",name:"Brazil",pattern:"55 XX XXXXX XXXX",emoji:"🇧🇷"},{phoneCode:"246",code:"IO",name:"British Indian Ocean Territory",pattern:"246 XXX XXXX",emoji:"🇮🇴"},{phoneCode:"1 284",code:"VG",name:"British Virgin Islands",pattern:"1284 XXX XXXX",emoji:"🇻🇬"},{phoneCode:"673",code:"BN",name:"Brunei",pattern:"673 XXX XXXX",emoji:"🇧🇳"},{phoneCode:"359",code:"BG",name:"Bulgaria",pattern:"",emoji:"🇧🇬"},{phoneCode:"226",code:"BF",name:"Burkina Faso",pattern:"226 XX XX XX XX",emoji:"🇧🇫"},{phoneCode:"95",code:"MM",name:"Myanmar (Burma)",pattern:"",emoji:"🇲🇲"},{phoneCode:"257",code:"BI",name:"Burundi",pattern:"257 XX XX XXXX",emoji:"🇧🇮"},{phoneCode:"855",code:"KH",name:"Cambodia",pattern:"",emoji:"🇰🇭"},{phoneCode:"237",code:"CM",name:"Cameroon",pattern:"237 XXXX XXXX",emoji:"🇨🇲"},{phoneCode:"1",code:"CA",name:"Canada",pattern:"1 XXX XXX XXXX",emoji:"🇨🇦"},{phoneCode:"238",code:"CV",name:"Cape Verde",pattern:"238 XXX XXXX",emoji:"🇨🇻"},{phoneCode:"1 345",code:"KY",name:"Cayman Islands",pattern:"1345 XXX XXXX",emoji:"🇰🇾"},{phoneCode:"236",code:"CF",name:"Central African Republic",pattern:"236 XX XX XX XX",emoji:"🇨🇫"},{phoneCode:"235",code:"TD",name:"Chad",pattern:"235 XX XX XX XX",emoji:"🇹🇩"},{phoneCode:"56",code:"CL",name:"Chile",pattern:"56 X XXXX XXXX",emoji:"🇨🇱"},{phoneCode:"86",code:"CN",name:"China",pattern:"86 XXX XXXX XXXX",emoji:"🇨🇳"},{phoneCode:"61",code:"CX",name:"Christmas Island",pattern:"",emoji:"🇨🇽"},{phoneCode:"61",code:"CC",name:"Cocos (Keeling) Islands",pattern:"",emoji:"🇨🇨"},{phoneCode:"57",code:"CO",name:"Colombia",pattern:"57 XXX XXX XXXX",emoji:"🇨🇴"},{phoneCode:"269",code:"KM",name:"Comoros",pattern:"269 XXX XXXX",emoji:"🇰🇲"},{phoneCode:"242",code:"CG",name:"Congo - Brazzaville",pattern:"242 XX XXX XXXX",emoji:"🇨🇬"},{phoneCode:"243",code:"CD",name:"Congo - Kinshasa",pattern:"243 XX XXX XXXX",emoji:"🇨🇩"},{phoneCode:"682",code:"CK",name:"Cook Islands",pattern:"",emoji:"🇨🇰"},{phoneCode:"506",code:"CR",name:"Costa Rica",pattern:"",emoji:"🇨🇷"},{phoneCode:"225",code:"CI",name:"Cote dIvoire",pattern:"225 XX XXX XXX",emoji:"🇨🇮"},{phoneCode:"385",code:"HR",name:"Croatia",pattern:"",emoji:"🇭🇷"},{phoneCode:"53",code:"CU",name:"Cuba",pattern:"53 XXXX XXXX",emoji:"🇨🇺"},{phoneCode:"599 9",code:"CW",name:"Curacao",pattern:"",emoji:"🇨🇼"},{phoneCode:"357",code:"CY",name:"Cyprus",pattern:"357 XXXX XXXX",emoji:"🇨🇾"},{phoneCode:"420",code:"CZ",name:"Czech Republic",pattern:"",emoji:"🇨🇿"},{phoneCode:"45",code:"DK",name:"Denmark",pattern:"45 XXXX XXXX",emoji:"🇩🇰"},{phoneCode:"246",code:"DG",name:"Diego Garcia",pattern:"",emoji:"🇩🇬"},{phoneCode:"253",code:"DJ",name:"Djibouti",pattern:"253 XX XX XX XX",emoji:"🇩🇯"},{phoneCode:"1 767",code:"DM",name:"Dominica",pattern:"1767 XXX XXXX",emoji:"🇩🇲"},{phoneCode:"1 809 and 1 829",code:"DO",name:"Dominican Republic",pattern:"1 XXX XXX XXXX",emoji:"🇩🇴"},{phoneCode:"670",code:"TL",name:"Timor-Leste",pattern:"",emoji:"🇹🇱"},{phoneCode:"593",code:"EC",name:"Ecuador",pattern:"",emoji:"🇪🇨"},{phoneCode:"20",code:"EG",name:"Egypt",pattern:"20 XX XXX XXXX",emoji:"🇪🇬"},{phoneCode:"503",code:"SV",name:"El Salvador",pattern:"503 XXXX XXXX",emoji:"🇸🇻"},{phoneCode:"240",code:"GQ",name:"Equatorial Guinea",pattern:"240 XXX XXX XXX",emoji:"🇬🇶"},{phoneCode:"291",code:"ER",name:"Eritrea",pattern:"291 X XXX XXX",emoji:"🇪🇷"},{phoneCode:"372",code:"EE",name:"Estonia",pattern:"",emoji:"🇪🇪"},{phoneCode:"251",code:"ET",name:"Ethiopia",pattern:"251 XX XXX XXXX",emoji:"🇪🇹"},{phoneCode:"500",code:"FK",name:"Falkland Islands",pattern:"",emoji:"🇫🇰"},{phoneCode:"298",code:"FO",name:"Faroe Islands",pattern:"298 XXX XXX",emoji:"🇫🇴"},{phoneCode:"679",code:"FJ",name:"Fiji",pattern:"",emoji:"🇫🇯"},{phoneCode:"358",code:"FI",name:"Finland",pattern:"",emoji:"🇫🇮"},{phoneCode:"33",code:"FR",name:"France",pattern:"33 X XX XX XX XX",emoji:"🇫🇷"},{phoneCode:"594",code:"GF",name:"French Guiana",pattern:"",emoji:"🇬🇫"},{phoneCode:"689",code:"PF",name:"French Polynesia",pattern:"",emoji:"🇵🇫"},{phoneCode:"241",code:"GA",name:"Gabon",pattern:"241 X XX XX XX",emoji:"🇬🇦"},{phoneCode:"220",code:"GM",name:"Gambia",pattern:"220 XXX XXXX",emoji:"🇬🇲"},{phoneCode:"995",code:"GE",name:"Georgia",pattern:"",emoji:"🇬🇪"},{phoneCode:"49",code:"DE",name:"Germany",pattern:"49 XXX XXXXXXXX",emoji:"🇩🇪"},{phoneCode:"233",code:"GH",name:"Ghana",pattern:"",emoji:"🇬🇭"},{phoneCode:"350",code:"GI",name:"Gibraltar",pattern:"350 XXXX XXXX",emoji:"🇬🇮"},{phoneCode:"30",code:"GR",name:"Greece",pattern:"30 XX XXXX XXXX",emoji:"🇬🇷"},{phoneCode:"299",code:"GL",name:"Greenland",pattern:"299 XXX XXX",emoji:"🇬🇱"},{phoneCode:"1 473",code:"GD",name:"Grenada",pattern:"1473 XXX XXXX",emoji:"🇬🇩"},{phoneCode:"590",code:"GP",name:"Guadeloupe",pattern:"",emoji:"🇬🇵"},{phoneCode:"1 671",code:"GU",name:"Guam",pattern:"1671 XXX XXXX",emoji:"🇬🇺"},{phoneCode:"502",code:"GT",name:"Guatemala",pattern:"502 X XXX XXXX",emoji:"🇬🇹"},{phoneCode:"44",code:"GG",name:"Guernsey",pattern:"",emoji:"🇬🇬"},{phoneCode:"224",code:"GN",name:"Guinea",pattern:"224 XXX XXX XXX",emoji:"🇬🇳"},{phoneCode:"245",code:"GW",name:"Guinea-Bissau",pattern:"245 XXX XXXX",emoji:"🇬🇼"},{phoneCode:"592",code:"GY",name:"Guyana",pattern:"",emoji:"🇬🇾"},{phoneCode:"509",code:"HT",name:"Haiti",pattern:"",emoji:"🇭🇹"},{phoneCode:"504",code:"HN",name:"Honduras",pattern:"504 XXXX XXXX",emoji:"🇭🇳"},{phoneCode:"852",code:"HK",name:"Hong Kong SAR China",pattern:"",emoji:"🇭🇰"},{phoneCode:"36",code:"HU",name:"Hungary",pattern:"36 XX XXX XXXX",emoji:"🇭🇺"},{phoneCode:"354",code:"IS",name:"Iceland",pattern:"354 XXX XXXX",emoji:"🇮🇸"},{phoneCode:"91",code:"IN",name:"India",pattern:"91 XXXXX XXXXX",emoji:"🇮🇳"},{phoneCode:"62",code:"ID",name:"Indonesia",pattern:"",emoji:"🇮🇩"},{phoneCode:"98",code:"IR",name:"Iran",pattern:"98 XXX XXX XXXX",emoji:"🇮🇷"},{phoneCode:"964",code:"IQ",name:"Iraq",pattern:"964 XXX XXX XXXX",emoji:"🇮🇶"},{phoneCode:"353",code:"IE",name:"Ireland",pattern:"353 XX XXX XXXX",emoji:"🇮🇪"},{phoneCode:"972",code:"IL",name:"Israel",pattern:"972 XX XXX XXXX",emoji:"🇮🇱"},{phoneCode:"39",code:"IT",name:"Italy",pattern:"39 XXX XXX XXXX",emoji:"🇮🇹"},{phoneCode:"1 876",code:"JM",name:"Jamaica",pattern:"1876 XXX XXXX",emoji:"🇯🇲"},{phoneCode:"47 79",code:"SJ",name:"Svalbard & Jan Mayen",pattern:"",emoji:"🇸🇯"},{phoneCode:"81",code:"JP",name:"Japan",pattern:"81 XX XXXX XXXX",emoji:"🇯🇵"},{phoneCode:"44",code:"JE",name:"Jersey",pattern:"",emoji:"🇯🇪"},{phoneCode:"962",code:"JO",name:"Jordan",pattern:"962 X XXXX XXXX",emoji:"🇯🇴"},{phoneCode:"7 7",code:"KZ",name:"Kazakhstan",pattern:"7 XXX XXX XX XX",emoji:"🇰🇿"},{phoneCode:"254",code:"KE",name:"Kenya",pattern:"254 XXX XXX XXX",emoji:"🇰🇪"},{phoneCode:"686",code:"KI",name:"Kiribati",pattern:"",emoji:"🇰🇮"},{phoneCode:"850",code:"KP",name:"North Korea",pattern:"",emoji:"🇰🇵"},{phoneCode:"82",code:"KR",name:"South Korea",pattern:"",emoji:"🇰🇷"},{phoneCode:"965",code:"KW",name:"Kuwait",pattern:"965 XXXX XXXX",emoji:"🇰🇼"},{phoneCode:"996",code:"KG",name:"Kyrgyzstan",pattern:"",emoji:"🇰🇬"},{phoneCode:"856",code:"LA",name:"Laos",pattern:"",emoji:"🇱🇦"},{phoneCode:"371",code:"LV",name:"Latvia",pattern:"371 XXX XXXXX",emoji:"🇱🇻"},{phoneCode:"961",code:"LB",name:"Lebanon",pattern:"",emoji:"🇱🇧"},{phoneCode:"266",code:"LS",name:"Lesotho",pattern:"266 XX XXX XXX",emoji:"🇱🇸"},{phoneCode:"231",code:"LR",name:"Liberia",pattern:"",emoji:"🇱🇷"},{phoneCode:"218",code:"LY",name:"Libya",pattern:"218 XX XXX XXXX",emoji:"🇱🇾"},{phoneCode:"423",code:"LI",name:"Liechtenstein",pattern:"",emoji:"🇱🇮"},{phoneCode:"370",code:"LT",name:"Lithuania",pattern:"370 XXX XXXXX",emoji:"🇱🇹"},{phoneCode:"352",code:"LU",name:"Luxembourg",pattern:"",emoji:"🇱🇺"},{phoneCode:"853",code:"MO",name:"Macau SAR China",pattern:"",emoji:"🇲🇴"},{phoneCode:"389",code:"MK",name:"Macedonia",pattern:"",emoji:"🇲🇰"},{phoneCode:"261",code:"MG",name:"Madagascar",pattern:"261 XX XX XXX XX",emoji:"🇲🇬"},{phoneCode:"265",code:"MW",name:"Malawi",pattern:"",emoji:"🇲🇼"},{phoneCode:"60",code:"MM",name:"Malaysia",pattern:"",emoji:"🇲🇲"},{phoneCode:"960",code:"MV",name:"Maldives",pattern:"",emoji:"🇲🇻"},{phoneCode:"223",code:"ML",name:"Mali",pattern:"223 XXXX XXXX",emoji:"🇲🇱"},{phoneCode:"356",code:"MT",name:"Malta",pattern:"356 XX XX XX XX",emoji:"🇲🇹"},{phoneCode:"692",code:"MH",name:"Marshall Islands",pattern:"",emoji:"🇲🇭"},{phoneCode:"596",code:"MQ",name:"Martinique",pattern:"",emoji:"🇲🇶"},{phoneCode:"222",code:"MR",name:"Mauritania",pattern:"222 XXXX XXXX",emoji:"🇲🇷"},{phoneCode:"230",code:"MU",name:"Mauritius",pattern:"",emoji:"🇲🇺"},{phoneCode:"262",code:"YT",name:"Mayotte",pattern:"",emoji:"🇾🇹"},{phoneCode:"52",code:"MX",name:"Mexico",pattern:"",emoji:"🇲🇽"},{phoneCode:"691",code:"FM",name:"Micronesia",pattern:"",emoji:"🇫🇲"},{phoneCode:"373",code:"MD",name:"Moldova",pattern:"373 XX XXX XXX",emoji:"🇲🇩"},{phoneCode:"377",code:"MC",name:"Monaco",pattern:"377 XXXX XXXX",emoji:"🇲🇨"},{phoneCode:"976",code:"MN",name:"Mongolia",pattern:"",emoji:"🇲🇳"},{phoneCode:"382",code:"ME",name:"Montenegro",pattern:"",emoji:"🇲🇪"},{phoneCode:"1 664",code:"MS",name:"Montserrat",pattern:"1664 XXX XXXX",emoji:"🇲🇸"},{phoneCode:"212",code:"MA",name:"Morocco",pattern:"212 XX XXX XXXX",emoji:"🇲🇦"},{phoneCode:"258",code:"MZ",name:"Mozambique",pattern:"258 XX XXX XXXX",emoji:"🇲🇿"},{phoneCode:"264",code:"NA",name:"Namibia",pattern:"264 XX XXX XXXX",emoji:"🇳🇦"},{phoneCode:"674",code:"NR",name:"Nauru",pattern:"",emoji:"🇳🇷"},{phoneCode:"977",code:"NP",name:"Nepal",pattern:"",emoji:"🇳🇵"},{phoneCode:"31",code:"NL",name:"Netherlands",pattern:"31 X XX XX XX XX",emoji:"🇳🇱"},{phoneCode:"687",code:"NC",name:"New Caledonia",pattern:"",emoji:"🇳🇨"},{phoneCode:"64",code:"NZ",name:"New Zealand",pattern:"",emoji:"🇳🇿"},{phoneCode:"505",code:"NI",name:"Nicaragua",pattern:"505 XXXX XXXX",emoji:"🇳🇮"},{phoneCode:"227",code:"NE",name:"Niger",pattern:"227 XX XX XX XX",emoji:"🇳🇪"},{phoneCode:"234",code:"NG",name:"Nigeria",pattern:"",emoji:"🇳🇬"},{phoneCode:"683",code:"NU",name:"Niue",pattern:"",emoji:"🇳🇺"},{phoneCode:"672",code:"NF",name:"Norfolk Island",pattern:"",emoji:"🇳🇫"},{phoneCode:"1 670",code:"MP",name:"Northern Mariana Islands",pattern:"1670 XXX XXXX",emoji:"🇲🇵"},{phoneCode:"47",code:"NO",name:"Norway",pattern:"47 XXXX XXXX",emoji:"🇳🇴"},{phoneCode:"968",code:"OM",name:"Oman",pattern:"968 XXXX XXXX",emoji:"🇴🇲"},{phoneCode:"92",code:"PK",name:"Pakistan",pattern:"92 XXX XXX XXXX",emoji:"🇵🇰"},{phoneCode:"680",code:"PW",name:"Palau",pattern:"",emoji:"🇵🇼"},{phoneCode:"970",code:"PS",name:"Palestinian Territories",pattern:"970 XXX XX XXXX",emoji:"🇵🇸"},{phoneCode:"507",code:"PA",name:"Panama",pattern:"507 XXXX XXXX",emoji:"🇵🇦"},{phoneCode:"675",code:"PG",name:"Papua New Guinea",pattern:"",emoji:"🇵🇬"},{phoneCode:"595",code:"PY",name:"Paraguay",pattern:"595 XXX XXX XXX",emoji:"🇵🇾"},{phoneCode:"51",code:"PE",name:"Peru",pattern:"51 XXX XXX XXX",emoji:"🇵🇪"},{phoneCode:"63",code:"PH",name:"Philippines",pattern:"63 XXX XXX XXXX",emoji:"🇵🇭"},{phoneCode:"64",code:"PN",name:"Pitcairn Islands",pattern:"",emoji:"🇵🇳"},{phoneCode:"48",code:"PL",name:"Poland",pattern:"48 XXX XXX XXX",emoji:"🇵🇱"},{phoneCode:"351",code:"PT",name:"Portugal",pattern:"351 X XXXX XXXX",emoji:"🇵🇹"},{phoneCode:"1 787 and 1 939",code:"PR",name:"Puerto Rico",pattern:"1 XXX XXX XXXX",emoji:"🇵🇷"},{phoneCode:"974",code:"QA",name:"Qatar",pattern:"",emoji:"🇶🇦"},{phoneCode:"262",code:"RE",name:"Reunion",pattern:"262 XXX XXX XXX",emoji:"🇷🇪"},{phoneCode:"40",code:"RO",name:"Romania",pattern:"40 XXX XXX XXX",emoji:"🇷🇴"},{phoneCode:"7",code:"RU",name:"Russia",pattern:"7 XXX XXX XX XX",emoji:"🇷🇺"},{phoneCode:"250",code:"RW",name:"Rwanda",pattern:"250 XXX XXX XXX",emoji:"🇷🇼"},{phoneCode:"590",code:"BL",name:"St. Barthelemy",pattern:"",emoji:"🇧🇱"},{phoneCode:"290",code:"SH",name:"St. Helena",pattern:"290 XX XXX",emoji:"🇸🇭"},{phoneCode:"1 869",code:"KN",name:"St. Kitts & Nevis",pattern:"1869 XXX XXXX",emoji:"🇰🇳"},{phoneCode:"1 758",code:"LC",name:"St. Lucia",pattern:"1758 XXX XXXX",emoji:"🇱🇨"},{phoneCode:"590",code:"MF",name:"St. Martin (France)",pattern:"",emoji:"🇲🇫"},{phoneCode:"508",code:"PM",name:"St. Pierre and Miquelon",pattern:"",emoji:"🇵🇲"},{phoneCode:"1 784",code:"VC",name:"St. Vincent and the Grenadines",pattern:"1784 XXX XXXX",emoji:"🇻🇨"},{phoneCode:"685",code:"WS",name:"Samoa",pattern:"",emoji:"🇼🇸"},{phoneCode:"378",code:"SM",name:"San Marino",pattern:"378 XXX XXX XXXX",emoji:"🇸🇲"},{phoneCode:"239",code:"ST",name:"São Tome & Principe",pattern:"239 XX XXXXX",emoji:"🇸🇹"},{phoneCode:"966",code:"SA",name:"Saudi Arabia",pattern:"",emoji:"🇸🇦"},{phoneCode:"221",code:"SN",name:"Senegal",pattern:"221 XX XXX XXXX",emoji:"🇸🇳"},{phoneCode:"381",code:"RS",name:"Serbia",pattern:"381 XX XXX XXXX",emoji:"🇷🇸"},{phoneCode:"248",code:"SC",name:"Seychelles",pattern:"248 X XX XX XX",emoji:"🇸🇨"},{phoneCode:"232",code:"SL",name:"Sierra Leone",pattern:"232 XX XXX XXX",emoji:"🇸🇱"},{phoneCode:"65",code:"SG",name:"Singapore",pattern:"65 XXXX XXXX",emoji:"🇸🇬"},{phoneCode:"599 3",code:"BQ",name:"Sint Eustatius",pattern:"",emoji:"🇧🇶"},{phoneCode:"1 721",code:"SX",name:"Sint Maarten",pattern:"1721 XXX XXXX",emoji:"🇸🇽"},{phoneCode:"421",code:"SK",name:"Slovakia",pattern:"",emoji:"🇸🇰"},{phoneCode:"386",code:"SI",name:"Slovenia",pattern:"",emoji:"🇸🇮"},{phoneCode:"677",code:"SB",name:"Solomon Islands",pattern:"",emoji:"🇸🇧"},{phoneCode:"252",code:"SO",name:"Somalia",pattern:"252 XX XXX XXX",emoji:"🇸🇴"},{phoneCode:"27",code:"ZA",name:"South Africa",pattern:"27 XX XXX XXXX",emoji:"🇿🇦"},{phoneCode:"500",code:"GS",name:"South Georgia & South Sandwich Islands",pattern:"",emoji:"🇬🇸"},{phoneCode:"995 34",code:"",name:"South Ossetia",pattern:"",emoji:""},{phoneCode:"211",code:"SS",name:"South Sudan",pattern:"211 XX XXX XXXX",emoji:"🇸🇸"},{phoneCode:"34",code:"ES",name:"Spain",pattern:"34 XXX XXX XXX",emoji:"🇪🇸"},{phoneCode:"94",code:"LK",name:"Sri Lanka",pattern:"94 XX XXX XXXX",emoji:"🇱🇰"},{phoneCode:"249",code:"SD",name:"Sudan",pattern:"249 XX XXX XXXX",emoji:"🇸🇩"},{phoneCode:"597",code:"SR",name:"Suriname",pattern:"597 XXX XXXX",emoji:"🇸🇷"},{phoneCode:"47 79",code:"SJ",name:"Svalbard",pattern:"",emoji:"🇸🇯"},{phoneCode:"268",code:"SZ",name:"Swaziland",pattern:"268 XXXX XXXX",emoji:"🇸🇿"},{phoneCode:"46",code:"SE",name:"Sweden",pattern:"46 XX XXX XXXX",emoji:"🇸🇪"},{phoneCode:"41",code:"CH",name:"Switzerland",pattern:"41 XX XXX XXXX",emoji:"🇨🇭"},{phoneCode:"963",code:"SY",name:"Syria",pattern:"",emoji:"🇸🇾"},{phoneCode:"886",code:"TW",name:"Taiwan",pattern:"",emoji:"🇹🇼"},{phoneCode:"992",code:"TJ",name:"Tajikistan",pattern:"",emoji:"🇹🇯"},{phoneCode:"255",code:"TZ",name:"Tanzania",pattern:"255 XX XXX XXXX",emoji:"🇹🇿"},{phoneCode:"66",code:"TH",name:"Thailand",pattern:"66 X XXXX XXXX",emoji:"🇹🇭"},{phoneCode:"228",code:"TG",name:"Togo",pattern:"228 XX XXX XXX",emoji:"🇹🇬"},{phoneCode:"690",code:"TK",name:"Tokelau",pattern:"",emoji:"🇹🇰"},{phoneCode:"676",code:"TO",name:"Tonga",pattern:"",emoji:"🇹🇴"},{phoneCode:"1 868",code:"TT",name:"Trinidad & Tobago",pattern:"1868 XXX XXXX",emoji:"🇹🇹"},{phoneCode:"216",code:"TN",name:"Tunisia",pattern:"216 XX XXX XXX",emoji:"🇹🇳"},{phoneCode:"90",code:"TR",name:"Turkey",pattern:"90 XXX XXX XXXX",emoji:"🇹🇷"},{phoneCode:"993",code:"TM",name:"Turkmenistan",pattern:"993 XX XXXXXX",emoji:"🇹🇲"},{phoneCode:"1 649",code:"TC",name:"Turks & Caicos Islands",pattern:"1649 XXX XXXX",emoji:"🇹🇨"},{phoneCode:"688",code:"TV",name:"Tuvalu",pattern:"",emoji:"🇹🇻"},{phoneCode:"256",code:"UG",name:"Uganda",pattern:"256 XX XXX XXXX",emoji:"🇺🇬"},{phoneCode:"380",code:"UA",name:"Ukraine",pattern:"380 XX XXX XX XX",emoji:"🇺🇦"},{phoneCode:"971",code:"AE",name:"United Arab Emirates",pattern:"971 XX XXX XXXX",emoji:"🇦🇪"},{phoneCode:"44",code:"GB",name:"United Kingdom",pattern:"44 XXXX XXXXXX",emoji:"🇬🇧"},{phoneCode:"1",code:"US",name:"United States",pattern:"1 XXX XXX XXXX",emoji:"🇺🇸"},{phoneCode:"598",code:"UY",name:"Uruguay",pattern:"598 XXXX XXXX",emoji:"🇺🇾"},{phoneCode:"1 340",code:"VI",name:"U.S. Virgin Islands",pattern:"1340 XXX XXXX",emoji:"🇻🇮"},{phoneCode:"998",code:"UZ",name:"Uzbekistan",pattern:"998 XX XXXXXXX",emoji:"🇺🇿"},{phoneCode:"678",code:"VU",name:"Vanuatu",pattern:"",emoji:"🇻🇺"},{phoneCode:"58",code:"VE",name:"Venezuela",pattern:"58 XXX XXX XXXX",emoji:"🇻🇪"},{phoneCode:"39 06 698",code:"VA",name:"Vatican City",pattern:"",emoji:"🇻🇦"},{phoneCode:"84",code:"VN",name:"Vietnam",pattern:"",emoji:"🇻🇳"},{phoneCode:"681",code:"WF",name:"Wallis & Futuna",pattern:"",emoji:"🇼🇫"},{phoneCode:"967",code:"YE",name:"Yemen",pattern:"967 XXX XXX XXX",emoji:"🇾🇪"},{phoneCode:"260",code:"ZM",name:"Zambia",pattern:"260 XX XXX XXXX",emoji:"🇿🇲"},{phoneCode:"255",code:"",name:"Zanzibar",pattern:"",emoji:""},{phoneCode:"263",code:"ZW",name:"Zimbabwe",pattern:"263 XX XXX XXXX",emoji:"🇿🇼"}]};window.Config=s,t.default=s},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=a(i(71));t.default=class{constructor(e,t,i,s){this.isAuthPage=t,this.onFirstMount=i,this.onMount=s,this.installed=!1,this.pageEl=document.body.getElementsByClassName(e)[0]}mount(...e){return s(this,void 0,void 0,(function*(){if(this.onMount&&this.onMount(...e),!this.installed){if(this.onFirstMount){let t=this.onFirstMount(...e);t instanceof Promise&&(yield t)}this.installed=!0}o.default.setPage(this)}))}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(1)),o=i(0),n=s(i(7)),r=s(i(4)),l=s(i(6));class d{constructor(){this.updatesState={pendingPtsUpdates:[],pendingSeqUpdates:{},syncPending:!1,syncLoading:!0},this.channelStates={},this.attached=!1}popPendingSeqUpdate(){var e=this.updatesState.seq+1,t=this.updatesState.pendingSeqUpdates[e];if(!t)return!1;for(var i=t.updates,s=0,a=i.length;s<a;s++)this.saveUpdate(i[s]);return this.updatesState.seq=t.seq,t.date&&this.updatesState.date<t.date&&(this.updatesState.date=t.date),delete this.updatesState.pendingSeqUpdates[e],!this.popPendingSeqUpdate()&&this.updatesState.syncPending&&this.updatesState.syncPending.seqAwaiting&&this.updatesState.seq>=this.updatesState.syncPending.seqAwaiting&&(this.updatesState.syncPending.ptsAwaiting?delete this.updatesState.syncPending.seqAwaiting:(clearTimeout(this.updatesState.syncPending.timeout),this.updatesState.syncPending=!1)),!0}popPendingPtsUpdate(e){var t=e?this.getChannelState(e):this.updatesState;if(!t.pendingPtsUpdates.length)return!1;t.pendingPtsUpdates.sort((e,t)=>e.pts-t.pts);for(var i,s=t.pts,a=!1,n=0,r=0,l=t.pendingPtsUpdates.length;r<l;r++)(s+=(i=t.pendingPtsUpdates[r]).pts_count)>=i.pts&&(a=i.pts,n=r);if(!a)return!1;for(console.log(o.dT(),"pop pending pts updates",a,t.pendingPtsUpdates.slice(0,n+1)),t.pts=a,r=0;r<=n;r++)i=t.pendingPtsUpdates[r],this.saveUpdate(i);return t.pendingPtsUpdates.splice(0,n+1),!t.pendingPtsUpdates.length&&t.syncPending&&(t.syncPending.seqAwaiting?delete t.syncPending.ptsAwaiting:(clearTimeout(t.syncPending.timeout),t.syncPending=!1)),!0}forceGetDifference(){this.updatesState.syncLoading||this.getDifference()}processUpdateMessage(e){var t={date:e.date,seq:e.seq,seqStart:e.seq_start};switch(e._){case"updatesTooLong":case"new_session_created":this.forceGetDifference();break;case"updateShort":this.processUpdate(e.update,t);break;case"updateShortMessage":case"updateShortChatMessage":var i=2&e.flags,s=e.from_id||(i?o.$rootScope.myID:e.user_id),a=e.chat_id?-e.chat_id:i?e.user_id:o.$rootScope.myID;this.processUpdate({_:"updateNewMessage",message:{_:"message",flags:e.flags,pFlags:e.pFlags,id:e.id,from_id:s,to_id:n.default.getOutputPeer(a),date:e.date,message:e.message,fwd_from:e.fwd_from,reply_to_msg_id:e.reply_to_msg_id,entities:e.entities},pts:e.pts,pts_count:e.pts_count},t);break;case"updatesCombined":case"updates":r.default.saveApiUsers(e.users),l.default.saveApiChats(e.chats),e.updates.forEach(e=>{this.processUpdate(e,t)});break;default:console.warn(o.dT(),"Unknown update message",e)}}getDifference(){const e=this.updatesState;return e.syncLoading||(e.syncLoading=!0,e.pendingSeqUpdates={},e.pendingPtsUpdates=[]),e.syncPending&&(clearTimeout(e.syncPending.timeout),e.syncPending=!1),a.default.invokeApi("updates.getDifference",{pts:e.pts,date:e.date,qts:-1},{timeout:2147483647}).then(t=>{if("updates.differenceEmpty"==t._)return console.log(o.dT(),"apply empty diff",t.seq),e.date=t.date,e.seq=t.seq,e.syncLoading=!1,o.$rootScope.$broadcast("stateSynchronized"),!1;r.default.saveApiUsers(t.users),l.default.saveApiChats(t.chats),t.other_updates.forEach(e=>{switch(e._){case"updateChannelTooLong":case"updateNewChannelMessage":case"updateEditChannelMessage":return void this.processUpdate(e)}this.saveUpdate(e)}),t.new_messages.forEach(t=>{this.saveUpdate({_:"updateNewMessage",message:t,pts:e.pts,pts_count:0})});const i=t.intermediate_state||t.state;e.seq=i.seq,e.pts=i.pts,e.date=i.date,"updates.differenceSlice"==t._?this.getDifference():(o.$rootScope.$broadcast("stateSynchronized"),e.syncLoading=!1)},()=>{e.syncLoading=!1})}getChannelDifference(e){var t=this.getChannelState(e);t.syncLoading||(t.syncLoading=!0,t.pendingPtsUpdates=[]),t.syncPending&&(clearTimeout(t.syncPending.timeout),t.syncPending=!1),a.default.invokeApi("updates.getChannelDifference",{channel:l.default.getChannelInput(e),filter:{_:"channelMessagesFilterEmpty"},pts:t.pts,limit:30},{timeout:2147483647}).then(i=>(t.pts=i.pts,"updates.channelDifferenceEmpty"==i._?(console.log(o.dT(),"apply channel empty diff",i),t.syncLoading=!1,o.$rootScope.$broadcast("stateSynchronized"),!1):"updates.channelDifferenceTooLong"==i._?(console.log(o.dT(),"channel diff too long",i),t.syncLoading=!1,delete this.channelStates[e],this.saveUpdate({_:"updateChannelReload",channel_id:e}),!1):(r.default.saveApiUsers(i.users),l.default.saveApiChats(i.chats),console.log(o.dT(),"applying",i.other_updates.length,"channel other updates"),i.other_updates.forEach(e=>{this.saveUpdate(e)}),console.log(o.dT(),"applying",i.new_messages.length,"channel new messages"),i.new_messages.forEach(e=>{this.saveUpdate({_:"updateNewChannelMessage",message:e,pts:t.pts,pts_count:0})}),console.log(o.dT(),"apply channel diff",t.pts),void("updates.channelDifference"!=i._||i.pFlags.final?(console.log(o.dT(),"finished channel get diff"),o.$rootScope.$broadcast("stateSynchronized"),t.syncLoading=!1):this.getChannelDifference(e)))),()=>{t.syncLoading=!1})}addChannelState(e,t){if(!t)throw new Error("Add channel state without pts "+e);return!(e in this.channelStates)&&(this.channelStates[e]={pts:t,pendingPtsUpdates:[],syncPending:!1,syncLoading:!1},!0)}getChannelState(e,t){return void 0===this.channelStates[e]&&this.addChannelState(e,t),this.channelStates[e]}processUpdate(e,t={}){var i=!1;switch(e._){case"updateNewChannelMessage":case"updateEditChannelMessage":i=-n.default.getPeerID(e.message.to_id);break;case"updateDeleteChannelMessages":i=e.channel_id;break;case"updateChannelTooLong":if(!((i=e.channel_id)in this.channelStates))return!1}var s,a,d=i?this.getChannelState(i,e.pts):this.updatesState;if(d.syncLoading)return!1;if("updateChannelTooLong"==e._)return(!d.lastPtsUpdateTime||d.lastPtsUpdateTime<o.tsNow()-1e4)&&this.getChannelDifference(i),!1;if("updateNewMessage"==e._||"updateEditMessage"==e._||"updateNewChannelMessage"==e._||"updateEditChannelMessage"==e._){var c=e.message,u=n.default.getPeerID(c.to_id),h=c.fwd_from||{},p=!1;if(c.from_id&&!r.default.hasUser(c.from_id,c.pFlags.post)&&(p="author")||h.from_id&&!r.default.hasUser(h.from_id,!!h.channel_id)&&(p="fwdAuthor")||h.channel_id&&!l.default.hasChat(h.channel_id,!0)&&(p="fwdChannel")||u>0&&!r.default.hasUser(u)&&(p="toPeer User")||u<0&&!l.default.hasChat(-u)&&(p="toPeer Chat"))return console.warn(o.dT(),"Not enough data for message update",u,p,c),i&&l.default.hasChat(i)?this.getChannelDifference(i):this.forceGetDifference(),!1}else if(i&&!l.default.hasChat(i))return!1;if(e.pts){if(d.pts+(e.pts_count||0)<e.pts)return console.warn(o.dT(),"Pts hole",d,e,i&&l.default.getChat(i)),d.pendingPtsUpdates.push(e),d.syncPending||(d.syncPending={timeout:setTimeout(()=>{i?this.getChannelDifference(i):this.getDifference()},5e3)}),d.syncPending.ptsAwaiting=!0,!1;if(e.pts>d.pts)d.pts=e.pts,s=!0,d.lastPtsUpdateTime=o.tsNow();else if(e.pts_count)return!1;i&&t.date&&this.updatesState.date<t.date&&(this.updatesState.date=t.date)}else if(!i&&t.seq>0){var m=t.seq,g=t.seqStart||m;if(g!=d.seq+1&&g>d.seq)return console.warn(o.dT(),"Seq hole",d,d.syncPending&&d.syncPending.seqAwaiting),void 0===d.pendingSeqUpdates[g]&&(d.pendingSeqUpdates[g]={seq:m,date:t.date,updates:[]}),d.pendingSeqUpdates[g].updates.push(e),d.syncPending||(d.syncPending={timeout:setTimeout(()=>{this.getDifference()},5e3)}),(!d.syncPending.seqAwaiting||d.syncPending.seqAwaiting<g)&&(d.syncPending.seqAwaiting=g),!1;d.seq!=m&&(d.seq=m,t.date&&d.date<t.date&&(d.date=t.date),a=!0)}this.saveUpdate(e),s?this.popPendingPtsUpdate(i):a&&this.popPendingSeqUpdate()}saveUpdate(e){o.$rootScope.$broadcast("apiUpdate",e)}attach(e){this.attached||(this.attached=!0,a.default.setUpdatesProcessor(this.processUpdateMessage.bind(this)),e&&e.pts&&e.date&&e.seq?(Object.assign(this.updatesState,e),this.getDifference()):a.default.invokeApi("updates.getState",{},{noErrorBox:!0}).then(e=>{this.updatesState.seq=e.seq,this.updatesState.pts=e.pts,this.updatesState.date=e.date,setTimeout(()=>{this.updatesState.syncLoading=!1},1e3)}))}}t.ApiUpdatesManager=d,t.default=new d},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(10),n=a(i(74)),r=a(i(26)),l=a(i(1)),d=i(13),c=a(i(42));class u{constructor(){this.cachedSavePromises={},this.cachedDownloadPromises={},this.cachedDownloads={},this.downloadPulls={},this.downloadActives={},this.log=d.logger("AFM")}downloadRequest(e,t,i){void 0===this.downloadPulls[e]&&(this.downloadPulls[e]=[],this.downloadActives[e]=0);var s=this.downloadPulls[e];let a=new Promise((e,a)=>{s.push({cb:t,deferred:{resolve:e,reject:a},activeDelta:i})});return setTimeout(()=>{this.downloadCheck(e)},0),a}downloadCheck(e){var t=this.downloadPulls[e],i="upload"==e?11:5;if(this.downloadActives[e]>=i||!t||!t.length)return!1;var s=t.shift(),a=s.activeDelta||1;this.downloadActives[e]+=a,s.cb().then(t=>{this.downloadActives[e]-=a,this.downloadCheck(e),s.deferred.resolve(t)},t=>{t&&this.log.error("downloadCheck error:",t),this.downloadActives[e]-=a,this.downloadCheck(e),s.deferred.reject(t)})}getFileName(e,t){switch(e._){case"inputDocumentFileLocation":{let i=(e.file_name||"").split("."),s=i[i.length-1]||"";1!=(null==t?void 0:t.stickerType)||c.default.isSupported()||(s+=".png");let a=e.thumb_size?"_"+e.thumb_size:"";return(i[0]?i[0]+"_":"")+e.id+a+(s?"."+s:s)}default:{e.volume_id||e.file_reference||this.log.trace("Empty location",e);let i="jpg";return 1!=(null==t?void 0:t.stickerType)||c.default.isSupported()||(i+=".png"),e.volume_id?e.volume_id+"_"+e.local_id+"."+i:e.id+"_"+e.access_hash+"."+i}}}getTempFileName(e){var t=e.size||-1;return"_temp"+o.nextRandomInt(4294967295)+"_"+t}getCachedFile(e){if(!e)return!1;var t=this.getFileName(e);return this.cachedDownloads[t]||!1}getFileStorage(){return n.default}saveSmallFile(e,t){var i=this.getFileName(e);return this.cachedSavePromises[i]||(this.cachedSavePromises[i]=this.getFileStorage().saveFile(i,t).then(e=>this.cachedDownloads[i]=e,e=>{delete this.cachedSavePromises[i]})),this.cachedSavePromises[i]}downloadSmallFile(e,t={}){if(!r.default.isAvailable())return Promise.reject({type:"BROWSER_BLOB_NOT_SUPPORTED"});let i=!1;1!=t.stickerType||c.default.isSupported()||(i=!0,t.mimeType="image/png");let s=t.dcID||e.dc_id,a=t.mimeType||"image/jpeg",o=this.getFileName(e,t),n=this.cachedSavePromises[o]||this.cachedDownloadPromises[o];if(n)return n;let d=this.getFileStorage();return this.cachedDownloadPromises[o]=d.getFile(o).then(e=>this.cachedDownloads[o]=e).catch(()=>{let t=this.downloadRequest(s,()=>{let t=e;t._&&"fileLocation"!=t._||(t=Object.assign({},e,{_:"inputFileLocation"}));let i={flags:0,location:t,offset:0,limit:1048576};return l.default.invokeApi("upload.getFile",i,{dcID:s,fileDownload:!0,noErrorBox:!0})},s);return d.getFileWriter(o,a).then(e=>t.then(t=>{return(s=t.bytes,i?c.default.convertToPng(s):Promise.resolve(s)).then(t=>r.default.write(e,t).then(()=>this.cachedDownloads[o]=e.finalize()));var s}))})}getDownloadedFile(e,t){var i=this.getFileStorage(),s="string"!=typeof e?this.getFileName(e):e;return i.getFile(s,t)}downloadFile(e,t,i,a={}){if(!r.default.isAvailable())return Promise.reject({type:"BROWSER_BLOB_NOT_SUPPORTED"});let o=!1;1!=a.stickerType||c.default.isSupported()||(a.toFileEntry||i>524288?delete a.stickerType:(o=!0,a.mimeType="image/png"));let n=this.getFileName(t,a),u=a.toFileEntry||null,h=this.cachedSavePromises[n]||this.cachedDownloadPromises[n],p=this.getFileStorage();if(h)return u?h.then(e=>r.default.copy(e,u)):i?h.then(s=>s.size<i?(this.log("downloadFile need to deleteFile, wrong size:",s.size,i),this.deleteFile(n).then(()=>this.downloadFile(e,t,i,a)).catch(()=>this.downloadFile(e,t,i,a))):s):h;let m=d.deferredPromise();var g,f=!1,b=!1,v=a.mimeType||"image/jpeg",y=e=>{m.reject(e),y=()=>{},!g||e&&"DOWNLOAD_CANCELED"==e.type||g.truncate(0)};return p.getFile(n,i).then(e=>s(this,void 0,void 0,(function*(){if(e.size<i)throw this.log("downloadFile need to deleteFile 2, wrong size:",e.size,i),yield this.deleteFile(n),!1;u?r.default.copy(e,u).then(()=>{m.resolve()},y):m.resolve(this.cachedDownloads[n]=e)}))).catch(()=>{var s=u?Promise.resolve(u):p.getFileWriter(n,v);s.then(s=>{g=s;var d,h,p=a.limitPart||524288,v=0,w=Promise.resolve();if(s.length){if((v=s.length)>=i)return void(u?m.resolve():m.resolve(this.cachedDownloads[n]=s.finalize()));s.seek(v),m.notify({done:v,total:i})}for(d=v;d<i;d+=p){let a={};h=new Promise((e,t)=>{a.resolve=e,a.reject=t}),Object.assign(h,a),((a,d,h,g)=>{this.downloadRequest(e,()=>f?Promise.resolve():l.default.invokeApi("upload.getFile",{flags:0,location:t,offset:d,limit:p},{dcID:e,fileDownload:!0,singleInRequest:"safari"in window}),e).then(e=>{g.then(()=>{return f?Promise.resolve():(t=e.bytes,o?c.default.convertToPng(t):Promise.resolve(t)).then(e=>r.default.write(s,e).then(()=>{h.resolve()},y).then(()=>{a?(b=!0,u?m.resolve():m.resolve(this.cachedDownloads[n]=s.finalize())):m.notify({done:d+p,total:i})}));var t})},y)})(d+p>=i,d,h,w),w=h}})}),m.cancel=()=>{f||b||(f=!0,delete this.cachedDownloadPromises[n],y({type:"DOWNLOAD_CANCELED"}),u&&u.abort())},u||(this.cachedDownloadPromises[n]=m),m}deleteFile(e){return this.log("will delete file:",e),delete this.cachedDownloadPromises[e],delete this.cachedDownloads[e],delete this.cachedSavePromises[e],this.getFileStorage().deleteFile(e)}uploadFile(e){var t=e.size,i=t>=10485760,s=!1,a=!1,n=0,r=262144,d=2;t>67108864?(r=524288,d=4):t<102400&&(r=32768,d=1);var c=Math.ceil(t/r),u=[o.nextRandomInt(4294967295),o.nextRandomInt(4294967295)],h=0,p={_:i?"inputFileBig":"inputFile",id:u,parts:c,name:e instanceof File?e.name:"",md5_checksum:""};let m={notify:e=>{}},g=new Promise((e,t)=>{if(c>3e3)return t({type:"FILE_TOO_BIG"});m.resolve=e,m.reject=t});if(Object.assign(g,m),c>3e3)return g;let f=e=>{this.log.error("Up Error",e),g.reject(e),s=!0,f=()=>{}},b=i?"upload.saveBigFilePart":"upload.saveFilePart";for(let i=0;i<t;i+=r){let o=h++;this.downloadRequest("upload",()=>new Promise((d,h)=>{var m=new FileReader,v=e.slice(i,i+r);m.onloadend=e=>{s?h():e.target.readyState==FileReader.DONE?l.default.invokeApi(b,{file_id:u,file_part:o,file_total_parts:c,bytes:e.target.result},{startMaxLength:r+256,fileUpload:!0,singleInRequest:!0}).then(e=>{n++,d(),n>=c?(g.resolve(p),a=!0):g.notify({done:n*r,total:t})},f):this.log.error("wrong readyState!")},m.readAsArrayBuffer(v)}),d)}return g.cancel=()=>{this.log("cancel upload",s,a),s||a||(s=!0,f({type:"UPLOAD_CANCELED"}))},g}}t.ApiFileManager=u,t.default=new u},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.App={id:1025907,hash:"452b0359b988148995f22ff0f4229750",version:"0.3.0",domains:[],baseDcID:2},t.Modes={test:location.search.indexOf("test=1")>0,debug:location.search.indexOf("debug=1")>0,http:location.search.indexOf("http=1")>0,ssl:location.search.indexOf("ssl=1")>0||"https:"==location.protocol&&-1==location.search.indexOf("ssl=0"),multipleConnections:!0}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const o=i(2);const n=new(s(i(18)).default)("page-chats",!1,()=>Promise.resolve().then(()=>a(i(15))).then(()=>{Promise.resolve().then(()=>a(i(31))),Array.from(document.getElementsByClassName("btn-menu-toggle")).forEach(e=>{e.addEventListener("click",t=>{if(!e.classList.contains("btn-menu-toggle"))return!1;let i=e.querySelector(".btn-menu");t.cancelBubble=!0,e.classList.contains("menu-open")?(e.classList.remove("menu-open"),i.classList.remove("active")):o.openBtnMenu(i)})})}));t.default=n},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class s{constructor(){this.channelLocals={},this.channelsByLocals={},this.channelCurLocal=0,this.fullMsgIDModulus=4294967296}getFullMessageID(e,t){if(!t||e<=0)return e;e=this.getMessageLocalID(e);var i=this.channelLocals[t];return i||(i=++this.channelCurLocal*this.fullMsgIDModulus,this.channelsByLocals[i]=t,this.channelLocals[t]=i),i+e}getMessageIDInfo(e){if(e<this.fullMsgIDModulus)return[e,0];var t=e%this.fullMsgIDModulus;return[t,this.channelsByLocals[e-t]]}getMessageLocalID(e){return e?e%this.fullMsgIDModulus:0}splitMessageIDsByChannels(e){var t,i,s,a,o={},n={};for(t=0;t<e.length;t++)i=e[t],void 0===o[a=(s=this.getMessageIDInfo(i))[1]]&&(o[a]=[],n[a]=[]),o[a].push(s[0]),n[a].push(i);return{msgIDs:o,mids:n}}}t.AppMessagesIDsManager=s,t.default=new s},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=i(0);t.default=class{constructor(e,t=!0){this.cancelable=t,this.preloader=null,this.circle=null,this.promise=null,this.tempID=0,this.detached=!0,this.preloader=document.createElement("div"),this.preloader.classList.add("preloader-container"),this.preloader.innerHTML='\n <div class="you-spin-me-round">\n <svg xmlns="http://www.w3.org/2000/svg" class="preloader-circular" viewBox="25 25 50 50">\n <circle class="preloader-path-new" cx="50" cy="50" r="23" fill="none" stroke-miterlimit="10"/>\n </svg>\n </div>',t?this.preloader.innerHTML+='\n <svg xmlns="http://www.w3.org/2000/svg" class="preloader-close" viewBox="0 0 20 20">\n <line x1="0" y1="20" x2="20" y2="0" stroke-width="2" stroke-linecap="round"></line>\n <line x1="0" y1="0" x2="20" y2="20" stroke-width="2" stroke-linecap="round"></line>\n </svg>':this.preloader.classList.add("preloader-swing"),this.circle=this.preloader.firstElementChild.firstElementChild.firstElementChild,e&&this.attach(e),this.cancelable&&this.preloader.addEventListener("click",()=>{this.promise&&this.promise.cancel&&(this.promise.cancel(),this.detach())})}attach(e,t=!0,i,s=!0){if(i){this.promise=i;let e=--this.tempID,t=()=>{e==this.tempID&&this.detach(),i.notify=null};i.then(t,t),i.notify=t=>{if(e!=this.tempID)return;console.log("preloader download",i,t);let s=t.done/t.total*100;this.setProgress(s)}}this.cancelable&&t&&this.setProgress(0),this.detached=!1,window.requestAnimationFrame(()=>{this.detached||(this.detached=!1,e[s?"append":"prepend"](this.preloader))})}detach(){this.detached=!0,this.preloader.parentElement&&window.requestAnimationFrame(()=>{this.detached&&(this.detached=!0,this.preloader.parentElement&&this.preloader.parentElement.removeChild(this.preloader))})}setProgress(e){if(!s.isInDOM(this.circle))return;if(0==e)return void(this.circle.style.strokeDasharray="");let t=this.circle.getTotalLength();console.log("setProgress",e/100*t),this.circle.style.strokeDasharray=Math.max(5,e/100*t)+", 200"}}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(0),n=a(i(15)),r=a(i(7)),l=a(i(5)),d=a(i(4)),c=i(3),u=i(2),h=a(i(9)),p=i(13),m=a(i(6)),g=a(i(29)),f=i(45);class b{constructor(e){this.attachTo=e,this.element=document.getElementById("dialogs-contextmenu"),this.buttons={},u.parseMenuButtonsTo(this.buttons,this.element.children);const t=e=>{var t,i;let s=null;try{s=o.findUpTag(e.target,"LI")}catch(e){}if(!s)return;if(e.preventDefault(),this.element.classList.contains("active"))return!1;e.cancelBubble=!0,this.selectedID=+s.getAttribute("data-peerID");const a=l.default.getDialogByPeerID(this.selectedID)[0],n=a.peerID!=o.$rootScope.myID;if(n){const e=this.buttons.archive;let t="";1==a.folder_id?(t="Unarchive chat",e.classList.remove("tgico-archive")):(t="Archive chat",e.classList.add("tgico-archive")),e.innerText=t,this.buttons.archive.style.display=""}else this.buttons.archive.style.display="none";{const e=this.buttons.pin;let i="";(null===(t=a.pFlags)||void 0===t?void 0:t.pinned)?(i="Unpin from top",e.classList.remove("tgico-pin")):(i="Pin to top",e.classList.add("tgico-pin")),e.innerText=i}if(n){const e=this.buttons.mute;let t="";a.notify_settings&&a.notify_settings.mute_until>(Date.now()/1e3|0)?(t="Enable notifications",e.classList.remove("tgico-mute")):(t="Disable notifications",e.classList.add("tgico-mute")),e.innerText=t,this.buttons.mute.style.display=""}else this.buttons.mute.style.display="none";{const e=this.buttons.unread;let t="";(null===(i=a.pFlags)||void 0===i?void 0:i.unread_mark)?(t="Mark as read",e.classList.add("tgico-message")):(t="Mark as unread",e.classList.remove("tgico-message")),e.innerText=t}let d="";r.default.isMegagroup(this.selectedID)?(d="Leave group",this.peerType="megagroup"):r.default.isChannel(this.selectedID)?(d="Leave channel",this.peerType="channel"):this.selectedID<0?(d="Delete and leave",this.peerType="group"):(d="Delete chat",this.peerType=this.selectedID==o.$rootScope.myID?"saved":"chat"),this.buttons.delete.innerText=d,s.classList.add("menu-open"),u.positionMenu(e,this.element),u.openBtnMenu(this.element,()=>{s.classList.remove("menu-open")})};this.attachTo.forEach(e=>{e.addEventListener("contextmenu",t)}),this.buttons.archive.addEventListener("click",()=>{let e=l.default.getDialogByPeerID(this.selectedID)[0];e&&l.default.editPeerFolders([e.peerID],+!e.folder_id)}),this.buttons.pin.addEventListener("click",()=>{l.default.toggleDialogPin(this.selectedID)}),this.buttons.mute.addEventListener("click",()=>{n.default.mutePeer(this.selectedID)}),this.buttons.unread.addEventListener("click",()=>{l.default.markDialogUnread(this.selectedID)}),this.buttons.delete.addEventListener("click",()=>{let e,t,i,s=r.default.getPeerTitle(this.selectedID,!1,!0),a=e=>{l.default.flushHistory(this.selectedID,e)};switch(this.peerType){case"channel":e="Leave Channel?",t="Are you sure you want to leave this channel?",i=[{text:"LEAVE "+s,isDanger:!0,callback:()=>a(!0)}];break;case"megagroup":e="Leave Group?",t="Are you sure you want to leave this group?",i=[{text:"LEAVE "+s,isDanger:!0,callback:()=>a(!0)}];break;case"chat":e="Delete Chat?",t=`Are you sure you want to delete chat with <b>${s}</b>?`,i=[{text:"DELETE FOR ME AND "+s,isDanger:!0,callback:()=>a(!1)},{text:"DELETE JUST FOR ME",isDanger:!0,callback:()=>a(!0)}];break;case"saved":e="Delete Saved Messages?",t="Are you sure you want to delete all your saved messages?",i=[{text:"DELETE SAVED MESSAGES",isDanger:!0,callback:()=>a(!1)}];break;case"group":e="Delete and leave Group?",t=`Are you sure you want to delete all message history and leave <b>${s}</b>?`,i=[{text:"DELETE AND LEAVE "+s,isDanger:!0,callback:()=>a(!0)}]}i.push({text:"CANCEL",isCancel:!0}),new f.PopupPeer("popup-delete-chat",{peerID:this.selectedID,title:e,description:t,buttons:i}).show()})}}class v{constructor(){this.chatList=document.getElementById("dialogs"),this.chatListArchived=document.getElementById("dialogs-archived"),this.doms={},this.domsArchived={},this.lastActiveListElement=null,this.rippleCallback=null,this.lastClickID=0,this.lastGoodClickID=0,this.chatsArchivedContainer=document.getElementById("chats-archived-container"),this.chatsContainer=document.getElementById("chats-container"),this.loadedAll=!1,this.loadedArchivedAll=!1,this.scroll=null,this.scrollArchived=null,this.log=p.logger("DIALOGS"),this.contextMenu=new b([this.chatList,this.chatListArchived]),this.chatsPreloader=u.putPreloader(null,!0),this.pinnedDelimiter=document.createElement("div"),this.pinnedDelimiter.classList.add("pinned-delimiter"),this.pinnedDelimiter.appendChild(document.createElement("span")),this.scroll=new h.default(this.chatsContainer,"y","CL",this.chatList,500),this.scroll.setVirtualContainer(this.chatList),this.scroll.onScrolledBottom=this.onChatsScroll.bind(this),this.scrollArchived=new h.default(this.chatsArchivedContainer,"y","CLA",this.chatListArchived,500),this.scrollArchived.setVirtualContainer(this.chatListArchived),this.scrollArchived.onScrolledBottom=this.onChatsArchivedScroll.bind(this),this.setListClickListener(this.chatList),this.setListClickListener(this.chatListArchived),window.addEventListener("resize",()=>{setTimeout(()=>{this.onChatsArchivedScroll()},0)}),o.$rootScope.$on("user_update",e=>{let t=e.detail,i=d.default.getUser(t),s=l.default.getDialogByPeerID(i.id)[0];if(s&&!d.default.isBot(s.peerID)&&s.peerID!=o.$rootScope.myID){let e=i.status&&"userStatusOnline"==i.status._,t=this.getDialogDom(s.peerID);t&&(e?t.avatarEl.classList.add("is-online"):t.avatarEl.classList.remove("is-online"))}n.default.peerID==i.id&&n.default.setPeerStatus()}),o.$rootScope.$on("dialog_top",e=>{let t=e.detail;this.setLastMessage(t),this.setDialogPosition(t),this.setPinnedDelimiter()}),o.$rootScope.$on("dialog_flush",e=>{let t=e.detail.peerID,i=l.default.getDialogByPeerID(t)[0];i&&this.setLastMessage(i)}),o.$rootScope.$on("dialogs_multiupdate",e=>{let t=e.detail;for(let e in t){let i=t[e];i.peerID in this.doms||this.addDialog(i),this.setLastMessage(i),this.setDialogPosition(i)}this.setPinnedDelimiter()}),o.$rootScope.$on("dialog_drop",e=>{let{peerID:t,dialog:i}=e.detail,s=this.getDialogDom(t);s&&(s.listEl.remove(),delete this.doms[t],(1==i.folder_id?this.scrollArchived:this.scroll).reorder())}),o.$rootScope.$on("dialog_unread",e=>{let t=e.detail,i=l.default.getDialogByPeerID(t.peerID)[0];i&&(this.setUnreadMessages(i),i.peerID==n.default.peerID&&n.default.updateUnreadByDialog(i))}),o.$rootScope.$on("peer_changed",e=>{let t=e.detail,i=this.lastActiveListElement&&+this.lastActiveListElement.getAttribute("data-peerID");if(this.lastActiveListElement&&i!=t&&(this.lastActiveListElement.classList.remove("active"),this.lastActiveListElement=null),i!=t){let e=this.getDialogDom(t);e&&(this.lastActiveListElement=e.listEl,e.listEl.classList.add("active"))}}),l.default.loaded.then(()=>{this.loadDialogs().then(e=>{this.setPinnedDelimiter(),this.loadDialogs(!0)})})}loadDialogs(e=!1){return s(this,void 0,void 0,(function*(){if(this.loadDialogsPromise)return this.loadDialogsPromise;(e?this.chatsArchivedContainer:this.chatsContainer).append(this.chatsPreloader);let t=l.default.dialogsStorage[+e]||[],i=0;for(let e=t.length-1;e>=0;--e){let s=t[e];if(this.getDialogDom(s.peerID)){i=s.index;break}}try{console.time("getDialogs time");let t=50;this.loadDialogsPromise=l.default.getConversations("",i,t,+e);let s=yield this.loadDialogsPromise;console.timeEnd("getDialogs time"),s&&s.dialogs&&s.dialogs.length&&s.dialogs.forEach(e=>{this.addDialog(e)}),s.dialogs.length&&(e?this.scrollArchived.length!=s.count:this.scroll.length!=s.count)||(e?this.loadedArchivedAll=!0:this.loadedAll=!0),this.log("getDialogs "+t+" dialogs by offset:",i,s,this.scroll.length,e),this.scroll.onScroll()}catch(e){this.log.error(e)}this.chatsPreloader.remove(),this.loadDialogsPromise=void 0}))}onChatsScroll(){this.loadedAll||this.loadDialogsPromise||this.loadDialogs()}onChatsArchivedScroll(){this.loadedArchivedAll||this.loadDialogsPromise||this.loadDialogs(!0)}setListClickListener(e,t){e.addEventListener("click",e=>{o.cancelEvent(e),console.log("dialogs click list");let i=e.target,s=i.classList.contains("rp")?i:o.findUpClassName(i,"rp");if(!s)return;s=s.parentElement;let a,r=this.lastActiveListElement==s;if(this.lastActiveListElement&&!r&&this.lastActiveListElement.classList.remove("active"),s){t&&t();let e=+s.getAttribute("data-peerID"),i=+s.dataset.mid||void 0;r||(s.classList.add("active"),this.lastActiveListElement=s),a=n.default.setPeer(e,i)}else a=n.default.setPeer(0)},{capture:!0})}setDialogPosition(e){let t=l.default.getDialogByPeerID(e.peerID)[1],i=this.getDialogDom(e.peerID),s=o.whichChild(i.listEl);if((1==e.folder_id&&this.chatList==i.listEl.parentElement||0==e.folder_id&&this.chatListArchived==i.listEl.parentElement)&&(s=65535),s==t)return;s<t&&(t+=1);let a=1==e.folder_id?this.chatListArchived:this.chatList;a.childElementCount>t?a.insertBefore(i.listEl,a.children[t]):a.append(i.listEl),(1==e.folder_id?this.scrollArchived:this.scroll).reorder(),this.log("setDialogPosition:",e,i,t)}setPinnedDelimiter(){var e,t;let i=-1,s=l.default.dialogsStorage[0];for(let t of s)(null===(e=t.pFlags)||void 0===e?void 0:e.pinned)&&i++;let a=null!==(t=this.pinnedDelimiter.parentElement&&o.whichChild(this.pinnedDelimiter.parentElement))&&void 0!==t?t:-1;if(i==a)return;let n=this.chatList.children,r=[];if(-1!=a&&n.length>a){let e=n[a];r.push(e)}if(-1!=i&&n.length>i){let e=n[i];r.push(e),e.append(this.pinnedDelimiter)}else this.pinnedDelimiter.remove();r.forEach(e=>{this.scroll.updateElement(e)})}setLastMessage(e,t,i,s){if(t||(t=l.default.getMessage(e.top_message)),i||(i=this.getDialogDom(e.peerID)),"messageEmpty"==t._)return i.lastMessageSpan.innerHTML="",i.lastTimeSpan.innerHTML="",void delete i.listEl.dataset.mid;let a=e.peer,n=e.peerID;if(s&&t.message){let e,a=l.default.getRichReplyText(t,""),n=t.message,r=c.RichTextProcessor.parseEntities(n.replace(/\n/g," "),{noLinebreakers:!0}),d=new RegExp(o.escapeRegExp(s),"gi");r||(r=[]);let u=!1;for(;null!==(e=d.exec(n));)r.push({_:"messageEntityHighlight",length:s.length,offset:e.index}),u=!0;u&&r.sort((e,t)=>e.offset-t.offset);let h=c.RichTextProcessor.wrapRichText(n,{noLinebreakers:!0,entities:r,noTextFormat:!0});i.lastMessageSpan.innerHTML=a+h}else t.deleted?i.lastMessageSpan.innerHTML="":i.lastMessageSpan.innerHTML=t.rReply;if("peerUser"!=a._&&n!=-t.from_id){let e=d.default.getUser(t.from_id);if(e&&e.id){let t=document.createElement("b"),s="";s=e.id==o.$rootScope.myID?"You":e.first_name||e.last_name||e.username,t.innerHTML=c.RichTextProcessor.wrapRichText(s,{noLinebreakers:!0})+": ",i.lastMessageSpan.prepend(t)}}if(t.deleted)i.lastTimeSpan.innerHTML="";else{let e="",s=t.date,a=Date.now()/1e3,o=new Date(1e3*t.date);if(a-s<86400)e=("0"+o.getHours()).slice(-2)+":"+("0"+o.getMinutes()).slice(-2);else if(a-s<604800){e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][new Date(1e3*s).getDay()]}else{e=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][o.getMonth()]+" "+("0"+o.getDate()).slice(-2)}i.lastTimeSpan.innerHTML=e}(this.doms[n]||this.domsArchived[n])==i?this.setUnreadMessages(e):i.listEl.dataset.mid=t.mid}setUnreadMessages(e){let t=this.getDialogDom(e.peerID),i=l.default.getMessage(e.top_message);if("messageEmpty"!=i._&&!i.deleted&&i.from_id==o.$rootScope.myID&&i.peerID!=o.$rootScope.myID&&e.read_outbox_max_id){i.pFlags&&i.pFlags.unread?(t.statusSpan.classList.remove("tgico-checks"),t.statusSpan.classList.add("tgico-check")):(t.statusSpan.classList.remove("tgico-check"),t.statusSpan.classList.add("tgico-checks"))}else t.statusSpan.classList.remove("tgico-check","tgico-checks");if(t.unreadMessagesSpan.innerText="",t.unreadMessagesSpan.classList.remove("tgico-pinnedchat"),e.unread_count||e.pFlags.unread_mark?(t.unreadMessagesSpan.innerText=""+(e.unread_count||" "),t.unreadMessagesSpan.classList.add(new Date(1e3*e.notify_settings.mute_until)>new Date?"unread-muted":"unread")):e.pFlags.pinned&&0==e.folder_id&&(t.unreadMessagesSpan.classList.remove("unread","unread-muted"),t.unreadMessagesSpan.classList.add("tgico-pinnedchat")),1==e.folder_id){let e=Object.keys(this.domsArchived).map(e=>+e).reduce((e,t)=>{let i=l.default.getDialogByPeerID(t)[0];return i?e+i.unread_count:e},0);o.$rootScope.$broadcast("dialogs_archived_unread",{count:e})}}getDialogDom(e){return this.doms[e]||this.domsArchived[e]}addDialog(e,t,i=!0,s=!0,a=!1){let n;if("number"==typeof e){let t=l.default.getDialogByPeerID(e)[0];t||(t={peerID:e,pFlags:{}}),n=t}else n=e;let c=n.peerID;if((this.doms[c]||this.domsArchived[c])&&!t)return;let h=r.default.getPeerTitle(c,!1,a),p=new g.default;if(p.setAttribute("dialog","1"),p.setAttribute("peer",""+c),p.classList.add("dialog-avatar"),i&&c!=o.$rootScope.myID&&n.peer){switch(n.peer._){case"peerUser":let e=d.default.getUser(c);e.status&&"userStatusOnline"==e.status._&&p.classList.add("is-online")}}let f=document.createElement("div");f.classList.add("user-caption");let b=document.createElement("span");if(b.classList.add("user-title"),c<0){let e=m.default.getChat(-c);e&&e.pFlags&&e.pFlags.verified&&b.classList.add("is-verified")}else{let e=d.default.getUser(c);e&&e.pFlags&&e.pFlags.verified&&b.classList.add("is-verified")}c==o.$rootScope.myID&&(h=a?"Saved":"Saved Messages"),b.innerHTML=h;let v=document.createElement("span");v.classList.add("user-last-message");let y=document.createElement("div");y.classList.add("rp"),y.append(p,f),s&&u.ripple(y);let w=document.createElement("li");w.append(y),w.setAttribute("data-peerID",""+c);let x=document.createElement("span");x.classList.add("message-status");let _=document.createElement("span");_.classList.add("message-time");let k=document.createElement("span"),M=document.createElement("p"),D=document.createElement("span");D.append(x,_),M.append(b,D);let S=document.createElement("p");S.append(v,k),f.append(M,S);let E={avatarEl:p,captionDiv:f,titleSpan:b,statusSpan:x,lastTimeSpan:_,unreadMessagesSpan:k,lastMessageSpan:v,containerEl:y,listEl:w};return t?t.append(w):(n.folder_id&&1==n.folder_id?(this.scrollArchived.append(w),this.domsArchived[n.peerID]=E):(this.scroll.append(w),this.doms[n.peerID]=E),this.setLastMessage(n)),{dom:E,dialog:n}}setTyping(e,t){let i=this.getDialogDom(e.peerID),s="";if(e.peerID<0){let e=t.rFirstName||t.username;if(!e)return;s=e+" "}let a=document.createElement("i");s+="typing...",a.innerHTML=s,i.lastMessageSpan.innerHTML="",i.lastMessageSpan.append(a),i.lastMessageSpan.classList.add("user-typing")}unsetTyping(e){let t=this.getDialogDom(e.peerID);t.lastMessageSpan.classList.remove("user-typing"),this.setLastMessage(e,null,t)}}t.AppDialogsManager=v,t.default=new v},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const a=i(10);t.default=new class{constructor(){this.blobSupported=!0;try{a.blobConstruct([],"")}catch(e){this.blobSupported=!1}}isAvailable(){return this.blobSupported}copy(e,t){return this.write(t,e).then(()=>(console.log("copy success"),t),e=>{console.error("copy error 1:",e);try{t.truncate(0)}catch(e){console.error("copy error",e)}return Promise.reject(e)})}write(e,t){return t.file?t.file(t=>e.write(t)):t instanceof Blob?new Promise((i,s)=>{let a=new FileReader;a.onload=function(t){let a=t.target.result,o=new Uint8Array(a);e.write(o).then(i,s)},a.readAsArrayBuffer(t)}):e.write(t)}chooseSaveFile(e,t,i,s){throw new Error("no writer")}getFakeFileWriter(e,t){var i=[];return{write:e=>s(this,void 0,void 0,(function*(){if(!this.blobSupported)throw!1;i.push(e)})),truncate:()=>{i=[]},finalize:()=>{var s=a.blobConstruct(i,e);return t&&t(s),s}}}download(e,t,i){if(window.navigator&&void 0!==navigator.msSaveBlob)return window.navigator.msSaveBlob(e,i),!1;if(window.navigator&&"getDeviceStorage"in navigator){var s="sdcard";switch(t.split("/")[0]){case"video":s="videos";break;case"audio":s="music";break;case"image":s="pictures"}var a=navigator.getDeviceStorage(s).addNamed(e,"telegram/"+i);return a.onsuccess=function(){console.log("Device storage save result",this.result)},void(a.onerror=()=>{})}let o=URL.createObjectURL(e);var n=document.createElementNS("http://www.w3.org/1999/xhtml","a");n.href=o,n.download=i,n.dataset&&(n.dataset.downloadurl=["video/quicktime",i,o].join(":")),n.style.position="absolute",n.style.top="1px",n.style.left="1px",document.body.append(n);try{var r=document.createEvent("MouseEvents");r.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),n.dispatchEvent(r)}catch(e){console.error("Download click error",e);try{n.click()}catch(e){window.open(o,"_blank")}}setTimeout(()=>{n.remove()},100)}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(17));class o{createIndex(){return{shortIndexes:{},fullTexts:{}}}cleanSearchText(e,t=!0){const i="%"==e.charAt(0);return e=e.replace(o.badCharsRe,"").replace(o.trimRe,""),t&&(e=e.replace(/[^A-Za-z0-9]/g,e=>{const t=a.default.LatinizeMap[e];return void 0!==t?t:e})),e=e.toLowerCase(),i&&(e="%"+e),e}cleanUsername(e){return e&&e.toLowerCase()||""}indexObject(e,t,i){if(void 0!==i.fullTexts[e])return!1;if(!(t=this.cleanSearchText(t)).length)return!1;const s=i.shortIndexes;i.fullTexts[e]=t,t.split(" ").forEach(t=>{let i,a,o=Math.min(t.length,3);for(a=1;a<=o;a++)i=t.substr(0,a),void 0===s[i]?s[i]=[e]:s[i].push(e)})}search(e,t){const i=t.shortIndexes,s=t.fullTexts,a=(e=this.cleanSearchText(e)).split(" ");let o,n,r,l,d,c=!1;for(n=0;n<a.length;n++){if(o=i[a[n].substr(0,3)],!o){c=[];break}(!1===c||c.length>o.length)&&(c=o)}for(o={},r=0;r<c.length;r++){for(d=!0,l=s[c[r]],n=0;n<a.length;n++)if(-1==l.indexOf(a[n])){d=!1;break}d&&(o[c[r]]=!0)}return o}}o.badCharsRe=/[`~!@#$%^&*()\-_=+\[\]\\|{}'";:\/?.>,<]+/g,o.trimRe=/^\s+|\s$/g,t.default=new o},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(12)),o=i(0);class n{constructor(){this.timestampNow=o.tsNow(!0),this.midnightNoOffset=this.timestampNow-this.timestampNow%86400,this.midnightOffseted=new Date,this.midnightOffset=this.midnightNoOffset-Math.floor(+this.midnightOffseted/1e3),this.serverTimeOffset=0,this.timeParams={midnightOffset:this.midnightOffset,serverTimeOffset:this.serverTimeOffset},this.midnightOffseted.setHours(0),this.midnightOffseted.setMinutes(0),this.midnightOffseted.setSeconds(0),a.default.get("server_time_offset").then(e=>{e&&(this.serverTimeOffset=e,this.timeParams.serverTimeOffset=e)})}}t.ServerTimeManager=n,t.default=new n},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(16));i(0).$rootScope.$on("avatar_update",e=>{let t=e.detail;a.default.removeFromAvatarsCache(t),Array.from(document.querySelectorAll('avatar-element[peer="'+t+'"]')).forEach(e=>{console.log("updating avatar:",e),e.update()})});class o extends HTMLElement{constructor(){super(),this.isDialog=!1}connectedCallback(){this.isDialog=!!this.getAttribute("dialog")}disconnectedCallback(){}static get observedAttributes(){return["peer","dialog","peer-title"]}attributeChangedCallback(e,t,i){"peer"==e?(this.peerID=+i,this.update()):"peer-title"==e?this.peerTitle=i:"dialog"==e&&(this.isDialog=!!i)}update(){a.default.putPhoto(this,this.peerID,this.isDialog,this.peerTitle)}adoptedCallback(){}}t.default=o,customElements.define("avatar-element",o)},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(e=5,t=!0){this.parallelLimit=e,this.lazyLoadMedia=[],this.loadingMedia=0,this.tempID=0,this.lockPromise=null,this.unlockResolve=null,this.log=console.log.bind(console,"[LL]:"),this.debug=!1,t&&(this.observer=new IntersectionObserver(e=>{if(!this.lockPromise)for(let t of e)if(t.isIntersecting){let e=t.target,i=this.lazyLoadMedia.findAndSplice(t=>t.div==e);i&&(i.wasSeen=!0,this.lazyLoadMedia.unshift(i),this.processQueue(i))}}))}clear(){this.tempID--,this.lazyLoadMedia.length=0,this.loadingMedia=0,this.observer&&this.observer.disconnect()}length(){return this.lazyLoadMedia.length+this.loadingMedia}lock(){this.lockPromise||(this.lockPromise=new Promise((e,t)=>{this.unlockResolve=e}))}unlock(){this.unlockResolve&&(this.lockPromise=null,this.unlockResolve(),this.unlockResolve=null)}processQueue(e){return s(this,void 0,void 0,(function*(){if(!(this.parallelLimit>0&&this.loadingMedia>=this.parallelLimit)&&(e?this.lazyLoadMedia.findAndSplice(t=>t==e):e=this.lazyLoadMedia.findAndSplice(e=>e.wasSeen),e)){this.loadingMedia++;let t=this.tempID;this.debug&&this.log("will load media",this.lockPromise,e);try{if(this.lockPromise){let e=performance.now();yield this.lockPromise,this.debug&&this.log("waited lock:",performance.now()-e)}yield e.load()}catch(t){console.error("loadMediaQueue error:",t,e)}t==this.tempID&&this.loadingMedia--,this.debug&&this.log("loaded media"),this.lazyLoadMedia.length&&this.processQueue()}}))}addElement(e){e.wasSeen?this.processQueue(e):(e.wasSeen=!1,this.observer&&this.observer.observe(e.div))}push(e){this.lazyLoadMedia.push(e),this.addElement(e)}unshift(e){this.lazyLoadMedia.unshift(e),this.addElement(e)}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),console.log("Services included!");const a=s(i(4)),o=s(i(6)),n=s(i(23)),r=s(i(19)),l=s(i(8)),d=s(i(25)),c=s(i(5)),u=s(i(16)),h=s(i(15)),p=s(i(7)),m=s(i(39)),g=s(i(11)),f=s(i(36)),b=s(i(48)),v=s(i(37));t.appUsersManager=a.default,t.appChatsManager=o.default,t.appMessagesIDsManager=n.default,t.apiUpdatesManager=r.default,t.appPhotosManager=l.default,t.appMessagesManager=c.default,t.appProfileManager=u.default,t.appImManager=h.default,t.appPeersManager=p.default,t.appStickersManager=m.default,t.appDocsManager=g.default,t.appSidebarRight=f.default,t.appSidebarLeft=b.default,t.appMediaViewer=v.default,t.appDialogsManager=d.default,window.Services={appUsersManager:t.appUsersManager,appChatsManager:t.appChatsManager,apiUpdatesManager:t.apiUpdatesManager,appMessagesManager:t.appMessagesManager,appPeersManager:t.appPeersManager,appProfileManager:t.appProfileManager,appPhotosManager:t.appPhotosManager,appDocsManager:t.appDocsManager,appDialogsManager:t.appDialogsManager,appImManager:t.appImManager,appStickersManager:t.appStickersManager,appSidebarRight:t.appSidebarRight,appSidebarLeft:t.appSidebarLeft,appMediaViewer:t.appMediaViewer}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const n=a(i(8)),r=a(i(1)),l=a(i(14)),d=a(i(11)),c=i(0),u=a(i(24)),h=o(i(46)),p=i(3),m=i(2),g=a(i(5)),f=i(51),b=a(i(77)),v=a(i(42));function y({doc:e,container:t,message:i,boxWidth:a,boxHeight:o,withTail:r,isOut:l,middleware:c,lazyLoadQueue:p}){let g;if(r)g=M(e,i,t,a,o,l);else{if(a||o)(!t.firstElementChild||"IMG"!=t.firstElementChild.tagName&&"VIDEO"!=t.firstElementChild.tagName)&&n.default.setAttachmentSize(e,t,a,o);else{let i=e.thumbs;!e.downloaded&&i&&i[0].bytes&&n.default.setAttachmentPreview(i[0].bytes,t,!1)}g=t.lastElementChild,g&&"IMG"==g.tagName||t.append(g=new Image)}let f,b,v=document.createElement("video"),y=document.createElement("source");if(v.append(y),r){let e=g.parentElement;v.width=+e.getAttributeNS(null,"width"),v.height=+e.getAttributeNS(null,"height"),e.append(v)}else t.append(v);"round"!=e.type&&(f=document.createElement("span"),f.classList.add("video-time"),t.append(f),"gif"!=e.type?(f.innerText=(e.duration+"").toHHMMSS(!1),b=document.createElement("span"),b.classList.add("video-play","tgico-largeplay","btn-circle","position-center"),t.append(b)):f.innerText="GIF");let w=()=>s(this,void 0,void 0,(function*(){if(i.media.preloader)i.media.preloader.attach(t,void 0,void 0,!1);else if(!e.downloaded){let i=new u.default(t,!0),s=d.default.downloadDoc(e);i.attach(t,!0,s,!1),yield s}if(!c||c())if(console.log("loaded doc:",e,e.url,t),m.renderImageFromUrl(y,e.url),y.type=e.mime_type,v.append(y),g&&g.parentElement&&g.remove(),"gif"==e.type)v.autoplay=!0,v.loop=!0,v.play();else if("round"==e.type){v.dataset.ckin="circle",v.dataset.overlay="1";new h.default(v)}}));if(e.size>=2e7&&!e.downloaded){let e=document.createElement("div");e.classList.add("download");let i=document.createElement("span");return i.classList.add("btn-circle","tgico-download"),e.append(i),e.addEventListener("click",()=>{e.remove(),w()}),void t.prepend(e)}return e.downloaded?w():p.push({div:t,load:w,wasSeen:!0})}t.wrapVideo=y;let w=e=>{const t=new Date(1e3*e);return["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][t.getMonth()]+" "+t.getDate()+", "+t.getFullYear()+" at "+t.getHours()+":"+("0"+t.getMinutes()).slice(-2)};function x(e,t=!1){let i=document.createElement("div");i.classList.add("audio"),console.log("wrapAudio doc:",e);let s=String(0|e.duration).toHHMMSS(!0),a=e.audioTitle||e.file_name,o=e.audioPerformer?p.RichTextProcessor.wrapPlainText(e.audioPerformer):"";t?o+=(o?" · ":"")+w(e.date):o||(o="Unknown Artist"),i.innerHTML=`\n <div class="audio-download"><div class="tgico-download"></div></div>\n <div class="audio-toggle audio-ico tgico-largeplay"></div>\n <div class="audio-details">\n <div class="audio-title">${a}</div>\n <div class="audio-subtitle">${o}</div>\n <div class="audio-time">${s}</div>\n </div>\n `;let n,r,l,c=i.lastElementChild,m=i.querySelector(".audio-download"),g=()=>{r?(m.classList.remove("downloading"),r.cancel(),r=null):(n||(n=new u.default(null,!0)),r=d.default.downloadDoc(e.id),n.attach(m,!0,r),r.then(t=>{m.classList.remove("downloading"),m.remove();let s=document.createElement("audio"),a=document.createElement("source");a.src=e.url,a.type=e.mime_type,s.volume=1,l=new h.MediaProgressLine(s),i.removeEventListener("click",g);let o=i.querySelector(".audio-toggle"),n=i.querySelector(".audio-subtitle"),r=!1;o.addEventListener("click",()=>{r||(i.classList.add("audio-show-progress"),r=!0),n.innerHTML="",n.append(l.container),s.paused?(_&&_.classList.contains("tgico-largepause")&&_.click(),s.currentTime=0,s.play(),_=o,o.classList.remove("tgico-largeplay"),o.classList.add("tgico-largepause")):(s.pause(),o.classList.add("tgico-largeplay"),o.classList.remove("tgico-largepause"))}),s.addEventListener("ended",()=>{o.classList.add("tgico-largeplay"),o.classList.remove("tgico-largepause"),c.innerText=String(0|s.currentTime).toHHMMSS(!0)}),s.style.display="none",s.append(a),i.append(s)}),m.classList.add("downloading"))};return i.addEventListener("click",g),i.click(),i}t.wrapDocument=function(e,t=!1,i=!1){if("voice"==e.type)return k(e,t);if("audio"==e.type)return x(e,t);let s=e.file_name?e.file_name.split("."):"",a="";a=s.length>1&&Array.isArray(s)?s.pop().toLowerCase():"file";let o=document.createElement("div");o.classList.add("document","ext-"+a);let n=a;"photo"==e.type&&(o.classList.add("photo"),n=`<img src="${URL.createObjectURL(e.file)}">`);let r=e.file_name||"Unknown.file",l=c.formatBytes(e.size);if(t&&(l+=" · "+w(e.date)),o.innerHTML=`\n <div class="document-ico">${n}</div>\n ${i?"":'<div class="document-download"><div class="tgico-download"></div></div>'}\n <div class="document-name">${r}</div>\n <div class="document-size">${l}</div>\n `,!i){let t,i,s=o.querySelector(".document-download");o.addEventListener("click",()=>{if(i)s.classList.remove("downloading"),i=null;else{if(s.classList.contains("downloading"))return;t||(t=new u.default(null,!0)),d.default.saveDocFile(e.id).then(e=>{i=e.promise,t.attach(s,!0,i),i.then(()=>{s.classList.remove("downloading"),s.remove()})}),s.classList.add("downloading")}})}return o},t.wrapAudio=x;let _=null;function k(e,t=!1){let i=document.createElement("div");i.classList.add("audio","is-voice");let s=e.duration,a=String(0|s).toHHMMSS(!0);i.innerHTML=`\n <div class="audio-toggle audio-ico tgico-largeplay"></div>\n <div class="audio-download"><div class="tgico-download"></div></div>\n <div class="audio-time">${a}</div>\n `;let o,n,r=i.lastElementChild,l=i.querySelector(".audio-download"),c=document.createElementNS("http://www.w3.org/2000/svg","svg");c.classList.add("audio-waveform"),c.setAttributeNS(null,"width","190"),c.setAttributeNS(null,"height","23"),c.setAttributeNS(null,"viewBox","0 0 190 23"),i.insertBefore(c,i.lastElementChild);let h=e.attributes[0].waveform,p=0,m=0,g="";for(let e of h){if(p>0&&p%4==0){++p,++m;continue}let t=23*(e/255);t<2&&(t=2),g+=`\n <rect x="${4*(p-m)}" y="${23-t}" width="2" height="${t}" rx="1" ry="1"></rect>\n `,++p}c.insertAdjacentHTML("beforeend",g);let f=i.querySelector(".audio-waveform"),b=()=>{n?(l.classList.remove("downloading"),n.cancel(),n=null):(o||(o=new u.default(null,!0)),n=d.default.downloadDoc(e.id),o.attach(l,!0,n),n.then(t=>{l.classList.remove("downloading"),l.remove();let s=document.createElement("audio"),a=document.createElement("source");a.src=e.url,a.type=e.mime_type,s.volume=1,i.removeEventListener("click",b);let o=i.querySelector(".audio-toggle"),n=0,d=0;o.addEventListener("click",()=>{s.paused?(_&&_.classList.contains("tgico-largepause")&&_.click(),s.currentTime=0,s.play(),_=o,o.classList.remove("tgico-largeplay"),o.classList.add("tgico-largepause"),Array.from(c.children).forEach(e=>e.classList.remove("active")),n=setInterval(()=>{d>c.childElementCount||isNaN(s.duration)?clearInterval(n):(r.innerText=String(0|s.currentTime).toHHMMSS(!0),d=Math.round(s.currentTime/s.duration*47),Array.from(c.children).slice(0,d+1).forEach(e=>e.classList.add("active")))},20)):(s.pause(),o.classList.add("tgico-largeplay"),o.classList.remove("tgico-largepause"),clearInterval(n))}),s.addEventListener("ended",()=>{o.classList.add("tgico-largeplay"),o.classList.remove("tgico-largepause"),clearInterval(n),Array.from(c.children).forEach(e=>e.classList.remove("active")),r.innerText=String(0|s.currentTime).toHHMMSS(!0)});let u=!1,h=!1;function p(e,t,i){let s=e.offsetX/190*t.duration;Array.from(c.children).forEach(e=>e.classList.remove("active")),d=Math.round(s/t.duration*47),Array.from(c.children).slice(0,d+1).forEach(e=>e.classList.add("active")),t.currentTime=s}f.addEventListener("mouseleave",e=>{u&&(s.play(),u=!1),h=!1}),f.addEventListener("mousemove",e=>{h=!0,u&&p(e,s,f)}),f.addEventListener("mousedown",e=>{e.preventDefault(),s.paused||(s.pause(),p(e,s,f),u=!0)}),f.addEventListener("mouseup",e=>{h&&u&&(s.play(),u=!1)}),f.addEventListener("click",e=>{s.paused||p(e,s,f)}),s.style.display="none",s.append(a),i.append(s)}),l.classList.add("downloading"))};return i.addEventListener("click",b),i.click(),i}function M(e,t,i,s,a,o){let r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.classList.add("bubble__media-container",o?"is-out":"is-in");let l=document.createElementNS("http://www.w3.org/2000/svg","foreignObject");n.default.setAttachmentSize("document"==e._?e:e.id,l,s,a);let d=+l.getAttributeNS(null,"width"),c=+l.getAttributeNS(null,"height");r.setAttributeNS(null,"width",""+d),r.setAttributeNS(null,"height",""+c);let u="clip"+t.mid;r.dataset.clipID=u;let h=document.createElementNS("http://www.w3.org/2000/svg","defs"),p="";t.message||(p+=o?`\n <use href="#message-tail" transform="translate(${d-2}, ${c}) scale(-1, -1)"></use>\n <path />\n `:`\n <use href="#message-tail" transform="translate(2, ${c}) scale(1, -1)"></use>\n <path />\n `),h.innerHTML=`<clipPath id="${u}">${p}</clipPath>`,i.style.width=parseInt(i.style.width)-9+"px",r.append(h,l),i.append(r);let m=l.firstElementChild;return m||l.append(m=new Image),m}function D(e,t,i,s=480,a=480,o=!0,r=!1,l,d,c=null){let h,p,g=n.default.getPhoto(e);if(o)h=M(g,t,i,s,a,r);else{if(c){let e=g.sizes;!g.downloaded&&e&&e[0].bytes&&n.default.setAttachmentPreview(e[0].bytes,i,!1)}else s&&a&&(c=n.default.setAttachmentSize(e,i,s,a,!1));h=i.lastElementChild,h&&"IMG"==h.tagName||i.append(h=new Image)}t.media.preloader?t.media.preloader.attach(i):g.downloaded||(p=new u.default(i,!1));let f=()=>{let t=n.default.preloadPhoto(e,c);return p&&p.attach(i,!0,t),t.then(()=>{d&&!d()||m.renderImageFromUrl(h||i,g.url)})};return g.downloaded?f():l.push({div:i,load:f,wasSeen:!0})}t.wrapVoiceMessage=k,t.wrapPhoto=D,t.wrapSticker=function({doc:e,div:t,middleware:i,lazyLoadQueue:a,group:o,play:u,onlyThumb:h,emoji:p}){let g=e.sticker;if(2!=g||l.default.loaded||l.default.loadLottieWorkers(),!g)throw console.error("wrong doc for wrapSticker!",e),new Error("wrong doc for wrapSticker!");t.dataset.docID=e.id;const f=p?c.getEmojiToneIndex(p):-1;if(e.thumbs&&!t.firstElementChild&&(!e.downloaded||2==g)){let s=e.thumbs[0];if(s.bytes){let a=new Image;if(v.default.isSupported()||e.stickerThumbConverted?(m.renderImageFromUrl(a,n.default.getPreviewURLFromThumb(s,!0)),t.append(a)):v.default.convertToPng(s.bytes).then(o=>{i&&!i()||(s.bytes=o,e.stickerThumbConverted=!0,t.childElementCount||m.renderImageFromUrl(a,n.default.getPreviewURLFromThumb(s,!0)).then(()=>{t.append(a)}))}),h)return Promise.resolve()}else if(!h&&2==g){let n=new Image,r=()=>d.default.downloadDocThumb(e,s.type).then(e=>{if(!n.parentElement||i&&!i())return;let s=m.renderImageFromUrl(n,e);l||s.then(()=>{t.append(n)})}),l=d.default.hasDownloadedThumb(e.id,s.type);l&&t.append(n),a&&!l?a.push({div:t,load:r,wasSeen:"chat"==o}):r()}}if(h&&e.thumbs){let s=e.thumbs[0],o=()=>d.default.downloadDocThumb(e,s.type).then(e=>{let s=new Image;m.renderImageFromUrl(s,e).then(()=>{i&&!i()||t.append(s)})});return a?(a.push({div:t,load:o}),Promise.resolve()):o()}let b=e.downloaded,y=()=>d.default.downloadDoc(e.id).then(a=>{if(!i||i())if(2==g){const e=new FileReader;e.addEventListener("loadend",e=>s(this,void 0,void 0,(function*(){const i=e.srcElement.result;let s=yield r.default.gzipUncompress(i,!0);(yield l.default.loadAnimationWorker({container:t,loop:!p,autoplay:!0,animationData:JSON.parse(s)},o,f)).addListener("ready",()=>{t.firstElementChild&&"IMG"==t.firstElementChild.tagName&&t.firstElementChild.remove()})}))),e.readAsArrayBuffer(a)}else if(1==g){let i=new Image;b||t.firstElementChild&&"IMG"==t.firstElementChild.tagName||(i.style.opacity="0",i.addEventListener("load",()=>{window.requestAnimationFrame(()=>{i.style.opacity=""})})),m.renderImageFromUrl(i,e.url).then(()=>{t.firstElementChild&&t.firstElementChild!=i&&t.firstElementChild.remove(),t.append(i)})}});return!a||e.downloaded&&2!=g?y():(a.push({div:t,load:y,wasSeen:"chat"==o&&2!=g}),Promise.resolve())},t.wrapReply=function(e,t,i){let s=document.createElement("div");s.classList.add("reply");let a=document.createElement("div");a.classList.add("reply-border");let o=document.createElement("div");o.classList.add("reply-content");let r=document.createElement("div");r.classList.add("reply-title");let l=document.createElement("div");l.classList.add("reply-subtitle"),r.innerHTML=e?p.RichTextProcessor.wrapEmojiText(e):"";let d=i&&i.media;if(d){if(l.innerHTML=i.rReply,d.photo||d.document&&-1!==["video"].indexOf(d.document.type)){let e=document.createElement("div");e.classList.add("reply-media");let t=d.photo||d.document,i=t.sizes||t.thumbs;i&&i[0].bytes&&n.default.setAttachmentPreview(i[0].bytes,e,!1,!0),n.default.preloadPhoto(t,n.default.choosePhotoSize(t,32,32)).then(()=>{m.renderImageFromUrl(e,"photo"==t._?t.url:n.default.getDocumentCachedThumb(t.id).url)}),o.append(e),s.classList.add("is-reply-media")}}else l.innerHTML=t?p.RichTextProcessor.wrapEmojiText(t):"";return o.append(r,l),s.append(a,o),s},t.wrapAlbum=function({groupID:e,attachmentDiv:t,middleware:i,uploading:s,lazyLoadQueue:a,isOut:o}){let r=[],l=g.default.groupedMessagesStorage[e];for(let e in l){let t=g.default.getMessage(+e),i=t.media.photo||t.media.document,s="photo"==i._?n.default.choosePhotoSize(i,480,480):{w:i.w,h:i.h};r.push({size:s,media:i,message:t})}let d=new f.Layouter(r.map(e=>({w:e.size.w,h:e.size.h})),451,100,2).layout();console.log("layout:",d,r.map(e=>({w:e.size.w,h:e.size.h})));for(let{geometry:e,sides:s}of d){let n=r.shift();if(!n){console.error("no item for layout!");continue}let{size:l,media:d,message:c}=n,u=document.createElement("div");u.classList.add("album-item"),u.dataset.mid=c.mid,u.style.width=e.width+"px",u.style.height=e.height+"px",u.style.top=e.y+"px",u.style.left=e.x+"px",s&f.RectPart.Right&&(t.style.width=e.width+e.x+"px"),s&f.RectPart.Bottom&&(t.style.height=e.height+e.y+"px"),s&f.RectPart.Left&&s&f.RectPart.Top&&(u.style.borderTopLeftRadius="inherit"),s&f.RectPart.Left&&s&f.RectPart.Bottom&&(u.style.borderBottomLeftRadius="inherit"),s&f.RectPart.Right&&s&f.RectPart.Top&&(u.style.borderTopRightRadius="inherit"),s&f.RectPart.Right&&s&f.RectPart.Bottom&&(u.style.borderBottomRightRadius="inherit"),"photo"==d._?D(d.id,c,u,0,0,!1,o,a,i,l):y({doc:c.media.document,container:u,message:c,boxWidth:0,boxHeight:0,withTail:!1,isOut:o,lazyLoadQueue:a,middleware:i}),t.append(u)}},t.wrapPoll=function(e,t){let i=new b.default;return i.setAttribute("poll-id",e),i.setAttribute("message-id",""+t),i}},,,function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(2),o=s(i(9)),n=i(3),r=s(i(17)),l=i(0),d=s(i(69)),c=s(i(84)),u=s(i(1)),h=s(i(18)),p=i(21);let m=null;const g=new h.default("page-sign",!0,()=>{p.Modes.test&&(r.default.Countries.push({name:"Test Country",phoneCode:"999 66",code:"TC",emoji:"🤔",pattern:"999 66 XXX XX"}),console.log("Added test country to list!"));const e=r.default.Countries.filter(e=>e.emoji).sort((e,t)=>e.name.localeCompare(t.name));let t="";var i=g.pageEl.querySelector('input[name="countryCode"]'),s=i.parentElement,h=document.createElement("div");h.classList.add("select-wrapper","z-depth-3");var f=document.createElement("ul");h.appendChild(f);new o.default(h);let b=!1;g.pageEl.querySelector(".a-qr").addEventListener("click",()=>{c.default.mount()}),i.addEventListener("focus",(function(a){b||(e.forEach(e=>{b=!0;let t=e.emoji,i=[];e.phoneCode.split(" and ").forEach(s=>{let a=document.createElement("li");var o=document.createElement("span");let r=n.RichTextProcessor.wrapRichText(t);a.appendChild(o),o.outerHTML=r,a.append(e.name);var l=document.createElement("span");l.classList.add("phone-code"),l.innerText="+"+s,a.appendChild(l),i.push(a),f.append(a)}),e.li=i}),f.addEventListener("mousedown",(function(e){let s=e.target;"LI"!=s.tagName&&(s=l.findUpTag(s,"LI"));let a=s.childNodes[1].textContent,o=s.querySelector(".phone-code").innerText;i.value=a,t=a,v.value=o,setTimeout(()=>v.focus(),0),console.log("clicked",e,a,o)}))),s.appendChild(h)})),i.addEventListener("blur",(function(e){s.removeChild(h),e.cancelBubble=!0}),{capture:!0}),i.addEventListener("keyup",(function(i){if(i.ctrlKey||"Control"==i.key)return!1;let s=this.value.toLowerCase(),a=[];if(e.forEach(e=>{let t=-1!==e.name.toLowerCase().indexOf(s);e.li.forEach(e=>e.style.display=t?"":"none"),t&&a.push(e)}),1==a.length&&1==a[0].li.length){if(a[0].name==t)return!1;console.log("clicking",a[0]);var o=document.createEvent("MouseEvents");return o.initEvent("mousedown",!0,!0),a[0].li[0].dispatchEvent(o),!1}0==a.length&&e.forEach(e=>{e.li.forEach(e=>e.style.display="")})})),g.pageEl.querySelector(".arrow-down").addEventListener("mousedown",(function(e){e.cancelBubble=!0,e.preventDefault(),i.matches(":focus")?i.blur():i.focus()}));e.slice().sort((e,t)=>t.phoneCode.length-e.phoneCode.length);let v=g.pageEl.querySelector('input[name="phone"]');v.addEventListener("input",(function(e){this.classList.remove("error");let{formatted:s,country:o}=a.formatPhoneNumber(this.value);this.value=s?"+"+s:"",console.log(s,o);let n=o?o.name:"";n!=i.value&&(i.value=n,t=n),o&&this.value.length-1>=(o.pattern?o.pattern.length:9)?m.style.visibility="":m.style.visibility="hidden"})),v.addEventListener("keypress",(function(e){return this.value.length>=9&&"Enter"==e.key?m.click():/\D/.test(e.key)?(e.preventDefault(),!1):void 0})),m.addEventListener("click",(function(e){this.setAttribute("disabled","true"),this.textContent="PLEASE WAIT...",a.putPreloader(this);let t=v.value;u.default.invokeApi("auth.sendCode",{phone_number:t,api_id:p.App.id,api_hash:p.App.hash,settings:{_:"codeSettings",flags:0}}).then(e=>{console.log("got code",e),d.default.mount(Object.assign(e,{phone_number:t}))}).catch(e=>{switch(this.removeAttribute("disabled"),this.innerText="NEXT",e.type){case"PHONE_NUMBER_INVALID":v.classList.add("error");break;default:console.error("auth.sendCode error:",e),this.innerText=e.type}})}));u.default.invokeApi("help.getNearestDc").then(e=>(e.nearest_dc!=e.this_dc&&u.default.getNetworker(e.nearest_dc),e)).then(s=>{let a=e.find(e=>e.code==s.country);return a&&(i.value.length||v.value.length||(i.value=a.name,t=a.name,v.value="+"+a.phoneCode.split(" and ").shift())),console.log("woohoo",s,a)})},()=>{m||(m=g.pageEl.querySelector("button")),m.textContent="NEXT",m.removeAttribute("disabled")});t.default=g},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const n=i(2),r=a(i(9)),l=i(0),d=a(i(5)),c=a(i(8)),u=a(i(7)),h=a(i(4)),p=a(i(16)),m=i(3),g=i(13),f=a(i(15)),b=a(i(37)),v=a(i(30)),y=i(32),w=o(i(49)),x=a(i(38));let _=(e,t)=>{window.requestAnimationFrame(()=>{t.childElementCount>1&&t.firstElementChild.remove();let i=document.createElement("p");i.innerHTML=e,t.prepend(i),t.style.display=""})};t.default=new class{constructor(){this.sidebarEl=document.getElementById("column-right"),this.profileContainer=this.sidebarEl.querySelector(".profile-container"),this.profileContentEl=this.sidebarEl.querySelector(".profile-content"),this.contentContainer=this.sidebarEl.querySelector(".content-container"),this.profileElements={avatar:this.profileContentEl.querySelector(".profile-avatar"),name:this.profileContentEl.querySelector(".profile-name"),subtitle:this.profileContentEl.querySelector(".profile-subtitle"),bio:this.profileContentEl.querySelector(".profile-row-bio"),username:this.profileContentEl.querySelector(".profile-row-username"),phone:this.profileContentEl.querySelector(".profile-row-phone"),notificationsRow:this.profileContentEl.querySelector(".profile-row-notifications"),notificationsCheckbox:this.profileContentEl.querySelector("#profile-notifications"),notificationsStatus:this.profileContentEl.querySelector(".profile-row-notifications > p")},this.sharedMedia={contentMembers:this.profileContentEl.querySelector("#content-members"),contentMedia:this.profileContentEl.querySelector("#content-media"),contentDocuments:this.profileContentEl.querySelector("#content-docs"),contentLinks:this.profileContentEl.querySelector("#content-links"),contentAudio:this.profileContentEl.querySelector("#content-audio")},this.loadSidebarMediaPromises={},this.loadedAllMedia={},this.sharedMediaTypes=["members","inputMessagesFilterPhotoVideo","inputMessagesFilterDocument","inputMessagesFilterUrl","inputMessagesFilterMusic"],this.sharedMediaType="",this.sharedMediaSelected=null,this.lazyLoadQueue=new v.default(5),this.historiesStorage={},this.usedFromHistory={},this.log=g.logger("SR"),this.peerID=0,this.scroll=null,this.prevTabID=-1,this.mediaDivsByIDs={},this.urlsToRevoke=[],this.searchContainer=this.sidebarEl.querySelector("#search-private-container"),this.searchCloseBtn=this.searchContainer.querySelector(".sidebar-close-button"),this.searchInput=document.getElementById("private-search"),this.privateSearch=new w.default(this.searchContainer.querySelector(".chats-container"),this.searchInput,{messages:new w.SearchGroup("Private Search","messages")}),this.loadMutex=Promise.resolve();let e=this.profileContentEl.querySelector(".content-container .tabs-container");this.profileTabs=this.profileContentEl.querySelector(".profile-tabs"),this.scroll=new r.default(this.profileContainer,"y","SR",void 0,400),this.scroll.onScrolledBottom=()=>{this.sharedMediaSelected&&this.sharedMediaSelected.childElementCount&&(this.log("onScrolledBottom will load media"),this.loadSidebarMedia(!0))},n.horizontalMenu(this.profileTabs,e,(e,t)=>{this.prevTabID!=e&&(this.sharedMediaType=this.sharedMediaTypes[e],this.sharedMediaSelected=t.firstElementChild,-1!=this.prevTabID&&this.profileTabs.offsetTop&&(this.scroll.scrollTop-=this.profileTabs.offsetTop),-1==this.prevTabID||this.sharedMediaSelected.childElementCount||this.loadSidebarMedia(!0),this.prevTabID=e)}),this.sidebarEl.querySelector(".sidebar-close-button").addEventListener("click",()=>{this.toggleSidebar(!1)}),this.searchCloseBtn.addEventListener("click",()=>{this.searchContainer.classList.remove("active"),this.privateSearch.reset()}),this.sharedMedia.contentMedia.addEventListener("click",e=>{let t=e.target,i=+t.dataset.mid;if(!i)return void this.log.warn("no messageID by click on target:",t);let s=d.default.getMessage(i),a=Object.keys(this.mediaDivsByIDs).map(e=>+e).sort((e,t)=>e-t),o=a.findIndex(e=>e==i),n=a.map(e=>({element:this.mediaDivsByIDs[e].firstElementChild,mid:e}));b.default.openMedia(s,t,!1,this.sidebarEl,n.slice(o+1).reverse(),n.slice(0,o).reverse(),!0)}),this.profileElements.notificationsCheckbox.addEventListener("change",()=>{f.default.mutePeer(this.peerID)})}beginSearch(){this.toggleSidebar(!0),this.searchContainer.classList.add("active"),this.privateSearch.beginSearch(this.peerID)}toggleSidebar(e){let t,i=this.sidebarEl.classList.contains("active");if(void 0!==e?e?i||(t=!0):i&&(t=!0):t=!0,!t)return Promise.resolve();let s=()=>{this.sidebarEl.classList.toggle("active",e)};return new Promise((t,i)=>{let a=[],o=new IntersectionObserver(i=>{for(let e of i){let t=e.target;e.isIntersecting||a.push({element:t,height:t.scrollHeight})}for(let e of a)e.element.style.minHeight=e.height+"px",e.element.firstElementChild.style.display="none",e.element.style.width="1px";o.disconnect(),s(),setTimeout(()=>{for(let e of a)e.element.style.minHeight="",e.element.style.width="",e.element.firstElementChild.style.display="";(0==e||this.sidebarEl.classList.contains("active")&&null==e)&&(x.default.close(),this.searchCloseBtn.click()),t()},200)});if(Object.keys(f.default.bubbles).length)for(let e in f.default.bubbles)o.observe(f.default.bubbles[e]);else s(),setTimeout(t,200)})}filterMessagesByType(e,t){let i=[];for(let t of e){let e=d.default.getMessage(t);e.media&&i.push(e)}let s=[];switch(t){case"inputMessagesFilterPhotoVideo":for(let e of i){let t=e.media.photo||e.media.document||e.media.webpage&&e.media.webpage.document;t&&("document"==t._&&"video"!=t.type||s.push(e))}break;case"inputMessagesFilterDocument":for(let e of i){if(!e.media.document||"voice"==e.media.document.type||"audio"==e.media.document.type)continue;let t=e.media.document;t.attributes&&t.attributes.find(e=>"documentAttributeSticker"==e._)||s.push(e)}break;case"inputMessagesFilterUrl":for(let e of i)e.media.webpage&&"webPageEmpty"!=e.media.webpage._&&s.push(e);break;case"inputMessagesFilterMusic":for(let e of i)e.media.document&&"audio"==e.media.document.type&&s.push(e)}return s}performSearchResult(e,t){return s(this,void 0,void 0,(function*(){let i,s=this.peerID,a=[],o=[];switch(t){case"inputMessagesFilterPhotoVideo":i=this.sharedMedia.contentMedia;for(let t of e){let e=t.media.photo||t.media.document||t.media.webpage&&t.media.webpage.document,i=document.createElement("div");i.classList.add("media-item");let r,d="photo"==e._,u=d?c.default.getPhoto(e.id):null;if(u)r=u.downloaded>0;else{let t=c.default.getDocumentCachedThumb(e.id);r=(null==t?void 0:t.downloaded)>0}let h=new Image;if(h.classList.add("media-image"),i.append(h),!d){let t=document.createElement("span");t.classList.add("video-time"),i.append(t),"gif"!=e.type?t.innerText=(e.duration+"").toHHMMSS(!1):t.innerText="GIF"}let p=()=>c.default.preloadPhoto(d?e.id:e,c.default.choosePhotoSize(e,200,200)).then(()=>{if(l.$rootScope.selectedPeerID!=s)return void this.log.warn("peer changed");let t=u&&u.url||c.default.getDocumentCachedThumb(e.id).url;t&&n.renderImageFromUrl(h,t)});h.dataset.mid=""+t.mid;let m=e.sizes||e.thumbs;if(r||m&&m[0].bytes){let t=new Promise((t,i)=>{h.addEventListener("load",()=>{clearTimeout(s),t()});let s=setTimeout(()=>{this.log("did not loaded",h,e,r,m),i()},1e3)});o.push(t)}r?p():(m&&m[0].bytes&&c.default.setAttachmentPreview(m[0].bytes,h,!1,!1),this.lazyLoadQueue.push({div:i,load:p})),a.push(i),this.mediaDivsByIDs[t.mid]=i}break;case"inputMessagesFilterDocument":i=this.sharedMedia.contentDocuments;for(let t of e){let e=y.wrapDocument(t.media.document,!0);a.push(e)}break;case"inputMessagesFilterUrl":i=this.sharedMedia.contentLinks;for(let t of e){let e=t.media.webpage,i=document.createElement("div"),o=document.createElement("div");if(o.classList.add("preview"),o.innerText=(e.title||e.description||e.url||e.display_url).slice(0,1),o.classList.add("empty"),e.photo){let t=()=>c.default.preloadPhoto(e.photo.id,c.default.choosePhotoSize(e.photo,60,60)).then(()=>{l.$rootScope.selectedPeerID==s?(o.classList.remove("empty"),o.innerText="",n.renderImageFromUrl(o,e.photo.url)):this.log.warn("peer changed")});this.lazyLoadQueue.push({div:o,load:t})}let r=e.rTitle||"",d=e.rDescription||"",u=m.RichTextProcessor.wrapRichText(e.url||"");r||(r=e.display_url.split("/",1)[0]),i.append(o),i.insertAdjacentHTML("beforeend",`\n <div class="title">${r}</div>\n <div class="subtitle">${d}</div>\n <div class="url">${u}</div>\n `),i.innerText.trim().length&&a.push(i)}break;case"inputMessagesFilterMusic":i=this.sharedMedia.contentAudio;for(let t of e){let e=y.wrapAudio(t.media.document,!0);a.push(e)}break;default:console.warn("death is my friend",e)}if(this.loadMutex&&o.push(this.loadMutex),a.length){if(o.length&&(yield Promise.all(o),this.peerID!=s))return void this.log.warn("peer changed");i.append(...a)}if(i){let e=i.parentElement;e.lastElementChild.classList.contains("preloader")&&e.lastElementChild.remove()}}))}loadSidebarMedia(e=!1){var t;this.log("loadSidebarMedia",e,this.peerID,this.loadSidebarMediaPromises);let i=this.peerID,s=e?[this.sharedMediaType]:this.sharedMediaTypes;if(s=s.filter(e=>!this.loadedAllMedia[e]),!s.length)return;let a=3*(c.default.windowH/130|0),o=null!==(t=this.historiesStorage[i])&&void 0!==t?t:this.historiesStorage[i]={},n=s.map(e=>{var t;if(this.loadSidebarMediaPromises[e])return this.loadSidebarMediaPromises[e];let s=null!==(t=o[e])&&void 0!==t?t:o[e]=[];if(s.length&&this.usedFromHistory[e]<s.length){let t=[],i=this.usedFromHistory[e];do{let o=s.slice(i,i+a);this.log("loadSidebarMedia: will render from cache",i,s,o,a),i+=o.length,t.push(...this.filterMessagesByType(o,e))}while(t.length<a&&i<s.length);if(t.length>a){let e=t.length-a;t=t.slice(0,t.length-e),i-=e}return this.usedFromHistory[e]=i,t.length?this.performSearchResult(t,e):Promise.resolve()}let n=s[s.length-1]||0,r=!n&&d.default.historiesStorage[i]?d.default.historiesStorage[i].history.slice():[];return n=!n&&r.length?r[r.length-1]:n,this.log("loadSidebarMedia: search house of glass pre",e,r,n),this.loadSidebarMediaPromises[e]=d.default.getSearch(i,"",{_:e},n,a).then(t=>{if(r=r.concat(t.history),s.push(...r),this.log("loadSidebarMedia: search house of glass",e,t,r),l.$rootScope.selectedPeerID==i)return t.history.length<a&&(this.loadedAllMedia[e]=!0),this.usedFromHistory[e]=s.length,r.length?this.performSearchResult(this.filterMessagesByType(r,e),e):void 0;this.log.warn("peer changed")},e=>{this.log.error("load error:",e)}).then(()=>{this.loadSidebarMediaPromises[e]=null})});return Promise.all(n)}cleanup(){this.loadSidebarMediaPromises={},this.loadedAllMedia={},this.prevTabID=-1,this.mediaDivsByIDs={},this.lazyLoadQueue.clear(),this.sharedMediaTypes.forEach(e=>{this.usedFromHistory[e]=0}),this.sharedMediaType="inputMessagesFilterPhotoVideo"}cleanupHTML(){this.profileElements.bio.style.display="none",this.profileElements.phone.style.display="none",this.profileElements.username.style.display="none",this.profileElements.notificationsRow.style.display="",this.profileElements.notificationsCheckbox.checked=!0,this.profileElements.notificationsStatus.innerText="Enabled",this.urlsToRevoke.length&&(this.urlsToRevoke.forEach(e=>{URL.revokeObjectURL(e)}),this.urlsToRevoke.length=0),Object.keys(this.sharedMedia).forEach(e=>{if(this.sharedMedia[e].innerHTML="",!this.historiesStorage[this.peerID]||!this.historiesStorage[this.peerID][e]){let t=this.sharedMedia[e].parentElement;t.querySelector(".preloader")||n.putPreloader(t,!0)}}),this.profileTabs.firstElementChild.children[1].click()}setLoadMutex(e){this.loadMutex=e}setPeer(e){this.peerID=e,this.cleanup()}fillProfileElements(){let e=this.peerID=l.$rootScope.selectedPeerID;if(this.cleanupHTML(),this.profileElements.avatar.setAttribute("peer",""+e),e!=l.$rootScope.myID){u.default.getPeerUsername(e)&&_(u.default.getPeerUsername(e),this.profileElements.username);let t=d.default.getDialogByPeerID(e)[0];if(t){let e=!1;t.notify_settings&&t.notify_settings.mute_until&&(e=new Date(1e3*t.notify_settings.mute_until)>new Date),f.default.setMutedState(e)}}else window.requestAnimationFrame(()=>{this.profileElements.notificationsRow.style.display="none"});let t=this.profileTabs.firstElementChild.children[0];if(e>0){t.style.display="none";let i=h.default.getUser(e);i.phone&&e!=l.$rootScope.myID&&_(i.rPhone,this.profileElements.phone),p.default.getProfile(e,!0).then(t=>{this.peerID==e?(t.rAbout&&e!=l.$rootScope.myID&&_(t.rAbout,this.profileElements.bio),t.pinned_msg_id&&(f.default.pinnedMsgID=t.pinned_msg_id,d.default.wrapSingleMessage(t.pinned_msg_id))):this.log.warn("peer changed")})}else{t.style.display=u.default.isBroadcast(e)?"none":"";let i=u.default.getPeer(e);p.default.getChatFull(i.id).then(t=>{this.peerID==e?t.about&&_(m.RichTextProcessor.wrapRichText(t.about),this.profileElements.bio):this.log.warn("peer changed")})}}}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=a(i(7)),n=a(i(8)),r=a(i(5)),l=i(3),d=i(13),c=a(i(24)),u=i(0),h=a(i(11)),p=a(i(46)),m=i(2),g=a(i(30)),f=a(i(38));class b{constructor(){this.wholeDiv=document.querySelector(".media-viewer-whole"),this.overlaysDiv=this.wholeDiv.firstElementChild,this.author={avatarEl:this.overlaysDiv.querySelector(".media-viewer-userpic"),nameEl:this.overlaysDiv.querySelector(".media-viewer-name"),date:this.overlaysDiv.querySelector(".media-viewer-date")},this.buttons={},this.content={container:this.overlaysDiv.querySelector(".media-viewer-media"),caption:this.overlaysDiv.querySelector(".media-viewer-caption"),mover:null},this.currentMessageID=0,this.preloader=null,this.lastTarget=null,this.prevTargets=[],this.nextTargets=[],this.targetContainer=null,this.loadMore=null,this.peerID=0,this.loadMediaPromiseUp=null,this.loadMediaPromiseDown=null,this.loadedAllMediaUp=!1,this.loadedAllMediaDown=!1,this.reverse=!1,this.needLoadMore=!0,this.pageEl=document.getElementById("page-chats"),this.log=d.logger("AMV"),this.preloader=new c.default,this.lazyLoadQueue=new g.default(5,!1),m.parseMenuButtonsTo(this.buttons,this.wholeDiv.querySelectorAll("[class*='menu']")),this.onKeyDownBinded=this.onKeyDown.bind(this),this.buttons.close.addEventListener("click",e=>{u.cancelEvent(e),this.content.container.innerHTML="",this.content.container.firstElementChild&&URL.revokeObjectURL(this.content.container.firstElementChild.src),this.peerID=0,this.currentMessageID=0,this.lazyLoadQueue.clear(),this.setMoverToTarget(this.lastTarget,!0),this.lastTarget=null,this.prevTargets=[],this.nextTargets=[],this.loadedAllMediaUp=this.loadedAllMediaDown=!1,this.loadMediaPromiseUp=this.loadMediaPromiseDown=null,f.default.close(),window.removeEventListener("keydown",this.onKeyDownBinded)}),this.buttons.prev.addEventListener("click",e=>{if(u.cancelEvent(e),this.setMoverPromise)return;let t=this.prevTargets.pop();t?(this.nextTargets.unshift({element:this.lastTarget,mid:this.currentMessageID}),this.openMedia(r.default.getMessage(t.mid),t.element)):this.buttons.prev.style.display="none"}),this.buttons.next.addEventListener("click",e=>{if(u.cancelEvent(e),this.setMoverPromise)return;let t=this.nextTargets.shift();t?(this.prevTargets.push({element:this.lastTarget,mid:this.currentMessageID}),this.openMedia(r.default.getMessage(t.mid),t.element)):this.buttons.next.style.display="none"}),this.buttons.download.addEventListener("click",()=>{let e=r.default.getMessage(this.currentMessageID);if(e.media.photo)n.default.downloadPhoto(e.media.photo.id);else{let t=null;t=e.media.webpage?e.media.webpage.document:e.media.document,t&&(console.log("will save document:",t),h.default.saveDocFile(t.id))}}),this.buttons.forward.addEventListener("click",()=>{f.default.init([this.currentMessageID])}),this.onClickBinded=e=>{u.cancelEvent(e);let t=e.target,i=null;["media-viewer-mover","media-viewer-buttons","media-viewer-author"].find(e=>{try{if(i=u.findUpClassName(t,e),i)return!0}catch(e){return!1}}),i&&"IMG"!=t.tagName&&"image"!=t.tagName||this.buttons.close.click()},this.wholeDiv.addEventListener("click",this.onClickBinded),this.setNewMover()}onKeyDown(e){"ArrowRight"==e.key?this.buttons.next.click():"ArrowLeft"==e.key&&this.buttons.prev.click()}setMoverToTarget(e,t=!1,i=0){var a;return s(this,void 0,void 0,(function*(){let s=this.content.mover;t||(s.innerHTML="");let o,r,l=0!==i,d=l?350:200;this.log("setMoverToTarget",e,t,l,i),e&&(e instanceof SVGImageElement||e.parentElement instanceof SVGForeignObjectElement?(o=u.findUpClassName(e,"attachment"),r=o.getBoundingClientRect()):(o=e.parentElement,r=e.getBoundingClientRect()));let c,h,p,m=this.content.container.getBoundingClientRect(),g="";if(l?(c=1===i?n.default.windowW:-m.width,h=m.top):(c=r.left,h=r.top),e instanceof HTMLImageElement||e instanceof HTMLVideoElement){if(s.firstElementChild&&s.firstElementChild.classList.contains("media-viewer-aspecter")){p=s.firstElementChild;let e=p.querySelector(".ckin__player");if(e){let t=e.firstElementChild;p.append(t),e.remove()}p.style.cssText||(s.classList.remove("active"),this.setFullAspect(p,m,r),s.offsetLeft,s.classList.add("active"))}else p=document.createElement("div"),p.classList.add("media-viewer-aspecter","disable-hover"),s.prepend(p);p.style.cssText=`width: ${r.width}px; height: ${r.height}px; transform: scale(${m.width/r.width}, ${m.height/r.height});`}g+=`translate(${c}px,${h}px) `,s.style.width=m.width+"px",s.style.height=m.height+"px";let f=r.width/m.width,b=r.height/m.height;l||(g+=`scale(${f},${b}) `);let v,y=window.getComputedStyle(o).getPropertyValue("border-radius"),w=u.fillPropertyValue(y);y=w.map(e=>parseInt(e)/f+"px").join(" "),l||(s.style.borderRadius=y),s.style.transform=g;let x=e.classList.contains("is-out");if(t)return e instanceof SVGSVGElement&&(v=s.querySelector("path"),v&&this.sizeTailPath(v,m,f,d,!1,x,y)),e.classList.contains("media-viewer-media")&&s.classList.add("hiding"),setTimeout(()=>{this.wholeDiv.classList.remove("active")},0),setTimeout(()=>{s.style.borderRadius=y,s.firstElementChild&&(s.firstElementChild.style.borderRadius=y)},d/2),void setTimeout(()=>{s.innerHTML="",s.classList.remove("moving","active","hiding"),s.style.display="none"},d);{let t,i;if("DIV"==e.tagName)e.firstElementChild&&(t=new Image,i=e.firstElementChild.src,s.append(t));else if(e instanceof HTMLImageElement)t=new Image,i=e.src;else if(e instanceof HTMLVideoElement){let s=t=document.createElement("video"),o=document.createElement("source");i=null===(a=e.querySelector("source"))||void 0===a?void 0:a.src,s.append(o)}else if(e instanceof SVGSVGElement){let t=e.dataset.clipID,i=t+"-mv",{width:a,height:o}=m,n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttributeNS(null,"width",""+a),n.setAttributeNS(null,"height",""+o),n.insertAdjacentHTML("beforeend",e.firstElementChild.outerHTML.replace(t,i)),n.insertAdjacentHTML("beforeend",e.lastElementChild.outerHTML.replace(t,i));let r=n.firstElementChild,l=r.firstElementChild.firstElementChild;if(l instanceof SVGUseElement){let e,t=l.getAttributeNS(null,"transform");t=t.replace(/translate\((.+?), (.+?)\) scale\((.+?), (.+?)\)/,(e,t,i,s,n)=>`translate(${t=2!=(t=+t)?a-2/f:2/f}, ${o}) scale(${+s/f}, ${+n/b})`),l.setAttributeNS(null,"transform",t),v=r.firstElementChild.lastElementChild;let i=y.split(" ").map(e=>parseInt(e));e=x?u.generatePathData(0,0,a-9/f,o,...i):u.generatePathData(9/f,0,a-9/f,o,...i),v.setAttributeNS(null,"d",e)}let d=n.lastElementChild;d.setAttributeNS(null,"width",""+m.width),d.setAttributeNS(null,"height",""+m.height),s.prepend(n)}p&&(p.style.borderRadius=y,p.append(t)),t=s.querySelector("video, img"),t instanceof HTMLImageElement?yield new Promise((e,s)=>{t.addEventListener("load",e),i&&(t.src=i)}):t instanceof HTMLVideoElement&&t.firstElementChild&&(t.firstElementChild.src||i)&&(yield new Promise((e,s)=>{t.addEventListener("loadeddata",e),i&&(t.firstElementChild.src=i)})),s.style.display="",window.requestAnimationFrame(()=>{s.classList.add(l?"moving":"active")})}yield new Promise(e=>window.requestAnimationFrame(e)),s.style.transform=`translate(${m.left}px,${m.top}px) scale(1,1)`,p&&this.setFullAspect(p,m,r),setTimeout(()=>{s.style.borderRadius="",s.firstElementChild&&(s.firstElementChild.style.borderRadius="")},d/2),s.dataset.timeout=""+setTimeout(()=>{s.classList.remove("moving"),p&&(s.querySelector("video")&&(s.classList.remove("active"),p.style.cssText="",s.offsetLeft),p.classList.remove("disable-hover")),s.classList.add("active"),delete s.dataset.timeout},d),v&&this.sizeTailPath(v,m,f,d,!0,x,y)}))}setFullAspect(e,t,i){let s,a=e.firstElementChild;a instanceof HTMLImageElement?s=a.naturalWidth/a.naturalHeight:a instanceof HTMLVideoElement&&(s=a.videoWidth/a.videoHeight);let{width:o,height:n}=i;s>0?o=n*s:n=o*s,e.style.cssText=`width: ${o}px; height: ${n}px; transform: scale(${t.width/o}, ${t.height/n});`}sizeTailPath(e,t,i,s,a,o,n){let r=Date.now(),{width:l,height:d}=t;s/=2;let c=n.split(" ").map(e=>parseInt(e)),h=()=>{let t=Date.now()-r,n=t/s;n>1&&(n=1),a&&(n=1-n);let p,m=c.map(e=>e*n);p=o?u.generatePathData(0,0,l-9/i*n,d,...m):u.generatePathData(9/i*n,0,l,d,...m),e.setAttributeNS(null,"d",p),t<s&&window.requestAnimationFrame(h)};h()}moveTheMover(e,t=!0){let i=n.default.windowW;e.classList.add("moving"),e.dataset.timeout&&clearTimeout(+e.dataset.timeout);let s=e.getBoundingClientRect(),a=e.style.transform.replace(/translate\((.+?),/,(e,a)=>{let o=+a.slice(0,-2);return o=t?-s.width:i,e.replace(a,o+"px")});e.style.transform=a,setTimeout(()=>{e.remove()},350)}setNewMover(){let e=document.createElement("div");if(e.classList.add("media-viewer-mover"),this.content.mover){this.content.mover.parentElement.append(e)}else this.wholeDiv.append(e);return e.addEventListener("click",this.onClickBinded),this.content.mover=e}isElementVisible(e,t){let i=e.getBoundingClientRect(),s=t.getBoundingClientRect();return s.bottom>i.top&&s.top<i.bottom}loadMoreMedia(e=!0){if(e&&this.loadedAllMediaDown)return;if(!e&&this.loadedAllMediaUp)return;if(e&&this.loadMediaPromiseDown)return this.loadMediaPromiseDown;if(!e&&this.loadMediaPromiseUp)return this.loadMediaPromiseUp;let t,i=e?0:50,s=this.currentMessageID;t=e?this.reverse?this.prevTargets[0]:this.nextTargets[this.nextTargets.length-1]:this.reverse?this.nextTargets[this.nextTargets.length-1]:this.prevTargets[0],t&&(s=t.mid),e||(s+=1);let a=this.peerID,o=r.default.getSearch(a,"",{_:"inputMessagesFilterPhotoVideo"},s,50,0,i).then(t=>{if(this.peerID!=a)return void this.log.warn("peer changed");this.log("loaded more media by maxID:",s,t,e,this.reverse),t.history.length<50&&(e?this.loadedAllMediaDown=!0:this.loadedAllMediaUp=!0),(e?t.history.forEach:t.history.forEachReverse).call(t.history,t=>{let i=r.default.getMessage(t).media;if(!i||!(i.photo||i.document||i.webpage&&i.webpage.document))return;if("document"==i._&&"video"!=i.type)return;let s={element:null,mid:t};e?this.reverse?this.prevTargets.unshift(s):this.nextTargets.push(s):this.reverse?this.nextTargets.push(s):this.prevTargets.unshift(s)}),this.buttons.prev.style.display=this.prevTargets.length?"":"none",this.buttons.next.style.display=this.nextTargets.length?"":"none"},()=>{}).then(()=>{e?this.loadMediaPromiseDown=null:this.loadMediaPromiseUp=null});return e?this.loadMediaPromiseDown=o:this.loadMediaPromiseUp=o,o}updateMediaSource(e,t,i){let s=e.querySelector(i);m.renderImageFromUrl(s,t)}openMedia(e,t,i=!1,s,a=[],r=[],d=!0){if(this.setMoverPromise)return this.setMoverPromise;this.log("openMedia doc:",e);const c=e.media.photo||e.media.document||e.media.webpage.document||e.media.webpage.photo,g="video/mp4"==c.mime_type,f=!this.peerID;f&&(this.peerID=u.$rootScope.selectedPeerID,this.targetContainer=s,this.prevTargets=a,this.nextTargets=r,this.reverse=i,this.needLoadMore=d);let b=0;f||(b=this.reverse?this.currentMessageID<e.mid?1:-1:this.currentMessageID>e.mid?1:-1),this.buttons.prev.style.display=this.prevTargets.length?"":"none",this.buttons.next.style.display=this.nextTargets.length?"":"none";const v=this.content.container;!t&&(t=v),this.currentMessageID=e.mid,this.lastTarget=t,this.needLoadMore&&(this.nextTargets.length<20&&this.loadMoreMedia(!this.reverse),this.prevTargets.length<20&&this.loadMoreMedia(this.reverse)),v.firstElementChild&&(v.innerHTML="");const y=new Date(1e3*c.date),w=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"][y.getMonth()]+" "+y.getDate()+" at "+y.getHours()+":"+("0"+y.getMinutes()).slice(-2);this.author.date.innerText=w;const x=o.default.getPeerTitle(e.fromID);this.author.nameEl.innerHTML=x,e.message?this.content.caption.innerHTML=l.RichTextProcessor.wrapRichText(e.message,{entities:e.totalEntities}):this.content.caption.innerHTML="";let _=this.author.avatarEl;this.author.avatarEl=this.author.avatarEl.cloneNode(),this.author.avatarEl.setAttribute("peer",""+e.fromID),_.parentElement.replaceChild(this.author.avatarEl,_),0!==b?(this.moveTheMover(this.content.mover,1===b),this.setNewMover()):(window.addEventListener("keydown",this.onKeyDownBinded),this.wholeDiv.classList.add("active"));const k=this.content.mover,M=this.pageEl.scrollWidth-16,D=n.default.windowH-100,S=n.default.setAttachmentSize(g?c:c.id,v,M,D);let E;return E=g?this.setMoverToTarget(t,!1,b).then(()=>{let i=k.querySelector("video")||document.createElement("video"),s=i.firstElementChild||document.createElement("source");"gif"==c.type&&(i.autoplay=!0,i.loop=!0);let a=()=>{if("gif"!=c.type){i.dataset.ckin="default",i.dataset.overlay="1";new p.default(i,!0)}else i.play()};if(s&&s.src)a();else{let o=()=>{let o=h.default.downloadDoc(c);return this.preloader.attach(k,!0,o),o.then(()=>{if(this.currentMessageID!=e.mid)return void this.log.warn("media viewer changed video");let o=c.url;if(t instanceof SVGSVGElement)this.updateMediaSource(k,o,"source"),this.updateMediaSource(t,o,"source");else{let e=k.firstElementChild&&k.firstElementChild.classList.contains("media-viewer-aspecter")?k.firstElementChild:k,t=e.firstElementChild;t instanceof HTMLImageElement&&t.remove(),m.renderImageFromUrl(s,o),s.type=c.mime_type,s.parentElement||i.append(s),i.parentElement||e.prepend(i)}a()}),o};this.lazyLoadQueue.unshift({div:null,load:o,wasSeen:!0})}}):this.setMoverToTarget(t,!1,b).then(()=>{this.lazyLoadQueue.unshift({div:null,load:()=>{let i=n.default.preloadPhoto(c.id,S);return this.preloader.attach(k,!0,i),i.then(()=>{if(this.currentMessageID!=e.mid)return void this.log.warn("media viewer changed photo");let i=c.url;if(t instanceof SVGSVGElement)this.updateMediaSource(t,i,"img"),this.updateMediaSource(k,i,"img");else{let e=k.firstElementChild&&k.firstElementChild.classList.contains("media-viewer-aspecter")?k.firstElementChild:k,t=e.firstElementChild;t&&"IMG"==t.tagName||(t=new Image),m.renderImageFromUrl(t,i).then(()=>{e.append(t)})}this.preloader.detach()}).catch(e=>{this.log.error(e)}),i},wasSeen:!0})}),this.setMoverPromise=E.then(()=>{this.setMoverPromise=null})}}t.AppMediaViewer=b,t.default=new b},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(36)),o=s(i(5)),n=i(2),r=i(47);t.default=new class{constructor(){this.container=document.getElementById("forward-container"),this.closeBtn=this.container.querySelector(".sidebar-close-button"),this.sendBtn=this.container.querySelector(".btn-circle"),this.msgIDs=[],this.closeBtn.addEventListener("click",this.close.bind(this)),this.sendBtn.addEventListener("click",()=>{let e=this.selector.getSelected();if(this.msgIDs.length&&e.length){this.sendBtn.classList.remove("tgico-send"),this.sendBtn.disabled=!0,n.putPreloader(this.sendBtn),this.selector.freezed=!0;let t=()=>{let i=e.splice(0,3).map(e=>o.default.forwardMessages(e,this.msgIDs));Promise.all(i).then(()=>{if(e.length)return t();this.closeBtn.click()})};t()}})}close(){this.cleanup(),this.container.classList.remove("active")}cleanup(){this.selector&&(this.selector.container.remove(),this.selector=null)}init(e){this.cleanup(),this.msgIDs=e,this.container.classList.add("active"),this.sendBtn.innerHTML="",this.sendBtn.classList.add("tgico-send"),this.sendBtn.disabled=!1,this.selector=new r.AppSelectPeers(this.container,e=>{e?this.sendBtn.classList.add("is-visible"):this.sendBtn.classList.remove("is-visible")},"dialogs",()=>{console.log("forward rendered:",this.container.querySelector(".selector ul").childElementCount),a.default.toggleSidebar(!0)})}}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=a(i(12)),n=a(i(1)),r=a(i(20)),l=a(i(11));const d=new class{constructor(){this.documents={},this.stickerSets={},o.default.get("stickerSets").then(e=>{if(e){for(let t in e){let i=e[t];this.saveStickers(i.documents)}this.stickerSets=e}this.getStickerSet({id:"emoji",access_hash:""},{overwrite:!0})})}saveSticker(e){return this.documents[e.id]?this.documents[e.id]:(e=l.default.saveDoc(e),this.documents[e.id]=e,e)}saveStickers(e){e.forEach((t,i)=>{e[i]=this.saveSticker(t)})}getSticker(e){return this.documents[e]}getStickerSet(e,t={}){return s(this,void 0,void 0,(function*(){if(this.stickerSets[e.id]&&!t.overwrite)return this.stickerSets[e.id];let i=n.default.invokeApi("messages.getStickerSet",{stickerset:"emoji"==e.id?{_:"inputStickerSetAnimatedEmoji"}:{_:"inputStickerSetID",id:e.id,access_hash:e.access_hash}}),s=yield i;return this.saveStickerSet(s,e.id),s}))}getRecentStickers(){return s(this,void 0,void 0,(function*(){let e=yield n.default.invokeApi("messages.getRecentStickers",{flags:0,hash:0});return this.saveStickers(e.stickers),e}))}getAnimatedEmojiSticker(e){let t=this.stickerSets.emoji;return e=e.replace(/\ufe0f/g,"").replace(/🏻|🏼|🏽|🏾|🏿/g,""),t.documents.find(t=>t.stickerEmojiRaw==e)}saveStickerSet(e,t){this.stickerSets[t]={set:e.set,packs:e.packs,documents:e.documents},this.saveStickers(e.documents),this.saveSetsTimeout||(this.saveSetsTimeout=setTimeout(()=>{o.default.set({stickerSets:this.stickerSets}),this.saveSetsTimeout=0},0))}getStickerSetThumb(e){var t;let i=e.thumb,s=e.thumb_dc_id,a=null===(t=e.pFlags)||void 0===t?void 0:t.animated;return r.default.downloadFile(s,{_:"inputStickerSetThumb",stickerset:{_:"inputStickerSetID",id:e.id,access_hash:e.access_hash},volume_id:i.location.volume_id,local_id:i.location.local_id},i.size,{stickerType:a?2:1,mimeType:a?"application/x-tgsticker":"image/webp"})}cleanup(){return s(this,void 0,void 0,(function*(){yield o.default.remove("stickerSets")}))}};window.appStickersManager=d,t.default=d},,,function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const a=new class{constructor(){this.webpMachine=null,this.queue=[],this.testPromise=null,this.webpSupport=!1,this.testWebpSupport()}loadWebpHero(){if(this.loaded)return this.loaded;this.loaded=new Promise((e,t)=>s(this,void 0,void 0,(function*(){if(yield this.testWebpSupport())e();else{window.webpLoaded=()=>{console.log("webpHero loaded"),this.webpMachine=new window.WebpMachine,e()};let t=document.createElement("script");t.src="npm.webp-hero.chunk.js",t.async=!0,t.onload=window.webpLoaded,document.body.appendChild(t)}})))}convert(e){return this.webpMachine.decode(e)}processQueue(){return s(this,void 0,void 0,(function*(){if(this.busyPromise)return;this.busyPromise=Promise.resolve();let{bytes:e,callback:t}=this.queue.pop();this.loaded||this.loadWebpHero(),yield this.loaded,this.busyPromise=this.convert(e);let i=yield this.busyPromise;console.log("converted webp",i),t(i),this.busyPromise=null,this.queue.length&&this.processQueue()}))}testWebpSupport(){return this.testPromise?this.testPromise:this.testPromise=new Promise((e,t)=>{let i=new Image;i.src="data:image/webp;base64,UklGRi4AAABXRUJQVlA4TCEAAAAvAUAAEB8wAiMwAgSSNtse/cXjxyCCmrYNWPwmHRH9jwMA",i.onload=i.onerror=()=>{e(this.webpSupport=2===i.height)}})}isSupported(){return this.webpSupport}convertToPng(e){return console.warn("convertToPng!"),new Promise((t,i)=>{this.queue.push({bytes:e,callback:t}),this.processQueue()})}};window.appWebpManager=a,t.default=a},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(0),o=s(i(8)),n=s(i(11)),r=i(3);t.default=new class{constructor(){this.webpages={},this.pendingWebPages={},a.$rootScope.$on("apiUpdate",e=>{let t=e.detail;switch(t._){case"updateWebPage":this.saveWebPage(t.webpage)}})}saveWebPage(e,t,i){e.photo&&"photo"===e.photo._?e.photo=o.default.savePhoto(e.photo,i):delete e.photo,e.document&&"document"===e.document._?e.document=n.default.saveDoc(e.document,i):("document"==e.type&&delete e.type,delete e.document);var s=e.site_name,l=e.title||e.author||s||"";s&&l==s&&delete e.site_name,l.length>100&&(l=l.substr(0,80)+"..."),e.rTitle=r.RichTextProcessor.wrapRichText(l,{noLinks:!0,noLinebreaks:!0});var d="";if("GitHub"==s){var c=e.url.match(/(https?:\/\/github\.com\/[^\/]+\/[^\/]+)/);c&&(d=c[0]+"/issues/{1}")}var u=e.description||"";if(u.length>180&&(u=u.substr(0,150).replace(/(\n|\s)+$/,"")+"..."),e.rDescription=r.RichTextProcessor.wrapRichText(u,{contextSite:s||"external",contextHashtag:d}),"photo"!=e.type&&"video"!=e.type&&"gif"!=e.type&&"document"!=e.type&&!e.description&&e.photo&&(e.type="photo"),t&&(void 0===this.pendingWebPages[e.id]&&(this.pendingWebPages[e.id]={}),this.pendingWebPages[e.id][t]=!0,this.webpages[e.id]=e),void 0===this.webpages[e.id]?this.webpages[e.id]=e:a.safeReplaceObject(this.webpages[e.id],e),!t&&void 0!==this.pendingWebPages[e.id]){var h=[];for(let t in this.pendingWebPages[e.id])h.push(t);a.$rootScope.$broadcast("webpage_updated",{id:e.id,msgs:h})}}getWebPage(e){return this.webpages[e]}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(3),o=s(i(5)),n=s(i(7)),r=s(i(1)),l=s(i(19)),d=i(0);const c=new class{constructor(){this.polls={},this.results={},d.$rootScope.$on("apiUpdate",e=>{let t=e.detail;this.handleUpdate(t)})}handleUpdate(e){switch(e._){case"updateMessagePoll":{console.log("updateMessagePoll:",e);let t=this.polls[e.poll_id]||e.poll;if(!t)break;t=this.savePoll(t,e.results),d.$rootScope.$broadcast("poll_update",{poll:t,results:e.results});break}}}savePoll(e,t){let i=e.id;return this.polls[i]?(e=this.polls[i],this.saveResults(e,t),e):(this.polls[i]=e,e.rQuestion=a.RichTextProcessor.wrapEmojiText(e.question),e.rReply=a.RichTextProcessor.wrapEmojiText("📊")+" "+(e.rQuestion||"poll"),this.saveResults(e,t),e)}saveResults(e,t){var i;this.results[e.id]=t,e.chosenIndex=null!==(i=t&&t.results&&t.results.findIndex(e=>{var t;return null===(t=e.pFlags)||void 0===t?void 0:t.chosen}))&&void 0!==i?i:-1}getPoll(e){return{poll:this.polls[e],results:this.results[e]}}sendVote(e,t){let i=o.default.getMessage(e),s=i.media.poll,a=t.map(e=>s.answers[e].option),d=n.default.getInputPeerByID(i.peerID),c=i.id;return r.default.invokeApi("messages.sendVote",{peer:d,msg_id:c,options:a}).then(e=>{console.log("appPollsManager sendVote updates:",e),l.default.processUpdateMessage(e)})}};window.appPollsManager=c,t.default=c},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(29)),o=i(2);class n{constructor(e){this.element=document.createElement("div"),this.container=document.createElement("div"),this.header=document.createElement("div"),this.title=document.createElement("div"),this.element.classList.add("popup"),this.element.className="popup"+(e?" "+e:""),this.container.classList.add("popup-container","z-depth-1"),this.header.classList.add("popup-header"),this.title.classList.add("popup-title"),this.header.append(this.title),this.container.append(this.header),this.element.append(this.container)}show(){document.body.append(this.element),this.element.offsetWidth,this.element.classList.add("active")}destroy(){this.element.classList.remove("active"),setTimeout(()=>{this.element.remove()},1e3)}}t.PopupElement=n;t.PopupPeer=class extends n{constructor(e,t={}){super("popup-peer"+(e?" "+e:"")),this.className=e;let i=new a.default;i.setAttribute("dialog","1"),i.setAttribute("peer",""+t.peerID),i.classList.add("peer-avatar"),this.title.innerText=t.title||"",this.header.prepend(i);let s=document.createElement("p");s.classList.add("popup-description"),s.innerHTML=t.description;let n=document.createElement("div");n.classList.add("popup-buttons");let r=t.buttons.map(e=>{let t=document.createElement("button");return o.ripple(t),t.className="btn"+(e.isDanger?" danger":""),t.innerHTML=e.text,e.callback?t.addEventListener("click",()=>{e.callback(),this.destroy()}):e.isCancel&&t.addEventListener("click",()=>{this.destroy()}),t});n.append(...r),this.container.append(s,n)}}},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class s{constructor(e){this.media=e,this.duration=0,this.container=document.createElement("div"),this.container.classList.add("media-progress"),this.filled=document.createElement("div"),this.filled.classList.add("media-progress__filled");let t=this.seek=document.createElement("input");t.classList.add("media-progress__seek"),t.value="0",t.setAttribute("min","0"),t.setAttribute("max","0"),t.type="range",t.step="0.1",this.setSeekMax(),this.setListeners(),this.container.append(this.filled,t)}setSeekMax(){let e=this.seek;this.duration=this.media.duration,this.duration>0?e.setAttribute("max",""+1e3*this.duration):this.media.addEventListener("loadeddata",()=>{this.duration=this.media.duration,e.setAttribute("max",""+1e3*this.duration)})}setProgress(){let e=this.media.currentTime,t=e/this.duration;this.filled.style.transform="scaleX("+t+")",this.seek.value=""+1e3*e}setListeners(){let e=!1,t=0;this.media.addEventListener("ended",()=>{this.setProgress()}),this.media.addEventListener("play",()=>{let e=()=>{this.setProgress(),!this.media.paused&&window.requestAnimationFrame(e)};window.requestAnimationFrame(e)}),this.container.addEventListener("mousemove",t=>{e&&this.scrub(t)}),this.container.addEventListener("mousedown",i=>{this.scrub(i),t=setTimeout(()=>{!this.media.paused&&this.media.pause(),t=0},150),e=!0}),this.container.addEventListener("mouseup",()=>{t&&clearTimeout(t),this.media.paused&&this.media.play(),e=!1})}scrub(e){let t=e.offsetX/this.container.offsetWidth*this.duration;this.media.currentTime=t;let i=t/this.duration;i>1&&(i=1),i<0&&(i=0),this.filled.style.transform="scaleX("+i+")"}}t.MediaProgressLine=s;t.default=class{constructor(e,t=!1){var i;if(this.video=e,this.wrapper=document.createElement("div"),this.wrapper.classList.add("ckin__player"),e.parentNode.insertBefore(this.wrapper,e),this.wrapper.appendChild(e),this.skin=null!==(i=e.dataset.ckin)&&void 0!==i?i:"default",this.stylePlayer(),"default"==this.skin){let t=this.wrapper.querySelector(".default__controls.ckin__controls");this.progress=new s(e),t.prepend(this.progress.container)}t&&this.wrapper.querySelector(".toggle").click()}stylePlayer(){let e=this.wrapper,t=this.video,i=this.skin;e.classList.add(i);let s=this.buildControls();e.insertAdjacentHTML("beforeend",s);let a=0,o=0,n=0;if("default"===i){var r=e.querySelectorAll(".toggle"),l=e.querySelector(".fullscreen"),d=e.querySelector("#time-elapsed");(p=e.querySelector("#time-duration")).innerHTML=String(0|t.duration).toHHMMSS(),Array.from(r).forEach(e=>e.addEventListener("click",()=>{this.togglePlay()})),t.addEventListener("click",()=>{this.togglePlay()}),t.addEventListener("play",()=>{this.updateButton(r)}),t.addEventListener("pause",()=>{this.updateButton(r),clearInterval(a)}),t.addEventListener("dblclick",()=>this.toggleFullScreen(l)),l.addEventListener("click",e=>this.toggleFullScreen(l));let i=()=>this.onFullScreen();"webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange".split(" ").forEach(t=>{e.addEventListener(t,i,!1)})}if("circle"===i){let i=document.createElement("div");i.classList.add("circle-time-left"),t.parentNode.insertBefore(i,t),i.innerHTML='<div class="circle-time"></div><div class="iconVolume tgico-nosound"></div>';var c=e.querySelector(".progress-ring__circle"),u=c.r.baseVal.value,h=2*Math.PI*u,p=e.querySelector(".circle-time"),m=e.querySelector(".iconVolume");c.style.strokeDasharray=h+" "+h,c.style.strokeDashoffset=""+h,c.addEventListener("click",()=>{this.togglePlay()}),t.addEventListener("play",()=>{m.style.display="none",a=setInterval(()=>{t.currentTime!=n&&(o=t.currentTime,n=t.currentTime);let e=h-o/t.duration*h;c.style.strokeDashoffset=""+e,t.paused&&clearInterval(a)},20)}),t.addEventListener("pause",()=>{m.style.display=""})}t.duration>0?p.innerHTML=String(Math.round(t.duration)).toHHMMSS():t.addEventListener("loadeddata",()=>{p.innerHTML=String(Math.round(t.duration)).toHHMMSS()}),t.addEventListener("timeupdate",()=>{"default"==i&&(d.innerHTML=String(0|t.currentTime).toHHMMSS()),a=this.handleProgress(p,h,c,a)})}togglePlay(e){return e?(this.video.pause(),void this.wrapper.classList.remove("is-playing")):!1===e?(this.video.play(),void this.wrapper.classList.add("is-playing")):(this.video[this.video.paused?"play":"pause"](),void(this.video.paused?this.wrapper.classList.remove("is-playing"):this.wrapper.classList.add("is-playing")))}handleProgress(e,t,i,s){let a=this.video,o=this.skin;clearInterval(s);let n=0,r=0;if("circle"===o){s=setInterval(()=>{a.currentTime!=r&&(n=a.currentTime,r=a.currentTime);let e=t-n/a.duration*t;i.style.strokeDashoffset=""+e,a.paused&&clearInterval(s)},20);let o=String(a.duration-a.currentTime|0).toHHMMSS();return"0"!=o&&(e.innerHTML=o),s}}buildControls(){let e=this.skin,t=[];return"default"===e?(t.push('<button class="'+e+'__button--big toggle tgico-largeplay" title="Toggle Play"></button>'),t.push('<div class="'+e+'__gradient-bottom ckin__controls"></div>'),t.push('<div class="'+e+'__controls ckin__controls">'),t.push('<div class="bottom-controls">','<div class="left-controls"><button class="'+e+'__button toggle tgico-play" title="Toggle Video"></button>','<div class="time">','<time id="time-elapsed">0:00</time>',"<span> / </span>",'<time id="time-duration">0:00</time>',"</div>","</div>",'<div class="right-controls"><button class="'+e+'__button fullscreen tgico-fullscreen" title="Full Screen"></button></div></div>'),t.push("</div>")):"circle"===e&&t.push('<svg class="progress-ring" width="200px" height="200px">','<circle class="progress-ring__circle" stroke="white" stroke-opacity="0.3" stroke-width="3.5" cx="100" cy="100" r="93" fill="transparent" transform="rotate(-90, 100, 100)"/>',"</svg>"),t.join("")}updateButton(e){let t=this.video.paused?"tgico-play":"tgico-pause";Array.from(e).forEach(e=>{e.classList.remove("tgico-play","tgico-pause"),e.classList.add(t)})}toggleFullScreen(e){let t=this.wrapper;document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement?(t.classList.remove("ckin__fullscreen"),document.cancelFullScreen?document.cancelFullScreen():document.mozCancelFullScreen?document.mozCancelFullScreen():document.webkitCancelFullScreen?document.webkitCancelFullScreen():document.msExitFullscreen&&document.msExitFullscreen(),e.classList.remove("tgico-smallscreen"),e.classList.add("tgico-fullscreen"),e.setAttribute("title","Full Screen")):(t.classList.add("ckin__fullscreen"),t.requestFullscreen?t.requestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():t.msRequestFullscreen&&t.msRequestFullscreen(),e.classList.remove("tgico-fullscreen"),e.classList.add("tgico-smallscreen"),e.setAttribute("title","Exit Full Screen"))}onFullScreen(){null!==document.webkitFullscreenElement||this.wrapper.classList.remove("ckin__fullscreen")}}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=a(i(9)),n=a(i(5)),r=i(0),l=a(i(25)),d=a(i(6)),c=a(i(4)),u=i(31),h=a(i(8));t.AppSelectPeers=class{constructor(e,t,i="dialogs",s){this.appendTo=e,this.onChange=t,this.peerType=i,this.container=document.createElement("div"),this.list=document.createElement("ul"),this.chatsContainer=document.createElement("div"),this.selectedContainer=document.createElement("div"),this.input=document.createElement("input"),this.selected={},this.freezed=!1,this.myID=r.$rootScope.myID,this.offsetIndex=0,this.query="",this.container.classList.add("selector");let a=document.createElement("div");a.classList.add("selector-search-container"),this.selectedContainer.classList.add("selector-search"),this.input.placeholder="contacts"==i?"Add People...":"Select chat",this.input.type="text",this.selectedContainer.append(this.input),a.append(this.selectedContainer),this.selectedScrollable=new o.default(a);let n=document.createElement("hr");this.chatsContainer.classList.add("chats-container"),this.chatsContainer.append(this.list),this.scrollable=new o.default(this.chatsContainer),this.scrollable.setVirtualContainer(this.list),this.list.addEventListener("click",e=>{let t=e.target;if(r.cancelEvent(e),this.freezed)return;if("LI"!=t.tagName&&(t=r.findUpTag(t,"LI")),!t)return;let i=+t.getAttribute("data-peerID");t.classList.toggle("active"),i in this.selected?this.remove(i):this.add(i);let s=t.querySelector("input");s.checked=!s.checked}),this.selectedContainer.addEventListener("click",e=>{if(this.freezed)return;let t=e.target;if(t=r.findUpClassName(t,"selector-user"),!t)return;let i=t.dataset.peerID;this.list.querySelector('[data-peerid="'+i+'"]').click()}),this.input.addEventListener("input",()=>{let e=this.input.value;this.query!=e&&("contacts"==this.peerType?this.cachedContacts=null:this.offsetIndex=0,this.promise=null,this.list.innerHTML="",this.query=e,console.log("selectPeers input:",this.query),this.getMoreResults())}),this.scrollable.onScrolledBottom=()=>{this.getMoreResults()},this.container.append(a,n,this.chatsContainer),e.append(this.container);let l=this.getMoreResults();s&&l.then(()=>{s()})}getMoreDialogs(){return s(this,void 0,void 0,(function*(){if(this.promise)return this.promise;const e=h.default.windowH/72*1.25|0;this.promise=n.default.getConversations(this.query,this.offsetIndex,e,0);let t=(yield this.promise).dialogs;if(!t.length)return;const i=t[t.length-1].index||0;t=t.filter(e=>e.peerID!=this.myID),this.offsetIndex||t.unshift({peerID:this.myID,pFlags:{}}),this.offsetIndex=i,this.renderResults(t.map(e=>e.peerID)),this.promise=null}))}getMoreContacts(){return s(this,void 0,void 0,(function*(){if(this.promise)return this.promise;if(this.cachedContacts||(this.promise=c.default.getContacts(this.query),this.cachedContacts=(yield this.promise).slice(),this.cachedContacts.findAndSplice(e=>e==this.myID),this.promise=null),this.cachedContacts.length){const e=h.default.windowH/72*1.25|0,t=this.cachedContacts.splice(0,e);this.renderResults(t)}}))}getMoreResults(){return"dialogs"==this.peerType?this.getMoreDialogs():this.getMoreContacts()}renderResults(e){console.log("will renderResults:",e),e.forEach(e=>{const{dom:t}=l.default.addDialog(e,this.scrollable,!1,!1);t.containerEl.insertAdjacentHTML("afterbegin",'<div class="checkbox"><label><input type="checkbox"><span></span></label></div>');let i="";e<0?i=d.default.getChatMembersString(-e):e==this.myID?i="chat with yourself":(i=c.default.getUserStatusString(e),"online"==i&&(i=`<i>${i}</i>`)),t.lastMessageSpan.innerHTML=i})}add(e){const t=document.createElement("div");t.classList.add("selector-user","scale-in"),t.dataset.peerID=""+e,this.selected[e]=t;const i=u.appPeersManager.getPeerTitle(e,!1,!0),s=document.createElement("avatar-element");s.classList.add("selector-user-avatar","tgico"),s.setAttribute("dialog","1"),s.setAttribute("peer",""+e),t.innerHTML=i,t.insertAdjacentElement("afterbegin",s),this.selectedContainer.insertBefore(t,this.input),this.selectedScrollable.scrollTop=this.selectedScrollable.scrollHeight,this.onChange&&this.onChange(Object.keys(this.selected).length)}remove(e){const t=this.selected[e];t.classList.remove("scale-in"),t.offsetWidth,t.classList.add("scale-out"),t.addEventListener("animationend",()=>{delete this.selected[e],t.remove(),this.onChange&&this.onChange(Object.keys(this.selected).length)},{once:!0})}getSelected(){return Object.keys(this.selected).map(e=>+e)}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const o=s(i(25)),n=i(0),r=s(i(15)),l=s(i(1)),d=a(i(49)),c=i(2),u=s(i(4)),h=s(i(9)),p=s(i(8)),m=i(31),g=s(i(50)),f=s(i(6)),b=i(47),v=s(i(29)),y=s(i(16));v.default;const w=1,x=2,_=3,k=4,M=5,D=6,S=7;class E{constructor(){this.container=document.querySelector(".addmembers-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.nextBtn=this.contentDiv.querySelector(".btn-corner"),this.nextBtn.addEventListener("click",()=>{let e=this.selector.getSelected();if(e.length){if(this.takeOut)return void this.takeOut(e);this.nextBtn.classList.remove("tgico-next"),this.nextBtn.disabled=!0,c.putPreloader(this.nextBtn),this.selector.freezed=!0,f.default.inviteToChannel(this.peerID,e).then(()=>{this.backBtn.click()})}})}onCloseAfterTimeout(){this.selector&&(this.selector.container.remove(),this.selector=null)}init(e,t,i,s){this.peerID=Math.abs(e),this.peerType=t,this.takeOut=s,this.onCloseAfterTimeout(),this.selector=new b.AppSelectPeers(this.contentDiv,i?null:e=>{e?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")},"contacts"),this.nextBtn.innerHTML="",this.nextBtn.disabled=!1,this.nextBtn.classList.add("tgico-next"),i?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible"),T.selectTab(k)}}class I{constructor(){this.container=document.querySelector(".new-channel-container"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.channelNameInput=this.container.querySelector(".new-channel-name"),this.channelDescriptionInput=this.container.querySelector(".new-channel-description"),this.nextBtn=this.container.querySelector(".btn-corner"),this.backBtn=this.container.querySelector(".sidebar-close-button"),this.uploadAvatar=null,this.container.querySelector(".avatar-edit").addEventListener("click",()=>{g.default.open(this.canvas,e=>{this.uploadAvatar=e})}),this.channelNameInput.addEventListener("input",()=>{this.channelNameInput.value.length?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")}),this.nextBtn.addEventListener("click",()=>{let e=this.channelNameInput.value,t=this.channelDescriptionInput.value;this.nextBtn.disabled=!0,f.default.createChannel(e,t).then(e=>{this.uploadAvatar&&this.uploadAvatar().then(t=>{f.default.editPhoto(e,t)}),T.removeTabFromHistory(_),T.addMembersTab.init(e,"channel",!0)})})}onCloseAfterTimeout(){this.canvas.getContext("2d").clearRect(0,0,this.canvas.width,this.canvas.height),this.uploadAvatar=null,this.channelNameInput.value="",this.channelDescriptionInput.value="",this.nextBtn.disabled=!1}}class P{constructor(){this.container=document.querySelector(".new-group-container"),this.contentDiv=this.container.querySelector(".sidebar-content"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.groupNameInput=this.container.querySelector(".new-group-name"),this.nextBtn=this.container.querySelector(".btn-corner"),this.searchGroup=new d.SearchGroup("","contacts",!0,"new-group-members disable-hover",!1),this.uploadAvatar=null,this.container.querySelector(".avatar-edit").addEventListener("click",()=>{g.default.open(this.canvas,e=>{this.uploadAvatar=e})}),this.groupNameInput.addEventListener("input",()=>{this.groupNameInput.value.length?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")}),this.nextBtn.addEventListener("click",()=>{let e=this.groupNameInput.value;this.nextBtn.disabled=!0,f.default.createChat(e,this.userIDs).then(e=>{this.uploadAvatar&&this.uploadAvatar().then(t=>{f.default.editPhoto(e,t)}),T.selectTab(0)})});let e=document.createElement("div");e.classList.add("chats-container"),e.append(this.searchGroup.container);new h.default(e);this.contentDiv.append(e)}onClose(){}onCloseAfterTimeout(){this.searchGroup.clear(),this.canvas.getContext("2d").clearRect(0,0,this.canvas.width,this.canvas.height),this.uploadAvatar=null,this.groupNameInput.value="",this.nextBtn.disabled=!1}init(e){this.userIDs=e,T.selectTab(M),this.userIDs.forEach(e=>{let{dom:t}=o.default.addDialog(e,this.searchGroup.list,!1,!1),i="";i=u.default.getUserStatusString(e),"online"==i&&(i=`<i>${i}</i>`),i&&(t.lastMessageSpan.innerHTML=i)}),this.searchGroup.nameEl.innerText=this.userIDs.length+" members",this.searchGroup.setActive()}}class X{constructor(){this.container=document.getElementById("contacts-container"),this.list=this.container.querySelector("#contacts"),this.input=this.container.querySelector("#contacts-search"),o.default.setListClickListener(this.list),this.scrollable=new h.default(this.list.parentElement);let e="";this.input.addEventListener("input",()=>{let t=this.input.value;e!=t&&(this.list.innerHTML="",this.openContacts(e=t))}),u.default.getContacts()}onClose(){let e=p.default.windowH/72*1.25|0;Array.from(this.list.children).slice(e).forEach(e=>e.remove())}onCloseAfterTimeout(){this.list.innerHTML="",this.input.value=""}openContacts(e){if(-1===T.historyTabIDs.indexOf(x)&&T.selectTab(x),this.promise)return this.promise;this.scrollable.onScrolledBottom=null,this.promise=u.default.getContacts(e).then(e=>{if(this.promise=null,T.historyTabIDs[T.historyTabIDs.length-1]!=x)return void console.warn("user closed contacts before it's loaded");(e=e.slice()).findAndSplice(e=>e==n.$rootScope.myID);let t=e.map(e=>{let t=u.default.getUser(e);return{user:t,status:u.default.getUserStatusForSort(t.status)}}).sort((e,t)=>t.status-e.status),i=()=>{let e=p.default.windowH/72*1.25|0;t.splice(0,e).forEach(({user:e})=>{let{dialog:t,dom:i}=o.default.addDialog(e.id,this.list,!1),s=u.default.getUserStatusString(e.id);i.lastMessageSpan.innerHTML="online"==s?`<i>${s}</i>`:s}),t.length||(i=void 0)};i(),this.scrollable.onScrolledBottom=()=>{i?i():this.scrollable.onScrolledBottom=null}})}}class L{constructor(){this.container=document.querySelector(".settings-container"),this.avatarElem=this.container.querySelector(".profile-avatar"),this.nameDiv=this.container.querySelector(".profile-name"),this.phoneDiv=this.container.querySelector(".profile-subtitle"),this.logOutBtn=this.container.querySelector(".menu-logout"),this.buttons={},c.parseMenuButtonsTo(this.buttons,this.container.querySelector(".profile-buttons").children),n.$rootScope.$on("user_auth",e=>{this.fillElements()}),this.logOutBtn.addEventListener("click",e=>{l.default.logOut()}),this.buttons.edit.addEventListener("click",()=>{T.selectTab(S),T.editProfileTab.fillElements()})}fillElements(){let e=u.default.getSelf();this.avatarElem.setAttribute("peer",""+e.id),this.nameDiv.innerHTML=e.rFullName||"",this.phoneDiv.innerHTML=e.rPhone||""}onClose(){}}class C{constructor(){this.container=document.querySelector(".edit-profile-container"),this.scrollWrapper=this.container.querySelector(".scroll-wrapper"),this.nextBtn=this.container.querySelector(".btn-corner"),this.canvas=this.container.querySelector(".avatar-edit-canvas"),this.uploadAvatar=null,this.firstNameInput=this.container.querySelector(".firstname"),this.lastNameInput=this.container.querySelector(".lastname"),this.bioInput=this.container.querySelector(".bio"),this.userNameInput=this.container.querySelector(".username"),this.avatarElem=document.createElement("avatar-element"),this.profileUrlContainer=this.container.querySelector(".profile-url-container"),this.profileUrlAnchor=this.profileUrlContainer.lastElementChild,this.originalValues={firstName:"",lastName:"",userName:"",bio:""},this.container.querySelector(".avatar-edit").addEventListener("click",()=>{g.default.open(this.canvas,e=>{this.uploadAvatar=e,this.handleChange(),this.avatarElem.remove()})}),this.avatarElem.classList.add("avatar-placeholder");let e=this.userNameInput.nextElementSibling;this.firstNameInput.addEventListener("input",()=>this.handleChange()),this.lastNameInput.addEventListener("input",()=>this.handleChange()),this.bioInput.addEventListener("input",()=>this.handleChange()),this.userNameInput.addEventListener("input",()=>{let t=this.userNameInput.value;return console.log("userNameInput:",t),t!=this.originalValues.userName&&t.length?(this.isUsernameValid(t)?this.userNameInput.classList.remove("valid","error"):(this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is invalid"),this.userNameInput.classList.contains("error")?(this.setProfileUrl(),void this.handleChange()):void l.default.invokeApi("account.checkUsername",{username:t}).then(i=>{this.userNameInput.value==t&&(i?(this.userNameInput.classList.add("valid"),this.userNameInput.classList.remove("error"),e.innerText="Username is available"):(this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is already taken"))},i=>{if(this.userNameInput.value==t)switch(i.type){case"USERNAME_INVALID":this.userNameInput.classList.add("error"),this.userNameInput.classList.remove("valid"),e.innerText="Username is invalid"}}).then(()=>{this.handleChange(),this.setProfileUrl()})):(this.userNameInput.classList.remove("valid","error"),e.innerText="Username (optional)",this.setProfileUrl(),void this.handleChange())}),this.nextBtn.addEventListener("click",()=>{this.nextBtn.disabled=!0;let e=[];e.push(y.default.updateProfile(this.firstNameInput.value,this.lastNameInput.value,this.bioInput.value).then(()=>{T.selectTab(0)},e=>{console.error("updateProfile error:",e)})),this.uploadAvatar&&e.push(this.uploadAvatar().then(e=>{y.default.uploadProfilePhoto(e)})),this.userNameInput.value!=this.originalValues.userName&&this.userNameInput.classList.contains("valid")&&e.push(y.default.updateUsername(this.userNameInput.value)),Promise.race(e).then(()=>{this.nextBtn.disabled=!1},()=>{this.nextBtn.disabled=!1})});new h.default(this.scrollWrapper,"y")}fillElements(){var e,t,i;let s=u.default.getSelf();this.firstNameInput.value=this.originalValues.firstName=null!==(e=s.first_name)&&void 0!==e?e:"",this.lastNameInput.value=this.originalValues.lastName=null!==(t=s.last_name)&&void 0!==t?t:"",this.userNameInput.value=this.originalValues.userName=null!==(i=s.username)&&void 0!==i?i:"",this.userNameInput.classList.remove("valid","error"),this.userNameInput.nextElementSibling.innerHTML="Username (optional)",y.default.getProfile(s.id).then(e=>{e.rAbout&&(this.bioInput.value=this.originalValues.bio=e.rAbout)}),this.avatarElem.setAttribute("peer",""+n.$rootScope.myID),this.avatarElem.parentElement||this.canvas.parentElement.append(this.avatarElem),this.uploadAvatar=null,this.setProfileUrl()}isUsernameValid(e){return(e.length>=5&&e.length<=32||!e.length)&&/^[a-zA-Z0-9_]*$/.test(e)}isChanged(){return!!this.uploadAvatar||this.firstNameInput.value!=this.originalValues.firstName||this.lastNameInput.value!=this.originalValues.lastName||this.userNameInput.value!=this.originalValues.userName&&!this.userNameInput.classList.contains("error")||this.bioInput.value!=this.originalValues.bio}setProfileUrl(){if(this.userNameInput.classList.contains("error")||!this.userNameInput.value.length)this.profileUrlContainer.style.display="none";else{this.profileUrlContainer.style.display="";let e="https://t.me/"+this.userNameInput.value;this.profileUrlAnchor.innerText=e,this.profileUrlAnchor.href=e}}handleChange(){this.isChanged()?this.nextBtn.classList.add("is-visible"):this.nextBtn.classList.remove("is-visible")}onCloseAfterTimeout(){this.nextBtn.classList.remove("is-visible")}}const T=new class{constructor(){this.sidebarEl=document.getElementById("column-left"),this.toolsBtn=this.sidebarEl.querySelector(".sidebar-tools-button"),this.backBtn=this.sidebarEl.querySelector(".sidebar-back-button"),this.searchContainer=this.sidebarEl.querySelector("#search-container"),this.searchInput=document.getElementById("global-search"),this.menuEl=this.toolsBtn.querySelector(".btn-menu"),this.buttons={},this.newBtnMenu=this.sidebarEl.querySelector("#new-menu"),this.newButtons={},this.newChannelTab=new I,this.addMembersTab=new E,this.contactsTab=new X,this.newGroupTab=new P,this.settingsTab=new L,this.editProfileTab=new C,this.tabs={[_]:this.newChannelTab,[x]:this.contactsTab,[k]:this.addMembersTab,[M]:this.newGroupTab,[D]:this.settingsTab,[S]:this.editProfileTab},this.searchGroups={contacts:new d.SearchGroup("Contacts and Chats","contacts"),globalContacts:new d.SearchGroup("Global Search","contacts"),messages:new d.SearchGroup("Global Search","messages"),people:new d.SearchGroup("People","contacts",!1,"search-group-people"),recent:new d.SearchGroup("Recent","contacts",!1,"search-group-recent")},this.globalSearch=new d.default(this.searchContainer,this.searchInput,this.searchGroups),this.historyTabIDs=[];let e=document.createElement("div");e.classList.add("search-group-scrollable"),e.append(this.searchGroups.people.list),this.searchGroups.people.container.append(e);new h.default(e,"x");c.parseMenuButtonsTo(this.buttons,this.menuEl.children),c.parseMenuButtonsTo(this.newButtons,this.newBtnMenu.firstElementChild.children),this.archivedCount=this.buttons.archived.querySelector(".archived-count"),this.buttons.saved.addEventListener("click",e=>{setTimeout(()=>{o.default.getDialogDom(r.default.myID);r.default.setPeer(r.default.myID)},0)}),this.buttons.archived.addEventListener("click",e=>{this.selectTab(w)}),this.buttons.contacts.addEventListener("click",e=>{this.contactsTab.openContacts()}),this.buttons.settings.addEventListener("click",()=>{this.settingsTab.fillElements(),this.selectTab(D)}),this.searchInput.addEventListener("focus",e=>{this.toolsBtn.classList.remove("active"),this.backBtn.classList.add("active"),this.searchContainer.classList.remove("hide"),this.searchContainer.offsetWidth,this.searchContainer.classList.add("active")}),this.backBtn.addEventListener("click",e=>{o.default.chatsArchivedContainer.classList.remove("active"),this.toolsBtn.classList.add("active"),this.backBtn.classList.remove("active"),this.searchContainer.classList.remove("active"),setTimeout(()=>{this.searchContainer.classList.add("hide"),this.globalSearch.reset(),this.searchGroups.people.setActive()},150)}),this.newButtons.channel.addEventListener("click",e=>{this.selectTab(_)}),[this.newButtons.group,this.buttons.newGroup].forEach(e=>{e.addEventListener("click",e=>{this.addMembersTab.init(0,"chat",!1,e=>{this.newGroupTab.init(e)})})}),n.$rootScope.$on("dialogs_archived_unread",e=>{this.archivedCount.innerText=""+e.detail.count}),this._selectTab=c.horizontalMenu(null,this.sidebarEl.querySelector(".sidebar-slider"),null,null,420),this._selectTab(0);let t=()=>{console.log("sidebar-close-button click:",this.historyTabIDs);let e=this.historyTabIDs.pop();this.onCloseTab(e),this._selectTab(this.historyTabIDs[this.historyTabIDs.length-1]||0)};Array.from(this.sidebarEl.querySelectorAll(".sidebar-close-button")).forEach(e=>{e.addEventListener("click",t)}),u.default.getTopPeers().then(e=>{console.log("got top categories:",e);let t=e[0];t&&t.peers&&t.peers.forEach(e=>{let t=m.appPeersManager.getPeerID(e.peer),{dialog:i,dom:s}=o.default.addDialog(t,this.searchGroups.people.list,!1,!0,!0);this.searchGroups.people.setActive()})})}selectTab(e){this.historyTabIDs.push(e),this._selectTab(e)}removeTabFromHistory(e){this.historyTabIDs.findAndSplice(t=>t==e),this.onCloseTab(e)}onCloseTab(e){let t=this.tabs[e];t&&("onClose"in t&&t.onClose(),"onCloseAfterTimeout"in t&&setTimeout(()=>{t.onCloseAfterTimeout()},420))}};window.appSidebarLeft=T,t.default=T},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(25)),o=s(i(9)),n=s(i(23)),r=s(i(4)),l=s(i(7)),d=s(i(5)),c=i(0),u=i(2),h=s(i(6));t.SearchGroup=class{constructor(e,t,i=!0,s,o=!0){this.name=e,this.type=t,this.clearable=i,this.list=document.createElement("ul"),this.container=document.createElement("div"),s&&(this.container.className=s),this.nameEl=document.createElement("div"),this.nameEl.classList.add("search-group__name"),this.nameEl.innerText=e,this.container.classList.add("search-group","search-group-"+t),this.container.append(this.nameEl,this.list),this.container.style.display="none",o&&a.default.setListClickListener(this.list)}clear(){this.container.style.display="none",this.clearable&&(this.list.innerHTML="")}setActive(){this.container.style.display=""}};t.default=class{constructor(e,t,i){this.container=e,this.searchInput=t,this.searchGroups=i,this.minMsgID=0,this.loadedCount=0,this.foundCount=0,this.offsetRate=0,this.searchPromise=null,this.searchTimeout=0,this.query="",this.listsContainer=null,this.peerID=0,this.scrollable=new o.default(this.container),this.listsContainer=this.scrollable.container;for(let e in this.searchGroups)this.listsContainer.append(this.searchGroups[e].container);this.searchInput.addEventListener("input",e=>{let t=this.searchInput.value;t.trim()&&(this.query=t,this.reset(!1),this.searchMore())}),this.scrollable.onScrolledBottom=()=>{this.query.trim()&&(this.searchTimeout||(this.searchTimeout=setTimeout(()=>{this.searchMore(),this.searchTimeout=0},0)))}}reset(e=!0){e&&(this.searchInput.value="",this.query="",this.peerID=0),this.minMsgID=0,this.loadedCount=0,this.foundCount=0,this.offsetRate=0;for(let e in this.searchGroups)this.searchGroups[e].clear();this.searchPromise=null}beginSearch(e){e&&(this.peerID=e),this.searchInput.focus()}searchMore(){if(this.searchPromise)return this.searchPromise;let e=this.query;if(!e.trim())return;if(0!=this.loadedCount&&this.loadedCount>=this.foundCount)return Promise.resolve();let t=n.default.getMessageIDInfo(this.minMsgID)[0];return this.peerID||t||r.default.searchContacts(e,20).then(t=>{if(this.searchInput.value!=e)return;let i=(t,i,s=!1)=>{t.forEach(t=>{let o=l.default.getPeerID(t),n=l.default.getPeer(o),p=d.default.getDialogByPeerID(o)[0];p||(p={peerID:o,pFlags:{},peer:n});let{dialog:m,dom:g}=a.default.addDialog(p,i.list,!1);if(s&&(n.participants_count||n.participants)){let t=new RegExp(`(${c.escapeRegExp(e)})`,"gi");g.titleSpan.innerHTML=g.titleSpan.innerHTML.replace(t,"<i>$1</i>"),g.lastMessageSpan.innerText=h.default.getChatMembersString(-o)}else{let e=l.default.getPeerUsername(o);if(e)e="@"+e;else{let t=r.default.getUser(o);t&&t.phone&&(e="+"+u.formatPhoneNumber(t.phone).formatted)}g.lastMessageSpan.innerHTML="<i>"+e+"</i>"}}),t.length?i.setActive():i.clear()};i(t.my_results,this.searchGroups.contacts,!0),i(t.results,this.searchGroups.globalContacts)}),this.searchPromise=d.default.getSearch(this.peerID,e,null,t,20,this.offsetRate).then(t=>{if(this.searchPromise=null,this.searchInput.value!=e)return;let{count:i,history:s,next_rate:o}=t;s[0]==this.minMsgID&&s.shift();let n=this.searchGroups.messages;n.setActive(),s.forEach(t=>{let i=d.default.getMessage(t),s=d.default.getDialogByPeerID(i.peerID)[0];s||(s={peerID:i.peerID,pFlags:{},peer:i.to_id});let{dialog:o,dom:r}=a.default.addDialog(s,n.list,!1);a.default.setLastMessage(o,i,r,e)}),this.minMsgID=s[s.length-1],this.offsetRate=o,this.loadedCount+=s.length,this.foundCount||(this.foundCount=i)}).catch(e=>{console.error("search error",e),this.searchPromise=null})}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(76)),o=s(i(20));class n{constructor(){this.container=document.getElementById("popup-avatar"),this.input=this.container.querySelector("input"),this.cropContainer=this.container.querySelector(".crop"),this.closeBtn=this.container.querySelector(".popup-close"),this.image=new Image,this.cropper={crop:()=>{},removeHandlers:()=>{}},this.container.style.display="",this.cropContainer.append(this.image),this.input.addEventListener("change",e=>{var t=e.target.files[0];if(t){var i=new FileReader;i.onload=e=>{var t=e.target.result;this.image=new Image,this.cropContainer.append(this.image),this.image.src=t,this.image.onload=()=>{this.container.classList.remove("hide"),this.container.offsetWidth,this.container.classList.add("active"),this.cropper=a.default(this.image,this.canvas),this.input.value=""}},i.readAsDataURL(t)}},!1),this.container.querySelector(".btn-crop").addEventListener("click",()=>{this.cropper.crop(),this.closeBtn.click(),this.canvas.toBlob(e=>{this.blob=e,this.darkenCanvas(),this.resolve()},"image/jpeg",1)}),this.closeBtn.addEventListener("click",()=>{setTimeout(()=>{this.cropper.removeHandlers(),this.image&&this.image.remove(),this.container.classList.add("hide")},200)})}resolve(){this.onCrop(()=>o.default.uploadFile(this.blob))}open(e,t){this.canvas=e,this.onCrop=t,this.input.click()}darkenCanvas(){let e=this.canvas.getContext("2d");e.fillStyle="rgba(0, 0, 0, 0.3)",e.fillRect(0,0,this.canvas.width,this.canvas.height)}}t.PopupAvatar=n,t.default=new n},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RectPart={None:0,Top:1,Right:2,Bottom:4,Left:8};let s=(e,t)=>e.reduce((e,t)=>e+t,t);function a(e,t,i){return e<t?t:e>i?i:e}class o{constructor(e,t,i,a,n=t){this.sizes=e,this.maxWidth=t,this.minWidth=i,this.spacing=a,this.maxHeight=n,this.count=e.length,this.ratios=o.countRatios(e),this.proportions=o.countProportions(this.ratios),this.averageRatio=s(this.ratios,1)/this.count,this.maxSizeRatio=t/this.maxHeight}layout(){return this.count?this.count>=5||this.ratios.find(e=>e>2)?new n(this.ratios,this.averageRatio,this.maxWidth,this.minWidth,this.spacing).layout():2==this.count?this.layoutTwo():3==this.count?this.layoutThree():this.layoutFour():[]}layoutTwo(){return"ww"==this.proportions&&this.averageRatio>1.4*this.maxSizeRatio&&this.ratios[1]-this.ratios[0]<.2?this.layoutTwoTopBottom():"ww"==this.proportions||"qq"==this.proportions?this.layoutTwoLeftRightEqual():this.layoutTwoLeftRight()}layoutThree(){return console.log("layoutThree:",this),"n"==this.proportions[0]?this.layoutThreeLeftAndOther():this.layoutThreeTopAndOther()}layoutFour(){return"w"==this.proportions[0]?this.layoutFourTopAndOther():this.layoutFourLeftAndOther()}layoutTwoTopBottom(){const e=this.maxWidth,i=Math.round(Math.min(e/this.ratios[0],Math.min(e/this.ratios[1],(this.maxHeight-this.spacing)/2)));return[{geometry:{x:0,y:0,width:e,height:i},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:i+this.spacing,width:e,height:i},sides:t.RectPart.Left|t.RectPart.Bottom|t.RectPart.Right}]}layoutTwoLeftRightEqual(){const e=(this.maxWidth-this.spacing)/2,i=Math.round(Math.min(e/this.ratios[0],Math.min(e/this.ratios[1],1*this.maxHeight)));return[{geometry:{x:0,y:0,width:e,height:i},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:e+this.spacing,y:0,width:e,height:i},sides:t.RectPart.Top|t.RectPart.Right|t.RectPart.Bottom}]}layoutTwoLeftRight(){const e=Math.round(1.5*this.minWidth),i=Math.min(Math.round(Math.max(.4*(this.maxWidth-this.spacing),(this.maxWidth-this.spacing)/this.ratios[0]/(1/this.ratios[0]+1/this.ratios[1]))),this.maxWidth-this.spacing-e),s=this.maxWidth-i-this.spacing,a=Math.min(this.maxHeight,Math.round(Math.min(s/this.ratios[0],i/this.ratios[1])));return[{geometry:{x:0,y:0,width:s,height:a},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:s+this.spacing,y:0,width:i,height:a},sides:t.RectPart.Top|t.RectPart.Right|t.RectPart.Bottom}]}layoutThreeLeftAndOther(){const e=this.maxHeight,i=Math.round(Math.min((this.maxHeight-this.spacing)/2,this.ratios[1]*(this.maxWidth-this.spacing)/(this.ratios[2]+this.ratios[1]))),s=e-i-this.spacing,a=Math.max(this.minWidth,Math.round(Math.min((this.maxWidth-this.spacing)/2,Math.min(i*this.ratios[2],s*this.ratios[1])))),o=Math.min(Math.round(e*this.ratios[0]),this.maxWidth-this.spacing-a);return[{geometry:{x:0,y:0,width:o,height:e},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:o+this.spacing,y:0,width:a,height:s},sides:t.RectPart.Top|t.RectPart.Right},{geometry:{x:o+this.spacing,y:s+this.spacing,width:a,height:i},sides:t.RectPart.Bottom|t.RectPart.Right}]}layoutThreeTopAndOther(){const e=this.maxWidth,i=Math.round(Math.min(e/this.ratios[0],.66*(this.maxHeight-this.spacing))),s=(this.maxWidth-this.spacing)/2,a=Math.min(this.maxHeight-i-this.spacing,Math.round(Math.min(s/this.ratios[1],s/this.ratios[2]))),o=e-s-this.spacing;return[{geometry:{x:0,y:0,width:e,height:i},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:i+this.spacing,width:s,height:a},sides:t.RectPart.Bottom|t.RectPart.Left},{geometry:{x:s+this.spacing,y:i+this.spacing,width:o,height:a},sides:t.RectPart.Bottom|t.RectPart.Right}]}layoutFourTopAndOther(){const e=this.maxWidth,i=Math.round(Math.min(e/this.ratios[0],.66*(this.maxHeight-this.spacing))),s=Math.round((this.maxWidth-2*this.spacing)/(this.ratios[1]+this.ratios[2]+this.ratios[3])),a=Math.max(this.minWidth,Math.round(Math.min(.4*(this.maxWidth-2*this.spacing),s*this.ratios[1]))),o=Math.round(Math.max(Math.max(1*this.minWidth,.33*(this.maxWidth-2*this.spacing)),s*this.ratios[3])),n=e-a-o-2*this.spacing,r=Math.min(this.maxHeight-i-this.spacing,s);return[{geometry:{x:0,y:0,width:e,height:i},sides:t.RectPart.Left|t.RectPart.Top|t.RectPart.Right},{geometry:{x:0,y:i+this.spacing,width:a,height:r},sides:t.RectPart.Bottom|t.RectPart.Left},{geometry:{x:a+this.spacing,y:i+this.spacing,width:n,height:r},sides:t.RectPart.Bottom},{geometry:{x:a+this.spacing+n+this.spacing,y:i+this.spacing,width:o,height:r},sides:t.RectPart.Right|t.RectPart.Bottom}]}layoutFourLeftAndOther(){const e=this.maxHeight,i=Math.round(Math.min(e*this.ratios[0],.6*(this.maxWidth-this.spacing))),s=Math.round((this.maxHeight-2*this.spacing)/(1/this.ratios[1]+1/this.ratios[2]+1/this.ratios[3])),a=Math.round(s/this.ratios[1]),o=Math.round(s/this.ratios[2]),n=e-a-o-2*this.spacing,r=Math.max(this.minWidth,Math.min(this.maxWidth-i-this.spacing,s));return[{geometry:{x:0,y:0,width:i,height:e},sides:t.RectPart.Top|t.RectPart.Left|t.RectPart.Bottom},{geometry:{x:i+this.spacing,y:0,width:r,height:a},sides:t.RectPart.Top|t.RectPart.Right},{geometry:{x:i+this.spacing,y:a+this.spacing,width:r,height:o},sides:t.RectPart.Right},{geometry:{x:i+this.spacing,y:a+o+2*this.spacing,width:r,height:n},sides:t.RectPart.Bottom|t.RectPart.Right}]}static countRatios(e){return e.map(e=>e.w/e.h)}static countProportions(e){return e.map(e=>e>1.2?"w":e<.8?"n":"q").join("")}}t.Layouter=o;class n{constructor(e,t,i,s,a,o=4*i/3){this.averageRatio=t,this.maxWidth=i,this.minWidth=s,this.spacing=a,this.maxHeight=o,this.ratios=n.cropRatios(e,t),this.count=e.length}static cropRatios(e,t){return e.map(e=>t>1.1?a(e,1,2.75):a(e,.6667,1))}layout(){let e=new Array(this.count),i=[];const a=(e,t)=>{const i=this.ratios.slice(e,e+t),a=s(i,0);return(this.maxWidth-(t-1)*this.spacing)/a},o=e=>{let t=[],s=0;for(let i of e)t.push(a(s,i)),s+=i;i.push({lineCounts:e,heights:t})};for(let e=1;e!=this.count;++e){const t=this.count-e;e>3||t>3||o([e,t])}for(let e=1;e!=this.count-1;++e)for(let t=1;t!=this.count-e;++t){const i=this.count-e-t;e>3||t>(this.averageRatio<.85?4:3)||i>3||o([e,t,i])}for(let e=1;e!=this.count-1;++e)for(let t=1;t!=this.count-e;++t)for(let i=1;i!=this.count-e-t;++i){const s=this.count-e-t-i;e>3||t>3||i>3||s>3||o([e,t,i,s])}let n=null,r=0;for(const e of i){const{heights:t,lineCounts:i}=e,a=i.length,o=s(t,0)+this.spacing*(a-1),l=Math.min(...t),d=(Math.max(...t),l<this.minWidth?1.5:1),c=(()=>{for(let e=1;e!=a;++e)if(i[e-1]>i[e])return 1.5;return 1})(),u=Math.abs(o-this.maxHeight)*d*c;(!n||u<r)&&(n=e,r=u)}const l=n.lineCounts,d=n.heights,c=l.length;let u=0,h=0;for(let i=0;i!=c;++i){const s=l[i],a=d[i],o=Math.round(a);let n=0;for(let r=0;r!=s;++r){const l=t.RectPart.None|(0==i?t.RectPart.Top:t.RectPart.None)|(i==c-1?t.RectPart.Bottom:t.RectPart.None)|(0==r?t.RectPart.Left:t.RectPart.None)|(r==s-1?t.RectPart.Right:t.RectPart.None),d=this.ratios[u],p=r==s-1?this.maxWidth-n:Math.round(d*a);e[u]={geometry:{x:n,y:h,width:p,height:o},sides:l},n+=p+this.spacing,++u}h+=o+this.spacing}return e}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(22)),o=i(2),n=s(i(14)),r=s(i(1));const l=new(s(i(18)).default)("page-password",!0,()=>{let e,t=0,i=!1;const s=l.pageEl.querySelector("button"),d=document.getElementById("password"),c=l.pageEl.querySelector(".toggle-visible");let u=e=>{s.removeAttribute("disabled"),e.type,s.innerText=e.type};return c.addEventListener("click",(function(s){i?(this.classList.remove("tgico-eye2"),d.setAttribute("type","password"),e.setDirection(1),t=49,e.play()):(this.classList.add("tgico-eye2"),d.setAttribute("type","text"),e.setDirection(-1),t=0,e.play()),i=!i})),s.addEventListener("click",(function(t){if(!d.value.length)return void d.classList.add("error");this.setAttribute("disabled","true");let i=d.value;this.textContent="PLEASE WAIT...",o.putPreloader(this),r.default.checkPassword(i).then(t=>{switch(console.log("passwordManager response:",t),t._){case"auth.authorization":r.default.setUserAuth({id:t.user.id}),a.default.mount(),e&&e.destroy();break;default:s.removeAttribute("disabled"),s.innerText=t._}}).catch(u)})),d.addEventListener("keypress",(function(e){if(this.classList.remove("error"),"Enter"==e.key)return s.click()})),Promise.all([n.default.loadLottieWorkers(),fetch("assets/img/TwoFactorSetupMonkeyClose.tgs").then(e=>e.arrayBuffer()).then(e=>r.default.gzipUncompress(e,!0)).then(e=>n.default.loadAnimationWorker({container:l.pageEl.querySelector(".auth-image"),loop:!1,autoplay:!1,animationData:JSON.parse(e),width:166,height:166})).then(i=>{e=i,e.addListener("enterFrame",i=>{(1==e.direction&&i>=t||-1==e.direction&&i<=t)&&(e.setSpeed(1),e.pause())}),t=49,e.play()})])});t.default=l},,function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0}),i(55),i(57),i(62),document.addEventListener("DOMContentLoaded",()=>s(void 0,void 0,void 0,(function*(){let e=(yield Promise.resolve().then(()=>a(i(12)))).default,t=yield e.get("user_auth");console.log("got auth:",t),-1!=navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i)&&document.body.classList.add("is-mac","emoji-supported");let s=t.id||0;s?(yield Promise.resolve().then(()=>a(i(22)))).default.mount():(yield Promise.resolve().then(()=>a(i(35)))).default.mount();let o=yield Promise.resolve().then(()=>a(i(0)));o.$rootScope.myID=s;let n=o.findUpClassName;Array.from(document.body.getElementsByClassName("popup-close")).forEach(e=>{let t=n(e,"popup");e.addEventListener("click",()=>{t.classList.remove("active")})});let r=(yield Promise.resolve().then(()=>a(i(2)))).ripple;Array.from(document.getElementsByClassName("rp")).forEach(e=>r(e))})))},function(e,t,i){var s=i(33),a=i(56);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.i,a,""]]);var o={insert:"head",singleton:!1},n=(s(a,o),a.locals?a.locals:{});e.exports=n},function(e,t,i){(t=i(34)(!1)).push([e.i,'/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}ul:not(.browser-default){padding-left:0;list-style-type:none}ul:not(.browser-default)>li{list-style-type:none}a{text-decoration:none;-webkit-tap-highlight-color:transparent}.valign-wrapper{display:flex;align-items:center}.z-depth-0{box-shadow:none !important}.z-depth-1{box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2)}.z-depth-1-half{box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2)}.z-depth-2{box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3)}.z-depth-3{box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2)}.z-depth-4{box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2)}.z-depth-5{box-shadow:0 24px 38px 3px rgba(0,0,0,0.14),0 9px 46px 8px rgba(0,0,0,0.12),0 11px 15px -7px rgba(0,0,0,0.2)}.hide{display:none !important}.no-select{user-select:none}.center-align{text-align:center}a{text-decoration:none}html{line-height:1.5;font-weight:normal}h1,h2,h3,h4,h5,h6{line-height:1.3}em{font-style:italic}strong{font-weight:500}small{font-size:75%}\n',""]),e.exports=t},function(e,t,i){var s=i(33),a=i(58);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.i,a,""]]);var o={insert:"head",singleton:!1},n=(s(a,o),a.locals?a.locals:{});e.exports=n},function(e,t,i){var s=i(34),a=i(40),o=i(59),n=i(60),r=i(61);t=s(!1);var l=a(o),d=a(n),c=a(r);t.push([e.i,'.chats-container{position:relative}.chats-container .input-search{position:relative;width:100%;margin-left:22px;margin-right:4px}.chats-container .input-search input{background-color:rgba(112,117,121,0.08);border:2px solid transparent;height:44px;border-radius:22px;box-sizing:border-box;padding:0px 1.5rem 0 40px;-webkit-transition:all .15s ease-out;transition:all .15s ease-out;width:100%;font-size:16px}.chats-container .input-search input:focus{background-color:rgba(112,117,121,0);border:2px solid #4EA4F6}.chats-container .input-search input:focus+.tgico{color:#4EA4F6;opacity:1}.chats-container .input-search .tgico{position:absolute;left:12px;top:50%;transform:translateY(-50%);text-align:center;font-size:24px;color:#707579;opacity:.6;-webkit-transition:all .15s ease-out;transition:all .15s ease-out}.chats-container .input-search .tgico:before{vertical-align:middle}.chats-container ul{margin:0;display:flex;flex-direction:column;width:100%}.chats-container li{padding-bottom:4px;background-color:#fff}.chats-container li>.rp{height:72px;max-height:72px;border-radius:10px;display:flex;align-items:flex-start;flex-direction:row;position:relative;cursor:pointer;padding:9px 8.5px;margin:0px 8px 0px 7px;overflow:hidden}.chats-container li>.rp:hover{background:rgba(112,117,121,0.08)}.chats-container li.active>.rp,.chats-container li.menu-open>.rp{background:rgba(112,117,121,0.08)}.chats-container .pinned-delimiter{display:flex;padding:8px 0 4px}.chats-container .pinned-delimiter span{margin:0;width:100%;height:1px;background-color:#DADCE0}.chats-container p{margin:0;display:flex;justify-content:space-between;flex-direction:row;align-items:flex-start;height:27px}.chats-container p .user-title+span{font-size:.75rem;padding:1px 0px 0px 0px}.chats-container p .user-last-message+span:not(.tgico-pinnedchat){font-size:.9rem}.chats-container span{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;line-height:27px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.chats-container .dialog-avatar{flex:0 0 auto}.chats-container .user-caption{max-width:100%;max-height:100%;overflow:hidden;color:#707579;flex:1 1 auto;padding:1px 3.5px 1px 9px}.chats-container .user-caption p:last-child{margin-top:-3px}.chats-container .user-title{max-width:82%}.chats-container .user-title img.emoji{vertical-align:top;margin-top:4px;width:18px;height:18px}.chats-container .user-title span.emoji{overflow:visible;margin:0;width:auto;font-size:14px;margin-top:-1.5px}.chats-container .user-title.is-verified:after{content:" ";background:url(/assets/img/icon-verified.svg);display:inline-block;width:20px;height:20px;vertical-align:text-bottom;margin-left:2px}.chats-container .user-last-message{max-width:86%}.chats-container .user-last-message img.emoji{width:20px;height:20px;margin-top:-3px}.chats-container .user-last-message span.emoji{font-size:1.2rem;margin:0 .125rem;overflow:visible;margin-top:-1.5px}.chats-container .user-title i,.chats-container .user-last-message i{font-style:normal;color:#50a2e9}.chats-container .message-status{margin-right:.1rem;margin-top:-.3rem}.chats-container .message-status[class*=" tgico-"]{color:#4DCD5E;font-size:1.25rem}.chats-container .message-status:before{vertical-align:middle}.chats-container .unread,.chats-container .unread-muted,.chats-container .tgico-pinnedchat{height:24px;text-align:center;line-height:24px;color:#fff;border-radius:12px;margin-top:4px;margin-right:-2px}.chats-container .unread,.chats-container .unread-muted{min-width:24px;padding:0 8px;font-weight:500}.chats-container .tgico-pinnedchat{width:24px;font-size:1.5rem}.chats-container .unread:empty,.chats-container .unread-muted:empty{visibility:hidden}.chats-container .unread{background:#4DCD5E}.chats-container .unread-muted,.chats-container .tgico-pinnedchat{background:#c5c9cc}.chats-container .search-group{width:100%;border-bottom:1px solid #DADCE0;padding:1rem 0 .5rem;margin-bottom:.5rem}.chats-container .search-group__name{color:#707579;padding:0 23px;padding-bottom:1rem;font-weight:500}.chats-container .search-group-contacts{padding:16px 0 7px}.chats-container .search-group-contacts .search-group__name{padding-bottom:17px}.chats-container .search-group:last-child{border-bottom:none}.contacts-container .dialog-avatar,.search-group-contacts .dialog-avatar{width:48px;height:48px}.contacts-container li,.search-group-contacts li{padding-bottom:4px;padding-top:2px}.contacts-container li>.rp,.search-group-contacts li>.rp{padding:9px 11.5px !important;height:66px}.contacts-container .user-caption,.search-group-contacts .user-caption{padding:1px 3.5px 1px 13px}.contacts-container .user-title,.contacts-container b,.contacts-container .user-last-message b,.search-group-contacts .user-title,.search-group-contacts b,.search-group-contacts .user-last-message b{font-weight:normal}.contacts-container p,.search-group-contacts p{height:24px}.contacts-container span.user-last-message,.search-group-contacts span.user-last-message{font-size:14px}#contacts-container .sidebar-header{margin-bottom:1px}#contacts-container .input-search{margin-left:16px}#bubble-contextmenu>div{padding:0 84px 0 16px}#topbar{width:100%;background-color:#fff;box-sizing:border-box;user-select:none;-webkit-user-select:none;display:flex;align-items:center;box-shadow:0 1px 2px 0 rgba(16,35,47,0.07);padding:.5rem 15px;flex:0 0 auto;min-height:61px;max-height:61px;border-bottom:1px solid #DADCE0}#topbar .chat-more-button{margin-left:8px}#topbar .chat-more-button .btn-menu{top:calc(100% + 7px)}#topbar .chat-info{flex-grow:1}#topbar .content{flex:1;padding-left:17px;line-height:1.6}#topbar .person{display:flex;align-items:center;cursor:pointer;margin-left:4px}#topbar .person:hover{background-color:transparent}#topbar .person .bottom{font-size:14px;line-height:18px;color:#707579}#topbar .person .bottom .online{color:#50a2e9}#topbar #im-avatar{width:44px;height:44px;line-height:44px}#chat-input{display:flex;align-items:center;width:100%;max-width:696px;padding-top:.35rem;padding-bottom:21px;justify-content:space-between;flex:0 0 auto;position:relative}#chat-input #input-message{background:none;border:none;width:100%;font-size:16px;padding:10px 9px;max-height:30rem;overflow-y:none;resize:none;border:none;outline:none;cursor:text}#chat-input [contenteditable=true]:empty:before{content:attr(data-placeholder);color:#a2acb4;display:block}#chat-input .btn-circle{flex:0 0 auto;font-size:1.5rem;line-height:1.5rem;color:#9e9e9e;background-color:#fff;align-self:flex-end}#chat-input .btn-circle.tgico-send{color:#50a2e9}#chat-input .os-scrollbar-handle{background:rgba(0,0,0,0.2)}#im-title{cursor:pointer}#im-title span.emoji{vertical-align:inherit}.chat-container{display:flex;width:100%;align-items:center;height:100vh;overflow:hidden;flex-direction:column;position:relative;background-image:url('+l+");background-size:cover;background-position:center center}.chat-container #chat-background-canvas{display:none}.chat-container .input-message{display:flex;align-items:center;flex-direction:column;width:calc(100% - 3.75rem);justify-content:center;background-color:#fff;border-radius:12px;border-bottom-right-radius:0;box-shadow:0 1px 2px 0 rgba(16,35,47,0.07);margin-right:9px;padding:4.5px .5rem;min-height:54px;max-height:30rem;caret-color:#4EA4F6;flex:1;position:relative}.chat-container .input-message:after{position:absolute;bottom:-1px;width:11px;height:20px;background-repeat:no-repeat repeat;content:'';background-size:11px 20px;right:-9px;background-image:url("+d+');transform:scaleX(-1)}.chat-container .input-message #attach-file.menu-open{color:#50a2e9;background-color:transparent}.chat-container .input-message #attach-file .btn-menu{padding:8px 0;right:-8px;bottom:calc(100% + 16px)}.chat-container .input-message #attach-file .btn-menu>div{padding:0 38px 0 16px}.chat-container .input-message>div{display:flex;justify-content:space-between;align-items:center;width:100%}.chat-container .input-message .reply-wrapper{justify-content:flex-start;overflow:hidden;transition:.2s all;height:0px}.chat-container .input-message .reply-wrapper.active{height:39px}.chat-container .input-message .reply-wrapper .reply{width:100%;margin-left:.5rem;min-height:35px}.chat-container .input-message .new-message-wrapper{align-items:flex-end}.chat-container .input-message .new-message-wrapper .btn-icon:before{vertical-align:bottom}.chat-container .input-message .input-message-container{width:1%;max-height:inherit;flex:1 1 auto;position:relative;overflow:hidden}.chat-container .input-message .input-message-container>.scrollable{position:relative}.chat-container .input-message .btn-icon{display:block;transition:.2s color;flex:0 0 auto;font-size:24px;line-height:24px;padding:10px 7px 9px 7.5px;color:#8d969c}.chat-container .input-message .btn-icon.active{color:#50a2e9}.chat-container .input-message .emoji{font-size:24px;height:24px;width:24px}.chat-container .pinned-message,.chat-container .reply{cursor:pointer;display:flex;flex-direction:row;align-items:center;overflow:hidden;box-sizing:border-box;width:187px;margin-right:1rem;max-height:35px;position:relative}.chat-container .pinned-message.is-reply-media .pinned-message-content,.chat-container .pinned-message.is-reply-media .reply-content,.chat-container .reply.is-reply-media .pinned-message-content,.chat-container .reply.is-reply-media .reply-content{padding-left:40px}.chat-container .pinned-message:hover,.chat-container .reply:hover{background-color:rgba(112,117,121,0.08)}.chat-container .pinned-message-border,.chat-container .reply-border{height:32px;border-radius:1px;min-width:2px;background:#50a2e9}.chat-container .pinned-message-content,.chat-container .reply-content{margin-left:8px;flex-grow:1;flex-shrink:1;overflow:hidden;pointer-events:none;position:relative;height:32px;display:flex;flex-direction:column;justify-content:space-between}.chat-container .pinned-message-title,.chat-container .reply-title{color:#50a2e9}.chat-container .pinned-message-title,.chat-container .pinned-message-subtitle,.chat-container .reply-title,.chat-container .reply-subtitle{font-size:14px;line-height:15px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-container .pinned-message-subtitle,.chat-container .reply-subtitle{white-space:nowrap;color:#111}.chat-container .pinned-message-media,.chat-container .reply-media{height:32px;width:32px;border-radius:8px;overflow:hidden;position:absolute;left:0;top:0;background-repeat:no-repeat;background-size:cover;background-position:center center}.chat-container .pinned-message i,.chat-container .reply i{font-style:normal;color:#50a2e9}.chat-container .pinned-message img.emoji,.chat-container .reply img.emoji{height:16px;width:16px;vertical-align:top}.chat-container .pinned-message span.emoji,.chat-container .reply span.emoji{font-size:16px;vertical-align:unset}#bubbles{width:100%;height:100%;max-height:100%;flex:1 1 auto;overflow:hidden;position:relative;padding:0 .5rem}#bubbles>.scrollable{height:auto;display:block}#bubbles:not(.scrolled-down){-webkit-mask-image:-webkit-linear-gradient(bottom, transparent, #000 20px);mask-image:linear-gradient(0deg, transparent 0, #000 20px)}#bubbles:not(.scrolled-down) #bubbles-go-down{opacity:1}#bubbles .preloader{width:100%;height:100%}#bubbles .preloader svg{width:50px;height:50px}#bubbles .preloader-container .preloader-circular{background-color:rgba(0,0,0,0.35)}#bubbles-inner{width:100%;display:flex;flex-direction:column;flex-shrink:1;margin:0 auto;box-sizing:border-box;min-height:100%;justify-content:flex-end}#bubbles-inner.is-chat .is-in .bubble__container{margin-left:3rem}#bubbles-inner.is-channel:not(.is-chat) .bubble__container{max-width:100%}#bubbles-inner.is-channel:not(.is-chat):not(.has-rights){padding-bottom:55px}#bubbles-inner:not(.is-channel) .message,#bubbles-inner.is-chat .message{max-width:480px}#bubbles-inner.is-scrolling .is-sticky{opacity:1}#bubbles-go-down{position:absolute;background-color:#fff;border-radius:50%;width:3.25rem;height:3.25rem;color:#9e9e9e;font-size:30px;display:flex;align-items:center;justify-content:center;right:17.5px;bottom:17.5px;cursor:pointer;opacity:0;transition:.2s opacity;user-select:none;-webkit-user-select:none}#bubbles-go-down:before{margin-left:.75px}.popup.popup-delete-message .popup-header{margin-bottom:1rem}.popup .popup-buttons{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end}.popup .popup-buttons button{background:none;outline:none;border:none;padding:.5rem;text-transform:uppercase;transition:.2s;border-radius:8px;cursor:pointer;color:#50a2e9}.popup .popup-buttons button:hover{background-color:rgba(112,117,121,0.08)}.popup .popup-buttons button+button{margin-top:.5rem}@keyframes bubbleSelected{0%{opacity:0}25%{opacity:1}to{opacity:0}}.bubbles-date-group{position:relative}.bubbles-date-group .sticky_sentinel--top{height:5px;top:0}.bubble{padding-top:5px;max-width:696px;margin:0 auto;position:relative}.bubble.is-selected:after{position:absolute;left:-50%;top:0;height:100%;content:" ";background-color:rgba(0,132,255,0.3);animation:bubbleSelected 2s linear;z-index:1}.bubble.is-selected:not(.is-group-last):after{height:calc(100% + 5px)}.bubble.is-first-unread:before{content:"Unread messages";height:30px;margin-bottom:5px;margin-left:-50%;text-align:center;color:#538BCC;line-height:2.1;font-weight:500;font-size:15px;background-color:rgba(255,255,255,0.95)}.bubble.is-selected:after,.bubble.is-first-unread:before{width:200%;display:block}.bubble.is-date{position:-webkit-sticky;position:sticky;top:5px;z-index:3;pointer-events:none}.bubble.is-date.is-sticky{-webkit-transition:opacity .3s ease;transition:opacity .3s ease;opacity:0}.bubble__container{min-width:56px;max-width:85%;border-radius:12px;box-shadow:0 1px 2px 0 rgba(16,35,47,0.15);position:relative;display:flex;flex-direction:column-reverse;width:max-content;height:fit-content;z-index:2}.bubble__container>.user-avatar{position:absolute;left:-3rem;width:40px;height:40px;line-height:40px;bottom:0;font-size:1rem;cursor:pointer}.bubble.service{padding:5px 0}.bubble.service .bubble__container{margin:0 auto;max-width:100%}.bubble .goto-original{opacity:0;position:absolute;right:-46px;bottom:0;width:38px;height:38px;font-size:1.5rem;align-items:center;display:flex;justify-content:center;color:#fff;border-radius:50%;background:rgba(0,0,0,0.16);cursor:pointer;transition:.2s opacity}.bubble.is-group-last{padding-bottom:5px}.bubble:not(.forwarded):not(.is-group-first) .bubble__container>.name{display:none}.bubble:not(.forwarded):not(.is-group-first):not(.is-message-empty):not(.is-reply) .message{padding-top:6px}.bubble:not(.is-group-last) .bubble__container>.user-avatar{display:none}.bubble:not(.hide-name) .audio{margin:4px 0}.bubble .goto-original{opacity:1}.bubble .reply{width:auto}.bubble .reply .reply-content{height:auto;min-height:32px}.bubble.photo .bubble__container,.bubble.video .bubble__container{width:min-content}.bubble.photo .box.web,.bubble.video .box.web{max-width:100%}.bubble.webpage .time{float:none;width:0}.bubble img.emoji{height:18px;width:18px;margin:0 .05rem;vertical-align:bottom}.bubble span.emoji{height:auto;width:auto;overflow:visible;vertical-align:unset}.bubble.emoji-big{font-size:0}.bubble.emoji-big .bubble__container{background:none !important;box-shadow:none;line-height:1;user-select:none;-webkit-user-select:none}.bubble.emoji-big:not(.sticker) .attachment{padding-top:.5rem;padding-bottom:1.5rem;max-width:fit-content !important;max-height:fit-content !important}.bubble.emoji-big:not(.sticker) .attachment span.emoji{height:auto;width:auto}.bubble.emoji-big.sticker .bubble__container{max-width:140px !important;max-height:140px !important}.bubble.emoji-1x .attachment{font-size:96px}.bubble.emoji-1x .attachment img.emoji{height:64px;width:64px}.bubble.emoji-2x .attachment{font-size:64px}.bubble.emoji-2x .attachment img.emoji{height:48px;width:48px}.bubble.emoji-3x .attachment{font-size:52px}.bubble.emoji-3x .attachment img.emoji{height:32px;width:32px}.bubble.sticker .bubble__container,.bubble.round .bubble__container,.bubble.emoji-big .bubble__container{cursor:pointer;background:none !important;box-shadow:none}.bubble.sticker img,.bubble.round img,.bubble.emoji-big img{object-fit:contain}.bubble.sticker.is-message-empty .message,.bubble.round.is-message-empty .message,.bubble.emoji-big.is-message-empty .message{background-color:rgba(0,0,0,0.23)}.bubble.sticker .attachment{border-radius:0}.bubble.sticker .bubble__container{max-width:200px !important;max-height:200px !important}.bubble.round .attachment{max-width:200px !important;max-height:200px !important}.bubble.round .attachment img{border-radius:50%}.bubble:not(.is-message-empty) .attachment{border-bottom-left-radius:0;border-bottom-right-radius:0}.bubble:not(.emoji-big) .attachment{font-size:0}.bubble .attachment{max-width:100%;border-radius:inherit;overflow:hidden;display:flex;justify-content:center;position:relative}.bubble .attachment img,.bubble .attachment video{max-width:100%;cursor:pointer;opacity:1;transition:opacity .3s ease}.bubble .attachment .download{position:absolute;left:0;top:0;height:100%;width:100%;cursor:pointer;display:flex;justify-content:center;align-items:center}.bubble .attachment .download span{background-color:rgba(0,0,0,0.35);font-size:23px;color:#fff;text-align:center}.bubble .attachment .download ~ .video-play,.bubble .attachment .preloader-container ~ .video-play{display:none}.bubble:not(.sticker) .attachment{max-width:480px;max-height:480px;width:max-content}.bubble img:not(.emoji),.bubble video{object-fit:cover;width:100%;height:100%}.bubble.is-album .attachment{max-width:451px;max-height:none}.bubble.is-album .attachment .album-item{background-color:#000;background-size:cover;max-width:100%;cursor:pointer;position:absolute}.bubble.is-album .attachment .album-item img,.bubble.is-album .attachment .album-item video{border-radius:inherit}.bubble.round.video .attachment{max-height:200px;max-width:200px}.bubble .box,.bubble .reply{font-size:.95rem;margin:4px 4px 4px 6px;padding:4px;margin-bottom:-5px;border-radius:4px}.bubble .box.web,.bubble .reply.web{margin-top:-6px;max-width:100%;overflow:hidden}.bubble .box.web .preview,.bubble .reply.web .preview{max-height:400px;max-width:480px;border-radius:4px;margin-bottom:3px;overflow:hidden;user-select:none;-webkit-user-select:none;cursor:pointer;position:relative;width:max-content}.bubble .box.web .preview img,.bubble .box.web .preview video,.bubble .reply.web .preview img,.bubble .reply.web .preview video{max-width:100%}.bubble .box.web .title,.bubble .reply.web .title{letter-spacing:-0.2px;line-height:1.2;font-weight:500 !important}.bubble .box.web .name,.bubble .reply.web .name{letter-spacing:-0.3px;display:block}.bubble .box.web .name:hover,.bubble .reply.web .name:hover{text-decoration:underline}.bubble .box.web .text,.bubble .reply.web .text{overflow:hidden;text-overflow:ellipsis;line-height:1.2;letter-spacing:-0.3px;margin-top:2px;font-size:0.965rem}.bubble .box .quote,.bubble .reply .quote{padding-left:0.55rem;max-width:100%;overflow:hidden;width:100%}.bubble .box .text,.bubble .reply .text{line-height:1.2}.bubble .box .name,.bubble .box .reply-title,.bubble .reply .name,.bubble .reply .reply-title{font-weight:500 !important;display:inline !important}.bubble.is-square-photo .bubble__container{width:fit-content}.bubble.is-square-photo .box.web .quote{display:flex}.bubble.is-square-photo .box.web .preview{-webkit-box-ordinal-group:3;order:2;flex-shrink:0;max-width:5rem;max-height:5rem}.bubble.is-square-photo .box.web .quote-text{-webkit-box-ordinal-group:2;order:1;padding-right:1rem}.bubble.is-vertical-photo .bubble__container{width:fit-content}.bubble .reply{max-width:300px;margin-bottom:6px;margin-top:0;cursor:pointer}.bubble.is-reply.emoji-big .reply,.bubble.is-reply.sticker .reply{padding:10px;border-radius:12px;border:1px solid #ccc;max-width:300px;height:54px;max-height:54px;white-space:nowrap;position:absolute;top:0;margin-bottom:0}.bubble.is-reply.emoji-big .reply .reply-content,.bubble.is-reply.sticker .reply .reply-content{margin-top:0}.bubble.is-reply .reply-content{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bubble .message{font-size:16px;padding:0 .6rem 6px .6rem;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:#000;line-height:21px;word-break:break-word}.bubble .message:last-child{padding-top:6px}.bubble .message .emoji{font-size:1.2rem}.bubble .message pre,.bubble .message code{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.bubble .message.audio-message{min-width:275px;max-width:275px !important;padding-top:8px !important;padding-left:8px !important}.bubble .message.audio-message .audio{justify-content:unset;max-width:none}.bubble .message.audio-message .audio-time{padding-bottom:7px}.bubble .message.audio-message .audio-time,.bubble .message.audio-message .audio-subtitle{color:#4fae4e;line-height:1.45;margin-top:0}.bubble .message.audio-message .audio-title{font-weight:500;margin-left:-1px}.bubble .message.audio-message .audio-details{margin-top:8px}.bubble .message.audio-message .audio-ico{font-size:2.15rem}.bubble .message.audio-message .media-progress{width:191px;margin:9px 0 9px}.bubble .message.audio-message .media-progress__filled{background-color:#47aa41;transform-origin:left;height:2px}.bubble .message.audio-message .media-progress__seek{height:2px;overflow:visible !important;background:rgba(124,195,107,0.52)}.bubble .message.audio-message .media-progress__seek::-webkit-slider-thumb{height:12px;width:12px;background:#47aa41}.bubble .message.audio-message .tgico-largeplay:before{content:"\\e929";margin-right:-2px}.bubble .message.audio-message .time{width:unset}.bubble .message.contact-message{min-width:200px;padding-left:8px}.bubble .message.contact-message .contact{display:flex;padding:2px 0;cursor:pointer}.bubble .message.contact-message .contact-avatar{color:#fff}.bubble .message.contact-message .contact-details{padding-left:12px;margin-top:8px}.bubble .message.contact-message .contact-name{font-size:1rem;font-weight:500}.bubble .message.contact-message .contact-number{font-size:14px;line-height:1.4}.bubble .message.contact-message .time{width:unset}.bubble .message.document-message{max-width:325px !important}.bubble .message.document-message .time{width:unset}.bubble .message.document-message .document{padding-left:66px;height:58px}.bubble .message.document-message .document-name{line-height:1.4;margin-top:1px;overflow:hidden;text-overflow:ellipsis}.bubble.is-message-empty .message{position:absolute;bottom:.1rem;right:.2rem;border-radius:12px;background-color:rgba(0,0,0,0.35);padding:0 .2rem;z-index:2}.bubble.is-message-empty .message .time{color:#fff;padding:0;display:flex;align-items:center;width:auto}.bubble.is-message-empty .message .time .inner{margin-bottom:0;position:relative;padding:0 2.5px;bottom:0}.bubble .time{font-size:.8rem;user-select:none;float:right;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:20px;line-height:20px}.bubble .time .inner{position:absolute;bottom:0;right:0;font-size:12px;display:flex;align-items:center;line-height:1}.bubble .time .inner i{font-size:1.15rem;margin-right:.4rem;margin-left:.1rem}.bubble .time .inner i.edited{overflow:visible;font-size:.8rem}.bubble span.video-time{position:absolute;top:3px;left:3px;border-radius:12px;background-color:rgba(0,0,0,0.35);padding:0px 6px 0px 6px;z-index:2;font-size:12px;color:white;display:flex;align-items:center;cursor:pointer;user-select:none;-webkit-user-select:none}.bubble span.video-play{background-color:rgba(0,0,0,0.35);color:#fff;text-align:center;font-size:34px;line-height:60px;cursor:pointer}.bubble.is-edited.channel-post .time{min-width:calc(5rem + 46px)}.bubble.channel-post .time{width:5rem}.bubble.is-edited .time{width:78px !important}.bubble.is-edited.emoji-big .time,.bubble.is-edited.sticker .time{width:81px !important}.bubble:not(.forwarded).hide-name .name,.bubble.emoji-big .name{display:none}.bubble .name{cursor:pointer}.bubble__container>.name{padding:5px .6rem 0 .6rem;font-weight:500 !important;color:#50a2e9;font-size:.9rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.bubble:not(.webpage).photo .name,.bubble:not(.webpage).video .name{padding-bottom:6px}.bubble:not(.webpage).photo:not(.is-message-empty) .message,.bubble:not(.webpage).video:not(.is-message-empty) .message{padding-top:6px}.bubble:not(.webpage):not(.is-album):not(.sticker):not(.round):not(.emoji-big) .attachment,.bubble .album-item{background-color:#000}.bubble.hide-name:not(.is-reply):not(.is-message-empty) .message{padding-top:6px}.bubble:not(.sticker):not(.emoji-big).hide-name .reply,.bubble:not(.sticker):not(.emoji-big):not(.is-group-first) .reply,.bubble:not(.sticker):not(.emoji-big).is-out .reply{margin-top:6px}.bubble:not(.sticker):not(.emoji-big):not(.round).is-group-last .bubble__container:after{position:absolute;bottom:0;width:11px;height:20px;background-repeat:no-repeat no-repeat;content:\'\';background-size:11px 20px;background-position-y:1px}.bubble.photo.is-message-empty.is-group-last.is-group-last .bubble__container:after,.bubble.video:not(.round).is-message-empty.is-group-last.is-group-last .bubble__container:after{display:none}.bubble.photo.is-message-empty.is-group-last .attachment,.bubble.video:not(.round).is-message-empty.is-group-last .attachment{overflow:visible}.bubble__media-container{cursor:pointer}.bubble.service{align-self:center}.bubble.service .service-msg{color:#fff;background-color:rgba(0,0,0,0.24);font-size:14px;padding:0 8px;line-height:24px;border-radius:12px;user-select:none;display:flex;align-items:center;justify-content:center;text-align:center}.bubble.service .service-msg .name{cursor:pointer;margin-right:5px}.bubble.service .service-msg img.emoji{margin-bottom:3px}.bubble-audio .time{width:unset !important}.bubble.is-in .bubble__container{margin-right:auto;background-color:#ffffff;border-radius:6px 12px 12px 6px}.bubble.is-in.is-group-first .bubble__container{border-radius:12px 12px 12px 6px}.bubble.is-in.is-group-last .bubble__container{border-radius:6px 12px 12px 0px}.bubble.is-in.is-group-last .bubble__container:after{left:-8.4px;background-image:url('+d+")}.bubble.is-in.is-group-first.is-group-last .bubble__container{border-radius:12px 12px 12px 0px}.bubble.is-in.forwarded .attachment,.bubble.is-in.is-reply .attachment,.bubble.is-in:not(.hide-name).is-message-empty .attachment{border-top-left-radius:0;border-top-right-radius:0}.bubble.is-in a{color:#50a2e9}.bubble.is-in .quote:hover,.bubble.is-in .reply:hover{background-color:rgba(112,117,121,0.08)}.bubble.is-in.is-reply.emoji-big .reply,.bubble.is-in.is-reply.sticker .reply{left:calc(100% + 10px);background-color:#fff}.bubble.is-in .quote{border-left:2px #50a2e9 solid}.bubble.is-in .quote *{overflow:hidden;text-overflow:ellipsis}.bubble.is-in .quote .name,.bubble.is-in .reply-title{color:#50a2e9}.bubble.is-in .time{color:#a3adb6;width:36px}.bubble.is-in .time .inner{padding:0 7px 0 5px;margin-bottom:4px}.bubble.is-in.photo.is-message-empty.is-group-last .attachment,.bubble.is-in.video:not(.round).is-message-empty.is-group-last .attachment{border-bottom-left-radius:0}.bubble.is-in.photo.is-message-empty.is-group-last .attachment .bubble__media-container,.bubble.is-in.video:not(.round).is-message-empty.is-group-last .attachment .bubble__media-container{margin-left:-9px}.bubble.is-in .audio-subtitle,.bubble.is-in .contact-number,.bubble.is-in .audio-time{color:#707579 !important}.bubble.is-in .message.audio-message .media-progress__seek{background:rgba(193,207,220,0.39)}.bubble.is-in .message.audio-message .media-progress__filled{background-color:#0089ff}.bubble.is-in .message.audio-message .media-progress input::-webkit-slider-thumb{background:#63a2e3}.bubble.is-out .bubble__container{margin-left:auto;background-color:#eeffde;border-radius:12px 6px 6px 12px}.bubble.is-out .bubble__container>.user-avatar{left:auto;right:-2.5rem}.bubble.is-out.is-group-first .bubble__container{border-radius:12px 12px 6px 12px}.bubble.is-out.is-group-last .bubble__container{border-radius:12px 6px 0px 12px}.bubble.is-out.is-group-last .bubble__container:after{right:-8.4px;background-image:url("+c+')}.bubble.is-out.is-group-first.is-group-last .bubble__container{border-radius:12px 12px 0px 12px}.bubble.is-out.forwarded .attachment,.bubble.is-out.is-reply .attachment{border-top-left-radius:0;border-top-right-radius:0}.bubble.is-out .quote:hover,.bubble.is-out .reply:hover{background-color:rgba(77,205,94,0.12)}.bubble.is-out.is-reply.emoji-big .box,.bubble.is-out.is-reply.emoji-big .reply,.bubble.is-out.is-reply.sticker .box,.bubble.is-out.is-reply.sticker .reply{background-color:#eeffde;right:calc(100% + 10px);border-color:rgba(77,205,94,0.12)}.bubble.is-out .quote{border-left:2px #50af4f solid}.bubble.is-out .reply-border{background-color:#50af4f}.bubble.is-out .quote .name,.bubble.is-out .reply-title{color:#50af4f}.bubble.is-out .time{color:#50af4f;width:50px;display:inline-block}.bubble.is-out .time .inner{padding:0 4px 0 4px;bottom:1px}.bubble.is-out .time .tgico:after{font-size:19px;vertical-align:middle;margin-left:1px}.bubble.is-out.forwarded .name{color:#50af4f}.bubble.is-out.is-read .time .tgico:after{content:""}.bubble.is-out.is-sent .time .tgico:after{content:""}.bubble.is-out.is-sending .time .tgico:after{content:""}.bubble.is-out.is-reply .name{display:none}.bubble.is-out.is-edited .time{width:85px}.bubble.is-out .document-ico:after{border-top-color:#eeffde;border-right-color:#eeffde}.bubble.is-out .audio-waveform rect{fill:#B8DDA9}.bubble.is-out .audio-waveform rect.active{fill:#68AB5A}.bubble.is-out .audio-time,.bubble.is-out .audio-subtitle{color:#68AB5A}.bubble.is-out .audio-toggle,.bubble.is-out .audio-download{background-color:#4FAE4E}.bubble.is-out.photo.is-message-empty.is-group-last .attachment,.bubble.is-out.video:not(.round).is-message-empty.is-group-last .attachment{border-bottom-right-radius:0}.bubble.is-out.photo.is-message-empty.is-group-last .attachment .bubble__media-container,.bubble.is-out.video:not(.round).is-message-empty.is-group-last .attachment .bubble__media-container{margin-right:-9px}.bubble.is-out .audio-subtitle,.bubble.is-out .contact-number,.bubble.is-out .document-size{color:#4FAE4E}.bubble.is-out poll-element .poll-desc,.bubble.is-out poll-element .poll-votes-count{color:#50af4f}.bubble.is-out poll-element .poll-line use{stroke:#4fae4e}.bubble.is-out poll-element .poll-answer-selected{background-color:#4fae4e}.bubble.is-out poll-element .poll-answer:hover .animation-ring{background-color:rgba(79,174,78,0.08)}.bubble.is-out poll-element .progress-ring__circle{stroke:#4fae4e}.reply-markup{position:absolute;width:100%}.reply-markup-row{margin-top:5px;overflow:hidden;height:40px;display:flex}.reply-markup-row:last-child{border-bottom-left-radius:12px;border-bottom-right-radius:12px}.reply-markup-button{display:flex;justify-content:center;align-items:center;border-radius:6px;background-color:rgba(0,0,0,0.23);z-index:2;font-size:14px;user-select:none;text-align:center;color:white !important;outline:none;border:none;width:100%;cursor:pointer;position:relative;transition:background-color 0.35s ease}.reply-markup-button:hover{background-color:rgba(0,0,0,0.06)}.reply-markup-button+.reply-markup-button{margin-left:5px}.reply-markup-button.is-link:before{content:"";position:absolute;right:2px;top:2px;display:block;transform:rotate(-45deg)}poll-element{margin-top:-1px;display:block;min-width:280px}poll-element .poll-title{font-weight:500}poll-element .poll-desc{font-size:14px;color:#707579;margin-bottom:7px}poll-element .poll-answer{display:flex;position:relative;padding-bottom:20px;padding-left:34px;cursor:pointer}poll-element .poll-answer-text{margin-top:7px;margin-left:14px}poll-element .poll-answer-percents{position:absolute;left:0;top:0;opacity:0;font-weight:500;margin-top:7px;transition:.34s opacity;margin-left:-3px;text-align:right;width:40px}poll-element .poll-answer-selected{position:absolute;bottom:3px;left:26px;color:#fff;background:#50a2e9;border-radius:50%;height:12px;width:12px;font-size:11px;line-height:15px;opacity:0;animation:fadeIn .1s ease forwards;animation-direction:reverse;animation-delay:.24s}poll-element .poll-answer:hover .animation-ring{visibility:visible;transform:scale(1)}poll-element .poll-answer.is-voting .progress-ring__circle{stroke-dashoffset:-19.792;animation:pollAnswerRotate 0.65s linear infinite}poll-element .poll-votes-count{color:#707579;font-size:14px;margin-top:7px}poll-element .poll-line{height:35px;position:absolute;left:17.5px;bottom:2px;transition:stroke-dashoffset .34s linear, stroke-dasharray .34s linear;stroke-dashoffset:0;stroke-dasharray:0, 485.9}poll-element .poll-line use{stroke-width:4px;stroke-linecap:round;stroke:#50a2e9;fill:none}poll-element+.time{height:unset !important;padding-top:0px !important;padding-bottom:7px !important}poll-element .circle-hover{display:flex;justify-content:center;align-items:center;width:34px;height:34px;margin-left:5px;position:absolute;left:0;top:0;transform:scale(1);transition:.1s transform}poll-element .animation-ring{display:block;border-radius:50%;height:34px;width:34px;transition:transform 0.12s;background-color:#f4f4f4;transform:scale(0.1);visibility:hidden}poll-element .progress-ring{height:26px;width:26px;top:unset;left:unset}poll-element .progress-ring__circle{transform-origin:center;transform:rotate(-90deg);transition:stroke-dashoffset 0.15s;stroke-dasharray:56.5487, 56.5487;stroke-dashoffset:0;stroke-opacity:1;stroke-width:2;stroke:#8d969c;fill:transparent}poll-element.is-voted .circle-hover,poll-element.is-voted .animation-ring{transform:scale(0)}poll-element.is-voted .poll-answer-percents{opacity:1}poll-element.is-voted .poll-answer-selected{animation-direction:normal}poll-element.is-retracting .circle-hover{transition-delay:.24s}poll-element.is-retracting .animation-ring{transition-delay:.22s}@keyframes pollAnswerRotate{to{transform:rotate(270deg)}}.sidebar{background-color:#fff;overflow:hidden}.sidebar-left{border-right:1px solid #DADCE0}.sidebar-right{border-left:1px solid #DADCE0}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:7.5px 16px;min-height:60px}.sidebar-header__title{flex:1;font-weight:500;padding-left:23px;font-size:20px}.sidebar-header .btn-icon+.btn-icon{margin-left:.5rem}.sidebar-close-button{padding-left:10px}.sidebar-content{width:100%;max-height:100%;height:100%;overflow:hidden;display:flex;position:relative}.sidebar-content>div{width:100%}#column-left{display:flex;flex-direction:column}#column-left #chats-container{max-height:100%;overflow:hidden;position:relative}#column-left .sidebar-slider{height:100%}#column-left .sidebar-header__btn-container{position:relative;width:39.75px;height:39px}#column-left .sidebar-header__btn-container>*{visibility:hidden;opacity:0;position:absolute;left:0;top:0;transition:.2s opacity;z-index:2}#column-left .sidebar-header__btn-container>*:before{transition:.2s transform;transform:rotate(180deg)}#column-left .sidebar-header__btn-container>*+*{margin-left:0 !important}#column-left .sidebar-header__btn-container>*.active{opacity:1;visibility:visible;color:#707579}#column-left .sidebar-header__btn-container>*.active:before{transform:rotate(0deg)}#column-left .sidebar-tools-button .btn-menu{width:217px}#column-left .sidebar-tools-button .btn-menu .archived-count{border-radius:12px;min-width:24px;padding:0 8px;height:24px;text-align:center;line-height:24px;color:#fff;font-weight:500;background-color:#c5c9cc;justify-self:flex-end;position:absolute;right:16px}#column-left .sidebar-tools-button .btn-menu .archived-count:empty{display:none}#column-left .search-group-people ul{display:flex;flex-direction:row;padding-left:4px;margin-top:-1px;padding-bottom:1px}#column-left .search-group-people li{margin-right:5px;padding:0}#column-left .search-group-people .rp{height:98px;max-height:98px;border-radius:10px;max-width:78px;width:78px;align-items:center;position:relative;display:flex;flex-direction:column;cursor:pointer;padding:12px 0 0 !important;overflow:hidden;margin:0}#column-left .search-group-people .dialog-avatar{width:54px;height:54px}#column-left .search-group-people .user-caption{max-width:65px;padding:2px 0px 9px;font-size:12px}#column-left .search-group-people .user-title{max-width:unset}#column-left .search-group-people .search-group-scrollable{position:relative}#column-left .search-group-people .search-group-scrollable>.scrollable{position:relative}#column-left .item-main .sidebar-content .btn-menu{bottom:calc(100% + 10px)}#column-left .item-main .sidebar-content:hover .btn-corner{transform:translateY(0px)}#column-left .item-main .sidebar-content:hover .btn-corner.menu-open:before{content:""}#search-container{transition:150ms ease-in-out opacity,150ms ease-in-out transform;transform:scale(1.1, 1.1);opacity:0;display:flex}#search-container.active{transform:scale(1, 1);transform-origin:center;opacity:1}.new-channel-container .sidebar-content,.new-group-container .sidebar-content,.edit-profile-container .sidebar-content{flex-direction:column}.new-channel-container .avatar-edit,.new-group-container .avatar-edit,.edit-profile-container .avatar-edit{width:120px;height:120px;margin:1px auto 32px;flex:0 0 auto}.new-channel-container .input-wrapper,.new-group-container .input-wrapper,.edit-profile-container .input-wrapper{width:380px;margin:0 auto;flex:0 0 auto}.new-channel-container .chats-container,.new-group-container .chats-container,.edit-profile-container .chats-container{flex:1 1 auto}.new-channel-container .caption,.new-group-container .caption,.edit-profile-container .caption{font-size:0.875rem;margin-top:14px;margin-left:23px;color:#707579}.new-group-members{padding:1.5rem 0 0.4375rem}.new-group-members .search-group__name{text-transform:capitalize}.settings-container .profile-button{display:flex;padding:1.125rem 0.625rem;height:3.5rem;line-height:1.4;border-radius:0.625rem;margin:0px 0.5rem 0px 0.4375rem}.settings-container .profile-button:hover{background:rgba(112,117,121,0.08);cursor:pointer}.settings-container .profile-button:before{font-size:24px;color:#707579;margin-left:0.375rem;margin-top:-0.0625rem}.settings-container .profile-button p{padding-left:2rem;user-select:none}.settings-container .profile-buttons{margin-top:.9375rem;width:100%}.edit-profile-container .caption{margin-top:1.063rem;margin-left:1.438rem;line-height:1.2;padding-bottom:1.438rem}.edit-profile-container .sidebar-left-h2{color:#707579;padding:0 1.438rem;padding-bottom:1.5rem;font-weight:500}.edit-profile-container hr{margin-bottom:1.5rem}.edit-profile-container .scroll-wrapper{width:100%}#column-right{width:0%;position:relative;transition:.2s ease-in-out}#column-right .sidebar-content{min-width:25vw}@media (min-width: 1680px){#column-right .sidebar-content{min-width:calc(1680px / 4 - 1px)}}#column-right:not(.active){border-left-width:0}#column-right.active{width:25%}#column-right .sidebar-header{flex:0 0 auto}#column-right #search-private-container .chats-container{position:relative;flex:1 1 auto}#column-right #forward-container{z-index:5}#column-right .sidebar-search{display:none}#column-right .sidebar-search.active{display:flex}.profile-content{display:flex;flex-direction:column;position:relative;width:100%}.profile-content [type="checkbox"]+span{padding-left:54px;margin-left:-54px}.profile-content-wrapper{flex:1 1 auto;display:flex;flex-direction:column;margin-bottom:36px}.profile-content .content-container{width:100%;max-width:100%;position:absolute;top:100%;min-height:calc(100vh - 100% - 60px);display:flex;flex-direction:column}.profile-container>.scrollable{display:flex;flex-direction:column}.profile-name{text-align:center;font-size:24px;line-height:1.4;font-weight:500}.profile-name span.emoji{vertical-align:inherit;min-width:min-content}.profile-subtitle{text-align:center;color:#707579;font-size:14px;margin-bottom:2px}.profile-subtitle.online{color:#50a2e9}.profile-row{display:flex;width:100%;flex-direction:column;padding-left:80px;padding-right:12px;position:relative;margin-top:31px;line-height:1.4}.profile-row:before{position:absolute;left:24px;font-size:24px;color:#707579}.profile-row p{color:#000;margin:0;font-size:1rem}.profile-row-bio .emoji{width:24px;height:24px}.profile-row-label{color:#707579 !important;font-size:14px !important}.profile-row-notifications{margin-top:29px;line-height:1.3}.profile-avatar{width:120px;height:120px;margin:1px auto 21px;font-size:4rem !important}.profile-avatar.tgico-avatar_deletedaccount{font-size:6rem}.profile-tabs{position:-webkit-sticky !important;position:sticky !important;top:0;z-index:2;background-color:#fff}.profile-tabs-content{min-height:calc(100% - 49px);flex:1 1 auto}.profile-tabs-content>div{position:relative}.profile-tabs-content .preloader{padding:0;position:absolute !important;height:100%}.profile-tabs-content .preloader>svg{height:50px;width:50px}.profile-tabs-content #content-media{width:100%;padding:7.5px;display:grid;grid-template-columns:repeat(3, 1fr);grid-auto-rows:1fr;grid-gap:3.5px}.profile-tabs-content #content-media .media-item{height:0;padding-bottom:100%;overflow:hidden;position:relative;cursor:pointer;background-color:#000}.profile-tabs-content #content-media .video-time{position:absolute;left:5px;top:4px;height:18px;border-radius:4px;background-color:rgba(0,0,0,0.35);padding:0px 6px 0px 5px;z-index:2;font-size:12px;color:white}.profile-tabs-content #content-media .media-image{position:absolute;left:0;top:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.profile-tabs-content #content-docs{padding:7px 20px}.profile-tabs-content #content-docs .document{padding-left:4rem;padding-right:1rem;height:calc(50px + 1.5rem)}.profile-tabs-content #content-docs .document-ico,.profile-tabs-content #content-docs .document-download{width:48px;height:48px}.profile-tabs-content #content-docs .document-name{font-weight:normal;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis}.profile-tabs-content #content-links{padding:0 30px 15px 15px}.profile-tabs-content #content-links>div{display:flex;flex-direction:column;margin-top:20px;margin-left:5px;padding-bottom:2px;position:relative;padding-left:60px;overflow:hidden;min-height:58px}.profile-tabs-content #content-links>div .preview{height:48px;width:48px;border-radius:5px;overflow:hidden;position:absolute;left:0;top:0;background-repeat:no-repeat;background-size:cover;background-position:center center}.profile-tabs-content #content-links>div .preview.empty{display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;text-transform:uppercase;background-color:#50a2e9}.profile-tabs-content #content-links>div .url{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.profile-tabs-content #content-links .title{font-size:16px;margin-top:3px}.profile-tabs-content #content-links .subtitle{font-size:14px}.profile-tabs-content #content-audio{padding:20px 15px 15px 20px}.profile-tabs-content #content-audio>div{min-height:60px}.profile-tabs-content #content-audio .audio{padding-bottom:26px;padding-left:61px;max-width:368px;justify-content:unset}.profile-tabs-content #content-audio .audio-details{height:66px}.profile-tabs-content #content-audio .audio.audio-show-progress .audio-subtitle{overflow:visible}.profile-tabs-content #content-audio .audio-ico{width:48px;height:48px}.profile-tabs-content #content-audio .audio-ico.tgico-largeplay:before{margin-right:-1px}.profile-tabs-content #content-audio .audio-download{border-radius:50%;background-color:#50a2e9;align-items:center}.profile-tabs-content #content-audio .audio-toggle,.profile-tabs-content #content-audio .audio-download{font-size:1.9rem}.profile-tabs-content #content-audio .audio-title{font-size:1rem;color:#000;line-height:1.2;padding-top:5px;margin-top:0;margin-left:-1px}.profile-tabs-content #content-audio .audio-subtitle{font-size:14px;line-height:1.25;color:#707579;margin-left:-1px;margin-top:3px}.profile-tabs-content #content-audio .audio-time{margin-top:1px}.profile-tabs-content #content-audio .audio-title,.profile-tabs-content #content-audio .audio-subtitle{overflow:hidden;text-overflow:ellipsis}.profile-tabs-content #content-audio .media-progress{margin:11px 0 8px}.profile-tabs-content #content-audio .media-progress__filled{background-color:#0089ff;transform-origin:left;height:2px}.profile-tabs-content #content-audio .media-progress__seek{height:2px;background:rgba(193,207,220,0.39)}.profile-tabs-content #content-audio .media-progress__seek::-webkit-slider-thumb{height:12px;width:12px}.media-viewer{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.88);display:flex;align-items:center;justify-content:center}.media-viewer-author{position:absolute;top:0;left:0;height:60px;padding:8px 8px 8px 80px;display:flex;flex-direction:column;justify-content:center;color:#8b8b8b;transition:.2s}.media-viewer-author:hover{color:#fff}.media-viewer-userpic{width:44px;height:44px;position:absolute;top:8px;left:20px}.media-viewer-name{font-weight:500}.media-viewer-date{font-size:15px}.media-viewer-buttons{position:absolute;top:0;right:0;display:flex;flex-flow:row nowrap;padding:8px}.media-viewer-buttons .btn-icon{margin:0 .25rem;transition:.2s}.media-viewer-buttons .btn-icon:hover{color:#fff}.media-viewer-content{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;max-height:100%;max-width:100%;overflow:hidden}.media-viewer-stub{flex:1}.media-viewer-container{align-self:center;position:relative;max-width:100%;max-height:100%;overflow:hidden;flex:1 1 auto;display:flex;align-items:center}.media-viewer-media{visibility:hidden}.media-viewer-caption{flex:1;text-align:center;color:#707579;transition:.2s;max-width:50vw;word-break:break-word;overflow:hidden;text-overflow:ellipsis}.media-viewer-caption:hover{color:#fff}.media-viewer-switcher-left,.media-viewer-switcher-right{position:absolute;left:0;top:0;width:10rem;height:100%;cursor:pointer;z-index:5}.media-viewer-switcher-left:hover>span,.media-viewer-switcher-right:hover>span{opacity:1}.media-viewer-switcher-right{left:auto;right:0}.media-viewer-prev-button,.media-viewer-next-button{cursor:pointer;position:absolute;color:#fff;font-size:3rem;left:2rem;top:50%;transform:translateY(-50%) rotate(90deg);opacity:0;transition:.2s opacity;z-index:5}.media-viewer-next-button{left:auto;right:2rem;transform:translateY(-50%) rotate(-90deg)}.media-viewer-mover{position:fixed !important;z-index:4;display:flex;justify-content:center;align-items:center;min-height:auto !important;left:0;top:0;transform-origin:top left;overflow:hidden}.media-viewer-mover .ckin__player{width:100%;height:100%;position:absolute;left:0;top:0}.media-viewer-mover img,.media-viewer-mover video{width:100%;height:100%;user-select:none;object-fit:cover;opacity:1}.media-viewer-mover.active{transition:.2s transform}.media-viewer-mover.moving{transition:.35s transform ease}.media-viewer-mover.hiding img,.media-viewer-mover.hiding video{transition:.2s opacity;opacity:0}.media-viewer-aspecter{width:100%;height:100%;transform:scale(1);overflow:hidden;position:absolute}.media-viewer-mover.active .media-viewer-aspecter{transition:.2s all}.media-viewer-whole{top:0;left:0;width:100%;height:100%;position:fixed !important;display:block;z-index:4;visibility:hidden;transition:visibility 0s .2s}.media-viewer-whole.active{visibility:visible;transition-delay:0s}.media-viewer-whole.active .overlays{opacity:1;visibility:visible;-webkit-transition:opacity .2s 0s,visibility 0s 0s;-moz-transition:opacity .2s 0s,visibility 0s 0s;transition:opacity .2s 0s,visibility 0s 0s}.media-viewer-switchers{position:relative;width:1680px;height:100%;margin:0 auto}.overlays{top:0;left:0;width:100%;height:100%;position:fixed !important;background-color:rgba(0,0,0,0.2);z-index:4;opacity:0;visibility:hidden;-webkit-transition:opacity .2s 0s,visibility 0s .2s;-moz-transition:opacity .2s 0s,visibility 0s .2s;transition:opacity .2s 0s,visibility 0s .2s}.ckin__player{letter-spacing:0.02em}.ckin__overlay{position:relative}.ckin__overlay:before{background:radial-gradient(ellipse at center, transparent 0%, rgba(0,0,0,0.5) 100%)}.ckin__overlay--2:before{background:rgba(24,24,24,0.8)}.ckin__player.ckin__fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;height:100%;width:100%;z-index:10000000;background:#000;border-radius:0 !important;display:-ms-flexbox;display:flex}.ckin__player.ckin__fullscreen video{max-height:none;max-width:none;object-fit:contain}.default{border:0 solid rgba(0,0,0,0.2);box-shadow:0 0 20px rgba(0,0,0,0.2);position:relative;font-size:0;overflow:hidden;cursor:pointer}.default:before{content:\'\';position:absolute;top:0;left:0;bottom:0;right:0;transition:opacity .2s;opacity:1;visibility:visible}.default__title{position:absolute;left:20px;top:20px;z-index:1;font-size:24px;color:rgba(255,255,255,0.8);font-style:italic}.default__button{background:none;border:0;color:#fff;outline:0;padding:3px 10px 6px 10px;cursor:pointer;font-size:24px;line-height:1;display:flex;align-items:center}.default__button i{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center}.default__button--big{background:none;border:0;line-height:1;color:#fff;text-align:center;outline:0;padding:0;cursor:pointer;position:absolute;opacity:1;visibility:visible;top:50%;left:50%;-ms-transform:translate(-50%, -50%) scale(1);transform:translate(-50%, -50%) scale(1);font-size:64px;transition:all .2s;-ms-touch-action:manipulation;touch-action:manipulation}.default__slider{width:10px;height:30px}.default__controls{position:absolute;bottom:0;right:0;left:0;transition:all .3s;text-align:left;direction:ltr;border-radius:0 0 5px 5px;z-index:6}.default__gradient-bottom{height:49px;padding-top:93px;bottom:0;z-index:2;background-position:bottom;width:100%;position:absolute;background-repeat:repeat-x;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAADGCAYAAAAT+OqFAAAAdklEQVQoz42QQQ7AIAgEF/T/D+kbq/RWAlnQyyazA4aoAB4FsBSA/bFjuF1EOL7VbrIrBuusmrt4ZZORfb6ehbWdnRHEIiITaEUKa5EJqUakRSaEYBJSCY2dEstQY7AuxahwXFrvZmWl2rh4JZ07z9dLtesfNj5q0FU3A5ObbwAAAABJRU5ErkJggg==);-moz-transition:all .3s;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.default.is-playing .default__gradient-bottom{-ms-transform:translateY(50px);transform:translateY(50px)}.default.is-playing:hover .default__gradient-bottom{-ms-transform:translateY(0px);transform:translateY(0px)}.default.is-playing:before{opacity:0;visibility:hidden;-ms-transform:translate(-50%, -50%) scale(1.3);transform:translate(-50%, -50%) scale(1.3)}.default.is-playing .default__button--big{opacity:0;visibility:hidden}.default.is-playing .default__controls{-ms-transform:translateY(52px);transform:translateY(52px)}.default.is-playing:hover .default__controls{-ms-transform:translateY(0);transform:translateY(0)}.default .media-progress{margin:0 16px;height:5px;transition:height 0.3s;background:rgba(255,255,255,0.38);border-radius:4px;overflow:visible}.default .media-progress__filled{background:#63a2e3;transform-origin:left;border-radius:4px;height:5px;transform:scaleX(0)}@media (max-width: 480px){.ckin__player button{font-size:18px}}video::-webkit-media-controls-enclosure{display:none !important}.media-progress{position:relative;cursor:pointer}.media-progress input[type=range]{-webkit-appearance:none;-moz-appearance:none;background:transparent;height:4.5px;cursor:pointer;padding:0;outline:none}.media-progress input[type=range]:focus{outline:none}.media-progress input[type=range]:focus::-webkit-slider-runnable-track{background:transparent}.media-progress input[type=range]:focus::-moz-range-track{outline:none}.media-progress input[type=range]::-webkit-slider-runnable-track{width:100%;cursor:pointer;border-radius:1.3px;-webkit-appearance:none;transition:all 0.4s ease}.media-progress input[type=range]::-webkit-slider-thumb{height:15px;width:15px;border-radius:16px;background:#63a2e3;cursor:pointer;-webkit-appearance:none;margin-left:-1px}.media-progress input[type=range]::-moz-range-track{width:100%;height:8.4px;cursor:pointer;border:1px solid transparent;background:transparent;border-radius:1.3px}.media-progress input[type=range]::-moz-range-thumb{height:14px;width:14px;border-radius:50px;border:1px solid #63a2e3;background:#63a2e3;cursor:pointer;margin-top:5px}.media-progress__seek{position:absolute;top:0;width:100%;cursor:pointer;margin:0}input[type=range]::-ms-track{visibility:hidden}input[type=range]::-ms-ticks{background:none;color:none;border:none}input[type=range]::-ms-thumb{visibility:hidden}input[type=range]::-ms-tooltip{visibility:hidden}.left-controls{display:flex;align-items:center}.right-controls{float:right}.bottom-controls{padding:3px 4px 0px 4px;display:flex;justify-content:space-between;align-items:center}.time{float:right;padding:7px 0px 9px 14px;font-size:15px;color:white}.circle .circle-time{color:#fff;font-size:13px;float:left}.circle .circle-time-left{position:absolute;top:3px;left:2px;border-radius:12px;background-color:rgba(0,0,0,0.23);padding:1px 7px 2px 7px;z-index:2;display:flex;align-items:center}video[data-ckin="circle"]{border-radius:50%;overflow:hidden}.progress-ring{position:absolute;top:0;left:0;cursor:pointer}.progress-ring__circle{transition:stroke-dashoffset}.ckin__player.circle{position:relative;width:200px;height:200px}.iconVolume{padding:0 1px 0 3px;display:flex;align-items:center;font-size:1.25rem;color:#fff}.emoji-dropdown{position:absolute;left:0;top:calc(-420px + -4px);display:flex;flex-direction:column;width:420px;height:420px;background:#fff;box-shadow:0px 5px 10px 5px rgba(16,35,47,0.14);border-radius:10px;z-index:3;display:flex;overflow:hidden;transition:all 0.2s ease-out;transform:scale(0);transform-origin:0 100%}.emoji-dropdown.active{transition:all 0.2s ease-in;transform:scale(1)}.emoji-dropdown>.menu-horizontal{padding:0px 58px 0px 58px;margin-top:2px}.emoji-dropdown>.menu-horizontal>li.active:after{left:29px;right:28px}.emoji-dropdown .emoji-container{width:100%;max-width:100%;overflow:hidden;height:100%}.emoji-dropdown .btn-icon{color:#8d969c}.emoji-dropdown .tabs-container{height:100%}.emoji-dropdown .tabs-container .category-title{position:sticky;top:0;font-size:.85rem;color:#707579;background:linear-gradient(to bottom, #fff 0, rgba(255,255,255,0.9) 60%, rgba(255,255,255,0) 100%);z-index:2;padding:.53333rem 6PX .66667rem;width:100%}.emoji-dropdown .tabs-container .emoji-category{padding-top:1px;position:relative}.emoji-dropdown .tabs-container .emoji-category .category-items{display:grid;grid-column-gap:2.44px;grid-template-columns:repeat(9, 1fr);font-size:2.25rem;line-height:2.25rem}.emoji-dropdown .tabs-container .emoji-category .category-items>*{margin:0;padding:4px 4px;line-height:inherit;border-radius:8px;cursor:pointer;user-select:none;-webkit-user-select:none;width:42px;height:42px}.emoji-dropdown .tabs-container .emoji-category .category-items>* .emoji{width:100%;height:100%}.emoji-dropdown .tabs-container .emoji-category .category-items>*:hover{background-color:rgba(112,117,121,0.08)}.emoji-dropdown .tabs-container .emoji-category:first-child{padding-top:5px}.emoji-dropdown .tabs-container .sticker-category{position:relative}.emoji-dropdown .tabs-container .sticker-category::after{content:"";flex:auto}.emoji-dropdown .tabs-container .sticker-category .category-items{width:100%;display:grid;grid-template-columns:repeat(5, 1fr);grid-column-gap:1px}.emoji-dropdown .tabs-container .sticker-category .category-items>div{width:80px;height:80px;display:flex;align-items:center;cursor:pointer;user-select:none;-webkit-user-select:none;padding:1px 2.5px;justify-content:center;border-radius:12px;padding:0}.emoji-dropdown .tabs-container .sticker-category .category-items>div:hover{background-color:rgba(112,117,121,0.08)}.emoji-dropdown .tabs-container .sticker-category .category-items>div>*{max-width:100%;max-height:100%}.emoji-dropdown .tabs-container>div{min-height:100%;flex-direction:column;height:100%}.emoji-dropdown .tabs-container>div>div:first-of-type{flex:1;padding:0}.emoji-dropdown .tabs-container .scrollable{padding:0 10px}.emoji-dropdown .emoji-padding .menu-horizontal{border-top:1px solid #dadce0}.emoji-dropdown .emoji-padding .menu-horizontal,.emoji-dropdown .stickers-padding .menu-horizontal{height:47px;border-bottom:none;padding:2px 2px 2px 2px;width:100%}.emoji-dropdown .emoji-padding .menu-horizontal li,.emoji-dropdown .stickers-padding .menu-horizontal li{padding:0;width:50px;height:50px;line-height:50px;display:flex;align-items:center}.emoji-dropdown .emoji-padding .menu-horizontal li.active:after,.emoji-dropdown .stickers-padding .menu-horizontal li.active:after{display:none}.emoji-dropdown #content-stickers .scrollable{padding:15px 5px 0}.emoji-dropdown .emoji-padding .menu-horizontal li,.emoji-dropdown .stickers-padding .menu-horizontal li{font-size:1.65rem}.emoji-dropdown .stickers-padding .menu-wrapper{padding:0;height:50px;max-width:100%;border-top:1px solid #dadce0}.emoji-dropdown .stickers-padding .menu-wrapper .menu-horizontal{width:100%;height:100%}.emoji-dropdown .stickers-padding li{flex:0 0 auto}.emoji-dropdown .stickers-padding li.active:not(.tgico-recent){background-color:rgba(112,117,121,0.08)}.emoji-dropdown .stickers-padding li>*{padding:.75rem;max-width:100%;max-height:100%;width:100%;height:100%}.emoji-dropdown #content-gifs .gifs-masonry{display:flex;flex-wrap:wrap}.emoji-dropdown #content-gifs .gifs-masonry>div{flex:1 0 auto;max-width:100%;height:100px;margin:2.5px;cursor:pointer;background:#000;position:relative}.emoji-dropdown #content-gifs .gifs-masonry>div video{object-fit:cover;width:100%;height:100%}div.scrollable::-webkit-scrollbar{width:0;height:0}div.scrollable::-webkit-scrollbar-thumb{width:0;height:0}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-corner{background-color:transparent}.scrollable{width:100%;height:100%;overflow-y:hidden;overflow-x:hidden;max-height:100%;position:absolute;top:0px;left:0px;bottom:0px;right:0px}.scrollable.scrollable-x{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.scrollable.scrollable-y{overflow-y:auto;overflow-y:overlay;scrollbar-width:none;-ms-overflow-style:none}div.scrollable-y::-webkit-scrollbar{width:.375rem}::-webkit-scrollbar-thumb{opacity:0;transition:.2s ease-in-out}div.scrollable:hover::-webkit-scrollbar-thumb{height:200px;border-radius:10px;background-color:rgba(0,0,0,0.2);opacity:1}::-webkit-scrollbar-button{width:0;height:0;display:none}::-webkit-scrollbar-corner{background-color:transparent}.menu-horizontal{color:#707579;border-bottom:1px solid #dadce0;position:relative}.menu-horizontal ul{width:100%;height:100%;margin:0;display:flex;justify-content:space-around;align-items:center;position:relative;z-index:2}.menu-horizontal li{display:inline-block;padding:.75rem 1rem;cursor:pointer;text-align:center;flex:1;user-select:none;font-size:1rem;font-weight:500}.menu-horizontal li.active{color:#50a2e9}.menu-horizontal__stripe{position:absolute;background:#50a2e9;left:-2px;transition:.3s transform, .3s width;bottom:-1px;height:4px;width:1px;transform:scaleX(1) translateX(0px);border-top-left-radius:2px;border-top-right-radius:2px;z-index:1}.tabs-container{min-width:100%;width:100%;display:flex;overflow-x:hidden}.tabs-container.animated{transition:.3s transform}.tabs-container>div{width:100%;max-width:100%;overflow:hidden;display:none}.tabs-container>div.active{display:flex;flex-direction:column}.tabs-container>div>div:not(.scroll-padding){width:100%;max-width:100%;position:relative}@keyframes scaleIn{0%{transform:scale(0.2)}to{transform:scale(1)}}.selector{height:100%;display:flex;flex-direction:column}.selector-search-container{flex:0 0 auto;position:relative;max-height:132px;overflow:hidden}.selector-search-container .scrollable{position:relative}.selector-search{padding:0 24px 0 24px;display:flex;flex-flow:wrap}.selector-search input{border:none;padding:7px 0px 19px 0px;outline:none;flex:1 1 auto}.selector-user{color:#000;background-color:rgba(112,117,121,0.08);font-size:16px;padding:0 17px 0px 0px;line-height:31px;margin-left:-4px;margin-right:12px;height:32px;margin-bottom:7px;border-radius:24px;user-select:none;flex:0 0 auto;transition:.2s all}.selector-user:hover{background-color:#fae2e3;cursor:pointer}.selector-user:hover .selector-user-avatar:after{opacity:1;transform:scaleX(-1) rotate(-90deg)}.selector-user.scale-in{animation:scaleIn .15s ease forwards}.selector-user.scale-out{animation:scaleIn .1s ease forwards;animation-direction:reverse}.selector-user-avatar{height:32px !important;width:32px !important;float:left;margin-right:8px;overflow:hidden;font-size:14px}.selector-user-avatar:after{position:absolute;content:"";left:0;top:0;background-color:#df3f40;height:100%;width:100%;z-index:2;font-size:23px;line-height:32px !important;opacity:0;transition:.2s opacity, .2s transform;transform:scaleX(-1) rotate(0deg)}.selector .chats-container{height:100%;flex:1 1 auto}.selector ul .dialog-avatar{height:48px;width:48px}.selector ul .user-caption{padding:1px 3.5px 1px 12px}.selector ul p{height:24px}.selector ul span.user-title{font-weight:normal}.selector ul span.user-last-message{font-size:14px}.selector ul li{padding-bottom:0}.selector ul li>.rp{margin:0px 9px 0px 8px;padding:12px 8.5px}.selector hr{margin:0 0 8px}.selector [type="checkbox"]+span{padding-left:calc(9px + 2.25rem)}.selector .checkbox{margin-top:11px;padding-left:11px}.popup{position:fixed !important;left:0;top:0;height:100%;max-width:none;width:100%;z-index:3;background-color:rgba(0,0,0,0.3);margin:0;padding:0;box-shadow:none;opacity:0;visibility:hidden;-webkit-transition:opacity 0.3s 0s, visibility 0s 0.3s;-moz-transition:opacity 0.3s 0s, visibility 0s 0.3s;transition:opacity 0.3s 0s, visibility 0s 0.3s;overflow:auto;display:flex;align-items:center;justify-content:center}.popup.active{opacity:1;visibility:visible;-webkit-transition:opacity 0.3s 0s, visibility 0s 0s;-moz-transition:opacity 0.3s 0s, visibility 0s 0s;transition:opacity 0.3s 0s, visibility 0s 0s}.popup.active .popup-container{-webkit-transform:translateY(0);-moz-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}.popup-container{position:relative;border-radius:10px;background-color:#fff;padding:1rem;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px);backface-visibility:hidden;-webkit-backface-visibility:hidden;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;transition-property:transform;-webkit-transition-duration:0.3s;-moz-transition-duration:0.3s;transition-duration:0.3s}.popup-close{cursor:pointer;color:#707579;z-index:3;text-align:center;justify-self:center;line-height:1;transition:.2s}.popup-close:hover{color:#000}.popup-header{display:flex;margin-bottom:2rem;align-items:center}.popup-avatar .popup-container{max-width:600px;padding:15px 16px 16px 24px;overflow:hidden;display:flex;flex-direction:column}.popup-avatar .popup-container>button{position:absolute;bottom:20px;right:20px}.popup-avatar .popup-close{font-size:1.5rem;margin-top:4px}.popup-avatar .popup-header{margin-bottom:1px}.popup-avatar h6{font-size:1.25rem;text-align:left;margin:0;margin-left:2rem}.popup-avatar .crop{max-width:100%;max-height:100%;padding:24px 54px 46px 46px;border-radius:8px}.popup-avatar .crop>img{display:none}.popup-avatar .crop img{border-radius:8px}.popup-send-photo .popup-container{width:420px;max-width:420px;overflow:hidden;padding:12px 20px 32.5px}.popup-send-photo .popup-container.is-media:not(.is-album) .popup-photo{max-height:320px;margin:0 auto}.popup-send-photo .popup-container.is-media:not(.is-album) .popup-photo img{object-fit:contain}.popup-send-photo .popup-container.is-media:not(.is-album) .popup-photo>div{display:flex;justify-content:center}.popup-send-photo .popup-container.is-album .popup-photo{margin:0 auto;position:relative}.popup-send-photo .popup-container.is-album .popup-photo>div{position:absolute}.popup-send-photo .popup-container.is-document .popup-photo img,.popup-send-photo .popup-container.is-document .popup-photo video,.popup-send-photo .popup-container.is-album .popup-photo img,.popup-send-photo .popup-container.is-album .popup-photo video{object-fit:cover;width:100%;height:100%}.popup-send-photo .popup-header{justify-content:space-between;align-items:center;margin-bottom:9px}.popup-send-photo .popup-header .btn-primary{width:79px;height:36px;font-size:14px;font-weight:normal;padding:0;padding-top:2px;margin-top:-3px;border-radius:10px}.popup-send-photo .popup-close{font-size:1.5rem;margin:-1px 0 0 -4px}.popup-send-photo .popup-title{flex:1;padding:0 2rem 0 1.5rem;margin:0;margin-top:-3px;font-size:1.25rem;font-weight:500}.popup-send-photo .popup-photo{max-width:380px;overflow:hidden;width:fit-content;border-radius:10px}.popup-send-photo .popup-photo .document{max-width:100%;overflow:hidden;cursor:default;padding-left:3.75rem;height:4.5rem}.popup-send-photo .popup-photo .document-name{font-weight:normal;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-height:1.5}.popup-send-photo .popup-photo .document-ico{height:48px;width:48px;font-size:16px;font-weight:normal;line-height:11px;letter-spacing:0}.popup-send-photo .input-field{margin-top:1rem}.popup-send-photo .input-field::placeholder{color:#a2acb4}.popup-send-photo .input-field input{height:54px;font-size:1rem;padding:0 15px;border-radius:10px}.popup-send-photo .input-field input:focus{padding:0 14.5px}.popup-send-photo .input-field label{font-size:inherit;opacity:0}.popup-peer .popup-header{display:flex;margin-bottom:0.4375rem;align-items:center;padding:0.125rem 0.25rem}.popup-peer .popup-container{padding:1rem 1.5rem 0.75rem 1rem}.popup-peer .popup-title{padding-left:0.75rem;font-size:1.25rem;font-weight:500;margin-bottom:0.125rem;text-transform:capitalize}.popup-peer .popup-description{padding:0 0.25rem;margin-top:0;margin-bottom:1.625rem;min-width:15rem;max-width:fit-content}.popup-peer .popup-buttons{margin-right:-0.75rem}.popup-peer .popup-buttons .btn{font-weight:500}.popup-peer .popup-buttons .btn+.btn{margin-top:0.625rem}.popup-peer .peer-avatar{height:2rem;width:2rem}html,body{height:100%;width:100%}html{font-size:16px}a{color:#50a2e9}button,input,optgroup,select,textarea,html{font-family:"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif}.whole{height:100vh;min-height:100vh;width:100%;margin:0 auto;max-width:1680px}.disable-hover,.disable-hover *{pointer-events:none !important}.container{margin:0 auto}h1,h2,h3,h4,h5,h6{font-weight:500}body.is-mac *{font-weight:normal !important}h4{font-size:2rem;margin:22px 0 14px;line-height:110%}input{caret-color:#4EA4F6}.subtitle{color:#707579;line-height:1.35}.page-authCode .auth-image{transform:translateY(12px)}.page-authCode .phone-wrapper{display:flex;align-items:center;justify-content:center}.page-authCode .phone-wrapper h4[contenteditable="true"]{padding:0 1rem;border:none;outline:none;padding:0 1rem;border-bottom:2px solid #4EA4F6}.page-authCode .phone-wrapper .phone.error{border-color:#E53935 !important}.page-authCode .subtitle{margin-top:0}.btn-icon{text-align:center;font-size:1.5rem;line-height:1.5rem;border-radius:50%;-webkit-transition:background-color .15s ease-out;transition:background-color .15s ease-out;color:#707579;cursor:pointer;background:none;border:none;padding:.5rem;position:relative;display:flex;align-items:center;justify-content:center}.btn-icon.active{color:#50a2e9}.btn-icon:hover{background-color:rgba(112,117,121,0.08)}.btn-corner{position:absolute !important;bottom:20px;right:20px;transition:.2s ease;transform:translateY(calc(100% + 20px));z-index:3}.btn-corner.is-visible{transform:translateY(0px)}.danger{color:#E53935 !important}.btn-menu{visibility:hidden;position:absolute;background:#fff;box-shadow:0 5px 8px 1px rgba(0,0,0,0.24);z-index:3;top:100%;margin-top:8px;padding:9px 0;border-radius:10px;opacity:0;transform:scale(0.8);transition-property:opacity,transform,visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);font-size:16px}.btn-menu.active{visibility:visible;opacity:1;transform:scale(1)}.btn-menu.bottom-left{right:0;top:100%;transform-origin:top right}.btn-menu.bottom-right{left:0;top:100%;transform-origin:top left}.btn-menu.top-left{top:initial;right:0;bottom:100%;transform-origin:bottom right}.btn-menu.top-right{top:initial;left:0;bottom:100%;transform-origin:bottom left}.btn-menu>div{display:flex;position:relative;padding:0 40px 0 20px;height:56px;cursor:pointer;background-position:16px center;background-size:24px 24px;background-repeat:no-repeat;color:#000;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;align-items:center}.btn-menu>div:hover{background-color:rgba(112,117,121,0.06)}.btn-menu>div:before{color:#707579;font-size:1.5rem;margin-right:32px}.btn-menu>div.danger:before{color:#E53935}#bubble-contextmenu,#dialogs-contextmenu{position:fixed;right:auto;bottom:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInFadeOut{0%{opacity:0}10%{opacity:1}50%{opacity:1}to{opacity:0}}.toast{position:fixed;left:50%;top:50%;transform:translate(-50%, -50%);padding:.5rem 1rem;background-color:rgba(0,0,0,0.66);color:#fff;font-size:1rem;border-radius:10px;animation:fadeInFadeOut 3s linear forwards}hr{width:100%;border:none;border-bottom:1px solid #DADCE0;margin:0 0 8px}avatar-element{color:#fff;width:54px;height:54px;line-height:54px;border-radius:50%;background-color:#50a2e9;text-align:center;font-size:1.25em;position:relative;user-select:none;display:flex;align-items:center;justify-content:center}avatar-element img{width:100%;height:100%;border-radius:inherit;user-select:none}avatar-element img.fade-in{animation:fadeIn .2s ease forwards}avatar-element[class*=" tgico-"]{line-height:52px;font-size:28px}avatar-element path{fill:white}avatar-element.is-online:after{position:absolute;content:" ";display:block;border-radius:50%;border:2px solid white;background-color:#0ac630;left:74%;top:73%;width:14px;height:14px}avatar-element.tgico-avatar_deletedaccount{font-size:3rem}.user-title,b{color:#000;font-weight:500}.user-last-message b{font-weight:400}.rp{position:relative}.c-ripple{position:absolute;top:0;left:0;bottom:0;right:0;width:100%;height:100%;overflow:hidden;background:transparent;border-radius:inherit}.c-ripple__circle{background-color:rgba(0,0,0,0.08);display:block;position:absolute;transform:scale(0);border-radius:50%;animation:ripple-effect .7s forwards;transition:.35s opacity;overflow:hidden}.c-ripple__circle.hiding{opacity:0}@keyframes ripple-effect{0%{transform:scale(0)}to{transform:scale(2)}}.document{padding-left:4.5rem;height:70px}.document-ico{background-color:#50a2e9;border-radius:5px;line-height:10px}.document-ico:after{content:"";display:block;position:absolute;top:0;right:0;width:1.125rem;height:1.125rem;border-bottom-left-radius:.25rem;border-left:0.5625rem solid rgba(0,0,0,0.25);border-bottom:0.5625rem solid rgba(0,0,0,0.25);border-top:.5625rem solid #fff;border-right:.5625rem solid #fff}.document-ico,.document-download{font-weight:500;letter-spacing:1px;font-size:1.1rem;background-size:contain;overflow:hidden;text-overflow:ellipsis}.document-download{background-color:#50a2e9;border-radius:8px}.document.ext-zip .document-ico,.document.ext-zip .document-download{background-color:#FB8C00}.document.ext-pdf .document-ico,.document.ext-pdf .document-download{background-color:#DF3F40}.document.ext-apk .document-ico,.document.ext-apk .document-download{background-color:#43A047}.document:not(.photo) .document-ico{padding-top:1.5rem}.document.photo .document-ico{background:#000;border-radius:8px}.document.photo .document-ico:after{display:none}.document-name{white-space:nowrap;font-weight:500;line-height:1.3}.document-size{white-space:nowrap;color:#707579;font-size:14px;padding-right:32px;line-height:1.3}.document,.audio{display:flex;flex-direction:column;justify-content:center;cursor:pointer;position:relative}.document-ico,.document-download,.audio-ico,.audio-download{position:absolute;left:0;width:54px;height:54px;color:#fff;display:flex;justify-content:center}.document-download,.audio-download{z-index:1;align-items:center;font-size:24px;cursor:pointer}.document-download .tgico-download,.audio-download .tgico-download{transform:scale(1);transition:.2s scale}.document-download.downloading .tgico-download,.audio-download.downloading .tgico-download{transform:scale(0)}.document .preloader-container,.audio .preloader-container{width:42px;height:42px}.audio{position:relative;padding-left:67px;min-height:58px;max-width:244px;overflow:visible !important}.audio-toggle,.audio-download{border-radius:50%;background-color:#50a2e9;font-size:2.3rem;align-items:center}.audio-download{z-index:2}.audio-waveform{height:23px}.audio-waveform rect{fill:#CBCBCB}.audio-waveform rect.active{fill:#50a2e9}.audio-title{font-size:1rem;color:#000}.audio-time,.audio-subtitle{font-size:14px;color:#707579;margin-top:3px;margin-left:-1px}.audio-title,.audio:not(.audio-show-progress) .audio-subtitle{white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}#auth-pages{max-width:720px;overflow:hidden}#auth-pages .subtitle{margin:0}#auth-pages .input-wrapper{margin-top:49px}#auth-pages .tabs-container{height:100%;transform:translateX(0);width:100%}#auth-pages .tabs-container.animated{transition:.42s transform}#auth-pages .tabs-container>div:before,#auth-pages .tabs-container>div:after{content:" ";flex:1;min-height:3rem;width:100%}#auth-pages .tabs-container>div>div{height:810px;padding:0;flex:1 1 auto;display:flex;flex-direction:column}@media (max-height: 858px){#auth-pages{height:auto}}.page-sign .auth-image,.page-signUp .auth-image{width:10rem;height:10rem;margin-bottom:1.5rem}.page-sign .qr,.page-signQR .qr{margin-top:1.5rem}.page-sign p.qr-description,.page-signQR p.qr-description{color:#707579;line-height:1.85;text-align:left;margin-left:auto;margin-right:auto}.avatar-edit{position:relative;border-radius:50%;cursor:pointer;overflow:hidden}.avatar-edit-canvas{max-width:100%;max-height:100%;width:100%;height:100%;background-color:#50a2e9}.avatar-edit .tgico-cameraadd{position:absolute;font-size:48px;line-height:48px;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);z-index:2;color:#fff}.avatar-edit .avatar-placeholder{position:absolute;left:0;top:0;width:100%;height:100%;filter:brightness(0.7)}.page-signUp .auth-image{margin-top:10px;margin-bottom:14px}.input-wrapper{width:360px;margin:0 auto}.input-field{position:relative}.input-field .arrow-down{position:absolute;content:" ";top:50%;bottom:0;right:21px;cursor:pointer;height:0;width:0;border:solid #bdbdbd;border-radius:1px;border-width:0 2px 2px 0;display:inline-block;padding:5px;vertical-align:middle;z-index:2;margin-top:-9px;transform:rotate(45deg);-webkit-transform:rotate(45deg);transition:.2s all}.input-field label{position:absolute;color:#9e9e9e;left:1rem;right:auto;z-index:2;top:50%;transform:translateY(-50%);background-color:#fff;transition:.2s all, .1s opacity;display:inline-block;cursor:text}.input-field input{border:1px solid #DADCE0;border-radius:10px;padding:0 1rem;box-sizing:border-box;width:100%;height:54px;transition:.2s border-color;position:relative;z-index:1}.input-field input:focus{border-color:#4EA4F6;border-width:2px;padding:0 calc(1rem - 1px)}.input-field input:disabled{background-color:#fff;color:#000}.input-field input.error{border-color:#E53935}.input-field input.error+label{color:#E53935 !important}.input-field input.valid{border-color:#26962F}.input-field input.valid+label{color:#26962F !important}.input-field input:focus ~ .arrow-down{margin-top:-4px;transform:rotate(225deg);-webkit-transform:rotate(225deg);border-color:#4EA4F6}.input-field input:focus+label{color:#4EA4F6}.input-field input:focus+label,.input-field input:valid+label,.input-field input:disabled+label{top:-.5rem;transform:none;padding:0 5px;left:.75rem;font-size:0.75rem !important;opacity:1}.checkbox-field{margin:1.25rem 0;display:block;text-align:left;padding:0 19px;position:relative}[type="checkbox"]{position:absolute;opacity:0;pointer-events:none;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type="checkbox"]+span{position:relative;padding-left:calc(18px + 2.25rem);cursor:pointer;display:inline-block;height:25px;line-height:25px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type="checkbox"]+span:before,[type="checkbox"]+span:after{content:\'\';left:0;position:absolute;-webkit-transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s}[type="checkbox"]+span:before{border-radius:2px;z-index:1}[type="checkbox"]+span:after{height:18px;width:18px;z-index:0;border:2px solid #4EA4F6;border-radius:3px;top:50%;transform:translateY(-50%)}[type="checkbox"]:not(:checked)+span:before{width:0;height:0;border:2px solid transparent;left:6px;top:10px;-webkit-transform:rotateZ(45deg);transform:rotateZ(45deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:checked+span:before{top:4px;left:-1px;width:8px;height:14px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #fff;border-bottom:2px solid #fff;-webkit-transform:rotateZ(45deg);transform:rotateZ(45deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:not(:checked)+span:after{background-color:transparent;border-color:#8d969c}[type="checkbox"]:checked+span:after{background-color:#4EA4F6}.input-wrapper>*+*{margin-top:1.5rem}.select-wrapper{max-height:23.5rem;position:absolute;width:100%;top:calc(100% + .5rem);left:0;overflow:hidden;background-color:#fff;z-index:3;border-radius:10px;display:flex;flex-direction:column;flex-wrap:wrap}.select-wrapper ul{margin:.5rem 0}.select-wrapper li{align-items:center;padding:0 1rem;justify-content:space-between;height:3.5rem;cursor:pointer;text-align:left;display:grid;grid-template-columns:calc(26px + 2rem) 1fr 50px}.select-wrapper li:hover{background-color:rgba(112,117,121,0.08)}.select-wrapper .emoji{height:26px;width:26px;font-size:26px;line-height:1}.select-wrapper .scrollable{position:relative}.phone-code{color:#9e9e9e;text-align:right}::placeholder{color:#a2acb4;opacity:1}:-ms-input-placeholder{color:#a2acb4}::-ms-input-placeholder{color:#a2acb4}input:focus,button:focus{outline:none}.auth-image{width:166px;height:166px;margin:0 auto 18px}.phone-edit{display:inline-block;width:24px;height:24px;margin-left:.4rem;opacity:.5;transition:.2s;cursor:pointer;font-size:1.5rem}.phone-edit:hover{opacity:1}.btn-primary{background:#50a2e9;color:#fff;border-radius:10px;width:100%;text-align:center;height:54px;border:none;font-weight:500;cursor:pointer;overflow:hidden;position:relative;padding:0}.btn-primary:hover{background:#2c8fe4}.btn-primary svg,.btn-primary use{height:calc(100% - 20px);right:15px;left:auto}.btn-primary.btn-circle .preloader-circular{height:calc(100% - 20px);right:auto;left:auto;margin:0;top:10px}.btn-primary.btn-circle .preloader-circular .preloader-path{stroke:#fff}.btn-menu-toggle{position:relative;overflow:visible !important;font-weight:normal !important}.btn-menu-toggle:not(.btn-primary).menu-open{background-color:rgba(112,117,121,0.08)}.preloader-circular{animation:rotate 2s linear infinite;height:100%;transform-origin:center center;position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.preloader-path{stroke-dasharray:1, 200;stroke-dashoffset:0;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round;stroke:white;stroke-width:3}.preloader-container{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto;width:50px;height:50px}.preloader-container .you-spin-me-round{width:100%;height:100%;animation:rotate 2s linear infinite}.preloader-container .preloader-circular{animation:none;cursor:pointer;background-color:rgba(0,0,0,0.7);border-radius:50%;width:100%;height:100%}.preloader-container .preloader-path-new{stroke-dasharray:5, 200;stroke-dashoffset:0;transition:stroke-dasharray 400ms ease-in-out;stroke-linecap:round;stroke:white;stroke-width:1.5}.preloader-container.preloader-swing{cursor:default}.preloader-container.preloader-swing .preloader-circular{cursor:default}.preloader-container.preloader-swing .preloader-path-new{stroke-dasharray:1, 200;stroke-dashoffset:0;animation:dashNew 1.5s ease-in-out infinite}.preloader-container .preloader-close{cursor:pointer;position:absolute;top:0;left:0;bottom:0;right:0;margin:auto;color:#fff;stroke:#fff;width:34%;height:34%}.preloader-container .preloader-close:hover{background:none}@keyframes rotate{100%{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-124px}}@keyframes dashNew{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:89, 200;stroke-dashoffset:-35px}100%{stroke-dasharray:89, 200;stroke-dashoffset:-286%}}.emoji{display:inline-block;max-width:100%;max-height:100%;vertical-align:middle;line-height:1em;font-size:1em;font-family:apple color emoji,segoe ui emoji,noto color emoji,android emoji,emojisymbols,emojione mozilla,twemoji mozilla,segoe ui symbol}img.emoji{width:18px;height:18px}.btn-circle{border-radius:50%;height:54px;width:54px;line-height:54px}.btn-circle path{fill:white}.overlay::selection{background:transparent}.crop-component::selection{background:transparent}.crop-image,.overlay>img{width:auto;height:auto;display:block;object-fit:contain;object-position:center}.crop-image{display:block;position:relative;pointer-events:none}.crop-component{position:relative;z-index:999;background-color:white;margin:0 auto;overflow:hidden}.crop-component>img{max-width:100%}.crop-component .crop-overlay-color{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,0.7);border-radius:8px}.overlay{position:absolute;left:50%;top:50%;z-index:999;margin-left:-100px;margin-top:-100px;width:200px;height:200px;overflow:hidden;box-sizing:content-box;border-radius:50%}.overlay:hover,.overlay:active{cursor:move}.overlay>img{position:absolute;display:block}[contenteditable]{-webkit-user-select:text;user-select:text}.justify-start{justify-content:flex-start !important}.position-center{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%)}.sticky_sentinel{position:absolute;left:0;right:0;visibility:hidden;pointer-events:none}.page-chats{display:flex;max-height:100vh;min-height:100vh}.page-chats .avatar-edit .tgico-cameraadd{top:52%}.page-chats>div{height:100%;position:relative;min-height:100%;max-height:100%}.page-chats #column-left{width:25%}.page-chats .chat-container{background-color:#e6ebee;width:100%;flex:1}.page-chats .preloader{width:50px;height:50px;position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%)}.page-chats .preloader-path{stroke:#4EA4F6}.page-chats #search-container,.page-chats .sidebar-search{flex-direction:column;width:100%;max-height:100%;height:100%;overflow:hidden;position:absolute;left:0;top:0;z-index:3;background:#fff}@media (min-width: 1680px){.page-chats{border-top-width:0;border-bottom-width:0;border-left-width:1px;border-right-width:1px;border-style:solid;border-color:#DADCE0}}.page-password #password{padding-right:2.5rem}.page-password #password[type="password"]{font-size:2.25rem;padding-left:10px}.page-password .toggle-visible{position:absolute;right:.25rem;z-index:2;top:50%;transform:translateY(-50%);font-size:1.25rem;color:#9e9e9e;cursor:pointer;transition:.2s;padding:.5rem}.page-password .toggle-visible:hover{color:#000}\n',""]),e.exports=t},function(e,t){e.exports="assets/img/camomile_blurred.jpg"},function(e,t){e.exports="assets/img/msg-tail-left.svg"},function(e,t){e.exports="assets/img/msg-tail-right.svg"},function(e,t,i){var s=i(33),a=i(63);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.i,a,""]]);var o={insert:"head",singleton:!1},n=(s(a,o),a.locals?a.locals:{});e.exports=n},function(e,t,i){var s=i(34),a=i(40),o=i(64),n=i(65),r=i(66),l=i(67);t=s(!1);var d=a(o),c=a(n),u=a(r),h=a(l);t.push([e.i,'@font-face{font-family:"tgico";src:url('+d+");src:url("+d+') format("embedded-opentype"),url('+c+') format("truetype"),url('+u+') format("woff"),url('+h+') format("svg");font-weight:normal;font-style:normal;font-display:block}[class^="tgico-"],.tgico:before,.tgico:after,[class*=" tgico-"]:before,[class*=" tgico-"]:after{font-family:"tgico" !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.tgico-check:before{content:""}.tgico-checks:before{content:""}.tgico-activesessions:before{content:"\\e902"}.tgico-add:before{content:"\\e903"}.tgico-addmember_filled:before{content:"\\e904"}.tgico-adduser:before{content:"\\e905"}.tgico-admin:before{content:"\\e906"}.tgico-animals:before{content:"\\e907"}.tgico-archive:before{content:"\\e908"}.tgico-attach:before{content:"\\e909"}.tgico-avatar_archivedchats:before{content:"\\e90a"}.tgico-avatar_deletedaccount:before{content:"\\e90b"}.tgico-avatar_savedmessages:before{content:"\\e90c"}.tgico-back:before{content:"\\e90d"}.tgico-bots:before{content:"\\e90e"}.tgico-calendar:before{content:"\\e90f"}.tgico-camera:before{content:"\\e910"}.tgico-cameraadd:before{content:"\\e911"}.tgico-car:before{content:"\\e912"}.tgico-channel:before{content:"\\e913"}.tgico-channelviews:before{content:"\\e914"}.tgico-chatsplaceholder:before{content:"\\e915"}.tgico-check1:before{content:"\\e916"}.tgico-checkbox:before{content:"\\e917"}.tgico-checkboxblock:before{content:"\\e918"}.tgico-checkboxempty:before{content:"\\e919"}.tgico-checkboxon:before{content:"\\e91a"}.tgico-close:before{content:""}.tgico-clouddownload:before{content:"\\e91c"}.tgico-colorize:before{content:"\\e91d"}.tgico-copy:before{content:"\\e91e"}.tgico-data:before{content:"\\e91f"}.tgico-delete:before{content:"\\e920"}.tgico-delete_filled:before{content:"\\e921"}.tgico-deleteleft:before{content:"\\e922"}.tgico-deleteuser:before{content:"\\e923"}.tgico-document:before{content:"\\e924"}.tgico-down:before{content:"\\e925"}.tgico-download:before{content:"\\e926"}.tgico-eats:before{content:"\\e927"}.tgico-edit:before{content:"\\e928"}.tgico-eye1:before{content:"\\e929"}.tgico-eye2:before{content:"\\e92a"}.tgico-favourites:before{content:"\\e92b"}.tgico-flag:before{content:"\\e92c"}.tgico-folder:before{content:"\\e92d"}.tgico-forward:before{content:"\\e92e"}.tgico-FullScreen:before{content:"\\e92f"}.tgico-gifs:before{content:"\\e930"}.tgico-group:before{content:"\\e931"}.tgico-help:before{content:"\\e932"}.tgico-info:before{content:"\\e933"}.tgico-info2:before{content:"\\e934"}.tgico-keyboard:before{content:"\\e935"}.tgico-lamp:before{content:"\\e936"}.tgico-language:before{content:"\\e937"}.tgico-largepause:before{content:"\\e938"}.tgico-largeplay:before{content:"\\e939"}.tgico-livelocation:before{content:"\\e93a"}.tgico-location:before{content:"\\e93b"}.tgico-lock:before{content:"\\e93c"}.tgico-logout:before{content:"\\e93d"}.tgico-menu:before{content:"\\e93e"}.tgico-message:before{content:"\\e93f"}.tgico-microphone:before{content:"\\e940"}.tgico-microphone2:before{content:"\\e941"}.tgico-minus:before{content:"\\e942"}.tgico-more:before{content:"\\e943"}.tgico-mute:before{content:"\\e944"}.tgico-muted:before{content:"\\e945"}.tgico-newchannel:before{content:"\\e946"}.tgico-newchat_filled:before{content:"\\e947"}.tgico-newgroup:before{content:"\\e948"}.tgico-newprivate:before{content:"\\e949"}.tgico-next:before{content:""}.tgico-noncontacts:before{content:"\\e94b"}.tgico-nosound:before{content:"\\e94c"}.tgico-pause:before{content:"\\e94d"}.tgico-permissions:before{content:"\\e94e"}.tgico-phone:before{content:"\\e94f"}.tgico-photo:before{content:"\\e950"}.tgico-pin:before{content:"\\e951"}.tgico-pinnedchat:before{content:"\\e952"}.tgico-play:before{content:"\\e953"}.tgico-poll:before{content:"\\e954"}.tgico-radiooff:before{content:"\\e955"}.tgico-radioon:before{content:"\\e956"}.tgico-readchats:before{content:"\\e957"}.tgico-recent:before{content:"\\e958"}.tgico-reply:before{content:"\\e959"}.tgico-revote:before{content:"\\e95a"}.tgico-savedmessages:before{content:"\\e95b"}.tgico-search:before{content:"\\e95c"}.tgico-send:before{content:"\\e95d"}.tgico-send2:before{content:"\\e95e"}.tgico-sending:before{content:""}.tgico-sendingerror:before{content:"\\e960"}.tgico-settings:before{content:"\\e961"}.tgico-smallscreen:before{content:"\\e962"}.tgico-smile:before{content:"\\e963"}.tgico-sport:before{content:"\\e964"}.tgico-stickers:before{content:"\\e965"}.tgico-stop:before{content:"\\e966"}.tgico-tip:before{content:"\\e967"}.tgico-unarchive:before{content:"\\e968"}.tgico-unlock:before{content:"\\e969"}.tgico-unmute:before{content:"\\e96a"}.tgico-unpin:before{content:"\\e96b"}.tgico-unread:before{content:"\\e96c"}.tgico-up:before{content:"\\e96d"}.tgico-user:before{content:"\\e96e"}.tgico-username:before{content:"\\e96f"}\n',""]),e.exports=t},function(e,t){e.exports="assets/fonts/tgico.eot"},function(e,t){e.exports="assets/fonts/tgico.ttf"},function(e,t){e.exports="assets/fonts/tgico.woff"},function(e,t){e.exports="assets/fonts/tgico.svg"},function(e,t,i){!function(){"use strict";e.exports={polyfill:function(){var e=window,t=document;if(!("scrollBehavior"in t.documentElement.style)||!0===e.__forceSmoothScrollPolyfill__){var i,s=e.HTMLElement||e.Element,a=468,o={scroll:e.scroll||e.scrollTo,scrollBy:e.scrollBy,elementScroll:s.prototype.scroll||l,scrollIntoView:s.prototype.scrollIntoView},n=e.performance&&e.performance.now?e.performance.now.bind(e.performance):Date.now,r=(i=e.navigator.userAgent,new RegExp(["MSIE ","Trident/","Edge/"].join("|")).test(i)?1:0);e.scroll=e.scrollTo=function(){void 0!==arguments[0]&&(!0!==d(arguments[0])?p.call(e,t.body,void 0!==arguments[0].left?~~arguments[0].left:e.scrollX||e.pageXOffset,void 0!==arguments[0].top?~~arguments[0].top:e.scrollY||e.pageYOffset):o.scroll.call(e,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:e.scrollX||e.pageXOffset,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:e.scrollY||e.pageYOffset))},e.scrollBy=function(){void 0!==arguments[0]&&(d(arguments[0])?o.scrollBy.call(e,void 0!==arguments[0].left?arguments[0].left:"object"!=typeof arguments[0]?arguments[0]:0,void 0!==arguments[0].top?arguments[0].top:void 0!==arguments[1]?arguments[1]:0):p.call(e,t.body,~~arguments[0].left+(e.scrollX||e.pageXOffset),~~arguments[0].top+(e.scrollY||e.pageYOffset)))},s.prototype.scroll=s.prototype.scrollTo=function(){if(void 0!==arguments[0])if(!0!==d(arguments[0])){var e=arguments[0].left,t=arguments[0].top;p.call(this,this,void 0===e?this.scrollLeft:~~e,void 0===t?this.scrollTop:~~t)}else{if("number"==typeof arguments[0]&&void 0===arguments[1])throw new SyntaxError("Value could not be converted");o.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left:"object"!=typeof arguments[0]?~~arguments[0]:this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top:void 0!==arguments[1]?~~arguments[1]:this.scrollTop)}},s.prototype.scrollBy=function(){void 0!==arguments[0]&&(!0!==d(arguments[0])?this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior}):o.elementScroll.call(this,void 0!==arguments[0].left?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,void 0!==arguments[0].top?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop))},s.prototype.scrollIntoView=function(){if(!0!==d(arguments[0])){var i=function(e){for(;e!==t.body&&!1===(s=c(i=e,"Y")&&u(i,"Y"),a=c(i,"X")&&u(i,"X"),s||a);)e=e.parentNode||e.host;var i,s,a;return e}(this),s=i.getBoundingClientRect(),a=this.getBoundingClientRect();i!==t.body?(p.call(this,i,i.scrollLeft+a.left-s.left,i.scrollTop+a.top-s.top),"fixed"!==e.getComputedStyle(i).position&&e.scrollBy({left:s.left,top:s.top,behavior:"smooth"})):e.scrollBy({left:a.left,top:a.top,behavior:"smooth"})}else o.scrollIntoView.call(this,void 0===arguments[0]||arguments[0])}}function l(e,t){this.scrollLeft=e,this.scrollTop=t}function d(e){if(null===e||"object"!=typeof e||void 0===e.behavior||"auto"===e.behavior||"instant"===e.behavior)return!0;if("object"==typeof e&&"smooth"===e.behavior)return!1;throw new TypeError("behavior member of ScrollOptions "+e.behavior+" is not a valid value for enumeration ScrollBehavior.")}function c(e,t){return"Y"===t?e.clientHeight+r<e.scrollHeight:"X"===t?e.clientWidth+r<e.scrollWidth:void 0}function u(t,i){var s=e.getComputedStyle(t,null)["overflow"+i];return"auto"===s||"scroll"===s}function h(t){var i,s,o,r,l=(n()-t.startTime)/a;r=l=l>1?1:l,i=.5*(1-Math.cos(Math.PI*r)),s=t.startX+(t.x-t.startX)*i,o=t.startY+(t.y-t.startY)*i,t.method.call(t.scrollable,s,o),s===t.x&&o===t.y||e.requestAnimationFrame(h.bind(e,t))}function p(i,s,a){var r,d,c,u,p=n();i===t.body?(r=e,d=e.scrollX||e.pageXOffset,c=e.scrollY||e.pageYOffset,u=o.scroll):(r=i,d=i.scrollLeft,c=i.scrollTop,u=l),h({scrollable:r,method:u,startTime:p,startX:d,startY:c,x:s,y:a})}}}}()},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(35)),o=s(i(70)),n=s(i(22)),r=s(i(52)),l=s(i(14)),d=s(i(1)),c=s(i(18));i(21);let u=null;let h=null,p=null;const m=new c.default("page-authCode",!0,()=>{let e,t,i=0,s=0;const c=u.type.length,h=m.pageEl.querySelector("#code"),p=h.nextElementSibling,g=m.pageEl.querySelector(".phone-edit");h.focus(),g.addEventListener("click",(function(){return a.default.mount()}));let f=()=>{setTimeout(()=>{e&&e.destroy(),t&&t.destroy()},300)};h.addEventListener("input",(function(a){this.classList.remove("error"),this.value=this.value.replace(/\D/g,""),this.value.length>c&&(this.value=this.value.slice(0,c));let l,m=this.value.length;if(m==c)(e=>{h.setAttribute("disabled","true");let t={phone_number:u.phone_number,phone_code_hash:u.phone_code_hash,phone_code:e};console.log("invoking auth.signIn with params:",t),d.default.invokeApi("auth.signIn",t,{ignoreErrors:!0}).then(e=>{switch(console.log("auth.signIn response:",e),e._){case"auth.authorization":d.default.setUserAuth({id:e.user.id}),n.default.mount(),f();break;case"auth.authorizationSignUpRequired":console.log("Registration needed!"),o.default.mount({phone_number:u.phone_number,phone_code_hash:u.phone_code_hash}),f();break;default:h.innerText=e._}}).catch(e=>{switch(h.removeAttribute("disabled"),e.type){case"SESSION_PASSWORD_NEEDED":console.warn("pageAuthCode: SESSION_PASSWORD_NEEDED"),e.handled=!0,f(),r.default.mount();break;case"PHONE_CODE_EMPTY":case"PHONE_CODE_INVALID":h.classList.add("error"),p.innerText="Invalid Code";break;default:p.innerText=e.type}})})(this.value);else if(m==s)return;if(s=m,!e)return;m?(l=Math.round(Math.min(45,m)*(165/45)+11.33),t.canvas.style.display="none",e.canvas.style.display=""):l=0;let g=i>l?-1:1;console.log("keydown",m,l,g),e.setDirection(g),0!=i&&0==l&&e.setSpeed(7),i=l,e.play()}));let b=m.pageEl.querySelector(".auth-image");return Promise.all([l.default.loadLottieWorkers(),fetch("assets/img/TwoFactorSetupMonkeyIdle.tgs").then(e=>e.arrayBuffer()).then(e=>d.default.gzipUncompress(e,!0)).then(e=>l.default.loadAnimationWorker({container:b,loop:!0,autoplay:!0,animationData:JSON.parse(e),width:166,height:166})).then(e=>{t=e}),fetch("assets/img/TwoFactorSetupMonkeyTracking.tgs").then(e=>e.arrayBuffer()).then(e=>d.default.gzipUncompress(e,!0)).then(e=>l.default.loadAnimationWorker({container:b,loop:!1,autoplay:!1,animationData:JSON.parse(e),width:166,height:166})).then(s=>{e=s,h.value.length||(e.canvas.style.display="none"),e.addListener("enterFrame",s=>{console.log("enterFrame",s,i),(1==e.direction&&s>=i||-1==e.direction&&s<=i)&&(e.setSpeed(1),e.pause()),0==s&&0==i&&(e.curFrame=0,t&&(e.canvas.style.display="none",t.canvas.style.display="",t.restart()))})})])},e=>{switch(u=e,h||(h=m.pageEl.getElementsByClassName("phone")[0],p=m.pageEl.getElementsByClassName("sent-type")[0]),h.innerText=u.phone_number,u.type._){case"auth.sentCodeTypeSms":p.innerHTML="We have sent you an SMS<br>with the code.";break;case"auth.sentCodeTypeApp":p.innerHTML="We have sent you a message in Telegram<br>with the code.";break;case"auth.sentCodeTypeCall":p.innerHTML="We will call you and voice<br>the code.";break;default:p.innerHTML=`Please check everything<br>for a code (type: ${u.type._})`}});t.default=m},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(2),o=s(i(22)),n=s(i(1)),r=s(i(18)),l=s(i(50)),d=s(i(16));let c=null;const u=new r.default("page-signUp",!0,()=>{const e=u.pageEl,t=e.querySelector("#canvas-avatar");let i;e.querySelector(".auth-image").addEventListener("click",()=>{l.default.open(t,e=>{i=e})});const s=e.getElementsByClassName("fullName")[0];let r=function(e){let t=h.value||"",i=p.value||"",a=t||i?(t+" "+i).trim():"Your Name";s.innerText!=a&&(s.innerText=a),this.classList.remove("error")};const h=document.getElementById("name");h.addEventListener("input",r);const p=document.getElementById("lastName");p.addEventListener("input",r),document.getElementById("signUp").addEventListener("click",(function(e){if(this.setAttribute("disabled","true"),!h.value.length)return h.classList.add("error"),!1;let t=h.value,s=p.value,r={phone_number:c.phone_number,phone_code_hash:c.phone_code_hash,first_name:t,last_name:s};console.log("invoking auth.signUp with params:",r),this.textContent="PLEASE WAIT...",a.putPreloader(this),n.default.invokeApi("auth.signUp",r).then(e=>{switch(console.log("auth.signUp response:",e),e._){case"auth.authorization":n.default.setUserAuth({id:e.user.id}),new Promise((e,t)=>{if(!i)return console.log("User has not selected avatar"),e();console.log("invoking uploadFile..."),i().then(i=>{console.log("uploaded smthn",i),d.default.uploadProfilePhoto(i).then(e,t)},t)}).then(()=>{o.default.mount()},()=>{o.default.mount()});break;default:this.innerText=e._}}).catch(e=>{this.removeAttribute("disabled"),e.type,this.innerText=e.type})}))},e=>{c=e});t.default=u},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(0),o=i(2),n=s(i(14));const r=new class{constructor(){this.pageID=-1,this.pagesDiv=document.getElementById("auth-pages"),this.selectTab=o.horizontalMenu(null,this.pagesDiv.firstElementChild,null,null,420)}setPage(e){if(e.isAuthPage){this.pagesDiv.style.display="";let t=a.whichChild(e.pageEl);if(this.pageID==t)return;this.selectTab(t),-1!=this.pageID&&t>1&&n.default.loadLottieWorkers(),this.pageID=t}else this.pagesDiv.style.display="none",e.pageEl.style.display="",this.pageID=-1}};window.pagesManager=r,t.default=r},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=i(10);t.default=class{sha1Hash(e){return this.performTaskWorker("sha1-hash",e)}sha256Hash(e){return this.performTaskWorker("sha256-hash",e)}pbkdf2(e,t,i){return this.performTaskWorker("pbkdf2",e,t,i)}aesEncrypt(e,t,i){return this.performTaskWorker("aes-encrypt",s.convertToArrayBuffer(e),s.convertToArrayBuffer(t),s.convertToArrayBuffer(i))}aesDecrypt(e,t,i){return this.performTaskWorker("aes-decrypt",e,t,i).then(e=>s.convertToArrayBuffer(e))}rsaEncrypt(e,t){return this.performTaskWorker("rsa-encrypt",e,t)}factorize(e){return e=s.convertToByteArray(e),this.performTaskWorker("factorize",e)}modPow(e,t,i){return this.performTaskWorker("mod-pow",e,t,i)}gzipUncompress(e,t){return this.performTaskWorker("unzip",e,t)}}},function(e,t,i){e.exports=function(){return new Worker(i.p+"02eaa87b9ae14b0f67d2.worker.js")}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=i(10),o=s(i(26));const n=new class{constructor(){this.dbName="cachedFiles",this.dbStoreName="files",this.dbVersion=2,this.storageIsAvailable=!0,this.storeBlobsAvailable=!0,this.name="IndexedDB",this.openDatabase()}isAvailable(){return this.storageIsAvailable}openDatabase(){if(this.openDbPromise)return this.openDbPromise;var e;try{var t=indexedDB.open(this.dbName,this.dbVersion);if(e=e=>{e.createObjectStore(this.dbStoreName)},!t)throw new Error}catch(e){return console.error("error opening db",e.message),this.storageIsAvailable=!1,Promise.reject(e)}var i=!1;return setTimeout(()=>{i||t.onerror({type:"IDB_CREATE_TIMEOUT"})},3e3),this.openDbPromise=new Promise((s,a)=>{t.onsuccess=e=>{i=!0;var o=t.result;console.log("Opened IndexedDB"),o.onerror=e=>{this.storageIsAvailable=!1,console.error("Error creating/accessing IndexedDB database",e),a(e)},s(o)},t.onerror=e=>{i=!0,this.storageIsAvailable=!1,console.error("Error creating/accessing IndexedDB database",e),a(e)},t.onupgradeneeded=t=>{i=!0,console.warn("performing idb upgrade from",t.oldVersion,"to",t.newVersion);var s=t.target.result;1==t.oldVersion&&s.deleteObjectStore(this.dbStoreName),e(s)}})}deleteFile(e){return this.openDatabase().then(t=>{try{var i=t.transaction([this.dbStoreName],"readwrite").objectStore(this.dbStoreName);console.log("Delete file: `"+e+"`");var s=i.delete(e)}catch(e){return Promise.reject(e)}return new Promise((e,t)=>{s.onsuccess=function(t){console.log("deleted file",t),e()},s.onerror=function(e){t(e)}})})}saveFile(e,t){return this.openDatabase().then(i=>{if(!this.storeBlobsAvailable)return this.saveFileBase64(i,e,t);t instanceof Blob||(t=a.blobConstruct([t]));try{var s=i.transaction([this.dbStoreName],"readwrite").objectStore(this.dbStoreName).put(t,e)}catch(s){return this.storeBlobsAvailable?(this.storeBlobsAvailable=!1,this.saveFileBase64(i,e,t)):(this.storageIsAvailable=!1,Promise.reject(s))}return new Promise((e,i)=>{s.onsuccess=function(i){e(t)},s.onerror=function(e){i(e)}})})}saveFileBase64(e,t,i){if(this.getBlobSize(i)>10485760)return Promise.reject();if(!(i instanceof Blob)){var s="data:"+a.blobSafeMimeType(i.type||"image/jpeg")+";base64,"+a.bytesToBase64(i);return this.storagePutB64String(e,t,s).then(()=>i)}try{var o=new FileReader}catch(e){return this.storageIsAvailable=!1,Promise.reject()}let n=new Promise((s,a)=>{o.onloadend=()=>{this.storagePutB64String(e,t,o.result).then(()=>{s(i)},a)},o.onerror=a});try{o.readAsDataURL(i)}catch(e){return this.storageIsAvailable=!1,Promise.reject()}return n}storagePutB64String(e,t,i){try{var s=e.transaction([this.dbStoreName],"readwrite").objectStore(this.dbStoreName).put(i,t)}catch(e){return this.storageIsAvailable=!1,Promise.reject(e)}return new Promise((e,t)=>{s.onsuccess=function(t){e()},s.onerror=t})}getBlobSize(e){return e.size||e.byteLength||e.length}getFile(e,t){return this.openDatabase().then(t=>{var i=t.transaction([this.dbStoreName],"readonly").objectStore(this.dbStoreName).get(e);return new Promise((e,t)=>{i.onsuccess=function(i){var s=i.target.result;void 0===s?t():"string"==typeof s&&"data:"===s.substr(0,5)?e(a.dataUrlToBlob(s)):e(s)},i.onerror=t})})}getAllKeys(){return console.time("getAllEntries"),this.openDatabase().then(e=>{var t=e.transaction([this.dbStoreName],"readonly").objectStore(this.dbStoreName).getAllKeys();return new Promise((e,i)=>{t.onsuccess=function(t){var i=t.target.result;e(i),console.timeEnd("getAllEntries")},t.onerror=i})})}isFileExists(e){return console.time("isFileExists"),this.openDatabase().then(t=>{var i=t.transaction([this.dbStoreName],"readonly").objectStore(this.dbStoreName).openCursor(e);return new Promise((e,t)=>{i.onsuccess=function(t){var i=t.target.result;e(!!i),console.timeEnd("isFileExists")},i.onerror=t})})}getFileWriter(e,t){var i=o.default.getFakeFileWriter(t,t=>{this.saveFile(e,t)});return Promise.resolve(i)}};t.default=n},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(12)),o=i(21);class n{constructor(){this.disabled=o.Modes.test||-1==o.App.domains.indexOf(location.hostname)||"http:"!=location.protocol&&"https:"!=location.protocol||"https:"==location.protocol&&"web.telegram.org"!=location.hostname}setAuthorized(e){if(this.disabled)return!1;a.default.get("tgme_sync").then(t=>{var i=Date.now()/1e3;if(e&&t&&t.canRedirect==e&&t.ts+86400>i)return!1;a.default.set({tgme_sync:{canRedirect:e,ts:i}}),["//telegram.me/_websync_?authed="+(e?"1":"0"),"//t.me/_websync_?authed="+(e?"1":"0")].forEach(e=>{let t=document.createElement("script");t.onload=t.onerror=function(){t.remove()},t.src=e,document.body.appendChild(t)})})}}t.TelegramMeWebService=n,t.telegramMeWebService=new n},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var i,s,a,o={},n=1,r=0,l=0,d=0,c=0;function u(){if(e.dataset.isCrop)throw"image is already crop";e.dataset.isCrop="true",e.classList.add("crop-blur"),e.draggable=!1,(a=new Image).crossOrigin=e.crossOrigin,a.src=e.src,a.draggable=!1,t||(t=document.createElement("canvas")),(i=document.createElement("div")).classList.add("crop-component"),(s=document.createElement("div")).classList.add("overlay");let o=document.createElement("div");o.classList.add("crop-overlay-color"),i.appendChild(s),e.parentNode.appendChild(i),i.appendChild(a),i.appendChild(e),i.appendChild(o),s.appendChild(a),a.style.maxWidth=e.width+"px",h(e.offsetWidth/2-100,e.offsetHeight/2-100),s.addEventListener("mousedown",b,!1),s.addEventListener("touchstart",b,!1),s.addEventListener("wheel",f,!1),document.addEventListener("keypress",g,!1)}function h(e,t){r=-e*n,l=-t*n,a.style.top=-t+"px",a.style.left=-e+"px"}function p(e,t){let i=t+100+"px",a=e+100+"px";s.style.top=i,s.style.left=a}function m(e){e=e*Math.PI*2;var t,i,o,r,l,d,c=Math.floor(s.clientWidth+e),u=Math.floor(s.clientHeight+e),m=a.clientWidth,g=a.clientHeight;c<50||(c>m||(o=(t=s.offsetLeft-e/2)+c,r=(i=s.offsetTop-e/2)+u,t<0&&(t=0),i<0&&(i=0),o>m||r>g||(n=200/c,l=c,d=c,s.style.width=l+"px",s.style.height=d+"px",h(t,i),p(t,i))))}function g(e){switch(e.preventDefault(),String.fromCharCode(e.charCode)){case"+":m(4);break;case"-":m(-4)}}function f(e){e.preventDefault(),m(e.deltaY>0?1:-1)}function b(e){e.preventDefault(),e.stopPropagation(),function(e){o.container_width=s.offsetWidth,o.container_height=s.offsetHeight,o.container_left=s.offsetLeft,o.container_top=s.offsetTop,o.mouse_x=(e.clientX||e.pageX||e.touches&&e.touches[0].clientX)+window.scrollX,o.mouse_y=(e.clientY||e.pageY||e.touches&&e.touches[0].clientY)+window.scrollY}(e),document.addEventListener("mousemove",y),document.addEventListener("touchmove",y),document.addEventListener("mouseup",v),document.addEventListener("touchend",v)}function v(e){e.preventDefault(),document.removeEventListener("mouseup",v),document.removeEventListener("touchend",v),document.removeEventListener("mousemove",y),document.removeEventListener("touchmove",y)}function y(e){var t,i,n,r,l={x:0,y:0};e.preventDefault(),e.stopPropagation(),l.x=e.pageX||e.touches&&e.touches[0].pageX,l.y=e.pageY||e.touches&&e.touches[0].pageY,t=l.x-(o.mouse_x-o.container_left),i=l.y-(o.mouse_y-o.container_top),n=s.offsetWidth,r=s.offsetHeight,t<0?t=0:t>a.offsetWidth-n&&(t=a.offsetWidth-n),i<0?i=0:i>a.offsetHeight-r&&(i=a.offsetHeight-r),h(t,i),p(t,i)}return e.complete?u():e.onload=u,{crop:function(){d=a.width*n,c=a.height*n,t.width=200,t.height=200,t.getContext("2d").drawImage(a,r,l,d,c)},removeHandlers:function(){s.removeEventListener("mousedown",b),s.removeEventListener("touchstart",b),s.removeEventListener("wheel",f),document.removeEventListener("mouseup",v),document.removeEventListener("touchend",v),document.removeEventListener("mousemove",y),document.removeEventListener("touchmove",y),document.removeEventListener("keypress",g),i.remove(),s.remove(),a.remove()}}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(44)),o=i(3),n=i(0);let r=0;const l=[];n.$rootScope.$on("poll_update",e=>{let{poll:t,results:i}=e.detail;for(let e of l)if(e.id==t.id){e.element.performResults(i,t.chosenIndex)}});class d extends HTMLElement{constructor(){super(),this.maxOffset=-46.5,this.isQuiz=!1,this.isRetracted=!1,this.chosenIndex=-1}connectedCallback(){r||(r=document.getElementById("poll-line").getTotalLength(),console.log("line total length:",r));let e=this.getAttribute("poll-id"),{poll:t,results:i}=a.default.getPoll(e);l.push({id:e,element:this}),console.log("pollElement poll:",t,i);let s="";if(t.pFlags)if(t.pFlags.closed)s="Final results";else{t.pFlags.quiz&&(this.isQuiz=!0);let e=this.isQuiz?"Quiz":"Poll";s=(t.pFlags.public_voters?"Public":"Anonymous")+" "+e}let n=t.answers.map((e,t)=>`\n <div class="poll-answer" data-index="${t}">\n <div class="circle-hover">\n <div class="animation-ring"></div>\n <svg class="progress-ring">\n <circle class="progress-ring__circle" cx="13" cy="13" r="9"></circle>\n </svg>\n </div>\n <div class="poll-answer-percents"></div>\n <div class="poll-answer-text">${o.RichTextProcessor.wrapEmojiText(e.text)}</div>\n <svg version="1.1" class="poll-line" style="display: none;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 480 35" xml:space="preserve">\n <use href="#poll-line"></use>\n </svg>\n </div>\n `).join("");this.innerHTML=`\n <div class="poll-title">${t.rQuestion}</div>\n <div class="poll-desc">${s}</div>\n ${n}\n <div class="poll-votes-count"></div>\n `,this.answerDivs=Array.from(this.querySelectorAll(".poll-answer")),this.votersCountDiv=this.querySelector(".poll-votes-count"),this.svgLines=Array.from(this.querySelectorAll(".poll-line")),this.numberDivs=Array.from(this.querySelectorAll(".poll-answer-percents"));let d=this.getBoundingClientRect().width;this.maxLength=d+9+this.maxOffset+-13.7,-1!==t.chosenIndex?this.performResults(i,t.chosenIndex):(this.setVotersCount(i),this.addEventListener("click",this.clickHandler))}disconnectedCallback(){l.findAndSplice(e=>e.element==this)}static get observedAttributes(){return[]}attributeChangedCallback(e,t,i){}adoptedCallback(){}clickHandler(e){let t=n.findUpClassName(e.target,"poll-answer");if(!t)return;let i=+t.dataset.index;this.sendVote(i)}sendVote(e){let t=this.answerDivs[e];t.classList.add("is-voting");let i=+this.getAttribute("message-id");this.classList.add("disable-hover"),a.default.sendVote(i,[e]).then(()=>{t.classList.remove("is-voting"),this.classList.remove("disable-hover")})}performResults(e,t){if(this.chosenIndex!=t&&(this.isRetracted=-1!=this.chosenIndex&&-1==t,this.chosenIndex=t,this.isRetracted?this.addEventListener("click",this.clickHandler):this.removeEventListener("click",this.clickHandler)),-1!=this.chosenIndex||this.isRetracted){const i=e.results.map(t=>t.voters/e.total_voters*100);this.setResults(this.isRetracted?this.percents:i,t),this.percents=i,this.isRetracted=!1}this.setVotersCount(e)}setResults(e,t){if(this.svgLines.forEach(e=>e.style.display=""),-1!==t){let e=this.answerDivs[t];this.selectedSpan||(this.selectedSpan=document.createElement("span"),this.selectedSpan.classList.add("poll-answer-selected","tgico-check")),e.append(this.selectedSpan)}let i=Math.max(...e);if(this.maxLengths=e.map(e=>e/i*this.maxLength),this.isRetracted?this.svgLines.forEach((e,t)=>{this.setLineProgress(t,-1)}):this.svgLines.forEach((e,t)=>{e.getBoundingClientRect(),this.setLineProgress(t,1)}),(e=>{let t=e.reduce((e,t)=>e+Math.round(t),0);if(t>100){let i=t-100,s=e.length;for(let t=0;t<i;++t){let t=-1,i=1;for(let a=0;a<s;++a){let s=e[a]%1;s>=.5&&s<i&&(i=s,t=a)}if(-1==t)throw new Error("lol chto");e[t]-=i}}else if(t<100){let i=100-t,s=e.length;for(let t=0;t<i;++t){let t=-1,i=0;for(let a=0;a<s;++a){let s=e[a]%1;s<.5&&s>i&&(i=s,t=a)}if(-1==t)throw new Error("lol chto");e[t]+=1-i}}})(e=e.slice()),this.isRetracted)for(let t=9,i=0;t>=0;--t,++i)setTimeout(()=>{e.forEach((e,i)=>{let s=Math.round(e/10*t);this.numberDivs[i].innerText=s+"%"})},34*i);else for(let t=0;t<10;++t)setTimeout(()=>{e.forEach((e,i)=>{let s=Math.round(e/10*(t+1));this.numberDivs[i].innerText=s+"%"})},34*t);this.isRetracted?(this.classList.add("is-retracting"),this.classList.remove("is-voted"),setTimeout(()=>{this.classList.remove("is-retracting"),this.svgLines.forEach(e=>e.style.display="none")},340)):this.classList.add("is-voted")}setVotersCount(e){let t=e.total_voters||0,i=this.isQuiz?t>1||!t?"answers":"answer":t>1||!t?"votes":"vote";this.votersCountDiv.innerText=""+(e.total_voters?e.total_voters+" "+i:"No "+i)}setLineProgress(e,t){let i=this.svgLines[e];-1==t?(i.style.strokeDasharray="",i.style.strokeDashoffset=""):(i.style.strokeDasharray=t*this.maxLengths[e]+", 485.9",i.style.strokeDashoffset=""+t*this.maxOffset)}}t.default=d,customElements.define("poll-element",d)},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const o=s(i(9)),n=i(3),r=s(i(1)),l=s(i(43)),d=s(i(15)),c=i(0),u=i(32),h=s(i(5)),p=a(i(79)),m=s(i(14)),g=i(51),f=s(i(80));console.log("Imported recorder!",f.default);t.ChatInput=class{constructor(){this.pageEl=document.getElementById("page-chats"),this.messageInput=document.getElementById("input-message"),this.fileInput=document.getElementById("input-file"),this.inputMessageContainer=document.getElementsByClassName("input-message-container")[0],this.inputScroll=new o.default(this.inputMessageContainer),this.btnSend=document.getElementById("btn-send"),this.emoticonsDropdown=null,this.emoticonsTimeout=0,this.emoticonsLazyLoadQueue=null,this.lastUrl="",this.lastTimeType=0,this.attachMenu={},this.attachMediaPopUp={},this.replyElements={},this.willSendWebPage=null,this.replyToMsgID=0,this.editMsgID=0,this.noWebPage=!1,this.toggleEmoticons=this.pageEl.querySelector(".toggle-emoticons"),this.attachMenu.container=document.getElementById("attach-file"),this.attachMenu.media=this.attachMenu.container.querySelector(".menu-media"),this.attachMenu.document=this.attachMenu.container.querySelector(".menu-document"),this.attachMenu.poll=this.attachMenu.container.querySelector(".menu-poll"),this.attachMediaPopUp.container=this.pageEl.querySelector(".popup-send-photo"),this.attachMediaPopUp.titleEl=this.attachMediaPopUp.container.querySelector(".popup-title"),this.attachMediaPopUp.sendBtn=this.attachMediaPopUp.container.querySelector(".btn-primary"),this.attachMediaPopUp.mediaContainer=this.attachMediaPopUp.container.querySelector(".popup-photo"),this.attachMediaPopUp.captionInput=this.attachMediaPopUp.container.querySelector("input"),this.replyElements.container=this.pageEl.querySelector(".reply-wrapper"),this.replyElements.cancelBtn=this.replyElements.container.querySelector(".reply-cancel"),this.replyElements.titleEl=this.replyElements.container.querySelector(".reply-title"),this.replyElements.subtitleEl=this.replyElements.container.querySelector(".reply-subtitle"),this.messageInput.addEventListener("keydown",e=>{if("Enter"==e.key){if(e.shiftKey||e.ctrlKey||e.metaKey)return;this.sendMessage()}}),this.messageInput.addEventListener("input",e=>{let t=this.messageInput.innerText,i=n.RichTextProcessor.parseEntities(t).find(e=>"messageEntityUrl"==e._);if(i){let e=t.slice(i.offset,i.offset+i.length);this.lastUrl!=e&&(this.lastUrl=e,this.willSendWebPage=null,r.default.invokeApi("messages.getWebPage",{url:e,hash:0}).then(t=>{l.default.saveWebPage(t),this.lastUrl==e&&(console.log("got webpage: ",t),this.setTopInfo(t.site_name||t.title,t.description||t.url),this.replyToMsgID=0,this.noWebPage=!1,this.willSendWebPage=t)}))}if(t.trim()||this.serializeNodes(Array.from(this.messageInput.childNodes)).trim()){if(!this.btnSend.classList.contains("tgico-send")){this.btnSend.classList.add("tgico-send"),this.btnSend.classList.remove("tgico-microphone2");let e=Date.now();e-this.lastTimeType>=6e3&&(this.lastTimeType=e,d.default.setTyping("sendMessageTypingAction"))}}else this.messageInput.innerHTML="",this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2"),d.default.setTyping("sendMessageCancelAction")}),n.RichTextProcessor.emojiSupported||this.messageInput.addEventListener("copy",e=>{const t=document.getSelection();let i=t.getRangeAt(0),s=i.commonAncestorContainer,a="",o=Array.from(s.childNodes).slice(i.startOffset,i.endOffset);a=o.length?this.serializeNodes(o):t.toString(),event.clipboardData.setData("text/plain",a),event.preventDefault()}),this.messageInput.addEventListener("paste",e=>{e.preventDefault();let t=(e.originalEvent||e).clipboardData.getData("text/plain");t=n.RichTextProcessor.wrapEmojiText(t),window.document.execCommand("insertHTML",!1,t)});let e=e=>new Promise((t,s)=>{let a={};a.file=e,console.log("selected file:",e,typeof e,i);let o=document.createElement("div");switch(i.type){case"media":{let i=0===e.type.indexOf("video/");if(o.classList.add("popup-item-media"),i){let i=document.createElement("video"),s=document.createElement("source");s.src=a.objectURL=URL.createObjectURL(e),i.autoplay=!1,i.controls=!1,i.onloadeddata=()=>{a.width=i.videoWidth,a.height=i.videoHeight,a.duration=Math.floor(i.duration),o.append(i),t(o)},i.append(s)}else{let i=new Image;i.src=a.objectURL=URL.createObjectURL(e),i.onload=()=>{a.width=i.naturalWidth,a.height=i.naturalHeight,o.append(i),t(o)}}break}case"document":{let i=u.wrapDocument({file:e,file_name:e.name||"",size:e.size,type:-1!==e.type.indexOf("image/")?"photo":"doc"},!1,!0);o.append(i),t(o);break}}i.sendFileDetails.push(a)}),t=t=>{this.fileInput.value="";let s=this.attachMediaPopUp.container.firstElementChild;if(s.classList.remove("is-media","is-document","is-album"),this.attachMediaPopUp.captionInput.value="",this.attachMediaPopUp.mediaContainer.innerHTML="",this.attachMediaPopUp.mediaContainer.style.width=this.attachMediaPopUp.mediaContainer.style.height="",i.sendFileDetails=[],(t=t.filter(e=>"media"!=i.type||["image/","video/"].find(t=>0===e.type.indexOf(t)))).length)if("document"==i.type)this.attachMediaPopUp.titleEl.innerText="Send "+(t.length>1?t.length+" Files":"File"),s.classList.add("is-document");else{s.classList.add("is-media");let e=0,i=0;t.forEach(t=>{0===t.type.indexOf("image/")?++e:0===t.type.indexOf("video/")&&++i}),e&&i?this.attachMediaPopUp.titleEl.innerText="Send Album":e?this.attachMediaPopUp.titleEl.innerText="Send "+(e>1?e+" Photos":"Photo"):i&&(this.attachMediaPopUp.titleEl.innerText="Send "+(i>1?i+" Videos":"Video"))}Promise.all(t.map(e)).then(e=>{if("media"==i.type)if(i.sendFileDetails.length>1){s.classList.add("is-album");let t=new g.Layouter(i.sendFileDetails.map(e=>({w:e.width,h:e.height})),380,100,4).layout();for(let{geometry:i,sides:s}of t){let t=e.shift();t.style.width=i.width+"px",t.style.height=i.height+"px",t.style.top=i.y+"px",t.style.left=i.x+"px",s&g.RectPart.Right&&(this.attachMediaPopUp.mediaContainer.style.width=i.width+i.x+"px"),s&g.RectPart.Bottom&&(this.attachMediaPopUp.mediaContainer.style.height=i.height+i.y+"px"),this.attachMediaPopUp.mediaContainer.append(t)}console.log("chatInput album layout:",t)}else{let t=i.sendFileDetails[0],s=e[0],{w:a,h:o}=c.calcImageInBox(t.width,t.height,380,320);s.style.width=a+"px",s.style.height=o+"px",this.attachMediaPopUp.mediaContainer.append(s)}else this.attachMediaPopUp.mediaContainer.append(...e);this.attachMediaPopUp.container.classList.add("active")})},i={sendFileDetails:[]};this.fileInput.addEventListener("change",e=>{let i=e.target.files;i.length&&t(Array.from(i))},!1),this.attachMenu.media.addEventListener("click",()=>{i.type="media",this.fileInput.click()}),this.attachMenu.document.addEventListener("click",()=>{i.type="document",this.fileInput.click()}),document.addEventListener("paste",e=>{if(d.default.peerID&&!this.attachMediaPopUp.container.classList.contains("active")){var s=(e.clipboardData||e.originalEvent.clipboardData).items;for(let a=0;a<s.length;++a)if("file"==s[a].kind){e.preventDefault(),e.cancelBubble=!0,e.stopPropagation();let o=s[a].getAsFile();if(!o)continue;i.type=0===o.type.indexOf("image/")?"media":"document",t([o])}}},!0),this.attachMediaPopUp.sendBtn.addEventListener("click",()=>{this.attachMediaPopUp.container.classList.remove("active");let e=this.attachMediaPopUp.captionInput.value;i.isMedia="media"==i.type,console.log("will send files with options:",i);let t=d.default.peerID;if(i.sendFileDetails.length>1&&i.isMedia)h.default.sendAlbum(t,i.sendFileDetails.map(e=>e.file),Object.assign({caption:e,replyToMsgID:this.replyToMsgID},i));else{e&&i.sendFileDetails.length>1&&(h.default.sendText(t,e,{replyToMsgID:this.replyToMsgID}),e="",this.replyToMsgID=0);i.sendFileDetails.map(s=>{let a=h.default.sendFile(t,s.file,Object.assign({isMedia:i.isMedia,caption:e,replyToMsgID:this.replyToMsgID},s));return e="",this.replyToMsgID=0,a})}this.onMessageSent()}),this.btnSend.addEventListener("click",()=>{this.btnSend.classList.contains("tgico-send")&&this.sendMessage()});let s=0;this.toggleEmoticons.onmouseover=e=>{clearTimeout(this.emoticonsTimeout),this.emoticonsTimeout=setTimeout(()=>{if(this.emoticonsDropdown)this.emoticonsDropdown.style.display="",this.emoticonsDropdown.offsetLeft,this.emoticonsDropdown.classList.add("active"),this.emoticonsLazyLoadQueue.unlock(),clearTimeout(s);else{let e=p.default(this.pageEl,d.default,h.default,this.messageInput,this.toggleEmoticons,this.btnSend);this.emoticonsDropdown=e.dropdown,this.emoticonsLazyLoadQueue=e.lazyLoadQueue,this.toggleEmoticons.onmouseout=this.emoticonsDropdown.onmouseout=e=>{clearTimeout(this.emoticonsTimeout),this.emoticonsTimeout=setTimeout(()=>{this.emoticonsDropdown.classList.remove("active"),this.toggleEmoticons.classList.remove("active"),m.default.checkAnimations(!0,p.EMOTICONSSTICKERGROUP),this.emoticonsLazyLoadQueue.lock(),clearTimeout(s),s=setTimeout(()=>{this.emoticonsDropdown.style.display="none"},200)},200)},this.emoticonsDropdown.onmouseover=e=>{clearTimeout(this.emoticonsTimeout)}}this.toggleEmoticons.classList.add("active"),m.default.checkAnimations(!1,p.EMOTICONSSTICKERGROUP)},0)},this.replyElements.cancelBtn.addEventListener("click",()=>{if(this.replyElements.container.classList.remove("active"),this.replyToMsgID=0,this.editMsgID)if(this.willSendWebPage){let e=h.default.getMessage(this.editMsgID);this.setTopInfo("Editing",e.message)}else this.editMsgID=0,this.messageInput.innerHTML="",this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2");this.noWebPage=!0,this.willSendWebPage=null})}serializeNodes(e){return e.reduce((e,t)=>"object"==typeof t&&t.textContent?e+t.textContent:t.innerText?e+t.innerText:"IMG"==t.tagName&&t.classList&&t.classList.contains("emoji")?e+t.getAttribute("alt"):e,"")}onMessageSent(e=!0){let t=h.default.getDialogByPeerID(d.default.peerID)[0];t&&t.top_message&&h.default.readHistory(d.default.peerID,t.top_message),e&&(this.lastUrl="",this.editMsgID=0,this.replyToMsgID=0,this.noWebPage=!1,this.replyElements.container.classList.remove("active"),this.willSendWebPage=null,this.messageInput.innerText="",this.btnSend.classList.remove("tgico-send"),this.btnSend.classList.add("tgico-microphone2"))}sendMessage(){let e=c.getRichValue(this.messageInput);this.editMsgID?h.default.editMessage(this.editMsgID,e,{noWebPage:this.noWebPage}):h.default.sendText(d.default.peerID,e,{replyToMsgID:0==this.replyToMsgID?void 0:this.replyToMsgID,noWebPage:this.noWebPage,webPage:this.willSendWebPage}),this.onMessageSent()}setTopInfo(e,t,i,s){"DIV"==this.replyElements.container.lastElementChild.tagName&&(this.replyElements.container.lastElementChild.remove(),this.replyElements.container.append(u.wrapReply(e,t,s))),this.replyElements.container.classList.add("active"),void 0!==i&&(this.messageInput.innerHTML=i?n.RichTextProcessor.wrapRichText(i):"",this.btnSend.classList.remove("tgico-microphone2"),this.btnSend.classList.add("tgico-send"))}}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const o=i(2),n=a(i(14)),r=a(i(9)),l=i(0),d=i(3),c=a(i(39)),u=a(i(1)),h=a(i(30)),p=i(32),m=a(i(11)),g=a(i(24)),f=a(i(17));t.EMOTICONSSTICKERGROUP="emoticons-dropdown";t.default=(e,i,a,b,v,y)=>{let w=e.querySelector(".emoji-dropdown");w.classList.add("active");let x=new h.default(5),_=e.querySelector(".emoji-container .tabs-container"),k=e.querySelector(".emoji-dropdown .emoji-tabs"),M=-1;o.horizontalMenu(k,_,e=>{n.default.checkAnimations(!0,t.EMOTICONSSTICKERGROUP),M=e},()=>{1==M&&I?I():2==M&&P&&P(),n.default.checkAnimations(!1,t.EMOTICONSSTICKERGROUP)}),k.firstElementChild.children[0].click(),k.lastElementChild.style.cssText="width: 44.1719px; transform: translateX(88.5781px);";let D=(e,i,s,a)=>{e.addEventListener("click",(function(e){let a=e.target;a=l.findUpTag(a,"LI");let o=l.whichChild(a),r=i[o-1]||0;s.container.scrollTop=r,setTimeout(()=>{n.default.checkAnimations(!0,t.EMOTICONSSTICKERGROUP)},100)}))},S=(e,t,i,s,a)=>{let o=s.scrollTop;for(let s=0;s<t.length;++s){if(o<t[s]){e.children[i].classList.remove("active"),i=s,e.children[i].classList.add("active"),a&&(s<t.length-4?a.container.scrollLeft=47*(s-3):a.container.scrollLeft=47*s);break}}return i};{const e=["Smileys & Emotion","Animals & Nature","Food & Drink","Travel & Places","Activities","Objects","Flags","Skin Tones"];let t={},i={};for(let t in f.default.Emoji){let s=""+f.default.Emoji[t],a=e[+s[0]-1];a&&(i[a]||(i[a]=[]),i[a][+s.slice(1)||0]=t)}console.log("emoticons sorted:",i),e.pop(),delete i["Skin Tones"];for(let e in i){let s=document.createElement("div");s.classList.add("emoji-category");let a=document.createElement("div");a.classList.add("category-title"),a.innerText=e;let o=document.createElement("div");o.classList.add("category-items"),s.append(a,o),i[e].forEach(e=>{let t=document.createElement("span"),i=d.RichTextProcessor.wrapRichText(e);i.includes("emoji")?(t.innerHTML=i,o.appendChild(t)):console.log(e,i,t,e.length,(new TextEncoder).encode(e))}),t[e]=s}let s=document.getElementById("content-emoji"),a=[0],o=1,n=s.nextElementSibling.firstElementChild,l=new r.default(s,"y","EMOJI",null);l.container.addEventListener("scroll",e=>{o=S(n,a,o,l.container)}),e.map(e=>{let i=t[e];return i||console.error("no div by category:",e),l.append(i),i}).forEach(e=>{a.push((a[a.length-1]||0)+e.scrollHeight)}),s.addEventListener("click",(function(e){let t=e.target;if("SPAN"!=t.tagName||t.classList.contains("emoji")){if("DIV"==t.tagName)return}else t=t.firstElementChild;b.innerHTML+=t.outerHTML,y.classList.add("tgico-send"),y.classList.remove("tgico-microphone2")})),D(n,a,l)}let E=e=>{let t=e.target;t=l.findUpTag(t,"DIV");let s=t.dataset.docID,o=m.default.getDoc(s);"documentEmpty"!=o._?(a.sendFile(i.peerID,o,{isMedia:!0}),i.chatInputC.onMessageSent(!1),w.classList.remove("active"),v.classList.remove("active")):console.warn("got no doc by id:",s)},I=()=>{let e=document.getElementById("content-stickers"),i=e.nextElementSibling,a=i.firstElementChild.firstElementChild,l=new r.default(i,"x"),d=document.createElement("div");d.classList.add("stickers-categories"),e.append(d),d.addEventListener("click",E);let h=[],m=0,g=(e,i,s,a)=>{let o=document.createElement("div");o.classList.add("category-items");let n=document.createElement("div");n.classList.add("category-title"),n.innerText=i,e.append(n,o),s.forEach(e=>{let i=document.createElement("div");p.wrapSticker({doc:e,div:i,lazyLoadQueue:x,group:t.EMOTICONSSTICKERGROUP,onlyThumb:!0}),o.append(i)}),a?b.prepend(e):b.append(e),m&&window.cancelAnimationFrame(m),m=window.requestAnimationFrame(()=>{m=0;let e=parseInt(window.getComputedStyle(b.container).getPropertyValue("padding-top"))||0;h.length=0,Array.from(b.splitUp.children).forEach((t,i)=>{h[i]=(h[i-1]||0)+t.scrollHeight+(0==i?e:0)})})},f=0,b=new r.default(e,"y","STICKERS",void 0,void 0,2);b.container.addEventListener("scroll",e=>{n.default.checkAnimations(),f=S(a,h,f,b.container,l)}),b.setVirtualContainer(d),D(a,h,b),I=null,Promise.all([c.default.getRecentStickers().then(e=>{let t=document.createElement("div");t.classList.add("sticker-category"),g(t,"Recent",e.stickers,!0)}),u.default.invokeApi("messages.getAllStickers",{hash:0}).then(e=>s(void 0,void 0,void 0,(function*(){let i=e;for(let e of i.sets){let i=document.createElement("div");i.classList.add("sticker-category");let r=document.createElement("li");r.classList.add("btn-icon"),a.append(r);let l=yield c.default.getStickerSet(e);l.set.thumb?c.default.getStickerSetThumb(l.set).then(e=>{if(l.set.pFlags.animated){const i=new FileReader;i.addEventListener("loadend",e=>s(void 0,void 0,void 0,(function*(){const i=e.srcElement.result;let s=yield u.default.gzipUncompress(i,!0);yield n.default.loadAnimationWorker({container:r,loop:!0,autoplay:!1,animationData:JSON.parse(s)},t.EMOTICONSSTICKERGROUP)}))),i.readAsArrayBuffer(e)}else{let t=new Image;o.renderImageFromUrl(t,URL.createObjectURL(e)),r.append(t)}}):p.wrapSticker({doc:l.documents[0],div:r,group:t.EMOTICONSSTICKERGROUP}),g(i,l.set.title,l.documents,!1)}})))])},P=()=>{let e=document.getElementById("content-gifs"),t=e.firstElementChild;t.addEventListener("click",E);new r.default(e,"y","GIFS",null);u.default.invokeApi("messages.getSavedGifs",{hash:0}).then(e=>{let i=e;console.log("getSavedGifs res:",i);i.gifs.forEach((e,t)=>{i.gifs[t]=m.default.saveDoc(e)});for(let e=0,s=i.gifs.length;e<s;){let s=i.gifs[e],a=s.w,o=s.h;o<100&&(a*=100/o,o=100);let n=Math.min(300,400,a),{w:r,h:d}=l.calcImageInBox(a,o,n,100);++e,console.log("gif:",s,r,d);let c=document.createElement("div");c.style.width=r+"px",c.dataset.docID=s.id,t.append(c);let u=new g.default(c);x.push({div:c,load:()=>{let e=m.default.downloadDoc(s);return u.attach(c,!0,e),e.then(e=>{u.detach(),c.innerHTML=`<video autoplay="true" muted="true" loop="true" src="${s.url}" type="video/mp4"></video>`}),e}})}}),P=void 0};return{dropdown:w,lazyLoadQueue:x}}},function(e,t,i){"undefined"!=typeof self&&self,e.exports=function(e){var t={};function i(s){if(t[s])return t[s].exports;var a=t[s]={i:s,l:!1,exports:{}};return e[s].call(a.exports,a,a.exports,i),a.l=!0,a.exports}return i.m=e,i.c=t,i.d=function(e,t,s){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:s})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var s=Object.create(null);if(i.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)i.d(s,a,function(t){return e[t]}.bind(null,a));return s},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=0)}([function(e,t,i){"use strict";(function(t){var i=t.AudioContext||t.webkitAudioContext,s=function(e){if(!s.isRecordingSupported())throw new Error("Recording is not supported in this browser");e||(e={}),this.state="inactive",this.config=Object.assign({bufferLength:4096,encoderApplication:2049,encoderFrameSize:20,encoderPath:"encoderWorker.min.js",encoderSampleRate:48e3,maxFramesPerPage:40,mediaTrackConstraints:!0,monitorGain:0,numberOfChannels:1,recordingGain:1,resampleQuality:3,streamPages:!1,reuseWorker:!1,wavBitDepth:16},e),this.encodedSamplePosition=0};s.isRecordingSupported=function(){return i&&t.navigator&&t.navigator.mediaDevices&&t.navigator.mediaDevices.getUserMedia&&t.WebAssembly},s.prototype.clearStream=function(){this.stream&&(this.stream.getTracks?this.stream.getTracks().forEach((function(e){e.stop()})):this.stream.stop(),delete this.stream),this.audioContext&&this.closeAudioContext&&(this.audioContext.close(),delete this.audioContext)},s.prototype.encodeBuffers=function(e){if("recording"===this.state){for(var t=[],i=0;i<e.numberOfChannels;i++)t[i]=e.getChannelData(i);this.encoder.postMessage({command:"encode",buffers:t})}},s.prototype.initAudioContext=function(e){return e&&e.context?(this.audioContext=e.context,this.closeAudioContext=!1):(this.audioContext=new i,this.closeAudioContext=!0),this.audioContext},s.prototype.initAudioGraph=function(){this.encodeBuffers=function(){delete this.encodeBuffers},this.scriptProcessorNode=this.audioContext.createScriptProcessor(this.config.bufferLength,this.config.numberOfChannels,this.config.numberOfChannels),this.scriptProcessorNode.connect(this.audioContext.destination),this.scriptProcessorNode.onaudioprocess=e=>{this.encodeBuffers(e.inputBuffer)},this.monitorGainNode=this.audioContext.createGain(),this.setMonitorGain(this.config.monitorGain),this.monitorGainNode.connect(this.audioContext.destination),this.recordingGainNode=this.audioContext.createGain(),this.setRecordingGain(this.config.recordingGain),this.recordingGainNode.connect(this.scriptProcessorNode)},s.prototype.initSourceNode=function(e){return e&&e.context?t.Promise.resolve(e):t.navigator.mediaDevices.getUserMedia({audio:this.config.mediaTrackConstraints}).then(e=>(this.stream=e,this.audioContext.createMediaStreamSource(e)))},s.prototype.loadWorker=function(){this.encoder||(this.encoder=new t.Worker(this.config.encoderPath))},s.prototype.initWorker=function(){var e=(this.config.streamPages?this.streamPage:this.storePage).bind(this);return this.recordedPages=[],this.totalLength=0,this.loadWorker(),new Promise((t,i)=>{var s=i=>{switch(i.data.message){case"ready":t();break;case"page":this.encodedSamplePosition=i.data.samplePosition,e(i.data.page);break;case"done":this.encoder.removeEventListener("message",s),this.finish()}};this.encoder.addEventListener("message",s),this.encoder.postMessage(Object.assign({command:"init",originalSampleRate:this.audioContext.sampleRate,wavSampleRate:this.audioContext.sampleRate},this.config))})},s.prototype.pause=function(e){if("recording"===this.state){if(this.state="paused",e&&this.config.streamPages){var t=this.encoder;return new Promise((e,i)=>{var s=i=>{"flushed"===i.data.message&&(t.removeEventListener("message",s),this.onpause(),e())};t.addEventListener("message",s),t.postMessage({command:"flush"})})}return this.onpause(),Promise.resolve()}},s.prototype.resume=function(){"paused"===this.state&&(this.state="recording",this.onresume())},s.prototype.setRecordingGain=function(e){this.config.recordingGain=e,this.recordingGainNode&&this.audioContext&&this.recordingGainNode.gain.setTargetAtTime(e,this.audioContext.currentTime,.01)},s.prototype.setMonitorGain=function(e){this.config.monitorGain=e,this.monitorGainNode&&this.audioContext&&this.monitorGainNode.gain.setTargetAtTime(e,this.audioContext.currentTime,.01)},s.prototype.start=function(e){if("inactive"===this.state)return this.initAudioContext(e),this.initAudioGraph(),this.encodedSamplePosition=0,Promise.all([this.initSourceNode(e),this.initWorker()]).then(e=>{this.sourceNode=e[0],this.state="recording",this.onstart(),this.encoder.postMessage({command:"getHeaderPages"}),this.sourceNode.connect(this.monitorGainNode),this.sourceNode.connect(this.recordingGainNode)})},s.prototype.stop=function(){if("inactive"!==this.state){this.state="inactive",this.monitorGainNode.disconnect(),this.scriptProcessorNode.disconnect(),this.recordingGainNode.disconnect(),this.sourceNode.disconnect(),this.clearStream();var e=this.encoder;return new Promise(t=>{var i=s=>{"done"===s.data.message&&(e.removeEventListener("message",i),t())};e.addEventListener("message",i),e.postMessage({command:"done"}),this.config.reuseWorker||e.postMessage({command:"close"})})}return Promise.resolve()},s.prototype.destroyWorker=function(){"inactive"===this.state&&this.encoder&&(this.encoder.postMessage({command:"close"}),delete this.encoder)},s.prototype.storePage=function(e){this.recordedPages.push(e),this.totalLength+=e.length},s.prototype.streamPage=function(e){this.ondataavailable(e)},s.prototype.finish=function(){if(!this.config.streamPages){var e=new Uint8Array(this.totalLength);this.recordedPages.reduce((function(t,i){return e.set(i,t),t+i.length}),0),this.ondataavailable(e)}this.onstop(),this.config.reuseWorker||delete this.encoder},s.prototype.ondataavailable=function(){},s.prototype.onpause=function(){},s.prototype.onresume=function(){},s.prototype.onstart=function(){},s.prototype.onstop=function(){},e.exports=s}).call(this,i(1))},function(e,t){var i;i=function(){return this}();try{i=i||new Function("return this")()}catch(e){"object"==typeof window&&(i=window)}e.exports=i}])},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=i(0);t.default=class{constructor(){this.bubblesByGroups=[],this.groups=[],this.newGroupDiff=120}removeBubble(e,t){let i=this.bubblesByGroups.findAndSplice(e=>e.mid==t);i&&i.group.length&&(i.group.findAndSplice(t=>t==e),i.group.length?this.updateGroup(i.group):this.groups.findAndSplice(e=>e==i.group))}addBubble(e,t,i){let a,o=t.date,n=t.fromID;if(n==s.$rootScope.myID&&s.$rootScope.selectedPeerID==s.$rootScope.myID&&t.fwdFromID==n&&(n=-n),this.bubblesByGroups.length)if(i){let t=this.bubblesByGroups[0];t.fromID==n&&t.timestamp-o<this.newGroupDiff?(a=t.group,a.unshift(e)):this.groups.unshift(a=[e])}else{let t=this.bubblesByGroups[this.bubblesByGroups.length-1];t.fromID==n&&o-t.timestamp<this.newGroupDiff?(a=t.group,a.push(e)):this.groups.push(a=[e])}else this.groups.push(a=[e]);this.bubblesByGroups[i?"unshift":"push"]({timestamp:o,fromID:n,mid:t.mid,group:a}),this.updateGroup(a)}setClipIfNeeded(e,t=!1){if(e.classList.contains("is-message-empty")&&(e.classList.contains("photo")||e.classList.contains("video"))){let i=e.querySelector(".bubble__media-container");if(!i)return;Array.from(i.children).forEach(a=>{if(!(a instanceof SVGDefsElement))if(t)a.removeAttributeNS(null,"clip-path");else{let t,o,n=i.dataset.clipID,r=i.firstElementChild.firstElementChild.lastElementChild,l=+a.getAttributeNS(null,"width"),d=+a.getAttributeNS(null,"height"),c=e.classList.contains("is-out"),u=e.classList.contains("is-reply"),h="";e.classList.contains("forwarded")||u?t=o=0:c?(t=e.classList.contains("is-group-first")?12:6,o=12):(t=12,o=e.classList.contains("is-group-first")?12:6),h=c?s.generatePathData(0,0,l-9,d,o,t,0,12):s.generatePathData(9,0,l-9,d,o,t,12,0),r.setAttributeNS(null,"d",h),a.setAttributeNS(null,"clip-path","url(#"+n+")")}})}}updateGroup(e){if(!e.length)return;let t=e[0];if(1==e.length)return t.classList.add("is-group-first","is-group-last"),void this.setClipIfNeeded(t);t.classList.remove("is-group-last"),t.classList.add("is-group-first"),this.setClipIfNeeded(t,!0);let i=e.length-1;for(let t=1;t<i;++t){let i=e[t];i.classList.remove("is-group-last","is-group-first"),this.setClipIfNeeded(i,!0)}let s=e[e.length-1];s.classList.remove("is-group-first"),s.classList.add("is-group-last"),this.setClipIfNeeded(s)}updateGroupByMessageID(e){let t=this.bubblesByGroups.find(t=>t.mid==e);t&&this.updateGroup(t.group)}cleanup(){this.bubblesByGroups=[],this.groups=[]}}},function(e,t,i){"use strict";var s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const a=s(i(5)),o=s(i(1)),n=i(31),r=s(i(23)),l=i(2),d=i(3);class c{callbackButtonClick(e,t){let i=a.default.getMessage(e),s=a.default.getMessagePeer(i);return o.default.invokeApi("messages.getBotCallbackAnswer",{flags:1,peer:n.appPeersManager.getInputPeerByID(s),msg_id:r.default.getMessageLocalID(e),data:t.data},{timeout:1,stopTime:-1,noErrorBox:!0}).then(e=>{"string"==typeof e.message&&e.message.length&&l.toast(d.RichTextProcessor.wrapRichText(e.message,{noLinks:!0,noLinebreaks:!0})),console.log("callbackButtonClick callbackAnswer:",e)})}}t.AppInlineBotsManager=c;const u=new c;t.default=u},function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=class{constructor(e,t){this.container=e,this.handler=t,this.observeHeaders(),this.observeElements()}observeHeaders(){this.headersObserver=new IntersectionObserver(e=>{for(const t of e){const e=t.boundingClientRect,i=t.target.parentElement,s=t.rootBounds;e.bottom<s.top&&this.handler(!0,i),e.bottom>=s.top&&e.bottom<s.bottom&&this.handler(!1,i)}},{threshold:0,root:this.container})}observeElements(){this.elementsObserver=new IntersectionObserver(e=>{let t=e.filter(e=>e.boundingClientRect.top<0).sort((e,t)=>e.boundingClientRect.top-t.boundingClientRect.top)[0];if(!t)return;let i=t.isIntersecting?t.target:t.target.nextElementSibling;this.handler(!0,i)},{root:this.container})}addSentinel(e,t){const i=document.createElement("div");return i.classList.add("sticky_sentinel",t),e.appendChild(i)}observeStickyHeaderChanges(e){const t=this.addSentinel(e,"sticky_sentinel--top");this.headersObserver.observe(t),this.elementsObserver.observe(e)}disconnect(){this.headersObserver.disconnect(),this.elementsObserver.disconnect()}unobserve(e,t){this.elementsObserver.unobserve(e),this.headersObserver.unobserve(t)}}},function(e,t,i){"use strict";var s=this&&this.__awaiter||function(e,t,i,s){return new(i||(i=Promise))((function(a,o){function n(e){try{l(s.next(e))}catch(e){o(e)}}function r(e){try{l(s.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(n,r)}l((s=s.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const n=a(i(1)),r=a(i(18)),l=a(i(22)),d=a(i(52)),c=a(i(35)),u=i(21),h=i(10),p=a(i(28));let m;const g=new r.default("page-signQR",!0,()=>m,()=>{console.log("onMount"),m||(m=s(void 0,void 0,void 0,(function*(){const e=g.pageEl.querySelector(".auth-image");g.pageEl.querySelector(".a-qr").addEventListener("click",()=>{c.default.mount(),a=!0});const t=(yield Promise.all([Promise.resolve().then(()=>o(i(85)))]))[0].default;let a=!1;document.addEventListener("user_auth",()=>{a=!0,m=null},{once:!0});let r,f={ignoreErrors:!0};return()=>s(void 0,void 0,void 0,(function*(){for(a=!1;!a;)try{let i=yield n.default.invokeApi("auth.exportLoginToken",{api_id:u.App.id,api_hash:u.App.hash,except_ids:[]},{ignoreErrors:!0});if("auth.loginTokenMigrateTo"==i._&&(f.dcID||(f.dcID=i.dc_id,n.default.setBaseDcID(i.dc_id)),i=yield n.default.invokeApi("auth.importLoginToken",{token:i.token},f)),"auth.loginTokenSuccess"==i._){let e=i.authorization;n.default.setUserAuth({id:e.user.id}),l.default.mount();break}if(!r||!h.bytesCmp(r,i.token)){r=i.token;let s="tg://login?token="+h.bytesToBase64(i.token).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=+$/,"");e.innerHTML="",new t({width:166,height:166,data:s,image:"assets/img/logo_padded.svg",dotsOptions:{color:"#000000",type:"rounded"},imageOptions:{imageSize:.75},backgroundOptions:{color:"#ffffff"},qrOptions:{errorCorrectionLevel:"L"}}).append(e)}let s=Date.now()/1e3,a=i.expires-s-p.default.serverTimeOffset;yield new Promise((e,t)=>setTimeout(e,a>5?5e3:1e3*a|0))}catch(e){switch(e.type){case"SESSION_PASSWORD_NEEDED":console.warn("pageSignQR: SESSION_PASSWORD_NEEDED"),e.handled=!0,d.default.mount(),a=!0,m=null;break;default:console.error("pageSignQR: default error:",e)}}}))}))),m.then(e=>{e()})});t.default=g}]);