function aa(a){this.id=a;this.a={W:"",Y:"",$:"",aa:"",P:"",R:"",T:"",ba:""};this.version=0}function m(a){this.id=a;this.b=this.a=0;this.c={};this.version=0}function q(a){this.id=a;this.c={};this.version=this.b=this.a=this.h=0}function x(a,b){this.id=a;this.g=b;this.version=this.b=this.a=0}function ba(a){this.id=a;this.a={U:"",V:"",s:"",F:"",S:"",Z:""};this.g={};this.c=this.b=null;this.version=0}function ca(){this.b={};this.a=[]} function da(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 ea(a){this.id=a;this.a={X:"",s:"",F:""};this.c=this.b=null;this.version=0;this.f=!1}function fa(a,b){this.a=b.desc;this.name=b.name;this.type=b.type;this.usage=b.usage;this.A=ga(a,b)} function ga(a,b){if(b.service_name)return b.service_name;if(b.app){var c=b.app,d=[],g;for(g in a.f)a.f[g].l===c&&d.push(a.f[g]);if(d)for(c=0;cthis.b;)this.a.shift();return c?c.i:0};function na(a){return a.a[a.a.length-1]}function oa(a){for(var b=H.b[I.id],c=0,d=b.a.length;c=b.a[c].i;c++)if(b.a[c].i===a)return b.a[c];return null}function G(a,b){for(var c=0,d=a.a.length;cb.getTime()?a.toLocaleTimeString():a.getTime()>c.getTime()? "hier, "+a.toLocaleTimeString():a.toLocaleString()},j:{fileUploadCancel:"Annuler",neterror:"Impossible de se connecter au chat !"}};J.en={N:"Unknown member",M:"Unknown channel",I:"New message",H:"Network",o:"edited",G:function(a){return 1===a.length?a[0]+" is typing":a.join(", ")+" are typing"},D: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()}, j:{fileUploadCancel:"Cancel",neterror:"Cannot connect to chat !"}};var L=0; function qa(){var a=document.createDocumentFragment(),b=H.a.a?Object.keys(H.a.a.g):[];b.sort(function(a,b){return a[0]!==b[0]?a[0]-b[0]:C(H.a,a).name.localeCompare(C(H.a,b).name)});b.forEach(function(b){b=C(H.a,b);if(!b.f){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.h-1):b instanceof m&&(c.className="slack-context-room slack-channel");I===b&&c.classList.add("selected");g.textContent= b.name;c.appendChild(ra());c.appendChild(g);b.b>b.a&&(c.classList.add("unread"),0<=M.indexOf(b)&&c.classList.add("unreadHi"));c&&a.appendChild(c)}});b=H.a.b?Object.keys(H.a.b):[];b.sort(function(a,b){return H.a.b[a].name.localeCompare(H.a.b[b].name)});b.forEach(function(b){b=B(H.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.g.name;c.appendChild(ra());c.appendChild(g);b.g.f|| c.classList.add("away");I===b&&c.classList.add("selected");b.b>b.a&&(c.classList.add("unread"),0<=M.indexOf(b)&&c.classList.add("unreadHi"));c&&a.appendChild(c)}});document.getElementById("chanList").textContent="";document.getElementById("chanList").appendChild(a);sa();N();ta(function(a){document.getElementById("slackCtx").style.backgroundImage="url("+a+")"})} function ua(){var a=H.a.c,b;for(b in H.a.a.g)if(!H.a.a.g[b].f){var c=document.getElementById(b);a[b]?c.classList.add("slack-context-typing"):c.classList.remove("slack-context-typing")}for(var d in H.a.b)(b=H.a.b[d].b)&&!b.f&&(c=document.getElementById(b.id),a[b.id]?c.classList.add("slack-context-typing"):c.classList.remove("slack-context-typing"));va()} function va(){var a=H.a.c;if(I&&a[I.id]){var b=[],c=!1,d;for(d in a[I.id])(a=B(H.a,d))?b.push(a.name):c=!0;c&&(H.c=0);document.getElementById("whoistyping").textContent=K.G(b)}else document.getElementById("whoistyping").textContent=""}function O(a){a?document.body.classList.remove("no-network"):document.body.classList.add("no-network");N()} function P(){if(Q){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),b=document.createElement("a");b.addEventListener("click",function(){Q=null;P()});b.className="replyto-close";b.textContent="x";a.textContent="";a.appendChild(b);a.appendChild(R("reply_"+I.id,Q,!0))}else document.body.classList.remove("replyingTo"),document.getElementById("replyToContainer").textContent="";S()} function T(){if(U){document.body.classList.add("replyingTo");var a=document.getElementById("replyToContainer"),b=document.createElement("a");b.addEventListener("click",function(){U=null;T()});b.className="replyto-close";b.textContent="x";a.textContent="";a.appendChild(b);a.appendChild(R("edit_"+I.id,U,!0));document.getElementById("msgInput").value=U.text}else document.body.classList.remove("replyingTo"),document.getElementById("replyToContainer").textContent="";S()} window.toggleReaction=function(a,b,c){var d=H.b[a];if(d&&(d=G(d,b))){var g=H.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)):wa(a,b,c)}}; function xa(a){a:{for(var b=a,c={};!c[b];){if(a=H.a.h[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 ya(a){return a.replace(/:([^ \t:]+):/g,function(b,c){var d=xa(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 W(a){a=a.split(/\r?\n/g);for(var b=0,c=a.length;b]*)>","g"),function(a,b,c){c=c.split("|");if("@"===b)c[1]?"@"!==c[1][0]&&(c[1]="@"+c[1]):(a=B(H.a,c[0]),c[1]=a?"@"+a.name:K.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(H.a,c[0]),c[1]=a?"#"+a.name:K.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'"+c[1]+""}),d=ya(d),l=d.length,n=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},k=function(a){return Object.keys(e).length?'':""};h"!==d[h-1]);h--}else if(!e["slackmsg-style-bold"]&&"*"===p&&d[h+1]&&n(d,h,p))Object.keys(e).length&&(g+=""),e["slackmsg-style-bold"]=!0,g+=k(e);else if(!e["slackmsg-style-strike"]&&"~"===p&&d[h+1]&&n(d,h,p))Object.keys(e).length&& (g+=""),e["slackmsg-style-strike"]=!0,g+=k(e);else if(!e["slackmsg-style-code"]&&"`"===p&&d[h+1]&&n(d,h,p))Object.keys(e).length&&(g+=""),e["slackmsg-style-code"]=!0,g+=k(e);else if(!e["slackmsg-style-italic"]&&"_"===p&&d[h+1]&&n(d,h,p))Object.keys(e).length&&(g+=""),e["slackmsg-style-italic"]=!0,g+=k(e);else{var r=!1,g=g+p;do{if(e["slackmsg-style-bold"]&&"*"!==p&&"*"===d[h+1])delete e["slackmsg-style-bold"],r=!0;else if(e["slackmsg-style-strike"]&&"~"!==p&&"~"===d[h+1])delete e["slackmsg-style-strike"], r=!0;else if(e["slackmsg-style-code"]&&"`"!==p&&"`"===d[h+1])delete e["slackmsg-style-code"],r=!0;else if(e["slackmsg-style-italic"]&&"_"!==p&&"_"===d[h+1])delete e["slackmsg-style-italic"],r=!0;else break;p=d[++h]}while(h"+k(e))}}e&&(g+="");a[b]=f?''+g+"":g}return a.join("
")}function R(a,b,c){b.g?(a=za(a,b,c),a.classList.add("slackmsg-me_message")):a=za(a,b,c);b.o&&a.classList.add("slackmsg-edited");return a} function Aa(a,b){document.getElementById("linkFavicon").href=a||b?"favicon.png?h="+a+"&m="+b:"favicon_ok.png"}function N(){var a=M.length,b="";if(X)b="!"+K.H+" - ",document.getElementById("linkFavicon").href="favicon_err.png";else if(a)b="(!"+a+") - ",Aa(a,a);else{var c=0;D(H.a,function(a){a.b>a.a&&c++});c&&(b="("+c+") - ");Aa(0,c)}b+=H.a.C.name;document.title=b} function Ba(){if("Notification"in window)if("granted"===Notification.permission){var a=Date.now();if(L+3E4Math.abs(d-e.i)?g.classList.add("slackmsg-same-ts"):d=e.i):d=e.i;(!c||c.i<=I.a)&&e.i>I.a&&f.classList.add("slackmsg-first-unread");c=e;g=f;a.appendChild(f)}});var e=document.getElementById("chatWindow");e.textContent="";e.appendChild(a);e.scrollTop=e.scrollHeight-e.clientHeight;window.hasFocus&&Y()} function Da(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=oa(a);d&&c.classList.contains("slackmsg-hover-reply")?(U&&(U=null,T()),Q!==d&&(Q=d,P())):d&&c.classList.contains("slackmsg-hover-reaction")?Ea.L(document.body, function(a){a&&wa(I.id,d.id,a)}):d&&c.classList.contains("slackmsg-hover-edit")?(Q&&(Q=null,P()),U!==d&&(U=d,T())):d&&c.classList.contains("slackmsg-hover-remove")&&(Q&&(Q=null,P()),U&&(U=null,T()),Fa(d))}break}c=c.parentElement}}function S(){document.getElementById("msgInput").focus()}function sa(){var a=document.location.hash.substr(1),b=C(H.a,a),a=B(H.a,a);b&&b!==I?Ga(b):a&&a.b&&Ga(a.b)} document.addEventListener("DOMContentLoaded",function(){pa();document.getElementById("chatWindow").addEventListener("click",Da);window.addEventListener("hashchange",function(){document.location.hash&&"#"===document.location.hash[0]&&sa()});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),Ha(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();I&&document.getElementById("fileUploadContainer").classList.remove("hidden");return!1});document.getElementById("msgForm").addEventListener("submit",function(a){a.preventDefault();a=document.getElementById("msgInput");I&&a.value&&Ia(a.value)&&(a.value="",Q&&(Q=null,P()),U&&(U=null,P()),document.getElementById("slashList").textContent="");S();return!1});window.addEventListener("blur",function(){window.hasFocus= !1});window.addEventListener("focus",function(){window.hasFocus=!0;L=0;I&&Y();S()});var a=0;document.getElementById("msgInput").addEventListener("input",function(){if(I){var b=Date.now();!(a+3E3"+c.outerHTML+"":a.style.backgroundImage='url("smile.svg")';(c=window.makeEmoji("paperclip"))?document.getElementById("attachFile").innerHTML= ""+c.outerHTML+"":document.getElementById("attachFile").style.backgroundImage='url("public/paperclip.svg")';a.addEventListener("click",function(){Ea.L(document.body,function(a){a&&(document.getElementById("msgInput").value+=":"+a+":");S()})})}else a.classList.add("hidden")})();Z()});function ra(){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 Ma(a,b,c,d){var g=xa(c);if(g){for(var e=document.createElement("li"),f=document.createElement("a"),h=document.createElement("span"),l=document.createElement("span"),n=[],k=0,p=d.length;kc.bottom||a.screenXc.right)&&b()});n.className="emojibar-overlay";l.className="emojibar";k.className="emojibar-emojis";E.className="emojibar-detail";t.className="emojibar-detail-img";A.className="emojibar-detail-name";p.className=r.className="emojibar-list";u.className="emojibar-search";E.appendChild(t);E.appendChild(A); k.appendChild(f(window.emojiProviderHeader));k.appendChild(p);k.appendChild(f("emojicustom.png"));k.appendChild(r);l.appendChild(k);l.appendChild(E);l.appendChild(u);u.addEventListener("keyup",function(){d()});l.addEventListener("mousemove",function(b){a(b,function(a){var b=a?v[a]||z[a]:null;b?(t.innerHTML=b.j.outerHTML,A.textContent=":"+a+":"):(t.textContent="",A.textContent="")})});l.addEventListener("click",function(b){a(b,function(a){a&&c()&&w&&w(a)})});return{isSupported:h,L:function(a,b){return h()? (w=b,a.appendChild(n),a.appendChild(l),u.value="",d(),u.focus(),!0):!1},search:d,close:b}}();var H,M=[];function Na(a){var b=H,c=Date.now();a.v&&(b.c=a.v);a["static"]&&ha(b.a,a["static"]);D(b.a,function(a){a.b===a.a&&(a=M.indexOf(a),-1!==a&&M.splice(a,1))});if(a.live){for(var d in a.live){var g=b.b[d];g?ka(g,a.live[d],c):g=b.b[d]=new F(d,250,a.live[d],c)}for(var e in a.live)(c=C(b.a,e))?(b.b[e].a.length&&(c.b=Math.max(c.b,na(b.b[e]).i)),c.f||(Oa(c,a.live[e]),I&&a.live[I.id]&&Ca())):H.c=0}a["static"]&&(qa(),a["static"].typing&&ua())} setInterval(function(){var a=H.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]+3E3a.a){var c=new XMLHttpRequest;c.open("POST","api/markread?room="+a.id+"&ts="+a.b,!0);c.send(null);a.a=a.b}0<=b&&(M.splice(b,1),N());a=document.getElementById(a.id);a.classList.remove("unread");a.classList.remove("unreadHi")}H=new function(){this.c=0;this.a=new y;this.b={}};var ta=function(){function a(a,b){b.sort(function(){return Math.random()-.5});for(var c=0,d=20;dd/(c.height*c.width))for(e=0;e",author_icon:g.a.s,text:c.text,footer:e,ts:c.i}]))}d.open("POST",a,!0);d.send(null);return!0}function Fa(a){var b=new XMLHttpRequest;b.open("DELETE","api/msg?room="+I.id+"&ts="+a.id,!0);b.send(null)} function wa(a,b,c){var d=new XMLHttpRequest;d.open("POST","api/reaction?room="+a+"&msg="+b+"&reaction="+encodeURIComponent(c),!0);d.send(null)};