Преглед на файлове

[add][bugfix] update XXX is typing when changing room
[add][Fix #39] Sort emojis by uses using the sum of his names

B Thibault преди 8 години
родител
ревизия
c19218d6ed
променени са 3 файла, в които са добавени 73 реда и са изтрити 62 реда
  1. 8 3
      cli/emojiBar.js
  2. 6 0
      cli/ui.js
  3. 59 59
      srv/public/slack.min.js

+ 8 - 3
cli/emojiBar.js

@@ -63,12 +63,17 @@ var EMOJI_BAR = (function() {
     ,sortEmojis = function(emojiObj, favoriteEmojis) {
         var names = []
             ,index = 0;
-        for (var i in emojiObj)
-            names.push({
+        for (var i in emojiObj) {
+            var obj = {
                 name: i,
                 pos: index,
-                count: favoriteEmojis[i] || 0
+                count: 0
+            };
+            emojiObj[i].names.forEach(function(name) {
+                obj.count += (favoriteEmojis[name] || 0);
             });
+            names.push(obj);
+        }
         names = names.sort(function(a, b) {
             var diff = b.count -a.count;
             if (diff) return diff;

+ 6 - 0
cli/ui.js

@@ -87,6 +87,11 @@ function onTypingUpdated() {
                 dom.classList.remove(R.klass.chatList.typing);
         }
     }
+    updateTypingChat();
+}
+
+function updateTypingChat() {
+    var typing = SLACK.context.typing;
     if (SELECTED_ROOM && typing[SELECTED_ROOM.id]) {
         var typingUserNames = [], isOutOfSync = false;
         for (var i in typing[SELECTED_ROOM.id]) {
@@ -133,6 +138,7 @@ function onRoomSelected() {
         EDITING = null;
         onReplyingToUpdated();
     }
+    updateTypingChat();
 }
 
 function onReplyingToUpdated() {

+ 59 - 59
srv/public/slack.min.js

@@ -1,69 +1,69 @@
 function aa(a){this.id=a;this.a={W:"",Y:"",$:"",aa:"",P:"",R:"",T:"",ba:""};this.version=0}function n(a){this.id=a;this.a={};this.version=0}function q(a){this.id=a;this.a={};this.version=this.g=0}function ba(a,b){this.id=a;this.c=b;this.version=0}function ca(a){this.id=a;this.a={U:"",V:"",o:"",B:"",S:"",Z:""};this.f={};this.c=this.b=null;this.version=0}function da(){this.b={};this.a=[]}
 function ea(a,b,c){a.b=JSON.parse(b.emoji_use);b.highlight_words?a.a=(b.highlight_words||"").split(",").filter(function(a){return""!==a.trim()}):b.highlights&&(a.a=b.highlights);a.version=Math.max(a.version,c)}function fa(a){this.id=a;this.a={X:"",o:"",B:""};this.c=this.b=null;this.version=0;this.g=!1}function ga(a){this.a=a.desc;this.name=a.name;this.type=a.type;this.usage=a.usage}
-function z(){this.h=null;this.A={};this.D={};this.G={};this.b={};this.a=null;this.C={};this.g={version:0,data:{}};this.f={version:0,data:{}};this.c={};this.J=0}function A(a,b){return a.b[b]||a.C[b]||null}function C(a,b){return a.A[b]||a.G[b]||a.D[b]||null}"undefined"!==typeof module&&(module.O.ca=z);function ha(a,b){this.j=a.user||a.bot_id;this.g=a.username;this.id=a.ts;this.b=parseFloat(a.ts);this.text=a.text||"";this.f=a.attachments||[];this.l=!!a.edited;this.c=a.removed||!1;this.h="me_message"===a.subtype||a.isMeMessage;this.a={};this.version=b;var c=this;a.reactions&&a.reactions.forEach(function(a){c.a[a.name]=[];a.users.forEach(function(b){c.a[a.name].push(b)})})}
-function ia(a,b,c){b?(a.text=b.text||"",b.attachments&&(a.f=b.attachments),a.l=!!b.edited,a.c=!!b.removed,b.reactions&&(a.a={},b.reactions.forEach(function(b){a.a[b.name]=[];b.users.forEach(function(c){a.a[b.name].push(c)})}))):a.c=!0;a.version=c}function D(a,b,c,d){this.id="string"===typeof a?a:a.id;this.a=[];this.b=b;c&&E(this,c,d)}
-function ja(a,b,c,d){var g=!1;a.a[b]&&(1===a.a[b].length&&a.a[b][0]===c?(delete a.a[b],g=!0):a.a[b]=a.a[b].filter(function(a){return a!==c?!1:g=!0}));g&&(a.version=d)}function E(a,b,c){var d=0;b.forEach(function(a){d=Math.max(this.push(a,c),d)}.bind(a));ka(a)}
-D.prototype.push=function(a,b){if(a.type&&"message"!==a.type)if("reaction_added"===a.type){var c=F(this,a.item.ts);if(c){var d=a.reaction,g=a.user;c.a[d]||(c.a[d]=[]);c.a[d].push(g);c.version=b}}else if("reaction_removed"===a.type)(c=F(this,a.item.ts))&&ja(c,a.reaction,a.user,b);else return 0;else{c=!1;d=a.ts;g=a;"message_changed"===a.subtype&&a.previous_message?(d=a.previous_message.ts,g=a.message):"message_deleted"===a.subtype&&a.previous_message&&(d=a.previous_message.ts,g=null);for(var e=0,p=
-this.a.length;e<p;e++)if(this.a[e].id===d){ia(this.a[e],g,b);c=!0;break}c||this.a.push(new ha(a,b))}for(;this.a.length>this.b;)this.a.shift();return b};function la(a){for(var b=G.b[H.id],c=0,d=b.a.length;c<d&&a>=b.a[c].b;c++)if(b.a[c].b===a)return b.a[c];return null}function F(a,b){for(var c=0,d=a.a.length;c<d;c++)if(a.a[c].id==b)return a.a[c];return null}function ka(a){a.a.sort(function(a,c){return a.b-c.b})}"undefined"!==typeof module&&(module.O.da=D);var I={},J;function ma(){var a;if(!a){for(var b=0,c=navigator.languages.length;b<c;b++)if(I.hasOwnProperty(navigator.languages[b])){a=navigator.languages[b];break}a||(a="en")}J=I[a];console.log("Loading language pack: "+a);if(J.i)for(b in J.i)document.getElementById(b).textContent=J.i[b]};I.fr={N:"Utilisateur inconnu",M:"Channel inconnu",I:"Nouveau message",H:"Reseau",l:"edit&eacute;",F:function(a){return 1===a.length?a[0]+" est en train d'\u00e9crire":a.join(", ")+" sont en train d'\u00e9crire"},w:function(a){"string"!==typeof a&&(a=parseFloat(a));var b=new Date,c=new Date;a=new Date(1E3*a);b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0);c.setTime(b.getTime());c.setDate(c.getDate()-1);return a.getTime()>b.getTime()?a.toLocaleTimeString():a.getTime()>c.getTime()?
+function z(){this.h=null;this.A={};this.D={};this.G={};this.c={};this.a=null;this.C={};this.g={version:0,data:{}};this.f={version:0,data:{}};this.b={};this.J=0}function A(a,b){return a.c[b]||a.C[b]||null}function C(a,b){return a.A[b]||a.G[b]||a.D[b]||null}"undefined"!==typeof module&&(module.O.ca=z);function ha(a,b){this.j=a.user||a.bot_id;this.g=a.username;this.id=a.ts;this.b=parseFloat(a.ts);this.text=a.text||"";this.f=a.attachments||[];this.l=!!a.edited;this.c=a.removed||!1;this.h="me_message"===a.subtype||a.isMeMessage;this.a={};this.version=b;var c=this;a.reactions&&a.reactions.forEach(function(a){c.a[a.name]=[];a.users.forEach(function(b){c.a[a.name].push(b)})})}
+function ia(a,b,c){b?(a.text=b.text||"",b.attachments&&(a.f=b.attachments),a.l=!!b.edited,a.c=!!b.removed,b.reactions&&(a.a={},b.reactions.forEach(function(b){a.a[b.name]=[];b.users.forEach(function(c){a.a[b.name].push(c)})}))):a.c=!0;a.version=c}function D(a,b,c,e){this.id="string"===typeof a?a:a.id;this.a=[];this.b=b;c&&E(this,c,e)}
+function ja(a,b,c,e){var g=!1;a.a[b]&&(1===a.a[b].length&&a.a[b][0]===c?(delete a.a[b],g=!0):a.a[b]=a.a[b].filter(function(a){return a!==c?!1:g=!0}));g&&(a.version=e)}function E(a,b,c){var e=0;b.forEach(function(a){e=Math.max(this.push(a,c),e)}.bind(a));ka(a)}
+D.prototype.push=function(a,b){if(a.type&&"message"!==a.type)if("reaction_added"===a.type){var c=F(this,a.item.ts);if(c){var e=a.reaction,g=a.user;c.a[e]||(c.a[e]=[]);c.a[e].push(g);c.version=b}}else if("reaction_removed"===a.type)(c=F(this,a.item.ts))&&ja(c,a.reaction,a.user,b);else return 0;else{c=!1;e=a.ts;g=a;"message_changed"===a.subtype&&a.previous_message?(e=a.previous_message.ts,g=a.message):"message_deleted"===a.subtype&&a.previous_message&&(e=a.previous_message.ts,g=null);for(var d=0,p=
+this.a.length;d<p;d++)if(this.a[d].id===e){ia(this.a[d],g,b);c=!0;break}c||this.a.push(new ha(a,b))}for(;this.a.length>this.b;)this.a.shift();return b};function la(a){for(var b=G.b[H.id],c=0,e=b.a.length;c<e&&a>=b.a[c].b;c++)if(b.a[c].b===a)return b.a[c];return null}function F(a,b){for(var c=0,e=a.a.length;c<e;c++)if(a.a[c].id==b)return a.a[c];return null}function ka(a){a.a.sort(function(a,c){return a.b-c.b})}"undefined"!==typeof module&&(module.O.da=D);var I={},J;function ma(){var a;if(!a){for(var b=0,c=navigator.languages.length;b<c;b++)if(I.hasOwnProperty(navigator.languages[b])){a=navigator.languages[b];break}a||(a="en")}J=I[a];console.log("Loading language pack: "+a);if(J.i)for(b in J.i)document.getElementById(b).textContent=J.i[b]};I.fr={N:"Utilisateur inconnu",M:"Channel inconnu",I:"Nouveau message",H:"Reseau",l:"edit&eacute;",F:function(a){return 1===a.length?a[0]+" est en train d'\u00e9crire":a.join(", ")+" sont en train d'\u00e9crire"},w:function(a){"string"!==typeof a&&(a=parseFloat(a));var b=new Date,c=new Date;a=new Date(1E3*a);b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0);c.setTime(b.getTime());c.setDate(c.getDate()-1);return a.getTime()>b.getTime()?a.toLocaleTimeString():a.getTime()>c.getTime()?
 "hier, "+a.toLocaleTimeString():a.toLocaleString()},i:{fileUploadCancel:"Annuler",neterror:"Impossible de se connecter au chat !"}};I.en={N:"Unknown member",M:"Unknown channel",I:"New message",H:"Network",l:"edited",F:function(a){return 1===a.length?a[0]+" is typing":a.join(", ")+" are typing"},w:function(a){"string"!==typeof a&&(a=parseFloat(a));var b=new Date,c=new Date;a=new Date(1E3*a);b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0);c.setTime(b.getTime());c.setDate(c.getDate()-1);return a.getTime()>b.getTime()?a.toLocaleTimeString():a.getTime()>c.getTime()?"yesterday, "+a.toLocaleTimeString():a.toLocaleString()},
 i:{fileUploadCancel:"Cancel",neterror:"Cannot connect to chat !"}};var K=0;
 function na(){var a=document.createDocumentFragment(),b=G.a.a?Object.keys(G.a.a.f):[];b.sort(function(a,b){return a[0]!==b[0]?a[0]-b[0]:C(G.a,a).name.localeCompare(C(G.a,b).name)});b.forEach(function(b){b=C(G.a,b);if(!b.b){var c=document.createElement("li"),g=document.createElement("a");c.id=b.id;g.href="#"+b.id;b instanceof q?(c.className="slack-context-room slack-group",c.dataset.count=b.g-1):b instanceof n&&(c.className="slack-context-room slack-channel");H===b&&c.classList.add("selected");g.textContent=
-b.name;c.appendChild(L());c.appendChild(g);M[b.id]&&(M[b.id].m&&c.classList.add("unreadHi"),M[b.id].u&&c.classList.add("unread"));c&&a.appendChild(c)}});b=G.a.b?Object.keys(G.a.b):[];b.sort(function(a,b){return G.a.b[a].name.localeCompare(G.a.b[b].name)});b.forEach(function(b){b=A(G.a,b);if(!b.h){b=b.b;var c=document.createElement("li"),g=document.createElement("a");c.id=b.id;g.href="#"+b.id;c.className="slack-context-room slack-ims";g.textContent=b.c.name;c.appendChild(L());c.appendChild(g);b.c.g||
+b.name;c.appendChild(L());c.appendChild(g);M[b.id]&&(M[b.id].m&&c.classList.add("unreadHi"),M[b.id].u&&c.classList.add("unread"));c&&a.appendChild(c)}});b=G.a.c?Object.keys(G.a.c):[];b.sort(function(a,b){return G.a.c[a].name.localeCompare(G.a.c[b].name)});b.forEach(function(b){b=A(G.a,b);if(!b.h){b=b.b;var c=document.createElement("li"),g=document.createElement("a");c.id=b.id;g.href="#"+b.id;c.className="slack-context-room slack-ims";g.textContent=b.c.name;c.appendChild(L());c.appendChild(g);b.c.g||
 c.classList.add("away");H===b&&c.classList.add("selected");M[b.id]&&(M[b.id].m&&c.classList.add("unreadHi"),M[b.id].u&&c.classList.add("unread"));c&&a.appendChild(c)}});document.getElementById("chanList").textContent="";document.getElementById("chanList").appendChild(a);N();O();oa(function(a){document.getElementById("slackCtx").style.backgroundImage="url("+a+")"})}
-function P(){var a=G.a.c,b;for(b in G.a.a.f)if(!G.a.a.f[b].b){var c=document.getElementById(b);a[b]?c.classList.add("slack-context-typing"):c.classList.remove("slack-context-typing")}for(var d in G.a.b)(b=G.a.b[d].b)&&!b.b&&(c=document.getElementById(b.id),a[b.id]?c.classList.add("slack-context-typing"):c.classList.remove("slack-context-typing"));if(H&&a[H.id]){c=[];d=!1;for(var g in a[H.id])(a=A(G.a,g))?c.push(a.name):d=!0;d&&(G.c=0);document.getElementById("whoistyping").textContent=J.F(c)}else document.getElementById("whoistyping").textContent=
-""}function Q(a){a?document.body.classList.remove("no-network"):document.body.classList.add("no-network");O()}
+function P(){var a=G.a.b,b;for(b in G.a.a.f)if(!G.a.a.f[b].b){var c=document.getElementById(b);a[b]?c.classList.add("slack-context-typing"):c.classList.remove("slack-context-typing")}for(var e in G.a.c)(b=G.a.c[e].b)&&!b.b&&(c=document.getElementById(b.id),a[b.id]?c.classList.add("slack-context-typing"):c.classList.remove("slack-context-typing"));pa()}
+function pa(){var a=G.a.b;if(H&&a[H.id]){var b=[],c=!1,e;for(e in a[H.id])(a=A(G.a,e))?b.push(a.name):c=!0;c&&(G.c=0);document.getElementById("whoistyping").textContent=J.F(b)}else document.getElementById("whoistyping").textContent=""}function Q(a){a?document.body.classList.remove("no-network"):document.body.classList.add("no-network");O()}
 function R(){if(S){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),b=document.createElement("a");b.addEventListener("click",function(){S=null;R()});b.className="replyto-close";b.textContent="x";a.textContent="";a.appendChild(b);a.appendChild(T("reply_"+H.id,S,!0))}else document.body.classList.remove("replyingTo"),document.getElementById("replyToContainer").textContent="";U()}
 function V(){if(W){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),b=document.createElement("a");b.addEventListener("click",function(){W=null;V()});b.className="replyto-close";b.textContent="x";a.textContent="";a.appendChild(b);a.appendChild(T("edit_"+H.id,W,!0));document.getElementById("msgInput").value=W.text}else document.body.classList.remove("replyingTo"),document.getElementById("replyToContainer").textContent="";U()}
-window.toggleReaction=function(a,b,c){var d=G.b[a];if(d&&(d=F(d,b))){var g=G.a.a.id;d.a[c]&&-1!==d.a[c].indexOf(g)?(d=new XMLHttpRequest,d.open("DELETE","api/reaction?room="+a+"&msg="+b+"&reaction="+encodeURIComponent(c),!0),d.send(null)):pa(a,b,c)}};
-function qa(a){a:{for(var b=a,c={};!c[b];){if(a=G.a.g[b])if("alias:"==a.substr(0,6))c[b]=!0,b=a.substr(6);else{b=document.createElement("span");b.className="emoji-custom emoji";b.style.backgroundImage="url('"+a+"')";a=b;break a}break}a=b}"string"===typeof a&&"makeEmoji"in window&&(a=window.makeEmoji(a));return"string"===typeof a?null:a}
-function ra(a){return a.replace(/:([^ \t:]+):/g,function(b,c){var d=qa(c);if(d){var g=document.createElement("span");g.className=b===a?"emoji-medium":"emoji-small";g.appendChild(d);return g.outerHTML}return b})}
-function X(a){a=a.split(/\r?\n/g);for(var b=0,c=a.length;b<c;b++){for(var d=a[b].trim(),g="",e={},p=!1,h=0,d=d.replace(RegExp("<([@#]?)([^>]*)>","g"),function(a,b,c){c=c.split("|");if("@"===b)c[1]?"@"!==c[1][0]&&(c[1]="@"+c[1]):(a=A(G.a,c[0]),c[1]=a?"@"+a.name:J.N),c[0]="#"+c[0],c[2]="slackmsg-link slackmsg-link-user";else if("#"===b)c[1]?"#"!==c[1][0]&&(c[1]="#"+c[1]):(a=C(G.a,c[0]),c[1]=a?"#"+a.name:J.M),c[0]="#"+c[0],c[2]="slackmsg-link slackmsg-link-chan";else if(-1!==c[0].indexOf("://"))c[1]||
-(c[1]=c[0]),c[2]="slackmsg-link";else return a;return'<a href="'+c[0]+'" class="'+c[2]+'"'+(b?"":' target="_blank"')+">"+c[1]+"</a>"}),d=ra(d),l=d.length,k=function(a,b,c){for(;a[b];){var d=a[b];if(("A"<=d&&"Z">=d||"a"<=d&&"z">=d||"0"<=d&&"9">=d||-1!=="\u00e0\u00e8\u00ec\u00f2\u00f9\u00c0\u00c8\u00cc\u00d2\u00d9\u00e1\u00e9\u00ed\u00f3\u00fa\u00fd\u00c1\u00c9\u00cd\u00d3\u00da\u00dd\u00e2\u00ea\u00ee\u00f4\u00fb\u00c2\u00ca\u00ce\u00d4\u00db\u00e3\u00f1\u00f5\u00c3\u00d1\u00d5\u00e4\u00eb\u00ef\u00f6\u00fc\u00ff\u00c4\u00cb\u00cf\u00d6\u00dc\u0178\u00e7\u00c7\u00df\u00d8\u00f8\u00c5\u00e5\u00c6\u00e6\u0153".indexOf(d))&&
-a[b]!=c&&a[b+1]==c)return!0;b++}return!1},f=function(a){return Object.keys(e).length?'<span class="'+Object.keys(a).join(" ")+'">':""};h<l&&(" "===d[h]||"\t"===d[h]);)h++;"&gt;"===d.substr(h,4)&&(p=!0,h+=4);for(;h<l;h++){var m=d[h];if("<"===m){do g+=d[h++];while(">"!==d[h-1]);h--}else if(!e["slackmsg-style-bold"]&&"*"===m&&d[h+1]&&k(d,h,m))Object.keys(e).length&&(g+="</span>"),e["slackmsg-style-bold"]=!0,g+=f(e);else if(!e["slackmsg-style-strike"]&&"~"===m&&d[h+1]&&k(d,h,m))Object.keys(e).length&&
-(g+="</span>"),e["slackmsg-style-strike"]=!0,g+=f(e);else if(!e["slackmsg-style-code"]&&"`"===m&&d[h+1]&&k(d,h,m))Object.keys(e).length&&(g+="</span>"),e["slackmsg-style-code"]=!0,g+=f(e);else if(!e["slackmsg-style-italic"]&&"_"===m&&d[h+1]&&k(d,h,m))Object.keys(e).length&&(g+="</span>"),e["slackmsg-style-italic"]=!0,g+=f(e);else{var w=!1,g=g+m;do{if(e["slackmsg-style-bold"]&&"*"!==m&&"*"===d[h+1])delete e["slackmsg-style-bold"],w=!0;else if(e["slackmsg-style-strike"]&&"~"!==m&&"~"===d[h+1])delete e["slackmsg-style-strike"],
-w=!0;else if(e["slackmsg-style-code"]&&"`"!==m&&"`"===d[h+1])delete e["slackmsg-style-code"],w=!0;else if(e["slackmsg-style-italic"]&&"_"!==m&&"_"===d[h+1])delete e["slackmsg-style-italic"],w=!0;else break;m=d[++h]}while(h<l);w&&(g+="</span>"+f(e))}}e&&(g+="</span>");a[b]=p?'<span class="slackmsg-style-quote">'+g+"</span>":g}return a.join("<br/>")}function T(a,b,c){b.h?(a=sa(a,b,c),a.classList.add("slackmsg-me_message")):a=sa(a,b,c);b.l&&a.classList.add("slackmsg-edited");return a}
-function O(){var a=0,b=0,c="";if(Y)c="!"+J.H+" - ",document.getElementById("linkFavicon").href="favicon_err.png";else{for(var d in M)M.hasOwnProperty(d)&&(a+=M[d].u,b+=M[d].m);b?c="(!"+b+") - ":a&&(c="("+a+") - ");document.getElementById("linkFavicon").href=b||a?"favicon.png?h="+b+"&m="+a:"favicon_ok.png"}c+=G.a.h.name;document.title=c}
-function ta(){if("Notification"in window)if("granted"===Notification.permission){var a=Date.now();if(K+3E4<a){var b=new Notification(J.I);K=a;setTimeout(function(){b.close()},5E3)}}else"denied"!==Notification.permission&&Notification.requestPermission()}
-function ua(){var a=document.createDocumentFragment(),b=H.id,c=null,d=0,g=null;G.b[b]&&G.b[b].a.forEach(function(e){if(!e.c){var h=T(b,e);c&&c.j===e.j&&e.j?(h.classList.add("slackmsg-same-author"),30>Math.abs(d-e.b)?g.classList.add("slackmsg-same-ts"):d=e.b):d=e.b;c=e;g=h;a.appendChild(h)}});var e=document.getElementById("chatWindow");e.textContent="";e.appendChild(a);e.scrollTop=e.scrollHeight-e.clientHeight}
-function va(a){function b(a,b){for(b=b||a.target;b!==a.currentTarget&&b;){if(b.classList.contains("slackmsg-item"))return b.id;b=b.parentElement}}for(var c=a.target;c!==a.currentTarget&&c&&!c.classList.contains("slackmsg-hover");){if(c.parentElement&&c.parentElement.classList.contains("slackmsg-hover")){if(a=b(a,c)){a=parseFloat(a.split("_")[1]);var d=la(a);d&&c.classList.contains("slackmsg-hover-reply")?(W&&(W=null,V()),S!==d&&(S=d,R())):d&&c.classList.contains("slackmsg-hover-reaction")?wa.L(document.body,
-function(a){a&&pa(H.id,d.id,a)}):d&&c.classList.contains("slackmsg-hover-edit")?(S&&(S=null,R()),W!==d&&(W=d,V())):d&&c.classList.contains("slackmsg-hover-remove")&&(S&&(S=null,R()),W&&(W=null,V()),xa(d))}break}c=c.parentElement}}function U(){document.getElementById("msgInput").focus()}function N(){var a=document.location.hash.substr(1),b=C(G.a,a),a=A(G.a,a);b&&b!==H?ya(b):a&&a.b&&ya(a.b)}
-document.addEventListener("DOMContentLoaded",function(){ma();document.getElementById("chatWindow").addEventListener("click",va);window.addEventListener("hashchange",function(){document.location.hash&&"#"===document.location.hash[0]&&N()});document.getElementById("fileUploadCancel").addEventListener("click",function(a){a.preventDefault();document.getElementById("fileUploadError").classList.add("hidden");document.getElementById("fileUploadContainer").classList.add("hidden");document.getElementById("fileUploadInput").value=
-"";return!1});document.getElementById("fileUploadForm").addEventListener("submit",function(a){a.preventDefault();a=document.getElementById("fileUploadInput");var b=a.value;b&&(b=b.substr(b.lastIndexOf("\\")+1),za(b,a.files[0],function(a){var b=document.getElementById("fileUploadError");a?(b.textContent=a,b.classList.remove("hidden")):(b.classList.add("hidden"),document.getElementById("fileUploadInput").value="",document.getElementById("fileUploadContainer").classList.add("hidden"))}));return!1});
-document.getElementById("attachFile").addEventListener("click",function(a){a.preventDefault();H&&document.getElementById("fileUploadContainer").classList.remove("hidden");return!1});document.getElementById("msgForm").addEventListener("submit",function(a){a.preventDefault();a=document.getElementById("msgInput");H&&a.value&&Aa(a.value)&&(a.value="",S&&(S=null,R()),W&&(W=null,R()),document.getElementById("slashList").textContent="");U();return!1});window.addEventListener("blur",function(){window.hasFocus=
-!1});window.addEventListener("focus",function(){window.hasFocus=!0;K=0;H&&Ba();U()});var a=0;document.getElementById("msgInput").addEventListener("input",function(){if(H){var b=Date.now();a+3E3<b&&(Ca(),a=b);var b=[],c=this.value;if("/"===this.value[0]){var d=c.indexOf(" "),g=-1!==d,d=-1===d?c.length:d,c=c.substr(0,d),e;for(e in G.a.f.data){var p=G.a.f.data[e];(!g&&p.name.substr(0,d)===c||g&&p.name===c)&&b.push(p)}}5<b.length&&(b=[]);b.sort(function(a,b){return a.name.localeCompare(b.name)});d=document.getElementById("slashList");
-g=document.createDocumentFragment();d.textContent="";e=0;for(c=b.length;e<c;e++)g.appendChild(Da(b[e]));d.appendChild(g)}});window.hasFocus=!0;(function(){var a=document.getElementById("emojiButton");if("makeEmoji"in window){var c=window.makeEmoji("smile");c?a.innerHTML="<span class='emoji-small'>"+c.outerHTML+"</span>":a.style.backgroundImage='url("smile.svg")';(c=window.makeEmoji("paperclip"))?document.getElementById("attachFile").innerHTML="<span class='emoji-small'>"+c.outerHTML+"</span>":document.getElementById("attachFile").style.backgroundImage=
-'url("public/paperclip.svg")';a.addEventListener("click",function(){wa.L(document.body,function(a){a&&(document.getElementById("msgInput").value+=":"+a+":");U()})})}else a.classList.add("hidden")})();Z()});function L(){var a=document.createElement("span"),b=document.createElement("span"),c=document.createElement("span"),d=document.createElement("span");a.className="typing-container";b.className="typing-dot1";c.className="typing-dot2";d.className="typing-dot3";b.textContent=c.textContent=d.textContent=".";a.appendChild(b);a.appendChild(c);a.appendChild(d);return a}
-function Ea(a,b,c,d){var g=qa(c);if(g){for(var e=document.createElement("li"),p=document.createElement("a"),h=document.createElement("span"),l=document.createElement("span"),k=[],f=0,m=d.length;f<m;f++){var w=A(G.a,d[f]);w&&k.push(w.name)}k.sort();l.textContent=k.join(", ");h.appendChild(g);h.className="emoji-small";p.href="javascript:toggleReaction('"+a+"', '"+b+"', '"+c+"')";p.appendChild(h);p.appendChild(l);e.className="slackmsg-reaction-item";e.appendChild(p);return e}return null}
-function sa(a,b,c){var d=document.createElement("div"),g=document.createElement("div"),e=document.createElement("div"),p=document.createElement("div"),h=document.createElement("img"),l=document.createElement("span"),k=document.createElement("ul"),f=document.createElement("li"),m=document.createElement("ul"),w=document.createElement("ul"),r=A(G.a,b.j);d.id=a+"_"+b.b;d.className="slackmsg-item";e.className="slackmsg-ts";p.className="slackmsg-msg";h.className="slackmsg-author-img";l.className="slackmsg-author-name";
-k.className="slackmsg-hover";f.className="slackmsg-hover-reply";e.innerHTML=J.w(b.b);p.innerHTML=X(b.text);l.textContent=r?r.name:b.g||"?";h.src=r?r.a.o:"";k.appendChild(f);if("makeEmoji"in window){var v=document.createElement("li"),x=window.makeEmoji("arrow_heading_down"),B=window.makeEmoji("smile"),y=window.makeEmoji("pencil2"),r=window.makeEmoji("x");v.className="slackmsg-hover-reaction";B?(v.classList.add("emoji-small"),v.appendChild(B)):v.style.backgroundImage='url("smile.svg")';x?(f.classList.add("emoji-small"),
+window.toggleReaction=function(a,b,c){var e=G.b[a];if(e&&(e=F(e,b))){var g=G.a.a.id;e.a[c]&&-1!==e.a[c].indexOf(g)?(e=new XMLHttpRequest,e.open("DELETE","api/reaction?room="+a+"&msg="+b+"&reaction="+encodeURIComponent(c),!0),e.send(null)):qa(a,b,c)}};
+function ra(a){a:{for(var b=a,c={};!c[b];){if(a=G.a.g[b])if("alias:"==a.substr(0,6))c[b]=!0,b=a.substr(6);else{b=document.createElement("span");b.className="emoji-custom emoji";b.style.backgroundImage="url('"+a+"')";a=b;break a}break}a=b}"string"===typeof a&&"makeEmoji"in window&&(a=window.makeEmoji(a));return"string"===typeof a?null:a}
+function sa(a){return a.replace(/:([^ \t:]+):/g,function(b,c){var e=ra(c);if(e){var g=document.createElement("span");g.className=b===a?"emoji-medium":"emoji-small";g.appendChild(e);return g.outerHTML}return b})}
+function X(a){a=a.split(/\r?\n/g);for(var b=0,c=a.length;b<c;b++){for(var e=a[b].trim(),g="",d={},p=!1,h=0,e=e.replace(RegExp("<([@#]?)([^>]*)>","g"),function(a,b,c){c=c.split("|");if("@"===b)c[1]?"@"!==c[1][0]&&(c[1]="@"+c[1]):(a=A(G.a,c[0]),c[1]=a?"@"+a.name:J.N),c[0]="#"+c[0],c[2]="slackmsg-link slackmsg-link-user";else if("#"===b)c[1]?"#"!==c[1][0]&&(c[1]="#"+c[1]):(a=C(G.a,c[0]),c[1]=a?"#"+a.name:J.M),c[0]="#"+c[0],c[2]="slackmsg-link slackmsg-link-chan";else if(-1!==c[0].indexOf("://"))c[1]||
+(c[1]=c[0]),c[2]="slackmsg-link";else return a;return'<a href="'+c[0]+'" class="'+c[2]+'"'+(b?"":' target="_blank"')+">"+c[1]+"</a>"}),e=sa(e),l=e.length,k=function(a,b,c){for(;a[b];){var e=a[b];if(("A"<=e&&"Z">=e||"a"<=e&&"z">=e||"0"<=e&&"9">=e||-1!=="\u00e0\u00e8\u00ec\u00f2\u00f9\u00c0\u00c8\u00cc\u00d2\u00d9\u00e1\u00e9\u00ed\u00f3\u00fa\u00fd\u00c1\u00c9\u00cd\u00d3\u00da\u00dd\u00e2\u00ea\u00ee\u00f4\u00fb\u00c2\u00ca\u00ce\u00d4\u00db\u00e3\u00f1\u00f5\u00c3\u00d1\u00d5\u00e4\u00eb\u00ef\u00f6\u00fc\u00ff\u00c4\u00cb\u00cf\u00d6\u00dc\u0178\u00e7\u00c7\u00df\u00d8\u00f8\u00c5\u00e5\u00c6\u00e6\u0153".indexOf(e))&&
+a[b]!=c&&a[b+1]==c)return!0;b++}return!1},f=function(a){return Object.keys(d).length?'<span class="'+Object.keys(a).join(" ")+'">':""};h<l&&(" "===e[h]||"\t"===e[h]);)h++;"&gt;"===e.substr(h,4)&&(p=!0,h+=4);for(;h<l;h++){var m=e[h];if("<"===m){do g+=e[h++];while(">"!==e[h-1]);h--}else if(!d["slackmsg-style-bold"]&&"*"===m&&e[h+1]&&k(e,h,m))Object.keys(d).length&&(g+="</span>"),d["slackmsg-style-bold"]=!0,g+=f(d);else if(!d["slackmsg-style-strike"]&&"~"===m&&e[h+1]&&k(e,h,m))Object.keys(d).length&&
+(g+="</span>"),d["slackmsg-style-strike"]=!0,g+=f(d);else if(!d["slackmsg-style-code"]&&"`"===m&&e[h+1]&&k(e,h,m))Object.keys(d).length&&(g+="</span>"),d["slackmsg-style-code"]=!0,g+=f(d);else if(!d["slackmsg-style-italic"]&&"_"===m&&e[h+1]&&k(e,h,m))Object.keys(d).length&&(g+="</span>"),d["slackmsg-style-italic"]=!0,g+=f(d);else{var w=!1,g=g+m;do{if(d["slackmsg-style-bold"]&&"*"!==m&&"*"===e[h+1])delete d["slackmsg-style-bold"],w=!0;else if(d["slackmsg-style-strike"]&&"~"!==m&&"~"===e[h+1])delete d["slackmsg-style-strike"],
+w=!0;else if(d["slackmsg-style-code"]&&"`"!==m&&"`"===e[h+1])delete d["slackmsg-style-code"],w=!0;else if(d["slackmsg-style-italic"]&&"_"!==m&&"_"===e[h+1])delete d["slackmsg-style-italic"],w=!0;else break;m=e[++h]}while(h<l);w&&(g+="</span>"+f(d))}}d&&(g+="</span>");a[b]=p?'<span class="slackmsg-style-quote">'+g+"</span>":g}return a.join("<br/>")}function T(a,b,c){b.h?(a=ta(a,b,c),a.classList.add("slackmsg-me_message")):a=ta(a,b,c);b.l&&a.classList.add("slackmsg-edited");return a}
+function O(){var a=0,b=0,c="";if(Y)c="!"+J.H+" - ",document.getElementById("linkFavicon").href="favicon_err.png";else{for(var e in M)M.hasOwnProperty(e)&&(a+=M[e].u,b+=M[e].m);b?c="(!"+b+") - ":a&&(c="("+a+") - ");document.getElementById("linkFavicon").href=b||a?"favicon.png?h="+b+"&m="+a:"favicon_ok.png"}c+=G.a.h.name;document.title=c}
+function ua(){if("Notification"in window)if("granted"===Notification.permission){var a=Date.now();if(K+3E4<a){var b=new Notification(J.I);K=a;setTimeout(function(){b.close()},5E3)}}else"denied"!==Notification.permission&&Notification.requestPermission()}
+function va(){var a=document.createDocumentFragment(),b=H.id,c=null,e=0,g=null;G.b[b]&&G.b[b].a.forEach(function(d){if(!d.c){var h=T(b,d);c&&c.j===d.j&&d.j?(h.classList.add("slackmsg-same-author"),30>Math.abs(e-d.b)?g.classList.add("slackmsg-same-ts"):e=d.b):e=d.b;c=d;g=h;a.appendChild(h)}});var d=document.getElementById("chatWindow");d.textContent="";d.appendChild(a);d.scrollTop=d.scrollHeight-d.clientHeight}
+function wa(a){function b(a,b){for(b=b||a.target;b!==a.currentTarget&&b;){if(b.classList.contains("slackmsg-item"))return b.id;b=b.parentElement}}for(var c=a.target;c!==a.currentTarget&&c&&!c.classList.contains("slackmsg-hover");){if(c.parentElement&&c.parentElement.classList.contains("slackmsg-hover")){if(a=b(a,c)){a=parseFloat(a.split("_")[1]);var e=la(a);e&&c.classList.contains("slackmsg-hover-reply")?(W&&(W=null,V()),S!==e&&(S=e,R())):e&&c.classList.contains("slackmsg-hover-reaction")?xa.L(document.body,
+function(a){a&&qa(H.id,e.id,a)}):e&&c.classList.contains("slackmsg-hover-edit")?(S&&(S=null,R()),W!==e&&(W=e,V())):e&&c.classList.contains("slackmsg-hover-remove")&&(S&&(S=null,R()),W&&(W=null,V()),ya(e))}break}c=c.parentElement}}function U(){document.getElementById("msgInput").focus()}function N(){var a=document.location.hash.substr(1),b=C(G.a,a),a=A(G.a,a);b&&b!==H?za(b):a&&a.b&&za(a.b)}
+document.addEventListener("DOMContentLoaded",function(){ma();document.getElementById("chatWindow").addEventListener("click",wa);window.addEventListener("hashchange",function(){document.location.hash&&"#"===document.location.hash[0]&&N()});document.getElementById("fileUploadCancel").addEventListener("click",function(a){a.preventDefault();document.getElementById("fileUploadError").classList.add("hidden");document.getElementById("fileUploadContainer").classList.add("hidden");document.getElementById("fileUploadInput").value=
+"";return!1});document.getElementById("fileUploadForm").addEventListener("submit",function(a){a.preventDefault();a=document.getElementById("fileUploadInput");var b=a.value;b&&(b=b.substr(b.lastIndexOf("\\")+1),Aa(b,a.files[0],function(a){var b=document.getElementById("fileUploadError");a?(b.textContent=a,b.classList.remove("hidden")):(b.classList.add("hidden"),document.getElementById("fileUploadInput").value="",document.getElementById("fileUploadContainer").classList.add("hidden"))}));return!1});
+document.getElementById("attachFile").addEventListener("click",function(a){a.preventDefault();H&&document.getElementById("fileUploadContainer").classList.remove("hidden");return!1});document.getElementById("msgForm").addEventListener("submit",function(a){a.preventDefault();a=document.getElementById("msgInput");H&&a.value&&Ba(a.value)&&(a.value="",S&&(S=null,R()),W&&(W=null,R()),document.getElementById("slashList").textContent="");U();return!1});window.addEventListener("blur",function(){window.hasFocus=
+!1});window.addEventListener("focus",function(){window.hasFocus=!0;K=0;H&&Ca();U()});var a=0;document.getElementById("msgInput").addEventListener("input",function(){if(H){var b=Date.now();a+3E3<b&&(Da(),a=b);var b=[],c=this.value;if("/"===this.value[0]){var e=c.indexOf(" "),g=-1!==e,e=-1===e?c.length:e,c=c.substr(0,e),d;for(d in G.a.f.data){var p=G.a.f.data[d];(!g&&p.name.substr(0,e)===c||g&&p.name===c)&&b.push(p)}}5<b.length&&(b=[]);b.sort(function(a,b){return a.name.localeCompare(b.name)});e=document.getElementById("slashList");
+g=document.createDocumentFragment();e.textContent="";d=0;for(c=b.length;d<c;d++)g.appendChild(Ea(b[d]));e.appendChild(g)}});window.hasFocus=!0;(function(){var a=document.getElementById("emojiButton");if("makeEmoji"in window){var c=window.makeEmoji("smile");c?a.innerHTML="<span class='emoji-small'>"+c.outerHTML+"</span>":a.style.backgroundImage='url("smile.svg")';(c=window.makeEmoji("paperclip"))?document.getElementById("attachFile").innerHTML="<span class='emoji-small'>"+c.outerHTML+"</span>":document.getElementById("attachFile").style.backgroundImage=
+'url("public/paperclip.svg")';a.addEventListener("click",function(){xa.L(document.body,function(a){a&&(document.getElementById("msgInput").value+=":"+a+":");U()})})}else a.classList.add("hidden")})();Z()});function L(){var a=document.createElement("span"),b=document.createElement("span"),c=document.createElement("span"),e=document.createElement("span");a.className="typing-container";b.className="typing-dot1";c.className="typing-dot2";e.className="typing-dot3";b.textContent=c.textContent=e.textContent=".";a.appendChild(b);a.appendChild(c);a.appendChild(e);return a}
+function Fa(a,b,c,e){var g=ra(c);if(g){for(var d=document.createElement("li"),p=document.createElement("a"),h=document.createElement("span"),l=document.createElement("span"),k=[],f=0,m=e.length;f<m;f++){var w=A(G.a,e[f]);w&&k.push(w.name)}k.sort();l.textContent=k.join(", ");h.appendChild(g);h.className="emoji-small";p.href="javascript:toggleReaction('"+a+"', '"+b+"', '"+c+"')";p.appendChild(h);p.appendChild(l);d.className="slackmsg-reaction-item";d.appendChild(p);return d}return null}
+function ta(a,b,c){var e=document.createElement("div"),g=document.createElement("div"),d=document.createElement("div"),p=document.createElement("div"),h=document.createElement("img"),l=document.createElement("span"),k=document.createElement("ul"),f=document.createElement("li"),m=document.createElement("ul"),w=document.createElement("ul"),r=A(G.a,b.j);e.id=a+"_"+b.b;e.className="slackmsg-item";d.className="slackmsg-ts";p.className="slackmsg-msg";h.className="slackmsg-author-img";l.className="slackmsg-author-name";
+k.className="slackmsg-hover";f.className="slackmsg-hover-reply";d.innerHTML=J.w(b.b);p.innerHTML=X(b.text);l.textContent=r?r.name:b.g||"?";h.src=r?r.a.o:"";k.appendChild(f);if("makeEmoji"in window){var v=document.createElement("li"),x=window.makeEmoji("arrow_heading_down"),B=window.makeEmoji("smile"),y=window.makeEmoji("pencil2"),r=window.makeEmoji("x");v.className="slackmsg-hover-reaction";B?(v.classList.add("emoji-small"),v.appendChild(B)):v.style.backgroundImage='url("smile.svg")';x?(f.classList.add("emoji-small"),
 f.appendChild(x)):f.style.backgroundImage='url("repl.svg")';k.appendChild(v);b.j===G.a.a.id&&(f=document.createElement("li"),f.className="slackmsg-hover-edit",y?f.classList.add("emoji-small"):f.style.backgroundImage='url("edit.svg")',f.appendChild(y),k.appendChild(f),f=document.createElement("li"),f.className="slackmsg-hover-remove",r?f.classList.add("emoji-small"):f.style.backgroundImage='url("remove.svg")',f.appendChild(r),k.appendChild(f))}else f.style.backgroundImage='url("repl.svg")',b.j===G.a.a.id&&
-(f=document.createElement("li"),f.className="slackmsg-hover-edit",f.style.backgroundImage='url("edit.svg")',k.appendChild(f),f=document.createElement("li"),f.className="slackmsg-hover-remove",f.style.backgroundImage='url("remove.svg")',k.appendChild(f));d.appendChild(h);g.appendChild(l);g.appendChild(p);g.appendChild(e);g.appendChild(m);b.l&&(e=document.createElement("div"),e.textContent=J.l,e.className="slackmsg-edited",g.appendChild(e));g.appendChild(w);g.className="slackmsg-content";m.className=
-"slackmsg-attachments";w.className="slackmsg-reactions";if(!0!==c){if(b.a)for(var u in b.a)(c=Ea(a,b.id,u,b.a[u]))&&w.appendChild(c);b.f.forEach(function(a){var b=document.createElement("li"),c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("a"),g=document.createElement("div"),f=document.createElement("img"),h=document.createElement("a"),k=document.createElement("div"),l=document.createElement("div"),t=document.createElement("img"),x=document.createElement("img"),
-p=document.createElement("div"),y=document.createElement("img"),u=document.createElement("span"),B=document.createElement("span");b.className="slackmsg-attachment";var r="#e3e4e6";a.color&&("#"===a.color[0]?r=a.color[0]:"good"===a.color?r="#2fa44f":"warning"===a.color?r="#de9e31":"danger"===a.color&&(r="#d50200"));c.style.borderColor=r;c.className="slackmsg-attachment-block";d.className="slackmsg-attachment-pretext";a.pretext?d.innerHTML=X(a.pretext):d.classList.add("hidden");e.target="_blank";a.title?
-(e.innerHTML=X(a.title),a.title_link&&(e.href=a.title_link),e.className="slackmsg-attachment-title"):e.className="hidden slackmsg-attachment-title";h.target="_blank";g.className="slackmsg-author";a.author_name?(h.innerHTML=X(a.author_name),h.href=a.author_link||"",h.className="slackmsg-author-name",f.className="slackmsg-author-img",a.author_icon?f.src=a.author_icon:f.classList.add("hidden")):g.classList.add("hidden");l.innerHTML=X(a.text||"");l.a="slackmsg-attachment-text";t.className="slackmsg-attachment-thumb";
+(f=document.createElement("li"),f.className="slackmsg-hover-edit",f.style.backgroundImage='url("edit.svg")',k.appendChild(f),f=document.createElement("li"),f.className="slackmsg-hover-remove",f.style.backgroundImage='url("remove.svg")',k.appendChild(f));e.appendChild(h);g.appendChild(l);g.appendChild(p);g.appendChild(d);g.appendChild(m);b.l&&(d=document.createElement("div"),d.textContent=J.l,d.className="slackmsg-edited",g.appendChild(d));g.appendChild(w);g.className="slackmsg-content";m.className=
+"slackmsg-attachments";w.className="slackmsg-reactions";if(!0!==c){if(b.a)for(var u in b.a)(c=Fa(a,b.id,u,b.a[u]))&&w.appendChild(c);b.f.forEach(function(a){var b=document.createElement("li"),c=document.createElement("div"),e=document.createElement("div"),d=document.createElement("a"),g=document.createElement("div"),f=document.createElement("img"),h=document.createElement("a"),k=document.createElement("div"),l=document.createElement("div"),t=document.createElement("img"),x=document.createElement("img"),
+p=document.createElement("div"),y=document.createElement("img"),u=document.createElement("span"),B=document.createElement("span");b.className="slackmsg-attachment";var r="#e3e4e6";a.color&&("#"===a.color[0]?r=a.color[0]:"good"===a.color?r="#2fa44f":"warning"===a.color?r="#de9e31":"danger"===a.color&&(r="#d50200"));c.style.borderColor=r;c.className="slackmsg-attachment-block";e.className="slackmsg-attachment-pretext";a.pretext?e.innerHTML=X(a.pretext):e.classList.add("hidden");d.target="_blank";a.title?
+(d.innerHTML=X(a.title),a.title_link&&(d.href=a.title_link),d.className="slackmsg-attachment-title"):d.className="hidden slackmsg-attachment-title";h.target="_blank";g.className="slackmsg-author";a.author_name?(h.innerHTML=X(a.author_name),h.href=a.author_link||"",h.className="slackmsg-author-name",f.className="slackmsg-author-img",a.author_icon?f.src=a.author_icon:f.classList.add("hidden")):g.classList.add("hidden");l.innerHTML=X(a.text||"");l.a="slackmsg-attachment-text";t.className="slackmsg-attachment-thumb";
 a.thumb_url?t.src=a.thumb_url:t.classList.add("hidden");x.className="slackmsg-attachment-img";a.image_url?x.src=a.image_url:x.classList.add("hidden");p.className="slackmsg-attachment-footer";u.className="slackmsg-attachment-footer-text";y.className="slackmsg-attachment-footer-icon";a.footer?(u.innerHTML=X(a.footer),a.footer_icon?y.src=a.footer_icon:y.classList.add("hidden")):(y.classList.add("hidden"),u.classList.add("hidden"));B.className="slackmsg-ts";a.ts?B.innerHTML=J.w(a.ts):B.classList.add("hidden");
-g.appendChild(f);g.appendChild(h);k.appendChild(l);k.appendChild(t);p.appendChild(y);p.appendChild(u);p.appendChild(B);c.appendChild(e);c.appendChild(g);c.appendChild(k);c.appendChild(x);c.appendChild(p);b.appendChild(d);b.appendChild(c);b&&m.appendChild(b)})}d.appendChild(g);d.appendChild(k);return d}
-function Da(a){var b=document.createElement("li"),c=document.createElement("span"),d=document.createElement("span"),g=document.createElement("span");c.textContent=a.name;d.textContent=a.usage;g.textContent=a.a;b.appendChild(c);b.appendChild(d);b.appendChild(g);b.className="slack-command-item";c.className="slack-command-name";d.className="slack-command-usage";g.className="slack-command-desc";return b};var wa=function(){function a(a,b){for(var c=a.target;c!==l&&c&&"LI"!==c.nodeName;)c=c.parentElement;c&&"LI"===c.nodeName&&c.id&&"emojibar-"===c.id.substr(0,9)?b(c.id.substr(9)):b(null)}function b(){if(!c())return!1;t&&t(null);return!0}function c(){return l.parentElement?(l.parentElement.removeChild(k),l.parentElement.removeChild(l),!0):!1}function d(a){var b=0,c;a=void 0===a?r.value:a;if(h()){var d=window.searchEmojis(a);c=g(d);for(var f in v)v[f].visible&&(v[f].visible=!1,m.removeChild(v[f].i));
-f=0;for(var k=c.length;f<k;f++){var l=c[f].name,t=v[l];if(!t){var t=v,p=l,y=l,l=window.makeEmoji(d[l]),u=document.createElement("span");u.appendChild(l);u.className="emoji-medium";l=e(y,u);t=t[p]=l}t.visible||(t.visible=!0,m.appendChild(t.i));b++}}for(f in x)x[f].visible&&(x[f].visible=!1,w.removeChild(x[f].i));c=g(G.a.g.data);f=0;for(k=c.length;f<k;f++)l=c[f].name,""!==a&&l.substr(0,a.length)!==a||"alias:"===G.a.g.data[l].substr(0,6)||(t=x[l],t||(d=x,p=t=l,l=G.a.g.data[l],y=document.createElement("span"),
-u=document.createElement("span"),y.className="emoji emoji-custom",y.style.backgroundImage='url("'+l+'")',u.appendChild(y),u.className="emoji-medium",l=e(p,u),t=d[t]=l),t.visible||(t.visible=!0,w.appendChild(t.i)),b++);return b}function g(a){var b=G.a.a.c.b,c=[],d;for(d in a)c.push({name:d,K:0,count:b[d]||0});return c=c.sort(function(a,b){var c=b.count-a.count;return c?c:a.K-b.K})}function e(a,b){var c=document.createElement("li");c.appendChild(b);c.className="emojibar-list-item";c.id="emojibar-"+
-a;return{visible:!1,i:c}}function p(a){var b=document.createElement("img"),c=document.createElement("div");b.src=a;c.appendChild(b);c.className="emojibar-header";return c}function h(){return"searchEmojis"in window}var l=document.createElement("div"),k=document.createElement("div"),f=document.createElement("div"),m=document.createElement("ul"),w=document.createElement("ul"),r=document.createElement("input"),v={},x={},B=document.createElement("div"),y=document.createElement("span"),u=document.createElement("span"),
-t;k.addEventListener("click",function(a){var c=l.getBoundingClientRect();(a.screenY<c.top||a.screenY>c.bottom||a.screenX<c.left||a.screenX>c.right)&&b()});k.className="emojibar-overlay";l.className="emojibar";f.className="emojibar-emojis";B.className="emojibar-detail";y.className="emojibar-detail-img";u.className="emojibar-detail-name";m.className=w.className="emojibar-list";r.className="emojibar-search";B.appendChild(y);B.appendChild(u);f.appendChild(p(window.emojiProviderHeader));f.appendChild(m);
-f.appendChild(p("emojicustom.png"));f.appendChild(w);l.appendChild(f);l.appendChild(B);l.appendChild(r);r.addEventListener("keyup",function(){d()});l.addEventListener("mousemove",function(b){a(b,function(a){var b=a?v[a]||x[a]:null;b?(y.innerHTML=b.i.outerHTML,u.textContent=":"+a+":"):(y.textContent="",u.textContent="")})});l.addEventListener("click",function(b){a(b,function(a){a&&c()&&t&&t(a)})});return{isSupported:h,L:function(a,b){return h()?(t=b,a.appendChild(k),a.appendChild(l),r.value="",d(),
-r.focus(),!0):!1},search:d,close:b}}();var G,M={};setInterval(function(){var a=G.a,b=Date.now(),c=!1,d;for(d in a.c){var g=!0,e;for(e in a.c[d])a.c[d][e]+3E3<b?(delete a.c[d][e],c=!0):g=!1;g&&(delete a.c[d],c=!0)}c&&P()},1E3);
-function Fa(a,b){if(a!==H||!window.hasFocus){var c=new RegExp("<@"+G.a.a.id),d=!1,g=!1;M[a.id]||(M[a.id]={m:0,u:0});b.forEach(function(b){var e;if(!(e="D"===a.id[0]||b.text.match(c)))a:{b=b.text;e=G.a.a.c.a;for(var h=0,l=e.length;h<l;h++)if(-1!==b.indexOf(e[h])){console.log("Found highlight "+e[h]+" in "+b);e=!0;break a}e=!1}e?(g|=!M[a.id].m,M[a.id].m++,d=!0):M[a.id].u++});O();document.getElementById(a.id).classList.add("unread");d&&document.getElementById(a.id).classList.add("unreadHi");g&&!window.hasFocus&&
-ta()}}function Ba(){var a=H;M[a.id]&&(M[a.id]={m:0,u:0},O());a=document.getElementById(a.id);a.classList.remove("unread");a.classList.remove("unreadHi")}G=new function(){this.c=0;this.a=new z;this.b={}};var oa=function(){function a(a,b){b.sort(function(){return Math.random()-.5});for(var c=0,d=20;d<l-40;d+=f)for(var g=0;g+f<=k;g+=f)e(a,b[c],d,g),c++,c===b.length&&(b.sort(function(a,b){return a.s?b.s?Math.random()-.5:-1:1}),c=0)}function b(a,d){for(var e=0,g=a.length;e<g;e++)if(void 0===a[e].s){c(a[e].src,function(c){a[e].s=c;b(a,d)});return}var f=[];a.forEach(function(a){a.s&&f.push(a.s)});d(f)}function c(a,b){var c=new XMLHttpRequest;c.responseType="blob";c.onreadystatechange=function(){if(4===
-c.readyState)if(c.response){var a=new Image;a.onload=function(){var c=document.createElement("canvas");c.height=c.width=r;c=c.getContext("2d");c.drawImage(a,0,0,r,r);for(var c=c.getImageData(0,0,r,r),d=0,e=0;e<c.width*c.height*4;e+=4)c.data[e]=c.data[e+1]=c.data[e+2]=(c.data[e]+c.data[e+1]+c.data[e+2])/3,c.data[e+3]=50,d+=c.data[e];if(50>d/(c.height*c.width))for(e=0;e<c.width*c.height*4;e+=4)c.data[e]=c.data[e+1]=c.data[e+2]=255-c.data[e];b(c)};a.onerror=function(){b(null)};a.src=window.URL.createObjectURL(c.response)}else b(null)};
-c.open("GET",a,!0);c.send(null)}function d(){var a=h.createLinearGradient(0,0,0,k);a.addColorStop(0,"#4D394B");a.addColorStop(1,"#201820");h.fillStyle=a;h.fillRect(0,0,l,k);return h.getImageData(0,0,l,k)}function g(a,b){for(var c=(a.height-b.height)/2,d=0;d<b.height;d++)for(var e=0;e<b.width;e++){var g=b.data[4*(d*b.width+e)]/255,f=4*((d+c)*a.width+e+c);a.data[f]*=g;a.data[f+1]*=g;a.data[f+2]*=g}return a}function e(a,b,c,d){var e=Math.floor(d);a=[a.data[e*l*4+0],a.data[e*l*4+1],a.data[e*l*4+2]];h.fillStyle=
-"#"+(1.1*a[0]<<16|1.1*a[1]<<8|1.1*a[2]).toString(16);h.beginPath();h.moveTo(c+f/2,d+m);h.lineTo(c-m+f,d+f/2);h.lineTo(c+f/2,d-m+f);h.lineTo(c+m,d+f/2);h.closePath();h.fill();h.putImageData(g(h.getImageData(c+m,d+m,w,w),b),c+m,d+m)}var p=document.createElement("canvas"),h=p.getContext("2d"),l=p.width=250,k=p.height=290,f=(l-40)/3,m=.1*f,w=Math.floor(f-2*m),r=.5*w,v;return function(c){if(v)c(v);else{var e=d(),g=[],f;for(f in G.a.b)G.a.b[f].h||g.push({src:"api/avatar?user="+f});b(g,function(b){a(e,b);
-v=p.toDataURL();c(v)})}}}();var Y=0,H=null,S=null,W=null;function Ga(a){var b=new XMLHttpRequest;b.timeout=6E4;b.onreadystatechange=function(){if(4===b.readyState)if(b.status){var c=null,d=2===Math.floor(b.status/100);if(d){Y&&(Y=0,Q(!0));c=b.response;try{c=JSON.parse(c)}catch(g){c=null}}else Y?(Y+=Math.floor((Y||5)/2),Y=Math.min(60,Y)):(Y=5,Q(!1));a(d,c)}else Y&&(Y=0,Q(!0)),Ga(a)};b.open("GET","api?v="+G.c,!0);b.send(null)}function Ca(){var a=new XMLHttpRequest;a.open("POST","api/typing?room="+H.id,!0);a.send(null)}
-function Ha(a,b){if(a){if(b){var c=G,d=Date.now();b.v&&(c.c=b.v);if(b["static"]){var g=c.a,e=b["static"],p=Date.now();if(e.bots)for(var h=0,l=e.bots.length;h<l;h++){var k=g.C[e.bots[h].id];k||(k=g.C[e.bots[h].id]=new fa(e.bots[h].id));var f=e.bots[h],m=p;void 0!==f.deleted&&(k.h=f.deleted);void 0!==f.name&&(k.name=f.name);f.icons&&(k.a.X=f.icons.image_36,k.a.o=f.icons.image_48,k.a.B=f.icons.image_72);void 0!==f.presence&&(k.g="away"!==f.presence);void 0!==f.isPresent&&(k.g=f.isPresent);k.version=
-Math.max(k.version,m)}if(e.users)for(h=0,l=e.users.length;h<l;h++)(k=g.b[e.users[h].id])||(k=g.b[e.users[h].id]=new ca(e.users[h].id)),f=e.users[h],m=p,void 0!==f.name&&(k.name=f.name),void 0!==f.deleted&&(k.h=f.deleted),void 0!==f.status&&(k.status=f.status),void 0!==f.presence&&(k.g="away"!==f.presence),void 0!==f.isPresent&&(k.g=f.isPresent),f.profile&&(k.a.U=f.profile.image_24,k.a.V=f.profile.image_32,k.a.o=f.profile.image_48,k.a.B=f.profile.image_72,k.a.S=f.profile.image_192,k.a.Z=f.profile.image_512),
-k.version=Math.max(k.version,m);if(e.ims)for(h=0,l=e.ims.length;h<l;h++)if(f=A(g,e.ims[h].user))f.b||(g.G[e.ims[h].id]=f.b=new ba(e.ims[h].id,f)),k=f.b,m=p,k.f=parseFloat(e.ims[h].last_read),k.b=f.h,k.version=Math.max(k.version,m);if(e.channels)for(h=0,l=e.channels.length;h<l;h++){(k=g.A[e.channels[h].id])||(k=g.A[e.channels[h].id]=new n(e.channels[h].id));var f=e.channels[h],m=g,w=p;void 0!==f.name&&(k.name=f.name);void 0!==f.is_archived&&(k.b=f.is_archived);void 0!==f.last_read&&(k.f=parseFloat(f.last_read));
-if(f.members&&(k.a={},f.members))for(var r=0,v=f.members.length;r<v;r++){var x=A(m,f.members[r]);k.a[x.id]=x;x.f[k.id]=k}k.version=Math.max(k.version,w)}h=0;for(l=e.groups.length;h<l;h++){(k=g.D[e.groups[h].id])||(k=g.D[e.groups[h].id]=new q(e.groups[h].id));f=g;m=e.groups[h];w=p;r=[];if(m.members){k.a={};v=k.g=0;for(x=m.members.length;v<x;v++){var B=A(f,m.members[v]);k.a[m.members[v]]=B;B.f[k.id]=k;r.push(B.name);k.g++}k.name=r.join(", ")}void 0!==m.is_archived&&(k.b=m.is_archived||!1===m.is_open);
-void 0!==m.last_read&&(k.f=parseFloat(m.last_read));k.version=Math.max(k.version,w)}e.emojis&&(g.g.data=e.emojis,g.g.version=p);if(void 0!==e.commands){g.f.data={};for(h in e.commands)g.f.data[h]=new ga(e.commands[h]);g.f.version=p}e.team&&(g.h||(g.h=new aa(e.team.id)),l=g.h,k=e.team,void 0!==k.name&&(l.name=k.name),k.icon&&(l.a.W=k.icon.image_34,l.a.Y=k.icon.image_44,l.a.$=k.icon.image_68,l.a.aa=k.icon.image_88,l.a.P=k.icon.image_102,l.a.R=k.icon.image_132,l.a.T=k.icon.image_230,l.a.ba=k.icon.image_default),
-l.version=Math.max(l.version,p));g.J=Math.max(g.J,p);e.self&&(g.a=A(g,e.self.id),g.a.c||(g.a.c=new da),ea(g.a.c,e.self.prefs,p));if(void 0!==e.typing)for(h in g.c=e.typing,g.c)for(var y in g.c[h])g.c[h][y]=p;na();b["static"].typing&&P()}if(b.live){for(var u in b.live)(g=c.b[u])?E(g,b.live[u],d):c.b[u]=new D(u,250,b.live[u],d);for(var t in b.live)(d=C(c.a,t))&&!d.b&&(Fa(d,b.live[t]),H&&b.live[H.id]&&ua())}}Z()}else setTimeout(Z,1E3*Y)}function Z(){Ga(Ha)}
-function ya(a){H&&document.getElementById(H.id).classList.remove("selected");document.getElementById(a.id).classList.add("selected");document.body.classList.remove("no-room-selected");H=a;a=H.name||(H.c?H.c.name:void 0);if(!a){a=[];for(var b in H.a)a.push(H.a[b].name);a=a.join(", ")}document.getElementById("currentRoomTitle").textContent=a;ua();U();document.getElementById("fileUploadContainer").classList.add("hidden");Ba();S&&(S=null,R());W&&(W=null,R());H.f&&!G.b[H.id]&&(b=new XMLHttpRequest,b.open("GET",
-"api/hist?room="+H.id,!0),b.send(null))}function za(a,b,c){var d=H;new FileReader;var g=new FormData,e=new XMLHttpRequest;g.append("file",b);g.append("filename",a);e.onreadystatechange=function(){4===e.readyState&&(204===e.status?c(null):c(e.statusText))};e.open("POST","api/file?room="+d.id);e.send(g)}
-function Aa(a){if(W){var b=new XMLHttpRequest;b.open("PUT","api/msg?room="+H.id+"&ts="+W.id+"&text="+encodeURIComponent(a),!0);b.send(null);return!0}if("/"===a[0]){var c=a.indexOf(" "),b=-1===c?"":a.substr(c);return(a=G.a.f.data[a.substr(0,-1===c?void 0:c)])?(c=new XMLHttpRequest,c.open("POST","api/cmd?room="+H.id+"&cmd="+encodeURIComponent(a.name.substr(1))+"&args="+encodeURIComponent(b.trim()),!0),c.send(null),!0):!1}var b=H,c=S,d=new XMLHttpRequest;a="api/msg?room="+b.id+"&text="+encodeURIComponent(a);
-if(c){var g=A(G.a,c.j),e="Message";"C"===b.id[0]?e="Channel message":"D"===b.id[0]?e="Direct message":"G"===b.id[0]&&(e="Group message");a+="&attachments="+encodeURIComponent(JSON.stringify([{fallback:c.text,author_name:"<@"+g.id+"|"+g.name+">",author_icon:g.a.o,text:c.text,footer:e,ts:c.b}]))}d.open("POST",a,!0);d.send(null);return!0}function xa(a){var b=new XMLHttpRequest;b.open("DELETE","api/msg?room="+H.id+"&ts="+a.id,!0);b.send(null)}
-function pa(a,b,c){var d=new XMLHttpRequest;d.open("POST","api/reaction?room="+a+"&msg="+b+"&reaction="+encodeURIComponent(c),!0);d.send(null)};
+g.appendChild(f);g.appendChild(h);k.appendChild(l);k.appendChild(t);p.appendChild(y);p.appendChild(u);p.appendChild(B);c.appendChild(d);c.appendChild(g);c.appendChild(k);c.appendChild(x);c.appendChild(p);b.appendChild(e);b.appendChild(c);b&&m.appendChild(b)})}e.appendChild(g);e.appendChild(k);return e}
+function Ea(a){var b=document.createElement("li"),c=document.createElement("span"),e=document.createElement("span"),g=document.createElement("span");c.textContent=a.name;e.textContent=a.usage;g.textContent=a.a;b.appendChild(c);b.appendChild(e);b.appendChild(g);b.className="slack-command-item";c.className="slack-command-name";e.className="slack-command-usage";g.className="slack-command-desc";return b};var xa=function(){function a(a,b){for(var c=a.target;c!==l&&c&&"LI"!==c.nodeName;)c=c.parentElement;c&&"LI"===c.nodeName&&c.id&&"emojibar-"===c.id.substr(0,9)?b(c.id.substr(9)):b(null)}function b(){if(!c())return!1;t&&t(null);return!0}function c(){return l.parentElement?(l.parentElement.removeChild(k),l.parentElement.removeChild(l),!0):!1}function e(a){var b=0,c;a=void 0===a?r.value:a;if(h()){var e=window.searchEmojis(a);c=g(e);for(var f in v)v[f].visible&&(v[f].visible=!1,m.removeChild(v[f].i));
+f=0;for(var k=c.length;f<k;f++){var l=c[f].name,t=v[l];if(!t){var t=v,p=l,y=l,l=window.makeEmoji(e[l]),u=document.createElement("span");u.appendChild(l);u.className="emoji-medium";l=d(y,u);t=t[p]=l}t.visible||(t.visible=!0,m.appendChild(t.i));b++}}for(f in x)x[f].visible&&(x[f].visible=!1,w.removeChild(x[f].i));c=g(G.a.g.data);f=0;for(k=c.length;f<k;f++)l=c[f].name,""!==a&&l.substr(0,a.length)!==a||"alias:"===G.a.g.data[l].substr(0,6)||(t=x[l],t||(e=x,p=t=l,l=G.a.g.data[l],y=document.createElement("span"),
+u=document.createElement("span"),y.className="emoji emoji-custom",y.style.backgroundImage='url("'+l+'")',u.appendChild(y),u.className="emoji-medium",l=d(p,u),t=e[t]=l),t.visible||(t.visible=!0,w.appendChild(t.i)),b++);return b}function g(a){var b=G.a.a.c.b,c=[],e;for(e in a){var d={name:e,K:0,count:0};a[e].names.forEach(function(a){d.count+=b[a]||0});c.push(d)}return c=c.sort(function(a,b){var c=b.count-a.count;return c?c:a.K-b.K})}function d(a,b){var c=document.createElement("li");c.appendChild(b);
+c.className="emojibar-list-item";c.id="emojibar-"+a;return{visible:!1,i:c}}function p(a){var b=document.createElement("img"),c=document.createElement("div");b.src=a;c.appendChild(b);c.className="emojibar-header";return c}function h(){return"searchEmojis"in window}var l=document.createElement("div"),k=document.createElement("div"),f=document.createElement("div"),m=document.createElement("ul"),w=document.createElement("ul"),r=document.createElement("input"),v={},x={},B=document.createElement("div"),
+y=document.createElement("span"),u=document.createElement("span"),t;k.addEventListener("click",function(a){var c=l.getBoundingClientRect();(a.screenY<c.top||a.screenY>c.bottom||a.screenX<c.left||a.screenX>c.right)&&b()});k.className="emojibar-overlay";l.className="emojibar";f.className="emojibar-emojis";B.className="emojibar-detail";y.className="emojibar-detail-img";u.className="emojibar-detail-name";m.className=w.className="emojibar-list";r.className="emojibar-search";B.appendChild(y);B.appendChild(u);
+f.appendChild(p(window.emojiProviderHeader));f.appendChild(m);f.appendChild(p("emojicustom.png"));f.appendChild(w);l.appendChild(f);l.appendChild(B);l.appendChild(r);r.addEventListener("keyup",function(){e()});l.addEventListener("mousemove",function(b){a(b,function(a){var b=a?v[a]||x[a]:null;b?(y.innerHTML=b.i.outerHTML,u.textContent=":"+a+":"):(y.textContent="",u.textContent="")})});l.addEventListener("click",function(b){a(b,function(a){a&&c()&&t&&t(a)})});return{isSupported:h,L:function(a,b){return h()?
+(t=b,a.appendChild(k),a.appendChild(l),r.value="",e(),r.focus(),!0):!1},search:e,close:b}}();var G,M={};setInterval(function(){var a=G.a,b=Date.now(),c=!1,e;for(e in a.b){var g=!0,d;for(d in a.b[e])a.b[e][d]+3E3<b?(delete a.b[e][d],c=!0):g=!1;g&&(delete a.b[e],c=!0)}c&&P()},1E3);
+function Ga(a,b){if(a!==H||!window.hasFocus){var c=new RegExp("<@"+G.a.a.id),e=!1,g=!1;M[a.id]||(M[a.id]={m:0,u:0});b.forEach(function(b){var d;if(!(d="D"===a.id[0]||b.text.match(c)))a:{b=b.text;d=G.a.a.c.a;for(var h=0,l=d.length;h<l;h++)if(-1!==b.indexOf(d[h])){console.log("Found highlight "+d[h]+" in "+b);d=!0;break a}d=!1}d?(g|=!M[a.id].m,M[a.id].m++,e=!0):M[a.id].u++});O();document.getElementById(a.id).classList.add("unread");e&&document.getElementById(a.id).classList.add("unreadHi");g&&!window.hasFocus&&
+ua()}}function Ca(){var a=H;M[a.id]&&(M[a.id]={m:0,u:0},O());a=document.getElementById(a.id);a.classList.remove("unread");a.classList.remove("unreadHi")}G=new function(){this.c=0;this.a=new z;this.b={}};var oa=function(){function a(a,b){b.sort(function(){return Math.random()-.5});for(var c=0,e=20;e<l-40;e+=f)for(var g=0;g+f<=k;g+=f)d(a,b[c],e,g),c++,c===b.length&&(b.sort(function(a,b){return a.s?b.s?Math.random()-.5:-1:1}),c=0)}function b(a,e){for(var d=0,g=a.length;d<g;d++)if(void 0===a[d].s){c(a[d].src,function(c){a[d].s=c;b(a,e)});return}var f=[];a.forEach(function(a){a.s&&f.push(a.s)});e(f)}function c(a,b){var c=new XMLHttpRequest;c.responseType="blob";c.onreadystatechange=function(){if(4===
+c.readyState)if(c.response){var a=new Image;a.onload=function(){var c=document.createElement("canvas");c.height=c.width=r;c=c.getContext("2d");c.drawImage(a,0,0,r,r);for(var c=c.getImageData(0,0,r,r),e=0,d=0;d<c.width*c.height*4;d+=4)c.data[d]=c.data[d+1]=c.data[d+2]=(c.data[d]+c.data[d+1]+c.data[d+2])/3,c.data[d+3]=50,e+=c.data[d];if(50>e/(c.height*c.width))for(d=0;d<c.width*c.height*4;d+=4)c.data[d]=c.data[d+1]=c.data[d+2]=255-c.data[d];b(c)};a.onerror=function(){b(null)};a.src=window.URL.createObjectURL(c.response)}else b(null)};
+c.open("GET",a,!0);c.send(null)}function e(){var a=h.createLinearGradient(0,0,0,k);a.addColorStop(0,"#4D394B");a.addColorStop(1,"#201820");h.fillStyle=a;h.fillRect(0,0,l,k);return h.getImageData(0,0,l,k)}function g(a,b){for(var c=(a.height-b.height)/2,d=0;d<b.height;d++)for(var e=0;e<b.width;e++){var g=b.data[4*(d*b.width+e)]/255,f=4*((d+c)*a.width+e+c);a.data[f]*=g;a.data[f+1]*=g;a.data[f+2]*=g}return a}function d(a,b,c,d){var e=Math.floor(d);a=[a.data[e*l*4+0],a.data[e*l*4+1],a.data[e*l*4+2]];h.fillStyle=
+"#"+(1.1*a[0]<<16|1.1*a[1]<<8|1.1*a[2]).toString(16);h.beginPath();h.moveTo(c+f/2,d+m);h.lineTo(c-m+f,d+f/2);h.lineTo(c+f/2,d-m+f);h.lineTo(c+m,d+f/2);h.closePath();h.fill();h.putImageData(g(h.getImageData(c+m,d+m,w,w),b),c+m,d+m)}var p=document.createElement("canvas"),h=p.getContext("2d"),l=p.width=250,k=p.height=290,f=(l-40)/3,m=.1*f,w=Math.floor(f-2*m),r=.5*w,v;return function(c){if(v)c(v);else{var d=e(),f=[],g;for(g in G.a.c)G.a.c[g].h||f.push({src:"api/avatar?user="+g});b(f,function(b){a(d,b);
+v=p.toDataURL();c(v)})}}}();var Y=0,H=null,S=null,W=null;function Ha(a){var b=new XMLHttpRequest;b.timeout=6E4;b.onreadystatechange=function(){if(4===b.readyState)if(b.status){var c=null,e=2===Math.floor(b.status/100);if(e){Y&&(Y=0,Q(!0));c=b.response;try{c=JSON.parse(c)}catch(g){c=null}}else Y?(Y+=Math.floor((Y||5)/2),Y=Math.min(60,Y)):(Y=5,Q(!1));a(e,c)}else Y&&(Y=0,Q(!0)),Ha(a)};b.open("GET","api?v="+G.c,!0);b.send(null)}function Da(){var a=new XMLHttpRequest;a.open("POST","api/typing?room="+H.id,!0);a.send(null)}
+function Ia(a,b){if(a){if(b){var c=G,e=Date.now();b.v&&(c.c=b.v);if(b["static"]){var g=c.a,d=b["static"],p=Date.now();if(d.bots)for(var h=0,l=d.bots.length;h<l;h++){var k=g.C[d.bots[h].id];k||(k=g.C[d.bots[h].id]=new fa(d.bots[h].id));var f=d.bots[h],m=p;void 0!==f.deleted&&(k.h=f.deleted);void 0!==f.name&&(k.name=f.name);f.icons&&(k.a.X=f.icons.image_36,k.a.o=f.icons.image_48,k.a.B=f.icons.image_72);void 0!==f.presence&&(k.g="away"!==f.presence);void 0!==f.isPresent&&(k.g=f.isPresent);k.version=
+Math.max(k.version,m)}if(d.users)for(h=0,l=d.users.length;h<l;h++)(k=g.c[d.users[h].id])||(k=g.c[d.users[h].id]=new ca(d.users[h].id)),f=d.users[h],m=p,void 0!==f.name&&(k.name=f.name),void 0!==f.deleted&&(k.h=f.deleted),void 0!==f.status&&(k.status=f.status),void 0!==f.presence&&(k.g="away"!==f.presence),void 0!==f.isPresent&&(k.g=f.isPresent),f.profile&&(k.a.U=f.profile.image_24,k.a.V=f.profile.image_32,k.a.o=f.profile.image_48,k.a.B=f.profile.image_72,k.a.S=f.profile.image_192,k.a.Z=f.profile.image_512),
+k.version=Math.max(k.version,m);if(d.ims)for(h=0,l=d.ims.length;h<l;h++)if(f=A(g,d.ims[h].user))f.b||(g.G[d.ims[h].id]=f.b=new ba(d.ims[h].id,f)),k=f.b,m=p,k.f=parseFloat(d.ims[h].last_read),k.b=f.h,k.version=Math.max(k.version,m);if(d.channels)for(h=0,l=d.channels.length;h<l;h++){(k=g.A[d.channels[h].id])||(k=g.A[d.channels[h].id]=new n(d.channels[h].id));var f=d.channels[h],m=g,w=p;void 0!==f.name&&(k.name=f.name);void 0!==f.is_archived&&(k.b=f.is_archived);void 0!==f.last_read&&(k.f=parseFloat(f.last_read));
+if(f.members&&(k.a={},f.members))for(var r=0,v=f.members.length;r<v;r++){var x=A(m,f.members[r]);k.a[x.id]=x;x.f[k.id]=k}k.version=Math.max(k.version,w)}h=0;for(l=d.groups.length;h<l;h++){(k=g.D[d.groups[h].id])||(k=g.D[d.groups[h].id]=new q(d.groups[h].id));f=g;m=d.groups[h];w=p;r=[];if(m.members){k.a={};v=k.g=0;for(x=m.members.length;v<x;v++){var B=A(f,m.members[v]);k.a[m.members[v]]=B;B.f[k.id]=k;r.push(B.name);k.g++}k.name=r.join(", ")}void 0!==m.is_archived&&(k.b=m.is_archived||!1===m.is_open);
+void 0!==m.last_read&&(k.f=parseFloat(m.last_read));k.version=Math.max(k.version,w)}d.emojis&&(g.g.data=d.emojis,g.g.version=p);if(void 0!==d.commands){g.f.data={};for(h in d.commands)g.f.data[h]=new ga(d.commands[h]);g.f.version=p}d.team&&(g.h||(g.h=new aa(d.team.id)),l=g.h,k=d.team,void 0!==k.name&&(l.name=k.name),k.icon&&(l.a.W=k.icon.image_34,l.a.Y=k.icon.image_44,l.a.$=k.icon.image_68,l.a.aa=k.icon.image_88,l.a.P=k.icon.image_102,l.a.R=k.icon.image_132,l.a.T=k.icon.image_230,l.a.ba=k.icon.image_default),
+l.version=Math.max(l.version,p));g.J=Math.max(g.J,p);d.self&&(g.a=A(g,d.self.id),g.a.c||(g.a.c=new da),ea(g.a.c,d.self.prefs,p));if(void 0!==d.typing)for(h in g.b=d.typing,g.b)for(var y in g.b[h])g.b[h][y]=p;na();b["static"].typing&&P()}if(b.live){for(var u in b.live)(g=c.b[u])?E(g,b.live[u],e):c.b[u]=new D(u,250,b.live[u],e);for(var t in b.live)(e=C(c.a,t))&&!e.b&&(Ga(e,b.live[t]),H&&b.live[H.id]&&va())}}Z()}else setTimeout(Z,1E3*Y)}function Z(){Ha(Ia)}
+function za(a){H&&document.getElementById(H.id).classList.remove("selected");document.getElementById(a.id).classList.add("selected");document.body.classList.remove("no-room-selected");H=a;a=H.name||(H.c?H.c.name:void 0);if(!a){a=[];for(var b in H.a)a.push(H.a[b].name);a=a.join(", ")}document.getElementById("currentRoomTitle").textContent=a;va();U();document.getElementById("fileUploadContainer").classList.add("hidden");Ca();S&&(S=null,R());W&&(W=null,R());pa();H.f&&!G.b[H.id]&&(b=new XMLHttpRequest,
+b.open("GET","api/hist?room="+H.id,!0),b.send(null))}function Aa(a,b,c){var e=H;new FileReader;var g=new FormData,d=new XMLHttpRequest;g.append("file",b);g.append("filename",a);d.onreadystatechange=function(){4===d.readyState&&(204===d.status?c(null):c(d.statusText))};d.open("POST","api/file?room="+e.id);d.send(g)}
+function Ba(a){if(W){var b=new XMLHttpRequest;b.open("PUT","api/msg?room="+H.id+"&ts="+W.id+"&text="+encodeURIComponent(a),!0);b.send(null);return!0}if("/"===a[0]){var c=a.indexOf(" "),b=-1===c?"":a.substr(c);return(a=G.a.f.data[a.substr(0,-1===c?void 0:c)])?(c=new XMLHttpRequest,c.open("POST","api/cmd?room="+H.id+"&cmd="+encodeURIComponent(a.name.substr(1))+"&args="+encodeURIComponent(b.trim()),!0),c.send(null),!0):!1}var b=H,c=S,e=new XMLHttpRequest;a="api/msg?room="+b.id+"&text="+encodeURIComponent(a);
+if(c){var g=A(G.a,c.j),d="Message";"C"===b.id[0]?d="Channel message":"D"===b.id[0]?d="Direct message":"G"===b.id[0]&&(d="Group message");a+="&attachments="+encodeURIComponent(JSON.stringify([{fallback:c.text,author_name:"<@"+g.id+"|"+g.name+">",author_icon:g.a.o,text:c.text,footer:d,ts:c.b}]))}e.open("POST",a,!0);e.send(null);return!0}function ya(a){var b=new XMLHttpRequest;b.open("DELETE","api/msg?room="+H.id+"&ts="+a.id,!0);b.send(null)}
+function qa(a,b,c){var e=new XMLHttpRequest;e.open("POST","api/reaction?room="+a+"&msg="+b+"&reaction="+encodeURIComponent(c),!0);e.send(null)};