From aeaf6313ce752ece2df763fa61a41faa827acf15 Mon Sep 17 00:00:00 2001 From: hafifierahman Date: Tue, 21 Feb 2023 12:48:14 +0800 Subject: [PATCH] fix kaunter editing commited --- config/broadcasting.php | 2 - config/database.php | 4 +- public/js/pusher.min.backup.js | 8 - public/js/pusher.min.js | 2594 +------------------------------- 4 files changed, 2 insertions(+), 2606 deletions(-) delete mode 100644 public/js/pusher.min.backup.js diff --git a/config/broadcasting.php b/config/broadcasting.php index 545ef1e..c6c82de 100644 --- a/config/broadcasting.php +++ b/config/broadcasting.php @@ -37,9 +37,7 @@ return [ 'app_id' => env('PUSHER_APP_ID'), 'options' => [ 'cluster' => 'ap1', - 'host' => '172.16.4.110', 'useTLS' => false, - 'port' => 6001, 'scheme' => 'http' ], ], diff --git a/config/database.php b/config/database.php index d518912..25be54e 100644 --- a/config/database.php +++ b/config/database.php @@ -60,9 +60,7 @@ return [ 'engine' => null, 'options' => extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), - ]) : [], - 'unix_socket' => env('UNIX_SOCKET', '/Applications/MAMP/tmp/mysql/mysql.sock'), - + ]) : [], ], 'pgsql' => [ diff --git a/public/js/pusher.min.backup.js b/public/js/pusher.min.backup.js deleted file mode 100644 index 1bafc6d..0000000 --- a/public/js/pusher.min.backup.js +++ /dev/null @@ -1,8 +0,0 @@ -/*! - * Pusher JavaScript Library v7.0.2 - * https://pusher.com/ - * - * Copyright 2020, Pusher - * Released under the MIT licence. - */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Pusher=e():t.Pusher=e()}(window,(function(){return function(t){var e={};function n(o){if(e[o])return e[o].exports;var r=e[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(o,r,function(e){return t[e]}.bind(null,r));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=2)}([function(t,e,n){"use strict";var o,r=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t){void 0===t&&(t="="),this._paddingCharacter=t}return t.prototype.encodedLength=function(t){return this._paddingCharacter?(t+2)/3*4|0:(8*t+5)/6|0},t.prototype.encode=function(t){for(var e="",n=0;n>>18&63),e+=this._encodeByte(o>>>12&63),e+=this._encodeByte(o>>>6&63),e+=this._encodeByte(o>>>0&63)}var r=t.length-n;if(r>0){o=t[n]<<16|(2===r?t[n+1]<<8:0);e+=this._encodeByte(o>>>18&63),e+=this._encodeByte(o>>>12&63),e+=2===r?this._encodeByte(o>>>6&63):this._paddingCharacter||"",e+=this._paddingCharacter||""}return e},t.prototype.maxDecodedLength=function(t){return this._paddingCharacter?t/4*3|0:(6*t+7)/8|0},t.prototype.decodedLength=function(t){return this.maxDecodedLength(t.length-this._getPaddingLength(t))},t.prototype.decode=function(t){if(0===t.length)return new Uint8Array(0);for(var e=this._getPaddingLength(t),n=t.length-e,o=new Uint8Array(this.maxDecodedLength(n)),r=0,i=0,s=0,c=0,a=0,u=0,h=0;i>>4,o[r++]=a<<4|u>>>2,o[r++]=u<<6|h,s|=256&c,s|=256&a,s|=256&u,s|=256&h;if(i>>4,s|=256&c,s|=256&a),i>>2,s|=256&u),i>>8&6,e+=51-t>>>8&-75,e+=61-t>>>8&-15,e+=62-t>>>8&3,String.fromCharCode(e)},t.prototype._decodeChar=function(t){var e=256;return e+=(42-t&t-44)>>>8&-256+t-43+62,e+=(46-t&t-48)>>>8&-256+t-47+63,e+=(47-t&t-58)>>>8&-256+t-48+52,e+=(64-t&t-91)>>>8&-256+t-65+0,e+=(96-t&t-123)>>>8&-256+t-97+26},t.prototype._getPaddingLength=function(t){var e=0;if(this._paddingCharacter){for(var n=t.length-1;n>=0&&t[n]===this._paddingCharacter;n--)e++;if(t.length<4||e>2)throw new Error("Base64Coder: incorrect padding")}return e},t}();e.Coder=i;var s=new i;e.encode=function(t){return s.encode(t)},e.decode=function(t){return s.decode(t)};var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.prototype._encodeByte=function(t){var e=t;return e+=65,e+=25-t>>>8&6,e+=51-t>>>8&-75,e+=61-t>>>8&-13,e+=62-t>>>8&49,String.fromCharCode(e)},e.prototype._decodeChar=function(t){var e=256;return e+=(44-t&t-46)>>>8&-256+t-45+62,e+=(94-t&t-96)>>>8&-256+t-95+63,e+=(47-t&t-58)>>>8&-256+t-48+52,e+=(64-t&t-91)>>>8&-256+t-65+0,e+=(96-t&t-123)>>>8&-256+t-97+26},e}(i);e.URLSafeCoder=c;var a=new c;e.encodeURLSafe=function(t){return a.encode(t)},e.decodeURLSafe=function(t){return a.decode(t)},e.encodedLength=function(t){return s.encodedLength(t)},e.maxDecodedLength=function(t){return s.maxDecodedLength(t)},e.decodedLength=function(t){return s.decodedLength(t)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o="utf8: invalid source encoding";function r(t){for(var e=0,n=0;n=t.length-1)throw new Error("utf8: invalid string");n++,e+=4}}return e}e.encode=function(t){for(var e=new Uint8Array(r(t)),n=0,o=0;o>6,e[n++]=128|63&i):i<55296?(e[n++]=224|i>>12,e[n++]=128|i>>6&63,e[n++]=128|63&i):(o++,i=(1023&i)<<10,i|=1023&t.charCodeAt(o),i+=65536,e[n++]=240|i>>18,e[n++]=128|i>>12&63,e[n++]=128|i>>6&63,e[n++]=128|63&i)}return e},e.encodedLength=r,e.decode=function(t){for(var e=[],n=0;n=t.length)throw new Error(o);if(128!=(192&(s=t[++n])))throw new Error(o);r=(31&r)<<6|63&s,i=128}else if(r<240){if(n>=t.length-1)throw new Error(o);var s=t[++n],c=t[++n];if(128!=(192&s)||128!=(192&c))throw new Error(o);r=(15&r)<<12|(63&s)<<6|63&c,i=2048}else{if(!(r<248))throw new Error(o);if(n>=t.length-2)throw new Error(o);s=t[++n],c=t[++n];var a=t[++n];if(128!=(192&s)||128!=(192&c)||128!=(192&a))throw new Error(o);r=(15&r)<<18|(63&s)<<12|(63&c)<<6|63&a,i=65536}if(r=55296&&r<=57343)throw new Error(o);if(r>=65536){if(r>1114111)throw new Error(o);r-=65536,e.push(String.fromCharCode(55296|r>>10)),r=56320|1023&r}}e.push(String.fromCharCode(r))}return e.join("")}},function(t,e,n){t.exports=n(3).default},function(t,e,n){"use strict";n.r(e);var o,r=function(){function t(t,e){this.lastId=0,this.prefix=t,this.name=e}return t.prototype.create=function(t){this.lastId++;var e=this.lastId,n=this.prefix+e,o=this.name+"["+e+"]",r=!1,i=function(){r||(t.apply(null,arguments),r=!0)};return this[e]=i,{number:e,id:n,name:o,callback:i}},t.prototype.remove=function(t){delete this[t.number]},t}(),i=new r("_pusher_script_","Pusher.ScriptReceivers"),s={VERSION:"7.0.2",PROTOCOL:7,wsPort:80,wssPort:443,wsPath:"",httpHost:"sockjs.pusher.com",httpPort:80,httpsPort:443,httpPath:"/pusher",stats_host:"stats.pusher.com",authEndpoint:"/pusher/auth",authTransport:"ajax",activityTimeout:12e4,pongTimeout:3e4,unavailableTimeout:1e4,cluster:"mt1",cdn_http:"http://js.pusher.com",cdn_https:"https://js.pusher.com",dependency_suffix:""},c=function(){function t(t){this.options=t,this.receivers=t.receivers||i,this.loading={}}return t.prototype.load=function(t,e,n){var o=this;if(o.loading[t]&&o.loading[t].length>0)o.loading[t].push(n);else{o.loading[t]=[n];var r=_e.createScriptRequest(o.getPath(t,e)),i=o.receivers.create((function(e){if(o.receivers.remove(i),o.loading[t]){var n=o.loading[t];delete o.loading[t];for(var s=function(t){t||r.cleanup()},c=0;c>>6)+S(128|63&e):S(224|e>>>12&15)+S(128|e>>>6&63)+S(128|63&e)},E=function(t){return t.replace(/[^\x00-\x7F]/g,O)},L=function(t){var e=[0,2,1][t.length%3],n=t.charCodeAt(0)<<16|(t.length>1?t.charCodeAt(1):0)<<8|(t.length>2?t.charCodeAt(2):0);return[k.charAt(n>>>18),k.charAt(n>>>12&63),e>=2?"=":k.charAt(n>>>6&63),e>=1?"=":k.charAt(63&n)].join("")},x=window.btoa||function(t){return t.replace(/[\s\S]{1,3}/g,L)},A=function(){function t(t,e,n,o){var r=this;this.clear=e,this.timer=t((function(){r.timer&&(r.timer=o(r.timer))}),n)}return t.prototype.isRunning=function(){return null!==this.timer},t.prototype.ensureAborted=function(){this.timer&&(this.clear(this.timer),this.timer=null)},t}(),R=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}();function j(t){window.clearTimeout(t)}function D(t){window.clearInterval(t)}var I=function(t){function e(e,n){return t.call(this,setTimeout,j,e,(function(t){return n(),null}))||this}return R(e,t),e}(A),N=function(t){function e(e,n){return t.call(this,setInterval,D,e,(function(t){return n(),t}))||this}return R(e,t),e}(A),M={now:function(){return Date.now?Date.now():(new Date).valueOf()},defer:function(t){return new I(0,t)},method:function(t){for(var e=[],n=1;n0)for(o=0;o=1002&&t.code<=1004?"backoff":null:4e3===t.code?"tls_only":t.code<4100?"refused":t.code<4200?"backoff":t.code<4300?"retry":"refused"},getCloseError:function(t){return 1e3!==t.code&&1001!==t.code?{type:"PusherError",data:{code:t.code,message:t.reason||t.message}}:null}},Et=Ot,Lt=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),xt=function(t){function e(e,n){var o=t.call(this)||this;return o.id=e,o.transport=n,o.activityTimeout=n.activityTimeout,o.bindListeners(),o}return Lt(e,t),e.prototype.handlesActivityChecks=function(){return this.transport.handlesActivityChecks()},e.prototype.send=function(t){return this.transport.send(t)},e.prototype.send_event=function(t,e,n){var o={event:t,data:e};return n&&(o.channel=n),$.debug("Event sent",o),this.send(Et.encodeMessage(o))},e.prototype.ping=function(){this.transport.supportsPing()?this.transport.ping():this.send_event("pusher:ping",{})},e.prototype.close=function(){this.transport.close()},e.prototype.bindListeners=function(){var t=this,e={message:function(e){var n;try{n=Et.decodeMessage(e)}catch(n){t.emit("error",{type:"MessageParseError",error:n,data:e.data})}if(void 0!==n){switch($.debug("Event recd",n),n.event){case"pusher:error":t.emit("error",{type:"PusherError",data:n.data});break;case"pusher:ping":t.emit("ping");break;case"pusher:pong":t.emit("pong")}t.emit("message",n)}},activity:function(){t.emit("activity")},error:function(e){t.emit("error",e)},closed:function(e){n(),e&&e.code&&t.handleCloseEvent(e),t.transport=null,t.emit("closed")}},n=function(){z(e,(function(e,n){t.transport.unbind(n,e)}))};z(e,(function(e,n){t.transport.bind(n,e)}))},e.prototype.handleCloseEvent=function(t){var e=Et.getCloseAction(t),n=Et.getCloseError(t);n&&this.emit("error",n),e&&this.emit(e,{action:e,error:n})},e}(ut),At=function(){function t(t,e){this.transport=t,this.callback=e,this.bindListeners()}return t.prototype.close=function(){this.unbindListeners(),this.transport.close()},t.prototype.bindListeners=function(){var t=this;this.onMessage=function(e){var n;t.unbindListeners();try{n=Et.processHandshake(e)}catch(e){return t.finish("error",{error:e}),void t.transport.close()}"connected"===n.action?t.finish("connected",{connection:new xt(n.id,t.transport),activityTimeout:n.activityTimeout}):(t.finish(n.action,{error:n.error}),t.transport.close())},this.onClosed=function(e){t.unbindListeners();var n=Et.getCloseAction(e)||"backoff",o=Et.getCloseError(e);t.finish(n,{error:o})},this.transport.bind("message",this.onMessage),this.transport.bind("closed",this.onClosed)},t.prototype.unbindListeners=function(){this.transport.unbind("message",this.onMessage),this.transport.unbind("closed",this.onClosed)},t.prototype.finish=function(t,e){this.callback(H({transport:this.transport,action:t},e))},t}(),Rt=function(){function t(t,e){this.channel=t;var n=e.authTransport;if(void 0===_e.getAuthorizers()[n])throw"'"+n+"' is not a recognized auth transport";this.type=n,this.options=e,this.authOptions=e.auth||{}}return t.prototype.composeQuery=function(t){var e="socket_id="+encodeURIComponent(t)+"&channel_name="+encodeURIComponent(this.channel.name);for(var n in this.authOptions.params)e+="&"+encodeURIComponent(n)+"="+encodeURIComponent(this.authOptions.params[n]);return e},t.prototype.authorize=function(e,n){t.authorizers=t.authorizers||_e.getAuthorizers(),t.authorizers[this.type].call(this,_e,e,n)},t}(),jt=function(){function t(t,e){this.timeline=t,this.options=e||{}}return t.prototype.send=function(t,e){this.timeline.isEmpty()||this.timeline.send(_e.TimelineTransport.getAgent(this,t),e)},t}(),Dt=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),It=function(t){function e(e,n){var o=t.call(this,(function(t,n){$.debug("No callbacks on "+e+" for "+t)}))||this;return o.name=e,o.pusher=n,o.subscribed=!1,o.subscriptionPending=!1,o.subscriptionCancelled=!1,o}return Dt(e,t),e.prototype.authorize=function(t,e){return e(null,{auth:""})},e.prototype.trigger=function(t,e){if(0!==t.indexOf("client-"))throw new f("Event '"+t+"' does not start with 'client-'");if(!this.subscribed){var n=p("triggeringClientEvents");$.warn("Client event triggered before channel 'subscription_succeeded' event . "+n)}return this.pusher.send_event(t,e,this.name)},e.prototype.disconnect=function(){this.subscribed=!1,this.subscriptionPending=!1},e.prototype.handleEvent=function(t){var e=t.event,n=t.data;if("pusher_internal:subscription_succeeded"===e)this.handleSubscriptionSucceededEvent(t);else if(0!==e.indexOf("pusher_internal:")){this.emit(e,n,{})}},e.prototype.handleSubscriptionSucceededEvent=function(t){this.subscriptionPending=!1,this.subscribed=!0,this.subscriptionCancelled?this.pusher.unsubscribe(this.name):this.emit("pusher:subscription_succeeded",t.data)},e.prototype.subscribe=function(){var t=this;this.subscribed||(this.subscriptionPending=!0,this.subscriptionCancelled=!1,this.authorize(this.pusher.connection.socket_id,(function(e,n){e?(t.subscriptionPending=!1,$.error(e.toString()),t.emit("pusher:subscription_error",Object.assign({},{type:"AuthError",error:e.message},e instanceof w?{status:e.status}:{}))):t.pusher.send_event("pusher:subscribe",{auth:n.auth,channel_data:n.channel_data,channel:t.name})})))},e.prototype.unsubscribe=function(){this.subscribed=!1,this.pusher.send_event("pusher:unsubscribe",{channel:this.name})},e.prototype.cancelSubscription=function(){this.subscriptionCancelled=!0},e.prototype.reinstateSubscription=function(){this.subscriptionCancelled=!1},e}(ut),Nt=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),Mt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Nt(e,t),e.prototype.authorize=function(t,e){return Qt.createAuthorizer(this,this.pusher.config).authorize(t,e)},e}(It),Ht=function(){function t(){this.reset()}return t.prototype.get=function(t){return Object.prototype.hasOwnProperty.call(this.members,t)?{id:t,info:this.members[t]}:null},t.prototype.each=function(t){var e=this;z(this.members,(function(n,o){t(e.get(o))}))},t.prototype.setMyID=function(t){this.myID=t},t.prototype.onSubscription=function(t){this.members=t.presence.hash,this.count=t.presence.count,this.me=this.get(this.myID)},t.prototype.addMember=function(t){return null===this.get(t.user_id)&&this.count++,this.members[t.user_id]=t.user_info,this.get(t.user_id)},t.prototype.removeMember=function(t){var e=this.get(t.user_id);return e&&(delete this.members[t.user_id],this.count--),e},t.prototype.reset=function(){this.members={},this.count=0,this.myID=null,this.me=null},t}(),qt=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),Bt=function(t){function e(e,n){var o=t.call(this,e,n)||this;return o.members=new Ht,o}return qt(e,t),e.prototype.authorize=function(e,n){var o=this;t.prototype.authorize.call(this,e,(function(t,e){if(!t){if(void 0===(e=e).channel_data){var r=p("authenticationEndpoint");return $.error("Invalid auth response for channel '"+o.name+"',expected 'channel_data' field. "+r),void n("Invalid auth response")}var i=JSON.parse(e.channel_data);o.members.setMyID(i.user_id)}n(t,e)}))},e.prototype.handleEvent=function(t){var e=t.event;if(0===e.indexOf("pusher_internal:"))this.handleInternalEvent(t);else{var n=t.data,o={};t.user_id&&(o.user_id=t.user_id),this.emit(e,n,o)}},e.prototype.handleInternalEvent=function(t){var e=t.event,n=t.data;switch(e){case"pusher_internal:subscription_succeeded":this.handleSubscriptionSucceededEvent(t);break;case"pusher_internal:member_added":var o=this.members.addMember(n);this.emit("pusher:member_added",o);break;case"pusher_internal:member_removed":var r=this.members.removeMember(n);r&&this.emit("pusher:member_removed",r)}},e.prototype.handleSubscriptionSucceededEvent=function(t){this.subscriptionPending=!1,this.subscribed=!0,this.subscriptionCancelled?this.pusher.unsubscribe(this.name):(this.members.onSubscription(t.data),this.emit("pusher:subscription_succeeded",this.members))},e.prototype.disconnect=function(){this.members.reset(),t.prototype.disconnect.call(this)},e}(Mt),zt=n(1),Ut=n(0),Ft=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),Xt=function(t){function e(e,n,o){var r=t.call(this,e,n)||this;return r.key=null,r.nacl=o,r}return Ft(e,t),e.prototype.authorize=function(e,n){var o=this;t.prototype.authorize.call(this,e,(function(t,e){if(t)n(t,e);else{var r=e.shared_secret;r?(o.key=Object(Ut.decode)(r),delete e.shared_secret,n(null,e)):n(new Error("No shared_secret key in auth payload for encrypted channel: "+o.name),null)}}))},e.prototype.trigger=function(t,e){throw new v("Client events are not currently supported for encrypted channels")},e.prototype.handleEvent=function(e){var n=e.event,o=e.data;0!==n.indexOf("pusher_internal:")&&0!==n.indexOf("pusher:")?this.handleEncryptedEvent(n,o):t.prototype.handleEvent.call(this,e)},e.prototype.handleEncryptedEvent=function(t,e){var n=this;if(this.key)if(e.ciphertext&&e.nonce){var o=Object(Ut.decode)(e.ciphertext);if(o.length0&&this.emit("connecting_in",Math.round(t/1e3)),this.retryTimer=new I(t||0,(function(){e.disconnectInternally(),e.connect()}))},e.prototype.clearRetryTimer=function(){this.retryTimer&&(this.retryTimer.ensureAborted(),this.retryTimer=null)},e.prototype.setUnavailableTimer=function(){var t=this;this.unavailableTimer=new I(this.options.unavailableTimeout,(function(){t.updateState("unavailable")}))},e.prototype.clearUnavailableTimer=function(){this.unavailableTimer&&this.unavailableTimer.ensureAborted()},e.prototype.sendActivityCheck=function(){var t=this;this.stopActivityCheck(),this.connection.ping(),this.activityTimer=new I(this.options.pongTimeout,(function(){t.timeline.error({pong_timed_out:t.options.pongTimeout}),t.retryIn(0)}))},e.prototype.resetActivityCheck=function(){var t=this;this.stopActivityCheck(),this.connection&&!this.connection.handlesActivityChecks()&&(this.activityTimer=new I(this.activityTimeout,(function(){t.sendActivityCheck()})))},e.prototype.stopActivityCheck=function(){this.activityTimer&&this.activityTimer.ensureAborted()},e.prototype.buildConnectionCallbacks=function(t){var e=this;return H({},t,{message:function(t){e.resetActivityCheck(),e.emit("message",t)},ping:function(){e.send_event("pusher:pong",{})},activity:function(){e.resetActivityCheck()},error:function(t){e.emit("error",t)},closed:function(){e.abandonConnection(),e.shouldRetry()&&e.retryIn(1e3)}})},e.prototype.buildHandshakeCallbacks=function(t){var e=this;return H({},t,{connected:function(t){e.activityTimeout=Math.min(e.options.activityTimeout,t.activityTimeout,t.connection.activityTimeout||1/0),e.clearUnavailableTimer(),e.setConnection(t.connection),e.socket_id=e.connection.id,e.updateState("connected",{socket_id:e.socket_id})}})},e.prototype.buildErrorCallbacks=function(){var t=this,e=function(e){return function(n){n.error&&t.emit("error",{type:"WebSocketError",error:n.error}),e(n)}};return{tls_only:e((function(){t.usingTLS=!0,t.updateStrategy(),t.retryIn(0)})),refused:e((function(){t.disconnect()})),backoff:e((function(){t.retryIn(1e3)})),retry:e((function(){t.retryIn(0)}))}},e.prototype.setConnection=function(t){for(var e in this.connection=t,this.connectionCallbacks)this.connection.bind(e,this.connectionCallbacks[e]);this.resetActivityCheck()},e.prototype.abandonConnection=function(){if(this.connection){for(var t in this.stopActivityCheck(),this.connectionCallbacks)this.connection.unbind(t,this.connectionCallbacks[t]);var e=this.connection;return this.connection=null,e}},e.prototype.updateState=function(t,e){var n=this.state;if(this.state=t,n!==t){var o=t;"connected"===o&&(o+=" with new socket ID "+e.socket_id),$.debug("State changed",n+" -> "+o),this.timeline.info({state:t,params:e}),this.emit("state_change",{previous:n,current:t}),this.emit(t,e)}},e.prototype.shouldRetry=function(){return"connecting"===this.state||"connected"===this.state},e}(ut),Gt=function(){function t(){this.channels={}}return t.prototype.add=function(t,e){return this.channels[t]||(this.channels[t]=function(t,e){if(0===t.indexOf("private-encrypted-")){if(e.config.nacl)return Qt.createEncryptedChannel(t,e,e.config.nacl);var n=p("encryptedChannelSupport");throw new v("Tried to subscribe to a private-encrypted- channel but no nacl implementation available. "+n)}return 0===t.indexOf("private-")?Qt.createPrivateChannel(t,e):0===t.indexOf("presence-")?Qt.createPresenceChannel(t,e):Qt.createChannel(t,e)}(t,e)),this.channels[t]},t.prototype.all=function(){return function(t){var e=[];return z(t,(function(t){e.push(t)})),e}(this.channels)},t.prototype.find=function(t){return this.channels[t]},t.prototype.remove=function(t){var e=this.channels[t];return delete this.channels[t],e},t.prototype.disconnect=function(){z(this.channels,(function(t){t.disconnect()}))},t}();var Qt={createChannels:function(){return new Gt},createConnectionManager:function(t,e){return new Wt(t,e)},createChannel:function(t,e){return new It(t,e)},createPrivateChannel:function(t,e){return new Mt(t,e)},createPresenceChannel:function(t,e){return new Bt(t,e)},createEncryptedChannel:function(t,e,n){return new Xt(t,e,n)},createTimelineSender:function(t,e){return new jt(t,e)},createAuthorizer:function(t,e){return e.authorizer?e.authorizer(t,e):new Rt(t,e)},createHandshake:function(t,e){return new At(t,e)},createAssistantToTheTransportManager:function(t,e,n){return new Pt(t,e,n)}},Vt=function(){function t(t){this.options=t||{},this.livesLeft=this.options.lives||1/0}return t.prototype.getAssistant=function(t){return Qt.createAssistantToTheTransportManager(this,t,{minPingDelay:this.options.minPingDelay,maxPingDelay:this.options.maxPingDelay})},t.prototype.isAlive=function(){return this.livesLeft>0},t.prototype.reportDeath=function(){this.livesLeft-=1},t}(),Yt=function(){function t(t,e){this.strategies=t,this.loop=Boolean(e.loop),this.failFast=Boolean(e.failFast),this.timeout=e.timeout,this.timeoutLimit=e.timeoutLimit}return t.prototype.isSupported=function(){return G(this.strategies,M.method("isSupported"))},t.prototype.connect=function(t,e){var n=this,o=this.strategies,r=0,i=this.timeout,s=null,c=function(a,u){u?e(null,u):(r+=1,n.loop&&(r%=o.length),r0&&(r=new I(n.timeout,(function(){i.abort(),o(!0)}))),i=t.connect(e,(function(t,e){t&&r&&r.isRunning()&&!n.failFast||(r&&r.ensureAborted(),o(t,e))})),{abort:function(){r&&r.ensureAborted(),i.abort()},forceMinPriority:function(t){i.forceMinPriority(t)}}},t}(),$t=function(){function t(t){this.strategies=t}return t.prototype.isSupported=function(){return G(this.strategies,M.method("isSupported"))},t.prototype.connect=function(t,e){return function(t,e,n){var o=X(t,(function(t,o,r,i){return t.connect(e,n(o,i))}));return{abort:function(){F(o,Kt)},forceMinPriority:function(t){F(o,(function(e){e.forceMinPriority(t)}))}}}(this.strategies,t,(function(t,n){return function(o,r){n[t].error=o,o?function(t){return function(t,e){for(var n=0;n=M.now()){var i=this.transports[o.transport];i&&(this.timeline.info({cached:!0,transport:o.transport,latency:o.latency}),r.push(new Yt([i],{timeout:2*o.latency+1e3,failFast:!0})))}var s=M.now(),c=r.pop().connect(t,(function o(i,a){i?(ee(n),r.length>0?(s=M.now(),c=r.pop().connect(t,o)):e(i)):(!function(t,e,n){var o=_e.getLocalStorage();if(o)try{o[te(t)]=Y({timestamp:M.now(),transport:e,latency:n})}catch(t){}}(n,a.transport.name,M.now()-s),e(null,a))}));return{abort:function(){c.abort()},forceMinPriority:function(e){t=e,c&&c.forceMinPriority(e)}}},t}();function te(t){return"pusherTransport"+(t?"TLS":"NonTLS")}function ee(t){var e=_e.getLocalStorage();if(e)try{delete e[te(t)]}catch(t){}}var ne=function(){function t(t,e){var n=e.delay;this.strategy=t,this.options={delay:n}}return t.prototype.isSupported=function(){return this.strategy.isSupported()},t.prototype.connect=function(t,e){var n,o=this.strategy,r=new I(this.options.delay,(function(){n=o.connect(t,e)}));return{abort:function(){r.ensureAborted(),n&&n.abort()},forceMinPriority:function(e){t=e,n&&n.forceMinPriority(e)}}},t}(),oe=function(){function t(t,e,n){this.test=t,this.trueBranch=e,this.falseBranch=n}return t.prototype.isSupported=function(){return(this.test()?this.trueBranch:this.falseBranch).isSupported()},t.prototype.connect=function(t,e){return(this.test()?this.trueBranch:this.falseBranch).connect(t,e)},t}(),re=function(){function t(t){this.strategy=t}return t.prototype.isSupported=function(){return this.strategy.isSupported()},t.prototype.connect=function(t,e){var n=this.strategy.connect(t,(function(t,o){o&&n.abort(),e(t,o)}));return n},t}();function ie(t){return function(){return t.isSupported()}}var se,ce=function(t,e,n){var o={};function r(e,r,i,s,c){var a=n(t,e,r,i,s,c);return o[e]=a,a}var i,s=Object.assign({},e,{hostNonTLS:t.wsHost+":"+t.wsPort,hostTLS:t.wsHost+":"+t.wssPort,httpPath:t.wsPath}),c=Object.assign({},s,{useTLS:!0}),a=Object.assign({},e,{hostNonTLS:t.httpHost+":"+t.httpPort,hostTLS:t.httpHost+":"+t.httpsPort,httpPath:t.httpPath}),u={loop:!0,timeout:15e3,timeoutLimit:6e4},h=new Vt({lives:2,minPingDelay:1e4,maxPingDelay:t.activityTimeout}),p=new Vt({lives:2,minPingDelay:1e4,maxPingDelay:t.activityTimeout}),l=r("ws","ws",3,s,h),f=r("wss","ws",3,c,h),d=r("sockjs","sockjs",1,a),y=r("xhr_streaming","xhr_streaming",1,a,p),g=r("xdr_streaming","xdr_streaming",1,a,p),v=r("xhr_polling","xhr_polling",1,a),b=r("xdr_polling","xdr_polling",1,a),m=new Yt([l],u),w=new Yt([f],u),_=new Yt([d],u),S=new Yt([new oe(ie(y),y,g)],u),k=new Yt([new oe(ie(v),v,b)],u),C=new Yt([new oe(ie(S),new $t([S,new ne(k,{delay:4e3})]),k)],u),T=new oe(ie(C),C,_);return i=e.useTLS?new $t([m,new ne(T,{delay:2e3})]):new $t([m,new ne(w,{delay:2e3}),new ne(T,{delay:5e3})]),new Zt(new re(new oe(ie(l),i,T)),o,{ttl:18e5,timeline:e.timeline,useTLS:e.useTLS})},ae={getRequest:function(t){var e=new window.XDomainRequest;return e.ontimeout=function(){t.emit("error",new d),t.close()},e.onerror=function(e){t.emit("error",e),t.close()},e.onprogress=function(){e.responseText&&e.responseText.length>0&&t.onChunk(200,e.responseText)},e.onload=function(){e.responseText&&e.responseText.length>0&&t.onChunk(200,e.responseText),t.emit("finished",200),t.close()},e},abortRequest:function(t){t.ontimeout=t.onerror=t.onprogress=t.onload=null,t.abort()}},ue=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),he=function(t){function e(e,n,o){var r=t.call(this)||this;return r.hooks=e,r.method=n,r.url=o,r}return ue(e,t),e.prototype.start=function(t){var e=this;this.position=0,this.xhr=this.hooks.getRequest(this),this.unloader=function(){e.close()},_e.addUnloadListener(this.unloader),this.xhr.open(this.method,this.url,!0),this.xhr.setRequestHeader&&this.xhr.setRequestHeader("Content-Type","application/json"),this.xhr.send(t)},e.prototype.close=function(){this.unloader&&(_e.removeUnloadListener(this.unloader),this.unloader=null),this.xhr&&(this.hooks.abortRequest(this.xhr),this.xhr=null)},e.prototype.onChunk=function(t,e){for(;;){var n=this.advanceBuffer(e);if(!n)break;this.emit("chunk",{status:t,data:n})}this.isBufferTooLong(e)&&this.emit("buffer_too_long")},e.prototype.advanceBuffer=function(t){var e=t.slice(this.position),n=e.indexOf("\n");return-1!==n?(this.position+=n+1,e.slice(0,n)):null},e.prototype.isBufferTooLong=function(t){return this.position===t.length&&t.length>262144},e}(ut);!function(t){t[t.CONNECTING=0]="CONNECTING",t[t.OPEN=1]="OPEN",t[t.CLOSED=3]="CLOSED"}(se||(se={}));var pe=se,le=1;function fe(t){var e=-1===t.indexOf("?")?"?":"&";return t+e+"t="+ +new Date+"&n="+le++}function de(t){return Math.floor(Math.random()*t)}var ye,ge=function(){function t(t,e){this.hooks=t,this.session=de(1e3)+"/"+function(t){for(var e=[],n=0;n0&&t.onChunk(e.status,e.responseText);break;case 4:e.responseText&&e.responseText.length>0&&t.onChunk(e.status,e.responseText),t.emit("finished",e.status),t.close()}},e},abortRequest:function(t){t.onreadystatechange=null,t.abort()}},we={createStreamingSocket:function(t){return this.createSocket(ve,t)},createPollingSocket:function(t){return this.createSocket(be,t)},createSocket:function(t,e){return new ge(t,e)},createXHR:function(t,e){return this.createRequest(me,t,e)},createRequest:function(t,e,n){return new he(t,e,n)},createXDR:function(t,e){return this.createRequest(ae,t,e)}},_e={nextAuthCallbackID:1,auth_callbacks:{},ScriptReceivers:i,DependenciesReceivers:a,getDefaultStrategy:ce,Transports:kt,transportConnectionInitializer:function(){var t=this;t.timeline.info(t.buildTimelineMessage({transport:t.name+(t.options.useTLS?"s":"")})),t.hooks.isInitialized()?t.changeState("initialized"):t.hooks.file?(t.changeState("initializing"),u.load(t.hooks.file,{useTLS:t.options.useTLS},(function(e,n){t.hooks.isInitialized()?(t.changeState("initialized"),n(!0)):(e&&t.onError(e),t.onClose(),n(!1))}))):t.onClose()},HTTPFactory:we,TimelineTransport:et,getXHRAPI:function(){return window.XMLHttpRequest},getWebSocketAPI:function(){return window.WebSocket||window.MozWebSocket},setup:function(t){var e=this;window.Pusher=t;var n=function(){e.onDocumentBody(t.ready)};window.JSON?n():u.load("json2",{},n)},getDocument:function(){return document},getProtocol:function(){return this.getDocument().location.protocol},getAuthorizers:function(){return{ajax:_,jsonp:K}},onDocumentBody:function(t){var e=this;document.body?t():setTimeout((function(){e.onDocumentBody(t)}),0)},createJSONPRequest:function(t,e){return new tt(t,e)},createScriptRequest:function(t){return new Z(t)},getLocalStorage:function(){try{return window.localStorage}catch(t){return}},createXHR:function(){return this.getXHRAPI()?this.createXMLHttpRequest():this.createMicrosoftXHR()},createXMLHttpRequest:function(){return new(this.getXHRAPI())},createMicrosoftXHR:function(){return new ActiveXObject("Microsoft.XMLHTTP")},getNetwork:function(){return Tt},createWebSocket:function(t){return new(this.getWebSocketAPI())(t)},createSocketRequest:function(t,e){if(this.isXHRSupported())return this.HTTPFactory.createXHR(t,e);if(this.isXDRSupported(0===e.indexOf("https:")))return this.HTTPFactory.createXDR(t,e);throw"Cross-origin HTTP requests are not supported"},isXHRSupported:function(){var t=this.getXHRAPI();return Boolean(t)&&void 0!==(new t).withCredentials},isXDRSupported:function(t){var e=t?"https:":"http:",n=this.getProtocol();return Boolean(window.XDomainRequest)&&n===e},addUnloadListener:function(t){void 0!==window.addEventListener?window.addEventListener("unload",t,!1):void 0!==window.attachEvent&&window.attachEvent("onunload",t)},removeUnloadListener:function(t){void 0!==window.addEventListener?window.removeEventListener("unload",t,!1):void 0!==window.detachEvent&&window.detachEvent("onunload",t)}};!function(t){t[t.ERROR=3]="ERROR",t[t.INFO=6]="INFO",t[t.DEBUG=7]="DEBUG"}(ye||(ye={}));var Se=ye,ke=function(){function t(t,e,n){this.key=t,this.session=e,this.events=[],this.options=n||{},this.sent=0,this.uniqueID=0}return t.prototype.log=function(t,e){t<=this.options.level&&(this.events.push(H({},e,{timestamp:M.now()})),this.options.limit&&this.events.length>this.options.limit&&this.events.shift())},t.prototype.error=function(t){this.log(Se.ERROR,t)},t.prototype.info=function(t){this.log(Se.INFO,t)},t.prototype.debug=function(t){this.log(Se.DEBUG,t)},t.prototype.isEmpty=function(){return 0===this.events.length},t.prototype.send=function(t,e){var n=this,o=H({session:this.session,bundle:this.sent+1,key:this.key,lib:"js",version:this.options.version,cluster:this.options.cluster,features:this.options.features,timeline:this.events},this.options.params);return this.events=[],t(o,(function(t,o){t||n.sent++,e&&e(t,o)})),!0},t.prototype.generateUniqueID=function(){return this.uniqueID++,this.uniqueID},t}(),Ce=function(){function t(t,e,n,o){this.name=t,this.priority=e,this.transport=n,this.options=o||{}}return t.prototype.isSupported=function(){return this.transport.isSupported({useTLS:this.options.useTLS})},t.prototype.connect=function(t,e){var n=this;if(!this.isSupported())return Te(new m,e);if(this.priority>> 18 & 63), e += this._encodeByte(o >>> 12 & 63), e += this._encodeByte(o >>> 6 & 63), e += this._encodeByte(o >>> 0 & 63) - } - var r = t.length - n; - if (r > 0) { - o = t[n] << 16 | (2 === r ? t[n + 1] << 8 : 0); - e += this._encodeByte(o >>> 18 & 63), e += this._encodeByte(o >>> 12 & 63), e += 2 === r ? this._encodeByte(o >>> 6 & 63) : this._paddingCharacter || "", e += this._paddingCharacter || "" - } - return e - }, t.prototype.maxDecodedLength = function(t) { - return this._paddingCharacter ? t / 4 * 3 | 0 : (6 * t + 7) / 8 | 0 - }, t.prototype.decodedLength = function(t) { - return this.maxDecodedLength(t.length - this._getPaddingLength(t)) - }, t.prototype.decode = function(t) { - if (0 === t.length) return new Uint8Array(0); - for (var e = this._getPaddingLength(t), n = t.length - e, o = new Uint8Array(this.maxDecodedLength(n)), r = 0, i = 0, s = 0, c = 0, a = 0, u = 0, h = 0; i < n - 4; i += 4) c = this._decodeChar(t.charCodeAt(i + 0)), a = this._decodeChar(t.charCodeAt(i + 1)), u = this._decodeChar(t.charCodeAt(i + 2)), h = this._decodeChar(t.charCodeAt(i + 3)), o[r++] = c << 2 | a >>> 4, o[r++] = a << 4 | u >>> 2, o[r++] = u << 6 | h, s |= 256 & c, s |= 256 & a, s |= 256 & u, s |= 256 & h; - if (i < n - 1 && (c = this._decodeChar(t.charCodeAt(i)), a = this._decodeChar(t.charCodeAt(i + 1)), o[r++] = c << 2 | a >>> 4, s |= 256 & c, s |= 256 & a), i < n - 2 && (u = this._decodeChar(t.charCodeAt(i + 2)), o[r++] = a << 4 | u >>> 2, s |= 256 & u), i < n - 3 && (h = this._decodeChar(t.charCodeAt(i + 3)), o[r++] = u << 6 | h, s |= 256 & h), 0 !== s) throw new Error("Base64Coder: incorrect characters for decoding"); - return o - }, t.prototype._encodeByte = function(t) { - var e = t; - return e += 65, e += 25 - t >>> 8 & 6, e += 51 - t >>> 8 & -75, e += 61 - t >>> 8 & -15, e += 62 - t >>> 8 & 3, String.fromCharCode(e) - }, t.prototype._decodeChar = function(t) { - var e = 256; - return e += (42 - t & t - 44) >>> 8 & -256 + t - 43 + 62, e += (46 - t & t - 48) >>> 8 & -256 + t - 47 + 63, e += (47 - t & t - 58) >>> 8 & -256 + t - 48 + 52, e += (64 - t & t - 91) >>> 8 & -256 + t - 65 + 0, e += (96 - t & t - 123) >>> 8 & -256 + t - 97 + 26 - }, t.prototype._getPaddingLength = function(t) { - var e = 0; - if (this._paddingCharacter) { - for (var n = t.length - 1; n >= 0 && t[n] === this._paddingCharacter; n--) e++; - if (t.length < 4 || e > 2) throw new Error("Base64Coder: incorrect padding") - } - return e - }, t - }(); - e.Coder = i; - var s = new i; - e.encode = function(t) { - return s.encode(t) - }, e.decode = function(t) { - return s.decode(t) - }; - var c = function(t) { - function e() { - return null !== t && t.apply(this, arguments) || this - } - return r(e, t), e.prototype._encodeByte = function(t) { - var e = t; - return e += 65, e += 25 - t >>> 8 & 6, e += 51 - t >>> 8 & -75, e += 61 - t >>> 8 & -13, e += 62 - t >>> 8 & 49, String.fromCharCode(e) - }, e.prototype._decodeChar = function(t) { - var e = 256; - return e += (44 - t & t - 46) >>> 8 & -256 + t - 45 + 62, e += (94 - t & t - 96) >>> 8 & -256 + t - 95 + 63, e += (47 - t & t - 58) >>> 8 & -256 + t - 48 + 52, e += (64 - t & t - 91) >>> 8 & -256 + t - 65 + 0, e += (96 - t & t - 123) >>> 8 & -256 + t - 97 + 26 - }, e - }(i); - e.URLSafeCoder = c; - var a = new c; - e.encodeURLSafe = function(t) { - return a.encode(t) - }, e.decodeURLSafe = function(t) { - return a.decode(t) - }, e.encodedLength = function(t) { - return s.encodedLength(t) - }, e.maxDecodedLength = function(t) { - return s.maxDecodedLength(t) - }, e.decodedLength = function(t) { - return s.decodedLength(t) - } - }, function(t, e, n) { - "use strict"; - Object.defineProperty(e, "__esModule", { - value: !0 - }); - var o = "utf8: invalid source encoding"; - - function r(t) { - for (var e = 0, n = 0; n < t.length; n++) { - var o = t.charCodeAt(n); - if (o < 128) e += 1; - else if (o < 2048) e += 2; - else if (o < 55296) e += 3; - else { - if (!(o <= 57343)) throw new Error("utf8: invalid string"); - if (n >= t.length - 1) throw new Error("utf8: invalid string"); - n++, e += 4 - } - } - return e - } - e.encode = function(t) { - for (var e = new Uint8Array(r(t)), n = 0, o = 0; o < t.length; o++) { - var i = t.charCodeAt(o); - i < 128 ? e[n++] = i : i < 2048 ? (e[n++] = 192 | i >> 6, e[n++] = 128 | 63 & i) : i < 55296 ? (e[n++] = 224 | i >> 12, e[n++] = 128 | i >> 6 & 63, e[n++] = 128 | 63 & i) : (o++, i = (1023 & i) << 10, i |= 1023 & t.charCodeAt(o), i += 65536, e[n++] = 240 | i >> 18, e[n++] = 128 | i >> 12 & 63, e[n++] = 128 | i >> 6 & 63, e[n++] = 128 | 63 & i) - } - return e - }, e.encodedLength = r, e.decode = function(t) { - for (var e = [], n = 0; n < t.length; n++) { - var r = t[n]; - if (128 & r) { - var i = void 0; - if (r < 224) { - if (n >= t.length) throw new Error(o); - if (128 != (192 & (s = t[++n]))) throw new Error(o); - r = (31 & r) << 6 | 63 & s, i = 128 - } else if (r < 240) { - if (n >= t.length - 1) throw new Error(o); - var s = t[++n], - c = t[++n]; - if (128 != (192 & s) || 128 != (192 & c)) throw new Error(o); - r = (15 & r) << 12 | (63 & s) << 6 | 63 & c, i = 2048 - } else { - if (!(r < 248)) throw new Error(o); - if (n >= t.length - 2) throw new Error(o); - s = t[++n], c = t[++n]; - var a = t[++n]; - if (128 != (192 & s) || 128 != (192 & c) || 128 != (192 & a)) throw new Error(o); - r = (15 & r) << 18 | (63 & s) << 12 | (63 & c) << 6 | 63 & a, i = 65536 - } - if (r < i || r >= 55296 && r <= 57343) throw new Error(o); - if (r >= 65536) { - if (r > 1114111) throw new Error(o); - r -= 65536, e.push(String.fromCharCode(55296 | r >> 10)), r = 56320 | 1023 & r - } - } - e.push(String.fromCharCode(r)) - } - return e.join("") - } - }, function(t, e, n) { - t.exports = n(3).default - }, function(t, e, n) { - "use strict"; - n.r(e); - var o, r = function() { - function t(t, e) { - this.lastId = 0, this.prefix = t, this.name = e - } - return t.prototype.create = function(t) { - this.lastId++; - var e = this.lastId, - n = this.prefix + e, - o = this.name + "[" + e + "]", - r = !1, - i = function() { - r || (t.apply(null, arguments), r = !0) - }; - return this[e] = i, { - number: e, - id: n, - name: o, - callback: i - } - }, t.prototype.remove = function(t) { - delete this[t.number] - }, t - }(), - i = new r("_pusher_script_", "Pusher.ScriptReceivers"), - s = { - VERSION: "7.0.2", - PROTOCOL: 7, - wsPort: 6001, - wssPort: 6001, - wsPath: "", - httpHost: "sockjs.pusher.com", - httpPort: 80, - httpsPort: 443, - httpPath: "/pusher", - stats_host: "stats.pusher.com", - authEndpoint: "/pusher/auth", - authTransport: "ajax", - activityTimeout: 12e4, - pongTimeout: 3e4, - unavailableTimeout: 1e4, - cluster: "ap1", - cdn_http: "http://js.pusher.com", - cdn_https: "https://js.pusher.com", - dependency_suffix: "" - }, - c = function() { - function t(t) { - this.options = t, this.receivers = t.receivers || i, this.loading = {} - } - return t.prototype.load = function(t, e, n) { - var o = this; - if (o.loading[t] && o.loading[t].length > 0) o.loading[t].push(n); - else { - o.loading[t] = [n]; - var r = _e.createScriptRequest(o.getPath(t, e)), - i = o.receivers.create((function(e) { - if (o.receivers.remove(i), o.loading[t]) { - var n = o.loading[t]; - delete o.loading[t]; - for (var s = function(t) { - t || r.cleanup() - }, c = 0; c < n.length; c++) n[c](e, s) - } - })); - r.send(i) - } - }, t.prototype.getRoot = function(t) { - var e = _e.getDocument().location.protocol; - return (t && t.useTLS || "https:" === e ? this.options.cdn_https : this.options.cdn_http).replace(/\/*$/, "") + "/" + this.options.version - }, t.prototype.getPath = function(t, e) { - return this.getRoot(e) + "/" + t + this.options.suffix + ".js" - }, t - }(), - a = new r("_pusher_dependencies", "Pusher.DependenciesReceivers"), - u = new c({ - cdn_http: s.cdn_http, - cdn_https: s.cdn_https, - version: s.VERSION, - suffix: s.dependency_suffix, - receivers: a - }), - h = { - baseUrl: "https://pusher.com", - urls: { - authenticationEndpoint: { - path: "/docs/authenticating_users" - }, - javascriptQuickStart: { - path: "/docs/javascript_quick_start" - }, - triggeringClientEvents: { - path: "/docs/client_api_guide/client_events#trigger-events" - }, - encryptedChannelSupport: { - fullUrl: "https://github.com/pusher/pusher-js/tree/cc491015371a4bde5743d1c87a0fbac0feb53195#encrypted-channel-support" - } - } - }, - p = function(t) { - var e, n = h.urls[t]; - return n ? (n.fullUrl ? e = n.fullUrl : n.path && (e = h.baseUrl + n.path), e ? "See: " + e : "") : "" - }, - l = (o = function(t, e) { - return (o = Object.setPrototypeOf || { - __proto__: [] - } - instanceof Array && function(t, e) { - t.__proto__ = e - } || function(t, e) { - for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]) - })(t, e) - }, function(t, e) { - function n() { - this.constructor = t - } - o(t, e), t.prototype = null === e ? Object.create(e) : (n.prototype = e.prototype, new n) - }), - f = function(t) { - function e(e) { - var n = this.constructor, - o = t.call(this, e) || this; - return Object.setPrototypeOf(o, n.prototype), o - } - return l(e, t), e - }(Error), - d = function(t) { - function e(e) { - var n = this.constructor, - o = t.call(this, e) || this; - return Object.setPrototypeOf(o, n.prototype), o - } - return l(e, t), e - }(Error), - y = function(t) { - function e(e) { - var n = this.constructor, - o = t.call(this, e) || this; - return Object.setPrototypeOf(o, n.prototype), o - } - return l(e, t), e - }(Error), - g = function(t) { - function e(e) { - var n = this.constructor, - o = t.call(this, e) || this; - return Object.setPrototypeOf(o, n.prototype), o - } - return l(e, t), e - }(Error), - v = function(t) { - function e(e) { - var n = this.constructor, - o = t.call(this, e) || this; - return Object.setPrototypeOf(o, n.prototype), o - } - return l(e, t), e - }(Error), - b = function(t) { - function e(e) { - var n = this.constructor, - o = t.call(this, e) || this; - return Object.setPrototypeOf(o, n.prototype), o - } - return l(e, t), e - }(Error), - m = function(t) { - function e(e) { - var n = this.constructor, - o = t.call(this, e) || this; - return Object.setPrototypeOf(o, n.prototype), o - } - return l(e, t), e - }(Error), - w = function(t) { - function e(e, n) { - var o = this.constructor, - r = t.call(this, n) || this; - return r.status = e, Object.setPrototypeOf(r, o.prototype), r - } - return l(e, t), e - }(Error), - _ = function(t, e, n) { - var o, r = this; - for (var i in (o = _e.createXHR()).open("POST", r.options.authEndpoint, !0), o.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"), this.authOptions.headers) o.setRequestHeader(i, this.authOptions.headers[i]); - return o.onreadystatechange = function() { - if (4 === o.readyState) - if (200 === o.status) { - var t = void 0, - e = !1; - try { - t = JSON.parse(o.responseText), e = !0 - } catch (t) { - n(new w(200, "JSON returned from auth endpoint was invalid, yet status code was 200. Data was: " + o.responseText), { - auth: "" - }) - } - e && n(null, t) - } else { - var i = p("authenticationEndpoint"); - n(new w(o.status, "Unable to retrieve auth string from auth endpoint - received status: " + o.status + " from " + r.options.authEndpoint + ". Clients must be authenticated to join private or presence channels. " + i), { - auth: "" - }) - } - }, o.send(this.composeQuery(e)), o - }; - for (var S = String.fromCharCode, k = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", C = {}, T = 0, P = k.length; T < P; T++) C[k.charAt(T)] = T; - var O = function(t) { - var e = t.charCodeAt(0); - return e < 128 ? t : e < 2048 ? S(192 | e >>> 6) + S(128 | 63 & e) : S(224 | e >>> 12 & 15) + S(128 | e >>> 6 & 63) + S(128 | 63 & e) - }, - E = function(t) { - return t.replace(/[^\x00-\x7F]/g, O) - }, - L = function(t) { - var e = [0, 2, 1][t.length % 3], - n = t.charCodeAt(0) << 16 | (t.length > 1 ? t.charCodeAt(1) : 0) << 8 | (t.length > 2 ? t.charCodeAt(2) : 0); - return [k.charAt(n >>> 18), k.charAt(n >>> 12 & 63), e >= 2 ? "=" : k.charAt(n >>> 6 & 63), e >= 1 ? "=" : k.charAt(63 & n)].join("") - }, - x = window.btoa || function(t) { - return t.replace(/[\s\S]{1,3}/g, L) - }, - A = function() { - function t(t, e, n, o) { - var r = this; - this.clear = e, this.timer = t((function() { - r.timer && (r.timer = o(r.timer)) - }), n) - } - return t.prototype.isRunning = function() { - return null !== this.timer - }, t.prototype.ensureAborted = function() { - this.timer && (this.clear(this.timer), this.timer = null) - }, t - }(), - R = function() { - var t = function(e, n) { - return (t = Object.setPrototypeOf || { - __proto__: [] - } - instanceof Array && function(t, e) { - t.__proto__ = e - } || function(t, e) { - for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]) - })(e, n) - }; - return function(e, n) { - function o() { - this.constructor = e - } - t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o) - } - }(); - - function j(t) { - window.clearTimeout(t) - } - - function D(t) { - window.clearInterval(t) - } - var I = function(t) { - function e(e, n) { - return t.call(this, setTimeout, j, e, (function(t) { - return n(), null - })) || this - } - return R(e, t), e - }(A), - N = function(t) { - function e(e, n) { - return t.call(this, setInterval, D, e, (function(t) { - return n(), t - })) || this - } - return R(e, t), e - }(A), - M = { - now: function() { - return Date.now ? Date.now() : (new Date).valueOf() - }, - defer: function(t) { - return new I(0, t) - }, - method: function(t) { - for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n]; - var o = Array.prototype.slice.call(arguments, 1); - return function(e) { - return e[t].apply(e, o.concat(arguments)) - } - } - }; - - function H(t) { - for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n]; - for (var o = 0; o < e.length; o++) { - var r = e[o]; - for (var i in r) r[i] && r[i].constructor && r[i].constructor === Object ? t[i] = H(t[i] || {}, r[i]) : t[i] = r[i] - } - return t - } - - function q() { - for (var t = ["Pusher"], e = 0; e < arguments.length; e++) "string" == typeof arguments[e] ? t.push(arguments[e]) : t.push(Y(arguments[e])); - return t.join(" : ") - } - - function B(t, e) { - var n = Array.prototype.indexOf; - if (null === t) return -1; - if (n && t.indexOf === n) return t.indexOf(e); - for (var o = 0, r = t.length; o < r; o++) - if (t[o] === e) return o; - return -1 - } - - function z(t, e) { - for (var n in t) Object.prototype.hasOwnProperty.call(t, n) && e(t[n], n, t) - } - - function U(t) { - var e = []; - return z(t, (function(t, n) { - e.push(n) - })), e - } - - function F(t, e, n) { - for (var o = 0; o < t.length; o++) e.call(n || window, t[o], o, t) - } - - function X(t, e) { - for (var n = [], o = 0; o < t.length; o++) n.push(e(t[o], o, t, n)); - return n - } - - function J(t, e) { - e = e || function(t) { - return !!t - }; - for (var n = [], o = 0; o < t.length; o++) e(t[o], o, t, n) && n.push(t[o]); - return n - } - - function W(t, e) { - var n = {}; - return z(t, (function(o, r) { - (e && e(o, r, t, n) || Boolean(o)) && (n[r] = o) - })), n - } - - function G(t, e) { - for (var n = 0; n < t.length; n++) - if (e(t[n], n, t)) return !0; - return !1 - } - - function Q(t) { - return e = function(t) { - return "object" == typeof t && (t = Y(t)), encodeURIComponent((e = t.toString(), x(E(e)))); - var e - }, n = {}, z(t, (function(t, o) { - n[o] = e(t) - })), n; - var e, n - } - - function V(t) { - var e, n, o = W(t, (function(t) { - return void 0 !== t - })); - return X((e = Q(o), n = [], z(e, (function(t, e) { - n.push([e, t]) - })), n), M.method("join", "=")).join("&") - } - - function Y(t) { - try { - return JSON.stringify(t) - } catch (o) { - return JSON.stringify((e = [], n = [], function t(o, r) { - var i, s, c; - switch (typeof o) { - case "object": - if (!o) return null; - for (i = 0; i < e.length; i += 1) - if (e[i] === o) return { - $ref: n[i] - }; - if (e.push(o), n.push(r), "[object Array]" === Object.prototype.toString.apply(o)) - for (c = [], i = 0; i < o.length; i += 1) c[i] = t(o[i], r + "[" + i + "]"); - else - for (s in c = {}, o) Object.prototype.hasOwnProperty.call(o, s) && (c[s] = t(o[s], r + "[" + JSON.stringify(s) + "]")); - return c; - case "number": - case "string": - case "boolean": - return o - } - }(t, "$"))) - } - var e, n - } - var $ = new(function() { - function t() { - this.globalLog = function(t) { - window.console && window.console.log && window.console.log(t) - } - } - return t.prototype.debug = function() { - for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]; - this.log(this.globalLog, t) - }, t.prototype.warn = function() { - for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]; - this.log(this.globalLogWarn, t) - }, t.prototype.error = function() { - for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e]; - this.log(this.globalLogError, t) - }, t.prototype.globalLogWarn = function(t) { - window.console && window.console.warn ? window.console.warn(t) : this.globalLog(t) - }, t.prototype.globalLogError = function(t) { - window.console && window.console.error ? window.console.error(t) : this.globalLogWarn(t) - }, t.prototype.log = function(t) { - for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n]; - var o = q.apply(this, arguments); - if (Ie.log) Ie.log(o); - else if (Ie.logToConsole) { - var r = t.bind(this); - r(o) - } - }, t - }()), - K = function(t, e, n) { - void 0 !== this.authOptions.headers && $.warn("To send headers with the auth request, you must use AJAX, rather than JSONP."); - var o = t.nextAuthCallbackID.toString(); - t.nextAuthCallbackID++; - var r = t.getDocument(), - i = r.createElement("script"); - t.auth_callbacks[o] = function(t) { - n(null, t) - }; - var s = "Pusher.auth_callbacks['" + o + "']"; - i.src = this.options.authEndpoint + "?callback=" + encodeURIComponent(s) + "&" + this.composeQuery(e); - var c = r.getElementsByTagName("head")[0] || r.documentElement; - c.insertBefore(i, c.firstChild) - }, - Z = function() { - function t(t) { - this.src = t - } - return t.prototype.send = function(t) { - var e = this, - n = "Error loading " + e.src; - e.script = document.createElement("script"), e.script.id = t.id, e.script.src = e.src, e.script.type = "text/javascript", e.script.charset = "UTF-8", e.script.addEventListener ? (e.script.onerror = function() { - t.callback(n) - }, e.script.onload = function() { - t.callback(null) - }) : e.script.onreadystatechange = function() { - "loaded" !== e.script.readyState && "complete" !== e.script.readyState || t.callback(null) - }, void 0 === e.script.async && document.attachEvent && /opera/i.test(navigator.userAgent) ? (e.errorScript = document.createElement("script"), e.errorScript.id = t.id + "_error", e.errorScript.text = t.name + "('" + n + "');", e.script.async = e.errorScript.async = !1) : e.script.async = !0; - var o = document.getElementsByTagName("head")[0]; - o.insertBefore(e.script, o.firstChild), e.errorScript && o.insertBefore(e.errorScript, e.script.nextSibling) - }, t.prototype.cleanup = function() { - this.script && (this.script.onload = this.script.onerror = null, this.script.onreadystatechange = null), this.script && this.script.parentNode && this.script.parentNode.removeChild(this.script), this.errorScript && this.errorScript.parentNode && this.errorScript.parentNode.removeChild(this.errorScript), this.script = null, this.errorScript = null - }, t - }(), - tt = function() { - function t(t, e) { - this.url = t, this.data = e - } - return t.prototype.send = function(t) { - if (!this.request) { - var e = V(this.data), - n = this.url + "/" + t.number + "?" + e; - this.request = _e.createScriptRequest(n), this.request.send(t) - } - }, t.prototype.cleanup = function() { - this.request && this.request.cleanup() - }, t - }(), - et = { - name: "jsonp", - getAgent: function(t, e) { - return function(n, o) { - var r = "http" + (e ? "s" : "") + "://" + (t.host || t.options.host) + t.options.path, - s = _e.createJSONPRequest(r, n), - c = _e.ScriptReceivers.create((function(e, n) { - i.remove(c), s.cleanup(), n && n.host && (t.host = n.host), o && o(e, n) - })); - s.send(c) - } - } - }; - - function nt(t, e, n) { - let hostarrahn = '172.16.4.110'; - return "ws://" + hostarrahn + ':6001' + n - } - - function ot(t, e) { - return "/app/" + t + ("?protocol=" + s.PROTOCOL + "&client=js&version=" + s.VERSION + (e ? "&" + e : "")) - } - var rt = { - getInitial: function(t, e) { - return nt("ws", e, (e.httpPath || "") + ot(t, "flash=false")) - } - }, - it = { - getInitial: function(t, e) { - return nt("http", e, (e.httpPath || "/pusher") + ot(t)) - } - }, - st = { - getInitial: function(t, e) { - return nt("http", e, e.httpPath || "/pusher") - }, - getPath: function(t, e) { - return ot(t) - } - }, - ct = function() { - function t() { - this._callbacks = {} - } - return t.prototype.get = function(t) { - return this._callbacks[at(t)] - }, t.prototype.add = function(t, e, n) { - var o = at(t); - this._callbacks[o] = this._callbacks[o] || [], this._callbacks[o].push({ - fn: e, - context: n - }) - }, t.prototype.remove = function(t, e, n) { - if (t || e || n) { - var o = t ? [at(t)] : U(this._callbacks); - e || n ? this.removeCallback(o, e, n) : this.removeAllCallbacks(o) - } else this._callbacks = {} - }, t.prototype.removeCallback = function(t, e, n) { - F(t, (function(t) { - this._callbacks[t] = J(this._callbacks[t] || [], (function(t) { - return e && e !== t.fn || n && n !== t.context - })), 0 === this._callbacks[t].length && delete this._callbacks[t] - }), this) - }, t.prototype.removeAllCallbacks = function(t) { - F(t, (function(t) { - delete this._callbacks[t] - }), this) - }, t - }(); - - function at(t) { - return "_" + t - } - var ut = function() { - function t(t) { - this.callbacks = new ct, this.global_callbacks = [], this.failThrough = t - } - return t.prototype.bind = function(t, e, n) { - return this.callbacks.add(t, e, n), this - }, t.prototype.bind_global = function(t) { - return this.global_callbacks.push(t), this - }, t.prototype.unbind = function(t, e, n) { - return this.callbacks.remove(t, e, n), this - }, t.prototype.unbind_global = function(t) { - return t ? (this.global_callbacks = J(this.global_callbacks || [], (function(e) { - return e !== t - })), this) : (this.global_callbacks = [], this) - }, t.prototype.unbind_all = function() { - return this.unbind(), this.unbind_global(), this - }, t.prototype.emit = function(t, e, n) { - for (var o = 0; o < this.global_callbacks.length; o++) this.global_callbacks[o](t, e); - var r = this.callbacks.get(t), - i = []; - if (n ? i.push(e, n) : e && i.push(e), r && r.length > 0) - for (o = 0; o < r.length; o++) r[o].fn.apply(r[o].context || window, i); - else this.failThrough && this.failThrough(t, e); - return this - }, t - }(), - ht = function() { - var t = function(e, n) { - return (t = Object.setPrototypeOf || { - __proto__: [] - } - instanceof Array && function(t, e) { - t.__proto__ = e - } || function(t, e) { - for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]) - })(e, n) - }; - return function(e, n) { - function o() { - this.constructor = e - } - t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o) - } - }(), - pt = function(t) { - function e(e, n, o, r, i) { - var s = t.call(this) || this; - return s.initialize = _e.transportConnectionInitializer, s.hooks = e, s.name = n, s.priority = o, s.key = r, s.options = i, s.state = "new", s.timeline = i.timeline, s.activityTimeout = i.activityTimeout, s.id = s.timeline.generateUniqueID(), s - } - return ht(e, t), e.prototype.handlesActivityChecks = function() { - return Boolean(this.hooks.handlesActivityChecks) - }, e.prototype.supportsPing = function() { - return Boolean(this.hooks.supportsPing) - }, e.prototype.connect = function() { - var t = this; - if (this.socket || "initialized" !== this.state) return !1; - var e = this.hooks.urls.getInitial(this.key, this.options); - try { - this.socket = this.hooks.getSocket(e, this.options) - } catch (e) { - return M.defer((function() { - t.onError(e), t.changeState("closed") - })), !1 - } - return this.bindListeners(), $.debug("Connecting", { - transport: this.name, - url: e - }), this.changeState("connecting"), !0 - }, e.prototype.close = function() { - return !!this.socket && (this.socket.close(), !0) - }, e.prototype.send = function(t) { - var e = this; - return "open" === this.state && (M.defer((function() { - e.socket && e.socket.send(t) - })), !0) - }, e.prototype.ping = function() { - "open" === this.state && this.supportsPing() && this.socket.ping() - }, e.prototype.onOpen = function() { - this.hooks.beforeOpen && this.hooks.beforeOpen(this.socket, this.hooks.urls.getPath(this.key, this.options)), this.changeState("open"), this.socket.onopen = void 0 - }, e.prototype.onError = function(t) { - this.emit("error", { - type: "WebSocketError", - error: t - }), this.timeline.error(this.buildTimelineMessage({ - error: t.toString() - })) - }, e.prototype.onClose = function(t) { - t ? this.changeState("closed", { - code: t.code, - reason: t.reason, - wasClean: t.wasClean - }) : this.changeState("closed"), this.unbindListeners(), this.socket = void 0 - }, e.prototype.onMessage = function(t) { - this.emit("message", t) - }, e.prototype.onActivity = function() { - this.emit("activity") - }, e.prototype.bindListeners = function() { - var t = this; - this.socket.onopen = function() { - t.onOpen() - }, this.socket.onerror = function(e) { - t.onError(e) - }, this.socket.onclose = function(e) { - t.onClose(e) - }, this.socket.onmessage = function(e) { - t.onMessage(e) - }, this.supportsPing() && (this.socket.onactivity = function() { - t.onActivity() - }) - }, e.prototype.unbindListeners = function() { - this.socket && (this.socket.onopen = void 0, this.socket.onerror = void 0, this.socket.onclose = void 0, this.socket.onmessage = void 0, this.supportsPing() && (this.socket.onactivity = void 0)) - }, e.prototype.changeState = function(t, e) { - this.state = t, this.timeline.info(this.buildTimelineMessage({ - state: t, - params: e - })), this.emit(t, e) - }, e.prototype.buildTimelineMessage = function(t) { - return H({ - cid: this.id - }, t) - }, e - }(ut), - lt = function() { - function t(t) { - this.hooks = t - } - return t.prototype.isSupported = function(t) { - return this.hooks.isSupported(t) - }, t.prototype.createConnection = function(t, e, n, o) { - return new pt(this.hooks, t, e, n, o) - }, t - }(), - ft = new lt({ - urls: rt, - handlesActivityChecks: !1, - supportsPing: !1, - isInitialized: function() { - return Boolean(_e.getWebSocketAPI()) - }, - isSupported: function() { - return Boolean(_e.getWebSocketAPI()) - }, - getSocket: function(t) { - return _e.createWebSocket(t) - } - }), - dt = { - urls: it, - handlesActivityChecks: !1, - supportsPing: !0, - isInitialized: function() { - return !0 - } - }, - yt = H({ - getSocket: function(t) { - return _e.HTTPFactory.createStreamingSocket(t) - } - }, dt), - gt = H({ - getSocket: function(t) { - return _e.HTTPFactory.createPollingSocket(t) - } - }, dt), - vt = { - isSupported: function() { - return _e.isXHRSupported() - } - }, - bt = { - ws: ft, - xhr_streaming: new lt(H({}, yt, vt)), - xhr_polling: new lt(H({}, gt, vt)) - }, - mt = new lt({ - file: "sockjs", - urls: st, - handlesActivityChecks: !0, - supportsPing: !1, - isSupported: function() { - return !0 - }, - isInitialized: function() { - return void 0 !== window.SockJS - }, - getSocket: function(t, e) { - return new window.SockJS(t, null, { - js_path: u.getPath("sockjs", { - useTLS: e.useTLS - }), - ignore_null_origin: e.ignoreNullOrigin - }) - }, - beforeOpen: function(t, e) { - t.send(JSON.stringify({ - path: e - })) - } - }), - wt = { - isSupported: function(t) { - return _e.isXDRSupported(t.useTLS) - } - }, - _t = new lt(H({}, yt, wt)), - St = new lt(H({}, gt, wt)); - bt.xdr_streaming = _t, bt.xdr_polling = St, bt.sockjs = mt; - var kt = bt, - Ct = function() { - var t = function(e, n) { - return (t = Object.setPrototypeOf || { - __proto__: [] - } - instanceof Array && function(t, e) { - t.__proto__ = e - } || function(t, e) { - for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]) - })(e, n) - }; - return function(e, n) { - function o() { - this.constructor = e - } - t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o) - } - }(), - Tt = new(function(t) { - function e() { - var e = t.call(this) || this, - n = e; - return void 0 !== window.addEventListener && (window.addEventListener("online", (function() { - n.emit("online") - }), !1), window.addEventListener("offline", (function() { - n.emit("offline") - }), !1)), e - } - return Ct(e, t), e.prototype.isOnline = function() { - return void 0 === window.navigator.onLine || window.navigator.onLine - }, e - }(ut)), - Pt = function() { - function t(t, e, n) { - this.manager = t, this.transport = e, this.minPingDelay = n.minPingDelay, this.maxPingDelay = n.maxPingDelay, this.pingDelay = void 0 - } - return t.prototype.createConnection = function(t, e, n, o) { - var r = this; - o = H({}, o, { - activityTimeout: this.pingDelay - }); - var i = this.transport.createConnection(t, e, n, o), - s = null, - c = function() { - i.unbind("open", c), i.bind("closed", a), s = M.now() - }, - a = function(t) { - if (i.unbind("closed", a), 1002 === t.code || 1003 === t.code) r.manager.reportDeath(); - else if (!t.wasClean && s) { - var e = M.now() - s; - e < 2 * r.maxPingDelay && (r.manager.reportDeath(), r.pingDelay = Math.max(e / 2, r.minPingDelay)) - } - }; - return i.bind("open", c), i - }, t.prototype.isSupported = function(t) { - return this.manager.isAlive() && this.transport.isSupported(t) - }, t - }(), - Ot = { - decodeMessage: function(t) { - try { - var e = JSON.parse(t.data), - n = e.data; - if ("string" == typeof n) try { - n = JSON.parse(e.data) - } catch (t) {} - var o = { - event: e.event, - channel: e.channel, - data: n - }; - return e.user_id && (o.user_id = e.user_id), o - } catch (e) { - throw { - type: "MessageParseError", - error: e, - data: t.data - } - } - }, - encodeMessage: function(t) { - return JSON.stringify(t) - }, - processHandshake: function(t) { - var e = Ot.decodeMessage(t); - if ("pusher:connection_established" === e.event) { - if (!e.data.activity_timeout) throw "No activity timeout specified in handshake"; - return { - action: "connected", - id: e.data.socket_id, - activityTimeout: 1e3 * e.data.activity_timeout - } - } - if ("pusher:error" === e.event) return { - action: this.getCloseAction(e.data), - error: this.getCloseError(e.data) - }; - throw "Invalid handshake" - }, - getCloseAction: function(t) { - return t.code < 4e3 ? t.code >= 1002 && t.code <= 1004 ? "backoff" : null : 4e3 === t.code ? "tls_only" : t.code < 4100 ? "refused" : t.code < 4200 ? "backoff" : t.code < 4300 ? "retry" : "refused" - }, - getCloseError: function(t) { - return 1e3 !== t.code && 1001 !== t.code ? { - type: "PusherError", - data: { - code: t.code, - message: t.reason || t.message - } - } : null - } - }, - Et = Ot, - Lt = function() { - var t = function(e, n) { - return (t = Object.setPrototypeOf || { - __proto__: [] - } - instanceof Array && function(t, e) { - t.__proto__ = e - } || function(t, e) { - for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]) - })(e, n) - }; - return function(e, n) { - function o() { - this.constructor = e - } - t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o) - } - }(), - xt = function(t) { - function e(e, n) { - var o = t.call(this) || this; - return o.id = e, o.transport = n, o.activityTimeout = n.activityTimeout, o.bindListeners(), o - } - return Lt(e, t), e.prototype.handlesActivityChecks = function() { - return this.transport.handlesActivityChecks() - }, e.prototype.send = function(t) { - return this.transport.send(t) - }, e.prototype.send_event = function(t, e, n) { - var o = { - event: t, - data: e - }; - return n && (o.channel = n), $.debug("Event sent", o), this.send(Et.encodeMessage(o)) - }, e.prototype.ping = function() { - this.transport.supportsPing() ? this.transport.ping() : this.send_event("pusher:ping", {}) - }, e.prototype.close = function() { - this.transport.close() - }, e.prototype.bindListeners = function() { - var t = this, - e = { - message: function(e) { - var n; - try { - n = Et.decodeMessage(e) - } catch (n) { - t.emit("error", { - type: "MessageParseError", - error: n, - data: e.data - }) - } - if (void 0 !== n) { - switch ($.debug("Event recd", n), n.event) { - case "pusher:error": - t.emit("error", { - type: "PusherError", - data: n.data - }); - break; - case "pusher:ping": - t.emit("ping"); - break; - case "pusher:pong": - t.emit("pong") - } - t.emit("message", n) - } - }, - activity: function() { - t.emit("activity") - }, - error: function(e) { - t.emit("error", e) - }, - closed: function(e) { - n(), e && e.code && t.handleCloseEvent(e), t.transport = null, t.emit("closed") - } - }, - n = function() { - z(e, (function(e, n) { - t.transport.unbind(n, e) - })) - }; - z(e, (function(e, n) { - t.transport.bind(n, e) - })) - }, e.prototype.handleCloseEvent = function(t) { - var e = Et.getCloseAction(t), - n = Et.getCloseError(t); - n && this.emit("error", n), e && this.emit(e, { - action: e, - error: n - }) - }, e - }(ut), - At = function() { - function t(t, e) { - this.transport = t, this.callback = e, this.bindListeners() - } - return t.prototype.close = function() { - this.unbindListeners(), this.transport.close() - }, t.prototype.bindListeners = function() { - var t = this; - this.onMessage = function(e) { - var n; - t.unbindListeners(); - try { - n = Et.processHandshake(e) - } catch (e) { - return t.finish("error", { - error: e - }), void t.transport.close() - } - "connected" === n.action ? t.finish("connected", { - connection: new xt(n.id, t.transport), - activityTimeout: n.activityTimeout - }) : (t.finish(n.action, { - error: n.error - }), t.transport.close()) - }, this.onClosed = function(e) { - t.unbindListeners(); - var n = Et.getCloseAction(e) || "backoff", - o = Et.getCloseError(e); - t.finish(n, { - error: o - }) - }, this.transport.bind("message", this.onMessage), this.transport.bind("closed", this.onClosed) - }, t.prototype.unbindListeners = function() { - this.transport.unbind("message", this.onMessage), this.transport.unbind("closed", this.onClosed) - }, t.prototype.finish = function(t, e) { - this.callback(H({ - transport: this.transport, - action: t - }, e)) - }, t - }(), - Rt = function() { - function t(t, e) { - this.channel = t; - var n = e.authTransport; - if (void 0 === _e.getAuthorizers()[n]) throw "'" + n + "' is not a recognized auth transport"; - this.type = n, this.options = e, this.authOptions = e.auth || {} - } - return t.prototype.composeQuery = function(t) { - var e = "socket_id=" + encodeURIComponent(t) + "&channel_name=" + encodeURIComponent(this.channel.name); - for (var n in this.authOptions.params) e += "&" + encodeURIComponent(n) + "=" + encodeURIComponent(this.authOptions.params[n]); - return e - }, t.prototype.authorize = function(e, n) { - t.authorizers = t.authorizers || _e.getAuthorizers(), t.authorizers[this.type].call(this, _e, e, n) - }, t - }(), - jt = function() { - function t(t, e) { - this.timeline = t, this.options = e || {} - } - return t.prototype.send = function(t, e) { - this.timeline.isEmpty() || this.timeline.send(_e.TimelineTransport.getAgent(this, t), e) - }, t - }(), - Dt = function() { - var t = function(e, n) { - return (t = Object.setPrototypeOf || { - __proto__: [] - } - instanceof Array && function(t, e) { - t.__proto__ = e - } || function(t, e) { - for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]) - })(e, n) - }; - return function(e, n) { - function o() { - this.constructor = e - } - t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o) - } - }(), - It = function(t) { - function e(e, n) { - var o = t.call(this, (function(t, n) { - $.debug("No callbacks on " + e + " for " + t) - })) || this; - return o.name = e, o.pusher = n, o.subscribed = !1, o.subscriptionPending = !1, o.subscriptionCancelled = !1, o - } - return Dt(e, t), e.prototype.authorize = function(t, e) { - return e(null, { - auth: "" - }) - }, e.prototype.trigger = function(t, e) { - if (0 !== t.indexOf("client-")) throw new f("Event '" + t + "' does not start with 'client-'"); - if (!this.subscribed) { - var n = p("triggeringClientEvents"); - $.warn("Client event triggered before channel 'subscription_succeeded' event . " + n) - } - return this.pusher.send_event(t, e, this.name) - }, e.prototype.disconnect = function() { - this.subscribed = !1, this.subscriptionPending = !1 - }, e.prototype.handleEvent = function(t) { - var e = t.event, - n = t.data; - if ("pusher_internal:subscription_succeeded" === e) this.handleSubscriptionSucceededEvent(t); - else if (0 !== e.indexOf("pusher_internal:")) { - this.emit(e, n, {}) - } - }, e.prototype.handleSubscriptionSucceededEvent = function(t) { - this.subscriptionPending = !1, this.subscribed = !0, this.subscriptionCancelled ? this.pusher.unsubscribe(this.name) : this.emit("pusher:subscription_succeeded", t.data) - }, e.prototype.subscribe = function() { - var t = this; - this.subscribed || (this.subscriptionPending = !0, this.subscriptionCancelled = !1, this.authorize(this.pusher.connection.socket_id, (function(e, n) { - e ? (t.subscriptionPending = !1, $.error(e.toString()), t.emit("pusher:subscription_error", Object.assign({}, { - type: "AuthError", - error: e.message - }, e instanceof w ? { - status: e.status - } : {}))) : t.pusher.send_event("pusher:subscribe", { - auth: n.auth, - channel_data: n.channel_data, - channel: t.name - }) - }))) - }, e.prototype.unsubscribe = function() { - this.subscribed = !1, this.pusher.send_event("pusher:unsubscribe", { - channel: this.name - }) - }, e.prototype.cancelSubscription = function() { - this.subscriptionCancelled = !0 - }, e.prototype.reinstateSubscription = function() { - this.subscriptionCancelled = !1 - }, e - }(ut), - Nt = function() { - var t = function(e, n) { - return (t = Object.setPrototypeOf || { - __proto__: [] - } - instanceof Array && function(t, e) { - t.__proto__ = e - } || function(t, e) { - for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]) - })(e, n) - }; - return function(e, n) { - function o() { - this.constructor = e - } - t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o) - } - }(), - Mt = function(t) { - function e() { - return null !== t && t.apply(this, arguments) || this - } - return Nt(e, t), e.prototype.authorize = function(t, e) { - return Qt.createAuthorizer(this, this.pusher.config).authorize(t, e) - }, e - }(It), - Ht = function() { - function t() { - this.reset() - } - return t.prototype.get = function(t) { - return Object.prototype.hasOwnProperty.call(this.members, t) ? { - id: t, - info: this.members[t] - } : null - }, t.prototype.each = function(t) { - var e = this; - z(this.members, (function(n, o) { - t(e.get(o)) - })) - }, t.prototype.setMyID = function(t) { - this.myID = t - }, t.prototype.onSubscription = function(t) { - this.members = t.presence.hash, this.count = t.presence.count, this.me = this.get(this.myID) - }, t.prototype.addMember = function(t) { - return null === this.get(t.user_id) && this.count++, this.members[t.user_id] = t.user_info, this.get(t.user_id) - }, t.prototype.removeMember = function(t) { - var e = this.get(t.user_id); - return e && (delete this.members[t.user_id], this.count--), e - }, t.prototype.reset = function() { - this.members = {}, this.count = 0, this.myID = null, this.me = null - }, t - }(), - qt = function() { - var t = function(e, n) { - return (t = Object.setPrototypeOf || { - __proto__: [] - } - instanceof Array && function(t, e) { - t.__proto__ = e - } || function(t, e) { - for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]) - })(e, n) - }; - return function(e, n) { - function o() { - this.constructor = e - } - t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o) - } - }(), - Bt = function(t) { - function e(e, n) { - var o = t.call(this, e, n) || this; - return o.members = new Ht, o - } - return qt(e, t), e.prototype.authorize = function(e, n) { - var o = this; - t.prototype.authorize.call(this, e, (function(t, e) { - if (!t) { - if (void 0 === (e = e).channel_data) { - var r = p("authenticationEndpoint"); - return $.error("Invalid auth response for channel '" + o.name + "',expected 'channel_data' field. " + r), void n("Invalid auth response") - } - var i = JSON.parse(e.channel_data); - o.members.setMyID(i.user_id) - } - n(t, e) - })) - }, e.prototype.handleEvent = function(t) { - var e = t.event; - if (0 === e.indexOf("pusher_internal:")) this.handleInternalEvent(t); - else { - var n = t.data, - o = {}; - t.user_id && (o.user_id = t.user_id), this.emit(e, n, o) - } - }, e.prototype.handleInternalEvent = function(t) { - var e = t.event, - n = t.data; - switch (e) { - case "pusher_internal:subscription_succeeded": - this.handleSubscriptionSucceededEvent(t); - break; - case "pusher_internal:member_added": - var o = this.members.addMember(n); - this.emit("pusher:member_added", o); - break; - case "pusher_internal:member_removed": - var r = this.members.removeMember(n); - r && this.emit("pusher:member_removed", r) - } - }, e.prototype.handleSubscriptionSucceededEvent = function(t) { - this.subscriptionPending = !1, this.subscribed = !0, this.subscriptionCancelled ? this.pusher.unsubscribe(this.name) : (this.members.onSubscription(t.data), this.emit("pusher:subscription_succeeded", this.members)) - }, e.prototype.disconnect = function() { - this.members.reset(), t.prototype.disconnect.call(this) - }, e - }(Mt), - zt = n(1), - Ut = n(0), - Ft = function() { - var t = function(e, n) { - return (t = Object.setPrototypeOf || { - __proto__: [] - } - instanceof Array && function(t, e) { - t.__proto__ = e - } || function(t, e) { - for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]) - })(e, n) - }; - return function(e, n) { - function o() { - this.constructor = e - } - t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o) - } - }(), - Xt = function(t) { - function e(e, n, o) { - var r = t.call(this, e, n) || this; - return r.key = null, r.nacl = o, r - } - return Ft(e, t), e.prototype.authorize = function(e, n) { - var o = this; - t.prototype.authorize.call(this, e, (function(t, e) { - if (t) n(t, e); - else { - var r = e.shared_secret; - r ? (o.key = Object(Ut.decode)(r), delete e.shared_secret, n(null, e)) : n(new Error("No shared_secret key in auth payload for encrypted channel: " + o.name), null) - } - })) - }, e.prototype.trigger = function(t, e) { - throw new v("Client events are not currently supported for encrypted channels") - }, e.prototype.handleEvent = function(e) { - var n = e.event, - o = e.data; - 0 !== n.indexOf("pusher_internal:") && 0 !== n.indexOf("pusher:") ? this.handleEncryptedEvent(n, o) : t.prototype.handleEvent.call(this, e) - }, e.prototype.handleEncryptedEvent = function(t, e) { - var n = this; - if (this.key) - if (e.ciphertext && e.nonce) { - var o = Object(Ut.decode)(e.ciphertext); - if (o.length < this.nacl.secretbox.overheadLength) $.error("Expected encrypted event ciphertext length to be " + this.nacl.secretbox.overheadLength + ", got: " + o.length); - else { - var r = Object(Ut.decode)(e.nonce); - if (r.length < this.nacl.secretbox.nonceLength) $.error("Expected encrypted event nonce length to be " + this.nacl.secretbox.nonceLength + ", got: " + r.length); - else { - var i = this.nacl.secretbox.open(o, r, this.key); - if (null === i) return $.debug("Failed to decrypt an event, probably because it was encrypted with a different key. Fetching a new key from the authEndpoint..."), void this.authorize(this.pusher.connection.socket_id, (function(e, s) { - e ? $.error("Failed to make a request to the authEndpoint: " + s + ". Unable to fetch new key, so dropping encrypted event") : null !== (i = n.nacl.secretbox.open(o, r, n.key)) ? n.emit(t, n.getDataToEmit(i)) : $.error("Failed to decrypt event with new key. Dropping encrypted event") - })); - this.emit(t, this.getDataToEmit(i)) - } - } - } else $.error("Unexpected format for encrypted event, expected object with `ciphertext` and `nonce` fields, got: " + e); - else $.debug("Received encrypted event before key has been retrieved from the authEndpoint") - }, e.prototype.getDataToEmit = function(t) { - var e = Object(zt.decode)(t); - try { - return JSON.parse(e) - } catch (t) { - return e - } - }, e - }(Mt), - Jt = function() { - var t = function(e, n) { - return (t = Object.setPrototypeOf || { - __proto__: [] - } - instanceof Array && function(t, e) { - t.__proto__ = e - } || function(t, e) { - for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]) - })(e, n) - }; - return function(e, n) { - function o() { - this.constructor = e - } - t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o) - } - }(), - Wt = function(t) { - function e(e, n) { - var o = t.call(this) || this; - o.state = "initialized", o.connection = null, o.key = e, o.options = n, o.timeline = o.options.timeline, o.usingTLS = o.options.useTLS, o.errorCallbacks = o.buildErrorCallbacks(), o.connectionCallbacks = o.buildConnectionCallbacks(o.errorCallbacks), o.handshakeCallbacks = o.buildHandshakeCallbacks(o.errorCallbacks); - var r = _e.getNetwork(); - return r.bind("online", (function() { - o.timeline.info({ - netinfo: "online" - }), "connecting" !== o.state && "unavailable" !== o.state || o.retryIn(0) - })), r.bind("offline", (function() { - o.timeline.info({ - netinfo: "offline" - }), o.connection && o.sendActivityCheck() - })), o.updateStrategy(), o - } - return Jt(e, t), e.prototype.connect = function() { - this.connection || this.runner || (this.strategy.isSupported() ? (this.updateState("connecting"), this.startConnecting(), this.setUnavailableTimer()) : this.updateState("failed")) - }, e.prototype.send = function(t) { - return !!this.connection && this.connection.send(t) - }, e.prototype.send_event = function(t, e, n) { - return !!this.connection && this.connection.send_event(t, e, n) - }, e.prototype.disconnect = function() { - this.disconnectInternally(), this.updateState("disconnected") - }, e.prototype.isUsingTLS = function() { - return this.usingTLS - }, e.prototype.startConnecting = function() { - var t = this, - e = function(n, o) { - n ? t.runner = t.strategy.connect(0, e) : "error" === o.action ? (t.emit("error", { - type: "HandshakeError", - error: o.error - }), t.timeline.error({ - handshakeError: o.error - })) : (t.abortConnecting(), t.handshakeCallbacks[o.action](o)) - }; - this.runner = this.strategy.connect(0, e) - }, e.prototype.abortConnecting = function() { - this.runner && (this.runner.abort(), this.runner = null) - }, e.prototype.disconnectInternally = function() { - (this.abortConnecting(), this.clearRetryTimer(), this.clearUnavailableTimer(), this.connection) && this.abandonConnection().close() - }, e.prototype.updateStrategy = function() { - this.strategy = this.options.getStrategy({ - key: this.key, - timeline: this.timeline, - useTLS: this.usingTLS - }) - }, e.prototype.retryIn = function(t) { - var e = this; - this.timeline.info({ - action: "retry", - delay: t - }), t > 0 && this.emit("connecting_in", Math.round(t / 1e3)), this.retryTimer = new I(t || 0, (function() { - e.disconnectInternally(), e.connect() - })) - }, e.prototype.clearRetryTimer = function() { - this.retryTimer && (this.retryTimer.ensureAborted(), this.retryTimer = null) - }, e.prototype.setUnavailableTimer = function() { - var t = this; - this.unavailableTimer = new I(this.options.unavailableTimeout, (function() { - t.updateState("unavailable") - })) - }, e.prototype.clearUnavailableTimer = function() { - this.unavailableTimer && this.unavailableTimer.ensureAborted() - }, e.prototype.sendActivityCheck = function() { - var t = this; - this.stopActivityCheck(), this.connection.ping(), this.activityTimer = new I(this.options.pongTimeout, (function() { - t.timeline.error({ - pong_timed_out: t.options.pongTimeout - }), t.retryIn(0) - })) - }, e.prototype.resetActivityCheck = function() { - var t = this; - this.stopActivityCheck(), this.connection && !this.connection.handlesActivityChecks() && (this.activityTimer = new I(this.activityTimeout, (function() { - t.sendActivityCheck() - }))) - }, e.prototype.stopActivityCheck = function() { - this.activityTimer && this.activityTimer.ensureAborted() - }, e.prototype.buildConnectionCallbacks = function(t) { - var e = this; - return H({}, t, { - message: function(t) { - e.resetActivityCheck(), e.emit("message", t) - }, - ping: function() { - e.send_event("pusher:pong", {}) - }, - activity: function() { - e.resetActivityCheck() - }, - error: function(t) { - e.emit("error", t) - }, - closed: function() { - e.abandonConnection(), e.shouldRetry() && e.retryIn(1e3) - } - }) - }, e.prototype.buildHandshakeCallbacks = function(t) { - var e = this; - return H({}, t, { - connected: function(t) { - e.activityTimeout = Math.min(e.options.activityTimeout, t.activityTimeout, t.connection.activityTimeout || 1 / 0), e.clearUnavailableTimer(), e.setConnection(t.connection), e.socket_id = e.connection.id, e.updateState("connected", { - socket_id: e.socket_id - }) - } - }) - }, e.prototype.buildErrorCallbacks = function() { - var t = this, - e = function(e) { - return function(n) { - n.error && t.emit("error", { - type: "WebSocketError", - error: n.error - }), e(n) - } - }; - return { - tls_only: e((function() { - t.usingTLS = !0, t.updateStrategy(), t.retryIn(0) - })), - refused: e((function() { - t.disconnect() - })), - backoff: e((function() { - t.retryIn(1e3) - })), - retry: e((function() { - t.retryIn(0) - })) - } - }, e.prototype.setConnection = function(t) { - for (var e in this.connection = t, this.connectionCallbacks) this.connection.bind(e, this.connectionCallbacks[e]); - this.resetActivityCheck() - }, e.prototype.abandonConnection = function() { - if (this.connection) { - for (var t in this.stopActivityCheck(), this.connectionCallbacks) this.connection.unbind(t, this.connectionCallbacks[t]); - var e = this.connection; - return this.connection = null, e - } - }, e.prototype.updateState = function(t, e) { - var n = this.state; - if (this.state = t, n !== t) { - var o = t; - "connected" === o && (o += " with new socket ID " + e.socket_id), $.debug("State changed", n + " -> " + o), this.timeline.info({ - state: t, - params: e - }), this.emit("state_change", { - previous: n, - current: t - }), this.emit(t, e) - } - }, e.prototype.shouldRetry = function() { - return "connecting" === this.state || "connected" === this.state - }, e - }(ut), - Gt = function() { - function t() { - this.channels = {} - } - return t.prototype.add = function(t, e) { - return this.channels[t] || (this.channels[t] = function(t, e) { - if (0 === t.indexOf("private-encrypted-")) { - if (e.config.nacl) return Qt.createEncryptedChannel(t, e, e.config.nacl); - var n = p("encryptedChannelSupport"); - throw new v("Tried to subscribe to a private-encrypted- channel but no nacl implementation available. " + n) - } - return 0 === t.indexOf("private-") ? Qt.createPrivateChannel(t, e) : 0 === t.indexOf("presence-") ? Qt.createPresenceChannel(t, e) : Qt.createChannel(t, e) - }(t, e)), this.channels[t] - }, t.prototype.all = function() { - return function(t) { - var e = []; - return z(t, (function(t) { - e.push(t) - })), e - }(this.channels) - }, t.prototype.find = function(t) { - return this.channels[t] - }, t.prototype.remove = function(t) { - var e = this.channels[t]; - return delete this.channels[t], e - }, t.prototype.disconnect = function() { - z(this.channels, (function(t) { - t.disconnect() - })) - }, t - }(); - var Qt = { - createChannels: function() { - return new Gt - }, - createConnectionManager: function(t, e) { - return new Wt(t, e) - }, - createChannel: function(t, e) { - return new It(t, e) - }, - createPrivateChannel: function(t, e) { - return new Mt(t, e) - }, - createPresenceChannel: function(t, e) { - return new Bt(t, e) - }, - createEncryptedChannel: function(t, e, n) { - return new Xt(t, e, n) - }, - createTimelineSender: function(t, e) { - return new jt(t, e) - }, - createAuthorizer: function(t, e) { - return e.authorizer ? e.authorizer(t, e) : new Rt(t, e) - }, - createHandshake: function(t, e) { - return new At(t, e) - }, - createAssistantToTheTransportManager: function(t, e, n) { - return new Pt(t, e, n) - } - }, - Vt = function() { - function t(t) { - this.options = t || {}, this.livesLeft = this.options.lives || 1 / 0 - } - return t.prototype.getAssistant = function(t) { - return Qt.createAssistantToTheTransportManager(this, t, { - minPingDelay: this.options.minPingDelay, - maxPingDelay: this.options.maxPingDelay - }) - }, t.prototype.isAlive = function() { - return this.livesLeft > 0 - }, t.prototype.reportDeath = function() { - this.livesLeft -= 1 - }, t - }(), - Yt = function() { - function t(t, e) { - this.strategies = t, this.loop = Boolean(e.loop), this.failFast = Boolean(e.failFast), this.timeout = e.timeout, this.timeoutLimit = e.timeoutLimit - } - return t.prototype.isSupported = function() { - return G(this.strategies, M.method("isSupported")) - }, t.prototype.connect = function(t, e) { - var n = this, - o = this.strategies, - r = 0, - i = this.timeout, - s = null, - c = function(a, u) { - u ? e(null, u) : (r += 1, n.loop && (r %= o.length), r < o.length ? (i && (i *= 2, n.timeoutLimit && (i = Math.min(i, n.timeoutLimit))), s = n.tryStrategy(o[r], t, { - timeout: i, - failFast: n.failFast - }, c)) : e(!0)) - }; - return s = this.tryStrategy(o[r], t, { - timeout: i, - failFast: this.failFast - }, c), { - abort: function() { - s.abort() - }, - forceMinPriority: function(e) { - t = e, s && s.forceMinPriority(e) - } - } - }, t.prototype.tryStrategy = function(t, e, n, o) { - var r = null, - i = null; - return n.timeout > 0 && (r = new I(n.timeout, (function() { - i.abort(), o(!0) - }))), i = t.connect(e, (function(t, e) { - t && r && r.isRunning() && !n.failFast || (r && r.ensureAborted(), o(t, e)) - })), { - abort: function() { - r && r.ensureAborted(), i.abort() - }, - forceMinPriority: function(t) { - i.forceMinPriority(t) - } - } - }, t - }(), - $t = function() { - function t(t) { - this.strategies = t - } - return t.prototype.isSupported = function() { - return G(this.strategies, M.method("isSupported")) - }, t.prototype.connect = function(t, e) { - return function(t, e, n) { - var o = X(t, (function(t, o, r, i) { - return t.connect(e, n(o, i)) - })); - return { - abort: function() { - F(o, Kt) - }, - forceMinPriority: function(t) { - F(o, (function(e) { - e.forceMinPriority(t) - })) - } - } - }(this.strategies, t, (function(t, n) { - return function(o, r) { - n[t].error = o, o ? function(t) { - return function(t, e) { - for (var n = 0; n < t.length; n++) - if (!e(t[n], n, t)) return !1; - return !0 - }(t, (function(t) { - return Boolean(t.error) - })) - }(n) && e(!0) : (F(n, (function(t) { - t.forceMinPriority(r.transport.priority) - })), e(null, r)) - } - })) - }, t - }(); - - function Kt(t) { - t.error || t.aborted || (t.abort(), t.aborted = !0) - } - var Zt = function() { - function t(t, e, n) { - this.strategy = t, this.transports = e, this.ttl = n.ttl || 18e5, this.usingTLS = n.useTLS, this.timeline = n.timeline - } - return t.prototype.isSupported = function() { - return this.strategy.isSupported() - }, t.prototype.connect = function(t, e) { - var n = this.usingTLS, - o = function(t) { - var e = _e.getLocalStorage(); - if (e) try { - var n = e[te(t)]; - if (n) return JSON.parse(n) - } catch (e) { - ee(t) - } - return null - }(n), - r = [this.strategy]; - if (o && o.timestamp + this.ttl >= M.now()) { - var i = this.transports[o.transport]; - i && (this.timeline.info({ - cached: !0, - transport: o.transport, - latency: o.latency - }), r.push(new Yt([i], { - timeout: 2 * o.latency + 1e3, - failFast: !0 - }))) - } - var s = M.now(), - c = r.pop().connect(t, (function o(i, a) { - i ? (ee(n), r.length > 0 ? (s = M.now(), c = r.pop().connect(t, o)) : e(i)) : (! function(t, e, n) { - var o = _e.getLocalStorage(); - if (o) try { - o[te(t)] = Y({ - timestamp: M.now(), - transport: e, - latency: n - }) - } catch (t) {} - }(n, a.transport.name, M.now() - s), e(null, a)) - })); - return { - abort: function() { - c.abort() - }, - forceMinPriority: function(e) { - t = e, c && c.forceMinPriority(e) - } - } - }, t - }(); - - function te(t) { - return "pusherTransport" + (t ? "TLS" : "NonTLS") - } - - function ee(t) { - var e = _e.getLocalStorage(); - if (e) try { - delete e[te(t)] - } catch (t) {} - } - var ne = function() { - function t(t, e) { - var n = e.delay; - this.strategy = t, this.options = { - delay: n - } - } - return t.prototype.isSupported = function() { - return this.strategy.isSupported() - }, t.prototype.connect = function(t, e) { - var n, o = this.strategy, - r = new I(this.options.delay, (function() { - n = o.connect(t, e) - })); - return { - abort: function() { - r.ensureAborted(), n && n.abort() - }, - forceMinPriority: function(e) { - t = e, n && n.forceMinPriority(e) - } - } - }, t - }(), - oe = function() { - function t(t, e, n) { - this.test = t, this.trueBranch = e, this.falseBranch = n - } - return t.prototype.isSupported = function() { - return (this.test() ? this.trueBranch : this.falseBranch).isSupported() - }, t.prototype.connect = function(t, e) { - return (this.test() ? this.trueBranch : this.falseBranch).connect(t, e) - }, t - }(), - re = function() { - function t(t) { - this.strategy = t - } - return t.prototype.isSupported = function() { - return this.strategy.isSupported() - }, t.prototype.connect = function(t, e) { - var n = this.strategy.connect(t, (function(t, o) { - o && n.abort(), e(t, o) - })); - return n - }, t - }(); - - function ie(t) { - return function() { - return t.isSupported() - } - } - var se, ce = function(t, e, n) { - var o = {}; - - function r(e, r, i, s, c) { - var a = n(t, e, r, i, s, c); - return o[e] = a, a - } - var i, s = Object.assign({}, e, { - hostNonTLS: t.wsHost + ":" + t.wsPort, - hostTLS: t.wsHost + ":" + t.wssPort, - httpPath: t.wsPath - }), - c = Object.assign({}, s, { - useTLS: !0 - }), - a = Object.assign({}, e, { - hostNonTLS: t.httpHost + ":" + t.httpPort, - hostTLS: t.httpHost + ":" + t.httpsPort, - httpPath: t.httpPath - }), - u = { - loop: !0, - timeout: 15e3, - timeoutLimit: 6e4 - }, - h = new Vt({ - lives: 2, - minPingDelay: 1e4, - maxPingDelay: t.activityTimeout - }), - p = new Vt({ - lives: 2, - minPingDelay: 1e4, - maxPingDelay: t.activityTimeout - }), - l = r("ws", "ws", 3, s, h), - f = r("wss", "ws", 3, c, h), - d = r("sockjs", "sockjs", 1, a), - y = r("xhr_streaming", "xhr_streaming", 1, a, p), - g = r("xdr_streaming", "xdr_streaming", 1, a, p), - v = r("xhr_polling", "xhr_polling", 1, a), - b = r("xdr_polling", "xdr_polling", 1, a), - m = new Yt([l], u), - w = new Yt([f], u), - _ = new Yt([d], u), - S = new Yt([new oe(ie(y), y, g)], u), - k = new Yt([new oe(ie(v), v, b)], u), - C = new Yt([new oe(ie(S), new $t([S, new ne(k, { - delay: 4e3 - })]), k)], u), - T = new oe(ie(C), C, _); - return i = e.useTLS ? new $t([m, new ne(T, { - delay: 2e3 - })]) : new $t([m, new ne(w, { - delay: 2e3 - }), new ne(T, { - delay: 5e3 - })]), new Zt(new re(new oe(ie(l), i, T)), o, { - ttl: 18e5, - timeline: e.timeline, - useTLS: e.useTLS - }) - }, - ae = { - getRequest: function(t) { - var e = new window.XDomainRequest; - return e.ontimeout = function() { - t.emit("error", new d), t.close() - }, e.onerror = function(e) { - t.emit("error", e), t.close() - }, e.onprogress = function() { - e.responseText && e.responseText.length > 0 && t.onChunk(200, e.responseText) - }, e.onload = function() { - e.responseText && e.responseText.length > 0 && t.onChunk(200, e.responseText), t.emit("finished", 200), t.close() - }, e - }, - abortRequest: function(t) { - t.ontimeout = t.onerror = t.onprogress = t.onload = null, t.abort() - } - }, - ue = function() { - var t = function(e, n) { - return (t = Object.setPrototypeOf || { - __proto__: [] - } - instanceof Array && function(t, e) { - t.__proto__ = e - } || function(t, e) { - for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]) - })(e, n) - }; - return function(e, n) { - function o() { - this.constructor = e - } - t(e, n), e.prototype = null === n ? Object.create(n) : (o.prototype = n.prototype, new o) - } - }(), - he = function(t) { - function e(e, n, o) { - var r = t.call(this) || this; - return r.hooks = e, r.method = n, r.url = o, r - } - return ue(e, t), e.prototype.start = function(t) { - var e = this; - this.position = 0, this.xhr = this.hooks.getRequest(this), this.unloader = function() { - e.close() - }, _e.addUnloadListener(this.unloader), this.xhr.open(this.method, this.url, !0), this.xhr.setRequestHeader && this.xhr.setRequestHeader("Content-Type", "application/json"), this.xhr.send(t) - }, e.prototype.close = function() { - this.unloader && (_e.removeUnloadListener(this.unloader), this.unloader = null), this.xhr && (this.hooks.abortRequest(this.xhr), this.xhr = null) - }, e.prototype.onChunk = function(t, e) { - for (;;) { - var n = this.advanceBuffer(e); - if (!n) break; - this.emit("chunk", { - status: t, - data: n - }) - } - this.isBufferTooLong(e) && this.emit("buffer_too_long") - }, e.prototype.advanceBuffer = function(t) { - var e = t.slice(this.position), - n = e.indexOf("\n"); - return -1 !== n ? (this.position += n + 1, e.slice(0, n)) : null - }, e.prototype.isBufferTooLong = function(t) { - return this.position === t.length && t.length > 262144 - }, e - }(ut); - ! function(t) { - t[t.CONNECTING = 0] = "CONNECTING", t[t.OPEN = 1] = "OPEN", t[t.CLOSED = 3] = "CLOSED" - }(se || (se = {})); - var pe = se, - le = 1; - - function fe(t) { - var e = -1 === t.indexOf("?") ? "?" : "&"; - return t + e + "t=" + +new Date + "&n=" + le++ - } - - function de(t) { - return Math.floor(Math.random() * t) - } - var ye, ge = function() { - function t(t, e) { - this.hooks = t, this.session = de(1e3) + "/" + function(t) { - for (var e = [], n = 0; n < t; n++) e.push(de(32).toString(32)); - return e.join("") - }(8), this.location = function(t) { - var e = /([^\?]*)\/*(\??.*)/.exec(t); - return { - base: e[1], - queryString: e[2] - } - }(e), this.readyState = pe.CONNECTING, this.openStream() - } - return t.prototype.send = function(t) { - return this.sendRaw(JSON.stringify([t])) - }, t.prototype.ping = function() { - this.hooks.sendHeartbeat(this) - }, t.prototype.close = function(t, e) { - this.onClose(t, e, !0) - }, t.prototype.sendRaw = function(t) { - if (this.readyState !== pe.OPEN) return !1; - try { - return _e.createSocketRequest("POST", fe((e = this.location, n = this.session, e.base + "/" + n + "/xhr_send"))).start(t), !0 - } catch (t) { - return !1 - } - var e, n - }, t.prototype.reconnect = function() { - this.closeStream(), this.openStream() - }, t.prototype.onClose = function(t, e, n) { - this.closeStream(), this.readyState = pe.CLOSED, this.onclose && this.onclose({ - code: t, - reason: e, - wasClean: n - }) - }, t.prototype.onChunk = function(t) { - var e; - if (200 === t.status) switch (this.readyState === pe.OPEN && this.onActivity(), t.data.slice(0, 1)) { - case "o": - e = JSON.parse(t.data.slice(1) || "{}"), this.onOpen(e); - break; - case "a": - e = JSON.parse(t.data.slice(1) || "[]"); - for (var n = 0; n < e.length; n++) this.onEvent(e[n]); - break; - case "m": - e = JSON.parse(t.data.slice(1) || "null"), this.onEvent(e); - break; - case "h": - this.hooks.onHeartbeat(this); - break; - case "c": - e = JSON.parse(t.data.slice(1) || "[]"), this.onClose(e[0], e[1], !0) - } - }, t.prototype.onOpen = function(t) { - var e, n, o; - this.readyState === pe.CONNECTING ? (t && t.hostname && (this.location.base = (e = this.location.base, n = t.hostname, (o = /(https?:\/\/)([^\/:]+)((\/|:)?.*)/.exec(e))[1] + n + o[3])), this.readyState = pe.OPEN, this.onopen && this.onopen()) : this.onClose(1006, "Server lost session", !0) - }, t.prototype.onEvent = function(t) { - this.readyState === pe.OPEN && this.onmessage && this.onmessage({ - data: t - }) - }, t.prototype.onActivity = function() { - this.onactivity && this.onactivity() - }, t.prototype.onError = function(t) { - this.onerror && this.onerror(t) - }, t.prototype.openStream = function() { - var t = this; - this.stream = _e.createSocketRequest("POST", fe(this.hooks.getReceiveURL(this.location, this.session))), this.stream.bind("chunk", (function(e) { - t.onChunk(e) - })), this.stream.bind("finished", (function(e) { - t.hooks.onFinished(t, e) - })), this.stream.bind("buffer_too_long", (function() { - t.reconnect() - })); - try { - this.stream.start() - } catch (e) { - M.defer((function() { - t.onError(e), t.onClose(1006, "Could not start streaming", !1) - })) - } - }, t.prototype.closeStream = function() { - this.stream && (this.stream.unbind_all(), this.stream.close(), this.stream = null) - }, t - }(), - ve = { - getReceiveURL: function(t, e) { - return t.base + "/" + e + "/xhr_streaming" + t.queryString - }, - onHeartbeat: function(t) { - t.sendRaw("[]") - }, - sendHeartbeat: function(t) { - t.sendRaw("[]") - }, - onFinished: function(t, e) { - t.onClose(1006, "Connection interrupted (" + e + ")", !1) - } - }, - be = { - getReceiveURL: function(t, e) { - return t.base + "/" + e + "/xhr" + t.queryString - }, - onHeartbeat: function() {}, - sendHeartbeat: function(t) { - t.sendRaw("[]") - }, - onFinished: function(t, e) { - 200 === e ? t.reconnect() : t.onClose(1006, "Connection interrupted (" + e + ")", !1) - } - }, - me = { - getRequest: function(t) { - var e = new(_e.getXHRAPI()); - return e.onreadystatechange = e.onprogress = function() { - switch (e.readyState) { - case 3: - e.responseText && e.responseText.length > 0 && t.onChunk(e.status, e.responseText); - break; - case 4: - e.responseText && e.responseText.length > 0 && t.onChunk(e.status, e.responseText), t.emit("finished", e.status), t.close() - } - }, e - }, - abortRequest: function(t) { - t.onreadystatechange = null, t.abort() - } - }, - we = { - createStreamingSocket: function(t) { - return this.createSocket(ve, t) - }, - createPollingSocket: function(t) { - return this.createSocket(be, t) - }, - createSocket: function(t, e) { - return new ge(t, e) - }, - createXHR: function(t, e) { - return this.createRequest(me, t, e) - }, - createRequest: function(t, e, n) { - return new he(t, e, n) - }, - createXDR: function(t, e) { - return this.createRequest(ae, t, e) - } - }, - _e = { - nextAuthCallbackID: 1, - auth_callbacks: {}, - ScriptReceivers: i, - DependenciesReceivers: a, - getDefaultStrategy: ce, - Transports: kt, - transportConnectionInitializer: function() { - var t = this; - t.timeline.info(t.buildTimelineMessage({ - transport: t.name + (t.options.useTLS ? "s" : "") - })), t.hooks.isInitialized() ? t.changeState("initialized") : t.hooks.file ? (t.changeState("initializing"), u.load(t.hooks.file, { - useTLS: t.options.useTLS - }, (function(e, n) { - t.hooks.isInitialized() ? (t.changeState("initialized"), n(!0)) : (e && t.onError(e), t.onClose(), n(!1)) - }))) : t.onClose() - }, - HTTPFactory: we, - TimelineTransport: et, - getXHRAPI: function() { - return window.XMLHttpRequest - }, - getWebSocketAPI: function() { - return window.WebSocket || window.MozWebSocket - }, - setup: function(t) { - var e = this; - window.Pusher = t; - var n = function() { - e.onDocumentBody(t.ready) - }; - window.JSON ? n() : u.load("json2", {}, n) - }, - getDocument: function() { - return document - }, - getProtocol: function() { - return this.getDocument().location.protocol - }, - getAuthorizers: function() { - return { - ajax: _, - jsonp: K - } - }, - onDocumentBody: function(t) { - var e = this; - document.body ? t() : setTimeout((function() { - e.onDocumentBody(t) - }), 0) - }, - createJSONPRequest: function(t, e) { - return new tt(t, e) - }, - createScriptRequest: function(t) { - return new Z(t) - }, - getLocalStorage: function() { - try { - return window.localStorage - } catch (t) { - return - } - }, - createXHR: function() { - return this.getXHRAPI() ? this.createXMLHttpRequest() : this.createMicrosoftXHR() - }, - createXMLHttpRequest: function() { - return new(this.getXHRAPI()) - }, - createMicrosoftXHR: function() { - return new ActiveXObject("Microsoft.XMLHTTP") - }, - getNetwork: function() { - return Tt - }, - createWebSocket: function(t) { - return new(this.getWebSocketAPI())(t) - }, - createSocketRequest: function(t, e) { - if (this.isXHRSupported()) return this.HTTPFactory.createXHR(t, e); - if (this.isXDRSupported(0 === e.indexOf("https:"))) return this.HTTPFactory.createXDR(t, e); - throw "Cross-origin HTTP requests are not supported" - }, - isXHRSupported: function() { - var t = this.getXHRAPI(); - return Boolean(t) && void 0 !== (new t).withCredentials - }, - isXDRSupported: function(t) { - var e = t ? "https:" : "http:", - n = this.getProtocol(); - return Boolean(window.XDomainRequest) && n === e - }, - addUnloadListener: function(t) { - void 0 !== window.addEventListener ? window.addEventListener("unload", t, !1) : void 0 !== window.attachEvent && window.attachEvent("onunload", t) - }, - removeUnloadListener: function(t) { - void 0 !== window.addEventListener ? window.removeEventListener("unload", t, !1) : void 0 !== window.detachEvent && window.detachEvent("onunload", t) - } - }; - ! function(t) { - t[t.ERROR = 3] = "ERROR", t[t.INFO = 6] = "INFO", t[t.DEBUG = 7] = "DEBUG" - }(ye || (ye = {})); - var Se = ye, - ke = function() { - function t(t, e, n) { - this.key = t, this.session = e, this.events = [], this.options = n || {}, this.sent = 0, this.uniqueID = 0 - } - return t.prototype.log = function(t, e) { - t <= this.options.level && (this.events.push(H({}, e, { - timestamp: M.now() - })), this.options.limit && this.events.length > this.options.limit && this.events.shift()) - }, t.prototype.error = function(t) { - this.log(Se.ERROR, t) - }, t.prototype.info = function(t) { - this.log(Se.INFO, t) - }, t.prototype.debug = function(t) { - this.log(Se.DEBUG, t) - }, t.prototype.isEmpty = function() { - return 0 === this.events.length - }, t.prototype.send = function(t, e) { - var n = this, - o = H({ - session: this.session, - bundle: this.sent + 1, - key: this.key, - lib: "js", - version: this.options.version, - cluster: this.options.cluster, - features: this.options.features, - timeline: this.events - }, this.options.params); - return this.events = [], t(o, (function(t, o) { - t || n.sent++, e && e(t, o) - })), !0 - }, t.prototype.generateUniqueID = function() { - return this.uniqueID++, this.uniqueID - }, t - }(), - Ce = function() { - function t(t, e, n, o) { - this.name = t, this.priority = e, this.transport = n, this.options = o || {} - } - return t.prototype.isSupported = function() { - return this.transport.isSupported({ - useTLS: this.options.useTLS - }) - }, t.prototype.connect = function(t, e) { - var n = this; - if (!this.isSupported()) return Te(new m, e); - if (this.priority < t) return Te(new y, e); - var o = !1, - r = this.transport.createConnection(this.name, this.priority, this.options.key, this.options), - i = null, - s = function() { - r.unbind("initialized", s), r.connect() - }, - c = function() { - i = Qt.createHandshake(r, (function(t) { - o = !0, h(), e(null, t) - })) - }, - a = function(t) { - h(), e(t) - }, - u = function() { - var t; - h(), t = Y(r), e(new g(t)) - }, - h = function() { - r.unbind("initialized", s), r.unbind("open", c), r.unbind("error", a), r.unbind("closed", u) - }; - return r.bind("initialized", s), r.bind("open", c), r.bind("error", a), r.bind("closed", u), r.initialize(), { - abort: function() { - o || (h(), i ? i.close() : r.close()) - }, - forceMinPriority: function(t) { - o || n.priority < t && (i ? i.close() : r.close()) - } - } - }, t - }(); - - function Te(t, e) { - return M.defer((function() { - e(t) - })), { - abort: function() {}, - forceMinPriority: function() {} - } - } - var Pe = _e.Transports, - Oe = function(t, e, n, o, r, i) { - var s, c = Pe[n]; - if (!c) throw new b(n); - return !(t.enabledTransports && -1 === B(t.enabledTransports, e) || t.disabledTransports && -1 !== B(t.disabledTransports, e)) ? (r = Object.assign({ - ignoreNullOrigin: t.ignoreNullOrigin - }, r), s = new Ce(e, o, i ? i.getAssistant(c) : c, r)) : s = Ee, s - }, - Ee = { - isSupported: function() { - return !1 - }, - connect: function(t, e) { - var n = M.defer((function() { - e(new m) - })); - return { - abort: function() { - n.ensureAborted() - }, - forceMinPriority: function() {} - } - } - }; - - function Le(t) { - return t.httpHost ? t.httpHost : t.cluster ? "sockjs-" + t.cluster + ".pusher.com" : s.httpHost - } - - function xe(t) { - return t.wsHost ? t.wsHost : t.cluster ? Ae(t.cluster) : Ae(s.cluster) - } - - function Ae(t) { - return t + ".pusher.com" - } - - function Re(t) { - return "https:" === _e.getProtocol() || !1 !== t.forceTLS - } - - function je(t) { - return "enableStats" in t ? t.enableStats : "disableStats" in t && !t.disableStats - } - var De = function() { - function t(e, n) { - var o, r, i = this; - if (function(t) { - if (null == t) throw "You must pass your app key when you instantiate Pusher." - }(e), !(n = n || {}).cluster && !n.wsHost && !n.httpHost) { - var c = p("javascriptQuickStart"); - $.warn("You should always specify a cluster when connecting. " + c) - } - "disableStats" in n && $.warn("The disableStats option is deprecated in favor of enableStats"), this.key = e, this.config = (r = { - activityTimeout: (o = n).activityTimeout || s.activityTimeout, - authEndpoint: o.authEndpoint || s.authEndpoint, - authTransport: o.authTransport || s.authTransport, - cluster: o.cluster || s.cluster, - httpPath: o.httpPath || s.httpPath, - httpPort: o.httpPort || s.httpPort, - httpsPort: o.httpsPort || s.httpsPort, - pongTimeout: o.pongTimeout || s.pongTimeout, - statsHost: o.statsHost || s.stats_host, - unavailableTimeout: o.unavailableTimeout || s.unavailableTimeout, - wsPath: o.wsPath || s.wsPath, - wsPort: o.wsPort || s.wsPort, - wssPort: o.wssPort || s.wssPort, - enableStats: je(o), - httpHost: Le(o), - useTLS: Re(o), - wsHost: xe(o) - }, "auth" in o && (r.auth = o.auth), "authorizer" in o && (r.authorizer = o.authorizer), "disabledTransports" in o && (r.disabledTransports = o.disabledTransports), "enabledTransports" in o && (r.enabledTransports = o.enabledTransports), "ignoreNullOrigin" in o && (r.ignoreNullOrigin = o.ignoreNullOrigin), "timelineParams" in o && (r.timelineParams = o.timelineParams), "nacl" in o && (r.nacl = o.nacl), r), this.channels = Qt.createChannels(), this.global_emitter = new ut, this.sessionID = Math.floor(1e9 * Math.random()), this.timeline = new ke(this.key, this.sessionID, { - cluster: this.config.cluster, - features: t.getClientFeatures(), - params: this.config.timelineParams || {}, - limit: 50, - level: Se.INFO, - version: s.VERSION - }), this.config.enableStats && (this.timelineSender = Qt.createTimelineSender(this.timeline, { - host: this.config.statsHost, - path: "/timeline/v2/" + _e.TimelineTransport.name - })); - this.connection = Qt.createConnectionManager(this.key, { - getStrategy: function(t) { - return _e.getDefaultStrategy(i.config, t, Oe) - }, - timeline: this.timeline, - activityTimeout: this.config.activityTimeout, - pongTimeout: this.config.pongTimeout, - unavailableTimeout: this.config.unavailableTimeout, - useTLS: Boolean(this.config.useTLS) - }), this.connection.bind("connected", (function() { - i.subscribeAll(), i.timelineSender && i.timelineSender.send(i.connection.isUsingTLS()) - })), this.connection.bind("message", (function(t) { - var e = 0 === t.event.indexOf("pusher_internal:"); - if (t.channel) { - var n = i.channel(t.channel); - n && n.handleEvent(t) - } - e || i.global_emitter.emit(t.event, t.data) - })), this.connection.bind("connecting", (function() { - i.channels.disconnect() - })), this.connection.bind("disconnected", (function() { - i.channels.disconnect() - })), this.connection.bind("error", (function(t) { - $.warn(t) - })), t.instances.push(this), this.timeline.info({ - instances: t.instances.length - }), t.isReady && this.connect() - } - return t.ready = function() { - t.isReady = !0; - for (var e = 0, n = t.instances.length; e < n; e++) t.instances[e].connect() - }, t.getClientFeatures = function() { - return U(W({ - ws: _e.Transports.ws - }, (function(t) { - return t.isSupported({}) - }))) - }, t.prototype.channel = function(t) { - return this.channels.find(t) - }, t.prototype.allChannels = function() { - return this.channels.all() - }, t.prototype.connect = function() { - if (this.connection.connect(), this.timelineSender && !this.timelineSenderTimer) { - var t = this.connection.isUsingTLS(), - e = this.timelineSender; - this.timelineSenderTimer = new N(6e4, (function() { - e.send(t) - })) - } - }, t.prototype.disconnect = function() { - this.connection.disconnect(), this.timelineSenderTimer && (this.timelineSenderTimer.ensureAborted(), this.timelineSenderTimer = null) - }, t.prototype.bind = function(t, e, n) { - return this.global_emitter.bind(t, e, n), this - }, t.prototype.unbind = function(t, e, n) { - return this.global_emitter.unbind(t, e, n), this - }, t.prototype.bind_global = function(t) { - return this.global_emitter.bind_global(t), this - }, t.prototype.unbind_global = function(t) { - return this.global_emitter.unbind_global(t), this - }, t.prototype.unbind_all = function(t) { - return this.global_emitter.unbind_all(), this - }, t.prototype.subscribeAll = function() { - var t; - for (t in this.channels.channels) this.channels.channels.hasOwnProperty(t) && this.subscribe(t) - }, t.prototype.subscribe = function(t) { - var e = this.channels.add(t, this); - return e.subscriptionPending && e.subscriptionCancelled ? e.reinstateSubscription() : e.subscriptionPending || "connected" !== this.connection.state || e.subscribe(), e - }, t.prototype.unsubscribe = function(t) { - var e = this.channels.find(t); - e && e.subscriptionPending ? e.cancelSubscription() : (e = this.channels.remove(t)) && e.subscribed && e.unsubscribe() - }, t.prototype.send_event = function(t, e, n) { - return this.connection.send_event(t, e, n) - }, t.prototype.shouldUseTLS = function() { - return this.config.useTLS - }, t.instances = [], t.isReady = !1, t.logToConsole = !1, t.Runtime = _e, t.ScriptReceivers = _e.ScriptReceivers, t.DependenciesReceivers = _e.DependenciesReceivers, t.auth_callbacks = _e.auth_callbacks, t - }(), - Ie = e.default = De; - _e.setup(De) - }]) -})); \ No newline at end of file +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Pusher=e():t.Pusher=e()}(window,(function(){return function(t){var e={};function n(o){if(e[o])return e[o].exports;var r=e[o]={i:o,l:!1,exports:{}};return t[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(o,r,function(e){return t[e]}.bind(null,r));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=2)}([function(t,e,n){"use strict";var o,r=this&&this.__extends||(o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)},function(t,e){function n(){this.constructor=t}o(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)});Object.defineProperty(e,"__esModule",{value:!0});var i=function(){function t(t){void 0===t&&(t="="),this._paddingCharacter=t}return t.prototype.encodedLength=function(t){return this._paddingCharacter?(t+2)/3*4|0:(8*t+5)/6|0},t.prototype.encode=function(t){for(var e="",n=0;n>>18&63),e+=this._encodeByte(o>>>12&63),e+=this._encodeByte(o>>>6&63),e+=this._encodeByte(o>>>0&63)}var r=t.length-n;if(r>0){o=t[n]<<16|(2===r?t[n+1]<<8:0);e+=this._encodeByte(o>>>18&63),e+=this._encodeByte(o>>>12&63),e+=2===r?this._encodeByte(o>>>6&63):this._paddingCharacter||"",e+=this._paddingCharacter||""}return e},t.prototype.maxDecodedLength=function(t){return this._paddingCharacter?t/4*3|0:(6*t+7)/8|0},t.prototype.decodedLength=function(t){return this.maxDecodedLength(t.length-this._getPaddingLength(t))},t.prototype.decode=function(t){if(0===t.length)return new Uint8Array(0);for(var e=this._getPaddingLength(t),n=t.length-e,o=new Uint8Array(this.maxDecodedLength(n)),r=0,i=0,s=0,c=0,a=0,u=0,h=0;i>>4,o[r++]=a<<4|u>>>2,o[r++]=u<<6|h,s|=256&c,s|=256&a,s|=256&u,s|=256&h;if(i>>4,s|=256&c,s|=256&a),i>>2,s|=256&u),i>>8&6,e+=51-t>>>8&-75,e+=61-t>>>8&-15,e+=62-t>>>8&3,String.fromCharCode(e)},t.prototype._decodeChar=function(t){var e=256;return e+=(42-t&t-44)>>>8&-256+t-43+62,e+=(46-t&t-48)>>>8&-256+t-47+63,e+=(47-t&t-58)>>>8&-256+t-48+52,e+=(64-t&t-91)>>>8&-256+t-65+0,e+=(96-t&t-123)>>>8&-256+t-97+26},t.prototype._getPaddingLength=function(t){var e=0;if(this._paddingCharacter){for(var n=t.length-1;n>=0&&t[n]===this._paddingCharacter;n--)e++;if(t.length<4||e>2)throw new Error("Base64Coder: incorrect padding")}return e},t}();e.Coder=i;var s=new i;e.encode=function(t){return s.encode(t)},e.decode=function(t){return s.decode(t)};var c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.prototype._encodeByte=function(t){var e=t;return e+=65,e+=25-t>>>8&6,e+=51-t>>>8&-75,e+=61-t>>>8&-13,e+=62-t>>>8&49,String.fromCharCode(e)},e.prototype._decodeChar=function(t){var e=256;return e+=(44-t&t-46)>>>8&-256+t-45+62,e+=(94-t&t-96)>>>8&-256+t-95+63,e+=(47-t&t-58)>>>8&-256+t-48+52,e+=(64-t&t-91)>>>8&-256+t-65+0,e+=(96-t&t-123)>>>8&-256+t-97+26},e}(i);e.URLSafeCoder=c;var a=new c;e.encodeURLSafe=function(t){return a.encode(t)},e.decodeURLSafe=function(t){return a.decode(t)},e.encodedLength=function(t){return s.encodedLength(t)},e.maxDecodedLength=function(t){return s.maxDecodedLength(t)},e.decodedLength=function(t){return s.decodedLength(t)}},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o="utf8: invalid source encoding";function r(t){for(var e=0,n=0;n=t.length-1)throw new Error("utf8: invalid string");n++,e+=4}}return e}e.encode=function(t){for(var e=new Uint8Array(r(t)),n=0,o=0;o>6,e[n++]=128|63&i):i<55296?(e[n++]=224|i>>12,e[n++]=128|i>>6&63,e[n++]=128|63&i):(o++,i=(1023&i)<<10,i|=1023&t.charCodeAt(o),i+=65536,e[n++]=240|i>>18,e[n++]=128|i>>12&63,e[n++]=128|i>>6&63,e[n++]=128|63&i)}return e},e.encodedLength=r,e.decode=function(t){for(var e=[],n=0;n=t.length)throw new Error(o);if(128!=(192&(s=t[++n])))throw new Error(o);r=(31&r)<<6|63&s,i=128}else if(r<240){if(n>=t.length-1)throw new Error(o);var s=t[++n],c=t[++n];if(128!=(192&s)||128!=(192&c))throw new Error(o);r=(15&r)<<12|(63&s)<<6|63&c,i=2048}else{if(!(r<248))throw new Error(o);if(n>=t.length-2)throw new Error(o);s=t[++n],c=t[++n];var a=t[++n];if(128!=(192&s)||128!=(192&c)||128!=(192&a))throw new Error(o);r=(15&r)<<18|(63&s)<<12|(63&c)<<6|63&a,i=65536}if(r=55296&&r<=57343)throw new Error(o);if(r>=65536){if(r>1114111)throw new Error(o);r-=65536,e.push(String.fromCharCode(55296|r>>10)),r=56320|1023&r}}e.push(String.fromCharCode(r))}return e.join("")}},function(t,e,n){t.exports=n(3).default},function(t,e,n){"use strict";n.r(e);var o,r=function(){function t(t,e){this.lastId=0,this.prefix=t,this.name=e}return t.prototype.create=function(t){this.lastId++;var e=this.lastId,n=this.prefix+e,o=this.name+"["+e+"]",r=!1,i=function(){r||(t.apply(null,arguments),r=!0)};return this[e]=i,{number:e,id:n,name:o,callback:i}},t.prototype.remove=function(t){delete this[t.number]},t}(),i=new r("_pusher_script_","Pusher.ScriptReceivers"),s={VERSION:"7.0.2",PROTOCOL:7,wsPort:80,wssPort:443,wsPath:"",httpHost:"sockjs.pusher.com",httpPort:80,httpsPort:443,httpPath:"/pusher",stats_host:"stats.pusher.com",authEndpoint:"/pusher/auth",authTransport:"ajax",activityTimeout:12e4,pongTimeout:3e4,unavailableTimeout:1e4,cluster:"mt1",cdn_http:"http://js.pusher.com",cdn_https:"https://js.pusher.com",dependency_suffix:""},c=function(){function t(t){this.options=t,this.receivers=t.receivers||i,this.loading={}}return t.prototype.load=function(t,e,n){var o=this;if(o.loading[t]&&o.loading[t].length>0)o.loading[t].push(n);else{o.loading[t]=[n];var r=_e.createScriptRequest(o.getPath(t,e)),i=o.receivers.create((function(e){if(o.receivers.remove(i),o.loading[t]){var n=o.loading[t];delete o.loading[t];for(var s=function(t){t||r.cleanup()},c=0;c>>6)+S(128|63&e):S(224|e>>>12&15)+S(128|e>>>6&63)+S(128|63&e)},E=function(t){return t.replace(/[^\x00-\x7F]/g,O)},L=function(t){var e=[0,2,1][t.length%3],n=t.charCodeAt(0)<<16|(t.length>1?t.charCodeAt(1):0)<<8|(t.length>2?t.charCodeAt(2):0);return[k.charAt(n>>>18),k.charAt(n>>>12&63),e>=2?"=":k.charAt(n>>>6&63),e>=1?"=":k.charAt(63&n)].join("")},x=window.btoa||function(t){return t.replace(/[\s\S]{1,3}/g,L)},A=function(){function t(t,e,n,o){var r=this;this.clear=e,this.timer=t((function(){r.timer&&(r.timer=o(r.timer))}),n)}return t.prototype.isRunning=function(){return null!==this.timer},t.prototype.ensureAborted=function(){this.timer&&(this.clear(this.timer),this.timer=null)},t}(),R=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}();function j(t){window.clearTimeout(t)}function D(t){window.clearInterval(t)}var I=function(t){function e(e,n){return t.call(this,setTimeout,j,e,(function(t){return n(),null}))||this}return R(e,t),e}(A),N=function(t){function e(e,n){return t.call(this,setInterval,D,e,(function(t){return n(),t}))||this}return R(e,t),e}(A),M={now:function(){return Date.now?Date.now():(new Date).valueOf()},defer:function(t){return new I(0,t)},method:function(t){for(var e=[],n=1;n0)for(o=0;o=1002&&t.code<=1004?"backoff":null:4e3===t.code?"tls_only":t.code<4100?"refused":t.code<4200?"backoff":t.code<4300?"retry":"refused"},getCloseError:function(t){return 1e3!==t.code&&1001!==t.code?{type:"PusherError",data:{code:t.code,message:t.reason||t.message}}:null}},Et=Ot,Lt=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),xt=function(t){function e(e,n){var o=t.call(this)||this;return o.id=e,o.transport=n,o.activityTimeout=n.activityTimeout,o.bindListeners(),o}return Lt(e,t),e.prototype.handlesActivityChecks=function(){return this.transport.handlesActivityChecks()},e.prototype.send=function(t){return this.transport.send(t)},e.prototype.send_event=function(t,e,n){var o={event:t,data:e};return n&&(o.channel=n),$.debug("Event sent",o),this.send(Et.encodeMessage(o))},e.prototype.ping=function(){this.transport.supportsPing()?this.transport.ping():this.send_event("pusher:ping",{})},e.prototype.close=function(){this.transport.close()},e.prototype.bindListeners=function(){var t=this,e={message:function(e){var n;try{n=Et.decodeMessage(e)}catch(n){t.emit("error",{type:"MessageParseError",error:n,data:e.data})}if(void 0!==n){switch($.debug("Event recd",n),n.event){case"pusher:error":t.emit("error",{type:"PusherError",data:n.data});break;case"pusher:ping":t.emit("ping");break;case"pusher:pong":t.emit("pong")}t.emit("message",n)}},activity:function(){t.emit("activity")},error:function(e){t.emit("error",e)},closed:function(e){n(),e&&e.code&&t.handleCloseEvent(e),t.transport=null,t.emit("closed")}},n=function(){z(e,(function(e,n){t.transport.unbind(n,e)}))};z(e,(function(e,n){t.transport.bind(n,e)}))},e.prototype.handleCloseEvent=function(t){var e=Et.getCloseAction(t),n=Et.getCloseError(t);n&&this.emit("error",n),e&&this.emit(e,{action:e,error:n})},e}(ut),At=function(){function t(t,e){this.transport=t,this.callback=e,this.bindListeners()}return t.prototype.close=function(){this.unbindListeners(),this.transport.close()},t.prototype.bindListeners=function(){var t=this;this.onMessage=function(e){var n;t.unbindListeners();try{n=Et.processHandshake(e)}catch(e){return t.finish("error",{error:e}),void t.transport.close()}"connected"===n.action?t.finish("connected",{connection:new xt(n.id,t.transport),activityTimeout:n.activityTimeout}):(t.finish(n.action,{error:n.error}),t.transport.close())},this.onClosed=function(e){t.unbindListeners();var n=Et.getCloseAction(e)||"backoff",o=Et.getCloseError(e);t.finish(n,{error:o})},this.transport.bind("message",this.onMessage),this.transport.bind("closed",this.onClosed)},t.prototype.unbindListeners=function(){this.transport.unbind("message",this.onMessage),this.transport.unbind("closed",this.onClosed)},t.prototype.finish=function(t,e){this.callback(H({transport:this.transport,action:t},e))},t}(),Rt=function(){function t(t,e){this.channel=t;var n=e.authTransport;if(void 0===_e.getAuthorizers()[n])throw"'"+n+"' is not a recognized auth transport";this.type=n,this.options=e,this.authOptions=e.auth||{}}return t.prototype.composeQuery=function(t){var e="socket_id="+encodeURIComponent(t)+"&channel_name="+encodeURIComponent(this.channel.name);for(var n in this.authOptions.params)e+="&"+encodeURIComponent(n)+"="+encodeURIComponent(this.authOptions.params[n]);return e},t.prototype.authorize=function(e,n){t.authorizers=t.authorizers||_e.getAuthorizers(),t.authorizers[this.type].call(this,_e,e,n)},t}(),jt=function(){function t(t,e){this.timeline=t,this.options=e||{}}return t.prototype.send=function(t,e){this.timeline.isEmpty()||this.timeline.send(_e.TimelineTransport.getAgent(this,t),e)},t}(),Dt=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),It=function(t){function e(e,n){var o=t.call(this,(function(t,n){$.debug("No callbacks on "+e+" for "+t)}))||this;return o.name=e,o.pusher=n,o.subscribed=!1,o.subscriptionPending=!1,o.subscriptionCancelled=!1,o}return Dt(e,t),e.prototype.authorize=function(t,e){return e(null,{auth:""})},e.prototype.trigger=function(t,e){if(0!==t.indexOf("client-"))throw new f("Event '"+t+"' does not start with 'client-'");if(!this.subscribed){var n=p("triggeringClientEvents");$.warn("Client event triggered before channel 'subscription_succeeded' event . "+n)}return this.pusher.send_event(t,e,this.name)},e.prototype.disconnect=function(){this.subscribed=!1,this.subscriptionPending=!1},e.prototype.handleEvent=function(t){var e=t.event,n=t.data;if("pusher_internal:subscription_succeeded"===e)this.handleSubscriptionSucceededEvent(t);else if(0!==e.indexOf("pusher_internal:")){this.emit(e,n,{})}},e.prototype.handleSubscriptionSucceededEvent=function(t){this.subscriptionPending=!1,this.subscribed=!0,this.subscriptionCancelled?this.pusher.unsubscribe(this.name):this.emit("pusher:subscription_succeeded",t.data)},e.prototype.subscribe=function(){var t=this;this.subscribed||(this.subscriptionPending=!0,this.subscriptionCancelled=!1,this.authorize(this.pusher.connection.socket_id,(function(e,n){e?(t.subscriptionPending=!1,$.error(e.toString()),t.emit("pusher:subscription_error",Object.assign({},{type:"AuthError",error:e.message},e instanceof w?{status:e.status}:{}))):t.pusher.send_event("pusher:subscribe",{auth:n.auth,channel_data:n.channel_data,channel:t.name})})))},e.prototype.unsubscribe=function(){this.subscribed=!1,this.pusher.send_event("pusher:unsubscribe",{channel:this.name})},e.prototype.cancelSubscription=function(){this.subscriptionCancelled=!0},e.prototype.reinstateSubscription=function(){this.subscriptionCancelled=!1},e}(ut),Nt=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),Mt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Nt(e,t),e.prototype.authorize=function(t,e){return Qt.createAuthorizer(this,this.pusher.config).authorize(t,e)},e}(It),Ht=function(){function t(){this.reset()}return t.prototype.get=function(t){return Object.prototype.hasOwnProperty.call(this.members,t)?{id:t,info:this.members[t]}:null},t.prototype.each=function(t){var e=this;z(this.members,(function(n,o){t(e.get(o))}))},t.prototype.setMyID=function(t){this.myID=t},t.prototype.onSubscription=function(t){this.members=t.presence.hash,this.count=t.presence.count,this.me=this.get(this.myID)},t.prototype.addMember=function(t){return null===this.get(t.user_id)&&this.count++,this.members[t.user_id]=t.user_info,this.get(t.user_id)},t.prototype.removeMember=function(t){var e=this.get(t.user_id);return e&&(delete this.members[t.user_id],this.count--),e},t.prototype.reset=function(){this.members={},this.count=0,this.myID=null,this.me=null},t}(),qt=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),Bt=function(t){function e(e,n){var o=t.call(this,e,n)||this;return o.members=new Ht,o}return qt(e,t),e.prototype.authorize=function(e,n){var o=this;t.prototype.authorize.call(this,e,(function(t,e){if(!t){if(void 0===(e=e).channel_data){var r=p("authenticationEndpoint");return $.error("Invalid auth response for channel '"+o.name+"',expected 'channel_data' field. "+r),void n("Invalid auth response")}var i=JSON.parse(e.channel_data);o.members.setMyID(i.user_id)}n(t,e)}))},e.prototype.handleEvent=function(t){var e=t.event;if(0===e.indexOf("pusher_internal:"))this.handleInternalEvent(t);else{var n=t.data,o={};t.user_id&&(o.user_id=t.user_id),this.emit(e,n,o)}},e.prototype.handleInternalEvent=function(t){var e=t.event,n=t.data;switch(e){case"pusher_internal:subscription_succeeded":this.handleSubscriptionSucceededEvent(t);break;case"pusher_internal:member_added":var o=this.members.addMember(n);this.emit("pusher:member_added",o);break;case"pusher_internal:member_removed":var r=this.members.removeMember(n);r&&this.emit("pusher:member_removed",r)}},e.prototype.handleSubscriptionSucceededEvent=function(t){this.subscriptionPending=!1,this.subscribed=!0,this.subscriptionCancelled?this.pusher.unsubscribe(this.name):(this.members.onSubscription(t.data),this.emit("pusher:subscription_succeeded",this.members))},e.prototype.disconnect=function(){this.members.reset(),t.prototype.disconnect.call(this)},e}(Mt),zt=n(1),Ut=n(0),Ft=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),Xt=function(t){function e(e,n,o){var r=t.call(this,e,n)||this;return r.key=null,r.nacl=o,r}return Ft(e,t),e.prototype.authorize=function(e,n){var o=this;t.prototype.authorize.call(this,e,(function(t,e){if(t)n(t,e);else{var r=e.shared_secret;r?(o.key=Object(Ut.decode)(r),delete e.shared_secret,n(null,e)):n(new Error("No shared_secret key in auth payload for encrypted channel: "+o.name),null)}}))},e.prototype.trigger=function(t,e){throw new v("Client events are not currently supported for encrypted channels")},e.prototype.handleEvent=function(e){var n=e.event,o=e.data;0!==n.indexOf("pusher_internal:")&&0!==n.indexOf("pusher:")?this.handleEncryptedEvent(n,o):t.prototype.handleEvent.call(this,e)},e.prototype.handleEncryptedEvent=function(t,e){var n=this;if(this.key)if(e.ciphertext&&e.nonce){var o=Object(Ut.decode)(e.ciphertext);if(o.length0&&this.emit("connecting_in",Math.round(t/1e3)),this.retryTimer=new I(t||0,(function(){e.disconnectInternally(),e.connect()}))},e.prototype.clearRetryTimer=function(){this.retryTimer&&(this.retryTimer.ensureAborted(),this.retryTimer=null)},e.prototype.setUnavailableTimer=function(){var t=this;this.unavailableTimer=new I(this.options.unavailableTimeout,(function(){t.updateState("unavailable")}))},e.prototype.clearUnavailableTimer=function(){this.unavailableTimer&&this.unavailableTimer.ensureAborted()},e.prototype.sendActivityCheck=function(){var t=this;this.stopActivityCheck(),this.connection.ping(),this.activityTimer=new I(this.options.pongTimeout,(function(){t.timeline.error({pong_timed_out:t.options.pongTimeout}),t.retryIn(0)}))},e.prototype.resetActivityCheck=function(){var t=this;this.stopActivityCheck(),this.connection&&!this.connection.handlesActivityChecks()&&(this.activityTimer=new I(this.activityTimeout,(function(){t.sendActivityCheck()})))},e.prototype.stopActivityCheck=function(){this.activityTimer&&this.activityTimer.ensureAborted()},e.prototype.buildConnectionCallbacks=function(t){var e=this;return H({},t,{message:function(t){e.resetActivityCheck(),e.emit("message",t)},ping:function(){e.send_event("pusher:pong",{})},activity:function(){e.resetActivityCheck()},error:function(t){e.emit("error",t)},closed:function(){e.abandonConnection(),e.shouldRetry()&&e.retryIn(1e3)}})},e.prototype.buildHandshakeCallbacks=function(t){var e=this;return H({},t,{connected:function(t){e.activityTimeout=Math.min(e.options.activityTimeout,t.activityTimeout,t.connection.activityTimeout||1/0),e.clearUnavailableTimer(),e.setConnection(t.connection),e.socket_id=e.connection.id,e.updateState("connected",{socket_id:e.socket_id})}})},e.prototype.buildErrorCallbacks=function(){var t=this,e=function(e){return function(n){n.error&&t.emit("error",{type:"WebSocketError",error:n.error}),e(n)}};return{tls_only:e((function(){t.usingTLS=!0,t.updateStrategy(),t.retryIn(0)})),refused:e((function(){t.disconnect()})),backoff:e((function(){t.retryIn(1e3)})),retry:e((function(){t.retryIn(0)}))}},e.prototype.setConnection=function(t){for(var e in this.connection=t,this.connectionCallbacks)this.connection.bind(e,this.connectionCallbacks[e]);this.resetActivityCheck()},e.prototype.abandonConnection=function(){if(this.connection){for(var t in this.stopActivityCheck(),this.connectionCallbacks)this.connection.unbind(t,this.connectionCallbacks[t]);var e=this.connection;return this.connection=null,e}},e.prototype.updateState=function(t,e){var n=this.state;if(this.state=t,n!==t){var o=t;"connected"===o&&(o+=" with new socket ID "+e.socket_id),$.debug("State changed",n+" -> "+o),this.timeline.info({state:t,params:e}),this.emit("state_change",{previous:n,current:t}),this.emit(t,e)}},e.prototype.shouldRetry=function(){return"connecting"===this.state||"connected"===this.state},e}(ut),Gt=function(){function t(){this.channels={}}return t.prototype.add=function(t,e){return this.channels[t]||(this.channels[t]=function(t,e){if(0===t.indexOf("private-encrypted-")){if(e.config.nacl)return Qt.createEncryptedChannel(t,e,e.config.nacl);var n=p("encryptedChannelSupport");throw new v("Tried to subscribe to a private-encrypted- channel but no nacl implementation available. "+n)}return 0===t.indexOf("private-")?Qt.createPrivateChannel(t,e):0===t.indexOf("presence-")?Qt.createPresenceChannel(t,e):Qt.createChannel(t,e)}(t,e)),this.channels[t]},t.prototype.all=function(){return function(t){var e=[];return z(t,(function(t){e.push(t)})),e}(this.channels)},t.prototype.find=function(t){return this.channels[t]},t.prototype.remove=function(t){var e=this.channels[t];return delete this.channels[t],e},t.prototype.disconnect=function(){z(this.channels,(function(t){t.disconnect()}))},t}();var Qt={createChannels:function(){return new Gt},createConnectionManager:function(t,e){return new Wt(t,e)},createChannel:function(t,e){return new It(t,e)},createPrivateChannel:function(t,e){return new Mt(t,e)},createPresenceChannel:function(t,e){return new Bt(t,e)},createEncryptedChannel:function(t,e,n){return new Xt(t,e,n)},createTimelineSender:function(t,e){return new jt(t,e)},createAuthorizer:function(t,e){return e.authorizer?e.authorizer(t,e):new Rt(t,e)},createHandshake:function(t,e){return new At(t,e)},createAssistantToTheTransportManager:function(t,e,n){return new Pt(t,e,n)}},Vt=function(){function t(t){this.options=t||{},this.livesLeft=this.options.lives||1/0}return t.prototype.getAssistant=function(t){return Qt.createAssistantToTheTransportManager(this,t,{minPingDelay:this.options.minPingDelay,maxPingDelay:this.options.maxPingDelay})},t.prototype.isAlive=function(){return this.livesLeft>0},t.prototype.reportDeath=function(){this.livesLeft-=1},t}(),Yt=function(){function t(t,e){this.strategies=t,this.loop=Boolean(e.loop),this.failFast=Boolean(e.failFast),this.timeout=e.timeout,this.timeoutLimit=e.timeoutLimit}return t.prototype.isSupported=function(){return G(this.strategies,M.method("isSupported"))},t.prototype.connect=function(t,e){var n=this,o=this.strategies,r=0,i=this.timeout,s=null,c=function(a,u){u?e(null,u):(r+=1,n.loop&&(r%=o.length),r0&&(r=new I(n.timeout,(function(){i.abort(),o(!0)}))),i=t.connect(e,(function(t,e){t&&r&&r.isRunning()&&!n.failFast||(r&&r.ensureAborted(),o(t,e))})),{abort:function(){r&&r.ensureAborted(),i.abort()},forceMinPriority:function(t){i.forceMinPriority(t)}}},t}(),$t=function(){function t(t){this.strategies=t}return t.prototype.isSupported=function(){return G(this.strategies,M.method("isSupported"))},t.prototype.connect=function(t,e){return function(t,e,n){var o=X(t,(function(t,o,r,i){return t.connect(e,n(o,i))}));return{abort:function(){F(o,Kt)},forceMinPriority:function(t){F(o,(function(e){e.forceMinPriority(t)}))}}}(this.strategies,t,(function(t,n){return function(o,r){n[t].error=o,o?function(t){return function(t,e){for(var n=0;n=M.now()){var i=this.transports[o.transport];i&&(this.timeline.info({cached:!0,transport:o.transport,latency:o.latency}),r.push(new Yt([i],{timeout:2*o.latency+1e3,failFast:!0})))}var s=M.now(),c=r.pop().connect(t,(function o(i,a){i?(ee(n),r.length>0?(s=M.now(),c=r.pop().connect(t,o)):e(i)):(!function(t,e,n){var o=_e.getLocalStorage();if(o)try{o[te(t)]=Y({timestamp:M.now(),transport:e,latency:n})}catch(t){}}(n,a.transport.name,M.now()-s),e(null,a))}));return{abort:function(){c.abort()},forceMinPriority:function(e){t=e,c&&c.forceMinPriority(e)}}},t}();function te(t){return"pusherTransport"+(t?"TLS":"NonTLS")}function ee(t){var e=_e.getLocalStorage();if(e)try{delete e[te(t)]}catch(t){}}var ne=function(){function t(t,e){var n=e.delay;this.strategy=t,this.options={delay:n}}return t.prototype.isSupported=function(){return this.strategy.isSupported()},t.prototype.connect=function(t,e){var n,o=this.strategy,r=new I(this.options.delay,(function(){n=o.connect(t,e)}));return{abort:function(){r.ensureAborted(),n&&n.abort()},forceMinPriority:function(e){t=e,n&&n.forceMinPriority(e)}}},t}(),oe=function(){function t(t,e,n){this.test=t,this.trueBranch=e,this.falseBranch=n}return t.prototype.isSupported=function(){return(this.test()?this.trueBranch:this.falseBranch).isSupported()},t.prototype.connect=function(t,e){return(this.test()?this.trueBranch:this.falseBranch).connect(t,e)},t}(),re=function(){function t(t){this.strategy=t}return t.prototype.isSupported=function(){return this.strategy.isSupported()},t.prototype.connect=function(t,e){var n=this.strategy.connect(t,(function(t,o){o&&n.abort(),e(t,o)}));return n},t}();function ie(t){return function(){return t.isSupported()}}var se,ce=function(t,e,n){var o={};function r(e,r,i,s,c){var a=n(t,e,r,i,s,c);return o[e]=a,a}var i,s=Object.assign({},e,{hostNonTLS:t.wsHost+":"+t.wsPort,hostTLS:t.wsHost+":"+t.wssPort,httpPath:t.wsPath}),c=Object.assign({},s,{useTLS:!0}),a=Object.assign({},e,{hostNonTLS:t.httpHost+":"+t.httpPort,hostTLS:t.httpHost+":"+t.httpsPort,httpPath:t.httpPath}),u={loop:!0,timeout:15e3,timeoutLimit:6e4},h=new Vt({lives:2,minPingDelay:1e4,maxPingDelay:t.activityTimeout}),p=new Vt({lives:2,minPingDelay:1e4,maxPingDelay:t.activityTimeout}),l=r("ws","ws",3,s,h),f=r("wss","ws",3,c,h),d=r("sockjs","sockjs",1,a),y=r("xhr_streaming","xhr_streaming",1,a,p),g=r("xdr_streaming","xdr_streaming",1,a,p),v=r("xhr_polling","xhr_polling",1,a),b=r("xdr_polling","xdr_polling",1,a),m=new Yt([l],u),w=new Yt([f],u),_=new Yt([d],u),S=new Yt([new oe(ie(y),y,g)],u),k=new Yt([new oe(ie(v),v,b)],u),C=new Yt([new oe(ie(S),new $t([S,new ne(k,{delay:4e3})]),k)],u),T=new oe(ie(C),C,_);return i=e.useTLS?new $t([m,new ne(T,{delay:2e3})]):new $t([m,new ne(w,{delay:2e3}),new ne(T,{delay:5e3})]),new Zt(new re(new oe(ie(l),i,T)),o,{ttl:18e5,timeline:e.timeline,useTLS:e.useTLS})},ae={getRequest:function(t){var e=new window.XDomainRequest;return e.ontimeout=function(){t.emit("error",new d),t.close()},e.onerror=function(e){t.emit("error",e),t.close()},e.onprogress=function(){e.responseText&&e.responseText.length>0&&t.onChunk(200,e.responseText)},e.onload=function(){e.responseText&&e.responseText.length>0&&t.onChunk(200,e.responseText),t.emit("finished",200),t.close()},e},abortRequest:function(t){t.ontimeout=t.onerror=t.onprogress=t.onload=null,t.abort()}},ue=function(){var t=function(e,n){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(e,n)};return function(e,n){function o(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(o.prototype=n.prototype,new o)}}(),he=function(t){function e(e,n,o){var r=t.call(this)||this;return r.hooks=e,r.method=n,r.url=o,r}return ue(e,t),e.prototype.start=function(t){var e=this;this.position=0,this.xhr=this.hooks.getRequest(this),this.unloader=function(){e.close()},_e.addUnloadListener(this.unloader),this.xhr.open(this.method,this.url,!0),this.xhr.setRequestHeader&&this.xhr.setRequestHeader("Content-Type","application/json"),this.xhr.send(t)},e.prototype.close=function(){this.unloader&&(_e.removeUnloadListener(this.unloader),this.unloader=null),this.xhr&&(this.hooks.abortRequest(this.xhr),this.xhr=null)},e.prototype.onChunk=function(t,e){for(;;){var n=this.advanceBuffer(e);if(!n)break;this.emit("chunk",{status:t,data:n})}this.isBufferTooLong(e)&&this.emit("buffer_too_long")},e.prototype.advanceBuffer=function(t){var e=t.slice(this.position),n=e.indexOf("\n");return-1!==n?(this.position+=n+1,e.slice(0,n)):null},e.prototype.isBufferTooLong=function(t){return this.position===t.length&&t.length>262144},e}(ut);!function(t){t[t.CONNECTING=0]="CONNECTING",t[t.OPEN=1]="OPEN",t[t.CLOSED=3]="CLOSED"}(se||(se={}));var pe=se,le=1;function fe(t){var e=-1===t.indexOf("?")?"?":"&";return t+e+"t="+ +new Date+"&n="+le++}function de(t){return Math.floor(Math.random()*t)}var ye,ge=function(){function t(t,e){this.hooks=t,this.session=de(1e3)+"/"+function(t){for(var e=[],n=0;n0&&t.onChunk(e.status,e.responseText);break;case 4:e.responseText&&e.responseText.length>0&&t.onChunk(e.status,e.responseText),t.emit("finished",e.status),t.close()}},e},abortRequest:function(t){t.onreadystatechange=null,t.abort()}},we={createStreamingSocket:function(t){return this.createSocket(ve,t)},createPollingSocket:function(t){return this.createSocket(be,t)},createSocket:function(t,e){return new ge(t,e)},createXHR:function(t,e){return this.createRequest(me,t,e)},createRequest:function(t,e,n){return new he(t,e,n)},createXDR:function(t,e){return this.createRequest(ae,t,e)}},_e={nextAuthCallbackID:1,auth_callbacks:{},ScriptReceivers:i,DependenciesReceivers:a,getDefaultStrategy:ce,Transports:kt,transportConnectionInitializer:function(){var t=this;t.timeline.info(t.buildTimelineMessage({transport:t.name+(t.options.useTLS?"s":"")})),t.hooks.isInitialized()?t.changeState("initialized"):t.hooks.file?(t.changeState("initializing"),u.load(t.hooks.file,{useTLS:t.options.useTLS},(function(e,n){t.hooks.isInitialized()?(t.changeState("initialized"),n(!0)):(e&&t.onError(e),t.onClose(),n(!1))}))):t.onClose()},HTTPFactory:we,TimelineTransport:et,getXHRAPI:function(){return window.XMLHttpRequest},getWebSocketAPI:function(){return window.WebSocket||window.MozWebSocket},setup:function(t){var e=this;window.Pusher=t;var n=function(){e.onDocumentBody(t.ready)};window.JSON?n():u.load("json2",{},n)},getDocument:function(){return document},getProtocol:function(){return this.getDocument().location.protocol},getAuthorizers:function(){return{ajax:_,jsonp:K}},onDocumentBody:function(t){var e=this;document.body?t():setTimeout((function(){e.onDocumentBody(t)}),0)},createJSONPRequest:function(t,e){return new tt(t,e)},createScriptRequest:function(t){return new Z(t)},getLocalStorage:function(){try{return window.localStorage}catch(t){return}},createXHR:function(){return this.getXHRAPI()?this.createXMLHttpRequest():this.createMicrosoftXHR()},createXMLHttpRequest:function(){return new(this.getXHRAPI())},createMicrosoftXHR:function(){return new ActiveXObject("Microsoft.XMLHTTP")},getNetwork:function(){return Tt},createWebSocket:function(t){return new(this.getWebSocketAPI())(t)},createSocketRequest:function(t,e){if(this.isXHRSupported())return this.HTTPFactory.createXHR(t,e);if(this.isXDRSupported(0===e.indexOf("https:")))return this.HTTPFactory.createXDR(t,e);throw"Cross-origin HTTP requests are not supported"},isXHRSupported:function(){var t=this.getXHRAPI();return Boolean(t)&&void 0!==(new t).withCredentials},isXDRSupported:function(t){var e=t?"https:":"http:",n=this.getProtocol();return Boolean(window.XDomainRequest)&&n===e},addUnloadListener:function(t){void 0!==window.addEventListener?window.addEventListener("unload",t,!1):void 0!==window.attachEvent&&window.attachEvent("onunload",t)},removeUnloadListener:function(t){void 0!==window.addEventListener?window.removeEventListener("unload",t,!1):void 0!==window.detachEvent&&window.detachEvent("onunload",t)}};!function(t){t[t.ERROR=3]="ERROR",t[t.INFO=6]="INFO",t[t.DEBUG=7]="DEBUG"}(ye||(ye={}));var Se=ye,ke=function(){function t(t,e,n){this.key=t,this.session=e,this.events=[],this.options=n||{},this.sent=0,this.uniqueID=0}return t.prototype.log=function(t,e){t<=this.options.level&&(this.events.push(H({},e,{timestamp:M.now()})),this.options.limit&&this.events.length>this.options.limit&&this.events.shift())},t.prototype.error=function(t){this.log(Se.ERROR,t)},t.prototype.info=function(t){this.log(Se.INFO,t)},t.prototype.debug=function(t){this.log(Se.DEBUG,t)},t.prototype.isEmpty=function(){return 0===this.events.length},t.prototype.send=function(t,e){var n=this,o=H({session:this.session,bundle:this.sent+1,key:this.key,lib:"js",version:this.options.version,cluster:this.options.cluster,features:this.options.features,timeline:this.events},this.options.params);return this.events=[],t(o,(function(t,o){t||n.sent++,e&&e(t,o)})),!0},t.prototype.generateUniqueID=function(){return this.uniqueID++,this.uniqueID},t}(),Ce=function(){function t(t,e,n,o){this.name=t,this.priority=e,this.transport=n,this.options=o||{}}return t.prototype.isSupported=function(){return this.transport.isSupported({useTLS:this.options.useTLS})},t.prototype.connect=function(t,e){var n=this;if(!this.isSupported())return Te(new m,e);if(this.priority