/** @license * eventsource.js * Available under MIT License (MIT) * https://github.com/Yaffle/EventSource/ */ /* WARNING: This code is slightly modified for AnsPress, do not update it directly */ (function(e){"use strict";function t(){this.data={}}function n(){this.listeners=new t}function r(e){setTimeout(function(){throw e},0)}function i(e){this.type=e;this.target=null}function s(e,t){i.call(this,e);this.data=t.data;this.lastEventId=t.lastEventId}function x(e,t){var n=Number(e)||t;return nS?S:n}function T(e,t,n){try{if(typeof t==="function"){t.call(e,n)}}catch(i){r(i)}}function N(t,r){function R(){D=d;if(A!==null){A.abort();A=null}if(O!==0){clearTimeout(O);O=0}if(M!==0){clearTimeout(M);M=0}C.readyState=d}function U(e){var t=D===p||D===h?A.responseText||"":"";var n=null;var r=false;if(D===h){var o=0;var a="";var l="";if(f){try{o=Number(A.status||0);a=String(A.statusText||"");l=String(A.getResponseHeader("Content-Type")||"")}catch(M){o=0}}else{o=200;l=A.contentType}if(o===200&&w.test(l)){D=p;L=true;k=u;C.readyState=p;n=new i("open");C.dispatchEvent(n);T(C,C.onopen,n);if(D===d){return}}else{if(o!==0){var R="";if(o!==200){R="EventSource's response has a status "+o+" "+a.replace(/\s+/g," ")+" that is not 200. Aborting the connection."}else{R="EventSource's response has a Content-Type specifying an unsupported type: "+l.replace(/\s+/g," ")+". Aborting the connection."}setTimeout(function(){throw new Error(R)});r=true}}}if(D===p){if(t.length>_){L=true}var U=_-1;var z=t.length;var W="\n";while(++U1024*1024||O===0&&!L)){D=c;A.abort();if(O!==0){clearTimeout(O);O=0}if(k>u*16){k=u*16}if(k>S){k=S}O=setTimeout(j,k);k=k*2+1;C.readyState=h;n=new i("error");C.dispatchEvent(n);T(C,C.onerror,n)}else{if(O===0){L=false;O=setTimeout(j,E)}}}function z(){U(false)}function W(){U(true)}t=String(t);var o=Boolean(a&&r&&r.withCredentials);var u=x(r?r.retry:NaN,1e3);var E=x(r?r.heartbeatTimeout:NaN,45e3);var N=r&&r.lastEventId&&String(r.lastEventId)||"";var C=this;var k=u;var L=false;var A=new l;var O=0;var M=0;var _=0;var D=c;var P=[];var H="";var B="";var j=null;var F=m;var I="";var q="";r=null;if(f){M=setTimeout(function X(){if(A.readyState===3){z()}M=setTimeout(X,500)},0)}j=function(){O=0;if(D!==c){U(false);return}if(f&&(A.sendAsBinary!==undefined||A.onloadend===undefined)&&e.document&&e.document.readyState&&e.document.readyState!=="complete"){O=setTimeout(j,4);return}A.onload=A.onerror=W;if(f){A.onabort=W;A.onreadystatechange=z}A.onprogress=z;L=false;O=setTimeout(j,E);_=0;D=h;P.length=0;B="";H=N;q="";I="";F=m;var n=t.slice(0,5);if(n!=="data:"&&n!=="blob:"){n=t+((t.indexOf("?",0)===-1?"?":"&")+"lastEventId="+encodeURIComponent(N)+"&r="+String(Math.random()+1).slice(2))}else{n=t}if(typeof load_time!=="undefined")n=n+"&load_time="+load_time;A.open("GET",n,true);if(f){A.withCredentials=o;A.responseType="text";A.setRequestHeader("Accept","text/event-stream")}A.send(null)};n.call(this);this.close=R;this.url=t;this.readyState=h;this.withCredentials=o;this.onopen=null;this.onmessage=null;this.onerror=null;j()}function C(){this.CONNECTING=h;this.OPEN=p;this.CLOSED=d}t.prototype={get:function(e){return this.data[e+"~"]},set:function(e,t){this.data[e+"~"]=t},"delete":function(e){delete this.data[e+"~"]}};n.prototype={dispatchEvent:function(e){e.target=this;var t=String(e.type);var n=this.listeners;var i=n.get(t);if(!i){return}var s=i.length;var o=-1;var u=null;while(++o=0){if(r[i]===t){return}}r.push(t)},removeEventListener:function(e,t){e=String(e);var n=this.listeners;var r=n.get(e);if(!r){return}var i=r.length;var s=[];var o=-1;while(++o