diff --git a/.pubnub.yml b/.pubnub.yml index efc738f39..27c5df271 100644 --- a/.pubnub.yml +++ b/.pubnub.yml @@ -1,5 +1,21 @@ --- changelog: + - + changes: + - + text: "Make changes in fetch_messages endpoint to move message actions (if any) for message from 'data' to 'actions' property (old 'data' will be in place for few updates to not break existing clients)." + type: bug + - + text: "fix PAMv3 tests mocked signature" + type: improvement + - + text: "fix lint warnings for tests and code" + type: improvement + - + text: "fix gulp build so that failures in test and lint will trigger failure in travis" + type: improvement + date: 2019-11-20 + version: v4.27.1 - changes: - @@ -773,4 +789,4 @@ supported-platforms: - "Ubuntu 14.04 and above" - "Windows 7, 8, 10" version: "Pubnub Javascript for Node" -version: "4.27.0" +version: "4.27.1" diff --git a/CHANGELOG.md b/CHANGELOG.md index 0be2acf98..ea55d70a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ -## [v4.27.0](https://github.com/pubnub/javascript/tree/v4.27.0) - September-27-2019 +## [v4.27.1](https://github.com/pubnub/javascript/tree/v4.27.1) + November-20-2019 + + + [Full Changelog](https://github.com/pubnub/javascript/compare/v4.27.0...v4.27.1) + + + +- ⭐ Make changes in fetch_messages endpoint to move message actions (if any) for message from 'data' to 'actions' property (old 'data' will be in place for few updates to not break existing clients). +- ⭐ fix PAMv3 tests mocked signature +- ⭐ fix lint warnings for tests and code +- ⭐ fix gulp build so that failures in test and lint will trigger failure in travis + + +## [v4.27.0](https://github.com/pubnub/javascript/tree/v4.27.0) + October-08-2019 [Full Changelog](https://github.com/pubnub/javascript/compare/v4.26.1...v4.27.0) diff --git a/README.md b/README.md index de8f70d5c..1bb78210c 100644 --- a/README.md +++ b/README.md @@ -22,5 +22,5 @@ please use the [master_3x](https://github.com/pubnub/javascript/tree/master_3x) -* https://cdn.pubnub.com/sdk/javascript/pubnub.4.27.0.min.js -* https://cdn.pubnub.com/sdk/javascript/pubnub.4.27.0.js +* https://cdn.pubnub.com/sdk/javascript/pubnub.4.27.1.min.js +* https://cdn.pubnub.com/sdk/javascript/pubnub.4.27.1.js diff --git a/dist/titanium/pubnub.js b/dist/titanium/pubnub.js index c30cab604..f6e0a8f1e 100644 --- a/dist/titanium/pubnub.js +++ b/dist/titanium/pubnub.js @@ -1,4 +1,4 @@ -/*! 4.27.0 / Consumer */ +/*! 4.27.1 / Consumer */ exports["PubNub"] = /******/ (function(modules) { // webpackBootstrap /******/ // The module cache @@ -471,7 +471,7 @@ var _default = function () { }, { key: "getVersion", value: function getVersion() { - return '4.27.0'; + return '4.27.1'; } }, { key: "_decideUUID", diff --git a/dist/titanium/pubnub.min.js b/dist/titanium/pubnub.min.js index 6e214661a..f263655f7 100644 --- a/dist/titanium/pubnub.min.js +++ b/dist/titanium/pubnub.min.js @@ -1 +1 @@ -exports.PubNub=function(n){var r={};function i(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,i),t.l=!0,t.exports}return i.m=n,i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=9)}([function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={PNTimeOperation:"PNTimeOperation",PNHistoryOperation:"PNHistoryOperation",PNDeleteMessagesOperation:"PNDeleteMessagesOperation",PNFetchMessagesOperation:"PNFetchMessagesOperation",PNMessageCounts:"PNMessageCountsOperation",PNSubscribeOperation:"PNSubscribeOperation",PNUnsubscribeOperation:"PNUnsubscribeOperation",PNPublishOperation:"PNPublishOperation",PNSignalOperation:"PNSignalOperation",PNAddMessageActionOperation:"PNAddActionOperation",PNRemoveMessageActionOperation:"PNRemoveMessageActionOperation",PNGetMessageActionsOperation:"PNGetMessageActionsOperation",PNCreateUserOperation:"PNCreateUserOperation",PNUpdateUserOperation:"PNUpdateUserOperation",PNDeleteUserOperation:"PNDeleteUserOperation",PNGetUserOperation:"PNGetUsersOperation",PNGetUsersOperation:"PNGetUsersOperation",PNCreateSpaceOperation:"PNCreateSpaceOperation",PNUpdateSpaceOperation:"PNUpdateSpaceOperation",PNDeleteSpaceOperation:"PNDeleteSpaceOperation",PNGetSpaceOperation:"PNGetSpacesOperation",PNGetSpacesOperation:"PNGetSpacesOperation",PNGetMembersOperation:"PNGetMembersOperation",PNUpdateMembersOperation:"PNUpdateMembersOperation",PNGetMembershipsOperation:"PNGetMembershipsOperation",PNUpdateMembershipsOperation:"PNUpdateMembershipsOperation",PNPushNotificationEnabledChannelsOperation:"PNPushNotificationEnabledChannelsOperation",PNRemoveAllPushNotificationsOperation:"PNRemoveAllPushNotificationsOperation",PNWhereNowOperation:"PNWhereNowOperation",PNSetStateOperation:"PNSetStateOperation",PNHereNowOperation:"PNHereNowOperation",PNGetStateOperation:"PNGetStateOperation",PNHeartbeatOperation:"PNHeartbeatOperation",PNChannelGroupsOperation:"PNChannelGroupsOperation",PNRemoveGroupOperation:"PNRemoveGroupOperation",PNChannelsForGroupOperation:"PNChannelsForGroupOperation",PNAddChannelsToGroupOperation:"PNAddChannelsToGroupOperation",PNRemoveChannelsFromGroupOperation:"PNRemoveChannelsFromGroupOperation",PNAccessManagerGrant:"PNAccessManagerGrant",PNAccessManagerGrantToken:"PNAccessManagerGrantToken",PNAccessManagerAudit:"PNAccessManagerAudit"},e.exports=t.default},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/[!~*'()]/g,function(e){return"%".concat(e.charCodeAt(0).toString(16).toUpperCase())})}function i(e){return function(e){var t=[];return Object.keys(e).forEach(function(e){return t.push(e)}),t}(e).sort()}e.exports={signPamFromParams:function(t){return i(t).map(function(e){return"".concat(e,"=").concat(r(t[e]))}).join("&")},endsWith:function(e,t){return-1!==e.indexOf(t,this.length-t.length)},createPromise:function(){var n,r;return{promise:new Promise(function(e,t){n=e,r=t}),reject:r,fulfill:n}},encodeString:r}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,i=(r=n(5))&&r.__esModule?r:{default:r};n(0);function s(e,t){for(var n=0;n>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=a.ceil(t/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new u.init(n,t/2)}},o=i.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new u.init(n,t)}},c=i.Utf8={stringify:function(e){try{return decodeURIComponent(escape(o.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return o.parse(unescape(encodeURIComponent(e)))}},f=t.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new u.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=c.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,n=t.words,r=t.sigBytes,i=this.blockSize,s=r/(4*i);if(e=(s=e?a.ceil(s):a.max((0|s)-this._minBufferSize,0))*i,r=a.min(4*e,r),e){for(var o=0;o>>7)^(d<<14|d>>>18)^d>>>3)+g[l-7]+((h<<15|h>>>17)^(h<<13|h>>>19)^h>>>10)+g[l-16]}d=f+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&u^~a&c)+p[l]+g[l],h=((r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22))+(r&i^r&s^i&s),f=c,c=u,u=a,a=o+d|0,o=s,s=i,i=r,r=d+h|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+s|0,n[3]=n[3]+o|0,n[4]=n[4]+a|0,n[5]=n[5]+u|0,n[6]=n[6]+c|0,n[7]=n[7]+f|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(64+r>>>9<<4)]=i.floor(n/4294967296),t[15+(64+r>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA256=n._createHelper(r),e.HmacSHA256=n._createHmacHelper(r)}(Math),c=(r=C).enc.Utf8,r.algo.HMAC=r.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=c.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),s=this._iKey=t.clone(),o=i.words,a=s.words,u=0;u>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,o=0;o<4&&i+.75*o>>6*(3-o)&63));if(t=r.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var t=e.length,n=this._map;!(r=n.charAt(64))||-1!=(r=e.indexOf(r))&&(t=r);for(var r=[],i=0,s=0;s>>6-s%4*2;r[i>>>2]|=(o|a)<<24-i%4*8,i++}return u.create(r,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(s){function T(e,t,n,r,i,s,o){return((e=e+(t&n|~t&r)+i+o)<>>32-s)+t}function O(e,t,n,r,i,s,o){return((e=e+(t&r|n&~r)+i+o)<>>32-s)+t}function M(e,t,n,r,i,s,o){return((e=e+(t^n^r)+i+o)<>>32-s)+t}function S(e,t,n,r,i,s,o){return((e=e+(n^(t|~r))+i+o)<>>32-s)+t}for(var e=C,t=(r=e.lib).WordArray,n=r.Hasher,r=e.algo,w=[],i=0;i<64;i++)w[i]=4294967296*s.abs(s.sin(i+1))|0;r=r.MD5=n.extend({_doReset:function(){this._hash=new t.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=e[o=t+n];e[o]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}n=this._hash.words;var i,s,o=e[t+0],a=(r=e[t+1],e[t+2]),u=e[t+3],c=e[t+4],f=e[t+5],l=e[t+6],d=e[t+7],h=e[t+8],p=e[t+9],g=e[t+10],v=e[t+11],b=e[t+12],y=e[t+13],m=e[t+14],_=e[t+15],k=n[0],P=S(P=S(P=S(P=S(P=M(P=M(P=M(P=M(P=O(P=O(P=O(P=O(P=T(P=T(P=T(P=T(P=n[1],s=T(s=n[2],i=T(i=n[3],k=T(k,P,s,i,o,7,w[0]),P,s,r,12,w[1]),k,P,a,17,w[2]),i,k,u,22,w[3]),s=T(s,i=T(i,k=T(k,P,s,i,c,7,w[4]),P,s,f,12,w[5]),k,P,l,17,w[6]),i,k,d,22,w[7]),s=T(s,i=T(i,k=T(k,P,s,i,h,7,w[8]),P,s,p,12,w[9]),k,P,g,17,w[10]),i,k,v,22,w[11]),s=T(s,i=T(i,k=T(k,P,s,i,b,7,w[12]),P,s,y,12,w[13]),k,P,m,17,w[14]),i,k,_,22,w[15]),s=O(s,i=O(i,k=O(k,P,s,i,r,5,w[16]),P,s,l,9,w[17]),k,P,v,14,w[18]),i,k,o,20,w[19]),s=O(s,i=O(i,k=O(k,P,s,i,f,5,w[20]),P,s,g,9,w[21]),k,P,_,14,w[22]),i,k,c,20,w[23]),s=O(s,i=O(i,k=O(k,P,s,i,p,5,w[24]),P,s,m,9,w[25]),k,P,u,14,w[26]),i,k,h,20,w[27]),s=O(s,i=O(i,k=O(k,P,s,i,y,5,w[28]),P,s,a,9,w[29]),k,P,d,14,w[30]),i,k,b,20,w[31]),s=M(s,i=M(i,k=M(k,P,s,i,f,4,w[32]),P,s,h,11,w[33]),k,P,v,16,w[34]),i,k,m,23,w[35]),s=M(s,i=M(i,k=M(k,P,s,i,r,4,w[36]),P,s,c,11,w[37]),k,P,d,16,w[38]),i,k,g,23,w[39]),s=M(s,i=M(i,k=M(k,P,s,i,y,4,w[40]),P,s,o,11,w[41]),k,P,u,16,w[42]),i,k,l,23,w[43]),s=M(s,i=M(i,k=M(k,P,s,i,p,4,w[44]),P,s,b,11,w[45]),k,P,_,16,w[46]),i,k,a,23,w[47]),s=S(s,i=S(i,k=S(k,P,s,i,o,6,w[48]),P,s,d,10,w[49]),k,P,m,15,w[50]),i,k,f,21,w[51]),s=S(s,i=S(i,k=S(k,P,s,i,b,6,w[52]),P,s,u,10,w[53]),k,P,g,15,w[54]),i,k,r,21,w[55]),s=S(s,i=S(i,k=S(k,P,s,i,h,6,w[56]),P,s,_,10,w[57]),k,P,l,15,w[58]),i,k,y,21,w[59]),s=S(s,i=S(i,k=S(k,P,s,i,c,6,w[60]),P,s,v,10,w[61]),k,P,a,15,w[62]),i,k,p,21,w[63]);n[0]=n[0]+k|0,n[1]=n[1]+P|0,n[2]=n[2]+s|0,n[3]=n[3]+i|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;t[r>>>5]|=128<<24-r%32;var i=s.floor(n/4294967296);for(t[15+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t[14+(r+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),e.sigBytes=4*(t.length+1),this._process(),t=(e=this._hash).words,n=0;n<4;n++)r=t[n],t[n]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8);return e},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}}),e.MD5=n._createHelper(r),e.HmacMD5=n._createHmacHelper(r)}(Math),a=(s=(o=C).lib).Base,f=s.WordArray,l=(s=o.algo).EvpKDF=a.extend({cfg:a.extend({keySize:4,hasher:s.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=(o=this.cfg).hasher.create(),r=f.create(),i=r.words,s=o.keySize,o=o.iterations;i.length>>2]}},e.BlockCipher=s.extend({cfg:s.cfg.extend({mode:u,padding:c}),reset:function(){s.reset.call(this);var e=(t=this.cfg).iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=t.createEncryptor;else n=t.createDecryptor,this._minBufferSize=1;this._mode=n.call(t,this,e&&e.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var f=e.CipherParams=t.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),l=(u=(d.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?o.create([1398893684,1701076831]).concat(e).concat(t):t).toString(r)},parse:function(e){var t=(e=r.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var n=o.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return f.create({ciphertext:e,salt:n})}},e.SerializableCipher=t.extend({cfg:t.extend({format:u}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=e.createEncryptor(n,r);return t=i.finalize(t),i=i.cfg,f.create({ciphertext:t,key:n,iv:i.iv,algorithm:e,mode:i.mode,padding:i.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(n,r).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}})),d=(d.kdf={}).OpenSSL={execute:function(e,t,n,r){return r=r||o.random(8),e=i.create({keySize:t+n}).compute(e,r),n=o.create(e.words.slice(t),4*n),e.sigBytes=4*t,f.create({key:e,iv:n,salt:r})}},h=e.PasswordBasedCipher=l.extend({cfg:l.cfg.extend({kdf:d}),encrypt:function(e,t,n,r){return n=(r=this.cfg.extend(r)).kdf.execute(n,e.keySize,e.ivSize),r.iv=n.iv,(e=l.encrypt.call(this,e,t,n.key,r)).mixIn(n),e},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),n=r.kdf.execute(n,e.keySize,e.ivSize,t.salt),r.iv=n.iv,l.decrypt.call(this,e,t,n.key,r)}})}(),function(){for(var e=C,t=e.lib.BlockCipher,n=e.algo,o=[],r=[],i=[],s=[],a=[],u=[],c=[],f=[],l=[],d=[],h=[],p=0;p<256;p++)h[p]=p<128?p<<1:p<<1^283;var g=0,v=0;for(p=0;p<256;p++){var b=(b=v^v<<1^v<<2^v<<3^v<<4)>>>8^255&b^99;o[g]=b;var y=h[r[b]=g],m=h[y],_=h[m],k=257*h[b]^16843008*b;i[g]=k<<24|k>>>8,s[g]=k<<16|k>>>16,a[g]=k<<8|k>>>24,u[g]=k,k=16843009*_^65537*m^257*y^16843008*g,c[b]=k<<24|k>>>8,f[b]=k<<16|k>>>16,l[b]=k<<8|k>>>24,d[b]=k,g?(g=y^h[h[h[_^y]]],v^=h[h[v]]):g=v=1}var P=[0,1,2,4,8,16,32,64,128,27,54];n=n.AES=t.extend({_doReset:function(){for(var e=(n=this._key).words,t=n.sigBytes/4,n=4*((this._nRounds=t+6)+1),r=this._keySchedule=[],i=0;i>>24]<<24|o[s>>>16&255]<<16|o[s>>>8&255]<<8|o[255&s]):(s=o[(s=s<<8|s>>>24)>>>24]<<24|o[s>>>16&255]<<16|o[s>>>8&255]<<8|o[255&s],s^=P[i/t|0]<<24),r[i]=r[i-t]^s}for(e=this._invKeySchedule=[],t=0;t>>24]]^f[o[s>>>16&255]]^l[o[s>>>8&255]]^d[o[255&s]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,i,s,a,u,o)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,c,f,l,d,r),n=e[t+1],e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,i,s,o,a){for(var u=this._nRounds,c=e[t]^n[0],f=e[t+1]^n[1],l=e[t+2]^n[2],d=e[t+3]^n[3],h=4,p=1;p>>24]^i[f>>>16&255]^s[l>>>8&255]^o[255&d]^n[h++],v=r[f>>>24]^i[l>>>16&255]^s[d>>>8&255]^o[255&c]^n[h++],b=r[l>>>24]^i[d>>>16&255]^s[c>>>8&255]^o[255&f]^n[h++];d=r[d>>>24]^i[c>>>16&255]^s[f>>>8&255]^o[255&l]^n[h++],c=g,f=v,l=b}g=(a[c>>>24]<<24|a[f>>>16&255]<<16|a[l>>>8&255]<<8|a[255&d])^n[h++],v=(a[f>>>24]<<24|a[l>>>16&255]<<16|a[d>>>8&255]<<8|a[255&c])^n[h++],b=(a[l>>>24]<<24|a[d>>>16&255]<<16|a[c>>>8&255]<<8|a[255&f])^n[h++],d=(a[d>>>24]<<24|a[c>>>16&255]<<16|a[f>>>8&255]<<8|a[255&l])^n[h++],e[t]=g,e[t+1]=v,e[t+2]=b,e[t+3]=d},keySize:8});e.AES=t._createHelper(n)}(),C.mode.ECB=((d=C.lib.BlockCipherMode.extend()).Encryptor=d.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),d.Decryptor=d.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),d),e.exports=C},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;r(n(6)),r(n(3)),r(n(7));var c=r(n(14)),f=r(n(15)),l=r(n(2)),a=(n(0),r(n(4)));function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){for(var n=0;n=s){var o={};o.category=a.default.PNRequestMessageCountExceededCategory,o.operation=t.operation,this._listenerManager.announceStatus(o)}r.forEach(function(e){var t=e.channel,n=e.subscriptionMatch,r=e.publishMetaData;if(t===n&&(n=null),f){if(c._dedupingManager.isDuplicate(e))return;c._dedupingManager.addEntry(e)}if(l.default.endsWith(e.channel,"-pnpres")){var i={channel:null,subscription:null};i.actualChannel=null!=n?t:null,i.subscribedChannel=null!=n?n:t,t&&(i.channel=t.substring(0,t.lastIndexOf("-pnpres"))),n&&(i.subscription=n.substring(0,n.lastIndexOf("-pnpres"))),i.action=e.payload.action,i.state=e.payload.data,i.timetoken=r.publishTimetoken,i.occupancy=e.payload.occupancy,i.uuid=e.payload.uuid,i.timestamp=e.payload.timestamp,e.payload.join&&(i.join=e.payload.join),e.payload.leave&&(i.leave=e.payload.leave),e.payload.timeout&&(i.timeout=e.payload.timeout),c._listenerManager.announcePresence(i)}else if(1===e.messageType){var s={channel:null,subscription:null};s.channel=t,s.subscription=n,s.timetoken=r.publishTimetoken,s.publisher=e.issuingClientId,e.userMetadata&&(s.userMetadata=e.userMetadata),s.message=e.payload,c._listenerManager.announceSignal(s)}else if(2===e.messageType){var o={channel:null,subscription:null};o.channel=t,o.subscription=n,o.timetoken=r.publishTimetoken,o.publisher=e.issuingClientId,e.userMetadata&&(o.userMetadata=e.userMetadata),o.message={event:e.payload.event,type:e.payload.type,data:e.payload.data},"user"===e.payload.type?c._listenerManager.announceUser(o):"space"===e.payload.type?c._listenerManager.announceSpace(o):"membership"===e.payload.type&&c._listenerManager.announceMembership(o)}else if(3===e.messageType){var a={};a.channel=t,a.subscription=n,a.timetoken=r.publishTimetoken,a.publisher=e.issuingClientId,a.data={messageTimetoken:e.payload.data.messageTimetoken,actionTimetoken:e.payload.data.actionTimetoken,type:e.payload.data.type,uuid:e.issuingClientId,value:e.payload.data.value},a.event=e.payload.event,c._listenerManager.announceMessageAction(a)}else{var u={channel:null,subscription:null};u.actualChannel=null!=n?t:null,u.subscribedChannel=null!=n?n:t,u.channel=t,u.subscription=n,u.timetoken=r.publishTimetoken,u.publisher=e.issuingClientId,e.userMetadata&&(u.userMetadata=e.userMetadata),c._config.cipherKey?u.message=c._crypto.decrypt(e.payload):u.message=e.payload,c._listenerManager.announceMessage(u)}}),this._region=e.metadata.region,this._startSubscribeLoop()}}},{key:"_stopSubscribeLoop",value:function(){this._subscribeCall&&("function"==typeof this._subscribeCall.abort&&this._subscribeCall.abort(),this._subscribeCall=null)}}])&&i(s.prototype,o),void(u&&i(s,u)),p);function p(e){var t=e.subscribeEndpoint,n=e.leaveEndpoint,r=e.heartbeatEndpoint,i=e.setStateEndpoint,s=e.timeEndpoint,o=e.config,a=e.crypto,u=e.listenerManager;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,p),d(this,"_crypto",void 0),d(this,"_config",void 0),d(this,"_listenerManager",void 0),d(this,"_reconnectionManager",void 0),d(this,"_leaveEndpoint",void 0),d(this,"_heartbeatEndpoint",void 0),d(this,"_setStateEndpoint",void 0),d(this,"_subscribeEndpoint",void 0),d(this,"_channels",void 0),d(this,"_presenceChannels",void 0),d(this,"_heartbeatChannels",void 0),d(this,"_heartbeatChannelGroups",void 0),d(this,"_channelGroups",void 0),d(this,"_presenceChannelGroups",void 0),d(this,"_currentTimetoken",void 0),d(this,"_lastTimetoken",void 0),d(this,"_storedTimetoken",void 0),d(this,"_region",void 0),d(this,"_subscribeCall",void 0),d(this,"_heartbeatTimer",void 0),d(this,"_subscriptionStatusAnnounced",void 0),d(this,"_autoNetworkDetection",void 0),d(this,"_isOnline",void 0),d(this,"_pendingChannelSubscriptions",void 0),d(this,"_pendingChannelGroupSubscriptions",void 0),d(this,"_dedupingManager",void 0),this._listenerManager=u,this._config=o,this._leaveEndpoint=n,this._heartbeatEndpoint=r,this._setStateEndpoint=i,this._subscribeEndpoint=t,this._crypto=a,this._channels={},this._presenceChannels={},this._heartbeatChannels={},this._heartbeatChannelGroups={},this._channelGroups={},this._presenceChannelGroups={},this._pendingChannelSubscriptions=[],this._pendingChannelGroupSubscriptions=[],this._currentTimetoken=0,this._lastTimetoken=0,this._storedTimetoken=null,this._subscriptionStatusAnnounced=!1,this._isOnline=!0,this._reconnectionManager=new c.default({timeEndpoint:s}),this._dedupingManager=new f.default({config:o})}t.default=h,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r;(r=n(8))&&r.__esModule,n(0);function i(e,t){for(var n=0;n=this._config.maximumCacheSize&&this.hashHistory.shift(),this.hashHistory.push(this.getKey(e))}},{key:"clearHistory",value:function(){this.hashHistory=[]}}])&&i(o.prototype,a),void(u&&i(o,u)),f);function f(e){var t=e.config;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,f),s(this,"_config",void 0),s(this,"hashHistory",void 0),this.hashHistory=[],this._config=t}t.default=c,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r;(r=n(3))&&r.__esModule,n(0);function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(e,t){for(var n=0;n=this._maxSubDomain&&(this._currentSubDomain=1),e=this._currentSubDomain.toString(),this._providedFQDN.replace("ps.pndsn.com","ps".concat(e,".pndsn.com"))):this._providedFQDN;var e}},{key:"hasModule",value:function(e){return e in this._modules}},{key:"shiftStandardOrigin",value:function(){return this._standardOrigin=this.nextOrigin(),this._standardOrigin}},{key:"getStandardOrigin",value:function(){return this._standardOrigin}},{key:"POST",value:function(e,t,n,r){return this._modules.post(e,t,n,r)}},{key:"PATCH",value:function(e,t,n,r){return this._modules.patch(e,t,n,r)}},{key:"GET",value:function(e,t,n){return this._modules.get(e,t,n)}},{key:"DELETE",value:function(e,t,n){return this._modules.del(e,t,n)}},{key:"_detectErrorCategory",value:function(e){if("ENOTFOUND"===e.code)return r.default.PNNetworkIssuesCategory;if("ECONNREFUSED"===e.code)return r.default.PNNetworkIssuesCategory;if("ECONNRESET"===e.code)return r.default.PNNetworkIssuesCategory;if("EAI_AGAIN"===e.code)return r.default.PNNetworkIssuesCategory;if(0===e.status||e.hasOwnProperty("status")&&void 0===e.status)return r.default.PNNetworkIssuesCategory;if(e.timeout)return r.default.PNTimeoutCategory;if("ETIMEDOUT"===e.code)return r.default.PNNetworkIssuesCategory;if(e.response){if(e.response.badRequest)return r.default.PNBadRequestCategory;if(e.response.forbidden)return r.default.PNAccessDeniedCategory}return r.default.PNUnknownCategory}}])&&s(a.prototype,u),void(c&&s(a,c)),l);function l(t){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),o(this,"_modules",void 0),o(this,"_config",void 0),o(this,"_maxSubDomain",void 0),o(this,"_currentSubDomain",void 0),o(this,"_standardOrigin",void 0),o(this,"_subscribeOrigin",void 0),o(this,"_providedFQDN",void 0),o(this,"_requestTimeout",void 0),o(this,"_coreParams",void 0),this._modules={},Object.keys(t).forEach(function(e){n._modules[e]=t[e].bind(n)})}t.default=f,e.exports=t.default},function(e,t,n){"use strict";function r(e,t){for(var n=0;n>10,n=1023&e,r=32768&e;if(31==t)return 0==n?r?-1/0:1/0:NaN;var i=t?Math.pow(2,t-25)*(1024+n):Math.pow(2,-24)*n;return r?-i:i},readFloat32:function(){var e=this.readUint32(),t=(2147483647&e)>>23,n=8388607&e,r=2147483648&e;if(255==t)return 0==n?r?-1/0:1/0:NaN;var i=t?Math.pow(2,t-23-127)*(8388608+n):Math.pow(2,-149)*n;return r?-i:i},readFloat64:function(){var e=this.readUint32(),t=this.readUint32(),n=e>>20&2047,r=4294967296*(1048575&e)+t,i=2147483648&e;if(2047==n)return 0===r?i?-1/0:1/0:NaN;var s=n?Math.pow(2,n-52-1023)*(4503599627370496+r):Math.pow(2,-1074)*r;return i?-s:s},readUint16:function(){return 256*this.readByte()+this.readByte()},readUint32:function(){return 65536*this.readUint16()+this.readUint16()},readUint64:function(){return 4294967296*this.readUint32()+this.readUint32()}},t.prototype={writeByte:r("writeByte"),result:r("result"),writeFloat16:r("writeFloat16"),writeFloat32:r("writeFloat32"),writeFloat64:r("writeFloat64"),writeUint16:function(e){this.writeByte(e>>8&255),this.writeByte(255&e)},writeUint32:function(e){this.writeUint16(e>>16&65535),this.writeUint16(65535&e)},writeUint64:function(e){if(9007199254740992<=e||e<=-9007199254740992)throw new Error("Cannot encode Uint64 of: "+e+" magnitude to big (floating point errors)");this.writeUint32(Math.floor(e/4294967296)),this.writeUint32(e%4294967296)},writeString:r("writeString"),canWriteBinary:function(e){return!1},writeBinary:r("writeChunk")};var d=new Error;function h(e){var t=function(e){var t=e.readByte();return{type:t>>5,value:31&t}}(e);switch(t.type){case 0:return l(t,e);case 1:return-1-l(t,e);case 2:return e.readChunk(l(t,e));case 3:var n=e.readChunk(l(t,e));return n.toString("utf-8");case 4:case 5:var r=l(t,e),i=[];if(null!==r){5===t.type&&(r*=2);for(var s=0;s=this.latestBuffer.length&&(this.completeBuffers.push(this.latestBuffer),this.latestBuffer=Buffer.alloc(this.defaultBufferLength),this.latestBufferOffset=0),this.byteLength++},n.prototype.writeFloat32=function(e){var t=Buffer.alloc(4);t.writeFloatBE(e,0),this.writeBuffer(t)},n.prototype.writeFloat64=function(e){var t=Buffer.alloc(8);t.writeDoubleBE(e,0),this.writeBuffer(t)},n.prototype.writeString=function(e,t){var n=Buffer.from(e,"utf-8");t(n.length),this.writeBuffer(n)},n.prototype.canWriteBinary=function(e){return e instanceof Buffer},n.prototype.writeBinary=function(e,t){t(e.length),this.writeBuffer(e)},n.prototype.writeBuffer=function(e){if(!(e instanceof Buffer))throw new TypeError("BufferWriter only accepts Buffers");this.latestBufferOffset?this.latestBuffer.length-this.latestBufferOffset>=e.length?(e.copy(this.latestBuffer,this.latestBufferOffset),this.latestBufferOffset+=e.length,this.latestBufferOffset>=this.latestBuffer.length&&(this.completeBuffers.push(this.latestBuffer),this.latestBuffer=Buffer.alloc(this.defaultBufferLength),this.latestBufferOffset=0)):(this.completeBuffers.push(this.latestBuffer.slice(0,this.latestBufferOffset)),this.completeBuffers.push(e),this.latestBuffer=Buffer.alloc(this.defaultBufferLength),this.latestBufferOffset=0):this.completeBuffers.push(e),this.byteLength+=e.length},n.prototype.result=function(){for(var e=Buffer.alloc(this.byteLength),t=0,n=0;n>>>>>"),s.log("[".concat(a," / ").concat(o,"]"),"\n",e,"\n",t,"\n",n),s.log("-----")}(n,r,t.responseText),o(u,e)},t.onerror=function(e){return u.error=!0,u.errorData=e.error,u.category=a._detectErrorCategory(e.error),o(u,null)},t.timeout="android"===Ti.Platform.osname?2147483647:1/0,t.send(i)}},function(e,t,n){"use strict";function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(t,n,r){null!=r?Array.isArray(r)?r.forEach(function(e){s(t,n,e)}):"object"===i(r)?Object.keys(r).forEach(function(e){s(t,"".concat(n,"[").concat(e,"]"),r[e])}):t.push("".concat(encodeURIComponent(n),"=").concat(encodeURIComponent(r))):null===r&&t.push(encodeURIComponent("".concat(encodeURIComponent(n))))}Object.defineProperty(t,"__esModule",{value:!0}),t.encodedKeyValuePair=s,t.buildUrl=function(e,t){var n=[];return Object.keys(t).forEach(function(e){s(n,e,t[e])}),"".concat(e,"?").concat(n.join("&"))}}]),module.exports=exports.PubNub; \ No newline at end of file +exports.PubNub=function(n){var r={};function i(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,i),t.l=!0,t.exports}return i.m=n,i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=9)}([function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={PNTimeOperation:"PNTimeOperation",PNHistoryOperation:"PNHistoryOperation",PNDeleteMessagesOperation:"PNDeleteMessagesOperation",PNFetchMessagesOperation:"PNFetchMessagesOperation",PNMessageCounts:"PNMessageCountsOperation",PNSubscribeOperation:"PNSubscribeOperation",PNUnsubscribeOperation:"PNUnsubscribeOperation",PNPublishOperation:"PNPublishOperation",PNSignalOperation:"PNSignalOperation",PNAddMessageActionOperation:"PNAddActionOperation",PNRemoveMessageActionOperation:"PNRemoveMessageActionOperation",PNGetMessageActionsOperation:"PNGetMessageActionsOperation",PNCreateUserOperation:"PNCreateUserOperation",PNUpdateUserOperation:"PNUpdateUserOperation",PNDeleteUserOperation:"PNDeleteUserOperation",PNGetUserOperation:"PNGetUsersOperation",PNGetUsersOperation:"PNGetUsersOperation",PNCreateSpaceOperation:"PNCreateSpaceOperation",PNUpdateSpaceOperation:"PNUpdateSpaceOperation",PNDeleteSpaceOperation:"PNDeleteSpaceOperation",PNGetSpaceOperation:"PNGetSpacesOperation",PNGetSpacesOperation:"PNGetSpacesOperation",PNGetMembersOperation:"PNGetMembersOperation",PNUpdateMembersOperation:"PNUpdateMembersOperation",PNGetMembershipsOperation:"PNGetMembershipsOperation",PNUpdateMembershipsOperation:"PNUpdateMembershipsOperation",PNPushNotificationEnabledChannelsOperation:"PNPushNotificationEnabledChannelsOperation",PNRemoveAllPushNotificationsOperation:"PNRemoveAllPushNotificationsOperation",PNWhereNowOperation:"PNWhereNowOperation",PNSetStateOperation:"PNSetStateOperation",PNHereNowOperation:"PNHereNowOperation",PNGetStateOperation:"PNGetStateOperation",PNHeartbeatOperation:"PNHeartbeatOperation",PNChannelGroupsOperation:"PNChannelGroupsOperation",PNRemoveGroupOperation:"PNRemoveGroupOperation",PNChannelsForGroupOperation:"PNChannelsForGroupOperation",PNAddChannelsToGroupOperation:"PNAddChannelsToGroupOperation",PNRemoveChannelsFromGroupOperation:"PNRemoveChannelsFromGroupOperation",PNAccessManagerGrant:"PNAccessManagerGrant",PNAccessManagerGrantToken:"PNAccessManagerGrantToken",PNAccessManagerAudit:"PNAccessManagerAudit"},e.exports=t.default},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/[!~*'()]/g,function(e){return"%".concat(e.charCodeAt(0).toString(16).toUpperCase())})}function i(e){return function(e){var t=[];return Object.keys(e).forEach(function(e){return t.push(e)}),t}(e).sort()}e.exports={signPamFromParams:function(t){return i(t).map(function(e){return"".concat(e,"=").concat(r(t[e]))}).join("&")},endsWith:function(e,t){return-1!==e.indexOf(t,this.length-t.length)},createPromise:function(){var n,r;return{promise:new Promise(function(e,t){n=e,r=t}),reject:r,fulfill:n}},encodeString:r}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,i=(r=n(5))&&r.__esModule?r:{default:r};n(0);function s(e,t){for(var n=0;n>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=a.ceil(t/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new u.init(n,t/2)}},o=i.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new u.init(n,t)}},c=i.Utf8={stringify:function(e){try{return decodeURIComponent(escape(o.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return o.parse(unescape(encodeURIComponent(e)))}},f=t.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new u.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=c.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,n=t.words,r=t.sigBytes,i=this.blockSize,s=r/(4*i);if(e=(s=e?a.ceil(s):a.max((0|s)-this._minBufferSize,0))*i,r=a.min(4*e,r),e){for(var o=0;o>>7)^(d<<14|d>>>18)^d>>>3)+g[l-7]+((h<<15|h>>>17)^(h<<13|h>>>19)^h>>>10)+g[l-16]}d=f+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&u^~a&c)+p[l]+g[l],h=((r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22))+(r&i^r&s^i&s),f=c,c=u,u=a,a=o+d|0,o=s,s=i,i=r,r=d+h|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+s|0,n[3]=n[3]+o|0,n[4]=n[4]+a|0,n[5]=n[5]+u|0,n[6]=n[6]+c|0,n[7]=n[7]+f|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(64+r>>>9<<4)]=i.floor(n/4294967296),t[15+(64+r>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA256=n._createHelper(r),e.HmacSHA256=n._createHmacHelper(r)}(Math),c=(r=C).enc.Utf8,r.algo.HMAC=r.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=c.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),s=this._iKey=t.clone(),o=i.words,a=s.words,u=0;u>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,o=0;o<4&&i+.75*o>>6*(3-o)&63));if(t=r.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var t=e.length,n=this._map;!(r=n.charAt(64))||-1!=(r=e.indexOf(r))&&(t=r);for(var r=[],i=0,s=0;s>>6-s%4*2;r[i>>>2]|=(o|a)<<24-i%4*8,i++}return u.create(r,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(s){function T(e,t,n,r,i,s,o){return((e=e+(t&n|~t&r)+i+o)<>>32-s)+t}function O(e,t,n,r,i,s,o){return((e=e+(t&r|n&~r)+i+o)<>>32-s)+t}function M(e,t,n,r,i,s,o){return((e=e+(t^n^r)+i+o)<>>32-s)+t}function S(e,t,n,r,i,s,o){return((e=e+(n^(t|~r))+i+o)<>>32-s)+t}for(var e=C,t=(r=e.lib).WordArray,n=r.Hasher,r=e.algo,w=[],i=0;i<64;i++)w[i]=4294967296*s.abs(s.sin(i+1))|0;r=r.MD5=n.extend({_doReset:function(){this._hash=new t.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=e[o=t+n];e[o]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}n=this._hash.words;var i,s,o=e[t+0],a=(r=e[t+1],e[t+2]),u=e[t+3],c=e[t+4],f=e[t+5],l=e[t+6],d=e[t+7],h=e[t+8],p=e[t+9],g=e[t+10],v=e[t+11],b=e[t+12],y=e[t+13],m=e[t+14],_=e[t+15],k=n[0],P=S(P=S(P=S(P=S(P=M(P=M(P=M(P=M(P=O(P=O(P=O(P=O(P=T(P=T(P=T(P=T(P=n[1],s=T(s=n[2],i=T(i=n[3],k=T(k,P,s,i,o,7,w[0]),P,s,r,12,w[1]),k,P,a,17,w[2]),i,k,u,22,w[3]),s=T(s,i=T(i,k=T(k,P,s,i,c,7,w[4]),P,s,f,12,w[5]),k,P,l,17,w[6]),i,k,d,22,w[7]),s=T(s,i=T(i,k=T(k,P,s,i,h,7,w[8]),P,s,p,12,w[9]),k,P,g,17,w[10]),i,k,v,22,w[11]),s=T(s,i=T(i,k=T(k,P,s,i,b,7,w[12]),P,s,y,12,w[13]),k,P,m,17,w[14]),i,k,_,22,w[15]),s=O(s,i=O(i,k=O(k,P,s,i,r,5,w[16]),P,s,l,9,w[17]),k,P,v,14,w[18]),i,k,o,20,w[19]),s=O(s,i=O(i,k=O(k,P,s,i,f,5,w[20]),P,s,g,9,w[21]),k,P,_,14,w[22]),i,k,c,20,w[23]),s=O(s,i=O(i,k=O(k,P,s,i,p,5,w[24]),P,s,m,9,w[25]),k,P,u,14,w[26]),i,k,h,20,w[27]),s=O(s,i=O(i,k=O(k,P,s,i,y,5,w[28]),P,s,a,9,w[29]),k,P,d,14,w[30]),i,k,b,20,w[31]),s=M(s,i=M(i,k=M(k,P,s,i,f,4,w[32]),P,s,h,11,w[33]),k,P,v,16,w[34]),i,k,m,23,w[35]),s=M(s,i=M(i,k=M(k,P,s,i,r,4,w[36]),P,s,c,11,w[37]),k,P,d,16,w[38]),i,k,g,23,w[39]),s=M(s,i=M(i,k=M(k,P,s,i,y,4,w[40]),P,s,o,11,w[41]),k,P,u,16,w[42]),i,k,l,23,w[43]),s=M(s,i=M(i,k=M(k,P,s,i,p,4,w[44]),P,s,b,11,w[45]),k,P,_,16,w[46]),i,k,a,23,w[47]),s=S(s,i=S(i,k=S(k,P,s,i,o,6,w[48]),P,s,d,10,w[49]),k,P,m,15,w[50]),i,k,f,21,w[51]),s=S(s,i=S(i,k=S(k,P,s,i,b,6,w[52]),P,s,u,10,w[53]),k,P,g,15,w[54]),i,k,r,21,w[55]),s=S(s,i=S(i,k=S(k,P,s,i,h,6,w[56]),P,s,_,10,w[57]),k,P,l,15,w[58]),i,k,y,21,w[59]),s=S(s,i=S(i,k=S(k,P,s,i,c,6,w[60]),P,s,v,10,w[61]),k,P,a,15,w[62]),i,k,p,21,w[63]);n[0]=n[0]+k|0,n[1]=n[1]+P|0,n[2]=n[2]+s|0,n[3]=n[3]+i|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;t[r>>>5]|=128<<24-r%32;var i=s.floor(n/4294967296);for(t[15+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t[14+(r+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),e.sigBytes=4*(t.length+1),this._process(),t=(e=this._hash).words,n=0;n<4;n++)r=t[n],t[n]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8);return e},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}}),e.MD5=n._createHelper(r),e.HmacMD5=n._createHmacHelper(r)}(Math),a=(s=(o=C).lib).Base,f=s.WordArray,l=(s=o.algo).EvpKDF=a.extend({cfg:a.extend({keySize:4,hasher:s.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=(o=this.cfg).hasher.create(),r=f.create(),i=r.words,s=o.keySize,o=o.iterations;i.length>>2]}},e.BlockCipher=s.extend({cfg:s.cfg.extend({mode:u,padding:c}),reset:function(){s.reset.call(this);var e=(t=this.cfg).iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=t.createEncryptor;else n=t.createDecryptor,this._minBufferSize=1;this._mode=n.call(t,this,e&&e.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var f=e.CipherParams=t.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),l=(u=(d.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?o.create([1398893684,1701076831]).concat(e).concat(t):t).toString(r)},parse:function(e){var t=(e=r.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var n=o.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return f.create({ciphertext:e,salt:n})}},e.SerializableCipher=t.extend({cfg:t.extend({format:u}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=e.createEncryptor(n,r);return t=i.finalize(t),i=i.cfg,f.create({ciphertext:t,key:n,iv:i.iv,algorithm:e,mode:i.mode,padding:i.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(n,r).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}})),d=(d.kdf={}).OpenSSL={execute:function(e,t,n,r){return r=r||o.random(8),e=i.create({keySize:t+n}).compute(e,r),n=o.create(e.words.slice(t),4*n),e.sigBytes=4*t,f.create({key:e,iv:n,salt:r})}},h=e.PasswordBasedCipher=l.extend({cfg:l.cfg.extend({kdf:d}),encrypt:function(e,t,n,r){return n=(r=this.cfg.extend(r)).kdf.execute(n,e.keySize,e.ivSize),r.iv=n.iv,(e=l.encrypt.call(this,e,t,n.key,r)).mixIn(n),e},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),n=r.kdf.execute(n,e.keySize,e.ivSize,t.salt),r.iv=n.iv,l.decrypt.call(this,e,t,n.key,r)}})}(),function(){for(var e=C,t=e.lib.BlockCipher,n=e.algo,o=[],r=[],i=[],s=[],a=[],u=[],c=[],f=[],l=[],d=[],h=[],p=0;p<256;p++)h[p]=p<128?p<<1:p<<1^283;var g=0,v=0;for(p=0;p<256;p++){var b=(b=v^v<<1^v<<2^v<<3^v<<4)>>>8^255&b^99;o[g]=b;var y=h[r[b]=g],m=h[y],_=h[m],k=257*h[b]^16843008*b;i[g]=k<<24|k>>>8,s[g]=k<<16|k>>>16,a[g]=k<<8|k>>>24,u[g]=k,k=16843009*_^65537*m^257*y^16843008*g,c[b]=k<<24|k>>>8,f[b]=k<<16|k>>>16,l[b]=k<<8|k>>>24,d[b]=k,g?(g=y^h[h[h[_^y]]],v^=h[h[v]]):g=v=1}var P=[0,1,2,4,8,16,32,64,128,27,54];n=n.AES=t.extend({_doReset:function(){for(var e=(n=this._key).words,t=n.sigBytes/4,n=4*((this._nRounds=t+6)+1),r=this._keySchedule=[],i=0;i>>24]<<24|o[s>>>16&255]<<16|o[s>>>8&255]<<8|o[255&s]):(s=o[(s=s<<8|s>>>24)>>>24]<<24|o[s>>>16&255]<<16|o[s>>>8&255]<<8|o[255&s],s^=P[i/t|0]<<24),r[i]=r[i-t]^s}for(e=this._invKeySchedule=[],t=0;t>>24]]^f[o[s>>>16&255]]^l[o[s>>>8&255]]^d[o[255&s]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,i,s,a,u,o)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,c,f,l,d,r),n=e[t+1],e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,i,s,o,a){for(var u=this._nRounds,c=e[t]^n[0],f=e[t+1]^n[1],l=e[t+2]^n[2],d=e[t+3]^n[3],h=4,p=1;p>>24]^i[f>>>16&255]^s[l>>>8&255]^o[255&d]^n[h++],v=r[f>>>24]^i[l>>>16&255]^s[d>>>8&255]^o[255&c]^n[h++],b=r[l>>>24]^i[d>>>16&255]^s[c>>>8&255]^o[255&f]^n[h++];d=r[d>>>24]^i[c>>>16&255]^s[f>>>8&255]^o[255&l]^n[h++],c=g,f=v,l=b}g=(a[c>>>24]<<24|a[f>>>16&255]<<16|a[l>>>8&255]<<8|a[255&d])^n[h++],v=(a[f>>>24]<<24|a[l>>>16&255]<<16|a[d>>>8&255]<<8|a[255&c])^n[h++],b=(a[l>>>24]<<24|a[d>>>16&255]<<16|a[c>>>8&255]<<8|a[255&f])^n[h++],d=(a[d>>>24]<<24|a[c>>>16&255]<<16|a[f>>>8&255]<<8|a[255&l])^n[h++],e[t]=g,e[t+1]=v,e[t+2]=b,e[t+3]=d},keySize:8});e.AES=t._createHelper(n)}(),C.mode.ECB=((d=C.lib.BlockCipherMode.extend()).Encryptor=d.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),d.Decryptor=d.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),d),e.exports=C},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;r(n(6)),r(n(3)),r(n(7));var c=r(n(14)),f=r(n(15)),l=r(n(2)),a=(n(0),r(n(4)));function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){for(var n=0;n=s){var o={};o.category=a.default.PNRequestMessageCountExceededCategory,o.operation=t.operation,this._listenerManager.announceStatus(o)}r.forEach(function(e){var t=e.channel,n=e.subscriptionMatch,r=e.publishMetaData;if(t===n&&(n=null),f){if(c._dedupingManager.isDuplicate(e))return;c._dedupingManager.addEntry(e)}if(l.default.endsWith(e.channel,"-pnpres")){var i={channel:null,subscription:null};i.actualChannel=null!=n?t:null,i.subscribedChannel=null!=n?n:t,t&&(i.channel=t.substring(0,t.lastIndexOf("-pnpres"))),n&&(i.subscription=n.substring(0,n.lastIndexOf("-pnpres"))),i.action=e.payload.action,i.state=e.payload.data,i.timetoken=r.publishTimetoken,i.occupancy=e.payload.occupancy,i.uuid=e.payload.uuid,i.timestamp=e.payload.timestamp,e.payload.join&&(i.join=e.payload.join),e.payload.leave&&(i.leave=e.payload.leave),e.payload.timeout&&(i.timeout=e.payload.timeout),c._listenerManager.announcePresence(i)}else if(1===e.messageType){var s={channel:null,subscription:null};s.channel=t,s.subscription=n,s.timetoken=r.publishTimetoken,s.publisher=e.issuingClientId,e.userMetadata&&(s.userMetadata=e.userMetadata),s.message=e.payload,c._listenerManager.announceSignal(s)}else if(2===e.messageType){var o={channel:null,subscription:null};o.channel=t,o.subscription=n,o.timetoken=r.publishTimetoken,o.publisher=e.issuingClientId,e.userMetadata&&(o.userMetadata=e.userMetadata),o.message={event:e.payload.event,type:e.payload.type,data:e.payload.data},"user"===e.payload.type?c._listenerManager.announceUser(o):"space"===e.payload.type?c._listenerManager.announceSpace(o):"membership"===e.payload.type&&c._listenerManager.announceMembership(o)}else if(3===e.messageType){var a={};a.channel=t,a.subscription=n,a.timetoken=r.publishTimetoken,a.publisher=e.issuingClientId,a.data={messageTimetoken:e.payload.data.messageTimetoken,actionTimetoken:e.payload.data.actionTimetoken,type:e.payload.data.type,uuid:e.issuingClientId,value:e.payload.data.value},a.event=e.payload.event,c._listenerManager.announceMessageAction(a)}else{var u={channel:null,subscription:null};u.actualChannel=null!=n?t:null,u.subscribedChannel=null!=n?n:t,u.channel=t,u.subscription=n,u.timetoken=r.publishTimetoken,u.publisher=e.issuingClientId,e.userMetadata&&(u.userMetadata=e.userMetadata),c._config.cipherKey?u.message=c._crypto.decrypt(e.payload):u.message=e.payload,c._listenerManager.announceMessage(u)}}),this._region=e.metadata.region,this._startSubscribeLoop()}}},{key:"_stopSubscribeLoop",value:function(){this._subscribeCall&&("function"==typeof this._subscribeCall.abort&&this._subscribeCall.abort(),this._subscribeCall=null)}}])&&i(s.prototype,o),void(u&&i(s,u)),p);function p(e){var t=e.subscribeEndpoint,n=e.leaveEndpoint,r=e.heartbeatEndpoint,i=e.setStateEndpoint,s=e.timeEndpoint,o=e.config,a=e.crypto,u=e.listenerManager;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,p),d(this,"_crypto",void 0),d(this,"_config",void 0),d(this,"_listenerManager",void 0),d(this,"_reconnectionManager",void 0),d(this,"_leaveEndpoint",void 0),d(this,"_heartbeatEndpoint",void 0),d(this,"_setStateEndpoint",void 0),d(this,"_subscribeEndpoint",void 0),d(this,"_channels",void 0),d(this,"_presenceChannels",void 0),d(this,"_heartbeatChannels",void 0),d(this,"_heartbeatChannelGroups",void 0),d(this,"_channelGroups",void 0),d(this,"_presenceChannelGroups",void 0),d(this,"_currentTimetoken",void 0),d(this,"_lastTimetoken",void 0),d(this,"_storedTimetoken",void 0),d(this,"_region",void 0),d(this,"_subscribeCall",void 0),d(this,"_heartbeatTimer",void 0),d(this,"_subscriptionStatusAnnounced",void 0),d(this,"_autoNetworkDetection",void 0),d(this,"_isOnline",void 0),d(this,"_pendingChannelSubscriptions",void 0),d(this,"_pendingChannelGroupSubscriptions",void 0),d(this,"_dedupingManager",void 0),this._listenerManager=u,this._config=o,this._leaveEndpoint=n,this._heartbeatEndpoint=r,this._setStateEndpoint=i,this._subscribeEndpoint=t,this._crypto=a,this._channels={},this._presenceChannels={},this._heartbeatChannels={},this._heartbeatChannelGroups={},this._channelGroups={},this._presenceChannelGroups={},this._pendingChannelSubscriptions=[],this._pendingChannelGroupSubscriptions=[],this._currentTimetoken=0,this._lastTimetoken=0,this._storedTimetoken=null,this._subscriptionStatusAnnounced=!1,this._isOnline=!0,this._reconnectionManager=new c.default({timeEndpoint:s}),this._dedupingManager=new f.default({config:o})}t.default=h,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r;(r=n(8))&&r.__esModule,n(0);function i(e,t){for(var n=0;n=this._config.maximumCacheSize&&this.hashHistory.shift(),this.hashHistory.push(this.getKey(e))}},{key:"clearHistory",value:function(){this.hashHistory=[]}}])&&i(o.prototype,a),void(u&&i(o,u)),f);function f(e){var t=e.config;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,f),s(this,"_config",void 0),s(this,"hashHistory",void 0),this.hashHistory=[],this._config=t}t.default=c,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r;(r=n(3))&&r.__esModule,n(0);function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(e,t){for(var n=0;n=this._maxSubDomain&&(this._currentSubDomain=1),e=this._currentSubDomain.toString(),this._providedFQDN.replace("ps.pndsn.com","ps".concat(e,".pndsn.com"))):this._providedFQDN;var e}},{key:"hasModule",value:function(e){return e in this._modules}},{key:"shiftStandardOrigin",value:function(){return this._standardOrigin=this.nextOrigin(),this._standardOrigin}},{key:"getStandardOrigin",value:function(){return this._standardOrigin}},{key:"POST",value:function(e,t,n,r){return this._modules.post(e,t,n,r)}},{key:"PATCH",value:function(e,t,n,r){return this._modules.patch(e,t,n,r)}},{key:"GET",value:function(e,t,n){return this._modules.get(e,t,n)}},{key:"DELETE",value:function(e,t,n){return this._modules.del(e,t,n)}},{key:"_detectErrorCategory",value:function(e){if("ENOTFOUND"===e.code)return r.default.PNNetworkIssuesCategory;if("ECONNREFUSED"===e.code)return r.default.PNNetworkIssuesCategory;if("ECONNRESET"===e.code)return r.default.PNNetworkIssuesCategory;if("EAI_AGAIN"===e.code)return r.default.PNNetworkIssuesCategory;if(0===e.status||e.hasOwnProperty("status")&&void 0===e.status)return r.default.PNNetworkIssuesCategory;if(e.timeout)return r.default.PNTimeoutCategory;if("ETIMEDOUT"===e.code)return r.default.PNNetworkIssuesCategory;if(e.response){if(e.response.badRequest)return r.default.PNBadRequestCategory;if(e.response.forbidden)return r.default.PNAccessDeniedCategory}return r.default.PNUnknownCategory}}])&&s(a.prototype,u),void(c&&s(a,c)),l);function l(t){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),o(this,"_modules",void 0),o(this,"_config",void 0),o(this,"_maxSubDomain",void 0),o(this,"_currentSubDomain",void 0),o(this,"_standardOrigin",void 0),o(this,"_subscribeOrigin",void 0),o(this,"_providedFQDN",void 0),o(this,"_requestTimeout",void 0),o(this,"_coreParams",void 0),this._modules={},Object.keys(t).forEach(function(e){n._modules[e]=t[e].bind(n)})}t.default=f,e.exports=t.default},function(e,t,n){"use strict";function r(e,t){for(var n=0;n>10,n=1023&e,r=32768&e;if(31==t)return 0==n?r?-1/0:1/0:NaN;var i=t?Math.pow(2,t-25)*(1024+n):Math.pow(2,-24)*n;return r?-i:i},readFloat32:function(){var e=this.readUint32(),t=(2147483647&e)>>23,n=8388607&e,r=2147483648&e;if(255==t)return 0==n?r?-1/0:1/0:NaN;var i=t?Math.pow(2,t-23-127)*(8388608+n):Math.pow(2,-149)*n;return r?-i:i},readFloat64:function(){var e=this.readUint32(),t=this.readUint32(),n=e>>20&2047,r=4294967296*(1048575&e)+t,i=2147483648&e;if(2047==n)return 0===r?i?-1/0:1/0:NaN;var s=n?Math.pow(2,n-52-1023)*(4503599627370496+r):Math.pow(2,-1074)*r;return i?-s:s},readUint16:function(){return 256*this.readByte()+this.readByte()},readUint32:function(){return 65536*this.readUint16()+this.readUint16()},readUint64:function(){return 4294967296*this.readUint32()+this.readUint32()}},t.prototype={writeByte:r("writeByte"),result:r("result"),writeFloat16:r("writeFloat16"),writeFloat32:r("writeFloat32"),writeFloat64:r("writeFloat64"),writeUint16:function(e){this.writeByte(e>>8&255),this.writeByte(255&e)},writeUint32:function(e){this.writeUint16(e>>16&65535),this.writeUint16(65535&e)},writeUint64:function(e){if(9007199254740992<=e||e<=-9007199254740992)throw new Error("Cannot encode Uint64 of: "+e+" magnitude to big (floating point errors)");this.writeUint32(Math.floor(e/4294967296)),this.writeUint32(e%4294967296)},writeString:r("writeString"),canWriteBinary:function(e){return!1},writeBinary:r("writeChunk")};var d=new Error;function h(e){var t=function(e){var t=e.readByte();return{type:t>>5,value:31&t}}(e);switch(t.type){case 0:return l(t,e);case 1:return-1-l(t,e);case 2:return e.readChunk(l(t,e));case 3:var n=e.readChunk(l(t,e));return n.toString("utf-8");case 4:case 5:var r=l(t,e),i=[];if(null!==r){5===t.type&&(r*=2);for(var s=0;s=this.latestBuffer.length&&(this.completeBuffers.push(this.latestBuffer),this.latestBuffer=Buffer.alloc(this.defaultBufferLength),this.latestBufferOffset=0),this.byteLength++},n.prototype.writeFloat32=function(e){var t=Buffer.alloc(4);t.writeFloatBE(e,0),this.writeBuffer(t)},n.prototype.writeFloat64=function(e){var t=Buffer.alloc(8);t.writeDoubleBE(e,0),this.writeBuffer(t)},n.prototype.writeString=function(e,t){var n=Buffer.from(e,"utf-8");t(n.length),this.writeBuffer(n)},n.prototype.canWriteBinary=function(e){return e instanceof Buffer},n.prototype.writeBinary=function(e,t){t(e.length),this.writeBuffer(e)},n.prototype.writeBuffer=function(e){if(!(e instanceof Buffer))throw new TypeError("BufferWriter only accepts Buffers");this.latestBufferOffset?this.latestBuffer.length-this.latestBufferOffset>=e.length?(e.copy(this.latestBuffer,this.latestBufferOffset),this.latestBufferOffset+=e.length,this.latestBufferOffset>=this.latestBuffer.length&&(this.completeBuffers.push(this.latestBuffer),this.latestBuffer=Buffer.alloc(this.defaultBufferLength),this.latestBufferOffset=0)):(this.completeBuffers.push(this.latestBuffer.slice(0,this.latestBufferOffset)),this.completeBuffers.push(e),this.latestBuffer=Buffer.alloc(this.defaultBufferLength),this.latestBufferOffset=0):this.completeBuffers.push(e),this.byteLength+=e.length},n.prototype.result=function(){for(var e=Buffer.alloc(this.byteLength),t=0,n=0;n>>>>>"),s.log("[".concat(a," / ").concat(o,"]"),"\n",e,"\n",t,"\n",n),s.log("-----")}(n,r,t.responseText),o(u,e)},t.onerror=function(e){return u.error=!0,u.errorData=e.error,u.category=a._detectErrorCategory(e.error),o(u,null)},t.timeout="android"===Ti.Platform.osname?2147483647:1/0,t.send(i)}},function(e,t,n){"use strict";function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function s(t,n,r){null!=r?Array.isArray(r)?r.forEach(function(e){s(t,n,e)}):"object"===i(r)?Object.keys(r).forEach(function(e){s(t,"".concat(n,"[").concat(e,"]"),r[e])}):t.push("".concat(encodeURIComponent(n),"=").concat(encodeURIComponent(r))):null===r&&t.push(encodeURIComponent("".concat(encodeURIComponent(n))))}Object.defineProperty(t,"__esModule",{value:!0}),t.encodedKeyValuePair=s,t.buildUrl=function(e,t){var n=[];return Object.keys(t).forEach(function(e){s(n,e,t[e])}),"".concat(e,"?").concat(n.join("&"))}}]),module.exports=exports.PubNub; \ No newline at end of file diff --git a/dist/web/pubnub.js b/dist/web/pubnub.js index 52b234ef1..03708b509 100644 --- a/dist/web/pubnub.js +++ b/dist/web/pubnub.js @@ -1,4 +1,4 @@ -/*! 4.27.0 / Consumer */ +/*! 4.27.1 / Consumer */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); @@ -480,7 +480,7 @@ var _default = function () { }, { key: "getVersion", value: function getVersion() { - return '4.27.0'; + return '4.27.1'; } }, { key: "_decideUUID", diff --git a/dist/web/pubnub.min.js b/dist/web/pubnub.min.js index 706ded0f3..6f83dbaa0 100644 --- a/dist/web/pubnub.min.js +++ b/dist/web/pubnub.min.js @@ -1 +1 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.PubNub=t():e.PubNub=t()}(window,function(){return r={},i.m=n=[function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={PNTimeOperation:"PNTimeOperation",PNHistoryOperation:"PNHistoryOperation",PNDeleteMessagesOperation:"PNDeleteMessagesOperation",PNFetchMessagesOperation:"PNFetchMessagesOperation",PNMessageCounts:"PNMessageCountsOperation",PNSubscribeOperation:"PNSubscribeOperation",PNUnsubscribeOperation:"PNUnsubscribeOperation",PNPublishOperation:"PNPublishOperation",PNSignalOperation:"PNSignalOperation",PNAddMessageActionOperation:"PNAddActionOperation",PNRemoveMessageActionOperation:"PNRemoveMessageActionOperation",PNGetMessageActionsOperation:"PNGetMessageActionsOperation",PNCreateUserOperation:"PNCreateUserOperation",PNUpdateUserOperation:"PNUpdateUserOperation",PNDeleteUserOperation:"PNDeleteUserOperation",PNGetUserOperation:"PNGetUsersOperation",PNGetUsersOperation:"PNGetUsersOperation",PNCreateSpaceOperation:"PNCreateSpaceOperation",PNUpdateSpaceOperation:"PNUpdateSpaceOperation",PNDeleteSpaceOperation:"PNDeleteSpaceOperation",PNGetSpaceOperation:"PNGetSpacesOperation",PNGetSpacesOperation:"PNGetSpacesOperation",PNGetMembersOperation:"PNGetMembersOperation",PNUpdateMembersOperation:"PNUpdateMembersOperation",PNGetMembershipsOperation:"PNGetMembershipsOperation",PNUpdateMembershipsOperation:"PNUpdateMembershipsOperation",PNPushNotificationEnabledChannelsOperation:"PNPushNotificationEnabledChannelsOperation",PNRemoveAllPushNotificationsOperation:"PNRemoveAllPushNotificationsOperation",PNWhereNowOperation:"PNWhereNowOperation",PNSetStateOperation:"PNSetStateOperation",PNHereNowOperation:"PNHereNowOperation",PNGetStateOperation:"PNGetStateOperation",PNHeartbeatOperation:"PNHeartbeatOperation",PNChannelGroupsOperation:"PNChannelGroupsOperation",PNRemoveGroupOperation:"PNRemoveGroupOperation",PNChannelsForGroupOperation:"PNChannelsForGroupOperation",PNAddChannelsToGroupOperation:"PNAddChannelsToGroupOperation",PNRemoveChannelsFromGroupOperation:"PNRemoveChannelsFromGroupOperation",PNAccessManagerGrant:"PNAccessManagerGrant",PNAccessManagerGrantToken:"PNAccessManagerGrantToken",PNAccessManagerAudit:"PNAccessManagerAudit"},e.exports=t.default},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/[!~*'()]/g,function(e){return"%".concat(e.charCodeAt(0).toString(16).toUpperCase())})}function i(e){return function(e){var t=[];return Object.keys(e).forEach(function(e){return t.push(e)}),t}(e).sort()}e.exports={signPamFromParams:function(t){return i(t).map(function(e){return"".concat(e,"=").concat(r(t[e]))}).join("&")},endsWith:function(e,t){return-1!==e.indexOf(t,this.length-t.length)},createPromise:function(){var n,r;return{promise:new Promise(function(e,t){n=e,r=t}),reject:r,fulfill:n}},encodeString:r}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,i=(r=n(5))&&r.__esModule?r:{default:r};n(0);function o(e,t){for(var n=0;n=n())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n().toString(16)+" bytes");return 0|e}function p(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return N(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return j(e).length;default:if(r)return N(e).length;t=(""+t).toLowerCase(),r=!0}}function d(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function g(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):2147483647=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=l.from(t,r)),l.isBuffer(t))return 0===t.length?-1:y(e,t,n,r,i);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,r,i){var o,s=1,a=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a/=s=2,u/=2,n/=2}function c(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var f=-1;for(o=n;o>>10&1023|55296),f=56320|1023&f),r.push(f),i+=l}return function(e){var t=e.length;if(t<=k)return String.fromCharCode.apply(String,e);var n="",r=0;for(;rthis.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e=e||"utf8";;)switch(e){case"hex":return P(this,t,n);case"utf8":case"utf-8":return _(this,t,n);case"ascii":return T(this,t,n);case"latin1":case"binary":return w(this,t,n);case"base64":return m(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",t=I.INSPECT_MAX_BYTES;return 0t&&(e+=" ... ")),""},l.prototype.compare=function(e,t,n,r,i){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(i<=r&&n<=t)return 0;if(i<=r)return-1;if(n<=t)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(r>>>=0),s=(n>>>=0)-(t>>>=0),a=Math.min(o,s),u=this.slice(r,i),c=e.slice(t,n),f=0;fthis.length)throw new RangeError("Attempt to write outside buffer bounds");r=r||"utf8";for(var o,s,a,u,c,f,l,h,p,d=!1;;)switch(r){case"hex":return v(this,e,t,n);case"utf8":case"utf-8":return h=t,p=n,B(N(e,(l=this).length-h),l,h,p);case"ascii":return b(this,e,t,n);case"latin1":case"binary":return b(this,e,t,n);case"base64":return u=this,c=t,f=n,B(j(e),u,c,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return s=t,a=n,B(function(e,t){for(var n,r,i,o=[],s=0;s>8,i=n%256,o.push(i),o.push(r);return o}(e,(o=this).length-s),o,s,a);default:if(d)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),d=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var k=4096;function T(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;ie.length)throw new RangeError("Index out of range")}function E(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function R(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function A(e,t,n,r){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function C(e,t,n,r,i){return i||A(e,0,n,4),o.write(e,t,n,r,23,4),n+4}function U(e,t,n,r,i){return i||A(e,0,n,8),o.write(e,t,n,r,52,8),n+8}l.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):r>>8):E(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):E(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):R(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);M(this,e,t,n,i-1,-i)}var o=0,s=1,a=0;for(this[t]=255&e;++o>0)-a&255;return t+n},l.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);M(this,e,t,n,i-1,-i)}var o=n-1,s=1,a=0;for(this[t+o]=255&e;0<=--o&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):E(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):E(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):R(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,n){return C(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return C(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,r){if(n=n||0,r||0===r||(r=this.length),t>=e.length&&(t=e.length),t=t||0,0=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,"number"==typeof(e=e||0))for(o=t;o>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function j(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(t,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function B(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,K(69))},function(e,t,n){"use strict";e.exports=function(e){return null!==e&&"object"==typeof e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=u(n(12)),i=u(n(66)),o=u(n(67)),s=u(n(68)),a=n(74);n(0);function u(e){return e&&e.__esModule?e:{default:e}}function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function f(e,t){return!t||"object"!==c(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e){if(!navigator||!navigator.sendBeacon)return!1;navigator.sendBeacon(e)}var d=(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}(g,r.default),g);function g(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,g);var n=e.listenToBrowserNetworkEvents,r=void 0===n||n;return e.db=o.default,e.cbor=new s.default,e.sdkFamily="Web",e.networking=new i.default({del:a.del,get:a.get,post:a.post,patch:a.patch,sendBeacon:p}),t=f(this,l(g).call(this,e)),r&&(window.addEventListener("offline",function(){t.networkDownDetected()}),window.addEventListener("online",function(){t.networkUpDetected()})),t}t.default=d,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var y=a(n(3)),v=a(n(6)),b=a(n(15)),m=a(n(7)),_=a(n(18)),k=a(n(19)),T=s(n(20)),w=s(n(21)),P=s(n(22)),O=s(n(23)),S=s(n(24)),M=s(n(25)),E=s(n(26)),R=s(n(27)),A=s(n(28)),C=s(n(29)),U=s(n(30)),x=s(n(31)),N=s(n(32)),j=s(n(33)),B=s(n(34)),I=s(n(35)),K=s(n(36)),D=s(n(37)),L=s(n(38)),F=s(n(39)),G=s(n(40)),H=s(n(41)),q=s(n(42)),z=s(n(43)),Y=s(n(44)),$=s(n(45)),W=s(n(46)),J=s(n(47)),X=s(n(48)),V=s(n(49)),Q=s(n(50)),Z=s(n(51)),ee=s(n(52)),te=s(n(53)),ne=s(n(54)),re=s(n(55)),ie=s(n(56)),oe=s(n(57)),se=s(n(58)),ae=s(n(59)),ue=s(n(60)),ce=s(n(61)),fe=s(n(62)),le=s(n(63)),he=s(n(64)),pe=s(n(8)),de=s(n(65)),r=a(n(1)),i=a(n(4)),o=(n(0),a(n(5)));function s(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}function a(e){return e&&e.__esModule?e:{default:e}}function u(e,t){for(var n=0;n>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=a.ceil(t/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new u.init(n,t/2)}},s=i.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new u.init(n,t)}},c=i.Utf8={stringify:function(e){try{return decodeURIComponent(escape(s.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return s.parse(unescape(encodeURIComponent(e)))}},f=t.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new u.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=c.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,n=t.words,r=t.sigBytes,i=this.blockSize,o=r/(4*i);if(e=(o=e?a.ceil(o):a.max((0|o)-this._minBufferSize,0))*i,r=a.min(4*e,r),e){for(var s=0;s>>7)^(h<<14|h>>>18)^h>>>3)+g[l-7]+((p<<15|p>>>17)^(p<<13|p>>>19)^p>>>10)+g[l-16]}h=f+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&u^~a&c)+d[l]+g[l],p=((r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22))+(r&i^r&o^i&o),f=c,c=u,u=a,a=s+h|0,s=o,o=i,i=r,r=h+p|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+o|0,n[3]=n[3]+s|0,n[4]=n[4]+a|0,n[5]=n[5]+u|0,n[6]=n[6]+c|0,n[7]=n[7]+f|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(64+r>>>9<<4)]=i.floor(n/4294967296),t[15+(64+r>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA256=n._createHelper(r),e.HmacSHA256=n._createHmacHelper(r)}(Math),c=(r=E).enc.Utf8,r.algo.HMAC=r.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=c.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),s=i.words,a=o.words,u=0;u>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,s=0;s<4&&i+.75*s>>6*(3-s)&63));if(t=r.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var t=e.length,n=this._map;!(r=n.charAt(64))||-1!=(r=e.indexOf(r))&&(t=r);for(var r=[],i=0,o=0;o>>6-o%4*2;r[i>>>2]|=(s|a)<<24-i%4*8,i++}return u.create(r,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(o){function w(e,t,n,r,i,o,s){return((e=e+(t&n|~t&r)+i+s)<>>32-o)+t}function P(e,t,n,r,i,o,s){return((e=e+(t&r|n&~r)+i+s)<>>32-o)+t}function O(e,t,n,r,i,o,s){return((e=e+(t^n^r)+i+s)<>>32-o)+t}function S(e,t,n,r,i,o,s){return((e=e+(n^(t|~r))+i+s)<>>32-o)+t}for(var e=E,t=(r=e.lib).WordArray,n=r.Hasher,r=e.algo,M=[],i=0;i<64;i++)M[i]=4294967296*o.abs(o.sin(i+1))|0;r=r.MD5=n.extend({_doReset:function(){this._hash=new t.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=e[s=t+n];e[s]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}n=this._hash.words;var i,o,s=e[t+0],a=(r=e[t+1],e[t+2]),u=e[t+3],c=e[t+4],f=e[t+5],l=e[t+6],h=e[t+7],p=e[t+8],d=e[t+9],g=e[t+10],y=e[t+11],v=e[t+12],b=e[t+13],m=e[t+14],_=e[t+15],k=n[0],T=S(T=S(T=S(T=S(T=O(T=O(T=O(T=O(T=P(T=P(T=P(T=P(T=w(T=w(T=w(T=w(T=n[1],o=w(o=n[2],i=w(i=n[3],k=w(k,T,o,i,s,7,M[0]),T,o,r,12,M[1]),k,T,a,17,M[2]),i,k,u,22,M[3]),o=w(o,i=w(i,k=w(k,T,o,i,c,7,M[4]),T,o,f,12,M[5]),k,T,l,17,M[6]),i,k,h,22,M[7]),o=w(o,i=w(i,k=w(k,T,o,i,p,7,M[8]),T,o,d,12,M[9]),k,T,g,17,M[10]),i,k,y,22,M[11]),o=w(o,i=w(i,k=w(k,T,o,i,v,7,M[12]),T,o,b,12,M[13]),k,T,m,17,M[14]),i,k,_,22,M[15]),o=P(o,i=P(i,k=P(k,T,o,i,r,5,M[16]),T,o,l,9,M[17]),k,T,y,14,M[18]),i,k,s,20,M[19]),o=P(o,i=P(i,k=P(k,T,o,i,f,5,M[20]),T,o,g,9,M[21]),k,T,_,14,M[22]),i,k,c,20,M[23]),o=P(o,i=P(i,k=P(k,T,o,i,d,5,M[24]),T,o,m,9,M[25]),k,T,u,14,M[26]),i,k,p,20,M[27]),o=P(o,i=P(i,k=P(k,T,o,i,b,5,M[28]),T,o,a,9,M[29]),k,T,h,14,M[30]),i,k,v,20,M[31]),o=O(o,i=O(i,k=O(k,T,o,i,f,4,M[32]),T,o,p,11,M[33]),k,T,y,16,M[34]),i,k,m,23,M[35]),o=O(o,i=O(i,k=O(k,T,o,i,r,4,M[36]),T,o,c,11,M[37]),k,T,h,16,M[38]),i,k,g,23,M[39]),o=O(o,i=O(i,k=O(k,T,o,i,b,4,M[40]),T,o,s,11,M[41]),k,T,u,16,M[42]),i,k,l,23,M[43]),o=O(o,i=O(i,k=O(k,T,o,i,d,4,M[44]),T,o,v,11,M[45]),k,T,_,16,M[46]),i,k,a,23,M[47]),o=S(o,i=S(i,k=S(k,T,o,i,s,6,M[48]),T,o,h,10,M[49]),k,T,m,15,M[50]),i,k,f,21,M[51]),o=S(o,i=S(i,k=S(k,T,o,i,v,6,M[52]),T,o,u,10,M[53]),k,T,g,15,M[54]),i,k,r,21,M[55]),o=S(o,i=S(i,k=S(k,T,o,i,p,6,M[56]),T,o,_,10,M[57]),k,T,l,15,M[58]),i,k,b,21,M[59]),o=S(o,i=S(i,k=S(k,T,o,i,c,6,M[60]),T,o,y,10,M[61]),k,T,a,15,M[62]),i,k,d,21,M[63]);n[0]=n[0]+k|0,n[1]=n[1]+T|0,n[2]=n[2]+o|0,n[3]=n[3]+i|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;t[r>>>5]|=128<<24-r%32;var i=o.floor(n/4294967296);for(t[15+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t[14+(r+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),e.sigBytes=4*(t.length+1),this._process(),t=(e=this._hash).words,n=0;n<4;n++)r=t[n],t[n]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8);return e},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}}),e.MD5=n._createHelper(r),e.HmacMD5=n._createHmacHelper(r)}(Math),a=(o=(s=E).lib).Base,f=o.WordArray,l=(o=s.algo).EvpKDF=a.extend({cfg:a.extend({keySize:4,hasher:o.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=(s=this.cfg).hasher.create(),r=f.create(),i=r.words,o=s.keySize,s=s.iterations;i.length>>2]}},e.BlockCipher=o.extend({cfg:o.cfg.extend({mode:u,padding:c}),reset:function(){o.reset.call(this);var e=(t=this.cfg).iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=t.createEncryptor;else n=t.createDecryptor,this._minBufferSize=1;this._mode=n.call(t,this,e&&e.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var f=e.CipherParams=t.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),l=(u=(h.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?s.create([1398893684,1701076831]).concat(e).concat(t):t).toString(r)},parse:function(e){var t=(e=r.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var n=s.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return f.create({ciphertext:e,salt:n})}},e.SerializableCipher=t.extend({cfg:t.extend({format:u}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=e.createEncryptor(n,r);return t=i.finalize(t),i=i.cfg,f.create({ciphertext:t,key:n,iv:i.iv,algorithm:e,mode:i.mode,padding:i.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(n,r).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}})),h=(h.kdf={}).OpenSSL={execute:function(e,t,n,r){return r=r||s.random(8),e=i.create({keySize:t+n}).compute(e,r),n=s.create(e.words.slice(t),4*n),e.sigBytes=4*t,f.create({key:e,iv:n,salt:r})}},p=e.PasswordBasedCipher=l.extend({cfg:l.cfg.extend({kdf:h}),encrypt:function(e,t,n,r){return n=(r=this.cfg.extend(r)).kdf.execute(n,e.keySize,e.ivSize),r.iv=n.iv,(e=l.encrypt.call(this,e,t,n.key,r)).mixIn(n),e},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),n=r.kdf.execute(n,e.keySize,e.ivSize,t.salt),r.iv=n.iv,l.decrypt.call(this,e,t,n.key,r)}})}(),function(){for(var e=E,t=e.lib.BlockCipher,n=e.algo,s=[],r=[],i=[],o=[],a=[],u=[],c=[],f=[],l=[],h=[],p=[],d=0;d<256;d++)p[d]=d<128?d<<1:d<<1^283;var g=0,y=0;for(d=0;d<256;d++){var v=(v=y^y<<1^y<<2^y<<3^y<<4)>>>8^255&v^99;s[g]=v;var b=p[r[v]=g],m=p[b],_=p[m],k=257*p[v]^16843008*v;i[g]=k<<24|k>>>8,o[g]=k<<16|k>>>16,a[g]=k<<8|k>>>24,u[g]=k,k=16843009*_^65537*m^257*b^16843008*g,c[v]=k<<24|k>>>8,f[v]=k<<16|k>>>16,l[v]=k<<8|k>>>24,h[v]=k,g?(g=b^p[p[p[_^b]]],y^=p[p[y]]):g=y=1}var T=[0,1,2,4,8,16,32,64,128,27,54];n=n.AES=t.extend({_doReset:function(){for(var e=(n=this._key).words,t=n.sigBytes/4,n=4*((this._nRounds=t+6)+1),r=this._keySchedule=[],i=0;i>>24]<<24|s[o>>>16&255]<<16|s[o>>>8&255]<<8|s[255&o]):(o=s[(o=o<<8|o>>>24)>>>24]<<24|s[o>>>16&255]<<16|s[o>>>8&255]<<8|s[255&o],o^=T[i/t|0]<<24),r[i]=r[i-t]^o}for(e=this._invKeySchedule=[],t=0;t>>24]]^f[s[o>>>16&255]]^l[s[o>>>8&255]]^h[s[255&o]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,i,o,a,u,s)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,c,f,l,h,r),n=e[t+1],e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,i,o,s,a){for(var u=this._nRounds,c=e[t]^n[0],f=e[t+1]^n[1],l=e[t+2]^n[2],h=e[t+3]^n[3],p=4,d=1;d>>24]^i[f>>>16&255]^o[l>>>8&255]^s[255&h]^n[p++],y=r[f>>>24]^i[l>>>16&255]^o[h>>>8&255]^s[255&c]^n[p++],v=r[l>>>24]^i[h>>>16&255]^o[c>>>8&255]^s[255&f]^n[p++];h=r[h>>>24]^i[c>>>16&255]^o[f>>>8&255]^s[255&l]^n[p++],c=g,f=y,l=v}g=(a[c>>>24]<<24|a[f>>>16&255]<<16|a[l>>>8&255]<<8|a[255&h])^n[p++],y=(a[f>>>24]<<24|a[l>>>16&255]<<16|a[h>>>8&255]<<8|a[255&c])^n[p++],v=(a[l>>>24]<<24|a[h>>>16&255]<<16|a[c>>>8&255]<<8|a[255&f])^n[p++],h=(a[h>>>24]<<24|a[c>>>16&255]<<16|a[f>>>8&255]<<8|a[255&l])^n[p++],e[t]=g,e[t+1]=y,e[t+2]=v,e[t+3]=h},keySize:8});e.AES=t._createHelper(n)}(),E.mode.ECB=((h=E.lib.BlockCipherMode.extend()).Encryptor=h.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),h.Decryptor=h.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),h),e.exports=E},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;r(n(6)),r(n(3)),r(n(7));var c=r(n(16)),f=r(n(17)),l=r(n(2)),a=(n(0),r(n(4)));function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){for(var n=0;n=o){var s={};s.category=a.default.PNRequestMessageCountExceededCategory,s.operation=t.operation,this._listenerManager.announceStatus(s)}r.forEach(function(e){var t=e.channel,n=e.subscriptionMatch,r=e.publishMetaData;if(t===n&&(n=null),f){if(c._dedupingManager.isDuplicate(e))return;c._dedupingManager.addEntry(e)}if(l.default.endsWith(e.channel,"-pnpres")){var i={channel:null,subscription:null};i.actualChannel=null!=n?t:null,i.subscribedChannel=null!=n?n:t,t&&(i.channel=t.substring(0,t.lastIndexOf("-pnpres"))),n&&(i.subscription=n.substring(0,n.lastIndexOf("-pnpres"))),i.action=e.payload.action,i.state=e.payload.data,i.timetoken=r.publishTimetoken,i.occupancy=e.payload.occupancy,i.uuid=e.payload.uuid,i.timestamp=e.payload.timestamp,e.payload.join&&(i.join=e.payload.join),e.payload.leave&&(i.leave=e.payload.leave),e.payload.timeout&&(i.timeout=e.payload.timeout),c._listenerManager.announcePresence(i)}else if(1===e.messageType){var o={channel:null,subscription:null};o.channel=t,o.subscription=n,o.timetoken=r.publishTimetoken,o.publisher=e.issuingClientId,e.userMetadata&&(o.userMetadata=e.userMetadata),o.message=e.payload,c._listenerManager.announceSignal(o)}else if(2===e.messageType){var s={channel:null,subscription:null};s.channel=t,s.subscription=n,s.timetoken=r.publishTimetoken,s.publisher=e.issuingClientId,e.userMetadata&&(s.userMetadata=e.userMetadata),s.message={event:e.payload.event,type:e.payload.type,data:e.payload.data},"user"===e.payload.type?c._listenerManager.announceUser(s):"space"===e.payload.type?c._listenerManager.announceSpace(s):"membership"===e.payload.type&&c._listenerManager.announceMembership(s)}else if(3===e.messageType){var a={};a.channel=t,a.subscription=n,a.timetoken=r.publishTimetoken,a.publisher=e.issuingClientId,a.data={messageTimetoken:e.payload.data.messageTimetoken,actionTimetoken:e.payload.data.actionTimetoken,type:e.payload.data.type,uuid:e.issuingClientId,value:e.payload.data.value},a.event=e.payload.event,c._listenerManager.announceMessageAction(a)}else{var u={channel:null,subscription:null};u.actualChannel=null!=n?t:null,u.subscribedChannel=null!=n?n:t,u.channel=t,u.subscription=n,u.timetoken=r.publishTimetoken,u.publisher=e.issuingClientId,e.userMetadata&&(u.userMetadata=e.userMetadata),c._config.cipherKey?u.message=c._crypto.decrypt(e.payload):u.message=e.payload,c._listenerManager.announceMessage(u)}}),this._region=e.metadata.region,this._startSubscribeLoop()}}},{key:"_stopSubscribeLoop",value:function(){this._subscribeCall&&("function"==typeof this._subscribeCall.abort&&this._subscribeCall.abort(),this._subscribeCall=null)}}])&&i(o.prototype,s),void(u&&i(o,u)),d);function d(e){var t=e.subscribeEndpoint,n=e.leaveEndpoint,r=e.heartbeatEndpoint,i=e.setStateEndpoint,o=e.timeEndpoint,s=e.config,a=e.crypto,u=e.listenerManager;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,d),h(this,"_crypto",void 0),h(this,"_config",void 0),h(this,"_listenerManager",void 0),h(this,"_reconnectionManager",void 0),h(this,"_leaveEndpoint",void 0),h(this,"_heartbeatEndpoint",void 0),h(this,"_setStateEndpoint",void 0),h(this,"_subscribeEndpoint",void 0),h(this,"_channels",void 0),h(this,"_presenceChannels",void 0),h(this,"_heartbeatChannels",void 0),h(this,"_heartbeatChannelGroups",void 0),h(this,"_channelGroups",void 0),h(this,"_presenceChannelGroups",void 0),h(this,"_currentTimetoken",void 0),h(this,"_lastTimetoken",void 0),h(this,"_storedTimetoken",void 0),h(this,"_region",void 0),h(this,"_subscribeCall",void 0),h(this,"_heartbeatTimer",void 0),h(this,"_subscriptionStatusAnnounced",void 0),h(this,"_autoNetworkDetection",void 0),h(this,"_isOnline",void 0),h(this,"_pendingChannelSubscriptions",void 0),h(this,"_pendingChannelGroupSubscriptions",void 0),h(this,"_dedupingManager",void 0),this._listenerManager=u,this._config=s,this._leaveEndpoint=n,this._heartbeatEndpoint=r,this._setStateEndpoint=i,this._subscribeEndpoint=t,this._crypto=a,this._channels={},this._presenceChannels={},this._heartbeatChannels={},this._heartbeatChannelGroups={},this._channelGroups={},this._presenceChannelGroups={},this._pendingChannelSubscriptions=[],this._pendingChannelGroupSubscriptions=[],this._currentTimetoken=0,this._lastTimetoken=0,this._storedTimetoken=null,this._subscriptionStatusAnnounced=!1,this._isOnline=!0,this._reconnectionManager=new c.default({timeEndpoint:o}),this._dedupingManager=new f.default({config:s})}t.default=p,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r;(r=n(8))&&r.__esModule,n(0);function i(e,t){for(var n=0;n=this._config.maximumCacheSize&&this.hashHistory.shift(),this.hashHistory.push(this.getKey(e))}},{key:"clearHistory",value:function(){this.hashHistory=[]}}])&&i(s.prototype,a),void(u&&i(s,u)),f);function f(e){var t=e.config;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,f),o(this,"_config",void 0),o(this,"hashHistory",void 0),this.hashHistory=[],this._config=t}t.default=c,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r;(r=n(3))&&r.__esModule,n(0);function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){for(var n=0;n=this._maxSubDomain&&(this._currentSubDomain=1),e=this._currentSubDomain.toString(),this._providedFQDN.replace("ps.pndsn.com","ps".concat(e,".pndsn.com"))):this._providedFQDN;var e}},{key:"hasModule",value:function(e){return e in this._modules}},{key:"shiftStandardOrigin",value:function(){return this._standardOrigin=this.nextOrigin(),this._standardOrigin}},{key:"getStandardOrigin",value:function(){return this._standardOrigin}},{key:"POST",value:function(e,t,n,r){return this._modules.post(e,t,n,r)}},{key:"PATCH",value:function(e,t,n,r){return this._modules.patch(e,t,n,r)}},{key:"GET",value:function(e,t,n){return this._modules.get(e,t,n)}},{key:"DELETE",value:function(e,t,n){return this._modules.del(e,t,n)}},{key:"_detectErrorCategory",value:function(e){if("ENOTFOUND"===e.code)return r.default.PNNetworkIssuesCategory;if("ECONNREFUSED"===e.code)return r.default.PNNetworkIssuesCategory;if("ECONNRESET"===e.code)return r.default.PNNetworkIssuesCategory;if("EAI_AGAIN"===e.code)return r.default.PNNetworkIssuesCategory;if(0===e.status||e.hasOwnProperty("status")&&void 0===e.status)return r.default.PNNetworkIssuesCategory;if(e.timeout)return r.default.PNTimeoutCategory;if("ETIMEDOUT"===e.code)return r.default.PNNetworkIssuesCategory;if(e.response){if(e.response.badRequest)return r.default.PNBadRequestCategory;if(e.response.forbidden)return r.default.PNAccessDeniedCategory}return r.default.PNUnknownCategory}}])&&o(a.prototype,u),void(c&&o(a,c)),l);function l(t){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),s(this,"_modules",void 0),s(this,"_config",void 0),s(this,"_maxSubDomain",void 0),s(this,"_currentSubDomain",void 0),s(this,"_standardOrigin",void 0),s(this,"_subscribeOrigin",void 0),s(this,"_providedFQDN",void 0),s(this,"_requestTimeout",void 0),s(this,"_coreParams",void 0),this._modules={},Object.keys(t).forEach(function(e){n._modules[e]=t[e].bind(n)})}t.default=f,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r={get:function(e){try{return localStorage.getItem(e)}catch(e){return null}},set:function(e,t){try{return localStorage.setItem(e,t)}catch(e){return null}}};t.default=r,e.exports=t.default},function(f,l,h){"use strict";(function(i){Object.defineProperty(l,"__esModule",{value:!0}),l.default=void 0;var e,o=(e=h(73))&&e.__esModule?e:{default:e};function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function t(e,t){for(var n=0;n>16&255,s[a++]=t>>8&255,s[a++]=255&t;2===o&&(t=c[e.charCodeAt(n)]<<2|c[e.charCodeAt(n+1)]>>4,s[a++]=255&t);1===o&&(t=c[e.charCodeAt(n)]<<10|c[e.charCodeAt(n+1)]<<4|c[e.charCodeAt(n+2)]>>2,s[a++]=t>>8&255,s[a++]=255&t);return s},t.fromByteArray=function(e){for(var t,n=e.length,r=n%3,i=[],o=0,s=n-r;o>2]+a[t<<4&63]+"==")):2==r&&(t=(e[n-2]<<8)+e[n-1],i.push(a[t>>10]+a[t>>4&63]+a[t<<2&63]+"="));return i.join("")};for(var a=[],c=[],f="undefined"!=typeof Uint8Array?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,o=r.length;i>18&63]+a[i>>12&63]+a[i>>6&63]+a[63&i]);return o.join("")}c["-".charCodeAt(0)]=62,c["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,n,r,i){var o,s,a=8*i-r-1,u=(1<>1,f=-7,l=n?i-1:0,h=n?-1:1,p=e[t+l];for(l+=h,o=p&(1<<-f)-1,p>>=-f,f+=a;0>=-f,f+=r;0>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,d=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=f):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),2<=(t+=1<=s+l?h/u:h*Math.pow(2,1-l))*u&&(s++,u/=2),f<=s+l?(a=0,s=f):1<=s+l?(a=(t*u-1)*Math.pow(2,i),s+=l):(a=t*Math.pow(2,l-1)*Math.pow(2,i),s=0));8<=i;e[n+p]=255&a,p+=d,a/=256,i-=8);for(s=s<>10,n=1023&e,r=32768&e;if(31==t)return 0==n?r?-1/0:1/0:NaN;var i=t?Math.pow(2,t-25)*(1024+n):Math.pow(2,-24)*n;return r?-i:i},readFloat32:function(){var e=this.readUint32(),t=(2147483647&e)>>23,n=8388607&e,r=2147483648&e;if(255==t)return 0==n?r?-1/0:1/0:NaN;var i=t?Math.pow(2,t-23-127)*(8388608+n):Math.pow(2,-149)*n;return r?-i:i},readFloat64:function(){var e=this.readUint32(),t=this.readUint32(),n=e>>20&2047,r=4294967296*(1048575&e)+t,i=2147483648&e;if(2047==n)return 0===r?i?-1/0:1/0:NaN;var o=n?Math.pow(2,n-52-1023)*(4503599627370496+r):Math.pow(2,-1074)*r;return i?-o:o},readUint16:function(){return 256*this.readByte()+this.readByte()},readUint32:function(){return 65536*this.readUint16()+this.readUint16()},readUint64:function(){return 4294967296*this.readUint32()+this.readUint32()}},t.prototype={writeByte:r("writeByte"),result:r("result"),writeFloat16:r("writeFloat16"),writeFloat32:r("writeFloat32"),writeFloat64:r("writeFloat64"),writeUint16:function(e){this.writeByte(e>>8&255),this.writeByte(255&e)},writeUint32:function(e){this.writeUint16(e>>16&65535),this.writeUint16(65535&e)},writeUint64:function(e){if(9007199254740992<=e||e<=-9007199254740992)throw new Error("Cannot encode Uint64 of: "+e+" magnitude to big (floating point errors)");this.writeUint32(Math.floor(e/4294967296)),this.writeUint32(e%4294967296)},writeString:r("writeString"),canWriteBinary:function(e){return!1},writeBinary:r("writeChunk")};var h=new Error;function p(e){var t=function(e){var t=e.readByte();return{type:t>>5,value:31&t}}(e);switch(t.type){case 0:return l(t,e);case 1:return-1-l(t,e);case 2:return e.readChunk(l(t,e));case 3:var n=e.readChunk(l(t,e));return n.toString("utf-8");case 4:case 5:var r=l(t,e),i=[];if(null!==r){5===t.type&&(r*=2);for(var o=0;o=this.latestBuffer.length&&(this.completeBuffers.push(this.latestBuffer),this.latestBuffer=b.alloc(this.defaultBufferLength),this.latestBufferOffset=0),this.byteLength++},n.prototype.writeFloat32=function(e){var t=b.alloc(4);t.writeFloatBE(e,0),this.writeBuffer(t)},n.prototype.writeFloat64=function(e){var t=b.alloc(8);t.writeDoubleBE(e,0),this.writeBuffer(t)},n.prototype.writeString=function(e,t){var n=b.from(e,"utf-8");t(n.length),this.writeBuffer(n)},n.prototype.canWriteBinary=function(e){return e instanceof b},n.prototype.writeBinary=function(e,t){t(e.length),this.writeBuffer(e)},n.prototype.writeBuffer=function(e){if(!(e instanceof b))throw new TypeError("BufferWriter only accepts Buffers");this.latestBufferOffset?this.latestBuffer.length-this.latestBufferOffset>=e.length?(e.copy(this.latestBuffer,this.latestBufferOffset),this.latestBufferOffset+=e.length,this.latestBufferOffset>=this.latestBuffer.length&&(this.completeBuffers.push(this.latestBuffer),this.latestBuffer=b.alloc(this.defaultBufferLength),this.latestBufferOffset=0)):(this.completeBuffers.push(this.latestBuffer.slice(0,this.latestBufferOffset)),this.completeBuffers.push(e),this.latestBuffer=b.alloc(this.defaultBufferLength),this.latestBufferOffset=0):this.completeBuffers.push(e),this.byteLength+=e.length},n.prototype.result=function(){for(var e=b.alloc(this.byteLength),t=0,n=0;n>>>>>"),o.log("[".concat(n," / ").concat(t,"]"),"\n",r.url,"\n",r.qs,"\n",e.text),o.log("-----")})}function s(e,i,o){var s=this;return this._config.logVerbosity&&(e=e.use(a)),this._config.proxy&&this._modules.proxy&&(e=this._modules.proxy.call(this,e)),this._config.keepAlive&&this._modules.keepAlive&&(e=this._modules.keepAlive(e)),e.timeout(i.timeout).end(function(t,n){var e,r={};if(r.error=null!==t,r.operation=i.operation,n&&n.status&&(r.statusCode=n.status),t){if(t.response&&t.response.text&&!s._config.logVerbosity)try{r.errorData=JSON.parse(t.response.text)}catch(e){r.errorData=t}else r.errorData=t;return r.category=s._detectErrorCategory(t),o(r,null)}try{e=JSON.parse(n.text)}catch(e){return r.errorData=n,r.error=!0,o(r,null)}return e.error&&1===e.error&&e.status&&e.message&&e.service?(r.errorData=e,r.statusCode=e.status,r.error=!0,r.category=s._detectErrorCategory(r),o(r,null)):(e.error&&e.error.message&&(r.errorData=e.error),o(r,e))})}},function(e,n,t){var r;r="undefined"!=typeof window?window:"undefined"!=typeof self?self:(console.warn("Using browser-only version of superagent in non-browser environment"),this);var i=t(76),o=t(77),s=t(10),a=t(78),u=t(80);function c(){}var f=n=e.exports=function(e,t){return"function"==typeof t?new n.Request("GET",e).end(t):1==arguments.length?new n.Request("GET",e):new n.Request(e,t)};n.Request=v,f.getXHR=function(){if(!(!r.XMLHttpRequest||r.location&&"file:"==r.location.protocol&&r.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}throw Error("Browser-only version of superagent could not find XHR")};var l="".trim?function(e){return e.trim()}:function(e){return e.replace(/(^\s*|\s*$)/g,"")};function h(e){if(!s(e))return e;var t=[];for(var n in e)p(t,n,e[n]);return t.join("&")}function p(t,n,e){if(null!=e)if(Array.isArray(e))e.forEach(function(e){p(t,n,e)});else if(s(e))for(var r in e)p(t,n+"["+r+"]",e[r]);else t.push(encodeURIComponent(n)+"="+encodeURIComponent(e));else null===e&&t.push(encodeURIComponent(n))}function d(e){for(var t,n,r={},i=e.split("&"),o=0,s=i.length;o=this._maxRetries)return!1;if(this._retryCallback)try{var n=this._retryCallback(e,t);if(!0===n)return!0;if(!1===n)return!1}catch(e){console.error(e)}if(t&&t.status&&500<=t.status&&501!=t.status)return!0;if(e){if(e.code&&~o.indexOf(e.code))return!0;if(e.timeout&&"ECONNABORTED"==e.code)return!0;if(e.crossDomain)return!0}return!1},r.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this._end()},r.prototype.then=function(e,t){if(!this._fullfilledPromise){var i=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise(function(n,r){i.end(function(e,t){e?r(e):n(t)})})}return this._fullfilledPromise.then(e,t)},r.prototype.catch=function(e){return this.then(void 0,e)},r.prototype.use=function(e){return e(this),this},r.prototype.ok=function(e){if("function"!=typeof e)throw Error("Callback required");return this._okCallback=e,this},r.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):200<=e.status&&e.status<300)},r.prototype.getHeader=r.prototype.get=function(e){return this._header[e.toLowerCase()]},r.prototype.set=function(e,t){if(i(e)){for(var n in e)this.set(n,e[n]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},r.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},r.prototype.field=function(e,t){if(null==e)throw new Error(".field(name, val) name can not be empty");if(this._data&&console.error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()"),i(e)){for(var n in e)this.field(n,e[n]);return this}if(Array.isArray(t)){for(var r in t)this.field(e,t[r]);return this}if(null==t)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof t&&(t=""+t),this._getFormData().append(e,t),this},r.prototype.abort=function(){return this._aborted||(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort")),this},r.prototype._auth=function(e,t,n,r){switch(n.type){case"basic":this.set("Authorization","Basic "+r(e+":"+t));break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization","Bearer "+e)}return this},r.prototype.withCredentials=function(e){return null==e&&(e=!0),this._withCredentials=e,this},r.prototype.redirects=function(e){return this._maxRedirects=e,this},r.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw TypeError("Invalid argument");return this._maxResponseSize=e,this},r.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},r.prototype.send=function(e){var t=i(e),n=this._header["content-type"];if(this._formData&&console.error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()"),t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw Error("Can't merge these send calls");if(t&&i(this._data))for(var r in e)this._data[r]=e[r];else"string"==typeof e?(n||this.type("form"),n=this._header["content-type"],this._data="application/x-www-form-urlencoded"==n?this._data?this._data+"&"+e:e:(this._data||"")+e):this._data=e;return!t||this._isHost(e)||n||this.type("json"),this},r.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},r.prototype._finalizeQueryString=function(){var e=this._query.join("&");if(e&&(this.url+=(0<=this.url.indexOf("?")?"&":"?")+e),this._query.length=0,this._sort){var t=this.url.indexOf("?");if(0<=t){var n=this.url.substring(t+1).split("&");"function"==typeof this._sort?n.sort(this._sort):n.sort(),this.url=this.url.substring(0,t)+"?"+n.join("&")}}},r.prototype._appendQueryString=function(){console.trace("Unsupported")},r.prototype._timeoutError=function(e,t,n){if(!this._aborted){var r=new Error(e+t+"ms exceeded");r.timeout=t,r.code="ECONNABORTED",r.errno=n,this.timedout=!0,this.abort(),this.callback(r)}},r.prototype._setTimeouts=function(){var e=this;this._timeout&&!this._timer&&(this._timer=setTimeout(function(){e._timeoutError("Timeout of ",e._timeout,"ETIME")},this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout(function(){e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")},this._responseTimeout))}},function(e,t,n){"use strict";var i=n(79);function r(e){if(e)return function(e){for(var t in r.prototype)e[t]=r.prototype[t];return e}(e)}(e.exports=r).prototype.get=function(e){return this.header[e.toLowerCase()]},r.prototype._setHeaderProperties=function(e){var t=e["content-type"]||"";this.type=i.type(t);var n=i.params(t);for(var r in n)this[r]=n[r];this.links={};try{e.link&&(this.links=i.parseLinks(e.link))}catch(e){}},r.prototype._setStatusProperties=function(e){var t=e/100|0;this.status=this.statusCode=e,this.statusType=t,this.info=1==t,this.ok=2==t,this.redirect=3==t,this.clientError=4==t,this.serverError=5==t,this.error=(4==t||5==t)&&this.toError(),this.created=201==e,this.accepted=202==e,this.noContent=204==e,this.badRequest=400==e,this.unauthorized=401==e,this.notAcceptable=406==e,this.forbidden=403==e,this.notFound=404==e,this.unprocessableEntity=422==e}},function(e,t,n){"use strict";t.type=function(e){return e.split(/ *; */).shift()},t.params=function(e){return e.split(/ *; */).reduce(function(e,t){var n=t.split(/ *= */),r=n.shift(),i=n.shift();return r&&i&&(e[r]=i),e},{})},t.parseLinks=function(e){return e.split(/ *, */).reduce(function(e,t){var n=t.split(/ *; */),r=n[0].slice(1,-1);return e[n[1].split(/ *= */)[1].slice(1,-1)]=r,e},{})},t.cleanHeader=function(e,t){return delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e}},function(e,t){function n(){this._defaults=[]}["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert"].forEach(function(e){n.prototype[e]=function(){return this._defaults.push({fn:e,arguments:arguments}),this}}),n.prototype._setDefaults=function(t){this._defaults.forEach(function(e){t[e.fn].apply(t,e.arguments)})},e.exports=n}],i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=11);function i(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,i),t.l=!0,t.exports}var n,r}); \ No newline at end of file +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.PubNub=t():e.PubNub=t()}(window,function(){return r={},i.m=n=[function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={PNTimeOperation:"PNTimeOperation",PNHistoryOperation:"PNHistoryOperation",PNDeleteMessagesOperation:"PNDeleteMessagesOperation",PNFetchMessagesOperation:"PNFetchMessagesOperation",PNMessageCounts:"PNMessageCountsOperation",PNSubscribeOperation:"PNSubscribeOperation",PNUnsubscribeOperation:"PNUnsubscribeOperation",PNPublishOperation:"PNPublishOperation",PNSignalOperation:"PNSignalOperation",PNAddMessageActionOperation:"PNAddActionOperation",PNRemoveMessageActionOperation:"PNRemoveMessageActionOperation",PNGetMessageActionsOperation:"PNGetMessageActionsOperation",PNCreateUserOperation:"PNCreateUserOperation",PNUpdateUserOperation:"PNUpdateUserOperation",PNDeleteUserOperation:"PNDeleteUserOperation",PNGetUserOperation:"PNGetUsersOperation",PNGetUsersOperation:"PNGetUsersOperation",PNCreateSpaceOperation:"PNCreateSpaceOperation",PNUpdateSpaceOperation:"PNUpdateSpaceOperation",PNDeleteSpaceOperation:"PNDeleteSpaceOperation",PNGetSpaceOperation:"PNGetSpacesOperation",PNGetSpacesOperation:"PNGetSpacesOperation",PNGetMembersOperation:"PNGetMembersOperation",PNUpdateMembersOperation:"PNUpdateMembersOperation",PNGetMembershipsOperation:"PNGetMembershipsOperation",PNUpdateMembershipsOperation:"PNUpdateMembershipsOperation",PNPushNotificationEnabledChannelsOperation:"PNPushNotificationEnabledChannelsOperation",PNRemoveAllPushNotificationsOperation:"PNRemoveAllPushNotificationsOperation",PNWhereNowOperation:"PNWhereNowOperation",PNSetStateOperation:"PNSetStateOperation",PNHereNowOperation:"PNHereNowOperation",PNGetStateOperation:"PNGetStateOperation",PNHeartbeatOperation:"PNHeartbeatOperation",PNChannelGroupsOperation:"PNChannelGroupsOperation",PNRemoveGroupOperation:"PNRemoveGroupOperation",PNChannelsForGroupOperation:"PNChannelsForGroupOperation",PNAddChannelsToGroupOperation:"PNAddChannelsToGroupOperation",PNRemoveChannelsFromGroupOperation:"PNRemoveChannelsFromGroupOperation",PNAccessManagerGrant:"PNAccessManagerGrant",PNAccessManagerGrantToken:"PNAccessManagerGrantToken",PNAccessManagerAudit:"PNAccessManagerAudit"},e.exports=t.default},function(e,t,n){"use strict";function r(e){return encodeURIComponent(e).replace(/[!~*'()]/g,function(e){return"%".concat(e.charCodeAt(0).toString(16).toUpperCase())})}function i(e){return function(e){var t=[];return Object.keys(e).forEach(function(e){return t.push(e)}),t}(e).sort()}e.exports={signPamFromParams:function(t){return i(t).map(function(e){return"".concat(e,"=").concat(r(t[e]))}).join("&")},endsWith:function(e,t){return-1!==e.indexOf(t,this.length-t.length)},createPromise:function(){var n,r;return{promise:new Promise(function(e,t){n=e,r=t}),reject:r,fulfill:n}},encodeString:r}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,i=(r=n(5))&&r.__esModule?r:{default:r};n(0);function o(e,t){for(var n=0;n=n())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n().toString(16)+" bytes");return 0|e}function p(e,t){if(l.isBuffer(e))return e.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!=typeof e&&(e=""+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return N(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return j(e).length;default:if(r)return N(e).length;t=(""+t).toLowerCase(),r=!0}}function d(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function g(e,t,n,r,i){if(0===e.length)return-1;if("string"==typeof n?(r=n,n=0):2147483647=e.length){if(i)return-1;n=e.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof t&&(t=l.from(t,r)),l.isBuffer(t))return 0===t.length?-1:y(e,t,n,r,i);if("number"==typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):y(e,[t],n,r,i);throw new TypeError("val must be string, number or Buffer")}function y(e,t,n,r,i){var o,s=1,a=e.length,u=t.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(e.length<2||t.length<2)return-1;a/=s=2,u/=2,n/=2}function c(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var f=-1;for(o=n;o>>10&1023|55296),f=56320|1023&f),r.push(f),i+=l}return function(e){var t=e.length;if(t<=k)return String.fromCharCode.apply(String,e);var n="",r=0;for(;rthis.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(t>>>=0))return"";for(e=e||"utf8";;)switch(e){case"hex":return P(this,t,n);case"utf8":case"utf-8":return _(this,t,n);case"ascii":return T(this,t,n);case"latin1":case"binary":return w(this,t,n);case"base64":return m(this,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,t,n);default:if(r)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),r=!0}}.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",t=I.INSPECT_MAX_BYTES;return 0t&&(e+=" ... ")),""},l.prototype.compare=function(e,t,n,r,i){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(i<=r&&n<=t)return 0;if(i<=r)return-1;if(n<=t)return 1;if(this===e)return 0;for(var o=(i>>>=0)-(r>>>=0),s=(n>>>=0)-(t>>>=0),a=Math.min(o,s),u=this.slice(r,i),c=e.slice(t,n),f=0;fthis.length)throw new RangeError("Attempt to write outside buffer bounds");r=r||"utf8";for(var o,s,a,u,c,f,l,h,p,d=!1;;)switch(r){case"hex":return v(this,e,t,n);case"utf8":case"utf-8":return h=t,p=n,B(N(e,(l=this).length-h),l,h,p);case"ascii":return b(this,e,t,n);case"latin1":case"binary":return b(this,e,t,n);case"base64":return u=this,c=t,f=n,B(j(e),u,c,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return s=t,a=n,B(function(e,t){for(var n,r,i,o=[],s=0;s>8,i=n%256,o.push(i),o.push(r);return o}(e,(o=this).length-s),o,s,a);default:if(d)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),d=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var k=4096;function T(e,t,n){var r="";n=Math.min(e.length,n);for(var i=t;ie.length)throw new RangeError("Index out of range")}function E(e,t,n,r){t<0&&(t=65535+t+1);for(var i=0,o=Math.min(e.length-n,2);i>>8*(r?i:1-i)}function R(e,t,n,r){t<0&&(t=4294967295+t+1);for(var i=0,o=Math.min(e.length-n,4);i>>8*(r?i:3-i)&255}function A(e,t,n,r){if(n+r>e.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function C(e,t,n,r,i){return i||A(e,0,n,4),o.write(e,t,n,r,23,4),n+4}function U(e,t,n,r,i){return i||A(e,0,n,8),o.write(e,t,n,r,52,8),n+8}l.prototype.slice=function(e,t){var n,r=this.length;if((e=~~e)<0?(e+=r)<0&&(e=0):r>>8):E(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):E(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):R(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);M(this,e,t,n,i-1,-i)}var o=0,s=1,a=0;for(this[t]=255&e;++o>0)-a&255;return t+n},l.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*n-1);M(this,e,t,n,i-1,-i)}var o=n-1,s=1,a=0;for(this[t+o]=255&e;0<=--o&&(s*=256);)e<0&&0===a&&0!==this[t+o+1]&&(a=1),this[t+o]=(e/s>>0)-a&255;return t+n},l.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):E(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):E(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):R(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||M(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):R(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,n){return C(this,e,t,!0,n)},l.prototype.writeFloatBE=function(e,t,n){return C(this,e,t,!1,n)},l.prototype.writeDoubleLE=function(e,t,n){return U(this,e,t,!0,n)},l.prototype.writeDoubleBE=function(e,t,n){return U(this,e,t,!1,n)},l.prototype.copy=function(e,t,n,r){if(n=n||0,r||0===r||(r=this.length),t>=e.length&&(t=e.length),t=t||0,0=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),e.length-t>>=0,n=void 0===n?this.length:n>>>0,"number"==typeof(e=e||0))for(o=t;o>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function j(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(t,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function B(e,t,n,r){for(var i=0;i=t.length||i>=e.length);++i)t[i+n]=e[i];return i}}).call(this,K(69))},function(e,t,n){"use strict";e.exports=function(e){return null!==e&&"object"==typeof e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=u(n(12)),i=u(n(66)),o=u(n(67)),s=u(n(68)),a=n(74);n(0);function u(e){return e&&e.__esModule?e:{default:e}}function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function f(e,t){return!t||"object"!==c(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e){if(!navigator||!navigator.sendBeacon)return!1;navigator.sendBeacon(e)}var d=(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}(g,r.default),g);function g(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,g);var n=e.listenToBrowserNetworkEvents,r=void 0===n||n;return e.db=o.default,e.cbor=new s.default,e.sdkFamily="Web",e.networking=new i.default({del:a.del,get:a.get,post:a.post,patch:a.patch,sendBeacon:p}),t=f(this,l(g).call(this,e)),r&&(window.addEventListener("offline",function(){t.networkDownDetected()}),window.addEventListener("online",function(){t.networkUpDetected()})),t}t.default=d,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var y=a(n(3)),v=a(n(6)),b=a(n(15)),m=a(n(7)),_=a(n(18)),k=a(n(19)),T=s(n(20)),w=s(n(21)),P=s(n(22)),O=s(n(23)),S=s(n(24)),M=s(n(25)),E=s(n(26)),R=s(n(27)),A=s(n(28)),C=s(n(29)),U=s(n(30)),x=s(n(31)),N=s(n(32)),j=s(n(33)),B=s(n(34)),I=s(n(35)),K=s(n(36)),D=s(n(37)),L=s(n(38)),F=s(n(39)),G=s(n(40)),H=s(n(41)),q=s(n(42)),z=s(n(43)),Y=s(n(44)),$=s(n(45)),W=s(n(46)),J=s(n(47)),X=s(n(48)),V=s(n(49)),Q=s(n(50)),Z=s(n(51)),ee=s(n(52)),te=s(n(53)),ne=s(n(54)),re=s(n(55)),ie=s(n(56)),oe=s(n(57)),se=s(n(58)),ae=s(n(59)),ue=s(n(60)),ce=s(n(61)),fe=s(n(62)),le=s(n(63)),he=s(n(64)),pe=s(n(8)),de=s(n(65)),r=a(n(1)),i=a(n(4)),o=(n(0),a(n(5)));function s(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}function a(e){return e&&e.__esModule?e:{default:e}}function u(e,t){for(var n=0;n>>2]|=(n[i>>>2]>>>24-i%4*8&255)<<24-(r+i)%4*8;else if(65535>>2]=n[i>>>2];else t.push.apply(t,n);return this.sigBytes+=e,this},clamp:function(){var e=this.words,t=this.sigBytes;e[t>>>2]&=4294967295<<32-t%4*8,e.length=a.ceil(t/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(e){for(var t=[],n=0;n>>2]>>>24-r%4*8&255;n.push((i>>>4).toString(16)),n.push((15&i).toString(16))}return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>3]|=parseInt(e.substr(r,2),16)<<24-r%8*4;return new u.init(n,t/2)}},s=i.Latin1={stringify:function(e){var t=e.words;e=e.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(e){for(var t=e.length,n=[],r=0;r>>2]|=(255&e.charCodeAt(r))<<24-r%4*8;return new u.init(n,t)}},c=i.Utf8={stringify:function(e){try{return decodeURIComponent(escape(s.stringify(e)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(e){return s.parse(unescape(encodeURIComponent(e)))}},f=t.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new u.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=c.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(e){var t=this._data,n=t.words,r=t.sigBytes,i=this.blockSize,o=r/(4*i);if(e=(o=e?a.ceil(o):a.max((0|o)-this._minBufferSize,0))*i,r=a.min(4*e,r),e){for(var s=0;s>>7)^(h<<14|h>>>18)^h>>>3)+g[l-7]+((p<<15|p>>>17)^(p<<13|p>>>19)^p>>>10)+g[l-16]}h=f+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&u^~a&c)+d[l]+g[l],p=((r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22))+(r&i^r&o^i&o),f=c,c=u,u=a,a=s+h|0,s=o,o=i,i=r,r=h+p|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+o|0,n[3]=n[3]+s|0,n[4]=n[4]+a|0,n[5]=n[5]+u|0,n[6]=n[6]+c|0,n[7]=n[7]+f|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;return t[r>>>5]|=128<<24-r%32,t[14+(64+r>>>9<<4)]=i.floor(n/4294967296),t[15+(64+r>>>9<<4)]=n,e.sigBytes=4*t.length,this._process(),this._hash},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}});e.SHA256=n._createHelper(r),e.HmacSHA256=n._createHmacHelper(r)}(Math),c=(r=E).enc.Utf8,r.algo.HMAC=r.lib.Base.extend({init:function(e,t){e=this._hasher=new e.init,"string"==typeof t&&(t=c.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),s=i.words,a=o.words,u=0;u>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,s=0;s<4&&i+.75*s>>6*(3-s)&63));if(t=r.charAt(64))for(;e.length%4;)e.push(t);return e.join("")},parse:function(e){var t=e.length,n=this._map;!(r=n.charAt(64))||-1!=(r=e.indexOf(r))&&(t=r);for(var r=[],i=0,o=0;o>>6-o%4*2;r[i>>>2]|=(s|a)<<24-i%4*8,i++}return u.create(r,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="},function(o){function w(e,t,n,r,i,o,s){return((e=e+(t&n|~t&r)+i+s)<>>32-o)+t}function P(e,t,n,r,i,o,s){return((e=e+(t&r|n&~r)+i+s)<>>32-o)+t}function O(e,t,n,r,i,o,s){return((e=e+(t^n^r)+i+s)<>>32-o)+t}function S(e,t,n,r,i,o,s){return((e=e+(n^(t|~r))+i+s)<>>32-o)+t}for(var e=E,t=(r=e.lib).WordArray,n=r.Hasher,r=e.algo,M=[],i=0;i<64;i++)M[i]=4294967296*o.abs(o.sin(i+1))|0;r=r.MD5=n.extend({_doReset:function(){this._hash=new t.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var r=e[s=t+n];e[s]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}n=this._hash.words;var i,o,s=e[t+0],a=(r=e[t+1],e[t+2]),u=e[t+3],c=e[t+4],f=e[t+5],l=e[t+6],h=e[t+7],p=e[t+8],d=e[t+9],g=e[t+10],y=e[t+11],v=e[t+12],b=e[t+13],m=e[t+14],_=e[t+15],k=n[0],T=S(T=S(T=S(T=S(T=O(T=O(T=O(T=O(T=P(T=P(T=P(T=P(T=w(T=w(T=w(T=w(T=n[1],o=w(o=n[2],i=w(i=n[3],k=w(k,T,o,i,s,7,M[0]),T,o,r,12,M[1]),k,T,a,17,M[2]),i,k,u,22,M[3]),o=w(o,i=w(i,k=w(k,T,o,i,c,7,M[4]),T,o,f,12,M[5]),k,T,l,17,M[6]),i,k,h,22,M[7]),o=w(o,i=w(i,k=w(k,T,o,i,p,7,M[8]),T,o,d,12,M[9]),k,T,g,17,M[10]),i,k,y,22,M[11]),o=w(o,i=w(i,k=w(k,T,o,i,v,7,M[12]),T,o,b,12,M[13]),k,T,m,17,M[14]),i,k,_,22,M[15]),o=P(o,i=P(i,k=P(k,T,o,i,r,5,M[16]),T,o,l,9,M[17]),k,T,y,14,M[18]),i,k,s,20,M[19]),o=P(o,i=P(i,k=P(k,T,o,i,f,5,M[20]),T,o,g,9,M[21]),k,T,_,14,M[22]),i,k,c,20,M[23]),o=P(o,i=P(i,k=P(k,T,o,i,d,5,M[24]),T,o,m,9,M[25]),k,T,u,14,M[26]),i,k,p,20,M[27]),o=P(o,i=P(i,k=P(k,T,o,i,b,5,M[28]),T,o,a,9,M[29]),k,T,h,14,M[30]),i,k,v,20,M[31]),o=O(o,i=O(i,k=O(k,T,o,i,f,4,M[32]),T,o,p,11,M[33]),k,T,y,16,M[34]),i,k,m,23,M[35]),o=O(o,i=O(i,k=O(k,T,o,i,r,4,M[36]),T,o,c,11,M[37]),k,T,h,16,M[38]),i,k,g,23,M[39]),o=O(o,i=O(i,k=O(k,T,o,i,b,4,M[40]),T,o,s,11,M[41]),k,T,u,16,M[42]),i,k,l,23,M[43]),o=O(o,i=O(i,k=O(k,T,o,i,d,4,M[44]),T,o,v,11,M[45]),k,T,_,16,M[46]),i,k,a,23,M[47]),o=S(o,i=S(i,k=S(k,T,o,i,s,6,M[48]),T,o,h,10,M[49]),k,T,m,15,M[50]),i,k,f,21,M[51]),o=S(o,i=S(i,k=S(k,T,o,i,v,6,M[52]),T,o,u,10,M[53]),k,T,g,15,M[54]),i,k,r,21,M[55]),o=S(o,i=S(i,k=S(k,T,o,i,p,6,M[56]),T,o,_,10,M[57]),k,T,l,15,M[58]),i,k,b,21,M[59]),o=S(o,i=S(i,k=S(k,T,o,i,c,6,M[60]),T,o,y,10,M[61]),k,T,a,15,M[62]),i,k,d,21,M[63]);n[0]=n[0]+k|0,n[1]=n[1]+T|0,n[2]=n[2]+o|0,n[3]=n[3]+i|0},_doFinalize:function(){var e=this._data,t=e.words,n=8*this._nDataBytes,r=8*e.sigBytes;t[r>>>5]|=128<<24-r%32;var i=o.floor(n/4294967296);for(t[15+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),t[14+(r+64>>>9<<4)]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),e.sigBytes=4*(t.length+1),this._process(),t=(e=this._hash).words,n=0;n<4;n++)r=t[n],t[n]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8);return e},clone:function(){var e=n.clone.call(this);return e._hash=this._hash.clone(),e}}),e.MD5=n._createHelper(r),e.HmacMD5=n._createHmacHelper(r)}(Math),a=(o=(s=E).lib).Base,f=o.WordArray,l=(o=s.algo).EvpKDF=a.extend({cfg:a.extend({keySize:4,hasher:o.MD5,iterations:1}),init:function(e){this.cfg=this.cfg.extend(e)},compute:function(e,t){for(var n=(s=this.cfg).hasher.create(),r=f.create(),i=r.words,o=s.keySize,s=s.iterations;i.length>>2]}},e.BlockCipher=o.extend({cfg:o.cfg.extend({mode:u,padding:c}),reset:function(){o.reset.call(this);var e=(t=this.cfg).iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=t.createEncryptor;else n=t.createDecryptor,this._minBufferSize=1;this._mode=n.call(t,this,e&&e.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else t=this._process(!0),e.unpad(t);return t},blockSize:4});var f=e.CipherParams=t.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}}),l=(u=(h.format={}).OpenSSL={stringify:function(e){var t=e.ciphertext;return((e=e.salt)?s.create([1398893684,1701076831]).concat(e).concat(t):t).toString(r)},parse:function(e){var t=(e=r.parse(e)).words;if(1398893684==t[0]&&1701076831==t[1]){var n=s.create(t.slice(2,4));t.splice(0,4),e.sigBytes-=16}return f.create({ciphertext:e,salt:n})}},e.SerializableCipher=t.extend({cfg:t.extend({format:u}),encrypt:function(e,t,n,r){r=this.cfg.extend(r);var i=e.createEncryptor(n,r);return t=i.finalize(t),i=i.cfg,f.create({ciphertext:t,key:n,iv:i.iv,algorithm:e,mode:i.mode,padding:i.padding,blockSize:e.blockSize,formatter:r.format})},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),e.createDecryptor(n,r).finalize(t.ciphertext)},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}})),h=(h.kdf={}).OpenSSL={execute:function(e,t,n,r){return r=r||s.random(8),e=i.create({keySize:t+n}).compute(e,r),n=s.create(e.words.slice(t),4*n),e.sigBytes=4*t,f.create({key:e,iv:n,salt:r})}},p=e.PasswordBasedCipher=l.extend({cfg:l.cfg.extend({kdf:h}),encrypt:function(e,t,n,r){return n=(r=this.cfg.extend(r)).kdf.execute(n,e.keySize,e.ivSize),r.iv=n.iv,(e=l.encrypt.call(this,e,t,n.key,r)).mixIn(n),e},decrypt:function(e,t,n,r){return r=this.cfg.extend(r),t=this._parse(t,r.format),n=r.kdf.execute(n,e.keySize,e.ivSize,t.salt),r.iv=n.iv,l.decrypt.call(this,e,t,n.key,r)}})}(),function(){for(var e=E,t=e.lib.BlockCipher,n=e.algo,s=[],r=[],i=[],o=[],a=[],u=[],c=[],f=[],l=[],h=[],p=[],d=0;d<256;d++)p[d]=d<128?d<<1:d<<1^283;var g=0,y=0;for(d=0;d<256;d++){var v=(v=y^y<<1^y<<2^y<<3^y<<4)>>>8^255&v^99;s[g]=v;var b=p[r[v]=g],m=p[b],_=p[m],k=257*p[v]^16843008*v;i[g]=k<<24|k>>>8,o[g]=k<<16|k>>>16,a[g]=k<<8|k>>>24,u[g]=k,k=16843009*_^65537*m^257*b^16843008*g,c[v]=k<<24|k>>>8,f[v]=k<<16|k>>>16,l[v]=k<<8|k>>>24,h[v]=k,g?(g=b^p[p[p[_^b]]],y^=p[p[y]]):g=y=1}var T=[0,1,2,4,8,16,32,64,128,27,54];n=n.AES=t.extend({_doReset:function(){for(var e=(n=this._key).words,t=n.sigBytes/4,n=4*((this._nRounds=t+6)+1),r=this._keySchedule=[],i=0;i>>24]<<24|s[o>>>16&255]<<16|s[o>>>8&255]<<8|s[255&o]):(o=s[(o=o<<8|o>>>24)>>>24]<<24|s[o>>>16&255]<<16|s[o>>>8&255]<<8|s[255&o],o^=T[i/t|0]<<24),r[i]=r[i-t]^o}for(e=this._invKeySchedule=[],t=0;t>>24]]^f[s[o>>>16&255]]^l[s[o>>>8&255]]^h[s[255&o]]},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,i,o,a,u,s)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,c,f,l,h,r),n=e[t+1],e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,r,i,o,s,a){for(var u=this._nRounds,c=e[t]^n[0],f=e[t+1]^n[1],l=e[t+2]^n[2],h=e[t+3]^n[3],p=4,d=1;d>>24]^i[f>>>16&255]^o[l>>>8&255]^s[255&h]^n[p++],y=r[f>>>24]^i[l>>>16&255]^o[h>>>8&255]^s[255&c]^n[p++],v=r[l>>>24]^i[h>>>16&255]^o[c>>>8&255]^s[255&f]^n[p++];h=r[h>>>24]^i[c>>>16&255]^o[f>>>8&255]^s[255&l]^n[p++],c=g,f=y,l=v}g=(a[c>>>24]<<24|a[f>>>16&255]<<16|a[l>>>8&255]<<8|a[255&h])^n[p++],y=(a[f>>>24]<<24|a[l>>>16&255]<<16|a[h>>>8&255]<<8|a[255&c])^n[p++],v=(a[l>>>24]<<24|a[h>>>16&255]<<16|a[c>>>8&255]<<8|a[255&f])^n[p++],h=(a[h>>>24]<<24|a[c>>>16&255]<<16|a[f>>>8&255]<<8|a[255&l])^n[p++],e[t]=g,e[t+1]=y,e[t+2]=v,e[t+3]=h},keySize:8});e.AES=t._createHelper(n)}(),E.mode.ECB=((h=E.lib.BlockCipherMode.extend()).Encryptor=h.extend({processBlock:function(e,t){this._cipher.encryptBlock(e,t)}}),h.Decryptor=h.extend({processBlock:function(e,t){this._cipher.decryptBlock(e,t)}}),h),e.exports=E},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;r(n(6)),r(n(3)),r(n(7));var c=r(n(16)),f=r(n(17)),l=r(n(2)),a=(n(0),r(n(4)));function r(e){return e&&e.__esModule?e:{default:e}}function i(e,t){for(var n=0;n=o){var s={};s.category=a.default.PNRequestMessageCountExceededCategory,s.operation=t.operation,this._listenerManager.announceStatus(s)}r.forEach(function(e){var t=e.channel,n=e.subscriptionMatch,r=e.publishMetaData;if(t===n&&(n=null),f){if(c._dedupingManager.isDuplicate(e))return;c._dedupingManager.addEntry(e)}if(l.default.endsWith(e.channel,"-pnpres")){var i={channel:null,subscription:null};i.actualChannel=null!=n?t:null,i.subscribedChannel=null!=n?n:t,t&&(i.channel=t.substring(0,t.lastIndexOf("-pnpres"))),n&&(i.subscription=n.substring(0,n.lastIndexOf("-pnpres"))),i.action=e.payload.action,i.state=e.payload.data,i.timetoken=r.publishTimetoken,i.occupancy=e.payload.occupancy,i.uuid=e.payload.uuid,i.timestamp=e.payload.timestamp,e.payload.join&&(i.join=e.payload.join),e.payload.leave&&(i.leave=e.payload.leave),e.payload.timeout&&(i.timeout=e.payload.timeout),c._listenerManager.announcePresence(i)}else if(1===e.messageType){var o={channel:null,subscription:null};o.channel=t,o.subscription=n,o.timetoken=r.publishTimetoken,o.publisher=e.issuingClientId,e.userMetadata&&(o.userMetadata=e.userMetadata),o.message=e.payload,c._listenerManager.announceSignal(o)}else if(2===e.messageType){var s={channel:null,subscription:null};s.channel=t,s.subscription=n,s.timetoken=r.publishTimetoken,s.publisher=e.issuingClientId,e.userMetadata&&(s.userMetadata=e.userMetadata),s.message={event:e.payload.event,type:e.payload.type,data:e.payload.data},"user"===e.payload.type?c._listenerManager.announceUser(s):"space"===e.payload.type?c._listenerManager.announceSpace(s):"membership"===e.payload.type&&c._listenerManager.announceMembership(s)}else if(3===e.messageType){var a={};a.channel=t,a.subscription=n,a.timetoken=r.publishTimetoken,a.publisher=e.issuingClientId,a.data={messageTimetoken:e.payload.data.messageTimetoken,actionTimetoken:e.payload.data.actionTimetoken,type:e.payload.data.type,uuid:e.issuingClientId,value:e.payload.data.value},a.event=e.payload.event,c._listenerManager.announceMessageAction(a)}else{var u={channel:null,subscription:null};u.actualChannel=null!=n?t:null,u.subscribedChannel=null!=n?n:t,u.channel=t,u.subscription=n,u.timetoken=r.publishTimetoken,u.publisher=e.issuingClientId,e.userMetadata&&(u.userMetadata=e.userMetadata),c._config.cipherKey?u.message=c._crypto.decrypt(e.payload):u.message=e.payload,c._listenerManager.announceMessage(u)}}),this._region=e.metadata.region,this._startSubscribeLoop()}}},{key:"_stopSubscribeLoop",value:function(){this._subscribeCall&&("function"==typeof this._subscribeCall.abort&&this._subscribeCall.abort(),this._subscribeCall=null)}}])&&i(o.prototype,s),void(u&&i(o,u)),d);function d(e){var t=e.subscribeEndpoint,n=e.leaveEndpoint,r=e.heartbeatEndpoint,i=e.setStateEndpoint,o=e.timeEndpoint,s=e.config,a=e.crypto,u=e.listenerManager;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,d),h(this,"_crypto",void 0),h(this,"_config",void 0),h(this,"_listenerManager",void 0),h(this,"_reconnectionManager",void 0),h(this,"_leaveEndpoint",void 0),h(this,"_heartbeatEndpoint",void 0),h(this,"_setStateEndpoint",void 0),h(this,"_subscribeEndpoint",void 0),h(this,"_channels",void 0),h(this,"_presenceChannels",void 0),h(this,"_heartbeatChannels",void 0),h(this,"_heartbeatChannelGroups",void 0),h(this,"_channelGroups",void 0),h(this,"_presenceChannelGroups",void 0),h(this,"_currentTimetoken",void 0),h(this,"_lastTimetoken",void 0),h(this,"_storedTimetoken",void 0),h(this,"_region",void 0),h(this,"_subscribeCall",void 0),h(this,"_heartbeatTimer",void 0),h(this,"_subscriptionStatusAnnounced",void 0),h(this,"_autoNetworkDetection",void 0),h(this,"_isOnline",void 0),h(this,"_pendingChannelSubscriptions",void 0),h(this,"_pendingChannelGroupSubscriptions",void 0),h(this,"_dedupingManager",void 0),this._listenerManager=u,this._config=s,this._leaveEndpoint=n,this._heartbeatEndpoint=r,this._setStateEndpoint=i,this._subscribeEndpoint=t,this._crypto=a,this._channels={},this._presenceChannels={},this._heartbeatChannels={},this._heartbeatChannelGroups={},this._channelGroups={},this._presenceChannelGroups={},this._pendingChannelSubscriptions=[],this._pendingChannelGroupSubscriptions=[],this._currentTimetoken=0,this._lastTimetoken=0,this._storedTimetoken=null,this._subscriptionStatusAnnounced=!1,this._isOnline=!0,this._reconnectionManager=new c.default({timeEndpoint:o}),this._dedupingManager=new f.default({config:s})}t.default=p,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r;(r=n(8))&&r.__esModule,n(0);function i(e,t){for(var n=0;n=this._config.maximumCacheSize&&this.hashHistory.shift(),this.hashHistory.push(this.getKey(e))}},{key:"clearHistory",value:function(){this.hashHistory=[]}}])&&i(s.prototype,a),void(u&&i(s,u)),f);function f(e){var t=e.config;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,f),o(this,"_config",void 0),o(this,"hashHistory",void 0),this.hashHistory=[],this._config=t}t.default=c,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r;(r=n(3))&&r.__esModule,n(0);function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){for(var n=0;n=this._maxSubDomain&&(this._currentSubDomain=1),e=this._currentSubDomain.toString(),this._providedFQDN.replace("ps.pndsn.com","ps".concat(e,".pndsn.com"))):this._providedFQDN;var e}},{key:"hasModule",value:function(e){return e in this._modules}},{key:"shiftStandardOrigin",value:function(){return this._standardOrigin=this.nextOrigin(),this._standardOrigin}},{key:"getStandardOrigin",value:function(){return this._standardOrigin}},{key:"POST",value:function(e,t,n,r){return this._modules.post(e,t,n,r)}},{key:"PATCH",value:function(e,t,n,r){return this._modules.patch(e,t,n,r)}},{key:"GET",value:function(e,t,n){return this._modules.get(e,t,n)}},{key:"DELETE",value:function(e,t,n){return this._modules.del(e,t,n)}},{key:"_detectErrorCategory",value:function(e){if("ENOTFOUND"===e.code)return r.default.PNNetworkIssuesCategory;if("ECONNREFUSED"===e.code)return r.default.PNNetworkIssuesCategory;if("ECONNRESET"===e.code)return r.default.PNNetworkIssuesCategory;if("EAI_AGAIN"===e.code)return r.default.PNNetworkIssuesCategory;if(0===e.status||e.hasOwnProperty("status")&&void 0===e.status)return r.default.PNNetworkIssuesCategory;if(e.timeout)return r.default.PNTimeoutCategory;if("ETIMEDOUT"===e.code)return r.default.PNNetworkIssuesCategory;if(e.response){if(e.response.badRequest)return r.default.PNBadRequestCategory;if(e.response.forbidden)return r.default.PNAccessDeniedCategory}return r.default.PNUnknownCategory}}])&&o(a.prototype,u),void(c&&o(a,c)),l);function l(t){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),s(this,"_modules",void 0),s(this,"_config",void 0),s(this,"_maxSubDomain",void 0),s(this,"_currentSubDomain",void 0),s(this,"_standardOrigin",void 0),s(this,"_subscribeOrigin",void 0),s(this,"_providedFQDN",void 0),s(this,"_requestTimeout",void 0),s(this,"_coreParams",void 0),this._modules={},Object.keys(t).forEach(function(e){n._modules[e]=t[e].bind(n)})}t.default=f,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r={get:function(e){try{return localStorage.getItem(e)}catch(e){return null}},set:function(e,t){try{return localStorage.setItem(e,t)}catch(e){return null}}};t.default=r,e.exports=t.default},function(f,l,h){"use strict";(function(i){Object.defineProperty(l,"__esModule",{value:!0}),l.default=void 0;var e,o=(e=h(73))&&e.__esModule?e:{default:e};function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function t(e,t){for(var n=0;n>16&255,s[a++]=t>>8&255,s[a++]=255&t;2===o&&(t=c[e.charCodeAt(n)]<<2|c[e.charCodeAt(n+1)]>>4,s[a++]=255&t);1===o&&(t=c[e.charCodeAt(n)]<<10|c[e.charCodeAt(n+1)]<<4|c[e.charCodeAt(n+2)]>>2,s[a++]=t>>8&255,s[a++]=255&t);return s},t.fromByteArray=function(e){for(var t,n=e.length,r=n%3,i=[],o=0,s=n-r;o>2]+a[t<<4&63]+"==")):2==r&&(t=(e[n-2]<<8)+e[n-1],i.push(a[t>>10]+a[t>>4&63]+a[t<<2&63]+"="));return i.join("")};for(var a=[],c=[],f="undefined"!=typeof Uint8Array?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,o=r.length;i>18&63]+a[i>>12&63]+a[i>>6&63]+a[63&i]);return o.join("")}c["-".charCodeAt(0)]=62,c["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,n,r,i){var o,s,a=8*i-r-1,u=(1<>1,f=-7,l=n?i-1:0,h=n?-1:1,p=e[t+l];for(l+=h,o=p&(1<<-f)-1,p>>=-f,f+=a;0>=-f,f+=r;0>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,d=r?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=f):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),2<=(t+=1<=s+l?h/u:h*Math.pow(2,1-l))*u&&(s++,u/=2),f<=s+l?(a=0,s=f):1<=s+l?(a=(t*u-1)*Math.pow(2,i),s+=l):(a=t*Math.pow(2,l-1)*Math.pow(2,i),s=0));8<=i;e[n+p]=255&a,p+=d,a/=256,i-=8);for(s=s<>10,n=1023&e,r=32768&e;if(31==t)return 0==n?r?-1/0:1/0:NaN;var i=t?Math.pow(2,t-25)*(1024+n):Math.pow(2,-24)*n;return r?-i:i},readFloat32:function(){var e=this.readUint32(),t=(2147483647&e)>>23,n=8388607&e,r=2147483648&e;if(255==t)return 0==n?r?-1/0:1/0:NaN;var i=t?Math.pow(2,t-23-127)*(8388608+n):Math.pow(2,-149)*n;return r?-i:i},readFloat64:function(){var e=this.readUint32(),t=this.readUint32(),n=e>>20&2047,r=4294967296*(1048575&e)+t,i=2147483648&e;if(2047==n)return 0===r?i?-1/0:1/0:NaN;var o=n?Math.pow(2,n-52-1023)*(4503599627370496+r):Math.pow(2,-1074)*r;return i?-o:o},readUint16:function(){return 256*this.readByte()+this.readByte()},readUint32:function(){return 65536*this.readUint16()+this.readUint16()},readUint64:function(){return 4294967296*this.readUint32()+this.readUint32()}},t.prototype={writeByte:r("writeByte"),result:r("result"),writeFloat16:r("writeFloat16"),writeFloat32:r("writeFloat32"),writeFloat64:r("writeFloat64"),writeUint16:function(e){this.writeByte(e>>8&255),this.writeByte(255&e)},writeUint32:function(e){this.writeUint16(e>>16&65535),this.writeUint16(65535&e)},writeUint64:function(e){if(9007199254740992<=e||e<=-9007199254740992)throw new Error("Cannot encode Uint64 of: "+e+" magnitude to big (floating point errors)");this.writeUint32(Math.floor(e/4294967296)),this.writeUint32(e%4294967296)},writeString:r("writeString"),canWriteBinary:function(e){return!1},writeBinary:r("writeChunk")};var h=new Error;function p(e){var t=function(e){var t=e.readByte();return{type:t>>5,value:31&t}}(e);switch(t.type){case 0:return l(t,e);case 1:return-1-l(t,e);case 2:return e.readChunk(l(t,e));case 3:var n=e.readChunk(l(t,e));return n.toString("utf-8");case 4:case 5:var r=l(t,e),i=[];if(null!==r){5===t.type&&(r*=2);for(var o=0;o=this.latestBuffer.length&&(this.completeBuffers.push(this.latestBuffer),this.latestBuffer=b.alloc(this.defaultBufferLength),this.latestBufferOffset=0),this.byteLength++},n.prototype.writeFloat32=function(e){var t=b.alloc(4);t.writeFloatBE(e,0),this.writeBuffer(t)},n.prototype.writeFloat64=function(e){var t=b.alloc(8);t.writeDoubleBE(e,0),this.writeBuffer(t)},n.prototype.writeString=function(e,t){var n=b.from(e,"utf-8");t(n.length),this.writeBuffer(n)},n.prototype.canWriteBinary=function(e){return e instanceof b},n.prototype.writeBinary=function(e,t){t(e.length),this.writeBuffer(e)},n.prototype.writeBuffer=function(e){if(!(e instanceof b))throw new TypeError("BufferWriter only accepts Buffers");this.latestBufferOffset?this.latestBuffer.length-this.latestBufferOffset>=e.length?(e.copy(this.latestBuffer,this.latestBufferOffset),this.latestBufferOffset+=e.length,this.latestBufferOffset>=this.latestBuffer.length&&(this.completeBuffers.push(this.latestBuffer),this.latestBuffer=b.alloc(this.defaultBufferLength),this.latestBufferOffset=0)):(this.completeBuffers.push(this.latestBuffer.slice(0,this.latestBufferOffset)),this.completeBuffers.push(e),this.latestBuffer=b.alloc(this.defaultBufferLength),this.latestBufferOffset=0):this.completeBuffers.push(e),this.byteLength+=e.length},n.prototype.result=function(){for(var e=b.alloc(this.byteLength),t=0,n=0;n>>>>>"),o.log("[".concat(n," / ").concat(t,"]"),"\n",r.url,"\n",r.qs,"\n",e.text),o.log("-----")})}function s(e,i,o){var s=this;return this._config.logVerbosity&&(e=e.use(a)),this._config.proxy&&this._modules.proxy&&(e=this._modules.proxy.call(this,e)),this._config.keepAlive&&this._modules.keepAlive&&(e=this._modules.keepAlive(e)),e.timeout(i.timeout).end(function(t,n){var e,r={};if(r.error=null!==t,r.operation=i.operation,n&&n.status&&(r.statusCode=n.status),t){if(t.response&&t.response.text&&!s._config.logVerbosity)try{r.errorData=JSON.parse(t.response.text)}catch(e){r.errorData=t}else r.errorData=t;return r.category=s._detectErrorCategory(t),o(r,null)}try{e=JSON.parse(n.text)}catch(e){return r.errorData=n,r.error=!0,o(r,null)}return e.error&&1===e.error&&e.status&&e.message&&e.service?(r.errorData=e,r.statusCode=e.status,r.error=!0,r.category=s._detectErrorCategory(r),o(r,null)):(e.error&&e.error.message&&(r.errorData=e.error),o(r,e))})}},function(e,n,t){var r;r="undefined"!=typeof window?window:"undefined"!=typeof self?self:(console.warn("Using browser-only version of superagent in non-browser environment"),this);var i=t(76),o=t(77),s=t(10),a=t(78),u=t(80);function c(){}var f=n=e.exports=function(e,t){return"function"==typeof t?new n.Request("GET",e).end(t):1==arguments.length?new n.Request("GET",e):new n.Request(e,t)};n.Request=v,f.getXHR=function(){if(!(!r.XMLHttpRequest||r.location&&"file:"==r.location.protocol&&r.ActiveXObject))return new XMLHttpRequest;try{return new ActiveXObject("Microsoft.XMLHTTP")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(e){}throw Error("Browser-only version of superagent could not find XHR")};var l="".trim?function(e){return e.trim()}:function(e){return e.replace(/(^\s*|\s*$)/g,"")};function h(e){if(!s(e))return e;var t=[];for(var n in e)p(t,n,e[n]);return t.join("&")}function p(t,n,e){if(null!=e)if(Array.isArray(e))e.forEach(function(e){p(t,n,e)});else if(s(e))for(var r in e)p(t,n+"["+r+"]",e[r]);else t.push(encodeURIComponent(n)+"="+encodeURIComponent(e));else null===e&&t.push(encodeURIComponent(n))}function d(e){for(var t,n,r={},i=e.split("&"),o=0,s=i.length;o=this._maxRetries)return!1;if(this._retryCallback)try{var n=this._retryCallback(e,t);if(!0===n)return!0;if(!1===n)return!1}catch(e){console.error(e)}if(t&&t.status&&500<=t.status&&501!=t.status)return!0;if(e){if(e.code&&~o.indexOf(e.code))return!0;if(e.timeout&&"ECONNABORTED"==e.code)return!0;if(e.crossDomain)return!0}return!1},r.prototype._retry=function(){return this.clearTimeout(),this.req&&(this.req=null,this.req=this.request()),this._aborted=!1,this.timedout=!1,this._end()},r.prototype.then=function(e,t){if(!this._fullfilledPromise){var i=this;this._endCalled&&console.warn("Warning: superagent request was sent twice, because both .end() and .then() were called. Never call .end() if you use promises"),this._fullfilledPromise=new Promise(function(n,r){i.end(function(e,t){e?r(e):n(t)})})}return this._fullfilledPromise.then(e,t)},r.prototype.catch=function(e){return this.then(void 0,e)},r.prototype.use=function(e){return e(this),this},r.prototype.ok=function(e){if("function"!=typeof e)throw Error("Callback required");return this._okCallback=e,this},r.prototype._isResponseOK=function(e){return!!e&&(this._okCallback?this._okCallback(e):200<=e.status&&e.status<300)},r.prototype.getHeader=r.prototype.get=function(e){return this._header[e.toLowerCase()]},r.prototype.set=function(e,t){if(i(e)){for(var n in e)this.set(n,e[n]);return this}return this._header[e.toLowerCase()]=t,this.header[e]=t,this},r.prototype.unset=function(e){return delete this._header[e.toLowerCase()],delete this.header[e],this},r.prototype.field=function(e,t){if(null==e)throw new Error(".field(name, val) name can not be empty");if(this._data&&console.error(".field() can't be used if .send() is used. Please use only .send() or only .field() & .attach()"),i(e)){for(var n in e)this.field(n,e[n]);return this}if(Array.isArray(t)){for(var r in t)this.field(e,t[r]);return this}if(null==t)throw new Error(".field(name, val) val can not be empty");return"boolean"==typeof t&&(t=""+t),this._getFormData().append(e,t),this},r.prototype.abort=function(){return this._aborted||(this._aborted=!0,this.xhr&&this.xhr.abort(),this.req&&this.req.abort(),this.clearTimeout(),this.emit("abort")),this},r.prototype._auth=function(e,t,n,r){switch(n.type){case"basic":this.set("Authorization","Basic "+r(e+":"+t));break;case"auto":this.username=e,this.password=t;break;case"bearer":this.set("Authorization","Bearer "+e)}return this},r.prototype.withCredentials=function(e){return null==e&&(e=!0),this._withCredentials=e,this},r.prototype.redirects=function(e){return this._maxRedirects=e,this},r.prototype.maxResponseSize=function(e){if("number"!=typeof e)throw TypeError("Invalid argument");return this._maxResponseSize=e,this},r.prototype.toJSON=function(){return{method:this.method,url:this.url,data:this._data,headers:this._header}},r.prototype.send=function(e){var t=i(e),n=this._header["content-type"];if(this._formData&&console.error(".send() can't be used if .attach() or .field() is used. Please use only .send() or only .field() & .attach()"),t&&!this._data)Array.isArray(e)?this._data=[]:this._isHost(e)||(this._data={});else if(e&&this._data&&this._isHost(this._data))throw Error("Can't merge these send calls");if(t&&i(this._data))for(var r in e)this._data[r]=e[r];else"string"==typeof e?(n||this.type("form"),n=this._header["content-type"],this._data="application/x-www-form-urlencoded"==n?this._data?this._data+"&"+e:e:(this._data||"")+e):this._data=e;return!t||this._isHost(e)||n||this.type("json"),this},r.prototype.sortQuery=function(e){return this._sort=void 0===e||e,this},r.prototype._finalizeQueryString=function(){var e=this._query.join("&");if(e&&(this.url+=(0<=this.url.indexOf("?")?"&":"?")+e),this._query.length=0,this._sort){var t=this.url.indexOf("?");if(0<=t){var n=this.url.substring(t+1).split("&");"function"==typeof this._sort?n.sort(this._sort):n.sort(),this.url=this.url.substring(0,t)+"?"+n.join("&")}}},r.prototype._appendQueryString=function(){console.trace("Unsupported")},r.prototype._timeoutError=function(e,t,n){if(!this._aborted){var r=new Error(e+t+"ms exceeded");r.timeout=t,r.code="ECONNABORTED",r.errno=n,this.timedout=!0,this.abort(),this.callback(r)}},r.prototype._setTimeouts=function(){var e=this;this._timeout&&!this._timer&&(this._timer=setTimeout(function(){e._timeoutError("Timeout of ",e._timeout,"ETIME")},this._timeout)),this._responseTimeout&&!this._responseTimeoutTimer&&(this._responseTimeoutTimer=setTimeout(function(){e._timeoutError("Response timeout of ",e._responseTimeout,"ETIMEDOUT")},this._responseTimeout))}},function(e,t,n){"use strict";var i=n(79);function r(e){if(e)return function(e){for(var t in r.prototype)e[t]=r.prototype[t];return e}(e)}(e.exports=r).prototype.get=function(e){return this.header[e.toLowerCase()]},r.prototype._setHeaderProperties=function(e){var t=e["content-type"]||"";this.type=i.type(t);var n=i.params(t);for(var r in n)this[r]=n[r];this.links={};try{e.link&&(this.links=i.parseLinks(e.link))}catch(e){}},r.prototype._setStatusProperties=function(e){var t=e/100|0;this.status=this.statusCode=e,this.statusType=t,this.info=1==t,this.ok=2==t,this.redirect=3==t,this.clientError=4==t,this.serverError=5==t,this.error=(4==t||5==t)&&this.toError(),this.created=201==e,this.accepted=202==e,this.noContent=204==e,this.badRequest=400==e,this.unauthorized=401==e,this.notAcceptable=406==e,this.forbidden=403==e,this.notFound=404==e,this.unprocessableEntity=422==e}},function(e,t,n){"use strict";t.type=function(e){return e.split(/ *; */).shift()},t.params=function(e){return e.split(/ *; */).reduce(function(e,t){var n=t.split(/ *= */),r=n.shift(),i=n.shift();return r&&i&&(e[r]=i),e},{})},t.parseLinks=function(e){return e.split(/ *, */).reduce(function(e,t){var n=t.split(/ *; */),r=n[0].slice(1,-1);return e[n[1].split(/ *= */)[1].slice(1,-1)]=r,e},{})},t.cleanHeader=function(e,t){return delete e["content-type"],delete e["content-length"],delete e["transfer-encoding"],delete e.host,t&&(delete e.authorization,delete e.cookie),e}},function(e,t){function n(){this._defaults=[]}["use","on","once","set","query","type","accept","auth","withCredentials","sortQuery","retry","ok","redirects","timeout","buffer","serialize","parse","ca","key","pfx","cert"].forEach(function(e){n.prototype[e]=function(){return this._defaults.push({fn:e,arguments:arguments}),this}}),n.prototype._setDefaults=function(t){this._defaults.forEach(function(e){t[e.fn].apply(t,e.arguments)})},e.exports=n}],i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=11);function i(e){if(r[e])return r[e].exports;var t=r[e]={i:e,l:!1,exports:{}};return n[e].call(t.exports,t,t.exports,i),t.l=!0,t.exports}var n,r}); \ No newline at end of file diff --git a/gulpfile.babel.js b/gulpfile.babel.js index 45e207e07..819feaa8e 100644 --- a/gulpfile.babel.js +++ b/gulpfile.babel.js @@ -23,6 +23,7 @@ const unzip = require('gulp-unzip'); // increase mocha timeout from default of 2000 to allow long running async tests to complete const mochaTimeout = 5000; +gulp.on('error', process.exit.bind(process, 1)); gulp.task('clean', () => { return gulp .src(['lib', 'dist', 'coverage', 'upload'], { read: false, allowEmpty: true }) @@ -188,4 +189,4 @@ gulp.task('webpack', (done) => { gulp.task('compile', (done) => { runSequence('clean', 'babel', 'webpack', 'uglify_web', 'uglify_titanium', 'create_version', 'create_version_gzip', done); -}); \ No newline at end of file +}); diff --git a/lib/core/components/config.js b/lib/core/components/config.js index 0f5249023..8631debad 100644 --- a/lib/core/components/config.js +++ b/lib/core/components/config.js @@ -255,7 +255,7 @@ var _default = function () { }, { key: "getVersion", value: function getVersion() { - return '4.27.0'; + return '4.27.1'; } }, { key: "_decideUUID", diff --git a/lib/core/components/config.js.map b/lib/core/components/config.js.map index 1364b30f3..f22cc07af 100644 --- a/lib/core/components/config.js.map +++ b/lib/core/components/config.js.map @@ -1 +1 @@ -{"version":3,"sources":["core/components/config.js"],"names":["PRESENCE_TIMEOUT_MINIMUM","PRESENCE_TIMEOUT_DEFAULT","setup","db","_db","instanceId","uuidGenerator","createUUID","secretKey","secret_key","subscribeKey","subscribe_key","publishKey","publish_key","sdkName","sdkFamily","partnerId","setAuthKey","authKey","setCipherKey","cipherKey","setFilterExpression","filterExpression","origin","secure","ssl","restore","proxy","keepAlive","keepAliveSettings","autoNetworkDetection","dedupeOnSubscribe","maximumCacheSize","customEncrypt","customDecrypt","location","protocol","logVerbosity","suppressLeaveEvents","announceFailedHeartbeats","announceSuccessfulHeartbeats","useInstanceId","useRequestId","requestMessageCountThreshold","setTransactionTimeout","transactionalRequestTimeout","setSubscribeTimeout","subscribeRequestTimeout","setSendBeaconConfig","useSendBeacon","setPresenceTimeout","presenceTimeout","heartbeatInterval","setHeartbeatInterval","setUUID","_decideUUID","uuid","val","UUID","set","_presenceTimeout","console","log","_heartbeatInterval","_subscribeRequestTimeout","_transactionalRequestTimeout","_useSendBeacon","providedUUID","get"],"mappings":";;;;;;;AAGA;;AACA;;;;;;;;;;;;AAOA,IAAMA,wBAAgC,GAAG,EAAzC;AACA,IAAMC,wBAAgC,GAAG,GAAzC;;;AA8HE,0BAAgD;AAAA,QAAlCC,KAAkC,QAAlCA,KAAkC;AAAA,QAA3BC,EAA2B,QAA3BA,EAA2B;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAC9C,SAAKC,GAAL,GAAWD,EAAX;AAEA,SAAKE,UAAL,gBAAwBC,iBAAcC,UAAd,EAAxB;AACA,SAAKC,SAAL,GAAiBN,KAAK,CAACM,SAAN,IAAmBN,KAAK,CAACO,UAA1C;AACA,SAAKC,YAAL,GAAoBR,KAAK,CAACQ,YAAN,IAAsBR,KAAK,CAACS,aAAhD;AACA,SAAKC,UAAL,GAAkBV,KAAK,CAACU,UAAN,IAAoBV,KAAK,CAACW,WAA5C;AACA,SAAKC,OAAL,GAAeZ,KAAK,CAACY,OAArB;AACA,SAAKC,SAAL,GAAiBb,KAAK,CAACa,SAAvB;AACA,SAAKC,SAAL,GAAiBd,KAAK,CAACc,SAAvB;AACA,SAAKC,UAAL,CAAgBf,KAAK,CAACgB,OAAtB;AACA,SAAKC,YAAL,CAAkBjB,KAAK,CAACkB,SAAxB;AAEA,SAAKC,mBAAL,CAAyBnB,KAAK,CAACoB,gBAA/B;AAEA,SAAKC,MAAL,GAAcrB,KAAK,CAACqB,MAAN,IAAgB,cAA9B;AACA,SAAKC,MAAL,GAActB,KAAK,CAACuB,GAAN,IAAa,KAA3B;AACA,SAAKC,OAAL,GAAexB,KAAK,CAACwB,OAAN,IAAiB,KAAhC;AACA,SAAKC,KAAL,GAAazB,KAAK,CAACyB,KAAnB;AACA,SAAKC,SAAL,GAAiB1B,KAAK,CAAC0B,SAAvB;AACA,SAAKC,iBAAL,GAAyB3B,KAAK,CAAC2B,iBAA/B;AACA,SAAKC,oBAAL,GAA4B5B,KAAK,CAAC4B,oBAAN,IAA8B,KAA1D;AAEA,SAAKC,iBAAL,GAAyB7B,KAAK,CAAC6B,iBAAN,IAA2B,KAApD;AACA,SAAKC,gBAAL,GAAwB9B,KAAK,CAAC8B,gBAAN,IAA0B,GAAlD;AAEA,SAAKC,aAAL,GAAqB/B,KAAK,CAAC+B,aAA3B;AACA,SAAKC,aAAL,GAAqBhC,KAAK,CAACgC,aAA3B;;AAGA,QAAI,OAAOC,QAAP,KAAoB,WAApB,IAAmCA,QAAQ,CAACC,QAAT,KAAsB,QAA7D,EAAuE;AACrE,WAAKZ,MAAL,GAAc,IAAd;AACD;;AAED,SAAKa,YAAL,GAAoBnC,KAAK,CAACmC,YAAN,IAAsB,KAA1C;AACA,SAAKC,mBAAL,GAA2BpC,KAAK,CAACoC,mBAAN,IAA6B,KAAxD;AAEA,SAAKC,wBAAL,GAAgCrC,KAAK,CAACqC,wBAAN,IAAkC,IAAlE;AACA,SAAKC,4BAAL,GACEtC,KAAK,CAACsC,4BAAN,IAAsC,KADxC;AAGA,SAAKC,aAAL,GAAqBvC,KAAK,CAACuC,aAAN,IAAuB,KAA5C;AACA,SAAKC,YAAL,GAAoBxC,KAAK,CAACwC,YAAN,IAAsB,KAA1C;AAEA,SAAKC,4BAAL,GAAoCzC,KAAK,CAACyC,4BAA1C;AAGA,SAAKC,qBAAL,CAA2B1C,KAAK,CAAC2C,2BAAN,IAAqC,KAAK,IAArE;AAEA,SAAKC,mBAAL,CAAyB5C,KAAK,CAAC6C,uBAAN,IAAiC,MAAM,IAAhE;AAEA,SAAKC,mBAAL,CAAyB9C,KAAK,CAAC+C,aAAN,IAAuB,IAAhD;AAEA,SAAKC,kBAAL,CAAwBhD,KAAK,CAACiD,eAAN,IAAyBlD,wBAAjD;;AAEA,QAAIC,KAAK,CAACkD,iBAAN,IAA2B,IAA/B,EAAqC;AACnC,WAAKC,oBAAL,CAA0BnD,KAAK,CAACkD,iBAAhC;AACD;;AAED,SAAKE,OAAL,CAAa,KAAKC,WAAL,CAAiBrD,KAAK,CAACsD,IAAvB,CAAb;AACD;;;;iCAGoB;AACnB,aAAO,KAAKtC,OAAZ;AACD;;;+BAEUuC,G,EAAmB;AAC5B,WAAKvC,OAAL,GAAeuC,GAAf;AACA,aAAO,IAAP;AACD;;;iCAEYA,G,EAAmB;AAC9B,WAAKrC,SAAL,GAAiBqC,GAAjB;AACA,aAAO,IAAP;AACD;;;8BAEiB;AAChB,aAAO,KAAKC,IAAZ;AACD;;;4BAEOD,G,EAAmB;AACzB,UAAI,KAAKrD,GAAL,IAAY,KAAKA,GAAL,CAASuD,GAAzB,EAA8B,KAAKvD,GAAL,CAASuD,GAAT,WAAgB,KAAKjD,YAArB,WAAyC+C,GAAzC;AAC9B,WAAKC,IAAL,GAAYD,GAAZ;AACA,aAAO,IAAP;AACD;;;0CAE6B;AAC5B,aAAO,KAAKnC,gBAAZ;AACD;;;wCAEmBmC,G,EAAmB;AACrC,WAAKnC,gBAAL,GAAwBmC,GAAxB;AACA,aAAO,IAAP;AACD;;;yCAE4B;AAC3B,aAAO,KAAKG,gBAAZ;AACD;;;uCAEkBH,G,EAAmB;AACpC,UAAIA,GAAG,IAAIzD,wBAAX,EAAqC;AACnC,aAAK4D,gBAAL,GAAwBH,GAAxB;AACD,OAFD,MAEO;AACL,aAAKG,gBAAL,GAAwB5D,wBAAxB;AAGA6D,QAAAA,OAAO,CAACC,GAAR,CACE,2EADF,EAEE,KAAKF,gBAFP;AAID;;AAED,WAAKP,oBAAL,CAA0B,KAAKO,gBAAL,GAAwB,CAAxB,GAA4B,CAAtD;AAEA,aAAO,IAAP;AACD;;;6BAEQjC,K,EAAoB;AAC3B,WAAKA,KAAL,GAAaA,KAAb;AACD;;;2CAE8B;AAC7B,aAAO,KAAKoC,kBAAZ;AACD;;;yCAEoBN,G,EAAmB;AACtC,WAAKM,kBAAL,GAA0BN,GAA1B;AACA,aAAO,IAAP;AACD;;;0CAG6B;AAC5B,aAAO,KAAKO,wBAAZ;AACD;;;wCAEmBP,G,EAAmB;AACrC,WAAKO,wBAAL,GAAgCP,GAAhC;AACA,aAAO,IAAP;AACD;;;4CAE+B;AAC9B,aAAO,KAAKQ,4BAAZ;AACD;;;0CAEqBR,G,EAAmB;AACvC,WAAKQ,4BAAL,GAAoCR,GAApC;AACA,aAAO,IAAP;AACD;;;0CAE8B;AAC7B,aAAO,KAAKS,cAAZ;AACD;;;wCAEmBT,G,EAAoB;AACtC,WAAKS,cAAL,GAAsBT,GAAtB;AACA,aAAO,IAAP;AACD;;;iCAEoB;AACnB,aAAO,QAAP;AACD;;;gCAEWU,Y,EAA8B;AAExC,UAAIA,YAAJ,EAAkB;AAChB,eAAOA,YAAP;AACD;;AAGD,UAAI,KAAK/D,GAAL,IAAY,KAAKA,GAAL,CAASgE,GAArB,IAA4B,KAAKhE,GAAL,CAASgE,GAAT,WAAgB,KAAK1D,YAArB,UAAhC,EAA0E;AACxE,eAAO,KAAKN,GAAL,CAASgE,GAAT,WAAgB,KAAK1D,YAArB,UAAP;AACD;;AAGD,0BAAaJ,iBAAcC,UAAd,EAAb;AACD","sourcesContent":["/* @flow */\n/* global location */\n\nimport uuidGenerator from './uuid';\nimport {\n InternalSetupStruct,\n DatabaseInterface,\n KeepAliveStruct,\n ProxyStruct,\n} from '../flow_interfaces';\n\nconst PRESENCE_TIMEOUT_MINIMUM: number = 20;\nconst PRESENCE_TIMEOUT_DEFAULT: number = 300;\n\ntype ConfigConstructArgs = {\n setup: InternalSetupStruct,\n db: DatabaseInterface,\n};\n\nexport default class {\n _db: DatabaseInterface;\n\n subscribeKey: string;\n publishKey: string;\n secretKey: string;\n cipherKey: string;\n authKey: string;\n UUID: string;\n\n proxy: ProxyStruct;\n\n /*\n if _useInstanceId is true, this instanceId will be added to all requests\n */\n instanceId: string;\n\n /*\n If the SDK is running as part of another SDK built atop of it, allow a custom pnsdk with name and version.\n */\n sdkName: string;\n\n /*\n keep track of the SDK family for identifier generator\n */\n sdkFamily: string;\n\n /*\n If the SDK is operated by a partner, allow a custom pnsdk item for them.\n */\n partnerId: string;\n\n /*\n filter expression to pass along when subscribing.\n */\n filterExpression: string;\n /*\n configuration to supress leave events; when a presence leave is performed\n this configuration will disallow the leave event from happening\n */\n suppressLeaveEvents: boolean;\n\n /*\n use SSL for http requests?\n */\n secure: boolean;\n\n // Custom optional origin.\n origin: string;\n\n // log verbosity: true to output lots of info\n logVerbosity: boolean;\n\n // if instanceId config is true, the SDK will pass the unique instance identifier to the server as instanceId=\n useInstanceId: boolean;\n\n // if requestId config is true, the SDK will pass a unique request identifier with each request as request_id=\n useRequestId: boolean;\n\n // use connection keep-alive for http requests\n keepAlive: ?boolean;\n\n keepAliveSettings: ?KeepAliveStruct;\n\n // if autoNetworkDetection config is true, the SDK will emit NetworkUp and NetworkDown when there changes in the networking\n autoNetworkDetection: ?boolean;\n\n // alert when a heartbeat works out.\n announceSuccessfulHeartbeats: boolean;\n announceFailedHeartbeats: boolean;\n\n /*\n how long the server will wait before declaring that the client is gone.\n */\n _presenceTimeout: number;\n\n /*\n how often (in seconds) the client should announce its presence to server\n */\n _heartbeatInterval: number;\n\n /*\n how long to wait for the server when running the subscribe loop\n */\n _subscribeRequestTimeout: number;\n /*\n how long to wait for the server when making transactional requests\n */\n _transactionalRequestTimeout: number;\n /*\n use send beacon API when unsubscribing.\n https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon\n */\n _useSendBeacon: boolean;\n\n /*\n if set, the SDK will alert if more messages arrive in one subscribe than the theshold\n */\n requestMessageCountThreshold: number;\n\n /*\n Restore subscription list on disconnection.\n */\n restore: boolean;\n\n /*\n support for client deduping\n */\n dedupeOnSubscribe: boolean;\n\n maximumCacheSize: number;\n\n /*\n support customp encryption and decryption functions.\n */\n customEncrypt: Function; // function to support custome encryption of messages\n\n customDecrypt: Function; // function used to decrypt old version messages\n\n constructor({ setup, db }: ConfigConstructArgs) {\n this._db = db;\n\n this.instanceId = `pn-${uuidGenerator.createUUID()}`;\n this.secretKey = setup.secretKey || setup.secret_key;\n this.subscribeKey = setup.subscribeKey || setup.subscribe_key;\n this.publishKey = setup.publishKey || setup.publish_key;\n this.sdkName = setup.sdkName;\n this.sdkFamily = setup.sdkFamily;\n this.partnerId = setup.partnerId;\n this.setAuthKey(setup.authKey);\n this.setCipherKey(setup.cipherKey);\n\n this.setFilterExpression(setup.filterExpression);\n\n this.origin = setup.origin || 'ps.pndsn.com';\n this.secure = setup.ssl || false;\n this.restore = setup.restore || false;\n this.proxy = setup.proxy;\n this.keepAlive = setup.keepAlive;\n this.keepAliveSettings = setup.keepAliveSettings;\n this.autoNetworkDetection = setup.autoNetworkDetection || false;\n\n this.dedupeOnSubscribe = setup.dedupeOnSubscribe || false;\n this.maximumCacheSize = setup.maximumCacheSize || 100;\n\n this.customEncrypt = setup.customEncrypt;\n this.customDecrypt = setup.customDecrypt;\n\n // if location config exist and we are in https, force secure to true.\n if (typeof location !== 'undefined' && location.protocol === 'https:') {\n this.secure = true;\n }\n\n this.logVerbosity = setup.logVerbosity || false;\n this.suppressLeaveEvents = setup.suppressLeaveEvents || false;\n\n this.announceFailedHeartbeats = setup.announceFailedHeartbeats || true;\n this.announceSuccessfulHeartbeats =\n setup.announceSuccessfulHeartbeats || false;\n\n this.useInstanceId = setup.useInstanceId || false;\n this.useRequestId = setup.useRequestId || false;\n\n this.requestMessageCountThreshold = setup.requestMessageCountThreshold;\n\n // set timeout to how long a transaction request will wait for the server (default 15 seconds)\n this.setTransactionTimeout(setup.transactionalRequestTimeout || 15 * 1000);\n // set timeout to how long a subscribe event loop will run (default 310 seconds)\n this.setSubscribeTimeout(setup.subscribeRequestTimeout || 310 * 1000);\n // set config on beacon (https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon) usage\n this.setSendBeaconConfig(setup.useSendBeacon || true);\n // how long the SDK will report the client to be alive before issuing a timeout\n this.setPresenceTimeout(setup.presenceTimeout || PRESENCE_TIMEOUT_DEFAULT);\n\n if (setup.heartbeatInterval != null) {\n this.setHeartbeatInterval(setup.heartbeatInterval);\n }\n\n this.setUUID(this._decideUUID(setup.uuid)); // UUID decision depends on subKey.\n }\n\n // exposed setters\n getAuthKey(): string {\n return this.authKey;\n }\n\n setAuthKey(val: string): this {\n this.authKey = val;\n return this;\n }\n\n setCipherKey(val: string): this {\n this.cipherKey = val;\n return this;\n }\n\n getUUID(): string {\n return this.UUID;\n }\n\n setUUID(val: string): this {\n if (this._db && this._db.set) this._db.set(`${this.subscribeKey}uuid`, val);\n this.UUID = val;\n return this;\n }\n\n getFilterExpression(): string {\n return this.filterExpression;\n }\n\n setFilterExpression(val: string): this {\n this.filterExpression = val;\n return this;\n }\n\n getPresenceTimeout(): number {\n return this._presenceTimeout;\n }\n\n setPresenceTimeout(val: number): this {\n if (val >= PRESENCE_TIMEOUT_MINIMUM) {\n this._presenceTimeout = val;\n } else {\n this._presenceTimeout = PRESENCE_TIMEOUT_MINIMUM;\n\n // eslint-disable-next-line no-console\n console.log(\n 'WARNING: Presence timeout is less than the minimum. Using minimum value: ',\n this._presenceTimeout\n );\n }\n\n this.setHeartbeatInterval(this._presenceTimeout / 2 - 1);\n\n return this;\n }\n\n setProxy(proxy: ProxyStruct) {\n this.proxy = proxy;\n }\n\n getHeartbeatInterval(): number {\n return this._heartbeatInterval;\n }\n\n setHeartbeatInterval(val: number): this {\n this._heartbeatInterval = val;\n return this;\n }\n\n // deprecated setters.\n getSubscribeTimeout(): number {\n return this._subscribeRequestTimeout;\n }\n\n setSubscribeTimeout(val: number): this {\n this._subscribeRequestTimeout = val;\n return this;\n }\n\n getTransactionTimeout(): number {\n return this._transactionalRequestTimeout;\n }\n\n setTransactionTimeout(val: number): this {\n this._transactionalRequestTimeout = val;\n return this;\n }\n\n isSendBeaconEnabled(): boolean {\n return this._useSendBeacon;\n }\n\n setSendBeaconConfig(val: boolean): this {\n this._useSendBeacon = val;\n return this;\n }\n\n getVersion(): string {\n return '4.27.0';\n }\n\n _decideUUID(providedUUID: string): string {\n // if the uuid was provided by setup, use this UUID.\n if (providedUUID) {\n return providedUUID;\n }\n\n // if the database module is enabled and we have something saved, use this.\n if (this._db && this._db.get && this._db.get(`${this.subscribeKey}uuid`)) {\n return this._db.get(`${this.subscribeKey}uuid`);\n }\n\n // randomize the UUID and push to storage\n return `pn-${uuidGenerator.createUUID()}`;\n }\n}\n"],"file":"config.js"} \ No newline at end of file +{"version":3,"sources":["core/components/config.js"],"names":["PRESENCE_TIMEOUT_MINIMUM","PRESENCE_TIMEOUT_DEFAULT","setup","db","_db","instanceId","uuidGenerator","createUUID","secretKey","secret_key","subscribeKey","subscribe_key","publishKey","publish_key","sdkName","sdkFamily","partnerId","setAuthKey","authKey","setCipherKey","cipherKey","setFilterExpression","filterExpression","origin","secure","ssl","restore","proxy","keepAlive","keepAliveSettings","autoNetworkDetection","dedupeOnSubscribe","maximumCacheSize","customEncrypt","customDecrypt","location","protocol","logVerbosity","suppressLeaveEvents","announceFailedHeartbeats","announceSuccessfulHeartbeats","useInstanceId","useRequestId","requestMessageCountThreshold","setTransactionTimeout","transactionalRequestTimeout","setSubscribeTimeout","subscribeRequestTimeout","setSendBeaconConfig","useSendBeacon","setPresenceTimeout","presenceTimeout","heartbeatInterval","setHeartbeatInterval","setUUID","_decideUUID","uuid","val","UUID","set","_presenceTimeout","console","log","_heartbeatInterval","_subscribeRequestTimeout","_transactionalRequestTimeout","_useSendBeacon","providedUUID","get"],"mappings":";;;;;;;AAGA;;AACA;;;;;;;;;;;;AAOA,IAAMA,wBAAgC,GAAG,EAAzC;AACA,IAAMC,wBAAgC,GAAG,GAAzC;;;AA8HE,0BAAgD;AAAA,QAAlCC,KAAkC,QAAlCA,KAAkC;AAAA,QAA3BC,EAA2B,QAA3BA,EAA2B;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAC9C,SAAKC,GAAL,GAAWD,EAAX;AAEA,SAAKE,UAAL,gBAAwBC,iBAAcC,UAAd,EAAxB;AACA,SAAKC,SAAL,GAAiBN,KAAK,CAACM,SAAN,IAAmBN,KAAK,CAACO,UAA1C;AACA,SAAKC,YAAL,GAAoBR,KAAK,CAACQ,YAAN,IAAsBR,KAAK,CAACS,aAAhD;AACA,SAAKC,UAAL,GAAkBV,KAAK,CAACU,UAAN,IAAoBV,KAAK,CAACW,WAA5C;AACA,SAAKC,OAAL,GAAeZ,KAAK,CAACY,OAArB;AACA,SAAKC,SAAL,GAAiBb,KAAK,CAACa,SAAvB;AACA,SAAKC,SAAL,GAAiBd,KAAK,CAACc,SAAvB;AACA,SAAKC,UAAL,CAAgBf,KAAK,CAACgB,OAAtB;AACA,SAAKC,YAAL,CAAkBjB,KAAK,CAACkB,SAAxB;AAEA,SAAKC,mBAAL,CAAyBnB,KAAK,CAACoB,gBAA/B;AAEA,SAAKC,MAAL,GAAcrB,KAAK,CAACqB,MAAN,IAAgB,cAA9B;AACA,SAAKC,MAAL,GAActB,KAAK,CAACuB,GAAN,IAAa,KAA3B;AACA,SAAKC,OAAL,GAAexB,KAAK,CAACwB,OAAN,IAAiB,KAAhC;AACA,SAAKC,KAAL,GAAazB,KAAK,CAACyB,KAAnB;AACA,SAAKC,SAAL,GAAiB1B,KAAK,CAAC0B,SAAvB;AACA,SAAKC,iBAAL,GAAyB3B,KAAK,CAAC2B,iBAA/B;AACA,SAAKC,oBAAL,GAA4B5B,KAAK,CAAC4B,oBAAN,IAA8B,KAA1D;AAEA,SAAKC,iBAAL,GAAyB7B,KAAK,CAAC6B,iBAAN,IAA2B,KAApD;AACA,SAAKC,gBAAL,GAAwB9B,KAAK,CAAC8B,gBAAN,IAA0B,GAAlD;AAEA,SAAKC,aAAL,GAAqB/B,KAAK,CAAC+B,aAA3B;AACA,SAAKC,aAAL,GAAqBhC,KAAK,CAACgC,aAA3B;;AAGA,QAAI,OAAOC,QAAP,KAAoB,WAApB,IAAmCA,QAAQ,CAACC,QAAT,KAAsB,QAA7D,EAAuE;AACrE,WAAKZ,MAAL,GAAc,IAAd;AACD;;AAED,SAAKa,YAAL,GAAoBnC,KAAK,CAACmC,YAAN,IAAsB,KAA1C;AACA,SAAKC,mBAAL,GAA2BpC,KAAK,CAACoC,mBAAN,IAA6B,KAAxD;AAEA,SAAKC,wBAAL,GAAgCrC,KAAK,CAACqC,wBAAN,IAAkC,IAAlE;AACA,SAAKC,4BAAL,GACEtC,KAAK,CAACsC,4BAAN,IAAsC,KADxC;AAGA,SAAKC,aAAL,GAAqBvC,KAAK,CAACuC,aAAN,IAAuB,KAA5C;AACA,SAAKC,YAAL,GAAoBxC,KAAK,CAACwC,YAAN,IAAsB,KAA1C;AAEA,SAAKC,4BAAL,GAAoCzC,KAAK,CAACyC,4BAA1C;AAGA,SAAKC,qBAAL,CAA2B1C,KAAK,CAAC2C,2BAAN,IAAqC,KAAK,IAArE;AAEA,SAAKC,mBAAL,CAAyB5C,KAAK,CAAC6C,uBAAN,IAAiC,MAAM,IAAhE;AAEA,SAAKC,mBAAL,CAAyB9C,KAAK,CAAC+C,aAAN,IAAuB,IAAhD;AAEA,SAAKC,kBAAL,CAAwBhD,KAAK,CAACiD,eAAN,IAAyBlD,wBAAjD;;AAEA,QAAIC,KAAK,CAACkD,iBAAN,IAA2B,IAA/B,EAAqC;AACnC,WAAKC,oBAAL,CAA0BnD,KAAK,CAACkD,iBAAhC;AACD;;AAED,SAAKE,OAAL,CAAa,KAAKC,WAAL,CAAiBrD,KAAK,CAACsD,IAAvB,CAAb;AACD;;;;iCAGoB;AACnB,aAAO,KAAKtC,OAAZ;AACD;;;+BAEUuC,G,EAAmB;AAC5B,WAAKvC,OAAL,GAAeuC,GAAf;AACA,aAAO,IAAP;AACD;;;iCAEYA,G,EAAmB;AAC9B,WAAKrC,SAAL,GAAiBqC,GAAjB;AACA,aAAO,IAAP;AACD;;;8BAEiB;AAChB,aAAO,KAAKC,IAAZ;AACD;;;4BAEOD,G,EAAmB;AACzB,UAAI,KAAKrD,GAAL,IAAY,KAAKA,GAAL,CAASuD,GAAzB,EAA8B,KAAKvD,GAAL,CAASuD,GAAT,WAAgB,KAAKjD,YAArB,WAAyC+C,GAAzC;AAC9B,WAAKC,IAAL,GAAYD,GAAZ;AACA,aAAO,IAAP;AACD;;;0CAE6B;AAC5B,aAAO,KAAKnC,gBAAZ;AACD;;;wCAEmBmC,G,EAAmB;AACrC,WAAKnC,gBAAL,GAAwBmC,GAAxB;AACA,aAAO,IAAP;AACD;;;yCAE4B;AAC3B,aAAO,KAAKG,gBAAZ;AACD;;;uCAEkBH,G,EAAmB;AACpC,UAAIA,GAAG,IAAIzD,wBAAX,EAAqC;AACnC,aAAK4D,gBAAL,GAAwBH,GAAxB;AACD,OAFD,MAEO;AACL,aAAKG,gBAAL,GAAwB5D,wBAAxB;AAGA6D,QAAAA,OAAO,CAACC,GAAR,CACE,2EADF,EAEE,KAAKF,gBAFP;AAID;;AAED,WAAKP,oBAAL,CAA0B,KAAKO,gBAAL,GAAwB,CAAxB,GAA4B,CAAtD;AAEA,aAAO,IAAP;AACD;;;6BAEQjC,K,EAAoB;AAC3B,WAAKA,KAAL,GAAaA,KAAb;AACD;;;2CAE8B;AAC7B,aAAO,KAAKoC,kBAAZ;AACD;;;yCAEoBN,G,EAAmB;AACtC,WAAKM,kBAAL,GAA0BN,GAA1B;AACA,aAAO,IAAP;AACD;;;0CAG6B;AAC5B,aAAO,KAAKO,wBAAZ;AACD;;;wCAEmBP,G,EAAmB;AACrC,WAAKO,wBAAL,GAAgCP,GAAhC;AACA,aAAO,IAAP;AACD;;;4CAE+B;AAC9B,aAAO,KAAKQ,4BAAZ;AACD;;;0CAEqBR,G,EAAmB;AACvC,WAAKQ,4BAAL,GAAoCR,GAApC;AACA,aAAO,IAAP;AACD;;;0CAE8B;AAC7B,aAAO,KAAKS,cAAZ;AACD;;;wCAEmBT,G,EAAoB;AACtC,WAAKS,cAAL,GAAsBT,GAAtB;AACA,aAAO,IAAP;AACD;;;iCAEoB;AACnB,aAAO,QAAP;AACD;;;gCAEWU,Y,EAA8B;AAExC,UAAIA,YAAJ,EAAkB;AAChB,eAAOA,YAAP;AACD;;AAGD,UAAI,KAAK/D,GAAL,IAAY,KAAKA,GAAL,CAASgE,GAArB,IAA4B,KAAKhE,GAAL,CAASgE,GAAT,WAAgB,KAAK1D,YAArB,UAAhC,EAA0E;AACxE,eAAO,KAAKN,GAAL,CAASgE,GAAT,WAAgB,KAAK1D,YAArB,UAAP;AACD;;AAGD,0BAAaJ,iBAAcC,UAAd,EAAb;AACD","sourcesContent":["/* @flow */\n/* global location */\n\nimport uuidGenerator from './uuid';\nimport {\n InternalSetupStruct,\n DatabaseInterface,\n KeepAliveStruct,\n ProxyStruct,\n} from '../flow_interfaces';\n\nconst PRESENCE_TIMEOUT_MINIMUM: number = 20;\nconst PRESENCE_TIMEOUT_DEFAULT: number = 300;\n\ntype ConfigConstructArgs = {\n setup: InternalSetupStruct,\n db: DatabaseInterface,\n};\n\nexport default class {\n _db: DatabaseInterface;\n\n subscribeKey: string;\n publishKey: string;\n secretKey: string;\n cipherKey: string;\n authKey: string;\n UUID: string;\n\n proxy: ProxyStruct;\n\n /*\n if _useInstanceId is true, this instanceId will be added to all requests\n */\n instanceId: string;\n\n /*\n If the SDK is running as part of another SDK built atop of it, allow a custom pnsdk with name and version.\n */\n sdkName: string;\n\n /*\n keep track of the SDK family for identifier generator\n */\n sdkFamily: string;\n\n /*\n If the SDK is operated by a partner, allow a custom pnsdk item for them.\n */\n partnerId: string;\n\n /*\n filter expression to pass along when subscribing.\n */\n filterExpression: string;\n /*\n configuration to supress leave events; when a presence leave is performed\n this configuration will disallow the leave event from happening\n */\n suppressLeaveEvents: boolean;\n\n /*\n use SSL for http requests?\n */\n secure: boolean;\n\n // Custom optional origin.\n origin: string;\n\n // log verbosity: true to output lots of info\n logVerbosity: boolean;\n\n // if instanceId config is true, the SDK will pass the unique instance identifier to the server as instanceId=\n useInstanceId: boolean;\n\n // if requestId config is true, the SDK will pass a unique request identifier with each request as request_id=\n useRequestId: boolean;\n\n // use connection keep-alive for http requests\n keepAlive: ?boolean;\n\n keepAliveSettings: ?KeepAliveStruct;\n\n // if autoNetworkDetection config is true, the SDK will emit NetworkUp and NetworkDown when there changes in the networking\n autoNetworkDetection: ?boolean;\n\n // alert when a heartbeat works out.\n announceSuccessfulHeartbeats: boolean;\n announceFailedHeartbeats: boolean;\n\n /*\n how long the server will wait before declaring that the client is gone.\n */\n _presenceTimeout: number;\n\n /*\n how often (in seconds) the client should announce its presence to server\n */\n _heartbeatInterval: number;\n\n /*\n how long to wait for the server when running the subscribe loop\n */\n _subscribeRequestTimeout: number;\n /*\n how long to wait for the server when making transactional requests\n */\n _transactionalRequestTimeout: number;\n /*\n use send beacon API when unsubscribing.\n https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon\n */\n _useSendBeacon: boolean;\n\n /*\n if set, the SDK will alert if more messages arrive in one subscribe than the theshold\n */\n requestMessageCountThreshold: number;\n\n /*\n Restore subscription list on disconnection.\n */\n restore: boolean;\n\n /*\n support for client deduping\n */\n dedupeOnSubscribe: boolean;\n\n maximumCacheSize: number;\n\n /*\n support customp encryption and decryption functions.\n */\n customEncrypt: Function; // function to support custome encryption of messages\n\n customDecrypt: Function; // function used to decrypt old version messages\n\n constructor({ setup, db }: ConfigConstructArgs) {\n this._db = db;\n\n this.instanceId = `pn-${uuidGenerator.createUUID()}`;\n this.secretKey = setup.secretKey || setup.secret_key;\n this.subscribeKey = setup.subscribeKey || setup.subscribe_key;\n this.publishKey = setup.publishKey || setup.publish_key;\n this.sdkName = setup.sdkName;\n this.sdkFamily = setup.sdkFamily;\n this.partnerId = setup.partnerId;\n this.setAuthKey(setup.authKey);\n this.setCipherKey(setup.cipherKey);\n\n this.setFilterExpression(setup.filterExpression);\n\n this.origin = setup.origin || 'ps.pndsn.com';\n this.secure = setup.ssl || false;\n this.restore = setup.restore || false;\n this.proxy = setup.proxy;\n this.keepAlive = setup.keepAlive;\n this.keepAliveSettings = setup.keepAliveSettings;\n this.autoNetworkDetection = setup.autoNetworkDetection || false;\n\n this.dedupeOnSubscribe = setup.dedupeOnSubscribe || false;\n this.maximumCacheSize = setup.maximumCacheSize || 100;\n\n this.customEncrypt = setup.customEncrypt;\n this.customDecrypt = setup.customDecrypt;\n\n // if location config exist and we are in https, force secure to true.\n if (typeof location !== 'undefined' && location.protocol === 'https:') {\n this.secure = true;\n }\n\n this.logVerbosity = setup.logVerbosity || false;\n this.suppressLeaveEvents = setup.suppressLeaveEvents || false;\n\n this.announceFailedHeartbeats = setup.announceFailedHeartbeats || true;\n this.announceSuccessfulHeartbeats =\n setup.announceSuccessfulHeartbeats || false;\n\n this.useInstanceId = setup.useInstanceId || false;\n this.useRequestId = setup.useRequestId || false;\n\n this.requestMessageCountThreshold = setup.requestMessageCountThreshold;\n\n // set timeout to how long a transaction request will wait for the server (default 15 seconds)\n this.setTransactionTimeout(setup.transactionalRequestTimeout || 15 * 1000);\n // set timeout to how long a subscribe event loop will run (default 310 seconds)\n this.setSubscribeTimeout(setup.subscribeRequestTimeout || 310 * 1000);\n // set config on beacon (https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon) usage\n this.setSendBeaconConfig(setup.useSendBeacon || true);\n // how long the SDK will report the client to be alive before issuing a timeout\n this.setPresenceTimeout(setup.presenceTimeout || PRESENCE_TIMEOUT_DEFAULT);\n\n if (setup.heartbeatInterval != null) {\n this.setHeartbeatInterval(setup.heartbeatInterval);\n }\n\n this.setUUID(this._decideUUID(setup.uuid)); // UUID decision depends on subKey.\n }\n\n // exposed setters\n getAuthKey(): string {\n return this.authKey;\n }\n\n setAuthKey(val: string): this {\n this.authKey = val;\n return this;\n }\n\n setCipherKey(val: string): this {\n this.cipherKey = val;\n return this;\n }\n\n getUUID(): string {\n return this.UUID;\n }\n\n setUUID(val: string): this {\n if (this._db && this._db.set) this._db.set(`${this.subscribeKey}uuid`, val);\n this.UUID = val;\n return this;\n }\n\n getFilterExpression(): string {\n return this.filterExpression;\n }\n\n setFilterExpression(val: string): this {\n this.filterExpression = val;\n return this;\n }\n\n getPresenceTimeout(): number {\n return this._presenceTimeout;\n }\n\n setPresenceTimeout(val: number): this {\n if (val >= PRESENCE_TIMEOUT_MINIMUM) {\n this._presenceTimeout = val;\n } else {\n this._presenceTimeout = PRESENCE_TIMEOUT_MINIMUM;\n\n // eslint-disable-next-line no-console\n console.log(\n 'WARNING: Presence timeout is less than the minimum. Using minimum value: ',\n this._presenceTimeout\n );\n }\n\n this.setHeartbeatInterval(this._presenceTimeout / 2 - 1);\n\n return this;\n }\n\n setProxy(proxy: ProxyStruct) {\n this.proxy = proxy;\n }\n\n getHeartbeatInterval(): number {\n return this._heartbeatInterval;\n }\n\n setHeartbeatInterval(val: number): this {\n this._heartbeatInterval = val;\n return this;\n }\n\n // deprecated setters.\n getSubscribeTimeout(): number {\n return this._subscribeRequestTimeout;\n }\n\n setSubscribeTimeout(val: number): this {\n this._subscribeRequestTimeout = val;\n return this;\n }\n\n getTransactionTimeout(): number {\n return this._transactionalRequestTimeout;\n }\n\n setTransactionTimeout(val: number): this {\n this._transactionalRequestTimeout = val;\n return this;\n }\n\n isSendBeaconEnabled(): boolean {\n return this._useSendBeacon;\n }\n\n setSendBeaconConfig(val: boolean): this {\n this._useSendBeacon = val;\n return this;\n }\n\n getVersion(): string {\n return '4.27.1';\n }\n\n _decideUUID(providedUUID: string): string {\n // if the uuid was provided by setup, use this UUID.\n if (providedUUID) {\n return providedUUID;\n }\n\n // if the database module is enabled and we have something saved, use this.\n if (this._db && this._db.get && this._db.get(`${this.subscribeKey}uuid`)) {\n return this._db.get(`${this.subscribeKey}uuid`);\n }\n\n // randomize the UUID and push to storage\n return `pn-${uuidGenerator.createUUID()}`;\n }\n}\n"],"file":"config.js"} \ No newline at end of file diff --git a/package.json b/package.json index 34b14bb31..81e465307 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "pubnub", - "version": "4.27.0", + "version": "4.27.1", "author": "PubNub ", "description": "Publish & Subscribe Real-time Messaging with PubNub", "bin": {}, diff --git a/src/core/components/config.js b/src/core/components/config.js index 02c27e9b8..49f53599a 100644 --- a/src/core/components/config.js +++ b/src/core/components/config.js @@ -296,7 +296,7 @@ export default class { } getVersion(): string { - return '4.27.0'; + return '4.27.1'; } _decideUUID(providedUUID: string): string { diff --git a/src/core/endpoints/actions/get_message_actions.js b/src/core/endpoints/actions/get_message_actions.js index 8b59add31..2a72415fb 100644 --- a/src/core/endpoints/actions/get_message_actions.js +++ b/src/core/endpoints/actions/get_message_actions.js @@ -59,7 +59,7 @@ export function handleResponse( getMessageActionsResponse: Object ): GetMessageActionsResponse { /** @type GetMessageActionsResponse */ - let response = { data: getMessageActionsResponse.data }; + let response = { data: getMessageActionsResponse.data, start: null, end: null }; if (response.data.length) { response.end = response.data[response.data.length - 1].actionTimetoken; diff --git a/src/core/endpoints/fetch_messages.js b/src/core/endpoints/fetch_messages.js index 0d28b4bc2..701694af9 100644 --- a/src/core/endpoints/fetch_messages.js +++ b/src/core/endpoints/fetch_messages.js @@ -98,11 +98,13 @@ export function handleResponse( (serverResponse.channels[channelName] || []).forEach((messageEnvelope) => { let announce: MessageAnnouncement = {}; announce.channel = channelName; - announce.subscription = null; announce.timetoken = messageEnvelope.timetoken; announce.message = __processMessage(modules, messageEnvelope.message); if (messageEnvelope.actions) { + announce.actions = messageEnvelope.actions; + + // This should be kept for few updates for existing clients consistency. announce.data = messageEnvelope.actions; } if (messageEnvelope.meta) { diff --git a/test/integration/endpoints/fetch_messages.test.js b/test/integration/endpoints/fetch_messages.test.js index af22d837d..ccaefd148 100644 --- a/test/integration/endpoints/fetch_messages.test.js +++ b/test/integration/endpoints/fetch_messages.test.js @@ -1,4 +1,4 @@ -/* global describe, beforeEach, afterEach, it, before, after */ +/* global describe, beforeEach, afterEach, it, after */ /* eslint no-console: 0 */ import assert from 'assert'; @@ -18,7 +18,7 @@ function publishMessagesToChannel(client: PubNub, count: Number, channel: String } client.publish(payload, (status, response) => { - publishCompleted++; + publishCompleted += 1; if (!status.error) { messages.push({ message: payload.message, timetoken: response.timetoken }); @@ -27,13 +27,12 @@ function publishMessagesToChannel(client: PubNub, count: Number, channel: String console.error('Publish did fail:', status); } - if (publishCompleted < count) { - publish(publishCompleted); - } else if (publishCompleted === count) { - completion(messages); - } + if (publishCompleted < count) { + publish(publishCompleted); + } else if (publishCompleted === count) { + completion(messages); } - ); + }); }; publish(publishCompleted); @@ -49,12 +48,12 @@ function addActionsInChannel(client: PubNub, count: Number, messageTimetokens: A let actionsAdded = 0; let actions = []; - for (let messageIdx = 0; messageIdx < messageTimetokens.length; messageIdx++) { + for (let messageIdx = 0; messageIdx < messageTimetokens.length; messageIdx += 1) { const messageTimetoken = messageTimetokens[messageIdx]; - for (let messageActionIdx = 0; messageActionIdx < count; messageActionIdx++) { + for (let messageActionIdx = 0; messageActionIdx < count; messageActionIdx += 1) { /** @type MessageAction */ - const action = { type: types[(messageActionIdx + 1)%3], value: values[(messageActionIdx + 1)%10] }; + const action = { type: types[(messageActionIdx + 1) % 3], value: values[(messageActionIdx + 1) % 10] }; actionsToAdd.push({ messageTimetoken, action }); } @@ -66,7 +65,7 @@ function addActionsInChannel(client: PubNub, count: Number, messageTimetokens: A client.addMessageAction( { channel, messageTimetoken, action }, (status, response) => { - actionsAdded++; + actionsAdded += 1; if (!status.error) { actions.push(response.data); @@ -107,8 +106,8 @@ describe('fetch messages endpoints', () => { beforeEach(() => { nock.cleanAll(); pubnub = new PubNub({ - subscribeKey: subscribeKey, - publishKey: publishKey, + subscribeKey, + publishKey, uuid: 'myUUID', }); }); @@ -140,7 +139,6 @@ describe('fetch messages endpoints', () => { message: { text: 'hey1', }, - subscription: null, timetoken: '11', }, { @@ -148,7 +146,6 @@ describe('fetch messages endpoints', () => { message: { text: 'hey2', }, - subscription: null, timetoken: '12', }, ], @@ -158,7 +155,6 @@ describe('fetch messages endpoints', () => { message: { text: 'hey3', }, - subscription: null, timetoken: '21', }, { @@ -166,7 +162,6 @@ describe('fetch messages endpoints', () => { message: { text: 'hey2', }, - subscription: null, timetoken: '22', }, ], @@ -206,7 +201,6 @@ describe('fetch messages endpoints', () => { message: { text: 'hey', }, - subscription: null, timetoken: '11', }, { @@ -214,7 +208,6 @@ describe('fetch messages endpoints', () => { message: { text: 'hey', }, - subscription: null, timetoken: '12', }, ], @@ -224,7 +217,6 @@ describe('fetch messages endpoints', () => { message: { text2: 'hey2', }, - subscription: null, timetoken: '21', }, { @@ -232,7 +224,6 @@ describe('fetch messages endpoints', () => { message: { text2: 'hey2', }, - subscription: null, timetoken: '22', }, ], @@ -265,7 +256,7 @@ describe('fetch messages endpoints', () => { try { pubnub.fetchMessages( { channels: ['channelA', 'channelB'], includeMessageActions: true }, - (status, response) => {} + () => {} ); } catch (error) { assert.equal(error.message, 'History can return actions data for a single channel only. Either pass a single channel or disable the includeMessageActions flag.'); @@ -275,13 +266,13 @@ describe('fetch messages endpoints', () => { assert(errorCatched); }); - it('supports actions', (done) => { + it('supports actions (stored as \'data\' field)', (done) => { const channel = PubNub.generateUUID(); const expectedMessagesCount = 2; const expectedActionsCount = 4; publishMessagesToChannel(pubnub, expectedMessagesCount, channel, (messages) => { - const messageTimetokens = messages.map((message) => message.timetoken ); + const messageTimetokens = messages.map((message) => message.timetoken); addActionsInChannel(pubnub, expectedActionsCount, messageTimetokens, channel, (actions) => { setTimeout(() => { @@ -294,7 +285,49 @@ describe('fetch messages endpoints', () => { Object.keys(actionsByType).forEach((actionType) => { Object.keys(actionsByType[actionType]).forEach((actionValue) => { let actionFound = false; - historyActionsCount++; + historyActionsCount += 1; + + actions.forEach((action) => { + if (action.value === actionValue) { + actionFound = true; + } + }); + + assert.equal(actionFound, true); + }); + }); + + assert.equal(historyActionsCount, expectedActionsCount); + assert.equal(fetchedMessages[0].timetoken, messageTimetokens[0]); + assert.equal(fetchedMessages[fetchedMessages.length - 1].timetoken, messageTimetokens[messageTimetokens.length - 1]); + + done(); + }); + }, 2000); + }); + }); + }).timeout(60000); + + it('supports actions (stored as \'actions\' field)', (done) => { + const channel = PubNub.generateUUID(); + const expectedMessagesCount = 2; + const expectedActionsCount = 4; + + publishMessagesToChannel(pubnub, expectedMessagesCount, channel, (messages) => { + const messageTimetokens = messages.map((message) => message.timetoken); + + addActionsInChannel(pubnub, expectedActionsCount, messageTimetokens, channel, (actions) => { + setTimeout(() => { + pubnub.fetchMessages({ channels: [channel], includeMessageActions: true }, (status, response) => { + assert.equal(status.error, false); + const fetchedMessages = response.channels[channel]; + const actionsByType = fetchedMessages[0].actions; + let historyActionsCount = 0; + + Object.keys(actionsByType).forEach((actionType) => { + Object.keys(actionsByType[actionType]).forEach((actionValue) => { + let actionFound = false; + historyActionsCount += 1; actions.forEach((action) => { if (action.value === actionValue) { @@ -308,8 +341,7 @@ describe('fetch messages endpoints', () => { assert.equal(historyActionsCount, expectedActionsCount); assert.equal(fetchedMessages[0].timetoken, messageTimetokens[0]); - assert.equal(fetchedMessages[fetchedMessages.length - 1].timetoken, - messageTimetokens[messageTimetokens.length - 1]); + assert.equal(fetchedMessages[fetchedMessages.length - 1].timetoken, messageTimetokens[messageTimetokens.length - 1]); done(); }); diff --git a/test/integration/endpoints/grant_token.test.js b/test/integration/endpoints/grant_token.test.js index d1a9a65f6..b971db548 100644 --- a/test/integration/endpoints/grant_token.test.js +++ b/test/integration/endpoints/grant_token.test.js @@ -8,6 +8,7 @@ import utils from '../../utils'; import PubNub from '../../../src/node/index'; describe('grant token endpoint', () => { + let originalVersionFunction = null; let pubnub; let clock; @@ -21,6 +22,7 @@ describe('grant token endpoint', () => { after(() => { clock.restore(); nock.enableNetConnect(); + pubnub._config.getVersion = originalVersionFunction; }); beforeEach(() => { @@ -32,6 +34,11 @@ describe('grant token endpoint', () => { uuid: 'myUUID', autoNetworkDetection: false, }); + + if (originalVersionFunction === null) { + originalVersionFunction = pubnub._config.getVersion; + pubnub._config.getVersion = () => 'testVersion'; + } }); describe('#grantToken', () => { @@ -44,7 +51,7 @@ describe('grant token endpoint', () => { uuid: 'myUUID', pnsdk: `PubNub-JS-Nodejs/${pubnub.getVersion()}`, timestamp: 1571360790, - signature: 'v2.CLurDTyT2OL1mMlQEUHEwfXqXvjSJ_NHTgJvgkG_5ek', + signature: 'v2.pJobOYLaDTsauQo8UZa-4Eu4JKYYRuaeyPS8IHpNN-E', }) .reply( 200, @@ -75,7 +82,7 @@ describe('grant token endpoint', () => { uuid: 'myUUID', pnsdk: `PubNub-JS-Nodejs/${pubnub.getVersion()}`, timestamp: 1571360790, - signature: 'v2.CLurDTyT2OL1mMlQEUHEwfXqXvjSJ_NHTgJvgkG_5ek', + signature: 'v2.pJobOYLaDTsauQo8UZa-4Eu4JKYYRuaeyPS8IHpNN-E', }) .reply( 200, @@ -111,7 +118,7 @@ describe('grant token endpoint', () => { uuid: 'myUUID', pnsdk: `PubNub-JS-Nodejs/${pubnub.getVersion()}`, timestamp: 1571360790, - signature: 'v2.CLurDTyT2OL1mMlQEUHEwfXqXvjSJ_NHTgJvgkG_5ek', + signature: 'v2.pJobOYLaDTsauQo8UZa-4Eu4JKYYRuaeyPS8IHpNN-E', }) .reply( 200, @@ -147,7 +154,7 @@ describe('grant token endpoint', () => { uuid: 'myUUID', pnsdk: `PubNub-JS-Nodejs/${pubnub.getVersion()}`, timestamp: 1571360790, - signature: 'v2.CLurDTyT2OL1mMlQEUHEwfXqXvjSJ_NHTgJvgkG_5ek', + signature: 'v2.pJobOYLaDTsauQo8UZa-4Eu4JKYYRuaeyPS8IHpNN-E', }) .reply( 200, @@ -183,7 +190,7 @@ describe('grant token endpoint', () => { uuid: 'myUUID', pnsdk: `PubNub-JS-Nodejs/${pubnub.getVersion()}`, timestamp: 1571360790, - signature: 'v2.CLurDTyT2OL1mMlQEUHEwfXqXvjSJ_NHTgJvgkG_5ek', + signature: 'v2.pJobOYLaDTsauQo8UZa-4Eu4JKYYRuaeyPS8IHpNN-E', }) .reply( 200, @@ -220,7 +227,7 @@ describe('grant token endpoint', () => { uuid: 'myUUID', pnsdk: `PubNub-JS-Nodejs/${pubnub.getVersion()}`, timestamp: 1571360790, - signature: 'v2.CLurDTyT2OL1mMlQEUHEwfXqXvjSJ_NHTgJvgkG_5ek', + signature: 'v2.pJobOYLaDTsauQo8UZa-4Eu4JKYYRuaeyPS8IHpNN-E', }) .reply( 200, diff --git a/test/integration/endpoints/history.test.js b/test/integration/endpoints/history.test.js index f18f9d824..37622a7fa 100644 --- a/test/integration/endpoints/history.test.js +++ b/test/integration/endpoints/history.test.js @@ -1,4 +1,4 @@ -/* global describe, beforeEach, afterEach, it, before, after */ +/* global describe, beforeEach, afterEach, it, after */ /* eslint no-console: 0 */ import assert from 'assert'; @@ -18,22 +18,21 @@ function publishMessagesToChannel(client: PubNub, count: Number, channel: String } client.publish(payload, (status, response) => { - publishCompleted++; - - if (!status.error) { - messages.push({ message: payload.message, timetoken: response.timetoken }); - messages = messages.sort((left, right) => left.timetoken - right.timetoken); - } else { - console.error('Publish did fail:', status); - } - - if (publishCompleted < count) { - publish(publishCompleted); - } else if (publishCompleted === count) { - completion(messages); - } + publishCompleted += 1; + + if (!status.error) { + messages.push({ message: payload.message, timetoken: response.timetoken }); + messages = messages.sort((left, right) => left.timetoken - right.timetoken); + } else { + console.error('Publish did fail:', status); } - ); + + if (publishCompleted < count) { + publish(publishCompleted); + } else if (publishCompleted === count) { + completion(messages); + } + }); }; publish(publishCompleted); @@ -59,8 +58,8 @@ describe('history endpoints', () => { beforeEach(() => { nock.cleanAll(); pubnub = new PubNub({ - subscribeKey: subscribeKey, - publishKey: publishKey, + subscribeKey, + publishKey, uuid: 'myUUID', }); }); diff --git a/test/integration/endpoints/message_actions.test.js b/test/integration/endpoints/message_actions.test.js index b488c90c9..2ad5ebc0e 100644 --- a/test/integration/endpoints/message_actions.test.js +++ b/test/integration/endpoints/message_actions.test.js @@ -1,10 +1,10 @@ -/* global describe, beforeEach, afterEach, it, before, after, jasmine */ +/* global describe, beforeEach, afterEach, it, after */ /* eslint no-console: 0 */ -import PubNub from '../../../src/node/index'; -import utils from "../../utils"; import assert from 'assert'; import nock from 'nock'; +import PubNub from '../../../src/node/index'; +import utils from '../../utils'; function publishMessages(client: PubNub, count: Number, channel: String, completion: Function) { @@ -17,7 +17,7 @@ function publishMessages(client: PubNub, count: Number, channel: String, complet client.publish( { message, channel }, (status, response) => { - publishCompleted++; + publishCompleted += 1; if (!status.error) { timetokens.push(response.timetoken); @@ -47,10 +47,10 @@ function addActions(client: PubNub, count: Number, messageTimetokens: Array { - actionsAdded++; + actionsAdded += 1; if (!status.error) { timetokens.push(response.data.actionTimetoken); @@ -104,8 +104,8 @@ describe('message actions endpoints', () => { beforeEach(() => { nock.cleanAll(); pubnub = new PubNub({ - subscribeKey: subscribeKey, - publishKey: publishKey, + subscribeKey, + publishKey, uuid: 'myUUID', authKey: 'myAuthKey', }); @@ -117,13 +117,13 @@ describe('message actions endpoints', () => { nock.disableNetConnect(); const scope = utils .createNock() - .post(`/v1/message-actions/${subscribeKey}/channel/test-channel/message/1234567890`) - .reply(200, {}); + .post(`/v1/message-actions/${subscribeKey}/channel/test-channel/message/1234567890`) + .reply(200, {}); pubnub.addMessageAction({ - channel: 'test-channel', - messageTimetoken: '1234567890', - }) + channel: 'test-channel', + messageTimetoken: '1234567890', + }) .catch((err) => { assert.equal(scope.isDone(), false); assert.equal(err.status.message, 'Missing Action'); @@ -135,15 +135,15 @@ describe('message actions endpoints', () => { nock.disableNetConnect(); const scope = utils .createNock() - .post(`/v1/message-actions/${subscribeKey}/channel/test-channel/message/1234567890`) - .reply(200, {}); + .post(`/v1/message-actions/${subscribeKey}/channel/test-channel/message/1234567890`) + .reply(200, {}); const action = { value: 'test value' }; pubnub.addMessageAction({ - channel: 'test-channel', - messageTimetoken: '1234567890', - action, - }) + channel: 'test-channel', + messageTimetoken: '1234567890', + action, + }) .catch((err) => { assert.equal(scope.isDone(), false); assert.equal(err.status.message, 'Missing Action.type'); @@ -155,15 +155,15 @@ describe('message actions endpoints', () => { nock.disableNetConnect(); const scope = utils .createNock() - .post(`/v1/message-actions/${subscribeKey}/channel/test-channel/message/1234567890`) - .reply(200, {}); + .post(`/v1/message-actions/${subscribeKey}/channel/test-channel/message/1234567890`) + .reply(200, {}); const action = { type: PubNub.generateUUID(), value: 'test value' }; pubnub.addMessageAction({ - channel: 'test-channel', - messageTimetoken: '1234567890', - action, - }) + channel: 'test-channel', + messageTimetoken: '1234567890', + action, + }) .catch((err) => { assert.equal(scope.isDone(), false); assert.equal(err.status.message, 'Action.type value exceed maximum length of 15'); @@ -175,15 +175,15 @@ describe('message actions endpoints', () => { nock.disableNetConnect(); const scope = utils .createNock() - .post(`/v1/message-actions/${subscribeKey}/channel/test-channel/message/1234567890`) - .reply(200, {}); + .post(`/v1/message-actions/${subscribeKey}/channel/test-channel/message/1234567890`) + .reply(200, {}); const action = { type: 'custom' }; pubnub.addMessageAction({ - channel: 'test-channel', - messageTimetoken: '1234567890', - action, - }) + channel: 'test-channel', + messageTimetoken: '1234567890', + action, + }) .catch((err) => { assert.equal(scope.isDone(), false); assert.equal(err.status.message, 'Missing Action.value'); @@ -195,14 +195,14 @@ describe('message actions endpoints', () => { nock.disableNetConnect(); const scope = utils .createNock() - .post(`/v1/message-actions/${subscribeKey}/channel/test-channel/message/`) - .reply(200, {}); + .post(`/v1/message-actions/${subscribeKey}/channel/test-channel/message/`) + .reply(200, {}); const action = { type: 'custom', value: 'test value' }; pubnub.addMessageAction({ - channel: 'test-channel', - action, - }) + channel: 'test-channel', + action, + }) .catch((err) => { assert.equal(scope.isDone(), false); assert.equal(err.status.message, 'Missing message timetoken'); @@ -214,14 +214,14 @@ describe('message actions endpoints', () => { nock.disableNetConnect(); const scope = utils .createNock() - .post(`/v1/message-actions/${subscribeKey}/channel/test-channel/message/1234567890`) - .reply(200, {}); + .post(`/v1/message-actions/${subscribeKey}/channel/test-channel/message/1234567890`) + .reply(200, {}); const action = { type: 'custom', value: 'test value' }; pubnub.addMessageAction({ - messageTimetoken: '1234567890', - action, - }) + messageTimetoken: '1234567890', + action, + }) .catch((err) => { assert.equal(scope.isDone(), false); assert.equal(err.status.message, 'Missing message channel'); @@ -235,9 +235,9 @@ describe('message actions endpoints', () => { const messageAction = { type: 'custom', value: PubNub.generateUUID() }; const channel = PubNub.generateUUID(); - publishMessages(pubnub,1, channel, (timetokens) => { + publishMessages(pubnub, 1, channel, (timetokens) => { pubnub.addMessageAction( - { channel: channel, messageTimetoken: timetokens[0], action: messageAction }, + { channel, messageTimetoken: timetokens[0], action: messageAction }, (status, response) => { assert.equal(status.error, false); assert.equal(response.data.type, messageAction.type); @@ -263,23 +263,23 @@ describe('message actions endpoints', () => { auth: 'myAuthKey' }) .reply(207, { - "status": 207, - "data": { - "type": "reaction", - "value": "smiley_face", - "uuid": "user-456", - "actionTimetoken": '15610547826970050', - "messageTimetoken": '15610547826969050' + status: 207, + data: { + type: 'reaction', + value: 'smiley_face', + uuid: 'user-456', + actionTimetoken: '15610547826970050', + messageTimetoken: '15610547826969050' }, - "error": { - "message": "Stored but failed to publish message action.", - "source": "actions" + error: { + message: 'Stored but failed to publish message action.', + source: 'actions' } }); pubnub.addMessageAction( { channel: 'test-channel', messageTimetoken: '1234567890', action: { type: 'custom', value: 'test' } }, - (status, response) => { + (status) => { assert.equal(scope.isDone(), true); assert.equal(status.statusCode, 207); assert(status.errorData.message); @@ -300,7 +300,7 @@ describe('message actions endpoints', () => { if (status.category === 'PNConnectedCategory') { pubnub.publish( { channel, message: { hello: 'test' }, sendByPost: true }, - (status, response) => { + (publishStatus, response) => { messageTimetoken = response.timetoken; pubnub.addMessageAction( @@ -337,9 +337,9 @@ describe('message actions endpoints', () => { .reply(200, {}); pubnub.removeMessageAction({ - channel: 'test-channel', - actionTimetoken: '1234567890', - }) + channel: 'test-channel', + actionTimetoken: '1234567890', + }) .catch((err) => { assert.equal(scope.isDone(), false); assert.equal(err.status.message, 'Missing message timetoken'); @@ -356,9 +356,9 @@ describe('message actions endpoints', () => { .reply(200, {}); pubnub.removeMessageAction({ - channel: 'test-channel', - messageTimetoken: '1234567890', - }) + channel: 'test-channel', + messageTimetoken: '1234567890', + }) .catch((err) => { assert.equal(scope.isDone(), false); assert.equal(err.status.message, 'Missing action timetoken'); @@ -375,9 +375,9 @@ describe('message actions endpoints', () => { .reply(200, {}); pubnub.removeMessageAction({ - messageTimetoken: '1234567890', - actionTimetoken: '12345678901', - }) + messageTimetoken: '1234567890', + actionTimetoken: '12345678901', + }) .catch((err) => { assert.equal(scope.isDone(), false); assert.equal(err.status.message, 'Missing message channel'); @@ -398,13 +398,13 @@ describe('message actions endpoints', () => { pubnub.removeMessageAction( { channel, actionTimetoken: actionTimetokens[0], messageTimetoken: messageTimetokens[0] }, - (status) => { - assert.equal(status.error, false); + (removeMessageStatus) => { + assert.equal(removeMessageStatus.error, false); setTimeout(() => { - pubnub.getMessageActions({ channel }, (status, response) => { - assert.equal(status.error, false); - assert.equal(response.data.length, 0); + pubnub.getMessageActions({ channel }, (getMessagesStatus, getMessagesResponse) => { + assert.equal(getMessagesStatus.error, false); + assert.equal(getMessagesResponse.data.length, 0); done(); }); @@ -425,9 +425,9 @@ describe('message actions endpoints', () => { status: (status) => { if (status.category === 'PNConnectedCategory') { pubnub.removeMessageAction( - {channel, actionTimetoken: actionTimetokens[0], messageTimetoken: messageTimetokens[0]}, - (status) => { - assert.equal(status.error, false); + { channel, actionTimetoken: actionTimetokens[0], messageTimetoken: messageTimetokens[0] }, + (removeMessagesStatus) => { + assert.equal(removeMessagesStatus.error, false); } ); } @@ -504,8 +504,8 @@ describe('message actions endpoints', () => { pubnub.getMessageActions({ channel, limit: halfSize }, (status, response) => { assert.equal(status.error, false); - const firstFetchedActionTimetoken = response.data[0].actionTimetoken; - const lastFetchedActionTimetoken = response.data[response.data.length - 1].actionTimetoken; + let firstFetchedActionTimetoken = response.data[0].actionTimetoken; + let lastFetchedActionTimetoken = response.data[response.data.length - 1].actionTimetoken; assert.equal(firstFetchedActionTimetoken, middlePublishedActionTimetoken); assert.equal(lastFetchedActionTimetoken, lastPublishedActionTimetoken); assert.equal(response.data.length, halfSize); @@ -514,18 +514,19 @@ describe('message actions endpoints', () => { pubnub.getMessageActions( { channel, start: middlePublishedActionTimetoken, limit: halfSize }, - (status, response) => { - assert.equal(status.error, false); - const firstFetchedActionTimetoken = response.data[0].actionTimetoken; - const lastFetchedActionTimetoken = response.data[response.data.length - 1].actionTimetoken; + (getMessageActionsStatus, getMessageActionsResponse) => { + assert.equal(getMessageActionsStatus.error, false); + firstFetchedActionTimetoken = getMessageActionsResponse.data[0].actionTimetoken; + lastFetchedActionTimetoken = getMessageActionsResponse.data[getMessageActionsResponse.data.length - 1].actionTimetoken; assert.equal(firstFetchedActionTimetoken, firstPublishedActionTimetoken); assert.equal(lastFetchedActionTimetoken, middleMinusOnePublishedActionTimetoken); - assert.equal(response.data.length, halfSize); - assert.equal(response.start, firstPublishedActionTimetoken); - assert.equal(response.end, middleMinusOnePublishedActionTimetoken); + assert.equal(getMessageActionsResponse.data.length, halfSize); + assert.equal(getMessageActionsResponse.start, firstPublishedActionTimetoken); + assert.equal(getMessageActionsResponse.end, middleMinusOnePublishedActionTimetoken); done(); - }); + } + ); }); }); });