diff --git a/index.html b/index.html index 837cc9c..00cd4b7 100644 --- a/index.html +++ b/index.html @@ -39,6 +39,10 @@ Glowing Bear WeeChat web frontend +
+ × + We now support TLS! If you're using an encrypted relay, you should change your bookmarks to https://www.glowing-bear.org +
Connection error The client was unable to connect to the WeeChat relay
diff --git a/js/glowingbear.js b/js/glowingbear.js index 271916a..d8d42c4 100644 --- a/js/glowingbear.js +++ b/js/glowingbear.js @@ -47,6 +47,7 @@ weechat.controller('WeechatCtrl', ['$rootScope', '$scope', '$store', '$timeout', 'enableJSEmoji': (utils.isMobileUi() ? false : true), 'enableMathjax': false, 'customCSS': '', + 'hideTLSinfo': false, }); $scope.settings = settings; diff --git a/min.js b/min.js index 38d5872..831739c 100644 --- a/min.js +++ b/min.js @@ -1,4 +1,4 @@ -!function(){"use strict";var e=angular.module("localStorage",[]);e.factory("$store",["$parse",function(e){var t="undefined"==typeof window.localStorage?void 0:window.localStorage,n=!("undefined"==typeof t||"undefined"==typeof window.JSON);n||console.log("Warning: localStorage is not supported");var r={parseValue:function(e){var t;try{t=JSON.parse(e),void 0===t&&(t=e),"true"===t&&(t=!0),"false"===t&&(t=!1),parseFloat(t)!=t||angular.isObject(t)||(t=parseFloat(t))}catch(n){t=e}return t}},i={set:function(e,i){n||console.log("Local Storage not supported");var o=JSON.stringify(i);return t.setItem(e,o),r.parseValue(o)},get:function(e){if(!n)return null;var i=t.getItem(e);return r.parseValue(i)},remove:function(e){return n?(t.removeItem(e),!0):!1},enumerateKeys:function(){for(var e=[],n=0,r=t.length;r>n;++n)e.push(t.key(n));return e},bind:function(t,n,r){return void 0===r&&(r=""),void 0!==i.get(n)&&null!==i.get(n)||i.set(n,r),e(n).assign(t,i.get(n)),t.$watch(n,function(e){i.set(n,e)},!0),i.get(n)}};return i}])}(),function(e){"use strict";!function(){var t=function(){this._types={chr:this._getChar,int:this._getInt,str:this._getString,inf:this._getInfo,hda:this._getHdata,ptr:this._getPointer,lon:this._getStrNumber,tim:this._getTime,buf:this._getString,arr:this._getArray,htb:this._getHashTable,inl:this._getInfolist},this._typesStr={chr:this._strDirect,str:this._strDirect,int:this._strToString,tim:this._strToString,ptr:this._strDirect}};t._weeChatColorsNames=["default","black","darkgray","red","lightred","green","lightgreen","brown","yellow","blue","lightblue","magenta","lightmagenta","cyan","lightcyan","gray","white"],t._colorsOptionsNames=["separator","chat","chat_time","chat_time_delimiters","chat_prefix_error","chat_prefix_network","chat_prefix_action","chat_prefix_join","chat_prefix_quit","chat_prefix_more","chat_prefix_suffix","chat_buffer","chat_server","chat_channel","chat_nick","chat_nick_self","chat_nick_other","invalid","invalid","invalid","invalid","invalid","invalid","invalid","invalid","invalid","invalid","chat_host","chat_delimiters","chat_highlight","chat_read_marker","chat_text_found","chat_value","chat_prefix_buffer","chat_tags","chat_inactive_window","chat_inactive_buffer","chat_prefix_buffer_inactive_buffer","chat_nick_offline","chat_nick_offline_highlight","chat_nick_prefix","chat_nick_suffix","emphasis","chat_day_change"],t._getDefaultColor=function(){return{type:"weechat",name:"default"}},t._getDefaultAttributes=function(){return{name:null,override:{bold:!1,reverse:!1,italic:!1,underline:!1}}},t._getDefaultStyle=function(){return{fgColor:t._getDefaultColor(),bgColor:t._getDefaultColor(),attrs:t._getDefaultAttributes()}},t._cloneColor=function(e){var t={};for(var n in e)t[n]=e[n];return t},t._cloneAttrs=function(e){var t={};t.name=e.name,t.override={};for(var n in e.override)t.override[n]=e.override[n];return t},t._attrNameFromChar=function(e){var t={"*":"b","!":"r","/":"i",_:"u","":"b","":"r","":"i","":"u"};return e in t?t[e]:null},t._attrsFromStr=function(e){for(var n=t._getDefaultAttributes(),r=0;r16?t._getDefaultColor():{type:"weechat",name:t._weeChatColorsNames[n]}}var r=e.substring(1);return{type:"ext",name:parseInt(r).toString()}},t._getStyle=function(e){var n=[{regex:/^(\d{2})/,fn:function(e){var n={},r=parseInt(e[1]);if(r>=t._colorsOptionsNames.length)return{fgColor:null,bgColor:null,attrs:null};var i=t._colorsOptionsNames[r];return n.fgColor={type:"option",name:i},n.bgColor=t._cloneColor(n.fgColor),n.attrs={name:i,override:{}},n}},{regex:/^@(\d{5})/,fn:function(e){return{fgColor:null,bgColor:null,attrs:null}}},{regex:/^F(?:([*!\/_|]*)(\d{2})|@([\x01\x02\x03\x04*!\/_|]*)(\d{5}))/,fn:function(e){var n={bgColor:null};return e[2]?(n.attrs=t._attrsFromStr(e[1]),n.fgColor=t._getColorObj(e[2])):(n.attrs=t._attrsFromStr(e[3]),n.fgColor=t._getColorObj(e[4])),n}},{regex:/^B(\d{2}|@\d{5})/,fn:function(e){return{fgColor:null,bgColor:t._getColorObj(e[1]),attrs:null}}},{regex:/^\*(?:([\x01\x02\x03\x04*!\/_|]*)(\d{2})|@([\x01\x02\x03\x04*!\/_|]*)(\d{5})),(\d{2}|@\d{5})/,fn:function(e){var n={};return e[2]?(n.attrs=t._attrsFromStr(e[1]),n.fgColor=t._getColorObj(e[2])):(n.attrs=t._attrsFromStr(e[3]),n.fgColor=t._getColorObj(e[4])),n.bgColor=t._getColorObj(e[5]),n}},{regex:/^\*([\x01\x02\x03\x04*!\/_|]*)(\d{2}|@\d{5})/,fn:function(e){return{fgColor:t._getColorObj(e[2]),bgColor:null,attrs:t._attrsFromStr(e[1])}}},{regex:/^E/,fn:function(e){var n={};return n.fgColor={type:"option",name:"emphasis"},n.bgColor=t._cloneColor(n.fgColor),n.attrs={name:"emphasis",override:{}},n}}],r={fgColor:null,bgColor:null,attrs:null,text:e};return n.some(function(t){var n=e.match(t.regex);return n?(r=t.fn(n),r.text=e.substring(n[0].length),!0):!1}),r},t.rawText2Rich=function(e){var n=e.split(/(\x19|\x1a|\x1b|\x1c)/);if(1===n.length)return[{attrs:t._getDefaultAttributes(),fgColor:t._getDefaultColor(),bgColor:t._getDefaultColor(),text:n[0]}];var r=t._getDefaultColor(),i=t._getDefaultColor(),o=t._getDefaultAttributes(),a=null,c=!0;return n.map(function(e){if(0===e.length)return null;var n=e.charCodeAt(0),s=e.charAt(0);if(n>=25&&28>=n)return 28===n&&(r=t._getDefaultColor(),i=t._getDefaultColor(),25!==a&&(o=t._getDefaultAttributes())),a=n,null;var u=e;if(25===a){var l=t._getStyle(e);null!==l.fgColor&&(r=l.fgColor),null!==l.bgColor&&(i=l.bgColor),null!==l.attrs&&(o=l.attrs),u=l.text}else if(26===a||27===a){var f=26===a;if("|"!==s){var d=t._attrNameFromChar(s);d&&(o.override[d]=f,u=e.substring(1))}}if(a=null,0===u.length)return null;if(c&&null===o.name){var m=!0;for(var h in o.override)if(o.override[h]){m=!1;break}m?o.override={}:c=!1}return{fgColor:t._cloneColor(r),bgColor:t._cloneColor(i),attrs:t._cloneAttrs(o),text:u}}).filter(function(e){return null!==e})},t._uia2s=function(e){if(!e.length||0===e[0])return"";try{var t=String.fromCharCode.apply(null,e),n=decodeURIComponent(escape(t));return n}catch(t){for(var r="",i=0,o=e.length;o>i;i++)r+=e[i]<128?String.fromCharCode(e[i]):"?";return r}},t._mergeParams=function(e,t){for(var n in t)e[n]=t[n];return e},t._formatCmd=function(e,t,n){var r,i;return r=null!==e?"("+e+") ":"",r+=t,n.unshift(r),i=n.join(" "),i+="\n",i.replace(/[\r\n]+$/g,"").split("\n"),i},t.formatInit=function(e){var n={password:null,compression:"zlib"},r=[],i=[];return e=t._mergeParams(n,e),r.push("compression="+e.compression),null!==e.password&&r.push("password="+e.password),i.push(r.join(",")),t._formatCmd(null,"init",i)},t.formatHdata=function(e){var n={id:null,keys:null},r=[];return e=t._mergeParams(n,e),r.push(e.path),null!==e.keys&&r.push(e.keys.join(",")),t._formatCmd(e.id,"hdata",r)},t.formatInfo=function(e){var n={id:null},r=[];return e=t._mergeParams(n,e),r.push(e.name),t._formatCmd(e.id,"info",r)},t.formatInfolist=function(e){var n={id:null,pointer:null,args:null},r=[];return e=t._mergeParams(n,e),r.push(e.name),null!==e.pointer&&r.push(e.pointer),null!==e.pointer&&r.push(e.args),t._formatCmd(e.id,"infolist",r)},t.formatNicklist=function(e){var n={id:null,buffer:null},r=[];return e=t._mergeParams(n,e),null!==e.buffer&&r.push(e.buffer),t._formatCmd(e.id,"nicklist",r)},t.formatInput=function(e){var n={id:null},r=[];return e=t._mergeParams(n,e),r.push(e.buffer),r.push(e.data),t._formatCmd(e.id,"input",r)},t._formatSyncDesync=function(e,n){var r={id:null,buffers:null,options:null},i=[];return n=t._mergeParams(r,n),null!==n.buffers&&(i.push(n.buffers.join(",")),null!==n.options&&i.push(n.options.join(","))),t._formatCmd(n.id,e,i)},t.formatSync=function(e){return t._formatSyncDesync("sync",e)},t.formatDesync=function(e){return t._formatSyncDesync("desync",e)},t.formatTest=function(e){var n={id:null},r=[];return e=t._mergeParams(n,e),t._formatCmd(e.id,"test",r)},t.formatQuit=function(){return t._formatCmd(null,"quit",[])},t.formatPing=function(e){var n={id:null,args:null},r=[];return e=t._mergeParams(n,e),null!==e.args&&r.push(e.args.join(" ")),t._formatCmd(e.id,"ping",r)},t.prototype={_warnUnimplemented:function(e){console.log("Warning: "+e+" message parsing is not implemented")},_getType:function(){var e=this._getSlice(3);return e?t._uia2s(new Uint8Array(e)):null},_runType:function(e){var t=this._types[e],n=t.bind(this);return n()},_getStrNumber:function(){var e=this._getByte(),n=this._getSlice(e);return t._uia2s(new Uint8Array(n))},_strDirect:function(e){return e},_strToString:function(e){return e.toString()},_objToString:function(e,t){var n=this._typesStr[t],r=n.bind(this);return r(e)},_getInfo:function(){var e={};return e.key=this._getString(),e.value=this._getString(),e},_getHdata:function(){function e(){var e={};e.pointers=t.map(function(e){return r._getPointer()}),a.forEach(function(t){e[t[0]]=r._runType(t[1])}),i.push(e)}var t,n,r=this,i=[],o=this._getString(),a=this._getString().split(",");t=o.split("/"),n=this._getInt(),a=a.map(function(e){return e.split(":")});for(var c=0;n>c;c++)e();return i},_getPointer:function(){return this._getStrNumber()},_getTime:function(){var e=this._getStrNumber();return new Date(1e3*parseInt(e,10))},_getInt:function(){var e=new Uint8Array(this._getSlice(4));return(255&e[0])<<24|(255&e[1])<<16|(255&e[2])<<8|255&e[3]},_getByte:function(){var e=new Uint8Array(this._getSlice(1));return e[0]},_getChar:function(){return this._getByte()},_getString:function(){var e=this._getInt();if(e>0){var n=this._getSlice(e),r=new Uint8Array(n);return t._uia2s(r)}return""},_getHeader:function(){var e=this._getInt(),t=this._getByte();return{length:e,compression:t}},_getId:function(){return this._getString()},_getObject:function(){var e=this,t=this._getType();return t?{type:t,content:e._runType(t)}:void 0},_getHashTable:function(){var e,t,n,r=this,i={};e=this._getType(),t=this._getType(),n=this._getInt();for(var o=0;n>o;++o){var a=r._runType(e),c=r._objToString(a,e),s=r._runType(t);i[c]=s}return i},_getArray:function(){var e,t,n,r=this;e=this._getType(),t=this._getInt(),n=[];for(var i=0;t>i;i++)n.push(r._runType(e));return n},_getInfolist:function(){var e,t,n,r=this;e=this._getString(),t=this._getInt(),n=[];for(var i=0;t>i;i++){for(var o=r._getInt(),a=[],c=0;o>c;c++){var s={};s[r._getString()]=r._runType(r._getType()),a.push(s)}n.push(a)}return n},_getSlice:function(e){if(this.dataAt+e>this._data.byteLength)return null;var t=this._data.slice(this._dataAt,this._dataAt+e);return this._dataAt+=e,t},_setData:function(e){this._data=e},setId:function(e,t){return"("+e+") "+t},parse:function(e,t){var n=this;this._setData(e),this._dataAt=0;var r=this._getHeader();if(r.compression){var i=new Uint8Array(e,5),o=new Zlib.Inflate(i),a=o.decompress();this._setData(a.buffer),this._dataAt=0}for(var c=this._getId(),s=[],u=this._getObject();u;)s.push(u),u=n._getObject();var l={header:r,id:c,objects:s};return l}},e.Protocol=t}()}("undefined"==typeof exports?this.weeChat={}:exports),function(){"use strict";var e=angular.module("IrcUtils",[]);e.service("IrcUtils",[function(){var e=function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},t=function(e){var t=_(e).sortBy(function(e){return-e.spokeAt});return t=_(t).pluck("name")},n=function(e,t){var n=null;return t.some(function(t){return 0===t.toLowerCase().search(e.toLowerCase())?(n=t,!0):!1}),n},r=function(t,n,r){for(var i=[],o=null,a=t.toLowerCase(),c=n.toLowerCase(),s=0;s0&&(o.lines.splice(0,m),o.requestedLines-=m,o.lastSeen-=m,o.allLinesFetched=!1),n.bufferlines=o.lines,n.nicklist=o.nicklist,o.nicklistRequested()?n.showNicklist=n.updateShowNicklist():c.requestNicklist(o.id,function(){n.showNicklist=n.updateShowNicklist(),t.scrollWithBuffer(!0)}),o.requestedLinesh&&(h=Math.min(4*h,r)),n.fetchMoreLines(h).then(function(){i(function(){var e=document.getElementById("bufferlines"),n=e.scrollHeight,r=function(){if(e){var i=e.scrollHeight;i!==n&&(t.updateBufferBottom(t.bufferBottom),n=i),setTimeout(r,500)}};t.updateBufferBottom(!0),t.scrollWithBuffer(!0),e.onscroll=_.debounce(function(){t.updateBufferBottom()},80),setTimeout(r,500)})})}s.updateTitle(o),setTimeout(function(){n.notifications=s.unreadCount("notification"),n.unread=s.unreadCount("unread")}),i(function(){t.scrollWithBuffer(!0)}),n.search="",u.isMobileUi()||setTimeout(function(){document.getElementById("sendMessage").focus()},0),l.hotlistsync&&o.fullName&&c.sendHotlistClear()}),t.favico=new Favico({animation:"none"}),n.notifications=s.unreadCount("notification"),n.unread=s.unreadCount("unread"),t.$on("notificationChanged",function(){s.updateTitle(),n.notifications=s.unreadCount("notification"),n.unread=s.unreadCount("unread"),l.useFavico&&t.favico&&s.updateFavico()}),t.$on("relayDisconnect",function(){t.pageTitle="",t.notificationStatus="",s.cancelAll(),a.reinitialize(),t.$emit("notificationChanged"),n.connectbutton="Connect",n.connectbuttonicon="glyphicon-chevron-right"}),n.connectbutton="Connect",n.connectbuttonicon="glyphicon-chevron-right",n.getBuffers=a.getBuffers.bind(a),n.bufferlines={},n.nicklist={},n.activeBuffer=a.getActiveBuffer,t.connected=!1,t.waseverconnected=!1,t.userdisconnect=!1,t.reconnecting=!1,t.models=a,t.iterCandidate=null,l.savepassword?(n.$watch("password",function(){l.password=n.password}),l.addCallback("password",function(e){n.password=e}),n.password=l.password):l.password="",l.addCallback("savepassword",function(e){l.savepassword&&(l.setDefaults({password:n.password}),l.password=n.password)}),t.wasMobileUi=!1,u.isMobileUi()&&(t.wasMobileUi=!0),l.fontfamily||(u.isMobileUi()?l.fontfamily="sans-serif":l.fontfamily="Inconsolata, Consolas, Monaco, Ubuntu Mono, monospace"),n.isSidebarVisible=function(){return"visible"===document.getElementById("content").getAttribute("sidebar-state")},n.showSidebar=function(){document.getElementById("sidebar").setAttribute("data-state","visible"),document.getElementById("content").setAttribute("sidebar-state","visible"),u.isMobileUi()&&_.each(document.getElementsByTagName("textarea"),function(e){i(function(){e.blur()})})},t.hideSidebar=function(){u.isMobileUi()&&(document.getElementById("sidebar").setAttribute("data-state","hidden"),document.getElementById("content").setAttribute("sidebar-state","hidden"))},l.addCallback("autoconnect",function(e){!e||t.connected||t.sslError||t.securityError||t.errorMessage||n.connect()}),n.toggleSidebar=function(){u.isMobileUi()&&(n.isSidebarVisible()?n.hideSidebar():n.showSidebar())},n.openNick=function(){u.isMobileUi()&&l.nonicklist&&(l.nonicklist=!1)},n.closeNick=function(){u.isMobileUi()&&(l.nonicklist||(l.nonicklist=!0))},l.addCallback("orderbyserver",function(e){t.predicate=e?"serverSortKey":"number"}),l.addCallback("useFavico",function(e){t.connected&&(e?s.updateFavico():t.favico.reset())}),l.addCallback("enableMathjax",function(e){e&&!t.mathjax_init&&(t.mathjax_init=!0,function(){var e,t=document.getElementsByTagName("head")[0];e=document.createElement("script"),e.type="text/x-mathjax-config",e[window.opera?"innerHTML":"text"]="MathJax.Hub.Config({\n tex2jax: { inlineMath: [['$$','$$'], ['\\\\(','\\\\)']], displayMath: [['\\\\[','\\\\]']] },\n});",t.appendChild(e),e=document.createElement("script"),e.type="text/javascript",e.src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML",t.appendChild(e)}())}),l.addCallback("theme",function(e){var t=document.getElementById("themeCSS");t&&t.parentNode.removeChild(t),function(){var t=document.createElement("link");t.rel="stylesheet",t.href="css/themes/"+e+".css",t.media="screen",t.id="themeCSS",document.getElementsByTagName("head")[0].appendChild(t)}()}),l.addCallback("customCSS",function(e){var t=document.getElementById("custom-css-tag");t&&t.parentNode.removeChild(t);var n=document.createElement("style");n.type="text/css",n.id="custom-css-tag",n.appendChild(document.createTextNode(e));var r=document.getElementsByTagName("head");r[0].appendChild(n)}),l.addCallback("fontfamily",function(e){u.changeClassStyle("favorite-font","fontFamily",e)}),l.addCallback("fontsize",function(e){u.changeClassStyle("favorite-font","fontSize",e)}),n.setActiveBuffer=function(e,t){return u.isMobileUi()&&n.hideSidebar(),a.version[0]>=1&&c.sendHotlistClear(),a.setActiveBuffer(e,t)},n.openBuffer=function(e){var t=a.getActiveBuffer().fullName;if(t=t.substring(0,t.lastIndexOf(".")+1)+e,!n.setActiveBuffer(t,"fullName")){var r="join -noswitch";["#","&","+","!"].indexOf(e.charAt(0))<0&&(r="query",(1==a.version[0]&&a.version[1]>=2||a.version[1]>1)&&(r+=" -noswitch")),c.sendMessage("/"+r+" "+e)}},n.calculateNumLines=function(){for(var e=document.querySelectorAll(".bufferline"),t=0,r=0;0===t&&ri||Math.abs(i-o)<3){var a=document.querySelector(".readmarker");if(e&&a)r.scrollTop=a.offsetTop-a.parentElement.scrollHeight+a.scrollHeight;else if(n)r.scrollTop=r.scrollHeight-r.clientHeight-o;else{var c=document.getElementById("end-of-buffer");c.scrollIntoView()}t.updateBufferBottom()}};i(a),window.requestAnimationFrame(a)},n.connect=function(){s.requestNotificationPermission(),t.sslError=!1,t.securityError=!1,t.errorMessage=!1,t.bufferBottom=!0,n.connectbutton="Connecting",n.connectbuttonicon="glyphicon-refresh glyphicon-spin",c.connect(l.host,l.port,n.password,l.ssl)},n.disconnect=function(){n.connectbutton="Connect",n.connectbuttonicon="glyphicon-chevron-right",c.disconnect()},n.reconnect=function(){var e=a.getActiveBuffer().id;c.attemptReconnect(e,3e3)},n.install=function(){if(void 0!==navigator.mozApps){var e=location.protocol+"//"+location.host+location.pathname.replace(/\/(index\.html)?$/,""),t=navigator.mozApps.install(e+"/manifest.webapp");t.onsuccess=function(){n.isinstalled=!0;var e=this.result;e.launch(),alert("Installation successful!")},t.onerror=function(){alert("Install failed, error: "+this.error.name)}}else alert("Sorry. Only supported in Firefox v26+")},n.showModal=function(e){document.getElementById(e).setAttribute("data-state","visible")},n.closeModal=function(e){function t(e,t){for(var n=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector;e;){if(n.call(e,t))return e;e=e.parentElement}}t(e.target,".gb-modal").setAttribute("data-state","hidden")},n.toggleAccordion=function(e){e.stopPropagation(),e.preventDefault();var t=e.target.parentNode.parentNode.parentNode;t.setAttribute("data-state","active"===t.getAttribute("data-state")?"collapsed":"active");var n=t.parentNode.children;for(var r in n){var i=n[r];1===i.nodeType&&i!==t&&i.setAttribute("data-state","collapsed")}},n.hasUnread=function(e){return n.search&&""!==n.search?!0:l.onlyUnread?a.getActiveBuffer()===e?!0:"core.weechat"===e.fullName||l.orderbyserver&&"server"===e.type?!0:(e.unread>0||e.notification>0)&&!e.hidden:!e.hidden},l.addCallback("nonicklist",function(){n.showNicklist=n.updateShowNicklist(),t.connected&&t.bufferBottom&&i(function(){t.updateBufferBottom(!0)},500)}),n.showNicklist=!1,n.updateShowNicklist=function(){var e=a.getActiveBuffer();return e?l.nonicklist?!1:!e.isNicklistEmpty():!1},t.switchToActivityBuffer=function(){var e,t,r=_.sortBy(n.getBuffers(),"number");for(e in r)if(t=r[e],t.notification>0)return void n.setActiveBuffer(t.id);for(e in r)if(t=r[e],t.unread>0)return void n.setActiveBuffer(t.id)},t.toggleNicklist=function(){l.nonicklist=!l.nonicklist},t.switchToAdjacentBuffer=function(e){var r=_.sortBy(n.getBuffers(),t.predicate),i=a.getActiveBuffer(),o=r.indexOf(i);if(o>=0){var c=r[o+e];c&&n.setActiveBuffer(c.id)}},n.handleSearchBoxKey=function(e){var t=e.keyCode?e.keyCode:e.charCode;27===t?(e.preventDefault(),n.search=""):13===t&&(e.preventDefault(),n.filteredBuffers.length>0&&n.setActiveBuffer(n.filteredBuffers[0].id),n.search="")},t.supports_formatting_date=function(){try{(new Date).toLocaleDateString("i")}catch(e){return"RangeError"!==e.name&&o.info("Browser does not support toLocaleDateString(), falling back to en-US"),"RangeError"===e.name}return o.info("Browser does not support toLocaleDateString(), falling back to en-US"),!1}(),window.onbeforeunload=function(e){null!==n.command&&""!==n.command?(e.preventDefault(),e.returnValue="Any unsent input will be lost. Are you sure that you want to quit?"):(t.connected&&n.disconnect(),n.favico.reset())},n.init=function(){if(window.location.hash){var e=atob(window.location.hash.substring(1));window.location.hash="";var r=e.split(":"),i=r[0],o=parseInt(r[1]),a=r[2],u=r.length>3;s.requestNotificationPermission(),t.sslError=!1,t.securityError=!1,t.errorMessage=!1,t.bufferBottom=!0,n.connectbutton="Connecting",n.connectbuttonicon="glyphicon-chevron-right",c.connect(i,o,a,u)}}}]),e.config(["$routeProvider",function(e){e.when("/",{templateUrl:"index.html",controller:"WeechatCtrl"})}])}(),function(){"use strict";var e=angular.module("weechat");e.factory("settings",["$store","$rootScope",function(e,t){var n=this;this.callbacks={},this.cache={};var r=function(r){Object.defineProperty(n,r,{enumerable:!0,key:r,get:function(){return r in this.cache||(this.cache[r]=e.get(r)),this.cache[r]},set:function(i){this.cache[r]=i,e.set(r,i);for(var o=n.callbacks[r],a=0;void 0!==o&&a0?e.notificationStatus="("+t+") ":e.notificationStatus="";var r=n.getActiveBuffer();r&&(e.pageTitle=r.shortName+" | "+r.rtitle)},l=function(){var t=s("notification");if(t>0)e.favico.badge(t,{bgColor:"#d00",textColor:"#fff"});else{var n=s("unread");0===n?e.favico.reset():e.favico.badge(n,{bgColor:"#5CB85C",textColor:"#ff0"})}},f=function(e,t){var n="",i="",o=e.notification;if("private"===e.type)n=o>1?o.toString()+" private messages from ":"Private message from ",i=t.text;else{n=o>1?o.toString()+" highlights in ":"Highlight in ";for(var a="",s=0;s "+t.text}if(n+=e.shortName+" ("+e.server+")",c(e,n,i),r.soundnotification){var u="assets/audio/sonar",l='';document.getElementById("soundNotification").innerHTML=l}},d=function(){for(;o.length>0;){var e=o.pop();void 0!==e&&e.close()}};return{requestNotificationPermission:a,updateTitle:u,updateFavico:l,createHighlight:f,cancelAll:d,unreadCount:s}}]),function(){"use strict";var e=angular.module("weechat");e.filter("toArray",function(){return function(e,t){return e instanceof Object?t?Object.keys(e).map(function(t,n){return Object.defineProperties(e[t],{$key:{value:t},$idx:{value:n,configurable:!0}})}):Object.keys(e).map(function(t){return Object.defineProperty(e[t],"$key",{value:t})}):e}}),e.filter("irclinky",function(){return function(e){if(!e)return e;var t=/(^|[\s,.:;?!"'()+@-\~%])(#+[^\x00\x07\r\n\s,:]*[a-z][^\x00\x07\r\n\s,:]*)/gim,n='$1$2';return e.replace(t,n)}}),e.filter("inlinecolour",function(){return function(e){if(!e)return e;var t=/(^|[^&])(\#[0-9a-f]{6};?)(?!\w)/gim,n=/(.?)(rgba?\((?:\s*\d+\s*,){2}\s*\d+\s*(?:,\s*[\d.]+\s*)?\);?)/gim,r='$1$2
';return e=e.replace(t,r),e=e.replace(n,r)}}),e.filter("DOMfilter",["$filter","$sce",function(e,t){var n=["irclinky"];return function(r,i){if(!r||!i)return r;var o=n.indexOf(i)>-1,a=function(e){var t={"<":"<",">":">",'"':""","'":"'","&":"&","/":"/"};return e.replace(/[<>"'&\/]/g,function(e){return t[e]})},c=arguments.length>2?arguments[2]:null,s=arguments.length>3?arguments[3]:null,u=e(i),l=document.createElement("div");l.innerHTML=r;var f=function(e){if(3===e.nodeType){var t=a(e.nodeValue),n=u(t,c,s);if(n!==t){var r=document.createElement("span");r.innerHTML=n;var i=e.parentNode,l=e.nextSibling;return i.removeChild(e),l?i.insertBefore(r,l):i.appendChild(r),r}}if(void 0!==e&&null!==e)for(e=e.firstChild;e;){var d=null;o&&"A"===e.tagName||(d=f(e)),e=(d?d:e).nextSibling}};return f(l),t.trustAsHtml(l.innerHTML)}}]),e.filter("getBufferQuickKeys",function(){return function(e,t){return t?(void 0!==t.search&&t.search.length||t.onlyUnread?e.forEach(function(e,t){e.$quickKey=10>t?(t+1)%10:""}):_.map(e,function(e,t){return[e.number,e.$idx,t]}).sort(function(e,t){return e[0]-t[0]||e[1]-t[1]}).forEach(function(t,n){e[t[2]].$quickKey=10>n?(n+1)%10:""}),e):e}}),e.filter("emojify",function(){return function(e,t){if(t===!0&&void 0!==window.emojione){var n=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return n.test(e)?emojione.unicodeToImage(e):e}return e}}),e.filter("mathjax",function(){return function(e,t,n){if(!n||"undefined"==typeof MathJax)return e;if(-1!=e.indexOf("$$")||-1!=e.indexOf("\\[")||-1!=e.indexOf("\\(")){var r=document.querySelector(t);MathJax.Hub.Queue(["Typeset",MathJax.Hub,r])}return e}}),e.filter("prefixlimit",function(){return function(e,t){ -return isNaN(t)?e:0>=t?"":e&&e.length>t?(e=e.substring(0,t),e+"+"):e}})}(),function(){"use strict";var e=angular.module("weechat");e.factory("handlers",["$rootScope","$log","models","plugins","notifications",function(e,t,n,r,i){var o=function(e){var t=e.objects[0].content,r=t.value;n.version=r.split(".").map(function(e){return parseInt(e)})},a=function(e){for(var r=e.objects[0].content,i=0;if?(f=-1*f,c+=1===f?", 1 day before":", "+f+" days before"):c+=", "+f+" days later"}c+=")";var d={buffer:t.id,date:o,prefix:"43─",tags_array:[],displayed:!0,highlight:0,message:c},m=new n.BufferLine(d);t.addLine(m)}},u=function(t,o){var a=new n.BufferLine(t),c=n.getBuffer(a.buffer);if(c.requestedLines++,a.displayed){if(c.lines.length>0){var u=new Date(c.lines[c.lines.length-1].date),l=new Date(a.date);s(c,o,u,l)}a=r.PluginManager.contentForMessage(a),c.addLine(a),o&&c.lastSeen++,c.active&&!o&&e.scrollWithBuffer(),o||c.active&&e.isWindowFocused()||(c.notify>1&&_.contains(a.tags,"notify_message")&&!_.contains(a.tags,"notify_none")&&(c.unread++,e.$emit("notificationChanged")),(0!==c.notify&&a.highlight||_.contains(a.tags,"notify_private"))&&(c.notification++,i.createHighlight(c,a),e.$emit("notificationChanged")))}},l=function(e){for(var t=e.objects[0].content,r=0;r=0),void 0!==t.notify&&(e.notify=t.notify))},d=function(e){e.objects[0].content.forEach(function(e){u(e,!1)})},m=function(e){var t=e.objects[0].content[0],r=new n.Buffer(t);n.addBuffer(r)},h=function(e){var t=e.objects[0].content[0],r=t.pointers[0],i=n.getBuffer(r);i.fullName=t.full_name,i.title=n.parseRichText(t.title),i.number=t.number,i.rtitle="";for(var o=0;o=0?t.short_name.charAt(0):"";var o=n.outgoingQueries.indexOf(i.shortName);o>=0&&(n.outgoingQueries.splice(o,1),n.setActiveBuffer(i.id))},p=function(e){var t=e.objects[0].content[0],r=t.pointers[0],i=n.getBuffer(r);i.hidden=!0},v=function(e){var t=e.objects[0].content[0],r=t.pointers[0],i=n.getBuffer(r);i.hidden=!1},b=function(e){var t=e.objects[0].content[0],r=t.pointers[0],i=n.getBuffer(r),o=t.local_variables;void 0!==i&&void 0!==o&&(i.type=o.type,i.indent=["channel","private"].indexOf(o.type)>=0,i.plugin=o.plugin,i.server=o.server,i.serverSortKey=i.plugin+"."+i.server+("server"===i.type?"":"."+i.shortName))},y=function(e){var t=e.objects[0].content[0],r=t.pointers[0];n.getBuffer(r);r.bufferType=t.type},w=function(e,t){var r=e.objects[0].content.reverse();if(void 0===t&&(t=!0),r.forEach(function(e){u(e,t)}),e.objects[0].content.length>0){var i=e.objects[0].content[e.objects[0].content.length-1],o=n.getBuffer(i.buffer);if(o.lines.length>0){var a=new Date(o.lines[o.lines.length-1].date);s(o,!0,a,new Date)}}},C=function(e){if(0!==e.objects.length){var t=e.objects[0].content;t.forEach(function(e){var t=n.getBuffer(e.buffer);t.unread+=e.count[1],t.notification+=e.count[2],t.notification+=e.count[3];var r=_.reduce(e.count,function(e,t){return e+t},0);t.lastSeen=t.lines.length-1-r})}},k=function(e){var t=e.objects[0].content,r="root";t.forEach(function(e){var t=n.getBuffer(e.pointers[0]);if(1===e.group){var i=new n.NickGroup(e);r=i.name,t.nicklist[r]=i}else{var o=new n.Nick(e);t.addNick(r,o)}})},S=function(e){var t,r=e.objects[0].content;r.forEach(function(e){var r=n.getBuffer(e.pointers[0]),i=e._diff;if(1===e.group){if(t=e.name,void 0===t){var o=new n.NickGroup(e);r.nicklist[t]=o,t=o.name}}else{var a=new n.Nick(e);43===i?r.addNick(t,a):45===i?r.delNick(t,a):42===i&&r.updateNick(t,a)}})},x={_buffer_closing:c,_buffer_line_added:d,_buffer_localvar_added:b,_buffer_localvar_removed:b,_buffer_localvar_changed:b,_buffer_opened:m,_buffer_title_changed:h,_buffer_type_changed:y,_buffer_renamed:g,_buffer_hidden:p,_buffer_unhidden:v,_nicklist:k,_nicklist_diff:S};e.$on("onMessage",function(e,n){_.has(x,n.id)?x[n.id](n):t.debug("Unhandled event received: "+n.id)});var B=function(e){_.has(x,e.id)&&x[e.id](e)};return{handleVersionInfo:o,handleConfValue:a,handleEvent:B,handleLineInfo:w,handleHotlistInfo:C,handleNicklist:k,handleBufferInfo:l}}])}(),function(){"use strict";var e=angular.module("weechat");e.factory("connection",["$rootScope","$log","handlers","models","ngWebsockets",function(e,t,n,r,i){var o,a=new weeChat.Protocol,c=[],s=function(r,o,s,u,f,d,m){e.passwordError=!1,c=[r,o,s,u,f];var h=u?"wss":"ws";-1!==r.indexOf(":")&&"["!==r[0]&&"]"!==r[r.length-1]&&(r="["+r+"]");var g=h+"://"+r+":"+o+"/weechat";t.debug("Connecting to URL: ",g);var p=function(){var r=function(e){return i.send(weeChat.Protocol.formatInit({password:e,compression:f?"off":"zlib"})),i.send(weeChat.Protocol.formatInfo({name:"version"}))},o=function(){return i.send(weeChat.Protocol.formatHdata({path:"hotlist:gui_hotlist(*)",keys:[]}))},a=function(){return i.send(weeChat.Protocol.formatHdata({path:"buffer:gui_buffers(*)",keys:["local_variables,notify,number,full_name,short_name,title,hidden,type"]}))},c=function(){return i.send(weeChat.Protocol.formatSync({}))};r(s).then(function(r){n.handleVersionInfo(r),a().then(function(e){n.handleBufferInfo(e)}),o().then(function(e){n.handleHotlistInfo(e),d&&d()}),c(),t.info("Connected to relay"),e.connected=!0},function(){_()})},v=function(){e.waseverconnected=!0},b=function(n){t.info("Disconnected from relay"),e.$emit("relayDisconnect"),e.userdisconnect||!e.waseverconnected?(y(n),e.userdisconnect=!1):l(n),_()},y=function(t){u&&t&&1006===t.code&&"undefined"!=typeof e.lastError&&Date.now()-e.lastError<1e3&&(e.sslError=!0,e.$apply())},_=function(){e.waseverconnected||e.errorMessage||(e.passwordError=!0,e.$apply())},w=function(n){t.error("Relay error",n),e.lastError=Date.now(),"error"===n.type&&1!==this.readyState&&(i.failCallbacks("error"),e.errorMessage=!0)};try{i.connect(g,a,{binaryType:"arraybuffer",onopen:p,onclose:b,onmessage:v,onerror:w})}catch(n){t.debug("Websocket caught DOMException:",n),e.lastError=Date.now(),e.errorMessage=!0,e.securityError=!0,e.$emit("relayDisconnect"),m&&m()}},u=function(n,i){t.info("Attempting to reconnect...");var a=c;s(a[0],a[1],a[2],a[3],a[4],function(){e.reconnecting=!1,r.setActiveBuffer(n),t.info("Sucessfully reconnected to relay")},function(){i>=6e5?(t.info("Failed to reconnect, giving up"),handleClose()):(t.info("Failed to reconnect, scheduling next attempt in",i/1e3,"seconds"),void 0!==o&&clearTimeout(o),o=setTimeout(function(){u(n,1.5*i)},i))})},l=function(n){if(c.length<5)return void t.error("Cannot reconnect, connection information is missing");r.reinitialize(),e.reconnecting=!0,e.$apply();var i=r.getActiveBuffer().id,a=3e3;o=setTimeout(function(){u(i,a)},a)},f=function(){t.info("Disconnecting from relay"),e.userdisconnect=!0,i.send(weeChat.Protocol.formatQuit());setTimeout(function(){i.disconnect(),i.failCallbacks("disconnection"),e.connected=!1,e.$emit("relayDisconnect"),e.$apply()})},d=function(e){i.send(weeChat.Protocol.formatInput({buffer:r.getActiveBufferReference(),data:e}))},m=function(e){i.send(weeChat.Protocol.formatInput({buffer:"core.weechat",data:e}))},h=function(){r.version[0]>=1?(d("/buffer set hotlist -1"),d("/input set_unread_current_buffer")):m("/buffer "+r.getActiveBuffer().fullName)},g=function(e,t){e&&i.send(weeChat.Protocol.formatNicklist({buffer:"0x"+e})).then(function(e){n.handleNicklist(e),void 0!==t&&t()})},p=function(o){t.debug("Fetching ",o," lines");var a=r.getActiveBuffer();return void 0===o&&(o=0),o=Math.max(o,2*a.requestedLines),e.loadingLines=!0,i.send(weeChat.Protocol.formatHdata({path:"buffer:0x"+a.id+"/own_lines/last_line(-"+o+")/data",keys:[]})).then(function(t){var r=a.lines.length,i=a.lastSeen>=0;a.lines.length=0,a.requestedLines=0;var c=t.objects[0].content.length;n.handleLineInfo(t,!0),a.lastSeen-=r,o>c&&(a.allLinesFetched=!0),e.loadingLines=!1;var s=!i&&a.lastSeen>=0;e.scrollWithBuffer(s,!0)})};return{connect:s,disconnect:f,sendMessage:d,sendCoreCommand:m,sendHotlistClear:h,fetchMoreLines:p,requestNicklist:g,attemptReconnect:u}}])}(),function(){"use strict";var e=angular.module("weechat");e.directive("fileChange",["$parse",function(e){return{restrict:"A",link:function(t,n,r){var i=e(r.fileChange),o=function(e){t.$apply(function(){i(t,{$event:e,files:e.target.files})})};n[0].addEventListener("change",o,!1)}}}])}(),function(){"use strict";var e=angular.module("weechat");e.directive("imgurDrop",["connection","imgur","$rootScope",function(e,t,n){return{restrict:"A",link:function(e,r,i){var o=r[0];o.ondragover=function(){return this.classList.add("imgur-drop-hover"),!1},o.ondragend=function(){return this.classList.remove("imgur-drop-hover"),!1},o.ondrop=function(e){this.classList.remove("imgur-drop-hover");var r=e.dataTransfer.files;e.stopPropagation(),e.preventDefault();var i=function(e){void 0!==e&&""!==e&&n.insertAtCaret(String(e))};if("undefined"!=typeof r&&r.length>0)for(var o=0;o0&&" "!==i[i.length-1]&&(i+=" "),o.length>0&&" "!==o[0]&&(o=" ".concat(o)),t.command=i+e+o,setTimeout(function(){n.focus();var e=t.command.length-o.length;n.setSelectionRange(e,e),t.$apply()},0)},t.uploadImage=function(t,n){var r=function(t){void 0!==t&&""!==t&&e.insertAtCaret(String(t))};if("undefined"!=typeof n&&n.length>0)for(var i=0;i=0){var u=t.command.substring(o+1);a.outgoingQueries.push(u)}t.command=""}a.version[0]>=1&&i.sendHotlistClear(),t.getInputNode().focus()},e.addMention=function(e){var n=e[e.length-1].text,r=t.command||"",i=0===r.length;if(r.length>0){var o=r.trim();if(":"===o.charAt(o.length-1)){var c=o.lastIndexOf(" ")+1,s=o.slice(c,o.length-1),u=a.getActiveBuffer().getNicklistByTime();for(var l in u)if(u[l].name===s){r=r.slice(0,r.lastIndexOf(":"))+" ",i=!0;break}}" "!==r.charAt(r.length-1)&&(r+=" ")}r+=n,i&&(r+=": "),t.command=r,t.getInputNode().focus()},e.handleKeyPress=function(n){if(!e.connected)return!0;var r=t.getInputNode(),o=n.keyCode?n.keyCode:n.charCode,c=n.getModifierState?n.getModifierState("AltGraph"):!1;if(c)return!1;e.showQuickKeys=!1;var u=t.iterCandidate;if(t.iterCandidate=null,n.altKey&&!n.ctrlKey&&o>47&&58>o){48===o&&(o=58);var l,f=o-48-1;if((t.$parent.search.length||t.$parent.onlyUnread)&&t.$parent.filteredBuffers.length){var d=t.$parent.filteredBuffers[f];void 0!==d&&(l=[d.number,d.id])}else{var m=_.map(a.getBuffers(),function(e){return[e.number,e.id]}).sort(function(e,t){return e[0]-t[0]});l=m[f]}l&&(t.$parent.setActiveBuffer(l[1]),n.preventDefault())}if(9===o&&!n.altKey&&!n.ctrlKey)return n.preventDefault(),t.iterCandidate=u,t.completeNick(),!0;if(n.altKey&&!n.ctrlKey&&78===o)return n.preventDefault(),e.toggleNicklist(),!0;if(n.altKey&&(97===o||65===o))return n.preventDefault(),e.switchToActivityBuffer(),!0;if(n.altKey&&!n.ctrlKey&&(38===o||40===o)){n.preventDefault();var h=o-39;return e.switchToAdjacentBuffer(h),!0}if(n.altKey&&(76===o||108===o))return n.preventDefault(),r.focus(),r.setSelectionRange(t.command.length,t.command.length),!0;if(n.altKey&&(60===o||226===o)){var g=a.getPreviousBuffer();if(g)return a.setActiveBuffer(g.id),n.preventDefault(),!0}if(27===o){n.preventDefault();for(var p=document.querySelectorAll(".gb-modal"),v=0;v=0;w--)if(y[w].offsetTop-C.scrollTopC.clientHeight/2){y[w].scrollIntoView(!0);break}return!0}if(s.readlineBindings&&n.ctrlKey&&!n.altKey&&!n.shiftKey&&document.activeElement===r){if(b=r.selectionStart,65==o)r.setSelectionRange(0,0);else if(69==o)r.setSelectionRange(t.command.length,t.command.length);else if(85==o)t.command=t.command.slice(b),setTimeout(function(){r.setSelectionRange(0,0)});else if(75==o)t.command=t.command.slice(0,b),setTimeout(function(){r.setSelectionRange(t.command.length,t.command.length)});else{if(87!=o)return!1;var k=t.command.slice(0,b),S=k.lastIndexOf(" ")+1;t.command=t.command.slice(0,S)+t.command.slice(b,t.command.length),setTimeout(function(){r.setSelectionRange(S,S)})}return n.preventDefault(),!0}"keydown"!==n.type||18!==o||n.ctrlKey||n.shiftKey||(e.showQuickKeys=!0)},e.handleKeyRelease=function(t){return 18===t.keyCode?(void 0!==e.quickKeysTimer&&clearTimeout(e.quickKeysTimer),e.quickKeysTimer=setTimeout(function(){e.showQuickKeys&&(e.showQuickKeys=!1,e.$apply()),delete e.quickKeysTimer},1e3),!0):void 0}}]}})}(),function(){"use strict";var e=angular.module("weechat");e.directive("plugin",["$rootScope","settings",function(e,t){return{templateUrl:"directives/plugin.html",scope:{plugin:"=data"},controller:["$scope",function(n){n.displayedContent="",n.plugin.visible=!t.noembed&&!n.plugin.nsfw,n.plugin.className="embed_"+n.plugin.$$hashKey.replace(":","_"),n.plugin.getElement=function(){return document.querySelector("."+n.plugin.className)},n.hideContent=function(){n.plugin.visible=!1},n.showContent=function(t){var r=n.plugin.getElement();n.plugin.content instanceof Function?r&&""!==r.innerHTML||setTimeout(function(){n.plugin.content()}):n.displayedContent=n.plugin.content,n.plugin.visible=!0;var i;if(t){var o=e.bufferBottom;i=function(){e.updateBufferBottom(o)}}else i=function(){r&&void 0!==r.scrollIntoViewIfNeeded&&(r.scrollIntoViewIfNeeded(),e.updateBufferBottom())};setTimeout(i,500)},n.plugin.visible&&n.showContent(!0)}]}}])}(),function(){"use strict";var e=angular.module("ngWebsockets",[]);e.factory("ngWebsockets",["$rootScope","$q",function(e,t){var n=null,r=null,i={},o=0,a=function(e){for(var t in i)i[t].cb.reject(e)},c=function(){return o+=1,o>1e3&&(o=0),o},s=function(e){var t=u(e);return e=n.setId(t.id,e),r.send(e),t.promise},u=function(){var e=t.defer(),n=c();return i[n]={time:new Date,cb:e},e.id=n,e},l=function(e){var n=[];for(var r in e){var i=s(e[r]);n.push(i)}return t.all(n)},f=function(t){var r=n.parse(t.data);if(_.has(i,r.id)){var o=i[r.id];o.cb.resolve(r),delete i[r.id]}else e.$emit("onMessage",r);e.$apply()},d=function(e,t,i){r=new WebSocket(e),n=t;for(var o in i)r[o]=i[o];"onmessage"in i?r.onmessage=function(e){i.onmessage(e),f(e)}:r.onmessage=f},m=function(){r.close()};return{send:s,sendAll:l,connect:d,disconnect:m,failCallbacks:a}}])}(),function(){"use strict";var e=angular.module("weechatModels",[]);e.service("models",["$rootScope","$filter",function(e,t){function n(e,t){if(t in e&&e[t]&&e[t].length>0){var n=e[t];if(n.match(/^weechat/)){var r=n.match(/[a-zA-Z0-9_]+$/)[0];return["cof-"+r,"cob-"+r,"coa-"+r]}if(n.match(/^[a-zA-Z]+$/))return["cwf-"+n];if(n.match(/^[0-9]+$/))return["cef-"+n]}return["cwf-default"]}function r(e){return{name:n(e,"color"),prefix:n(e,"prefix_color")}}this.version=null,this.wconfig={},this.outgoingQueries=[];var i=function(e){var t=weeChat.Protocol.rawText2Rich(e),n={option:"cof-",weechat:"cwf-",ext:"cef-"},r={option:"cob-",weechat:"cwb-",ext:"ceb-"};return t.forEach(function(e){e.classes=[];var t=n[e.fgColor.type];e.classes.push(t+e.fgColor.name),t=r[e.bgColor.type],e.classes.push(t+e.bgColor.name),null!==e.attrs.name&&e.classes.push("coa-"+e.attrs.name);var i,o;for(i in e.attrs.override)o=e.attrs.override[i],o?e.classes.push("a-"+i):e.classes.push("a-no-"+i)}),t};this.parseRichText=i,this.Buffer=function(e){var t=e.full_name,n=e.short_name,r=e.hidden,o=n.replace(/^[#&+]/,"")||(n?" ":null),a=["#","&","+"].indexOf(n.charAt(0))>=0?n.charAt(0):"",c=i(e.title),s=e.number,u=e.pointers[0],l=3,f=[],d=0,m={},h=[],g=0,p=0,v=0,b=-1,y=e.type,w=e.local_variables.type,C=["channel","private"].indexOf(w)>=0,k=e.local_variables.plugin,S=e.local_variables.server,x=k+"."+S+("server"===w?"":"."+n);x=x.toLowerCase(),void 0!==e.notify&&(l=e.notify);for(var B="",T=0;T=h.length&&h.push(e),0>=g||g>=h.length)return e;g--;var t=h[g];return t},j=function(e){return g===h.length?(void 0!==e&&""!==e&&(h.push(e),g++),""):0>g||g>h.length?e:(g++,h.length>0&&g==h.length-1?h.pop():h[g])},L=function(){for(var e in m)if("root"!==e)return!1;return!0},P=function(){return m.hasOwnProperty("root")},O=function(){for(;f.length>0;)f.pop();d=0};return{id:u,fullName:t,shortName:n,hidden:r,trimmedName:o,prefix:a,number:s,title:c,rtitle:B,lines:f,clear:O,requestedLines:d,addLine:A,lastSeen:b,unread:v,notification:p,notify:l,nicklist:m,addNick:N,delNick:M,updateNick:$,getNicklistByTime:I,serverSortKey:x,indent:C,bufferType:y,type:w,plugin:k,server:S,history:h,addToHistory:H,getHistoryUp:D,getHistoryDown:j,isNicklistEmpty:L,nicklistRequested:P}},this.BufferLine=function(e){var n=e.buffer,r=e.date,o=t("date")(r,"HH:mm"),a=i(e.prefix),c=e.tags_array,s=e.displayed,u=e.highlight,l=i(e.message);u&&a.forEach(function(e){e.classes.push("highlight")});for(var f="",d=0;d=1?"0x"+o.id:o.fullName},this.getPreviousBuffer=function(){return a},this.setActiveBuffer=function(t,n){if(void 0===n&&(n="id"),a=this.getActiveBuffer(),o="id"===n?this.model.buffers[t]:_.find(this.model.buffers,function(e){return e[n]===t?e:void 0}),void 0===o)return o=a,!1;a&&(a.active=!1,a.lastSeen=a.lines.length-1);var r=o.unread+o.notification;return o.active=!0,o.unread=0,o.notification=0,e.$emit("activeBufferChanged",r),e.$emit("notificationChanged"),!0},this.getBuffers=function(){return this.model.buffers},this.reinitialize=function(){this.model.buffers={}},this.getBuffer=function(e){return this.model.buffers[e]},this.closeBuffer=function(e){var t=this.getBuffer(e);if(void 0!==t){if(t.active){var n=_.keys(this.model.buffers)[0];this.setActiveBuffer(n)}delete this.model.buffers[e]}}}])}(),function(){"use strict";var e=angular.module("plugins",[]),t=function(e,t){return{contentForMessage:t,exclusive:!1,name:e}},n=/(?:(?:https?|ftp):\/\/|www\.|ftp\.)\S*[^\s.;,(){}<>]/g,r=function(e,t){return{contentForMessage:function(e){for(var r=e.match(n),i=[],o=0;r&&o=0;s--){var u=1==c.length?void 0:s+1;i(c[s],e[o].name,u)}else i(c,e[o].name);if(e[o].exclusive)break}}return n};return{registerPlugins:n,contentForMessage:i}};this.PluginManager=new n,this.PluginManager.registerPlugins(e.plugins)}]),e.factory("userPlugins",function(){var e=function(e,t){var n="jsonp_callback_"+Math.round(1e5*Math.random());window[n]=function(e){delete window[n],document.body.removeChild(r),t(e)};var r=document.createElement("script");r.src=e+(e.indexOf("?")>=0?"&":"?")+"callback="+n,document.body.appendChild(r)},n=new t("Spotify track",function(e){var t=[],n=function(e){for(var n=0;e&&n").attr("src","//embed.spotify.com/?uri=spotify:track:"+r).attr("width","300").attr("height","80").attr("frameborder","0").attr("allowtransparency","true");t.push(i.prop("outerHTML"))}};return n(e.match(/spotify:track:([a-zA-Z-0-9]{22})/g)),n(e.match(/open.spotify.com\/track\/([a-zA-Z-0-9]{22})/g)),t}),i=new r("YouTube video",function(e){var t=/(?:youtube.com|youtu.be)\/(?:v\/|embed\/|watch(?:\?v=|\/))?([a-zA-Z0-9-]+)/i,n=e.match(t);if(n){var r=n[1],i="https://www.youtube.com/embed/"+r+"?html5=1&iv_load_policy=3&modestbranding=1&rel=0&showinfo=0",o=angular.element("").attr("src",i).attr("width","560").attr("height","315").attr("frameborder","0").attr("allowfullscreen","true");return o.prop("outerHTML")}}),o=new t("Dailymotion video",function(e){var t=/dailymotion.com\/.*video\/([^_?# ]+)/,n=/dailymotion.com\/.*#video=([^_& ]+)/,r=/dai.ly\/([^_?# ]+)/,i=e.match(t)||e.match(n)||e.match(r);if(i){var o=i[1],a="https://www.dailymotion.com/embed/video/"+o+"?html&controls=html&startscreen=html&info=0&logo=0&related=0",c=angular.element("").attr("src",a).attr("width","480").attr("height","270").attr("frameborder","0");return c.prop("outerHTML")}return null}),a=new t("AlloCine video",function(e){var t=/allocine.fr\/videokast\/video-(\d+)/,n=/allocine.fr\/.*cmedia=(\d+)/,r=e.match(t)||e.match(n);if(r){var i=r[1],o="http://www.allocine.fr/_video/iblogvision.aspx?cmedia="+i,a=angular.element("").attr("src",o).attr("width","480").attr("height","270").attr("frameborder","0");return a.prop("outerHTML")}return null}),c=new r("image",function(e){if(e.match(/\.(png|gif|jpg|jpeg)(:(small|medium|large))?\b/i)){if(-1!=e.indexOf("^https?://fukung.net/v/"))e=e.replace(/.*\//,"http://media.fukung.net/imgs/");else if(e.match(/^http:\/\/(i\.)?imgur\.com\//i))e=e.replace(/http:/,"");else if(e.match(/^https:\/\/www\.dropbox\.com\/s\/[a-z0-9]+\//i)){var t=document.createElement("a");t.href=e;for(var n=t.protocol+"//"+t.host+t.pathname+"?",r=t.search.substring(1).split("&"),i=!1,o=0;o").attr("target","_blank").attr("href",e).append(angular.element("").addClass("embed").attr("src",e));t.innerHTML=n.prop("outerHTML")}}}),s=new r("audio",function(e){return e.match(/\.(mp3|ogg|wav)\b/i)?function(){var t=this.getElement(),n=angular.element("").addClass("embed").attr("width","560").append(angular.element("").attr("src",e));t.innerHTML=n.prop("outerHTML")}:void 0}),u=new r("video",function(e){return e.match(/\.(mp4|webm|ogv|gifv)\b/i)?(e.match(/^http:\/\/(i\.)?imgur\.com\//i)&&(e=e.replace(/\.(gifv)\b/i,".webm")),function(){var t=this.getElement(),n=angular.element("").addClass("embed").attr("width","560").append(angular.element("").attr("src",e));t.innerHTML=n.prop("outerHTML")}):void 0}),l=new r("cloud music",function(e){var t;return e.match(/^https?:\/\/soundcloud.com\//)?(t=angular.element("").attr("width","100%").attr("height","120").attr("scrolling","no").attr("frameborder","no").attr("src","https://w.soundcloud.com/player/?url="+e+"&color=ff6600&auto_play=false&show_artwork=true"),t.prop("outerHTML")):e.match(/^https?:\/\/([a-z]+\.)?mixcloud.com\//)?(t=angular.element("").attr("width","480").attr("height","60").attr("frameborder","0").attr("src","//www.mixcloud.com/widget/iframe/?feed="+e+"&mini=1&stylecolor=&hide_artwork=&embed_type=widget_standard&hide_tracklist=1&hide_cover="),t.prop("outerHTML")):void 0}),f=new r("Google Map",function(e){if(e.match(/^https?:\/\/maps\.google\./i)||e.match(/^https?:\/\/(?:[\w]+\.)?google\.[\w]+\/maps/i)){var t=angular.element("").attr("width","450").attr("height","350").attr("frameborder","0").attr("scrolling","no").attr("marginheight","0").attr("src",e+"&output=embed");return t.prop("outerHTML")}}),d=new r("ascii cast",function(e){var t=/^https?:\/\/(?:www\.)?asciinema.org\/a\/(\d+)/i,n=e.match(t);if(n){var r=n[1];return function(){var e=this.getElement(),t=document.createElement("script");t.src="https://asciinema.org/a/"+r+".js",t.id="asciicast-"+r,t.async=!0,e.appendChild(t)}}}),m=new r("meteogram",function(e){var t=/^https?:\/\/(?:www\.)?yr\.no\/(place|stad|sted|sadji|paikka)\/(([^\s.;,(){}<>\/]+\/){3,})/,n=e.match(t);return n?function(){var t=this.getElement(),r=n[1],i=n[2],o=n[n.length-1].slice(0,-1);e="http://www.yr.no/"+r+"/"+i+"avansert_meteogram.png";var a=angular.element("").attr("src",e).attr("alt","Meteogram for "+o);t.innerHTML=a.prop("outerHTML")}:void 0}),h=new r("Gist",function(t){var n=/^https:\/\/gist\.github.com\/[^.?]+/i,r=t.match(n);return r?(t=r[0]+".json",function(){var n=this.getElement();e(t,function(e){if(document.querySelectorAll('link[rel=stylesheet][href="'+e.stylesheet+'"]').length<1){var t='';document.getElementsByTagName("head")[0].innerHTML+=t}n.innerHTML='
'+e.div+"
"})}):void 0}),g=new r("Giphy",function(e){var t=/^https?:\/\/giphy.com\/gifs\/.*-(.*)\/?/i,n=e.match(t);if(n){var r="https://media.giphy.com/media/"+n[1]+"/giphy.gif";return function(){var t=this.getElement(),n=angular.element("").attr("target","_blank").attr("href",e).append(angular.element("").addClass("embed").attr("src",r));t.innerHTML=n.prop("outerHTML")}}}),p=new r("Tweet",function(t){var n=/^https?:\/\/twitter\.com\/(?:#!\/)?(\w+)\/status(?:es)?\/(\d+)/i,r=t.match(n);return r?(t="https://api.twitter.com/1/statuses/oembed.json?id="+r[2],function(){var n=this.getElement();e(t,function(e){var t=e.html.indexOf("'}});return{plugins:[i,o,a,c,u,s,n,l,f,d,m,h,g,p,v]}})}(),function(){"use strict";var e=angular.module("weechat");e.factory("imgur",["$rootScope",function(e){var t=function(e,t){if(e&&e.type.match(/image.*/)){var r=new FileReader;r.onload=function(e){var r=e.target.result.split(",")[1];n(r,t)},r.readAsDataURL(e)}},n=function(e,t){var n="164efef8979cd4b",i=document.getElementById("imgur-upload-progress"),o=document.createElement("div"); +!function(){"use strict";var e=angular.module("localStorage",[]);e.factory("$store",["$parse",function(e){var t="undefined"==typeof window.localStorage?void 0:window.localStorage,n=!("undefined"==typeof t||"undefined"==typeof window.JSON);n||console.log("Warning: localStorage is not supported");var r={parseValue:function(e){var t;try{t=JSON.parse(e),void 0===t&&(t=e),"true"===t&&(t=!0),"false"===t&&(t=!1),parseFloat(t)!=t||angular.isObject(t)||(t=parseFloat(t))}catch(n){t=e}return t}},i={set:function(e,i){n||console.log("Local Storage not supported");var o=JSON.stringify(i);return t.setItem(e,o),r.parseValue(o)},get:function(e){if(!n)return null;var i=t.getItem(e);return r.parseValue(i)},remove:function(e){return n?(t.removeItem(e),!0):!1},enumerateKeys:function(){for(var e=[],n=0,r=t.length;r>n;++n)e.push(t.key(n));return e},bind:function(t,n,r){return void 0===r&&(r=""),void 0!==i.get(n)&&null!==i.get(n)||i.set(n,r),e(n).assign(t,i.get(n)),t.$watch(n,function(e){i.set(n,e)},!0),i.get(n)}};return i}])}(),function(e){"use strict";!function(){var t=function(){this._types={chr:this._getChar,int:this._getInt,str:this._getString,inf:this._getInfo,hda:this._getHdata,ptr:this._getPointer,lon:this._getStrNumber,tim:this._getTime,buf:this._getString,arr:this._getArray,htb:this._getHashTable,inl:this._getInfolist},this._typesStr={chr:this._strDirect,str:this._strDirect,int:this._strToString,tim:this._strToString,ptr:this._strDirect}};t._weeChatColorsNames=["default","black","darkgray","red","lightred","green","lightgreen","brown","yellow","blue","lightblue","magenta","lightmagenta","cyan","lightcyan","gray","white"],t._colorsOptionsNames=["separator","chat","chat_time","chat_time_delimiters","chat_prefix_error","chat_prefix_network","chat_prefix_action","chat_prefix_join","chat_prefix_quit","chat_prefix_more","chat_prefix_suffix","chat_buffer","chat_server","chat_channel","chat_nick","chat_nick_self","chat_nick_other","invalid","invalid","invalid","invalid","invalid","invalid","invalid","invalid","invalid","invalid","chat_host","chat_delimiters","chat_highlight","chat_read_marker","chat_text_found","chat_value","chat_prefix_buffer","chat_tags","chat_inactive_window","chat_inactive_buffer","chat_prefix_buffer_inactive_buffer","chat_nick_offline","chat_nick_offline_highlight","chat_nick_prefix","chat_nick_suffix","emphasis","chat_day_change"],t._getDefaultColor=function(){return{type:"weechat",name:"default"}},t._getDefaultAttributes=function(){return{name:null,override:{bold:!1,reverse:!1,italic:!1,underline:!1}}},t._getDefaultStyle=function(){return{fgColor:t._getDefaultColor(),bgColor:t._getDefaultColor(),attrs:t._getDefaultAttributes()}},t._cloneColor=function(e){var t={};for(var n in e)t[n]=e[n];return t},t._cloneAttrs=function(e){var t={};t.name=e.name,t.override={};for(var n in e.override)t.override[n]=e.override[n];return t},t._attrNameFromChar=function(e){var t={"*":"b","!":"r","/":"i",_:"u","":"b","":"r","":"i","":"u"};return e in t?t[e]:null},t._attrsFromStr=function(e){for(var n=t._getDefaultAttributes(),r=0;r16?t._getDefaultColor():{type:"weechat",name:t._weeChatColorsNames[n]}}var r=e.substring(1);return{type:"ext",name:parseInt(r).toString()}},t._getStyle=function(e){var n=[{regex:/^(\d{2})/,fn:function(e){var n={},r=parseInt(e[1]);if(r>=t._colorsOptionsNames.length)return{fgColor:null,bgColor:null,attrs:null};var i=t._colorsOptionsNames[r];return n.fgColor={type:"option",name:i},n.bgColor=t._cloneColor(n.fgColor),n.attrs={name:i,override:{}},n}},{regex:/^@(\d{5})/,fn:function(e){return{fgColor:null,bgColor:null,attrs:null}}},{regex:/^F(?:([*!\/_|]*)(\d{2})|@([\x01\x02\x03\x04*!\/_|]*)(\d{5}))/,fn:function(e){var n={bgColor:null};return e[2]?(n.attrs=t._attrsFromStr(e[1]),n.fgColor=t._getColorObj(e[2])):(n.attrs=t._attrsFromStr(e[3]),n.fgColor=t._getColorObj(e[4])),n}},{regex:/^B(\d{2}|@\d{5})/,fn:function(e){return{fgColor:null,bgColor:t._getColorObj(e[1]),attrs:null}}},{regex:/^\*(?:([\x01\x02\x03\x04*!\/_|]*)(\d{2})|@([\x01\x02\x03\x04*!\/_|]*)(\d{5})),(\d{2}|@\d{5})/,fn:function(e){var n={};return e[2]?(n.attrs=t._attrsFromStr(e[1]),n.fgColor=t._getColorObj(e[2])):(n.attrs=t._attrsFromStr(e[3]),n.fgColor=t._getColorObj(e[4])),n.bgColor=t._getColorObj(e[5]),n}},{regex:/^\*([\x01\x02\x03\x04*!\/_|]*)(\d{2}|@\d{5})/,fn:function(e){return{fgColor:t._getColorObj(e[2]),bgColor:null,attrs:t._attrsFromStr(e[1])}}},{regex:/^E/,fn:function(e){var n={};return n.fgColor={type:"option",name:"emphasis"},n.bgColor=t._cloneColor(n.fgColor),n.attrs={name:"emphasis",override:{}},n}}],r={fgColor:null,bgColor:null,attrs:null,text:e};return n.some(function(t){var n=e.match(t.regex);return n?(r=t.fn(n),r.text=e.substring(n[0].length),!0):!1}),r},t.rawText2Rich=function(e){var n=e.split(/(\x19|\x1a|\x1b|\x1c)/);if(1===n.length)return[{attrs:t._getDefaultAttributes(),fgColor:t._getDefaultColor(),bgColor:t._getDefaultColor(),text:n[0]}];var r=t._getDefaultColor(),i=t._getDefaultColor(),o=t._getDefaultAttributes(),a=null,c=!0;return n.map(function(e){if(0===e.length)return null;var n=e.charCodeAt(0),s=e.charAt(0);if(n>=25&&28>=n)return 28===n&&(r=t._getDefaultColor(),i=t._getDefaultColor(),25!==a&&(o=t._getDefaultAttributes())),a=n,null;var u=e;if(25===a){var l=t._getStyle(e);null!==l.fgColor&&(r=l.fgColor),null!==l.bgColor&&(i=l.bgColor),null!==l.attrs&&(o=l.attrs),u=l.text}else if(26===a||27===a){var f=26===a;if("|"!==s){var d=t._attrNameFromChar(s);d&&(o.override[d]=f,u=e.substring(1))}}if(a=null,0===u.length)return null;if(c&&null===o.name){var m=!0;for(var h in o.override)if(o.override[h]){m=!1;break}m?o.override={}:c=!1}return{fgColor:t._cloneColor(r),bgColor:t._cloneColor(i),attrs:t._cloneAttrs(o),text:u}}).filter(function(e){return null!==e})},t._uia2s=function(e){if(!e.length||0===e[0])return"";try{var t=String.fromCharCode.apply(null,e),n=decodeURIComponent(escape(t));return n}catch(t){for(var r="",i=0,o=e.length;o>i;i++)r+=e[i]<128?String.fromCharCode(e[i]):"?";return r}},t._mergeParams=function(e,t){for(var n in t)e[n]=t[n];return e},t._formatCmd=function(e,t,n){var r,i;return r=null!==e?"("+e+") ":"",r+=t,n.unshift(r),i=n.join(" "),i+="\n",i.replace(/[\r\n]+$/g,"").split("\n"),i},t.formatInit=function(e){var n={password:null,compression:"zlib"},r=[],i=[];return e=t._mergeParams(n,e),r.push("compression="+e.compression),null!==e.password&&r.push("password="+e.password),i.push(r.join(",")),t._formatCmd(null,"init",i)},t.formatHdata=function(e){var n={id:null,keys:null},r=[];return e=t._mergeParams(n,e),r.push(e.path),null!==e.keys&&r.push(e.keys.join(",")),t._formatCmd(e.id,"hdata",r)},t.formatInfo=function(e){var n={id:null},r=[];return e=t._mergeParams(n,e),r.push(e.name),t._formatCmd(e.id,"info",r)},t.formatInfolist=function(e){var n={id:null,pointer:null,args:null},r=[];return e=t._mergeParams(n,e),r.push(e.name),null!==e.pointer&&r.push(e.pointer),null!==e.pointer&&r.push(e.args),t._formatCmd(e.id,"infolist",r)},t.formatNicklist=function(e){var n={id:null,buffer:null},r=[];return e=t._mergeParams(n,e),null!==e.buffer&&r.push(e.buffer),t._formatCmd(e.id,"nicklist",r)},t.formatInput=function(e){var n={id:null},r=[];return e=t._mergeParams(n,e),r.push(e.buffer),r.push(e.data),t._formatCmd(e.id,"input",r)},t._formatSyncDesync=function(e,n){var r={id:null,buffers:null,options:null},i=[];return n=t._mergeParams(r,n),null!==n.buffers&&(i.push(n.buffers.join(",")),null!==n.options&&i.push(n.options.join(","))),t._formatCmd(n.id,e,i)},t.formatSync=function(e){return t._formatSyncDesync("sync",e)},t.formatDesync=function(e){return t._formatSyncDesync("desync",e)},t.formatTest=function(e){var n={id:null},r=[];return e=t._mergeParams(n,e),t._formatCmd(e.id,"test",r)},t.formatQuit=function(){return t._formatCmd(null,"quit",[])},t.formatPing=function(e){var n={id:null,args:null},r=[];return e=t._mergeParams(n,e),null!==e.args&&r.push(e.args.join(" ")),t._formatCmd(e.id,"ping",r)},t.prototype={_warnUnimplemented:function(e){console.log("Warning: "+e+" message parsing is not implemented")},_getType:function(){var e=this._getSlice(3);return e?t._uia2s(new Uint8Array(e)):null},_runType:function(e){var t=this._types[e],n=t.bind(this);return n()},_getStrNumber:function(){var e=this._getByte(),n=this._getSlice(e);return t._uia2s(new Uint8Array(n))},_strDirect:function(e){return e},_strToString:function(e){return e.toString()},_objToString:function(e,t){var n=this._typesStr[t],r=n.bind(this);return r(e)},_getInfo:function(){var e={};return e.key=this._getString(),e.value=this._getString(),e},_getHdata:function(){function e(){var e={};e.pointers=t.map(function(e){return r._getPointer()}),a.forEach(function(t){e[t[0]]=r._runType(t[1])}),i.push(e)}var t,n,r=this,i=[],o=this._getString(),a=this._getString().split(",");t=o.split("/"),n=this._getInt(),a=a.map(function(e){return e.split(":")});for(var c=0;n>c;c++)e();return i},_getPointer:function(){return this._getStrNumber()},_getTime:function(){var e=this._getStrNumber();return new Date(1e3*parseInt(e,10))},_getInt:function(){var e=new Uint8Array(this._getSlice(4));return(255&e[0])<<24|(255&e[1])<<16|(255&e[2])<<8|255&e[3]},_getByte:function(){var e=new Uint8Array(this._getSlice(1));return e[0]},_getChar:function(){return this._getByte()},_getString:function(){var e=this._getInt();if(e>0){var n=this._getSlice(e),r=new Uint8Array(n);return t._uia2s(r)}return""},_getHeader:function(){var e=this._getInt(),t=this._getByte();return{length:e,compression:t}},_getId:function(){return this._getString()},_getObject:function(){var e=this,t=this._getType();return t?{type:t,content:e._runType(t)}:void 0},_getHashTable:function(){var e,t,n,r=this,i={};e=this._getType(),t=this._getType(),n=this._getInt();for(var o=0;n>o;++o){var a=r._runType(e),c=r._objToString(a,e),s=r._runType(t);i[c]=s}return i},_getArray:function(){var e,t,n,r=this;e=this._getType(),t=this._getInt(),n=[];for(var i=0;t>i;i++)n.push(r._runType(e));return n},_getInfolist:function(){var e,t,n,r=this;e=this._getString(),t=this._getInt(),n=[];for(var i=0;t>i;i++){for(var o=r._getInt(),a=[],c=0;o>c;c++){var s={};s[r._getString()]=r._runType(r._getType()),a.push(s)}n.push(a)}return n},_getSlice:function(e){if(this.dataAt+e>this._data.byteLength)return null;var t=this._data.slice(this._dataAt,this._dataAt+e);return this._dataAt+=e,t},_setData:function(e){this._data=e},setId:function(e,t){return"("+e+") "+t},parse:function(e,t){var n=this;this._setData(e),this._dataAt=0;var r=this._getHeader();if(r.compression){var i=new Uint8Array(e,5),o=new Zlib.Inflate(i),a=o.decompress();this._setData(a.buffer),this._dataAt=0}for(var c=this._getId(),s=[],u=this._getObject();u;)s.push(u),u=n._getObject();var l={header:r,id:c,objects:s};return l}},e.Protocol=t}()}("undefined"==typeof exports?this.weeChat={}:exports),function(){"use strict";var e=angular.module("IrcUtils",[]);e.service("IrcUtils",[function(){var e=function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},t=function(e){var t=_(e).sortBy(function(e){return-e.spokeAt});return t=_(t).pluck("name")},n=function(e,t){var n=null;return t.some(function(t){return 0===t.toLowerCase().search(e.toLowerCase())?(n=t,!0):!1}),n},r=function(t,n,r){for(var i=[],o=null,a=t.toLowerCase(),c=n.toLowerCase(),s=0;s0&&(o.lines.splice(0,m),o.requestedLines-=m,o.lastSeen-=m,o.allLinesFetched=!1),n.bufferlines=o.lines,n.nicklist=o.nicklist,o.nicklistRequested()?n.showNicklist=n.updateShowNicklist():c.requestNicklist(o.id,function(){n.showNicklist=n.updateShowNicklist(),t.scrollWithBuffer(!0)}),o.requestedLinesh&&(h=Math.min(4*h,r)),n.fetchMoreLines(h).then(function(){i(function(){var e=document.getElementById("bufferlines"),n=e.scrollHeight,r=function(){if(e){var i=e.scrollHeight;i!==n&&(t.updateBufferBottom(t.bufferBottom),n=i),setTimeout(r,500)}};t.updateBufferBottom(!0),t.scrollWithBuffer(!0),e.onscroll=_.debounce(function(){t.updateBufferBottom()},80),setTimeout(r,500)})})}s.updateTitle(o),setTimeout(function(){n.notifications=s.unreadCount("notification"),n.unread=s.unreadCount("unread")}),i(function(){t.scrollWithBuffer(!0)}),n.search="",u.isMobileUi()||setTimeout(function(){document.getElementById("sendMessage").focus()},0),l.hotlistsync&&o.fullName&&c.sendHotlistClear()}),t.favico=new Favico({animation:"none"}),n.notifications=s.unreadCount("notification"),n.unread=s.unreadCount("unread"),t.$on("notificationChanged",function(){s.updateTitle(),n.notifications=s.unreadCount("notification"),n.unread=s.unreadCount("unread"),l.useFavico&&t.favico&&s.updateFavico()}),t.$on("relayDisconnect",function(){t.pageTitle="",t.notificationStatus="",s.cancelAll(),a.reinitialize(),t.$emit("notificationChanged"),n.connectbutton="Connect",n.connectbuttonicon="glyphicon-chevron-right"}),n.connectbutton="Connect",n.connectbuttonicon="glyphicon-chevron-right",n.getBuffers=a.getBuffers.bind(a),n.bufferlines={},n.nicklist={},n.activeBuffer=a.getActiveBuffer,t.connected=!1,t.waseverconnected=!1,t.userdisconnect=!1,t.reconnecting=!1,t.models=a,t.iterCandidate=null,l.savepassword?(n.$watch("password",function(){l.password=n.password}),l.addCallback("password",function(e){n.password=e}),n.password=l.password):l.password="",l.addCallback("savepassword",function(e){l.savepassword&&(l.setDefaults({password:n.password}),l.password=n.password)}),t.wasMobileUi=!1,u.isMobileUi()&&(t.wasMobileUi=!0),l.fontfamily||(u.isMobileUi()?l.fontfamily="sans-serif":l.fontfamily="Inconsolata, Consolas, Monaco, Ubuntu Mono, monospace"),n.isSidebarVisible=function(){return"visible"===document.getElementById("content").getAttribute("sidebar-state")},n.showSidebar=function(){document.getElementById("sidebar").setAttribute("data-state","visible"),document.getElementById("content").setAttribute("sidebar-state","visible"),u.isMobileUi()&&_.each(document.getElementsByTagName("textarea"),function(e){i(function(){e.blur()})})},t.hideSidebar=function(){u.isMobileUi()&&(document.getElementById("sidebar").setAttribute("data-state","hidden"),document.getElementById("content").setAttribute("sidebar-state","hidden"))},l.addCallback("autoconnect",function(e){!e||t.connected||t.sslError||t.securityError||t.errorMessage||n.connect()}),n.toggleSidebar=function(){u.isMobileUi()&&(n.isSidebarVisible()?n.hideSidebar():n.showSidebar())},n.openNick=function(){u.isMobileUi()&&l.nonicklist&&(l.nonicklist=!1)},n.closeNick=function(){u.isMobileUi()&&(l.nonicklist||(l.nonicklist=!0))},l.addCallback("orderbyserver",function(e){t.predicate=e?"serverSortKey":"number"}),l.addCallback("useFavico",function(e){t.connected&&(e?s.updateFavico():t.favico.reset())}),l.addCallback("enableMathjax",function(e){e&&!t.mathjax_init&&(t.mathjax_init=!0,function(){var e,t=document.getElementsByTagName("head")[0];e=document.createElement("script"),e.type="text/x-mathjax-config",e[window.opera?"innerHTML":"text"]="MathJax.Hub.Config({\n tex2jax: { inlineMath: [['$$','$$'], ['\\\\(','\\\\)']], displayMath: [['\\\\[','\\\\]']] },\n});",t.appendChild(e),e=document.createElement("script"),e.type="text/javascript",e.src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML",t.appendChild(e)}())}),l.addCallback("theme",function(e){var t=document.getElementById("themeCSS");t&&t.parentNode.removeChild(t),function(){var t=document.createElement("link");t.rel="stylesheet",t.href="css/themes/"+e+".css",t.media="screen",t.id="themeCSS",document.getElementsByTagName("head")[0].appendChild(t)}()}),l.addCallback("customCSS",function(e){var t=document.getElementById("custom-css-tag");t&&t.parentNode.removeChild(t);var n=document.createElement("style");n.type="text/css",n.id="custom-css-tag",n.appendChild(document.createTextNode(e));var r=document.getElementsByTagName("head");r[0].appendChild(n)}),l.addCallback("fontfamily",function(e){u.changeClassStyle("favorite-font","fontFamily",e)}),l.addCallback("fontsize",function(e){u.changeClassStyle("favorite-font","fontSize",e)}),n.setActiveBuffer=function(e,t){return u.isMobileUi()&&n.hideSidebar(),a.version[0]>=1&&c.sendHotlistClear(),a.setActiveBuffer(e,t)},n.openBuffer=function(e){var t=a.getActiveBuffer().fullName;if(t=t.substring(0,t.lastIndexOf(".")+1)+e,!n.setActiveBuffer(t,"fullName")){var r="join -noswitch";["#","&","+","!"].indexOf(e.charAt(0))<0&&(r="query",(1==a.version[0]&&a.version[1]>=2||a.version[1]>1)&&(r+=" -noswitch")),c.sendMessage("/"+r+" "+e)}},n.calculateNumLines=function(){for(var e=document.querySelectorAll(".bufferline"),t=0,r=0;0===t&&ri||Math.abs(i-o)<3){var a=document.querySelector(".readmarker");if(e&&a)r.scrollTop=a.offsetTop-a.parentElement.scrollHeight+a.scrollHeight;else if(n)r.scrollTop=r.scrollHeight-r.clientHeight-o;else{var c=document.getElementById("end-of-buffer");c.scrollIntoView()}t.updateBufferBottom()}};i(a),window.requestAnimationFrame(a)},n.connect=function(){s.requestNotificationPermission(),t.sslError=!1,t.securityError=!1,t.errorMessage=!1,t.bufferBottom=!0,n.connectbutton="Connecting",n.connectbuttonicon="glyphicon-refresh glyphicon-spin",c.connect(l.host,l.port,n.password,l.ssl)},n.disconnect=function(){n.connectbutton="Connect",n.connectbuttonicon="glyphicon-chevron-right",c.disconnect()},n.reconnect=function(){var e=a.getActiveBuffer().id;c.attemptReconnect(e,3e3)},n.install=function(){if(void 0!==navigator.mozApps){var e=location.protocol+"//"+location.host+location.pathname.replace(/\/(index\.html)?$/,""),t=navigator.mozApps.install(e+"/manifest.webapp");t.onsuccess=function(){n.isinstalled=!0;var e=this.result;e.launch(),alert("Installation successful!")},t.onerror=function(){alert("Install failed, error: "+this.error.name)}}else alert("Sorry. Only supported in Firefox v26+")},n.showModal=function(e){document.getElementById(e).setAttribute("data-state","visible")},n.closeModal=function(e){function t(e,t){for(var n=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector;e;){if(n.call(e,t))return e;e=e.parentElement}}t(e.target,".gb-modal").setAttribute("data-state","hidden")},n.toggleAccordion=function(e){e.stopPropagation(),e.preventDefault();var t=e.target.parentNode.parentNode.parentNode;t.setAttribute("data-state","active"===t.getAttribute("data-state")?"collapsed":"active");var n=t.parentNode.children;for(var r in n){var i=n[r];1===i.nodeType&&i!==t&&i.setAttribute("data-state","collapsed")}},n.hasUnread=function(e){return n.search&&""!==n.search?!0:l.onlyUnread?a.getActiveBuffer()===e?!0:"core.weechat"===e.fullName||l.orderbyserver&&"server"===e.type?!0:(e.unread>0||e.notification>0)&&!e.hidden:!e.hidden},l.addCallback("nonicklist",function(){n.showNicklist=n.updateShowNicklist(),t.connected&&t.bufferBottom&&i(function(){t.updateBufferBottom(!0)},500)}),n.showNicklist=!1,n.updateShowNicklist=function(){var e=a.getActiveBuffer();return e?l.nonicklist?!1:!e.isNicklistEmpty():!1},t.switchToActivityBuffer=function(){var e,t,r=_.sortBy(n.getBuffers(),"number");for(e in r)if(t=r[e],t.notification>0)return void n.setActiveBuffer(t.id);for(e in r)if(t=r[e],t.unread>0)return void n.setActiveBuffer(t.id)},t.toggleNicklist=function(){l.nonicklist=!l.nonicklist},t.switchToAdjacentBuffer=function(e){var r=_.sortBy(n.getBuffers(),t.predicate),i=a.getActiveBuffer(),o=r.indexOf(i);if(o>=0){var c=r[o+e];c&&n.setActiveBuffer(c.id)}},n.handleSearchBoxKey=function(e){var t=e.keyCode?e.keyCode:e.charCode;27===t?(e.preventDefault(),n.search=""):13===t&&(e.preventDefault(),n.filteredBuffers.length>0&&n.setActiveBuffer(n.filteredBuffers[0].id),n.search="")},t.supports_formatting_date=function(){try{(new Date).toLocaleDateString("i")}catch(e){return"RangeError"!==e.name&&o.info("Browser does not support toLocaleDateString(), falling back to en-US"),"RangeError"===e.name}return o.info("Browser does not support toLocaleDateString(), falling back to en-US"),!1}(),window.onbeforeunload=function(e){null!==n.command&&""!==n.command?(e.preventDefault(),e.returnValue="Any unsent input will be lost. Are you sure that you want to quit?"):(t.connected&&n.disconnect(),n.favico.reset())},n.init=function(){if(window.location.hash){var e=atob(window.location.hash.substring(1));window.location.hash="";var r=e.split(":"),i=r[0],o=parseInt(r[1]),a=r[2],u=r.length>3;s.requestNotificationPermission(),t.sslError=!1,t.securityError=!1,t.errorMessage=!1,t.bufferBottom=!0,n.connectbutton="Connecting",n.connectbuttonicon="glyphicon-chevron-right",c.connect(i,o,a,u)}}}]),e.config(["$routeProvider",function(e){e.when("/",{templateUrl:"index.html",controller:"WeechatCtrl"})}])}(),function(){"use strict";var e=angular.module("weechat");e.factory("settings",["$store","$rootScope",function(e,t){var n=this;this.callbacks={},this.cache={};var r=function(r){Object.defineProperty(n,r,{enumerable:!0,key:r,get:function(){return r in this.cache||(this.cache[r]=e.get(r)),this.cache[r]},set:function(i){this.cache[r]=i,e.set(r,i);for(var o=n.callbacks[r],a=0;void 0!==o&&a0?e.notificationStatus="("+t+") ":e.notificationStatus="";var r=n.getActiveBuffer();r&&(e.pageTitle=r.shortName+" | "+r.rtitle)},l=function(){var t=s("notification");if(t>0)e.favico.badge(t,{bgColor:"#d00",textColor:"#fff"});else{var n=s("unread");0===n?e.favico.reset():e.favico.badge(n,{bgColor:"#5CB85C",textColor:"#ff0"})}},f=function(e,t){var n="",i="",o=e.notification;if("private"===e.type)n=o>1?o.toString()+" private messages from ":"Private message from ",i=t.text;else{n=o>1?o.toString()+" highlights in ":"Highlight in ";for(var a="",s=0;s "+t.text}if(n+=e.shortName+" ("+e.server+")",c(e,n,i),r.soundnotification){var u="assets/audio/sonar",l='';document.getElementById("soundNotification").innerHTML=l}},d=function(){for(;o.length>0;){var e=o.pop();void 0!==e&&e.close()}};return{requestNotificationPermission:a,updateTitle:u,updateFavico:l,createHighlight:f,cancelAll:d,unreadCount:s}}]),function(){"use strict";var e=angular.module("weechat");e.filter("toArray",function(){return function(e,t){return e instanceof Object?t?Object.keys(e).map(function(t,n){return Object.defineProperties(e[t],{$key:{value:t},$idx:{value:n,configurable:!0}})}):Object.keys(e).map(function(t){return Object.defineProperty(e[t],"$key",{value:t})}):e}}),e.filter("irclinky",function(){return function(e){if(!e)return e;var t=/(^|[\s,.:;?!"'()+@-\~%])(#+[^\x00\x07\r\n\s,:]*[a-z][^\x00\x07\r\n\s,:]*)/gim,n='$1$2';return e.replace(t,n)}}),e.filter("inlinecolour",function(){return function(e){if(!e)return e;var t=/(^|[^&])(\#[0-9a-f]{6};?)(?!\w)/gim,n=/(.?)(rgba?\((?:\s*\d+\s*,){2}\s*\d+\s*(?:,\s*[\d.]+\s*)?\);?)/gim,r='$1$2
';return e=e.replace(t,r),e=e.replace(n,r)}}),e.filter("DOMfilter",["$filter","$sce",function(e,t){var n=["irclinky"];return function(r,i){if(!r||!i)return r;var o=n.indexOf(i)>-1,a=function(e){var t={"<":"<",">":">",'"':""","'":"'","&":"&","/":"/"};return e.replace(/[<>"'&\/]/g,function(e){return t[e]})},c=arguments.length>2?arguments[2]:null,s=arguments.length>3?arguments[3]:null,u=e(i),l=document.createElement("div");l.innerHTML=r;var f=function(e){if(3===e.nodeType){var t=a(e.nodeValue),n=u(t,c,s);if(n!==t){var r=document.createElement("span");r.innerHTML=n;var i=e.parentNode,l=e.nextSibling;return i.removeChild(e),l?i.insertBefore(r,l):i.appendChild(r),r}}if(void 0!==e&&null!==e)for(e=e.firstChild;e;){var d=null;o&&"A"===e.tagName||(d=f(e)),e=(d?d:e).nextSibling}};return f(l),t.trustAsHtml(l.innerHTML)}}]),e.filter("getBufferQuickKeys",function(){return function(e,t){return t?(void 0!==t.search&&t.search.length||t.onlyUnread?e.forEach(function(e,t){e.$quickKey=10>t?(t+1)%10:""}):_.map(e,function(e,t){return[e.number,e.$idx,t]}).sort(function(e,t){return e[0]-t[0]||e[1]-t[1]}).forEach(function(t,n){e[t[2]].$quickKey=10>n?(n+1)%10:""}),e):e}}),e.filter("emojify",function(){return function(e,t){if(t===!0&&void 0!==window.emojione){var n=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return n.test(e)?emojione.unicodeToImage(e):e}return e}}),e.filter("mathjax",function(){return function(e,t,n){if(!n||"undefined"==typeof MathJax)return e;if(-1!=e.indexOf("$$")||-1!=e.indexOf("\\[")||-1!=e.indexOf("\\(")){var r=document.querySelector(t);MathJax.Hub.Queue(["Typeset",MathJax.Hub,r])}return e}}),e.filter("prefixlimit",function(){ +return function(e,t){return isNaN(t)?e:0>=t?"":e&&e.length>t?(e=e.substring(0,t),e+"+"):e}})}(),function(){"use strict";var e=angular.module("weechat");e.factory("handlers",["$rootScope","$log","models","plugins","notifications",function(e,t,n,r,i){var o=function(e){var t=e.objects[0].content,r=t.value;n.version=r.split(".").map(function(e){return parseInt(e)})},a=function(e){for(var r=e.objects[0].content,i=0;if?(f=-1*f,c+=1===f?", 1 day before":", "+f+" days before"):c+=", "+f+" days later"}c+=")";var d={buffer:t.id,date:o,prefix:"43─",tags_array:[],displayed:!0,highlight:0,message:c},m=new n.BufferLine(d);t.addLine(m)}},u=function(t,o){var a=new n.BufferLine(t),c=n.getBuffer(a.buffer);if(c.requestedLines++,a.displayed){if(c.lines.length>0){var u=new Date(c.lines[c.lines.length-1].date),l=new Date(a.date);s(c,o,u,l)}a=r.PluginManager.contentForMessage(a),c.addLine(a),o&&c.lastSeen++,c.active&&!o&&e.scrollWithBuffer(),o||c.active&&e.isWindowFocused()||(c.notify>1&&_.contains(a.tags,"notify_message")&&!_.contains(a.tags,"notify_none")&&(c.unread++,e.$emit("notificationChanged")),(0!==c.notify&&a.highlight||_.contains(a.tags,"notify_private"))&&(c.notification++,i.createHighlight(c,a),e.$emit("notificationChanged")))}},l=function(e){for(var t=e.objects[0].content,r=0;r=0),void 0!==t.notify&&(e.notify=t.notify))},d=function(e){e.objects[0].content.forEach(function(e){u(e,!1)})},m=function(e){var t=e.objects[0].content[0],r=new n.Buffer(t);n.addBuffer(r)},h=function(e){var t=e.objects[0].content[0],r=t.pointers[0],i=n.getBuffer(r);i.fullName=t.full_name,i.title=n.parseRichText(t.title),i.number=t.number,i.rtitle="";for(var o=0;o=0?t.short_name.charAt(0):"";var o=n.outgoingQueries.indexOf(i.shortName);o>=0&&(n.outgoingQueries.splice(o,1),n.setActiveBuffer(i.id))},p=function(e){var t=e.objects[0].content[0],r=t.pointers[0],i=n.getBuffer(r);i.hidden=!0},v=function(e){var t=e.objects[0].content[0],r=t.pointers[0],i=n.getBuffer(r);i.hidden=!1},b=function(e){var t=e.objects[0].content[0],r=t.pointers[0],i=n.getBuffer(r),o=t.local_variables;void 0!==i&&void 0!==o&&(i.type=o.type,i.indent=["channel","private"].indexOf(o.type)>=0,i.plugin=o.plugin,i.server=o.server,i.serverSortKey=i.plugin+"."+i.server+("server"===i.type?"":"."+i.shortName))},y=function(e){var t=e.objects[0].content[0],r=t.pointers[0];n.getBuffer(r);r.bufferType=t.type},w=function(e,t){var r=e.objects[0].content.reverse();if(void 0===t&&(t=!0),r.forEach(function(e){u(e,t)}),e.objects[0].content.length>0){var i=e.objects[0].content[e.objects[0].content.length-1],o=n.getBuffer(i.buffer);if(o.lines.length>0){var a=new Date(o.lines[o.lines.length-1].date);s(o,!0,a,new Date)}}},C=function(e){if(0!==e.objects.length){var t=e.objects[0].content;t.forEach(function(e){var t=n.getBuffer(e.buffer);t.unread+=e.count[1],t.notification+=e.count[2],t.notification+=e.count[3];var r=_.reduce(e.count,function(e,t){return e+t},0);t.lastSeen=t.lines.length-1-r})}},k=function(e){var t=e.objects[0].content,r="root";t.forEach(function(e){var t=n.getBuffer(e.pointers[0]);if(1===e.group){var i=new n.NickGroup(e);r=i.name,t.nicklist[r]=i}else{var o=new n.Nick(e);t.addNick(r,o)}})},S=function(e){var t,r=e.objects[0].content;r.forEach(function(e){var r=n.getBuffer(e.pointers[0]),i=e._diff;if(1===e.group){if(t=e.name,void 0===t){var o=new n.NickGroup(e);r.nicklist[t]=o,t=o.name}}else{var a=new n.Nick(e);43===i?r.addNick(t,a):45===i?r.delNick(t,a):42===i&&r.updateNick(t,a)}})},x={_buffer_closing:c,_buffer_line_added:d,_buffer_localvar_added:b,_buffer_localvar_removed:b,_buffer_localvar_changed:b,_buffer_opened:m,_buffer_title_changed:h,_buffer_type_changed:y,_buffer_renamed:g,_buffer_hidden:p,_buffer_unhidden:v,_nicklist:k,_nicklist_diff:S};e.$on("onMessage",function(e,n){_.has(x,n.id)?x[n.id](n):t.debug("Unhandled event received: "+n.id)});var B=function(e){_.has(x,e.id)&&x[e.id](e)};return{handleVersionInfo:o,handleConfValue:a,handleEvent:B,handleLineInfo:w,handleHotlistInfo:C,handleNicklist:k,handleBufferInfo:l}}])}(),function(){"use strict";var e=angular.module("weechat");e.factory("connection",["$rootScope","$log","handlers","models","ngWebsockets",function(e,t,n,r,i){var o,a=new weeChat.Protocol,c=[],s=function(r,o,s,u,f,d,m){e.passwordError=!1,c=[r,o,s,u,f];var h=u?"wss":"ws";-1!==r.indexOf(":")&&"["!==r[0]&&"]"!==r[r.length-1]&&(r="["+r+"]");var g=h+"://"+r+":"+o+"/weechat";t.debug("Connecting to URL: ",g);var p=function(){var r=function(e){return i.send(weeChat.Protocol.formatInit({password:e,compression:f?"off":"zlib"})),i.send(weeChat.Protocol.formatInfo({name:"version"}))},o=function(){return i.send(weeChat.Protocol.formatHdata({path:"hotlist:gui_hotlist(*)",keys:[]}))},a=function(){return i.send(weeChat.Protocol.formatHdata({path:"buffer:gui_buffers(*)",keys:["local_variables,notify,number,full_name,short_name,title,hidden,type"]}))},c=function(){return i.send(weeChat.Protocol.formatSync({}))};r(s).then(function(r){n.handleVersionInfo(r),a().then(function(e){n.handleBufferInfo(e)}),o().then(function(e){n.handleHotlistInfo(e),d&&d()}),c(),t.info("Connected to relay"),e.connected=!0},function(){_()})},v=function(){e.waseverconnected=!0},b=function(n){t.info("Disconnected from relay"),e.$emit("relayDisconnect"),e.userdisconnect||!e.waseverconnected?(y(n),e.userdisconnect=!1):l(n),_()},y=function(t){u&&t&&1006===t.code&&"undefined"!=typeof e.lastError&&Date.now()-e.lastError<1e3&&(e.sslError=!0,e.$apply())},_=function(){e.waseverconnected||e.errorMessage||(e.passwordError=!0,e.$apply())},w=function(n){t.error("Relay error",n),e.lastError=Date.now(),"error"===n.type&&1!==this.readyState&&(i.failCallbacks("error"),e.errorMessage=!0)};try{i.connect(g,a,{binaryType:"arraybuffer",onopen:p,onclose:b,onmessage:v,onerror:w})}catch(n){t.debug("Websocket caught DOMException:",n),e.lastError=Date.now(),e.errorMessage=!0,e.securityError=!0,e.$emit("relayDisconnect"),m&&m()}},u=function(n,i){t.info("Attempting to reconnect...");var a=c;s(a[0],a[1],a[2],a[3],a[4],function(){e.reconnecting=!1,r.setActiveBuffer(n),t.info("Sucessfully reconnected to relay")},function(){i>=6e5?(t.info("Failed to reconnect, giving up"),handleClose()):(t.info("Failed to reconnect, scheduling next attempt in",i/1e3,"seconds"),void 0!==o&&clearTimeout(o),o=setTimeout(function(){u(n,1.5*i)},i))})},l=function(n){if(c.length<5)return void t.error("Cannot reconnect, connection information is missing");r.reinitialize(),e.reconnecting=!0,e.$apply();var i=r.getActiveBuffer().id,a=3e3;o=setTimeout(function(){u(i,a)},a)},f=function(){t.info("Disconnecting from relay"),e.userdisconnect=!0,i.send(weeChat.Protocol.formatQuit());setTimeout(function(){i.disconnect(),i.failCallbacks("disconnection"),e.connected=!1,e.$emit("relayDisconnect"),e.$apply()})},d=function(e){i.send(weeChat.Protocol.formatInput({buffer:r.getActiveBufferReference(),data:e}))},m=function(e){i.send(weeChat.Protocol.formatInput({buffer:"core.weechat",data:e}))},h=function(){r.version[0]>=1?(d("/buffer set hotlist -1"),d("/input set_unread_current_buffer")):m("/buffer "+r.getActiveBuffer().fullName)},g=function(e,t){e&&i.send(weeChat.Protocol.formatNicklist({buffer:"0x"+e})).then(function(e){n.handleNicklist(e),void 0!==t&&t()})},p=function(o){t.debug("Fetching ",o," lines");var a=r.getActiveBuffer();return void 0===o&&(o=0),o=Math.max(o,2*a.requestedLines),e.loadingLines=!0,i.send(weeChat.Protocol.formatHdata({path:"buffer:0x"+a.id+"/own_lines/last_line(-"+o+")/data",keys:[]})).then(function(t){var r=a.lines.length,i=a.lastSeen>=0;a.lines.length=0,a.requestedLines=0;var c=t.objects[0].content.length;n.handleLineInfo(t,!0),a.lastSeen-=r,o>c&&(a.allLinesFetched=!0),e.loadingLines=!1;var s=!i&&a.lastSeen>=0;e.scrollWithBuffer(s,!0)})};return{connect:s,disconnect:f,sendMessage:d,sendCoreCommand:m,sendHotlistClear:h,fetchMoreLines:p,requestNicklist:g,attemptReconnect:u}}])}(),function(){"use strict";var e=angular.module("weechat");e.directive("fileChange",["$parse",function(e){return{restrict:"A",link:function(t,n,r){var i=e(r.fileChange),o=function(e){t.$apply(function(){i(t,{$event:e,files:e.target.files})})};n[0].addEventListener("change",o,!1)}}}])}(),function(){"use strict";var e=angular.module("weechat");e.directive("imgurDrop",["connection","imgur","$rootScope",function(e,t,n){return{restrict:"A",link:function(e,r,i){var o=r[0];o.ondragover=function(){return this.classList.add("imgur-drop-hover"),!1},o.ondragend=function(){return this.classList.remove("imgur-drop-hover"),!1},o.ondrop=function(e){this.classList.remove("imgur-drop-hover");var r=e.dataTransfer.files;e.stopPropagation(),e.preventDefault();var i=function(e){void 0!==e&&""!==e&&n.insertAtCaret(String(e))};if("undefined"!=typeof r&&r.length>0)for(var o=0;o0&&" "!==i[i.length-1]&&(i+=" "),o.length>0&&" "!==o[0]&&(o=" ".concat(o)),t.command=i+e+o,setTimeout(function(){n.focus();var e=t.command.length-o.length;n.setSelectionRange(e,e),t.$apply()},0)},t.uploadImage=function(t,n){var r=function(t){void 0!==t&&""!==t&&e.insertAtCaret(String(t))};if("undefined"!=typeof n&&n.length>0)for(var i=0;i=0){var u=t.command.substring(o+1);a.outgoingQueries.push(u)}t.command=""}a.version[0]>=1&&i.sendHotlistClear(),t.getInputNode().focus()},e.addMention=function(e){var n=e[e.length-1].text,r=t.command||"",i=0===r.length;if(r.length>0){var o=r.trim();if(":"===o.charAt(o.length-1)){var c=o.lastIndexOf(" ")+1,s=o.slice(c,o.length-1),u=a.getActiveBuffer().getNicklistByTime();for(var l in u)if(u[l].name===s){r=r.slice(0,r.lastIndexOf(":"))+" ",i=!0;break}}" "!==r.charAt(r.length-1)&&(r+=" ")}r+=n,i&&(r+=": "),t.command=r,t.getInputNode().focus()},e.handleKeyPress=function(n){if(!e.connected)return!0;var r=t.getInputNode(),o=n.keyCode?n.keyCode:n.charCode,c=n.getModifierState?n.getModifierState("AltGraph"):!1;if(c)return!1;e.showQuickKeys=!1;var u=t.iterCandidate;if(t.iterCandidate=null,n.altKey&&!n.ctrlKey&&o>47&&58>o){48===o&&(o=58);var l,f=o-48-1;if((t.$parent.search.length||t.$parent.onlyUnread)&&t.$parent.filteredBuffers.length){var d=t.$parent.filteredBuffers[f];void 0!==d&&(l=[d.number,d.id])}else{var m=_.map(a.getBuffers(),function(e){return[e.number,e.id]}).sort(function(e,t){return e[0]-t[0]});l=m[f]}l&&(t.$parent.setActiveBuffer(l[1]),n.preventDefault())}if(9===o&&!n.altKey&&!n.ctrlKey)return n.preventDefault(),t.iterCandidate=u,t.completeNick(),!0;if(n.altKey&&!n.ctrlKey&&78===o)return n.preventDefault(),e.toggleNicklist(),!0;if(n.altKey&&(97===o||65===o))return n.preventDefault(),e.switchToActivityBuffer(),!0;if(n.altKey&&!n.ctrlKey&&(38===o||40===o)){n.preventDefault();var h=o-39;return e.switchToAdjacentBuffer(h),!0}if(n.altKey&&(76===o||108===o))return n.preventDefault(),r.focus(),r.setSelectionRange(t.command.length,t.command.length),!0;if(n.altKey&&(60===o||226===o)){var g=a.getPreviousBuffer();if(g)return a.setActiveBuffer(g.id),n.preventDefault(),!0}if(27===o){n.preventDefault();for(var p=document.querySelectorAll(".gb-modal"),v=0;v=0;w--)if(y[w].offsetTop-C.scrollTopC.clientHeight/2){y[w].scrollIntoView(!0);break}return!0}if(s.readlineBindings&&n.ctrlKey&&!n.altKey&&!n.shiftKey&&document.activeElement===r){if(b=r.selectionStart,65==o)r.setSelectionRange(0,0);else if(69==o)r.setSelectionRange(t.command.length,t.command.length);else if(85==o)t.command=t.command.slice(b),setTimeout(function(){r.setSelectionRange(0,0)});else if(75==o)t.command=t.command.slice(0,b),setTimeout(function(){r.setSelectionRange(t.command.length,t.command.length)});else{if(87!=o)return!1;var k=t.command.slice(0,b),S=k.lastIndexOf(" ")+1;t.command=t.command.slice(0,S)+t.command.slice(b,t.command.length),setTimeout(function(){r.setSelectionRange(S,S)})}return n.preventDefault(),!0}"keydown"!==n.type||18!==o||n.ctrlKey||n.shiftKey||(e.showQuickKeys=!0)},e.handleKeyRelease=function(t){return 18===t.keyCode?(void 0!==e.quickKeysTimer&&clearTimeout(e.quickKeysTimer),e.quickKeysTimer=setTimeout(function(){e.showQuickKeys&&(e.showQuickKeys=!1,e.$apply()),delete e.quickKeysTimer},1e3),!0):void 0}}]}})}(),function(){"use strict";var e=angular.module("weechat");e.directive("plugin",["$rootScope","settings",function(e,t){return{templateUrl:"directives/plugin.html",scope:{plugin:"=data"},controller:["$scope",function(n){n.displayedContent="",n.plugin.visible=!t.noembed&&!n.plugin.nsfw,n.plugin.className="embed_"+n.plugin.$$hashKey.replace(":","_"),n.plugin.getElement=function(){return document.querySelector("."+n.plugin.className)},n.hideContent=function(){n.plugin.visible=!1},n.showContent=function(t){var r=n.plugin.getElement();n.plugin.content instanceof Function?r&&""!==r.innerHTML||setTimeout(function(){n.plugin.content()}):n.displayedContent=n.plugin.content,n.plugin.visible=!0;var i;if(t){var o=e.bufferBottom;i=function(){e.updateBufferBottom(o)}}else i=function(){r&&void 0!==r.scrollIntoViewIfNeeded&&(r.scrollIntoViewIfNeeded(),e.updateBufferBottom())};setTimeout(i,500)},n.plugin.visible&&n.showContent(!0)}]}}])}(),function(){"use strict";var e=angular.module("ngWebsockets",[]);e.factory("ngWebsockets",["$rootScope","$q",function(e,t){var n=null,r=null,i={},o=0,a=function(e){for(var t in i)i[t].cb.reject(e)},c=function(){return o+=1,o>1e3&&(o=0),o},s=function(e){var t=u(e);return e=n.setId(t.id,e),r.send(e),t.promise},u=function(){var e=t.defer(),n=c();return i[n]={time:new Date,cb:e},e.id=n,e},l=function(e){var n=[];for(var r in e){var i=s(e[r]);n.push(i)}return t.all(n)},f=function(t){var r=n.parse(t.data);if(_.has(i,r.id)){var o=i[r.id];o.cb.resolve(r),delete i[r.id]}else e.$emit("onMessage",r);e.$apply()},d=function(e,t,i){r=new WebSocket(e),n=t;for(var o in i)r[o]=i[o];"onmessage"in i?r.onmessage=function(e){i.onmessage(e),f(e)}:r.onmessage=f},m=function(){r.close()};return{send:s,sendAll:l,connect:d,disconnect:m,failCallbacks:a}}])}(),function(){"use strict";var e=angular.module("weechatModels",[]);e.service("models",["$rootScope","$filter",function(e,t){function n(e,t){if(t in e&&e[t]&&e[t].length>0){var n=e[t];if(n.match(/^weechat/)){var r=n.match(/[a-zA-Z0-9_]+$/)[0];return["cof-"+r,"cob-"+r,"coa-"+r]}if(n.match(/^[a-zA-Z]+$/))return["cwf-"+n];if(n.match(/^[0-9]+$/))return["cef-"+n]}return["cwf-default"]}function r(e){return{name:n(e,"color"),prefix:n(e,"prefix_color")}}this.version=null,this.wconfig={},this.outgoingQueries=[];var i=function(e){var t=weeChat.Protocol.rawText2Rich(e),n={option:"cof-",weechat:"cwf-",ext:"cef-"},r={option:"cob-",weechat:"cwb-",ext:"ceb-"};return t.forEach(function(e){e.classes=[];var t=n[e.fgColor.type];e.classes.push(t+e.fgColor.name),t=r[e.bgColor.type],e.classes.push(t+e.bgColor.name),null!==e.attrs.name&&e.classes.push("coa-"+e.attrs.name);var i,o;for(i in e.attrs.override)o=e.attrs.override[i],o?e.classes.push("a-"+i):e.classes.push("a-no-"+i)}),t};this.parseRichText=i,this.Buffer=function(e){var t=e.full_name,n=e.short_name,r=e.hidden,o=n.replace(/^[#&+]/,"")||(n?" ":null),a=["#","&","+"].indexOf(n.charAt(0))>=0?n.charAt(0):"",c=i(e.title),s=e.number,u=e.pointers[0],l=3,f=[],d=0,m={},h=[],g=0,p=0,v=0,b=-1,y=e.type,w=e.local_variables.type,C=["channel","private"].indexOf(w)>=0,k=e.local_variables.plugin,S=e.local_variables.server,x=k+"."+S+("server"===w?"":"."+n);x=x.toLowerCase(),void 0!==e.notify&&(l=e.notify);for(var B="",T=0;T=h.length&&h.push(e),0>=g||g>=h.length)return e;g--;var t=h[g];return t},j=function(e){return g===h.length?(void 0!==e&&""!==e&&(h.push(e),g++),""):0>g||g>h.length?e:(g++,h.length>0&&g==h.length-1?h.pop():h[g])},L=function(){for(var e in m)if("root"!==e)return!1;return!0},P=function(){return m.hasOwnProperty("root")},O=function(){for(;f.length>0;)f.pop();d=0};return{id:u,fullName:t,shortName:n,hidden:r,trimmedName:o,prefix:a,number:s,title:c,rtitle:B,lines:f,clear:O,requestedLines:d,addLine:A,lastSeen:b,unread:v,notification:p,notify:l,nicklist:m,addNick:N,delNick:M,updateNick:$,getNicklistByTime:I,serverSortKey:x,indent:C,bufferType:y,type:w,plugin:k,server:S,history:h,addToHistory:H,getHistoryUp:D,getHistoryDown:j,isNicklistEmpty:L,nicklistRequested:P}},this.BufferLine=function(e){var n=e.buffer,r=e.date,o=t("date")(r,"HH:mm"),a=i(e.prefix),c=e.tags_array,s=e.displayed,u=e.highlight,l=i(e.message);u&&a.forEach(function(e){e.classes.push("highlight")});for(var f="",d=0;d=1?"0x"+o.id:o.fullName},this.getPreviousBuffer=function(){return a},this.setActiveBuffer=function(t,n){if(void 0===n&&(n="id"),a=this.getActiveBuffer(),o="id"===n?this.model.buffers[t]:_.find(this.model.buffers,function(e){return e[n]===t?e:void 0}),void 0===o)return o=a,!1;a&&(a.active=!1,a.lastSeen=a.lines.length-1);var r=o.unread+o.notification;return o.active=!0,o.unread=0,o.notification=0,e.$emit("activeBufferChanged",r),e.$emit("notificationChanged"),!0},this.getBuffers=function(){return this.model.buffers},this.reinitialize=function(){this.model.buffers={}},this.getBuffer=function(e){return this.model.buffers[e]},this.closeBuffer=function(e){var t=this.getBuffer(e);if(void 0!==t){if(t.active){var n=_.keys(this.model.buffers)[0];this.setActiveBuffer(n)}delete this.model.buffers[e]}}}])}(),function(){"use strict";var e=angular.module("plugins",[]),t=function(e,t){return{contentForMessage:t,exclusive:!1,name:e}},n=/(?:(?:https?|ftp):\/\/|www\.|ftp\.)\S*[^\s.;,(){}<>]/g,r=function(e,t){return{contentForMessage:function(e){for(var r=e.match(n),i=[],o=0;r&&o=0;s--){var u=1==c.length?void 0:s+1;i(c[s],e[o].name,u)}else i(c,e[o].name);if(e[o].exclusive)break}}return n};return{registerPlugins:n,contentForMessage:i}};this.PluginManager=new n,this.PluginManager.registerPlugins(e.plugins)}]),e.factory("userPlugins",function(){var e=function(e,t){var n="jsonp_callback_"+Math.round(1e5*Math.random());window[n]=function(e){delete window[n],document.body.removeChild(r),t(e)};var r=document.createElement("script");r.src=e+(e.indexOf("?")>=0?"&":"?")+"callback="+n,document.body.appendChild(r)},n=new t("Spotify track",function(e){var t=[],n=function(e){for(var n=0;e&&n").attr("src","//embed.spotify.com/?uri=spotify:track:"+r).attr("width","300").attr("height","80").attr("frameborder","0").attr("allowtransparency","true");t.push(i.prop("outerHTML"))}};return n(e.match(/spotify:track:([a-zA-Z-0-9]{22})/g)),n(e.match(/open.spotify.com\/track\/([a-zA-Z-0-9]{22})/g)),t}),i=new r("YouTube video",function(e){var t=/(?:youtube.com|youtu.be)\/(?:v\/|embed\/|watch(?:\?v=|\/))?([a-zA-Z0-9-]+)/i,n=e.match(t);if(n){var r=n[1],i="https://www.youtube.com/embed/"+r+"?html5=1&iv_load_policy=3&modestbranding=1&rel=0&showinfo=0",o=angular.element("").attr("src",i).attr("width","560").attr("height","315").attr("frameborder","0").attr("allowfullscreen","true");return o.prop("outerHTML")}}),o=new t("Dailymotion video",function(e){var t=/dailymotion.com\/.*video\/([^_?# ]+)/,n=/dailymotion.com\/.*#video=([^_& ]+)/,r=/dai.ly\/([^_?# ]+)/,i=e.match(t)||e.match(n)||e.match(r);if(i){var o=i[1],a="https://www.dailymotion.com/embed/video/"+o+"?html&controls=html&startscreen=html&info=0&logo=0&related=0",c=angular.element("").attr("src",a).attr("width","480").attr("height","270").attr("frameborder","0");return c.prop("outerHTML")}return null}),a=new t("AlloCine video",function(e){var t=/allocine.fr\/videokast\/video-(\d+)/,n=/allocine.fr\/.*cmedia=(\d+)/,r=e.match(t)||e.match(n);if(r){var i=r[1],o="http://www.allocine.fr/_video/iblogvision.aspx?cmedia="+i,a=angular.element("").attr("src",o).attr("width","480").attr("height","270").attr("frameborder","0");return a.prop("outerHTML")}return null}),c=new r("image",function(e){if(e.match(/\.(png|gif|jpg|jpeg)(:(small|medium|large))?\b/i)){if(-1!=e.indexOf("^https?://fukung.net/v/"))e=e.replace(/.*\//,"http://media.fukung.net/imgs/");else if(e.match(/^http:\/\/(i\.)?imgur\.com\//i))e=e.replace(/http:/,"");else if(e.match(/^https:\/\/www\.dropbox\.com\/s\/[a-z0-9]+\//i)){var t=document.createElement("a");t.href=e;for(var n=t.protocol+"//"+t.host+t.pathname+"?",r=t.search.substring(1).split("&"),i=!1,o=0;o").attr("target","_blank").attr("href",e).append(angular.element("").addClass("embed").attr("src",e));t.innerHTML=n.prop("outerHTML")}}}),s=new r("audio",function(e){return e.match(/\.(mp3|ogg|wav)\b/i)?function(){var t=this.getElement(),n=angular.element("").addClass("embed").attr("width","560").append(angular.element("").attr("src",e));t.innerHTML=n.prop("outerHTML")}:void 0}),u=new r("video",function(e){return e.match(/\.(mp4|webm|ogv|gifv)\b/i)?(e.match(/^http:\/\/(i\.)?imgur\.com\//i)&&(e=e.replace(/\.(gifv)\b/i,".webm")),function(){var t=this.getElement(),n=angular.element("").addClass("embed").attr("width","560").append(angular.element("").attr("src",e));t.innerHTML=n.prop("outerHTML")}):void 0}),l=new r("cloud music",function(e){var t;return e.match(/^https?:\/\/soundcloud.com\//)?(t=angular.element("").attr("width","100%").attr("height","120").attr("scrolling","no").attr("frameborder","no").attr("src","https://w.soundcloud.com/player/?url="+e+"&color=ff6600&auto_play=false&show_artwork=true"),t.prop("outerHTML")):e.match(/^https?:\/\/([a-z]+\.)?mixcloud.com\//)?(t=angular.element("").attr("width","480").attr("height","60").attr("frameborder","0").attr("src","//www.mixcloud.com/widget/iframe/?feed="+e+"&mini=1&stylecolor=&hide_artwork=&embed_type=widget_standard&hide_tracklist=1&hide_cover="),t.prop("outerHTML")):void 0}),f=new r("Google Map",function(e){if(e.match(/^https?:\/\/maps\.google\./i)||e.match(/^https?:\/\/(?:[\w]+\.)?google\.[\w]+\/maps/i)){var t=angular.element("").attr("width","450").attr("height","350").attr("frameborder","0").attr("scrolling","no").attr("marginheight","0").attr("src",e+"&output=embed");return t.prop("outerHTML")}}),d=new r("ascii cast",function(e){var t=/^https?:\/\/(?:www\.)?asciinema.org\/a\/(\d+)/i,n=e.match(t);if(n){var r=n[1];return function(){var e=this.getElement(),t=document.createElement("script");t.src="https://asciinema.org/a/"+r+".js",t.id="asciicast-"+r,t.async=!0,e.appendChild(t)}}}),m=new r("meteogram",function(e){var t=/^https?:\/\/(?:www\.)?yr\.no\/(place|stad|sted|sadji|paikka)\/(([^\s.;,(){}<>\/]+\/){3,})/,n=e.match(t);return n?function(){var t=this.getElement(),r=n[1],i=n[2],o=n[n.length-1].slice(0,-1);e="http://www.yr.no/"+r+"/"+i+"avansert_meteogram.png";var a=angular.element("").attr("src",e).attr("alt","Meteogram for "+o);t.innerHTML=a.prop("outerHTML")}:void 0}),h=new r("Gist",function(t){var n=/^https:\/\/gist\.github.com\/[^.?]+/i,r=t.match(n);return r?(t=r[0]+".json",function(){var n=this.getElement();e(t,function(e){if(document.querySelectorAll('link[rel=stylesheet][href="'+e.stylesheet+'"]').length<1){var t='';document.getElementsByTagName("head")[0].innerHTML+=t}n.innerHTML='
'+e.div+"
"})}):void 0}),g=new r("Giphy",function(e){var t=/^https?:\/\/giphy.com\/gifs\/.*-(.*)\/?/i,n=e.match(t);if(n){var r="https://media.giphy.com/media/"+n[1]+"/giphy.gif";return function(){var t=this.getElement(),n=angular.element("").attr("target","_blank").attr("href",e).append(angular.element("").addClass("embed").attr("src",r));t.innerHTML=n.prop("outerHTML")}}}),p=new r("Tweet",function(t){var n=/^https?:\/\/twitter\.com\/(?:#!\/)?(\w+)\/status(?:es)?\/(\d+)/i,r=t.match(n);return r?(t="https://api.twitter.com/1/statuses/oembed.json?id="+r[2],function(){var n=this.getElement();e(t,function(e){var t=e.html.indexOf("'}});return{plugins:[i,o,a,c,u,s,n,l,f,d,m,h,g,p,v]}})}(),function(){"use strict";var e=angular.module("weechat");e.factory("imgur",["$rootScope",function(e){var t=function(e,t){if(e&&e.type.match(/image.*/)){var r=new FileReader;r.onload=function(e){var r=e.target.result.split(",")[1];n(r,t)},r.readAsDataURL(e)}},n=function(e,t){var n="164efef8979cd4b",i=document.getElementById("imgur-upload-progress"),o=document.createElement("div"); o.className="imgur-progress-bar",o.style.width="0",i.appendChild(o);var a=new FormData;a.append("image",e),a.append("type","base64");var c=new XMLHttpRequest;c.open("POST","https://api.imgur.com/3/image",!0),c.setRequestHeader("Authorization","Client-ID "+n),c.setRequestHeader("Accept","application/json"),c.onload=function(){if(o.parentNode.removeChild(o),200===c.status){var e=JSON.parse(c.responseText);e.data&&e.data.link?t&&"function"==typeof t&&t(e.data.link):r()}else r()},"upload"in c&&(c.upload.onprogress=function(e){if(e.lengthComputable){var t=e.loaded/e.total*100|0;o.style.width=t+"%"}}),c.send(a)},r=function(){e.uploadError=!0,e.$apply(),setTimeout(function(){e.uploadError=!1,e.$apply()},5e3)};return{process:t}}])}(); //# sourceMappingURL=min.map \ No newline at end of file diff --git a/min.map b/min.map index f811189..899e3a8 100644 --- a/min.map +++ b/min.map @@ -1 +1 @@ -{"version":3,"sources":["js/localstorage.js","js/weechat.js","js/irc-utils.js","js/glowingbear.js","js/settings.js","js/utils.js","js/notifications.js","js/filters.js","js/handlers.js","js/connection.js","js/file-change.js","js/imgur-drop-directive.js","js/whenscrolled-directive.js","js/inputbar.js","js/plugin-directive.js","js/websockets.js","js/models.js","js/plugins.js","js/imgur.js"],"names":["ls","angular","module","factory","$parse","storage","window","localStorage","undefined","supported","JSON","console","log","privateMethods","parseValue","res","val","parse","parseFloat","isObject","e","publicMethods","set","key","value","saver","stringify","setItem","get","item","getItem","remove","removeItem","enumerateKeys","keys","i","len","length","push","bind","$scope","def","assign","$watch","exports","WeeChatProtocol","this","_types","chr","_getChar","int","_getInt","str","_getString","inf","_getInfo","hda","_getHdata","ptr","_getPointer","lon","_getStrNumber","tim","_getTime","buf","arr","_getArray","htb","_getHashTable","inl","_getInfolist","_typesStr","_strDirect","_strToString","_weeChatColorsNames","_colorsOptionsNames","_getDefaultColor","type","name","_getDefaultAttributes","override","bold","reverse","italic","underline","_getDefaultStyle","fgColor","bgColor","attrs","_cloneColor","color","clone","_cloneAttrs","attr","_attrNameFromChar","ch","chars","*","!","/","_","\u0001","\u0002","\u0003","\u0004","_attrsFromStr","charAt","attrName","_getColorObj","code","parseInt","codeStr","substring","toString","_getStyle","txt","matchers","regex","fn","m","ret","optionCode","optionName","text","some","matcher","match","rawText2Rich","rawText","parts","split","curFgColor","curBgColor","curAttrs","curSpecialToken","curAttrsOnlyFalseOverrides","map","p","firstCharCode","charCodeAt","firstChar","style","orideVal","orideName","allReset","filter","_uia2s","uia","encodedString","String","fromCharCode","apply","decodedString","decodeURIComponent","escape","exception","s","n","_mergeParams","defaults","v","_formatCmd","id","cmdIdName","cmd","unshift","join","replace","formatInit","params","defaultParams","password","compression","formatHdata","path","formatInfo","formatInfolist","pointer","args","formatNicklist","buffer","formatInput","data","_formatSyncDesync","cmdName","buffers","options","formatSync","formatDesync","formatTest","formatQuit","formatPing","prototype","_warnUnimplemented","_getType","t","_getSlice","Uint8Array","_runType","cb","boundCb","_getByte","obj","_objToString","info","runType","tmp","pointers","paths","self","forEach","objs","count","hpath","Date","parsedData","l","_getHeader","comp","_getId","_getObject","content","typeKeys","typeValues","dict","keyStr","values","itemcount","litem","j","dataAt","_data","byteLength","slice","_dataAt","_setData","setId","command","optionsValues","header","raw","inflate","Zlib","Inflate","plain","decompress","objects","object","msg","Protocol","weeChat","IrcUtils","service","escapeRegExp","_ciNickList","nickList","newList","sortBy","nickObj","spokeAt","pluck","_completeSingleNick","candidate","foundNick","nick","toLowerCase","search","_nextNick","iterCandidate","currentNick","matchingNicks","at","lcIterCandidate","lcCurrentNick","lcNick","completeNick","caretPos","suf","doIterate","searchNickList","beforeCaret","afterCaret","RegExp","newNick","weechat","$compileProvider","compileProvider","config","debugInfoEnabled","controller","$rootScope","$store","$timeout","$log","models","connection","notifications","utils","settings","openBuffer","channel","$apply","themes","setDefaults","theme","host","port","ssl","location","protocol","savepassword","autoconnect","nonicklist","isMobileUi","noembed","onlyUnread","hotlistsync","orderbyserver","useFavico","showtimestamp","showtimestampSeconds","soundnotification","fontsize","fontfamily","readlineBindings","enableJSEmoji","enableMathjax","customCSS","countWatchers","debug","$$watchersCount","isinstalled","navigator","mozApps","getSelf","onsuccess","evt","app","target","result","document","hidden","documentHidden","documentVisibilityChange","webkitHidden","mozHidden","msHidden","f","segs","indexOf","debugMode","reloadWithDebugInfo","isWindowFocused","isHidden","addEventListener","getActiveBuffer","unread","notification","$emit","$on","event","unreadSum","ab","minRetainUnread","lines","surplusLines","lines_per_screen","linesToRemove","Math","min","splice","requestedLines","lastSeen","allLinesFetched","bufferlines","nicklist","nicklistRequested","showNicklist","updateShowNicklist","requestNicklist","scrollWithBuffer","numLines","fetchMoreLines","then","bl","getElementById","lastScrollHeight","scrollHeight","scrollHeightObserver","newScrollHeight","updateBufferBottom","bufferBottom","setTimeout","onscroll","debounce","updateTitle","unreadCount","focus","fullName","sendHotlistClear","favico","Favico","animation","updateFavico","pageTitle","notificationStatus","cancelAll","reinitialize","connectbutton","connectbuttonicon","getBuffers","activeBuffer","connected","waseverconnected","userdisconnect","reconnecting","addCallback","newvalue","wasMobileUi","isSidebarVisible","getAttribute","showSidebar","setAttribute","each","getElementsByTagName","elem","blur","hideSidebar","sslError","securityError","errorMessage","connect","toggleSidebar","openNick","closeNick","predicate","reset","enabled","mathjax_init","script","head","createElement","opera","appendChild","src","oldThemeCSS","parentNode","removeChild","rel","href","media","css","old_css","new_css","createTextNode","heads","changeClassStyle","setActiveBuffer","bufferId","version","bufferName","lastIndexOf","sendMessage","calculateNumLines","bufferlineElements","querySelectorAll","lineHeight","idx","clientHeight","areaHeight","querySelector","ceil","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","rescroll","loadingLines","infiniteScroll","bottom","eob","scrollIntoView","offsetTop","scrollTop","scrollToReadmarker","moreLines","sVal","scroll","sTop","abs","readmarker","parentElement","requestNotificationPermission","disconnect","reconnect","attemptReconnect","install","base_url","pathname","request","appRecord","launch","alert","onerror","error","showModal","elementId","closeModal","$event","closest","selector","matchesSelector","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","call","toggleAccordion","stopPropagation","preventDefault","siblings","children","childId","child","nodeType","hasUnread","isNicklistEmpty","switchToActivityBuffer","sortedBuffers","toggleNicklist","switchToAdjacentBuffer","direction","index","newBuffer","handleSearchBoxKey","keyCode","charCode","filteredBuffers","supports_formatting_date","toLocaleDateString","onbeforeunload","returnValue","init","hash","rawStr","atob","spl","$routeProvider","when","templateUrl","that","callbacks","cache","defineProperty","Object","enumerable","newVal","keyIdx","callback","callNow","classSelector","getElementsByClassName","getClassStyle","mobile_cutoff","body","clientWidth","serviceworker","Notification","requestPermission","status","permission","webkitNotifications","havePermission","checkPermission","serviceWorker","register","reg","catch","err","showNotification","title","ready","registration","icon","vibrate","tag","Windows","UI","Notifications","winNotifications","toastNotifier","ToastNotificationManager","createToastNotifier","template","ToastTemplateType","toastText02","toastXml","getTemplateContent","toastTextElements","toast","ToastNotification","onactivated","show","timeout","onshow","close","onclick","onclose","model","shortName","rtitle","badge","textColor","createHighlight","message","numNotifications","prefix","server","audioFile","soundHTML","innerHTML","pop","storeIdx","defineProperties","$key","$idx","configurable","channelRegex","substitute","hexColourRegex","rgbColourRegex","$filter","$sce","filtersThatCreateAnchors","createsAnchor","escape_html","entities","<",">","\"","'","&","char","extraArgument","arguments","thirdArgument","filterFunction","el","process","node","input","nodeValue","newNode","parent","sibling","nextSibling","insertBefore","firstChild","nextNode","tagName","trustAsHtml","$quickKey","number","sort","left","right","enable_JS_Emoji","emojione","emojiRegex","test","unicodeToImage","math","MathJax","Hub","Queue","isNaN","plugins","handleVersionInfo","c","handleConfValue","infolist","confitem","full_name","wconfig","handleBufferClosing","bufferMessage","closeBuffer","injectDateChangeMessageIfNeeded","manually","old_date","new_date","bufferType","setHours","valueOf","old_date_plus_one","setDate","getDate","language","weekday","dow_to_word","getDay","extra_date_format","day","month","getYear","year","month_to_word","getMonth","getFullYear","date_diff","round","line","date","tags_array","displayed","highlight","new_message","BufferLine","addLine","handleLine","getBuffer","PluginManager","contentForMessage","active","notify","contains","tags","handleBufferInfo","bufferInfos","handleBufferUpdate","Buffer","addBuffer","short_name","trimmedName","local_variables","indent","handleBufferLineAdded","handleBufferOpened","handleBufferTitleChanged","old","parseRichText","handleBufferRenamed","position","outgoingQueries","handleBufferHidden","handleBufferUnhidden","handleBufferLocalvarChanged","localvars","plugin","serverSortKey","handleBufferTypeChanged","handleLineInfo","last_line","last_date","handleHotlistInfo","hotlist","reduce","memo","num","handleNicklist","group","g","NickGroup","Nick","addNick","handleNicklistDiff","d","_diff","delNick","updateNick","eventHandlers","_buffer_closing","_buffer_line_added","_buffer_localvar_added","_buffer_localvar_removed","_buffer_localvar_changed","_buffer_opened","_buffer_title_changed","_buffer_type_changed","_buffer_renamed","_buffer_hidden","_buffer_unhidden","_nicklist","_nicklist_diff","has","handleEvent","handlers","ngWebsockets","reconnectTimer","connectionData","passwd","noCompression","successCallback","failCallback","passwordError","proto","url","onopen","_initializeConnection","send","_requestHotlist","_requestBufferInfos","_requestSync","bufinfo","handleWrongPassword","onmessage","handleClose","lastError","now","readyState","failCallbacks","binaryType","clearTimeout","getActiveBufferReference","sendCoreCommand","max","lineinfo","oldLength","hadAllUnreadLines","linesReceivedCount","directive","restrict","link","element","attrHandler","fileChange","handler","files","imgur","ondragover","classList","add","ondragend","ondrop","dataTransfer","sendImageUrl","imageUrl","insertAtCaret","scope","elm","fun","whenScrolled","inputId","$element","inputChanged","shortnameToUnicode","getInputNode","inputNode","selectionStart","nickComp","getNicklistByTime","setSelectionRange","toInsert","suffix","concat","pos","uploadImage","addToHistory","confirm","clear","opencommands","spacepos","firstword","substr","queryName","addMention","newValue","addColon","trimmedValue","trim","lastSpace","lastWord","handleKeyPress","altg","getModifierState","showQuickKeys","tmpIterCandidate","altKey","ctrlKey","activeBufferId","bufferNumber","$parent","filteredBufferNum","previousBuffer","getPreviousBuffer","modals","modalId","lastEscape","activeElement","getHistoryUp","getHistoryDown","shiftKey","handleKeyRelease","quickKeysTimer","displayedContent","visible","nsfw","className","$$hashKey","getElement","hideContent","showContent","automated","embed","Function","wasBottom","scrollIntoViewIfNeeded","websockets","$q","ws","currentCallBackId","reason","reject","getCurrentCallBackId","createCallback","promise","defer","cbId","time","sendAll","messages","promises","all","resolve","protocol_","properties","WebSocket","property","nickGetColorClasses","nickMsg","propName","colorName","nickGetClasses","textElements","typeToClassPrefixFg","option","ext","typeToClassPrefixBg","textEl","classes","history","historyPos","updateNickSpeak","nicks","nickGroup","newlist","a","b","currentLine","hasOwnProperty","shortTime","rtext","colorClasses","prefixClasses","nameClasses","find","firstBuffer","Plugin","exclusive","urlRegexp","UrlPlugin","urlCallback","urls","userPlugins","PluginManagerObject","registerPlugins","nsfwRegexp","metadata","addPluginContent","pluginName","pluginContent","Array","jsonp","callbackName","random","spotifyPlugin","addMatch","prop","youtubePlugin","token","embedurl","dailymotionPlugin","rPath","rAnchor","rShorten","allocinePlugin","rVideokast","rCmedia","imagePlugin","dbox_url","dbox_params","dl_added","imgElem","append","addClass","audioPlugin","aelement","videoPlugin","velement","cloudmusicPlugin","googlemapPlugin","asciinemaPlugin","regexp","scriptElem","async","yrPlugin","city","ielement","gistPlugin","stylesheet","div","giphyPlugin","gelement","tweetPlugin","scriptIndex","html","vinePlugin","image","reader","FileReader","onload","upload","readAsDataURL","base64img","clientId","progressBars","currentProgressBar","width","fd","FormData","xhttp","XMLHttpRequest","open","setRequestHeader","response","responseText","showErrorMsg","onprogress","lengthComputable","complete","loaded","total","uploadError"],"mappings":"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","file":"min.js"} \ No newline at end of file +{"version":3,"sources":["js/localstorage.js","js/weechat.js","js/irc-utils.js","js/glowingbear.js","js/settings.js","js/utils.js","js/notifications.js","js/filters.js","js/handlers.js","js/connection.js","js/file-change.js","js/imgur-drop-directive.js","js/whenscrolled-directive.js","js/inputbar.js","js/plugin-directive.js","js/websockets.js","js/models.js","js/plugins.js","js/imgur.js"],"names":["ls","angular","module","factory","$parse","storage","window","localStorage","undefined","supported","JSON","console","log","privateMethods","parseValue","res","val","parse","parseFloat","isObject","e","publicMethods","set","key","value","saver","stringify","setItem","get","item","getItem","remove","removeItem","enumerateKeys","keys","i","len","length","push","bind","$scope","def","assign","$watch","exports","WeeChatProtocol","this","_types","chr","_getChar","int","_getInt","str","_getString","inf","_getInfo","hda","_getHdata","ptr","_getPointer","lon","_getStrNumber","tim","_getTime","buf","arr","_getArray","htb","_getHashTable","inl","_getInfolist","_typesStr","_strDirect","_strToString","_weeChatColorsNames","_colorsOptionsNames","_getDefaultColor","type","name","_getDefaultAttributes","override","bold","reverse","italic","underline","_getDefaultStyle","fgColor","bgColor","attrs","_cloneColor","color","clone","_cloneAttrs","attr","_attrNameFromChar","ch","chars","*","!","/","_","\u0001","\u0002","\u0003","\u0004","_attrsFromStr","charAt","attrName","_getColorObj","code","parseInt","codeStr","substring","toString","_getStyle","txt","matchers","regex","fn","m","ret","optionCode","optionName","text","some","matcher","match","rawText2Rich","rawText","parts","split","curFgColor","curBgColor","curAttrs","curSpecialToken","curAttrsOnlyFalseOverrides","map","p","firstCharCode","charCodeAt","firstChar","style","orideVal","orideName","allReset","filter","_uia2s","uia","encodedString","String","fromCharCode","apply","decodedString","decodeURIComponent","escape","exception","s","n","_mergeParams","defaults","v","_formatCmd","id","cmdIdName","cmd","unshift","join","replace","formatInit","params","defaultParams","password","compression","formatHdata","path","formatInfo","formatInfolist","pointer","args","formatNicklist","buffer","formatInput","data","_formatSyncDesync","cmdName","buffers","options","formatSync","formatDesync","formatTest","formatQuit","formatPing","prototype","_warnUnimplemented","_getType","t","_getSlice","Uint8Array","_runType","cb","boundCb","_getByte","obj","_objToString","info","runType","tmp","pointers","paths","self","forEach","objs","count","hpath","Date","parsedData","l","_getHeader","comp","_getId","_getObject","content","typeKeys","typeValues","dict","keyStr","values","itemcount","litem","j","dataAt","_data","byteLength","slice","_dataAt","_setData","setId","command","optionsValues","header","raw","inflate","Zlib","Inflate","plain","decompress","objects","object","msg","Protocol","weeChat","IrcUtils","service","escapeRegExp","_ciNickList","nickList","newList","sortBy","nickObj","spokeAt","pluck","_completeSingleNick","candidate","foundNick","nick","toLowerCase","search","_nextNick","iterCandidate","currentNick","matchingNicks","at","lcIterCandidate","lcCurrentNick","lcNick","completeNick","caretPos","suf","doIterate","searchNickList","beforeCaret","afterCaret","RegExp","newNick","weechat","$compileProvider","compileProvider","config","debugInfoEnabled","controller","$rootScope","$store","$timeout","$log","models","connection","notifications","utils","settings","openBuffer","channel","$apply","themes","setDefaults","theme","host","port","ssl","location","protocol","savepassword","autoconnect","nonicklist","isMobileUi","noembed","onlyUnread","hotlistsync","orderbyserver","useFavico","showtimestamp","showtimestampSeconds","soundnotification","fontsize","fontfamily","readlineBindings","enableJSEmoji","enableMathjax","customCSS","hideTLSinfo","countWatchers","debug","$$watchersCount","isinstalled","navigator","mozApps","getSelf","onsuccess","evt","app","target","result","document","hidden","documentHidden","documentVisibilityChange","webkitHidden","mozHidden","msHidden","f","segs","indexOf","debugMode","reloadWithDebugInfo","isWindowFocused","isHidden","addEventListener","getActiveBuffer","unread","notification","$emit","$on","event","unreadSum","ab","minRetainUnread","lines","surplusLines","lines_per_screen","linesToRemove","Math","min","splice","requestedLines","lastSeen","allLinesFetched","bufferlines","nicklist","nicklistRequested","showNicklist","updateShowNicklist","requestNicklist","scrollWithBuffer","numLines","fetchMoreLines","then","bl","getElementById","lastScrollHeight","scrollHeight","scrollHeightObserver","newScrollHeight","updateBufferBottom","bufferBottom","setTimeout","onscroll","debounce","updateTitle","unreadCount","focus","fullName","sendHotlistClear","favico","Favico","animation","updateFavico","pageTitle","notificationStatus","cancelAll","reinitialize","connectbutton","connectbuttonicon","getBuffers","activeBuffer","connected","waseverconnected","userdisconnect","reconnecting","addCallback","newvalue","wasMobileUi","isSidebarVisible","getAttribute","showSidebar","setAttribute","each","getElementsByTagName","elem","blur","hideSidebar","sslError","securityError","errorMessage","connect","toggleSidebar","openNick","closeNick","predicate","reset","enabled","mathjax_init","script","head","createElement","opera","appendChild","src","oldThemeCSS","parentNode","removeChild","rel","href","media","css","old_css","new_css","createTextNode","heads","changeClassStyle","setActiveBuffer","bufferId","version","bufferName","lastIndexOf","sendMessage","calculateNumLines","bufferlineElements","querySelectorAll","lineHeight","idx","clientHeight","areaHeight","querySelector","ceil","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","rescroll","loadingLines","infiniteScroll","bottom","eob","scrollIntoView","offsetTop","scrollTop","scrollToReadmarker","moreLines","sVal","scroll","sTop","abs","readmarker","parentElement","requestNotificationPermission","disconnect","reconnect","attemptReconnect","install","base_url","pathname","request","appRecord","launch","alert","onerror","error","showModal","elementId","closeModal","$event","closest","selector","matchesSelector","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","call","toggleAccordion","stopPropagation","preventDefault","siblings","children","childId","child","nodeType","hasUnread","isNicklistEmpty","switchToActivityBuffer","sortedBuffers","toggleNicklist","switchToAdjacentBuffer","direction","index","newBuffer","handleSearchBoxKey","keyCode","charCode","filteredBuffers","supports_formatting_date","toLocaleDateString","onbeforeunload","returnValue","init","hash","rawStr","atob","spl","$routeProvider","when","templateUrl","that","callbacks","cache","defineProperty","Object","enumerable","newVal","keyIdx","callback","callNow","classSelector","getElementsByClassName","getClassStyle","mobile_cutoff","body","clientWidth","serviceworker","Notification","requestPermission","status","permission","webkitNotifications","havePermission","checkPermission","serviceWorker","register","reg","catch","err","showNotification","title","ready","registration","icon","vibrate","tag","Windows","UI","Notifications","winNotifications","toastNotifier","ToastNotificationManager","createToastNotifier","template","ToastTemplateType","toastText02","toastXml","getTemplateContent","toastTextElements","toast","ToastNotification","onactivated","show","timeout","onshow","close","onclick","onclose","model","shortName","rtitle","badge","textColor","createHighlight","message","numNotifications","prefix","server","audioFile","soundHTML","innerHTML","pop","storeIdx","defineProperties","$key","$idx","configurable","channelRegex","substitute","hexColourRegex","rgbColourRegex","$filter","$sce","filtersThatCreateAnchors","createsAnchor","escape_html","entities","<",">","\"","'","&","char","extraArgument","arguments","thirdArgument","filterFunction","el","process","node","input","nodeValue","newNode","parent","sibling","nextSibling","insertBefore","firstChild","nextNode","tagName","trustAsHtml","$quickKey","number","sort","left","right","enable_JS_Emoji","emojione","emojiRegex","test","unicodeToImage","math","MathJax","Hub","Queue","isNaN","plugins","handleVersionInfo","c","handleConfValue","infolist","confitem","full_name","wconfig","handleBufferClosing","bufferMessage","closeBuffer","injectDateChangeMessageIfNeeded","manually","old_date","new_date","bufferType","setHours","valueOf","old_date_plus_one","setDate","getDate","language","weekday","dow_to_word","getDay","extra_date_format","day","month","getYear","year","month_to_word","getMonth","getFullYear","date_diff","round","line","date","tags_array","displayed","highlight","new_message","BufferLine","addLine","handleLine","getBuffer","PluginManager","contentForMessage","active","notify","contains","tags","handleBufferInfo","bufferInfos","handleBufferUpdate","Buffer","addBuffer","short_name","trimmedName","local_variables","indent","handleBufferLineAdded","handleBufferOpened","handleBufferTitleChanged","old","parseRichText","handleBufferRenamed","position","outgoingQueries","handleBufferHidden","handleBufferUnhidden","handleBufferLocalvarChanged","localvars","plugin","serverSortKey","handleBufferTypeChanged","handleLineInfo","last_line","last_date","handleHotlistInfo","hotlist","reduce","memo","num","handleNicklist","group","g","NickGroup","Nick","addNick","handleNicklistDiff","d","_diff","delNick","updateNick","eventHandlers","_buffer_closing","_buffer_line_added","_buffer_localvar_added","_buffer_localvar_removed","_buffer_localvar_changed","_buffer_opened","_buffer_title_changed","_buffer_type_changed","_buffer_renamed","_buffer_hidden","_buffer_unhidden","_nicklist","_nicklist_diff","has","handleEvent","handlers","ngWebsockets","reconnectTimer","connectionData","passwd","noCompression","successCallback","failCallback","passwordError","proto","url","onopen","_initializeConnection","send","_requestHotlist","_requestBufferInfos","_requestSync","bufinfo","handleWrongPassword","onmessage","handleClose","lastError","now","readyState","failCallbacks","binaryType","clearTimeout","getActiveBufferReference","sendCoreCommand","max","lineinfo","oldLength","hadAllUnreadLines","linesReceivedCount","directive","restrict","link","element","attrHandler","fileChange","handler","files","imgur","ondragover","classList","add","ondragend","ondrop","dataTransfer","sendImageUrl","imageUrl","insertAtCaret","scope","elm","fun","whenScrolled","inputId","$element","inputChanged","shortnameToUnicode","getInputNode","inputNode","selectionStart","nickComp","getNicklistByTime","setSelectionRange","toInsert","suffix","concat","pos","uploadImage","addToHistory","confirm","clear","opencommands","spacepos","firstword","substr","queryName","addMention","newValue","addColon","trimmedValue","trim","lastSpace","lastWord","handleKeyPress","altg","getModifierState","showQuickKeys","tmpIterCandidate","altKey","ctrlKey","activeBufferId","bufferNumber","$parent","filteredBufferNum","previousBuffer","getPreviousBuffer","modals","modalId","lastEscape","activeElement","getHistoryUp","getHistoryDown","shiftKey","handleKeyRelease","quickKeysTimer","displayedContent","visible","nsfw","className","$$hashKey","getElement","hideContent","showContent","automated","embed","Function","wasBottom","scrollIntoViewIfNeeded","websockets","$q","ws","currentCallBackId","reason","reject","getCurrentCallBackId","createCallback","promise","defer","cbId","time","sendAll","messages","promises","all","resolve","protocol_","properties","WebSocket","property","nickGetColorClasses","nickMsg","propName","colorName","nickGetClasses","textElements","typeToClassPrefixFg","option","ext","typeToClassPrefixBg","textEl","classes","history","historyPos","updateNickSpeak","nicks","nickGroup","newlist","a","b","currentLine","hasOwnProperty","shortTime","rtext","colorClasses","prefixClasses","nameClasses","find","firstBuffer","Plugin","exclusive","urlRegexp","UrlPlugin","urlCallback","urls","userPlugins","PluginManagerObject","registerPlugins","nsfwRegexp","metadata","addPluginContent","pluginName","pluginContent","Array","jsonp","callbackName","random","spotifyPlugin","addMatch","prop","youtubePlugin","token","embedurl","dailymotionPlugin","rPath","rAnchor","rShorten","allocinePlugin","rVideokast","rCmedia","imagePlugin","dbox_url","dbox_params","dl_added","imgElem","append","addClass","audioPlugin","aelement","videoPlugin","velement","cloudmusicPlugin","googlemapPlugin","asciinemaPlugin","regexp","scriptElem","async","yrPlugin","city","ielement","gistPlugin","stylesheet","div","giphyPlugin","gelement","tweetPlugin","scriptIndex","html","vinePlugin","image","reader","FileReader","onload","upload","readAsDataURL","base64img","clientId","progressBars","currentProgressBar","width","fd","FormData","xhttp","XMLHttpRequest","open","setRequestHeader","response","responseText","showErrorMsg","onprogress","lengthComputable","complete","loaded","total","uploadError"],"mappings":"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","file":"min.js"} \ No newline at end of file