SYMBOL INDEX (9131 symbols across 114 files) FILE: docs/documentation/snippets/example-1.c952ec6d.js function f (line 1) | function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequi... function n (line 2) | function n(r){if(null==r)throw new TypeError("Object.assign cannot be ca... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function d (line 4) | function d(e){for(var r="https://reactjs.org/docs/error-decoder.html?inv... method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function m (line 4) | function m(e,r,t){this.props=e,this.context=r,this.refs=h,this.updater=t... method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function x (line 4) | function x(){} function b (line 4) | function b(e,r,t){this.props=e,this.context=r,this.refs=h,this.updater=t... method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function g (line 4) | function g(e,r,n){var o,u={},f=null,c=null;if(null!=r)for(o in void 0!==... function w (line 4) | function w(e,r){return{$$typeof:t,type:e.type,key:r,ref:e.ref,props:e.pr... function C (line 4) | function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===t} function E (line 4) | function E(e){var r={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g... function j (line 4) | function j(e,r,t,n){if(P.length){var o=P.pop();return o.result=e,o.keyPr... function O (line 4) | function O(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,... function A (line 4) | function A(e,r,o,u){var f=typeof e;"undefined"!==f&&"boolean"!==f||(e=nu... function I (line 4) | function I(e,r,t){return null==e?0:A(e,"",r,t)} function U (line 4) | function U(e,r){return"object"==typeof e&&null!==e&&null!=e.key?E(e.key)... function q (line 4) | function q(e,r){e.func.call(e.context,r,e.count++)} function F (line 4) | function F(e,r,t){var n=e.result,o=e.keyPrefix;e=e.func.call(e.context,r... function L (line 4) | function L(e,r,t,n,o){var u="";null!=t&&(u=(""+t).replace(R,"$&/")+"/"),... function D (line 4) | function D(){var e=M.current;if(null===e)throw Error(d(321));return e} function k (line 8) | function k(e,n){var t=e.length;e.push(n);e:for(;;){var r=t-1>>>1,o=e[r];... function T (line 8) | function T(e){return void 0===(e=e[0])?null:e} function g (line 8) | function g(e){var n=e[0];if(void 0!==n){var t=e.pop();if(t!==n){e[0]=t;e... function P (line 8) | function P(e,n){var t=e.sortIndex-n.sortIndex;return 0!==t?t:e.id-n.id} function R (line 8) | function R(e){for(var n=T(I);null!==n;){if(null===n.callback)g(I);else{i... function j (line 8) | function j(t){if(D=!1,R(t),!q)if(null!==T(F))q=!0,e(E);else{var r=T(I);n... function E (line 8) | function E(e,o){q=!1,D&&(D=!1,t()),L=!0;var a=A;try{for(R(o),C=T(F);null... function N (line 8) | function N(e){switch(e){case 1:return-1;case 2:return 250;case 5:return ... function r (line 12) | function r(e){for(var t="https://reactjs.org/docs/error-decoder.html?inv... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function l (line 12) | function l(e,t,n,r,l,i,a,o,u){var c=Array.prototype.slice.call(arguments... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;rt.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function y (line 12) | function y(){if(g)for(var e in v){var t=v[e],n=g.indexOf(e);if(!(-10} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function E (line 12) | function E(e){var t,n=!1;for(t in e)if(e.hasOwnProperty(t)){var l=e[t];i... function N (line 12) | function N(e){if(e=p(e)){if("function"!=typeof C)throw Error(r(280));var... function z (line 12) | function z(e){P?_?_.push(e):_=[e]:P=e} function M (line 12) | function M(){if(P){var e=P,t=_;if(_=P=null,N(e),t)for(e=0;e{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function hr (line 12) | function hr(e,t){switch(e){case"keyup":return-1!==or.indexOf(t.keyCode);... function gr (line 12) | function gr(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null} function yr (line 12) | function yr(e,t){switch(e){case"compositionend":return gr(t);case"keypre... function br (line 12) | function br(e,t){if(vr)return"compositionend"===e||!ur&&hr(e,t)?(e=Zn(),... function xr (line 12) | function xr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"inpu... function Er (line 12) | function Er(e,t,n){return(e=tr.getPooled(Tr.change,e,t,n)).type="change"... function Pr (line 12) | function Pr(e){ft(e)} function _r (line 12) | function _r(e){if(Ee(Vn(e)))return e} function Nr (line 12) | function Nr(e,t){if("change"===e)return t} method constructor (line 49) | constructor(e){super(),Je(this,e,Dr,Mr,d,{client:0,clientManager:2,Tog... function Mr (line 12) | function Mr(){Sr&&(Sr.detachEvent("onpropertychange",Ir),Cr=Sr=null)} function Ir (line 12) | function Ir(e){if("value"===e.propertyName&&_r(Cr))if(e=Er(Cr,e,dt(e)),D... function Fr (line 12) | function Fr(e,t,n){"focus"===e?(Mr(),Cr=n,(Sr=t).attachEvent("onproperty... method constructor (line 49) | constructor(e){super(),Je(this,e,Lr,Jr,d,{phase:0,numEvents:2},Gr)} function Or (line 12) | function Or(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)retu... function Rr (line 12) | function Rr(e,t){if("click"===e)return _r(t)} function Dr (line 12) | function Dr(e,t){if("input"===e||"change"===e)return _r(t)} function Vr (line 12) | function Vr(e){var t=this.nativeEvent;return t.getModifierState?t.getMod... function Qr (line 12) | function Qr(){return Vr} function Xr (line 12) | function Xr(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t} function Jr (line 12) | function Jr(e,t){if(Gr(e,t))return!0;if("object"!=typeof e||null===e||"o... function al (line 12) | function al(e,t){var n=t.window===t?t.document:9===t.nodeType?t:t.ownerD... function fl (line 12) | function fl(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&... function Tl (line 12) | function Tl(e){0>xl||(e.current=kl[xl],kl[xl]=null,xl--)} function El (line 12) | function El(e,t){kl[++xl]=e.current,e.current=t} function Nl (line 12) | function Nl(e,t){var n=e.type.contextTypes;if(!n)return Sl;var r=e.state... function zl (line 12) | function zl(e){return null!=(e=e.childContextTypes)} function Ml (line 12) | function Ml(){Tl(Pl),Tl(Cl)} function Il (line 12) | function Il(e,t,n){if(Cl.current!==Sl)throw Error(r(168));El(Cl,t),El(Pl... function Fl (line 12) | function Fl(e,n,l){var i=e.stateNode;if(e=n.childContextTypes,"function"... function Ol (line 12) | function Ol(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMerged... function Rl (line 12) | function Rl(e,t,n){var l=e.stateNode;if(!l)throw Error(r(169));n?(e=Fl(e... function ti (line 12) | function ti(){switch(Ql()){case Wl:return 99;case Hl:return 98;case jl:r... function ni (line 12) | function ni(e){switch(e){case 99:return Wl;case 98:return Hl;case 97:ret... function ri (line 12) | function ri(e,t){return e=ni(e),Dl(e,t)} function li (line 12) | function li(e,t,n){return e=ni(e),Ll(e,t,n)} function ii (line 12) | function ii(e){return null===Xl?(Xl=[e],Gl=Ll(Wl,oi)):Xl.push(e),$l} function ai (line 12) | function ai(){if(null!==Gl){var e=Gl;Gl=null,Ul(e)}oi()} function oi (line 12) | function oi(){if(!Zl&&null!==Xl){Zl=!0;var e=0;try{var t=Xl;ri(99,functi... function ui (line 12) | function ui(e,t,n){return 1073741821-(1+((1073741821-e+t/10)/(n/=10)|0))*n} function ci (line 12) | function ci(e,n){if(e&&e.defaultProps)for(var r in n=t({},n),e=e.default... function mi (line 12) | function mi(){pi=di=fi=null} function hi (line 12) | function hi(e){var t=si.current;Tl(si),e.type._context._currentValue=t} function gi (line 12) | function gi(e,t){for(;null!==e;){var n=e.alternate;if(e.childExpirationT... function vi (line 12) | function vi(e,t){fi=e,pi=di=null,null!==(e=e.dependencies)&&null!==e.fir... function yi (line 12) | function yi(e,t){if(pi!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741... function wi (line 12) | function wi(e){e.updateQueue={baseState:e.memoizedState,baseQueue:null,s... function ki (line 12) | function ki(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={base... function xi (line 12) | function xi(e,t){return(e={expirationTime:e,suspenseConfig:t,tag:0,paylo... function Ti (line 12) | function Ti(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending... function Ei (line 12) | function Ei(e,t){var n=e.alternate;null!==n&&ki(n,e),null===(n=(e=e.upda... function Si (line 12) | function Si(e,n,r,l){var i=e.updateQueue;bi=!1;var a=i.baseQueue,o=i.sha... function Ci (line 12) | function Ci(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;tr?98:r,function(){e(!0)}),ri(97lu&&(lu=e)} function Ru (line 12) | function Ru(){for(;null!==Go;)Go=Lu(Go)} function Du (line 12) | function Du(){for(;null!==Go&&!ql();)Go=Lu(Go)} function Lu (line 12) | function Lu(e){var t=Ro(e.alternate,e,Zo);return e.memoizedProps=e.pendi... function Uu (line 12) | function Uu(e){Go=e;do{var t=Go.alternate;if(e=Go.return,0==(2048&Go.eff... function Au (line 12) | function Au(e){var t=e.expirationTime;return t>(e=e.childExpirationTime)... function Vu (line 12) | function Vu(e){var t=ti();return ri(99,Qu.bind(null,e,t)),null} function Qu (line 12) | function Qu(e,t){do{Hu()}while(null!==pu);if((Yo&(Qo|Wo))!==Ao)throw Err... function Wu (line 12) | function Wu(){for(;null!==uu;){var e=uu.effectTag;0!=(256&e)&&bo(uu.alte... function Hu (line 12) | function Hu(){if(90!==mu){var e=97e.firstPendingTime&&(e.firstPendingTime=t);var n=e.fi... function fc (line 12) | function fc(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTim... function dc (line 12) | function dc(e,t,n,l){var i=t.current,a=bu(),o=Pi.suspense;a=wu(a,i,o);e:... function pc (line 12) | function pc(e){if(!(e=e.current).child)return null;switch(e.child.tag){c... function mc (line 12) | function mc(e,t){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retr... function hc (line 12) | function hc(e,t){mc(e,t),(e=e.alternate)&&mc(e,t)} function gc (line 12) | function gc(e,t,n){var r=new oc(e,t,n=null!=n&&!0===n.hydrate),l=Ju(3,nu... function vc (line 12) | function vc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeTy... function yc (line 12) | function yc(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.fir... function bc (line 12) | function bc(e,t,n,r,l){var i=n._reactRootContainer;if(i){var a=i._intern... function wc (line 12) | function wc(e,t,n){var r=31?t-1:0),n=1;ne()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 18) | function n(r){return t(r)||e(23,r),r[Q].t} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function i (line 18) | function i(e){var t=e[Q];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:s(e... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function a (line 18) | function a(e,t){return 2===i(e)?e.has(t):Object.prototype.hasOwnProperty... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function u (line 18) | function u(e,t){return 2===i(e)?e.get(t):e[t]} method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function c (line 18) | function c(e,t,r){var n=i(e);2===n?e.set(t,r):3===n?(e.delete(t),e.add(r... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function f (line 18) | function f(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t} function s (line 18) | function s(e){return X&&e instanceof Map} method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function l (line 18) | function l(e){return q&&e instanceof Set} method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function h (line 18) | function h(e){if(Array.isArray(e))return Array.prototype.slice.call(e);v... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function v (line 18) | function v(e,n){return void 0===n&&(n=!1),y(e)||t(e)||!r(e)?e:(i(e)>1&&(... function d (line 18) | function d(){e(2)} method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function y (line 18) | function y(e){return null==e||"object"!=typeof e||Object.isFrozen(e)} method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function b (line 18) | function b(t){var r=re[t];return r||e(18,t),r} method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function g (line 18) | function g(e,t){re[e]||(re[e]=t)} function m (line 18) | function m(){return J} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function P (line 18) | function P(e,t){t&&(b("Patches"),e.u=[],e.s=[],e.v=t)} function O (line 18) | function O(e){x(e),e.p.forEach(j),e.p=null} function x (line 18) | function x(e){e===J&&(J=e.l)} function w (line 18) | function w(e){return J={p:[],l:J,h:e,m:!0,_:0}} function j (line 18) | function j(e){var t=e[Q];0===t.i||1===t.i?t.j():t.O=!0} function A (line 18) | function A(t,n){n._=n.p.length;var o=n.p[0],i=void 0!==t&&t!==o;return n... function D (line 18) | function D(e,t,r){if(y(t))return t;var n=t[Q];if(!n)return o(t,function(... function S (line 18) | function S(e,n,o,i,u,f){if(t(u)){var s=D(e,u,f&&n&&3!==n.i&&!a(n.D,i)?f.... function _ (line 18) | function _(e,t,r){void 0===r&&(r=!1),e.h.F&&e.m&&v(t,r)} function k (line 18) | function k(e,t){var r=e[Q];return(r?p(r):e)[t]} function I (line 18) | function I(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var n=O... function z (line 18) | function z(e){e.P||(e.P=!0,e.l&&z(e.l))} function E (line 18) | function E(e){e.o||(e.o=h(e.t))} function M (line 18) | function M(e,t,r){var n=s(t)?b("MapSet").N(t,r):l(t)?b("MapSet").T(t,r):... function F (line 18) | function F(n){return t(n)||e(22,n),function e(t){if(!r(t))return t;var n... function R (line 18) | function R(e,t){switch(t){case 2:return new Map(e);case 3:return Array.f... function C (line 18) | function C(){function e(e,t){var r=u[e];return r?r.enumerable=t:u[e]=r={... function T (line 18) | function T(){function n(e){if(!r(e))return e;if(Array.isArray(e))return ... function K (line 18) | function K(){function t(e,t){function r(){this.constructor=e}u(e,t),e.pr... function U (line 18) | function U(){C(),K(),T()} function W (line 18) | function W(e){return e} function N (line 18) | function N(e){return e} function n (line 18) | function n(t){var n=this;this.g=B,this.F=!0,this.produce=function(t,o,i)... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class n (line 20) | class n{constructor(t){this.state=t||{seed:"0"},this.used=!1}static seed... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function a (line 22) | function a(t){return!!t&&"object"==typeof t} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function p (line 22) | function p(r){if(!a(r)||i.call(r)!=t||n(r))return!1;var o=l(r);if(null==... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function a (line 24) | function a(e){return e&&e.__esModule?e:{default:e}} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class b (line 24) | class b{constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],... method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function U (line 24) | function U(e){if(null==e||"boolean"==typeof e||"number"==typeof e||"stri... function C (line 24) | function C(e){L(`INFO: ${e}`)} function B (line 24) | function B(e){w("ERROR:",e)} function X (line 24) | function X(e,t=!1){e.moveLimit&&(t&&(e.minMoves=e.moveLimit),e.maxMoves=... function Z (line 24) | function Z(e,t){let r={},a=[],n=null,s={},o={};if(Array.isArray(t)){cons... function ee (line 24) | function ee(e){let{activePlayers:t,_activePlayersMinMoves:r,_activePlaye... function te (line 24) | function te(e,t,r,a,n){"object"==typeof n&&n!==oe.NULL||(n={stage:n}),vo... function re (line 24) | function re(e,t){return e[t]+""} function ae (line 24) | function ae(e,t){let{G:r,ctx:a}=e;const{numPlayers:n}=a,s=V(e),o=t.order... function ne (line 24) | function ne(e,t,r,a){const n=r.order;let{G:s,ctx:o}=e,i=o.playOrderPos,l... function t (line 26) | function t(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")} method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function e (line 26) | function e(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")} function n (line 26) | function n(t){void 0===t&&(t=[""]),this.tokens=t} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function e (line 28) | function e(r){return null!=r&&"object"==typeof r} function t (line 28) | function t(r){if(!e(r))return r;if(r.constructor==Array){for(var o=r.len... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function t (line 30) | function t(r){var e=r.op;return"remove"===e||"replace"===e||"copy"===e||... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function o (line 30) | function o(r,t){var o={};for(var n in r)e.hasOwnProperty.call(r,n)&&void... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function n (line 30) | function n(r){for(var t=r.length,o={},n=0;n{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function a (line 30) | function a(r){return"remove"===r.op} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function p (line 30) | function p(r,e){return{operations:r.operations.concat(e),cost:r.cost+1}} method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function c (line 30) | function c(e,t,o,n){void 0===n&&(n=s);var c={"0,0":{operations:[],cost:0... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function u (line 30) | function u(r,e,t,i){void 0===i&&(i=s);var a=[];return o(r,e).forEach(fun... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function s (line 30) | function s(r,t,o,n){if(void 0===n&&(n=s),r===t)return[];var i=e.objectTy... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function n (line 32) | function n(){this.constructor=e} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function u (line 32) | function u(r,e){if(Array.isArray(r)){var t=parseInt(e,10);r.splice(t,1)}... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function p (line 32) | function p(r,n){var a=e.Pointer.fromJSON(n.path).evaluate(r);return void... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function l (line 32) | function l(r,t){var n=e.Pointer.fromJSON(t.path).evaluate(r);return void... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;rthis.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function f (line 32) | function f(r,t){var o=e.Pointer.fromJSON(t.path).evaluate(r);return n.di... function t (line 32) | function t(r){var t=e.call(this,"Invalid operation: "+r.op)||this;return... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function y (line 32) | function y(r,e){switch(e.op){case"add":return p(r,e);case"remove":return... method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function n (line 34) | function n(r,t){return t.map(function(t){return e.apply(r,t)})} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function i (line 34) | function i(e,n,i){var o=new r.Pointer;return(i?a(i):t.diffAny)(e,n,o)} method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function o (line 34) | function o(e,t){var n=r.Pointer.fromJSON(t).evaluate(e);if(void 0!==n)re... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function u (line 34) | function u(r,e){var n=new Array;return e.filter(t.isDestructive).forEach... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function r (line 36) | function r({moves:e,phases:t,endIf:a,onEnd:r,turn:o,events:s,plugins:i})... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 36) | function o(e){return void 0!==e.processMove} method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function s (line 36) | function s(e){if(o(e))return e;if(void 0===e.name&&(e.name="default"),vo... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function i (line 36) | function i(e){return e instanceof Object&&void 0!==e.move} method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function l (line 36) | function l(e,t){if(t.game.disableUndo)return e;const n={G:e.G,ctx:e.ctx,... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function v (line 36) | function v(e){if(!e)return[null,void 0];const{transients:t,...n}=e;retur... function f (line 36) | function f(e,t,n){return{...e,transients:{error:{type:t,payload:n}}}} function g (line 36) | function g({game:r,isClient:o}){return r=s(r),(s=null,i)=>{let[y]=v(s);s... function x (line 38) | function x(t,e){if(y)return y=!y,e;const s=r.call(this,t,e);switch(typeo... function r (line 41) | function r(){throw new Error("setTimeout has not been defined")} method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 41) | function o(){throw new Error("clearTimeout has not been defined")} method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function i (line 41) | function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&s... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function u (line 41) | function u(t){if(e===clearTimeout)return clearTimeout(t);if((e===o||!e)&... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function f (line 41) | function f(){l&&c&&(l=!1,c.length?s=c.concat(s):a=-1,s.length&&h())} function h (line 41) | function h(){if(!l){var t=i(f);l=!0;for(var e=s.length;e;){for(c=s,s=[];... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function m (line 41) | function m(t,e){this.fun=t,this.array=e} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function p (line 41) | function p(){} method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function g (line 45) | function g(e){delete f[e]} function m (line 45) | function m(e){if(u)setTimeout(m,0,e);else{var t=f[e];if(t){u=!0;try{!fun... method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... class a (line 47) | class a{constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class i (line 47) | class i extends a{constructor({enumerate:t,seed:e,objectives:a,game:s,it... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... class n (line 47) | class n extends a{play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);retu... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function c (line 47) | async function c({game:t,bots:e,state:s,depth:i}){void 0===i&&(i=1e4);co... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function l (line 49) | function l(){} method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function s (line 49) | function s(e){return e()} method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function i (line 49) | function i(){return Object.create(null)} method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function c (line 49) | function c(e){e.forEach(s)} method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function u (line 49) | function u(e){return"function"==typeof e} method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function d (line 49) | function d(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function... method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function f (line 49) | function f(e){return 0===Object.keys(e).length} function p (line 49) | function p(e,...t){if(null==e)return l;const n=e.subscribe(...t);return ... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function m (line 49) | function m(e,t,n){e.$$.on_destroy.push(p(t,n))} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function g (line 49) | function g(e,t,n,r){if(e){const l=v(e,t,n,r);return e[0](l)}} function v (line 49) | function v(e,t,n,r){return e[1]&&r?a(n.ctx.slice(),e[1](r(t))):n.ctx} function $ (line 49) | function $(e,t,n,r){if(e[2]&&r){const l=e[2](r(n));if(void 0===t.dirty)r... function y (line 49) | function y(e,t,n,r,l,o){if(l){const a=v(t,n,r,o);e.p(a,l)}} method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function h (line 49) | function h(e){if(e.ctx.length>32){const t=[],n=e.ctx.length/32;for(let e... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function b (line 49) | function b(e){const t={};for(const n in e)"$"!==n[0]&&(t[n]=e[n]);return t} method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function x (line 49) | function x(e){return null==e?"":e} function E (line 49) | function E(e){j.forEach(t=>{t.c(e)||(j.delete(t),t.f())}),0!==j.size&&P(E)} function O (line 49) | function O(e){let t;return 0===j.size&&P(E),{promise:new Promise(n=>{j.a... function A (line 49) | function A(e,t){e.appendChild(t)} function z (line 49) | function z(e,t,n){const r=_(e);if(!r.getElementById(t)){const e=M("style... function _ (line 49) | function _(e){if(!e)return document;const t=e.getRootNode?e.getRootNode(... function S (line 49) | function S(e){const t=M("style");return C(_(e),t),t} function C (line 49) | function C(e,t){A(e.head||e,t)} function q (line 49) | function q(e,t,n){e.insertBefore(t,n||null)} function I (line 49) | function I(e){e.parentNode.removeChild(e)} function T (line 49) | function T(e,t){for(let n=0;ne.removeEventLi... function K (line 49) | function K(e){return function(t){return t.stopPropagation(),e.call(this,... function G (line 49) | function G(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.... function J (line 49) | function J(e){return""===e?null:+e} function L (line 49) | function L(e){return Array.from(e.childNodes)} function F (line 49) | function F(e,t){t=""+t,e.wholeText!==t&&(e.data=t)} function H (line 49) | function H(e,t){e.value=null==t?"":t} function Z (line 49) | function Z(e,t){for(let n=0;n{ee||(Y.forEach(e=>{const t=e.__svelte_stylesheet;le... function oe (line 49) | function oe(e){Q=e} function ae (line 49) | function ae(){if(!Q)throw new Error("Function called outside component i... function se (line 49) | function se(e){ae().$$.after_update.push(e)} function ie (line 49) | function ie(e){ae().$$.on_destroy.push(e)} function ce (line 49) | function ce(){const e=ae();return(t,n)=>{const r=e.$$.callbacks[t];if(r)... function ue (line 49) | function ue(e,t){ae().$$.context.set(e,t)} function de (line 49) | function de(e){return ae().$$.context.get(e)} function fe (line 49) | function fe(e,t){const n=e.$$.callbacks[t.type];n&&n.slice().forEach(e=>... function he (line 49) | function he(){ye||(ye=!0,$e.then(ke))} function be (line 49) | function be(e){ge.push(e)} function ke (line 49) | function ke(){if(!xe){xe=!0;do{for(let e=0;e{je=null}),je} function Oe (line 49) | function Oe(e,t,n){e.dispatchEvent(X(`${t?"intro":"outro"}${n}`))} function _e (line 49) | function _e(){ze={r:0,c:[],p:ze}} function Se (line 49) | function Se(){ze.r||c(ze.c),ze=ze.p} function Ce (line 49) | function Ce(e,t){e&&e.i&&(Ae.delete(e),e.i(t))} function qe (line 49) | function qe(e,t,n,r){if(e&&e.o){if(Ae.has(e))return;Ae.add(e),ze.c.push(... function Te (line 49) | function Te(e,t,n){let r,a,s=t(e,n),i=!1,c=0;function d(){r&&re(e,r)}fun... function Me (line 49) | function Me(e,t,n){let r,a=t(e,n),s=!0;const i=ze;function d(){const{del... function De (line 49) | function De(e,t,n,r){let a=t(e,n),s=r?0:1,i=null,d=null,f=null;function ... function Ne (line 49) | function Ne(e,t){const n={},r={},l={$$scope:1};let o=e.length;for(;o--;)... function Ve (line 49) | function Ve(e){return"object"==typeof e&&null!==e?e:{}} function Be (line 49) | function Be(e){e&&e.c()} function Re (line 49) | function Re(e,t,n,r){const{fragment:l,on_mount:o,on_destroy:a,after_upda... function Ke (line 49) | function Ke(e,t){const n=e.$$;null!==n.fragment&&(c(n.on_destroy),n.frag... function Ge (line 49) | function Ge(e,t){-1===e.$$.dirty[0]&&(pe.push(e),he(),e.$$.dirty.fill(0)... function Je (line 49) | function Je(e,t,n,r,o,a,s,u=[-1]){const d=Q;oe(e);const f=e.$$={fragment... class Le (line 49) | class Le{$destroy(){Ke(this,1),this.$destroy=l}$on(e,t){const n=this.$$.... method $destroy (line 49) | $destroy(){Ke(this,1),this.$destroy=l} method $on (line 49) | $on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);retur... method $set (line 49) | $set(e){this.$$set&&!f(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$... function He (line 49) | function He(e,t=l){let n;const r=new Set;function o(t){if(d(e,t)&&(e=t,n... function Ze (line 49) | function Ze(e){const t=e-1;return t*t*t+1} function Ue (line 49) | function Ue(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty... function We (line 49) | function We(e,{delay:t=0,duration:n=400,easing:r=Ze,x:l=0,y:o=0,opacity:... function Xe (line 49) | function Xe(e){var{fallback:t}=e,n=Ue(e,["fallback"]);const r=new Map,l=... function Ye (line 49) | function Ye(e){z(e,"svelte-c8tyih","svg.svelte-c8tyih{stroke:currentColo... function Qe (line 49) | function Qe(e){let t,n;return{c(){t=D("title"),n=N(e[0])},m(e,r){q(e,t,r... function et (line 49) | function et(e){let t,n,r,l=e[0]&&Qe(e);const o=e[3].default,a=g(o,e,e[2]... function tt (line 49) | function tt(e,t,n){let{$$slots:r={},$$scope:l}=t,{title:o=null}=t,{viewB... class nt (line 49) | class nt extends Le{constructor(e){super(),Je(this,e,tt,et,d,{title:0,vi... method constructor (line 49) | constructor(e){super(),Je(this,e,tt,et,d,{title:0,viewBox:1},Ye)} function rt (line 49) | function rt(e){let t;return{c(){G(t=D("path"),"d","M285.476 272.971L91.1... function lt (line 49) | function lt(e){let t,n;const r=[{viewBox:"0 0 320 512"},e[0]];let l={$$s... function ot (line 49) | function ot(e,t,n){return e.$$set=(e=>{n(0,t=a(a({},t),b(e)))}),[t=b(t)]} class at (line 49) | class at extends Le{constructor(e){super(),Je(this,e,ot,lt,d,{})}} method constructor (line 49) | constructor(e){super(),Je(this,e,ot,lt,d,{})} function st (line 49) | function st(e){z(e,"svelte-1xg9v5h",".menu.svelte-1xg9v5h{display:flex;m... function it (line 49) | function it(e,t,n){const r=e.slice();return r[4]=t[n][0],r[5]=t[n][1].la... function ct (line 49) | function ct(e){let t,n,r,l,o,a=e[5]+"";function s(){return e[3](e[4])}re... function ut (line 49) | function ut(e){let t,n=Object.entries(e[1]),r=[];for(let l=0;l{"expanded"in e&... class $t (line 49) | class $t extends Le{constructor(e){super(),Je(this,e,vt,gt,d,{expanded:0... method constructor (line 49) | constructor(e){super(),Je(this,e,vt,gt,d,{expanded:0},mt)} function yt (line 49) | function yt(e){z(e,"svelte-1vlbacg","label.svelte-1vlbacg{display:inline... function ht (line 49) | function ht(e){let t,n,r,l,o,a;return{c(){t=M("label"),n=M("span"),r=N(e... function bt (line 49) | function bt(e){let t,n=e[3]&&e[0]&&ht(e);return{c(){n&&n.c(),t=B()},m(e,... function xt (line 49) | function xt(e,t,n){let r,{key:l,isParentExpanded:o,isParentArray:a=!1,co... class wt (line 49) | class wt extends Le{constructor(e){super(),Je(this,e,xt,bt,d,{key:0,isPa... method constructor (line 49) | constructor(e){super(),Je(this,e,xt,bt,d,{key:0,isParentExpanded:1,isP... function kt (line 49) | function kt(e){z(e,"svelte-rwxv37","label.svelte-rwxv37{display:inline-b... function Pt (line 49) | function Pt(e,t,n){const r=e.slice();return r[12]=t[n],r[20]=n,r} function jt (line 49) | function jt(e){let t,n;return(t=new $t({props:{expanded:e[0]}})).$on("cl... function Et (line 49) | function Et(e){let t;return{c(){(t=M("span")).textContent="…"},m(e,n){q(... function Ot (line 49) | function Ot(e){let t,n,r,l,o,a=e[13],s=[];for(let u=0;u... class xn (line 49) | class xn extends Le{constructor(e){super(),Je(this,e,bn,hn,d,{key:0,valu... method constructor (line 49) | constructor(e){super(),Je(this,e,bn,hn,d,{key:0,value:1},yn)} function wn (line 49) | function wn(e){z(e,"svelte-jvfq3i",".svelte-jvfq3i{box-sizing:border-box... function kn (line 49) | function kn(e,t,n){const r=e.slice();return r[7]=t[n],r[9]=n,r} function Pn (line 49) | function Pn(e){let t,n,r,l,o,a,s=e[1],i=[];for(let c=0;c1&&Pn(e);return{c(){n&&n.c(),t=B()},m... function An (line 49) | function An(e,t,n){let r,o,a,s,i=l,c=()=>(i(),i=p(u,e=>n(5,s=e)),u);e.$$... class zn (line 49) | class zn extends Le{constructor(e){super(),Je(this,e,An,En,d,{clientMana... method constructor (line 49) | constructor(e){super(),Je(this,e,An,En,d,{clientManager:0},wn)} function _n (line 49) | function _n(e){z(e,"svelte-1vfj1mn",".key.svelte-1vfj1mn.svelte-1vfj1mn{... function Sn (line 49) | function Sn(e){let t,n,r,l,o,a=`(shortcut: ${e[0]})`+"";return{c(){t=M("... function Cn (line 49) | function Cn(e){let t,n,r,o,a,s,i=e[1]&&Sn(e);return{c(){t=M("div"),n=M("... function qn (line 49) | function qn(e,t,n){let r,{value:l}=t,{onPress:o=null}=t,{label:a=null}=t... class In (line 49) | class In extends Le{constructor(e){super(),Je(this,e,qn,Cn,d,{value:0,on... method constructor (line 49) | constructor(e){super(),Je(this,e,qn,Cn,d,{value:0,onPress:8,label:1,di... function Tn (line 49) | function Tn(e){z(e,"svelte-1mppqmp",".move.svelte-1mppqmp{display:flex;f... function Mn (line 49) | function Mn(e){let t,n,r,o,a,s,i,d,f,p,m;return{c(){t=M("div"),n=M("span... function Nn (line 49) | function Nn(e,t,n){let r,{Activate:l}=t,{Deactivate:o}=t,{name:a}=t,{act... class Vn (line 49) | class Vn extends Le{constructor(e){super(),Je(this,e,Nn,Mn,d,{Activate:0... method constructor (line 49) | constructor(e){super(),Je(this,e,Nn,Mn,d,{Activate:0,Deactivate:1,name... function Bn (line 49) | function Bn(e){z(e,"svelte-smqssc",".move-error.svelte-smqssc{color:#a00... function Rn (line 49) | function Rn(e){let t,n;return{c(){t=M("span"),n=N(e[2]),G(t,"class","mov... function Kn (line 49) | function Kn(e){let t,n,r,l,o,a,s;r=new In({props:{value:e[0],onPress:e[4... function Gn (line 49) | function Gn(t,n,r){let{shortcut:l}=n,{name:o}=n,{fn:a}=n;const{disableHo... class Jn (line 49) | class Jn extends Le{constructor(e){super(),Je(this,e,Gn,Kn,d,{shortcut:0... method constructor (line 49) | constructor(e){super(),Je(this,e,Gn,Kn,d,{shortcut:0,name:1,fn:8},Bn)} function Ln (line 49) | function Ln(e){z(e,"svelte-c3lavh","ul.svelte-c3lavh{padding-left:0}li.s... function Fn (line 49) | function Fn(e){let t,n,r,l,o,a,s,i,c,u,d,f,p;return r=new In({props:{val... function Hn (line 49) | function Hn(t,r,l){let{client:o}=r,{ToggleVisibility:a}=r;return t.$$set... class Zn (line 49) | class Zn extends Le{constructor(e){super(),Je(this,e,Hn,Fn,d,{client:0,T... method constructor (line 49) | constructor(e){super(),Je(this,e,Hn,Fn,d,{client:0,ToggleVisibility:1}... function Un (line 49) | function Un(e){z(e,"svelte-19aan9p",".player-box.svelte-19aan9p{display:... function Wn (line 49) | function Wn(e,t,n){const r=e.slice();return r[7]=t[n],r} function Xn (line 49) | function Xn(e){let t,n,r,l,o,a,s=e[7]+"";function i(){return e[5](e[7])}... function Yn (line 49) | function Yn(e){let t,n=e[2],r=[];for(let l=0;le.length)&&(t=e.length);for(var n=0,r=new A... function yr (line 49) | function yr(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e... function hr (line 49) | function hr(e,t){var n,r={},l={},o=yr(t);try{for(o.s();!(n=o.n()).done;)... function br (line 49) | function br(e){z(e,"svelte-146sq5f",".tree.svelte-146sq5f{--json-tree-fo... function xr (line 49) | function xr(e,t,n){const r=e.slice();return r[10]=t[n][0],r[11]=t[n][1],r} function wr (line 49) | function wr(e){let t,n,r,l;return n=new Jn({props:{shortcut:e[8][e[10]],... function kr (line 49) | function kr(e){let t,n,r;return n=new Jn({props:{name:"endStage",shortcu... function Pr (line 49) | function Pr(e){let t,n,r;return n=new Jn({props:{name:"endTurn",shortcut... function jr (line 49) | function jr(e){let t,n,r;return n=new Jn({props:{name:"endPhase",shortcu... function Er (line 49) | function Er(e){let t,n,r,l,o,a,s,i,c,u,d,f,p,m,g,v,$,y,h,b,x,w,k,P,j,E,O... function Or (line 49) | function Or(e){let t={};for(const n in e)n.startsWith("_")||(t[n]=e[n]);... function Ar (line 49) | function Ar(e,t,n){let{client:r}=t,{clientManager:l}=t,{ToggleVisibility... class zr (line 49) | class zr extends Le{constructor(e){super(),Je(this,e,Ar,Er,d,{client:0,c... method constructor (line 49) | constructor(e){super(),Je(this,e,Ar,Er,d,{client:0,clientManager:1,Tog... function _r (line 49) | function _r(e){z(e,"svelte-13qih23",".item.svelte-13qih23.svelte-13qih23... function Sr (line 49) | function Sr(e){let t,n,r,o,a,s,i=JSON.stringify(e[1])+"";return{c(){t=M(... function Cr (line 49) | function Cr(e,t,n){let{name:r}=t,{value:l}=t;return e.$$set=(e=>{"name"i... class qr (line 49) | class qr extends Le{constructor(e){super(),Je(this,e,Cr,Sr,d,{name:0,val... method constructor (line 49) | constructor(e){super(),Je(this,e,Cr,Sr,d,{name:0,value:1},_r)} function Ir (line 49) | function Ir(e){z(e,"svelte-1yzq5o8",".gameinfo.svelte-1yzq5o8{padding:10... function Tr (line 49) | function Tr(e){let t,n;return t=new qr({props:{name:"isConnected",value:... function Mr (line 49) | function Mr(e){let t,n,r,l,o,a,s,i;n=new qr({props:{name:"matchID",value... function Dr (line 49) | function Dr(e,t,n){let r,o=l,a=()=>(o(),o=p(s,e=>n(1,r=e)),s);e.$$.on_de... class Nr (line 49) | class Nr extends Le{constructor(e){super(),Je(this,e,Dr,Mr,d,{client:0,c... method constructor (line 49) | constructor(e){super(),Je(this,e,Dr,Mr,d,{client:0,clientManager:2,Tog... function Vr (line 49) | function Vr(e){z(e,"svelte-6eza86",".turn-marker.svelte-6eza86{display:f... function Br (line 49) | function Br(e){let t,n;return{c(){t=M("div"),n=N(e[0]),G(t,"class","turn... function Rr (line 49) | function Rr(e,t,n){let{turn:r}=t,{numEvents:l}=t;const o=`grid-row: span... class Kr (line 49) | class Kr extends Le{constructor(e){super(),Je(this,e,Rr,Br,d,{turn:0,num... method constructor (line 49) | constructor(e){super(),Je(this,e,Rr,Br,d,{turn:0,numEvents:2},Vr)} function Gr (line 49) | function Gr(e){z(e,"svelte-1t4xap",".phase-marker.svelte-1t4xap{grid-col... function Jr (line 49) | function Jr(e){let t,n,r=(e[0]||"")+"";return{c(){t=M("div"),n=N(r),G(t,... function Lr (line 49) | function Lr(e,t,n){let{phase:r}=t,{numEvents:l}=t;const o=`grid-row: spa... class Fr (line 49) | class Fr extends Le{constructor(e){super(),Je(this,e,Lr,Jr,d,{phase:0,nu... method constructor (line 49) | constructor(e){super(),Je(this,e,Lr,Jr,d,{phase:0,numEvents:2},Gr)} function Hr (line 49) | function Hr(e){let t;return{c(){(t=M("div")).textContent=`${e[0]}`},m(e,... function Zr (line 49) | function Zr(e,t,n){let{metadata:r}=t;const l=void 0!==r?JSON.stringify(r... class Ur (line 49) | class Ur extends Le{constructor(e){super(),Je(this,e,Zr,Hr,d,{metadata:1... method constructor (line 49) | constructor(e){super(),Je(this,e,Zr,Hr,d,{metadata:1})} function Wr (line 49) | function Wr(e){z(e,"svelte-vajd9z",".log-event.svelte-vajd9z{grid-column... function Xr (line 49) | function Xr(e){let t,n;return t=new Ur({props:{metadata:e[2]}}),{c(){Be(... function Yr (line 49) | function Yr(e){let t,n,r;var l=e[3];function o(e){return{props:{metadata... function Qr (line 49) | function Qr(e){let t,n,r,l,o,a,s,i,u,d,f,p,m;const g=[Yr,Xr],v=[];functi... function el (line 49) | function el(e,t,n){let{logIndex:r}=t,{action:l}=t,{pinned:o}=t,{metadata... class tl (line 49) | class tl extends Le{constructor(e){super(),Je(this,e,el,Qr,d,{logIndex:0... method constructor (line 49) | constructor(e){super(),Je(this,e,el,Qr,d,{logIndex:0,action:8,pinned:1... function nl (line 49) | function nl(e){let t;return{c(){G(t=D("path"),"d","M504 256c0 137-111 24... function rl (line 49) | function rl(e){let t,n;const r=[{viewBox:"0 0 512 512"},e[0]];let l={$$s... function ll (line 49) | function ll(e,t,n){return e.$$set=(e=>{n(0,t=a(a({},t),b(e)))}),[t=b(t)]} class ol (line 49) | class ol extends Le{constructor(e){super(),Je(this,e,ll,rl,d,{})}} method constructor (line 49) | constructor(e){super(),Je(this,e,ll,rl,d,{})} function al (line 49) | function al(e){z(e,"svelte-1a7time","div.svelte-1a7time{white-space:nowr... function sl (line 49) | function sl(e){let t,n;return{c(){t=M("div"),n=N(e[0]),G(t,"alt",e[0]),G... function il (line 49) | function il(e,t,n){let r,{action:l}=t;return e.$$set=(e=>{"action"in e&&... class cl (line 49) | class cl extends Le{constructor(e){super(),Je(this,e,il,sl,d,{action:1},... method constructor (line 49) | constructor(e){super(),Je(this,e,il,sl,d,{action:1},al)} function ul (line 49) | function ul(e){z(e,"svelte-ztcwsu","table.svelte-ztcwsu.svelte-ztcwsu{fo... function dl (line 49) | function dl(e,t,n){const r=e.slice();return r[10]=t[n],r[12]=n,r} function fl (line 49) | function fl(e){let t,n,r,l,o,a,s,i,u,d,f,p,m,g=e[10].value+"",v=e[10].vi... function pl (line 49) | function pl(e){let t,n,r,l,o,a=e[1],s=[];for(let c=0;c(a(),a=p(i,e=>r(10,o=e)),i);e.$$.on_d... class Dl (line 49) | class Dl extends Le{constructor(e){super(),Je(this,e,Ml,Tl,d,{client:0},... method constructor (line 49) | constructor(e){super(),Je(this,e,Ml,Tl,d,{client:0},El)} function Nl (line 49) | function Nl(e){z(e,"svelte-1fu900w","label.svelte-1fu900w{color:#666}.op... function Vl (line 49) | function Vl(e,t,n){const r=e.slice();return r[6]=t[n][0],r[7]=t[n][1],r[... function Bl (line 49) | function Bl(e){let t,n,r,l;function o(){e[5].call(t,e[6])}return{c(){G(t... function Rl (line 49) | function Rl(e){let t,n,r,l,o,a,s,i,u,d=e[1][e[6]]+"";function f(){e[4].c... function Kl (line 49) | function Kl(e){let t,n,r,l,o,a,s=e[6]+"";function i(e,t){return e[7].ran... function Gl (line 49) | function Gl(e){let t,n=Object.entries(e[0].opts()),r=[];for(let l=0;l(s(),s=p(c,e=>n(15,o=e)),c);e.$$.... class mo (line 49) | class mo extends Le{constructor(e){super(),Je(this,e,po,fo,d,{clientMana... method constructor (line 49) | constructor(e){super(),Je(this,e,po,fo,d,{clientManager:0},oo)} function e (line 51) | function e(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enume... function r (line 53) | function r(e){return e&&e.__esModule?e:{default:e}} method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function t (line 53) | function t(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){va... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function n (line 53) | function n(r){for(var n=1;n{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function t (line 55) | function t(e){return"Minified Redux error #"+e+"; visit https://redux.js... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function u (line 55) | function u(e){if("object"!=typeof e||null===e)return!1;for(var r=e;null!... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function f (line 55) | function f(e){var r=typeof e;return r} function c (line 55) | function c(e,r,o){var f;if("function"==typeof r&&"function"==typeof o||"... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function a (line 55) | function a(e){"undefined"!=typeof console&&"function"==typeof console.er... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function p (line 55) | function p(e,r,t,n){var o=Object.keys(r),c=t&&t.type===i.INIT?"preloaded... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function s (line 55) | function s(e){Object.keys(e).forEach(function(r){var n=e[r];if(void 0===... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function d (line 55) | function d(e){for(var r=Object.keys(e),n={},o=0;o!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;rt.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function v (line 55) | function v(){for(var r=arguments.length,n=new Array(r),o=0;oe()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class t (line 59) | class t{constructor({transportDataCallback:t,gameName:a,playerID:s,match... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} class h (line 61) | class h extends n.T{connect(){}disconnect(){}sendAction(){}sendChatMessa... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... class l (line 61) | class l{constructor(){this.debugPanel=null,this.currentClient=null,this.... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function g (line 61) | function g(t,e,s,r,a,n){const h={};for(const c of e)h[c]=((...e)=>{const... class m (line 61) | class m{constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g... method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function y (line 61) | function y(t){return new m(t)} method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... class a (line 63) | class a extends Error{constructor(e,t){super(e),this.details=t}} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class n (line 63) | class n{constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")}as... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;st(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function x (line 65) | function x(){} function b (line 65) | function b(e,r,t){this.props=e,this.context=r,this.refs=h,this.updater=t... method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function g (line 65) | function g(e,r,n){var o,u={},f=null,c=null;if(null!=r)for(o in void 0!==... function w (line 65) | function w(e,r){return{$$typeof:t,type:e.type,key:r,ref:e.ref,props:e.pr... function C (line 65) | function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===t} function E (line 65) | function E(e){var r={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g... function j (line 65) | function j(e,r,t,n){if(P.length){var o=P.pop();return o.result=e,o.keyPr... function O (line 65) | function O(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,... function A (line 65) | function A(e,r,o,u){var f=typeof e;"undefined"!==f&&"boolean"!==f||(e=nu... function I (line 65) | function I(e,r,t){return null==e?0:A(e,"",r,t)} function U (line 65) | function U(e,r){return"object"==typeof e&&null!==e&&null!=e.key?E(e.key)... function q (line 65) | function q(e,r){e.func.call(e.context,r,e.count++)} function F (line 65) | function F(e,r,t){var n=e.result,o=e.keyPrefix;e=e.func.call(e.context,r... function L (line 65) | function L(e,r,t,n,o){var u="";null!=t&&(u=(""+t).replace(R,"$&/")+"/"),... function D (line 65) | function D(){var e=M.current;if(null===e)throw Error(d(321));return e} function r (line 71) | function r(){} method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function t (line 71) | function t(){} method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function n (line 71) | function n(r,t,n,o,a,p){if(p!==e){var c=new Error("Calling PropTypes val... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function n (line 75) | function n(t,i){if("string"!=typeof t)throw new TypeError("argument str ... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function a (line 75) | function a(e,t){try{return t(e)}catch(r){return e}} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function u (line 78) | function u(e){return e&&e.__esModule?e:{default:e}} method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function d (line 78) | function d(){return s&&!s.headersSent} method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function f (line 78) | function f(e,o){var t=c?a:r.default.parse(document.cookie),n=t&&t[e];if(... function l (line 78) | function l(e){var o=c?a:r.default.parse(document.cookie);if(void 0===e&&... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function y (line 78) | function y(e,t,n){a[e]=t,"object"===(void 0===t?"undefined":o(t))&&(a[e]... method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function v (line 78) | function v(e,o){delete a[e],o=void 0===o?{}:"string"==typeof o?{path:o}:... function k (line 78) | function k(e){a=e?r.default.parse(e):{}} function m (line 78) | function m(e,o){return e.cookie?a=e.cookie:e.cookies?a=e.cookies:e.heade... method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function a (line 80) | function a(t){return t.type()===e.SYNC} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class s (line 80) | class s{type(){return e.ASYNC}async createMatch(e,t){if(this.createGame)... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... class n (line 80) | class n{type(){return e.SYNC}connect(){}createMatch(e,t){if(this.createG... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function o (line 84) | function o(e,t){return void 0===e?e:e.map(e=>{if(null!==t&&+t==+e.action... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function t (line 86) | function t(r,e){var t=e.replace(/\/{2,9}/g,"/").split("/");return"/"!=e.... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function s (line 86) | function s(r,e){var t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,fu... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function t (line 88) | function t(t){if(!((t=String(t)).length>100)){var u=/^(-?(?:\d+)?\.?\d+)... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function u (line 88) | function u(n){var c=Math.abs(n);return c>=a?Math.round(n/a)+"d":c>=r?Mat... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function i (line 88) | function i(n){var c=Math.abs(n);return c>=a?o(n,c,a,"day"):c>=r?o(n,c,r,... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function o (line 88) | function o(s,e,r,a){var n=e>=1.5*r;return Math.round(s/r)+" "+a+(n?"s":"")} method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function e (line 90) | function e(e){function n(e){let r,s,o,a=null;function l(...e){if(!l.enab... function o (line 93) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function t (line 93) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function C (line 93) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 93) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 93) | function n(){try{return localStorage}catch(e){}} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function t (line 113) | function t(t){if(t)return e(t)} method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function e (line 113) | function e(e){for(var s in t.prototype)e[s]=t.prototype[s];return e} function s (line 113) | function s(){this.off(t,s),e.apply(this,arguments)} method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function e (line 115) | function e(e){function n(e){let r,s,o,a=null;function l(...e){if(!l.enab... function o (line 118) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function t (line 118) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function C (line 118) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 118) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 118) | function n(){try{return localStorage}catch(e){}} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function a (line 124) | function a(r){var n="";do{n=e[r%t]+n,r=Math.floor(r/t)}while(r>0);return n} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function c (line 124) | function c(r){var e=0;for(u=0;uthis.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function f (line 124) | function f(){var e=a(+new Date);return e!==r?(o=0,r=e):e+"."+a(o++)} class p (line 126) | class p extends t{get name(){return"polling"}doOpen(){this.poll()}pause(... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function n (line 130) | function n(){} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class u (line 130) | class u extends s{constructor(t,e){super(),this.opts=e,this.method=e.met... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function d (line 130) | function d(){for(let t in u.requests)u.requests.hasOwnProperty(t)&&u.req... method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... class o (line 132) | class o extends e{constructor(e){super(e),this.query=this.query||{},s||(... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function h (line 136) | function h(r){var t=r.length;if(t%4>0)throw new Error("Invalid string. L... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function u (line 136) | function u(r){var t=h(r),e=t[0],n=t[1];return 3*(e+n)/4-n} method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function c (line 136) | function c(r,t,e){return 3*(t+e)/4-e} method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function i (line 136) | function i(r){var n,o,a=h(r),u=a[0],i=a[1],f=new e(c(r,u,i)),A=0,d=i>0?u... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function f (line 136) | function f(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]} function A (line 136) | function A(r,t,e){for(var n,o=[],a=t;a0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function o (line 144) | function o(){return f.TYPED_ARRAY_SUPPORT?2147483647:1073741823} method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function u (line 144) | function u(t,r){if(o()t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function a (line 144) | function a(t,r,e,n){return h(r),r<=0?u(t,r):void 0!==e?"string"==typeof ... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function c (line 144) | function c(t,r){if(h(r),t=u(t,r<0?0:0|w(r)),!f.TYPED_ARRAY_SUPPORT)for(v... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function l (line 144) | function l(t,r,e){if("string"==typeof e&&""!==e||(e="utf8"),!f.isEncodin... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function g (line 144) | function g(t,r,e,n){if(r.byteLength,e<0||r.byteLength=o())throw new RangeError("Attempt to allocate Buffer... function d (line 144) | function d(t){return+t!=t&&(t=0),f.alloc(+t)} method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function v (line 144) | function v(t,r){if(f.isBuffer(t))return t.length;if("undefined"!=typeof ... function E (line 144) | function E(t,r,e){var n=!1;if((void 0===r||r<0)&&(r=0),r>this.length)ret... function b (line 144) | function b(t,r,e){var n=t[r];t[r]=t[e],t[e]=n} method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function R (line 144) | function R(t,r,e,n,i){if(0===t.length)return-1;if("string"==typeof e?(n=... function _ (line 144) | function _(t,r,e,n,i){var o,u=1,f=t.length,s=r.length;if(void 0!==n&&("u... function A (line 144) | function A(t,r,e,n){e=Number(e)||0;var i=t.length-e;n?(n=Number(n))>i&&(... function m (line 144) | function m(t,r,e,n){return Q($(r,t.length-e),t,e,n)} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function P (line 144) | function P(t,r,e,n){return Q(G(r),t,e,n)} function T (line 144) | function T(t,r,e,n){return P(t,r,e,n)} function B (line 144) | function B(t,r,e,n){return Q(K(r),t,e,n)} function U (line 144) | function U(t,r,e,n){return Q(H(r,t.length-e),t,e,n)} function S (line 144) | function S(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromBy... function Y (line 144) | function Y(t,r,e){e=Math.min(t.length,e);for(var n=[],i=r;in)&&(e=n);... function C (line 144) | function C(t,r,e){for(var n=t.slice(r,e),i="",o=0;ot.length)throw new RangeError("Index out ... function j (line 144) | function j(t,r,n,i,o){return o||F(t,r,n,4,3.4028234663852886e38,-3.40282... function q (line 144) | function q(t,r,n,i,o){return o||F(t,r,n,8,1.7976931348623157e308,-1.7976... function X (line 144) | function X(t){if((t=J(t).replace(V,"")).length<2)return"";for(;t.length%... function J (line 144) | function J(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")} function Z (line 144) | function Z(t){return t<16?"0"+t.toString(16):t.toString(16)} function $ (line 144) | function $(t,r){var e;r=r||1/0;for(var n=t.length,i=null,o=[],u=0;u=r.length||i>=t.length);++i)r... function W (line 144) | function W(t){return t!=t} class l (line 147) | class l extends t{constructor(e){super(e),this.supportsBinary=!e.forceBa... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;re()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class n (line 151) | class n extends e{constructor(t,e={}){super(),t&&"object"==typeof t&&(e=... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function f (line 155) | function f(r){return e&&(r instanceof ArrayBuffer||t(r))||o&&r instanceo... function i (line 155) | function i(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function e (line 157) | function e(t){const e=[],n=t.data,o=t;return o.data=r(n,e),o.attachments... function r (line 157) | function r(e,n){if(!e)return e;if(t.isBinary(e)){const t={_placeholder:!... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 157) | function n(t,e){return t.data=o(t.data,e),t.attachments=void 0,t} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function e (line 159) | function e(e){function n(e){let r,o=null;function s(...e){if(!s.enabled)... function o (line 162) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function t (line 162) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function C (line 162) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 162) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 162) | function n(){try{return localStorage}catch(e){}} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;sthis.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} class o (line 164) | class o extends t{constructor(){super()}add(t){let e;if("string"==typeof... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function i (line 164) | function i(t){try{return JSON.parse(t)}catch(e){return!1}} method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... class a (line 164) | class a{constructor(t){this.packet=t,this.buffers=[],this.reconPack=t}ta... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function e (line 166) | function e(e,o,t){return e.on(o,t),function(){e.off(o,t)}} class t (line 168) | class t extends e{on(e,t){return super.on(e,t),this}once(e,t){return sup... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} class c (line 170) | class c extends s.StrictEventEmitter{constructor(t,e,s){super(),this.rec... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function t (line 172) | function t(t){t=t||{},this.ms=t.min||100,this.max=t.max||1e4,this.factor... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} class r (line 174) | class r extends s.StrictEventEmitter{constructor(e,t){super(),this.nsps=... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 176) | function n(n,c){"object"==typeof n&&(c=n,n=void 0),c=c||{};const s=e.url... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class c (line 178) | class c extends Map{constructor(t){super(),this.key=t,(JSON.parse(localS... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} class o (line 178) | class o extends r{constructor(t="bgio"){super();const e=e=>new c(`${t}_$... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function h (line 178) | function h(t,e){if(void 0!==t.ctx.gameover)return null;if(t.ctx.activePl... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... class l (line 178) | class l extends s.M{constructor({game:t,bots:e,storageKey:s,persist:a}){... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{const{gameKey:... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... class y (line 178) | class y extends t.T{constructor({socket:t,socketOpts:e,server:s,...i}){s... method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function g (line 178) | function g({server:t,socketOpts:e}={}){return s=>new y({server:t,socketO... function c (line 180) | function c(e){return e&&e.__esModule?e:{default:e}} method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function o (line 180) | function o(t){var a;const{game:n,numPlayers:i,board:l,multiplayer:c,enha... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... class h (line 180) | class h{constructor({server:e,gameComponents:t,playerName:s,playerCreden... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function m (line 180) | function m(e){return new h(e)} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... class u (line 180) | class u extends s.default.Component{constructor(){super(...arguments),th... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... class p (line 180) | class p extends s.default.Component{constructor(){super(...arguments),th... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... class d (line 180) | class d extends s.default.Component{constructor(e){super(e),this.state={... method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... class y (line 180) | class y extends s.default.Component{constructor(e){super(e),this.state={... method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function t (line 184) | function t(e){return e&&e.__esModule?e:{default:e}} method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} method clickCell (line 184) | clickCell(e,r,l){e.cells[l]=r.currentPlayer} FILE: docs/documentation/snippets/example-2.e4675089.js function f (line 1) | function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequi... function n (line 2) | function n(r){if(null==r)throw new TypeError("Object.assign cannot be ca... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function d (line 4) | function d(e){for(var r="https://reactjs.org/docs/error-decoder.html?inv... method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function m (line 4) | function m(e,r,t){this.props=e,this.context=r,this.refs=h,this.updater=t... method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function x (line 4) | function x(){} function b (line 4) | function b(e,r,t){this.props=e,this.context=r,this.refs=h,this.updater=t... method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function g (line 4) | function g(e,r,n){var o,u={},f=null,c=null;if(null!=r)for(o in void 0!==... function w (line 4) | function w(e,r){return{$$typeof:t,type:e.type,key:r,ref:e.ref,props:e.pr... function C (line 4) | function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===t} function E (line 4) | function E(e){var r={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g... function j (line 4) | function j(e,r,t,n){if(P.length){var o=P.pop();return o.result=e,o.keyPr... function O (line 4) | function O(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,... function A (line 4) | function A(e,r,o,u){var f=typeof e;"undefined"!==f&&"boolean"!==f||(e=nu... function I (line 4) | function I(e,r,t){return null==e?0:A(e,"",r,t)} function U (line 4) | function U(e,r){return"object"==typeof e&&null!==e&&null!=e.key?E(e.key)... function q (line 4) | function q(e,r){e.func.call(e.context,r,e.count++)} function F (line 4) | function F(e,r,t){var n=e.result,o=e.keyPrefix;e=e.func.call(e.context,r... function L (line 4) | function L(e,r,t,n,o){var u="";null!=t&&(u=(""+t).replace(R,"$&/")+"/"),... function D (line 4) | function D(){var e=M.current;if(null===e)throw Error(d(321));return e} function k (line 8) | function k(e,n){var t=e.length;e.push(n);e:for(;;){var r=t-1>>>1,o=e[r];... function T (line 8) | function T(e){return void 0===(e=e[0])?null:e} function g (line 8) | function g(e){var n=e[0];if(void 0!==n){var t=e.pop();if(t!==n){e[0]=t;e... function P (line 8) | function P(e,n){var t=e.sortIndex-n.sortIndex;return 0!==t?t:e.id-n.id} function R (line 8) | function R(e){for(var n=T(I);null!==n;){if(null===n.callback)g(I);else{i... function j (line 8) | function j(t){if(D=!1,R(t),!q)if(null!==T(F))q=!0,e(E);else{var r=T(I);n... function E (line 8) | function E(e,o){q=!1,D&&(D=!1,t()),L=!0;var a=A;try{for(R(o),C=T(F);null... function N (line 8) | function N(e){switch(e){case 1:return-1;case 2:return 250;case 5:return ... function r (line 12) | function r(e){for(var t="https://reactjs.org/docs/error-decoder.html?inv... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function l (line 12) | function l(e,t,n,r,l,i,a,o,u){var c=Array.prototype.slice.call(arguments... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;rt.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function y (line 12) | function y(){if(g)for(var e in v){var t=v[e],n=g.indexOf(e);if(!(-10} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function E (line 12) | function E(e){var t,n=!1;for(t in e)if(e.hasOwnProperty(t)){var l=e[t];i... function N (line 12) | function N(e){if(e=p(e)){if("function"!=typeof C)throw Error(r(280));var... function z (line 12) | function z(e){P?_?_.push(e):_=[e]:P=e} function M (line 12) | function M(){if(P){var e=P,t=_;if(_=P=null,N(e),t)for(e=0;e{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function hr (line 12) | function hr(e,t){switch(e){case"keyup":return-1!==or.indexOf(t.keyCode);... function gr (line 12) | function gr(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null} function yr (line 12) | function yr(e,t){switch(e){case"compositionend":return gr(t);case"keypre... function br (line 12) | function br(e,t){if(vr)return"compositionend"===e||!ur&&hr(e,t)?(e=Zn(),... function xr (line 12) | function xr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"inpu... function Er (line 12) | function Er(e,t,n){return(e=tr.getPooled(Tr.change,e,t,n)).type="change"... function Pr (line 12) | function Pr(e){ft(e)} function _r (line 12) | function _r(e){if(Ee(Vn(e)))return e} function Nr (line 12) | function Nr(e,t){if("change"===e)return t} method constructor (line 49) | constructor(e){super(),Je(this,e,Dr,Mr,d,{client:0,clientManager:2,Tog... function Mr (line 12) | function Mr(){Sr&&(Sr.detachEvent("onpropertychange",Ir),Cr=Sr=null)} function Ir (line 12) | function Ir(e){if("value"===e.propertyName&&_r(Cr))if(e=Er(Cr,e,dt(e)),D... function Fr (line 12) | function Fr(e,t,n){"focus"===e?(Mr(),Cr=n,(Sr=t).attachEvent("onproperty... method constructor (line 49) | constructor(e){super(),Je(this,e,Lr,Jr,d,{phase:0,numEvents:2},Gr)} function Or (line 12) | function Or(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)retu... function Rr (line 12) | function Rr(e,t){if("click"===e)return _r(t)} function Dr (line 12) | function Dr(e,t){if("input"===e||"change"===e)return _r(t)} function Vr (line 12) | function Vr(e){var t=this.nativeEvent;return t.getModifierState?t.getMod... function Qr (line 12) | function Qr(){return Vr} function Xr (line 12) | function Xr(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t} function Jr (line 12) | function Jr(e,t){if(Gr(e,t))return!0;if("object"!=typeof e||null===e||"o... function al (line 12) | function al(e,t){var n=t.window===t?t.document:9===t.nodeType?t:t.ownerD... function fl (line 12) | function fl(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&... function Tl (line 12) | function Tl(e){0>xl||(e.current=kl[xl],kl[xl]=null,xl--)} function El (line 12) | function El(e,t){kl[++xl]=e.current,e.current=t} function Nl (line 12) | function Nl(e,t){var n=e.type.contextTypes;if(!n)return Sl;var r=e.state... function zl (line 12) | function zl(e){return null!=(e=e.childContextTypes)} function Ml (line 12) | function Ml(){Tl(Pl),Tl(Cl)} function Il (line 12) | function Il(e,t,n){if(Cl.current!==Sl)throw Error(r(168));El(Cl,t),El(Pl... function Fl (line 12) | function Fl(e,n,l){var i=e.stateNode;if(e=n.childContextTypes,"function"... function Ol (line 12) | function Ol(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMerged... function Rl (line 12) | function Rl(e,t,n){var l=e.stateNode;if(!l)throw Error(r(169));n?(e=Fl(e... function ti (line 12) | function ti(){switch(Ql()){case Wl:return 99;case Hl:return 98;case jl:r... function ni (line 12) | function ni(e){switch(e){case 99:return Wl;case 98:return Hl;case 97:ret... function ri (line 12) | function ri(e,t){return e=ni(e),Dl(e,t)} function li (line 12) | function li(e,t,n){return e=ni(e),Ll(e,t,n)} function ii (line 12) | function ii(e){return null===Xl?(Xl=[e],Gl=Ll(Wl,oi)):Xl.push(e),$l} function ai (line 12) | function ai(){if(null!==Gl){var e=Gl;Gl=null,Ul(e)}oi()} function oi (line 12) | function oi(){if(!Zl&&null!==Xl){Zl=!0;var e=0;try{var t=Xl;ri(99,functi... function ui (line 12) | function ui(e,t,n){return 1073741821-(1+((1073741821-e+t/10)/(n/=10)|0))*n} function ci (line 12) | function ci(e,n){if(e&&e.defaultProps)for(var r in n=t({},n),e=e.default... function mi (line 12) | function mi(){pi=di=fi=null} function hi (line 12) | function hi(e){var t=si.current;Tl(si),e.type._context._currentValue=t} function gi (line 12) | function gi(e,t){for(;null!==e;){var n=e.alternate;if(e.childExpirationT... function vi (line 12) | function vi(e,t){fi=e,pi=di=null,null!==(e=e.dependencies)&&null!==e.fir... function yi (line 12) | function yi(e,t){if(pi!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741... function wi (line 12) | function wi(e){e.updateQueue={baseState:e.memoizedState,baseQueue:null,s... function ki (line 12) | function ki(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={base... function xi (line 12) | function xi(e,t){return(e={expirationTime:e,suspenseConfig:t,tag:0,paylo... function Ti (line 12) | function Ti(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending... function Ei (line 12) | function Ei(e,t){var n=e.alternate;null!==n&&ki(n,e),null===(n=(e=e.upda... function Si (line 12) | function Si(e,n,r,l){var i=e.updateQueue;bi=!1;var a=i.baseQueue,o=i.sha... function Ci (line 12) | function Ci(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;tr?98:r,function(){e(!0)}),ri(97lu&&(lu=e)} function Ru (line 12) | function Ru(){for(;null!==Go;)Go=Lu(Go)} function Du (line 12) | function Du(){for(;null!==Go&&!ql();)Go=Lu(Go)} function Lu (line 12) | function Lu(e){var t=Ro(e.alternate,e,Zo);return e.memoizedProps=e.pendi... function Uu (line 12) | function Uu(e){Go=e;do{var t=Go.alternate;if(e=Go.return,0==(2048&Go.eff... function Au (line 12) | function Au(e){var t=e.expirationTime;return t>(e=e.childExpirationTime)... function Vu (line 12) | function Vu(e){var t=ti();return ri(99,Qu.bind(null,e,t)),null} function Qu (line 12) | function Qu(e,t){do{Hu()}while(null!==pu);if((Yo&(Qo|Wo))!==Ao)throw Err... function Wu (line 12) | function Wu(){for(;null!==uu;){var e=uu.effectTag;0!=(256&e)&&bo(uu.alte... function Hu (line 12) | function Hu(){if(90!==mu){var e=97e.firstPendingTime&&(e.firstPendingTime=t);var n=e.fi... function fc (line 12) | function fc(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTim... function dc (line 12) | function dc(e,t,n,l){var i=t.current,a=bu(),o=Pi.suspense;a=wu(a,i,o);e:... function pc (line 12) | function pc(e){if(!(e=e.current).child)return null;switch(e.child.tag){c... function mc (line 12) | function mc(e,t){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retr... function hc (line 12) | function hc(e,t){mc(e,t),(e=e.alternate)&&mc(e,t)} function gc (line 12) | function gc(e,t,n){var r=new oc(e,t,n=null!=n&&!0===n.hydrate),l=Ju(3,nu... function vc (line 12) | function vc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeTy... function yc (line 12) | function yc(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.fir... function bc (line 12) | function bc(e,t,n,r,l){var i=n._reactRootContainer;if(i){var a=i._intern... function wc (line 12) | function wc(e,t,n){var r=31?t-1:0),n=1;ne()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 18) | function n(r){return t(r)||e(23,r),r[Q].t} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function i (line 18) | function i(e){var t=e[Q];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:s(e... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function a (line 18) | function a(e,t){return 2===i(e)?e.has(t):Object.prototype.hasOwnProperty... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function u (line 18) | function u(e,t){return 2===i(e)?e.get(t):e[t]} method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function c (line 18) | function c(e,t,r){var n=i(e);2===n?e.set(t,r):3===n?(e.delete(t),e.add(r... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function f (line 18) | function f(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t} function s (line 18) | function s(e){return X&&e instanceof Map} method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function l (line 18) | function l(e){return q&&e instanceof Set} method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function h (line 18) | function h(e){if(Array.isArray(e))return Array.prototype.slice.call(e);v... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function v (line 18) | function v(e,n){return void 0===n&&(n=!1),y(e)||t(e)||!r(e)?e:(i(e)>1&&(... function d (line 18) | function d(){e(2)} method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function y (line 18) | function y(e){return null==e||"object"!=typeof e||Object.isFrozen(e)} method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function b (line 18) | function b(t){var r=re[t];return r||e(18,t),r} method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function g (line 18) | function g(e,t){re[e]||(re[e]=t)} function m (line 18) | function m(){return J} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function P (line 18) | function P(e,t){t&&(b("Patches"),e.u=[],e.s=[],e.v=t)} function O (line 18) | function O(e){x(e),e.p.forEach(j),e.p=null} function x (line 18) | function x(e){e===J&&(J=e.l)} function w (line 18) | function w(e){return J={p:[],l:J,h:e,m:!0,_:0}} function j (line 18) | function j(e){var t=e[Q];0===t.i||1===t.i?t.j():t.O=!0} function A (line 18) | function A(t,n){n._=n.p.length;var o=n.p[0],i=void 0!==t&&t!==o;return n... function D (line 18) | function D(e,t,r){if(y(t))return t;var n=t[Q];if(!n)return o(t,function(... function S (line 18) | function S(e,n,o,i,u,f){if(t(u)){var s=D(e,u,f&&n&&3!==n.i&&!a(n.D,i)?f.... function _ (line 18) | function _(e,t,r){void 0===r&&(r=!1),e.h.F&&e.m&&v(t,r)} function k (line 18) | function k(e,t){var r=e[Q];return(r?p(r):e)[t]} function I (line 18) | function I(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var n=O... function z (line 18) | function z(e){e.P||(e.P=!0,e.l&&z(e.l))} function E (line 18) | function E(e){e.o||(e.o=h(e.t))} function M (line 18) | function M(e,t,r){var n=s(t)?b("MapSet").N(t,r):l(t)?b("MapSet").T(t,r):... function F (line 18) | function F(n){return t(n)||e(22,n),function e(t){if(!r(t))return t;var n... function R (line 18) | function R(e,t){switch(t){case 2:return new Map(e);case 3:return Array.f... function C (line 18) | function C(){function e(e,t){var r=u[e];return r?r.enumerable=t:u[e]=r={... function T (line 18) | function T(){function n(e){if(!r(e))return e;if(Array.isArray(e))return ... function K (line 18) | function K(){function t(e,t){function r(){this.constructor=e}u(e,t),e.pr... function U (line 18) | function U(){C(),K(),T()} function W (line 18) | function W(e){return e} function N (line 18) | function N(e){return e} function n (line 18) | function n(t){var n=this;this.g=B,this.F=!0,this.produce=function(t,o,i)... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class n (line 20) | class n{constructor(t){this.state=t||{seed:"0"},this.used=!1}static seed... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function a (line 22) | function a(t){return!!t&&"object"==typeof t} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function p (line 22) | function p(r){if(!a(r)||i.call(r)!=t||n(r))return!1;var o=l(r);if(null==... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function a (line 24) | function a(e){return e&&e.__esModule?e:{default:e}} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class b (line 24) | class b{constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],... method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function U (line 24) | function U(e){if(null==e||"boolean"==typeof e||"number"==typeof e||"stri... function C (line 24) | function C(e){L(`INFO: ${e}`)} function B (line 24) | function B(e){w("ERROR:",e)} function X (line 24) | function X(e,t=!1){e.moveLimit&&(t&&(e.minMoves=e.moveLimit),e.maxMoves=... function Z (line 24) | function Z(e,t){let r={},a=[],n=null,s={},o={};if(Array.isArray(t)){cons... function ee (line 24) | function ee(e){let{activePlayers:t,_activePlayersMinMoves:r,_activePlaye... function te (line 24) | function te(e,t,r,a,n){"object"==typeof n&&n!==oe.NULL||(n={stage:n}),vo... function re (line 24) | function re(e,t){return e[t]+""} function ae (line 24) | function ae(e,t){let{G:r,ctx:a}=e;const{numPlayers:n}=a,s=V(e),o=t.order... function ne (line 24) | function ne(e,t,r,a){const n=r.order;let{G:s,ctx:o}=e,i=o.playOrderPos,l... function t (line 26) | function t(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")} method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function e (line 26) | function e(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")} function n (line 26) | function n(t){void 0===t&&(t=[""]),this.tokens=t} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function e (line 28) | function e(r){return null!=r&&"object"==typeof r} function t (line 28) | function t(r){if(!e(r))return r;if(r.constructor==Array){for(var o=r.len... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function t (line 30) | function t(r){var e=r.op;return"remove"===e||"replace"===e||"copy"===e||... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function o (line 30) | function o(r,t){var o={};for(var n in r)e.hasOwnProperty.call(r,n)&&void... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function n (line 30) | function n(r){for(var t=r.length,o={},n=0;n{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function a (line 30) | function a(r){return"remove"===r.op} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function p (line 30) | function p(r,e){return{operations:r.operations.concat(e),cost:r.cost+1}} method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function c (line 30) | function c(e,t,o,n){void 0===n&&(n=s);var c={"0,0":{operations:[],cost:0... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function u (line 30) | function u(r,e,t,i){void 0===i&&(i=s);var a=[];return o(r,e).forEach(fun... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function s (line 30) | function s(r,t,o,n){if(void 0===n&&(n=s),r===t)return[];var i=e.objectTy... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function n (line 32) | function n(){this.constructor=e} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function u (line 32) | function u(r,e){if(Array.isArray(r)){var t=parseInt(e,10);r.splice(t,1)}... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function p (line 32) | function p(r,n){var a=e.Pointer.fromJSON(n.path).evaluate(r);return void... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function l (line 32) | function l(r,t){var n=e.Pointer.fromJSON(t.path).evaluate(r);return void... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;rthis.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function f (line 32) | function f(r,t){var o=e.Pointer.fromJSON(t.path).evaluate(r);return n.di... function t (line 32) | function t(r){var t=e.call(this,"Invalid operation: "+r.op)||this;return... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function y (line 32) | function y(r,e){switch(e.op){case"add":return p(r,e);case"remove":return... method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function n (line 34) | function n(r,t){return t.map(function(t){return e.apply(r,t)})} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function i (line 34) | function i(e,n,i){var o=new r.Pointer;return(i?a(i):t.diffAny)(e,n,o)} method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function o (line 34) | function o(e,t){var n=r.Pointer.fromJSON(t).evaluate(e);if(void 0!==n)re... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function u (line 34) | function u(r,e){var n=new Array;return e.filter(t.isDestructive).forEach... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function r (line 36) | function r({moves:e,phases:t,endIf:a,onEnd:r,turn:o,events:s,plugins:i})... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 36) | function o(e){return void 0!==e.processMove} method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function s (line 36) | function s(e){if(o(e))return e;if(void 0===e.name&&(e.name="default"),vo... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function i (line 36) | function i(e){return e instanceof Object&&void 0!==e.move} method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function l (line 36) | function l(e,t){if(t.game.disableUndo)return e;const n={G:e.G,ctx:e.ctx,... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function v (line 36) | function v(e){if(!e)return[null,void 0];const{transients:t,...n}=e;retur... function f (line 36) | function f(e,t,n){return{...e,transients:{error:{type:t,payload:n}}}} function g (line 36) | function g({game:r,isClient:o}){return r=s(r),(s=null,i)=>{let[y]=v(s);s... function x (line 38) | function x(t,e){if(y)return y=!y,e;const s=r.call(this,t,e);switch(typeo... function r (line 41) | function r(){throw new Error("setTimeout has not been defined")} method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 41) | function o(){throw new Error("clearTimeout has not been defined")} method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function i (line 41) | function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&s... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function u (line 41) | function u(t){if(e===clearTimeout)return clearTimeout(t);if((e===o||!e)&... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function f (line 41) | function f(){l&&c&&(l=!1,c.length?s=c.concat(s):a=-1,s.length&&h())} function h (line 41) | function h(){if(!l){var t=i(f);l=!0;for(var e=s.length;e;){for(c=s,s=[];... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function m (line 41) | function m(t,e){this.fun=t,this.array=e} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function p (line 41) | function p(){} method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function g (line 45) | function g(e){delete f[e]} function m (line 45) | function m(e){if(u)setTimeout(m,0,e);else{var t=f[e];if(t){u=!0;try{!fun... method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... class a (line 47) | class a{constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class i (line 47) | class i extends a{constructor({enumerate:t,seed:e,objectives:a,game:s,it... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... class n (line 47) | class n extends a{play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);retu... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function c (line 47) | async function c({game:t,bots:e,state:s,depth:i}){void 0===i&&(i=1e4);co... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function l (line 49) | function l(){} method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function s (line 49) | function s(e){return e()} method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function i (line 49) | function i(){return Object.create(null)} method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function c (line 49) | function c(e){e.forEach(s)} method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function u (line 49) | function u(e){return"function"==typeof e} method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function d (line 49) | function d(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function... method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function f (line 49) | function f(e){return 0===Object.keys(e).length} function p (line 49) | function p(e,...t){if(null==e)return l;const n=e.subscribe(...t);return ... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function m (line 49) | function m(e,t,n){e.$$.on_destroy.push(p(t,n))} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function g (line 49) | function g(e,t,n,r){if(e){const l=v(e,t,n,r);return e[0](l)}} function v (line 49) | function v(e,t,n,r){return e[1]&&r?a(n.ctx.slice(),e[1](r(t))):n.ctx} function $ (line 49) | function $(e,t,n,r){if(e[2]&&r){const l=e[2](r(n));if(void 0===t.dirty)r... function y (line 49) | function y(e,t,n,r,l,o){if(l){const a=v(t,n,r,o);e.p(a,l)}} method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function h (line 49) | function h(e){if(e.ctx.length>32){const t=[],n=e.ctx.length/32;for(let e... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function b (line 49) | function b(e){const t={};for(const n in e)"$"!==n[0]&&(t[n]=e[n]);return t} method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function x (line 49) | function x(e){return null==e?"":e} function E (line 49) | function E(e){j.forEach(t=>{t.c(e)||(j.delete(t),t.f())}),0!==j.size&&P(E)} function O (line 49) | function O(e){let t;return 0===j.size&&P(E),{promise:new Promise(n=>{j.a... function A (line 49) | function A(e,t){e.appendChild(t)} function z (line 49) | function z(e,t,n){const r=_(e);if(!r.getElementById(t)){const e=M("style... function _ (line 49) | function _(e){if(!e)return document;const t=e.getRootNode?e.getRootNode(... function S (line 49) | function S(e){const t=M("style");return C(_(e),t),t} function C (line 49) | function C(e,t){A(e.head||e,t)} function q (line 49) | function q(e,t,n){e.insertBefore(t,n||null)} function I (line 49) | function I(e){e.parentNode.removeChild(e)} function T (line 49) | function T(e,t){for(let n=0;ne.removeEventLi... function K (line 49) | function K(e){return function(t){return t.stopPropagation(),e.call(this,... function G (line 49) | function G(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.... function J (line 49) | function J(e){return""===e?null:+e} function L (line 49) | function L(e){return Array.from(e.childNodes)} function F (line 49) | function F(e,t){t=""+t,e.wholeText!==t&&(e.data=t)} function H (line 49) | function H(e,t){e.value=null==t?"":t} function Z (line 49) | function Z(e,t){for(let n=0;n{ee||(Y.forEach(e=>{const t=e.__svelte_stylesheet;le... function oe (line 49) | function oe(e){Q=e} function ae (line 49) | function ae(){if(!Q)throw new Error("Function called outside component i... function se (line 49) | function se(e){ae().$$.after_update.push(e)} function ie (line 49) | function ie(e){ae().$$.on_destroy.push(e)} function ce (line 49) | function ce(){const e=ae();return(t,n)=>{const r=e.$$.callbacks[t];if(r)... function ue (line 49) | function ue(e,t){ae().$$.context.set(e,t)} function de (line 49) | function de(e){return ae().$$.context.get(e)} function fe (line 49) | function fe(e,t){const n=e.$$.callbacks[t.type];n&&n.slice().forEach(e=>... function he (line 49) | function he(){ye||(ye=!0,$e.then(ke))} function be (line 49) | function be(e){ge.push(e)} function ke (line 49) | function ke(){if(!xe){xe=!0;do{for(let e=0;e{je=null}),je} function Oe (line 49) | function Oe(e,t,n){e.dispatchEvent(X(`${t?"intro":"outro"}${n}`))} function _e (line 49) | function _e(){ze={r:0,c:[],p:ze}} function Se (line 49) | function Se(){ze.r||c(ze.c),ze=ze.p} function Ce (line 49) | function Ce(e,t){e&&e.i&&(Ae.delete(e),e.i(t))} function qe (line 49) | function qe(e,t,n,r){if(e&&e.o){if(Ae.has(e))return;Ae.add(e),ze.c.push(... function Te (line 49) | function Te(e,t,n){let r,a,s=t(e,n),i=!1,c=0;function d(){r&&re(e,r)}fun... function Me (line 49) | function Me(e,t,n){let r,a=t(e,n),s=!0;const i=ze;function d(){const{del... function De (line 49) | function De(e,t,n,r){let a=t(e,n),s=r?0:1,i=null,d=null,f=null;function ... function Ne (line 49) | function Ne(e,t){const n={},r={},l={$$scope:1};let o=e.length;for(;o--;)... function Ve (line 49) | function Ve(e){return"object"==typeof e&&null!==e?e:{}} function Be (line 49) | function Be(e){e&&e.c()} function Re (line 49) | function Re(e,t,n,r){const{fragment:l,on_mount:o,on_destroy:a,after_upda... function Ke (line 49) | function Ke(e,t){const n=e.$$;null!==n.fragment&&(c(n.on_destroy),n.frag... function Ge (line 49) | function Ge(e,t){-1===e.$$.dirty[0]&&(pe.push(e),he(),e.$$.dirty.fill(0)... function Je (line 49) | function Je(e,t,n,r,o,a,s,u=[-1]){const d=Q;oe(e);const f=e.$$={fragment... class Le (line 49) | class Le{$destroy(){Ke(this,1),this.$destroy=l}$on(e,t){const n=this.$$.... method $destroy (line 49) | $destroy(){Ke(this,1),this.$destroy=l} method $on (line 49) | $on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);retur... method $set (line 49) | $set(e){this.$$set&&!f(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$... function He (line 49) | function He(e,t=l){let n;const r=new Set;function o(t){if(d(e,t)&&(e=t,n... function Ze (line 49) | function Ze(e){const t=e-1;return t*t*t+1} function Ue (line 49) | function Ue(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty... function We (line 49) | function We(e,{delay:t=0,duration:n=400,easing:r=Ze,x:l=0,y:o=0,opacity:... function Xe (line 49) | function Xe(e){var{fallback:t}=e,n=Ue(e,["fallback"]);const r=new Map,l=... function Ye (line 49) | function Ye(e){z(e,"svelte-c8tyih","svg.svelte-c8tyih{stroke:currentColo... function Qe (line 49) | function Qe(e){let t,n;return{c(){t=D("title"),n=N(e[0])},m(e,r){q(e,t,r... function et (line 49) | function et(e){let t,n,r,l=e[0]&&Qe(e);const o=e[3].default,a=g(o,e,e[2]... function tt (line 49) | function tt(e,t,n){let{$$slots:r={},$$scope:l}=t,{title:o=null}=t,{viewB... class nt (line 49) | class nt extends Le{constructor(e){super(),Je(this,e,tt,et,d,{title:0,vi... method constructor (line 49) | constructor(e){super(),Je(this,e,tt,et,d,{title:0,viewBox:1},Ye)} function rt (line 49) | function rt(e){let t;return{c(){G(t=D("path"),"d","M285.476 272.971L91.1... function lt (line 49) | function lt(e){let t,n;const r=[{viewBox:"0 0 320 512"},e[0]];let l={$$s... function ot (line 49) | function ot(e,t,n){return e.$$set=(e=>{n(0,t=a(a({},t),b(e)))}),[t=b(t)]} class at (line 49) | class at extends Le{constructor(e){super(),Je(this,e,ot,lt,d,{})}} method constructor (line 49) | constructor(e){super(),Je(this,e,ot,lt,d,{})} function st (line 49) | function st(e){z(e,"svelte-1xg9v5h",".menu.svelte-1xg9v5h{display:flex;m... function it (line 49) | function it(e,t,n){const r=e.slice();return r[4]=t[n][0],r[5]=t[n][1].la... function ct (line 49) | function ct(e){let t,n,r,l,o,a=e[5]+"";function s(){return e[3](e[4])}re... function ut (line 49) | function ut(e){let t,n=Object.entries(e[1]),r=[];for(let l=0;l{"expanded"in e&... class $t (line 49) | class $t extends Le{constructor(e){super(),Je(this,e,vt,gt,d,{expanded:0... method constructor (line 49) | constructor(e){super(),Je(this,e,vt,gt,d,{expanded:0},mt)} function yt (line 49) | function yt(e){z(e,"svelte-1vlbacg","label.svelte-1vlbacg{display:inline... function ht (line 49) | function ht(e){let t,n,r,l,o,a;return{c(){t=M("label"),n=M("span"),r=N(e... function bt (line 49) | function bt(e){let t,n=e[3]&&e[0]&&ht(e);return{c(){n&&n.c(),t=B()},m(e,... function xt (line 49) | function xt(e,t,n){let r,{key:l,isParentExpanded:o,isParentArray:a=!1,co... class wt (line 49) | class wt extends Le{constructor(e){super(),Je(this,e,xt,bt,d,{key:0,isPa... method constructor (line 49) | constructor(e){super(),Je(this,e,xt,bt,d,{key:0,isParentExpanded:1,isP... function kt (line 49) | function kt(e){z(e,"svelte-rwxv37","label.svelte-rwxv37{display:inline-b... function Pt (line 49) | function Pt(e,t,n){const r=e.slice();return r[12]=t[n],r[20]=n,r} function jt (line 49) | function jt(e){let t,n;return(t=new $t({props:{expanded:e[0]}})).$on("cl... function Et (line 49) | function Et(e){let t;return{c(){(t=M("span")).textContent="…"},m(e,n){q(... function Ot (line 49) | function Ot(e){let t,n,r,l,o,a=e[13],s=[];for(let u=0;u... class xn (line 49) | class xn extends Le{constructor(e){super(),Je(this,e,bn,hn,d,{key:0,valu... method constructor (line 49) | constructor(e){super(),Je(this,e,bn,hn,d,{key:0,value:1},yn)} function wn (line 49) | function wn(e){z(e,"svelte-jvfq3i",".svelte-jvfq3i{box-sizing:border-box... function kn (line 49) | function kn(e,t,n){const r=e.slice();return r[7]=t[n],r[9]=n,r} function Pn (line 49) | function Pn(e){let t,n,r,l,o,a,s=e[1],i=[];for(let c=0;c1&&Pn(e);return{c(){n&&n.c(),t=B()},m... function An (line 49) | function An(e,t,n){let r,o,a,s,i=l,c=()=>(i(),i=p(u,e=>n(5,s=e)),u);e.$$... class zn (line 49) | class zn extends Le{constructor(e){super(),Je(this,e,An,En,d,{clientMana... method constructor (line 49) | constructor(e){super(),Je(this,e,An,En,d,{clientManager:0},wn)} function _n (line 49) | function _n(e){z(e,"svelte-1vfj1mn",".key.svelte-1vfj1mn.svelte-1vfj1mn{... function Sn (line 49) | function Sn(e){let t,n,r,l,o,a=`(shortcut: ${e[0]})`+"";return{c(){t=M("... function Cn (line 49) | function Cn(e){let t,n,r,o,a,s,i=e[1]&&Sn(e);return{c(){t=M("div"),n=M("... function qn (line 49) | function qn(e,t,n){let r,{value:l}=t,{onPress:o=null}=t,{label:a=null}=t... class In (line 49) | class In extends Le{constructor(e){super(),Je(this,e,qn,Cn,d,{value:0,on... method constructor (line 49) | constructor(e){super(),Je(this,e,qn,Cn,d,{value:0,onPress:8,label:1,di... function Tn (line 49) | function Tn(e){z(e,"svelte-1mppqmp",".move.svelte-1mppqmp{display:flex;f... function Mn (line 49) | function Mn(e){let t,n,r,o,a,s,i,d,f,p,m;return{c(){t=M("div"),n=M("span... function Nn (line 49) | function Nn(e,t,n){let r,{Activate:l}=t,{Deactivate:o}=t,{name:a}=t,{act... class Vn (line 49) | class Vn extends Le{constructor(e){super(),Je(this,e,Nn,Mn,d,{Activate:0... method constructor (line 49) | constructor(e){super(),Je(this,e,Nn,Mn,d,{Activate:0,Deactivate:1,name... function Bn (line 49) | function Bn(e){z(e,"svelte-smqssc",".move-error.svelte-smqssc{color:#a00... function Rn (line 49) | function Rn(e){let t,n;return{c(){t=M("span"),n=N(e[2]),G(t,"class","mov... function Kn (line 49) | function Kn(e){let t,n,r,l,o,a,s;r=new In({props:{value:e[0],onPress:e[4... function Gn (line 49) | function Gn(t,n,r){let{shortcut:l}=n,{name:o}=n,{fn:a}=n;const{disableHo... class Jn (line 49) | class Jn extends Le{constructor(e){super(),Je(this,e,Gn,Kn,d,{shortcut:0... method constructor (line 49) | constructor(e){super(),Je(this,e,Gn,Kn,d,{shortcut:0,name:1,fn:8},Bn)} function Ln (line 49) | function Ln(e){z(e,"svelte-c3lavh","ul.svelte-c3lavh{padding-left:0}li.s... function Fn (line 49) | function Fn(e){let t,n,r,l,o,a,s,i,c,u,d,f,p;return r=new In({props:{val... function Hn (line 49) | function Hn(t,r,l){let{client:o}=r,{ToggleVisibility:a}=r;return t.$$set... class Zn (line 49) | class Zn extends Le{constructor(e){super(),Je(this,e,Hn,Fn,d,{client:0,T... method constructor (line 49) | constructor(e){super(),Je(this,e,Hn,Fn,d,{client:0,ToggleVisibility:1}... function Un (line 49) | function Un(e){z(e,"svelte-19aan9p",".player-box.svelte-19aan9p{display:... function Wn (line 49) | function Wn(e,t,n){const r=e.slice();return r[7]=t[n],r} function Xn (line 49) | function Xn(e){let t,n,r,l,o,a,s=e[7]+"";function i(){return e[5](e[7])}... function Yn (line 49) | function Yn(e){let t,n=e[2],r=[];for(let l=0;le.length)&&(t=e.length);for(var n=0,r=new A... function yr (line 49) | function yr(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e... function hr (line 49) | function hr(e,t){var n,r={},l={},o=yr(t);try{for(o.s();!(n=o.n()).done;)... function br (line 49) | function br(e){z(e,"svelte-146sq5f",".tree.svelte-146sq5f{--json-tree-fo... function xr (line 49) | function xr(e,t,n){const r=e.slice();return r[10]=t[n][0],r[11]=t[n][1],r} function wr (line 49) | function wr(e){let t,n,r,l;return n=new Jn({props:{shortcut:e[8][e[10]],... function kr (line 49) | function kr(e){let t,n,r;return n=new Jn({props:{name:"endStage",shortcu... function Pr (line 49) | function Pr(e){let t,n,r;return n=new Jn({props:{name:"endTurn",shortcut... function jr (line 49) | function jr(e){let t,n,r;return n=new Jn({props:{name:"endPhase",shortcu... function Er (line 49) | function Er(e){let t,n,r,l,o,a,s,i,c,u,d,f,p,m,g,v,$,y,h,b,x,w,k,P,j,E,O... function Or (line 49) | function Or(e){let t={};for(const n in e)n.startsWith("_")||(t[n]=e[n]);... function Ar (line 49) | function Ar(e,t,n){let{client:r}=t,{clientManager:l}=t,{ToggleVisibility... class zr (line 49) | class zr extends Le{constructor(e){super(),Je(this,e,Ar,Er,d,{client:0,c... method constructor (line 49) | constructor(e){super(),Je(this,e,Ar,Er,d,{client:0,clientManager:1,Tog... function _r (line 49) | function _r(e){z(e,"svelte-13qih23",".item.svelte-13qih23.svelte-13qih23... function Sr (line 49) | function Sr(e){let t,n,r,o,a,s,i=JSON.stringify(e[1])+"";return{c(){t=M(... function Cr (line 49) | function Cr(e,t,n){let{name:r}=t,{value:l}=t;return e.$$set=(e=>{"name"i... class qr (line 49) | class qr extends Le{constructor(e){super(),Je(this,e,Cr,Sr,d,{name:0,val... method constructor (line 49) | constructor(e){super(),Je(this,e,Cr,Sr,d,{name:0,value:1},_r)} function Ir (line 49) | function Ir(e){z(e,"svelte-1yzq5o8",".gameinfo.svelte-1yzq5o8{padding:10... function Tr (line 49) | function Tr(e){let t,n;return t=new qr({props:{name:"isConnected",value:... function Mr (line 49) | function Mr(e){let t,n,r,l,o,a,s,i;n=new qr({props:{name:"matchID",value... function Dr (line 49) | function Dr(e,t,n){let r,o=l,a=()=>(o(),o=p(s,e=>n(1,r=e)),s);e.$$.on_de... class Nr (line 49) | class Nr extends Le{constructor(e){super(),Je(this,e,Dr,Mr,d,{client:0,c... method constructor (line 49) | constructor(e){super(),Je(this,e,Dr,Mr,d,{client:0,clientManager:2,Tog... function Vr (line 49) | function Vr(e){z(e,"svelte-6eza86",".turn-marker.svelte-6eza86{display:f... function Br (line 49) | function Br(e){let t,n;return{c(){t=M("div"),n=N(e[0]),G(t,"class","turn... function Rr (line 49) | function Rr(e,t,n){let{turn:r}=t,{numEvents:l}=t;const o=`grid-row: span... class Kr (line 49) | class Kr extends Le{constructor(e){super(),Je(this,e,Rr,Br,d,{turn:0,num... method constructor (line 49) | constructor(e){super(),Je(this,e,Rr,Br,d,{turn:0,numEvents:2},Vr)} function Gr (line 49) | function Gr(e){z(e,"svelte-1t4xap",".phase-marker.svelte-1t4xap{grid-col... function Jr (line 49) | function Jr(e){let t,n,r=(e[0]||"")+"";return{c(){t=M("div"),n=N(r),G(t,... function Lr (line 49) | function Lr(e,t,n){let{phase:r}=t,{numEvents:l}=t;const o=`grid-row: spa... class Fr (line 49) | class Fr extends Le{constructor(e){super(),Je(this,e,Lr,Jr,d,{phase:0,nu... method constructor (line 49) | constructor(e){super(),Je(this,e,Lr,Jr,d,{phase:0,numEvents:2},Gr)} function Hr (line 49) | function Hr(e){let t;return{c(){(t=M("div")).textContent=`${e[0]}`},m(e,... function Zr (line 49) | function Zr(e,t,n){let{metadata:r}=t;const l=void 0!==r?JSON.stringify(r... class Ur (line 49) | class Ur extends Le{constructor(e){super(),Je(this,e,Zr,Hr,d,{metadata:1... method constructor (line 49) | constructor(e){super(),Je(this,e,Zr,Hr,d,{metadata:1})} function Wr (line 49) | function Wr(e){z(e,"svelte-vajd9z",".log-event.svelte-vajd9z{grid-column... function Xr (line 49) | function Xr(e){let t,n;return t=new Ur({props:{metadata:e[2]}}),{c(){Be(... function Yr (line 49) | function Yr(e){let t,n,r;var l=e[3];function o(e){return{props:{metadata... function Qr (line 49) | function Qr(e){let t,n,r,l,o,a,s,i,u,d,f,p,m;const g=[Yr,Xr],v=[];functi... function el (line 49) | function el(e,t,n){let{logIndex:r}=t,{action:l}=t,{pinned:o}=t,{metadata... class tl (line 49) | class tl extends Le{constructor(e){super(),Je(this,e,el,Qr,d,{logIndex:0... method constructor (line 49) | constructor(e){super(),Je(this,e,el,Qr,d,{logIndex:0,action:8,pinned:1... function nl (line 49) | function nl(e){let t;return{c(){G(t=D("path"),"d","M504 256c0 137-111 24... function rl (line 49) | function rl(e){let t,n;const r=[{viewBox:"0 0 512 512"},e[0]];let l={$$s... function ll (line 49) | function ll(e,t,n){return e.$$set=(e=>{n(0,t=a(a({},t),b(e)))}),[t=b(t)]} class ol (line 49) | class ol extends Le{constructor(e){super(),Je(this,e,ll,rl,d,{})}} method constructor (line 49) | constructor(e){super(),Je(this,e,ll,rl,d,{})} function al (line 49) | function al(e){z(e,"svelte-1a7time","div.svelte-1a7time{white-space:nowr... function sl (line 49) | function sl(e){let t,n;return{c(){t=M("div"),n=N(e[0]),G(t,"alt",e[0]),G... function il (line 49) | function il(e,t,n){let r,{action:l}=t;return e.$$set=(e=>{"action"in e&&... class cl (line 49) | class cl extends Le{constructor(e){super(),Je(this,e,il,sl,d,{action:1},... method constructor (line 49) | constructor(e){super(),Je(this,e,il,sl,d,{action:1},al)} function ul (line 49) | function ul(e){z(e,"svelte-ztcwsu","table.svelte-ztcwsu.svelte-ztcwsu{fo... function dl (line 49) | function dl(e,t,n){const r=e.slice();return r[10]=t[n],r[12]=n,r} function fl (line 49) | function fl(e){let t,n,r,l,o,a,s,i,u,d,f,p,m,g=e[10].value+"",v=e[10].vi... function pl (line 49) | function pl(e){let t,n,r,l,o,a=e[1],s=[];for(let c=0;c(a(),a=p(i,e=>r(10,o=e)),i);e.$$.on_d... class Dl (line 49) | class Dl extends Le{constructor(e){super(),Je(this,e,Ml,Tl,d,{client:0},... method constructor (line 49) | constructor(e){super(),Je(this,e,Ml,Tl,d,{client:0},El)} function Nl (line 49) | function Nl(e){z(e,"svelte-1fu900w","label.svelte-1fu900w{color:#666}.op... function Vl (line 49) | function Vl(e,t,n){const r=e.slice();return r[6]=t[n][0],r[7]=t[n][1],r[... function Bl (line 49) | function Bl(e){let t,n,r,l;function o(){e[5].call(t,e[6])}return{c(){G(t... function Rl (line 49) | function Rl(e){let t,n,r,l,o,a,s,i,u,d=e[1][e[6]]+"";function f(){e[4].c... function Kl (line 49) | function Kl(e){let t,n,r,l,o,a,s=e[6]+"";function i(e,t){return e[7].ran... function Gl (line 49) | function Gl(e){let t,n=Object.entries(e[0].opts()),r=[];for(let l=0;l(s(),s=p(c,e=>n(15,o=e)),c);e.$$.... class mo (line 49) | class mo extends Le{constructor(e){super(),Je(this,e,po,fo,d,{clientMana... method constructor (line 49) | constructor(e){super(),Je(this,e,po,fo,d,{clientManager:0},oo)} function e (line 51) | function e(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enume... function r (line 53) | function r(e){return e&&e.__esModule?e:{default:e}} method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function t (line 53) | function t(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){va... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function n (line 53) | function n(r){for(var n=1;n{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function t (line 55) | function t(e){return"Minified Redux error #"+e+"; visit https://redux.js... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function u (line 55) | function u(e){if("object"!=typeof e||null===e)return!1;for(var r=e;null!... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function f (line 55) | function f(e){var r=typeof e;return r} function c (line 55) | function c(e,r,o){var f;if("function"==typeof r&&"function"==typeof o||"... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function a (line 55) | function a(e){"undefined"!=typeof console&&"function"==typeof console.er... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function p (line 55) | function p(e,r,t,n){var o=Object.keys(r),c=t&&t.type===i.INIT?"preloaded... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function s (line 55) | function s(e){Object.keys(e).forEach(function(r){var n=e[r];if(void 0===... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function d (line 55) | function d(e){for(var r=Object.keys(e),n={},o=0;o!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;rt.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function v (line 55) | function v(){for(var r=arguments.length,n=new Array(r),o=0;oe()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class t (line 59) | class t{constructor({transportDataCallback:t,gameName:a,playerID:s,match... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} class h (line 61) | class h extends n.T{connect(){}disconnect(){}sendAction(){}sendChatMessa... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... class l (line 61) | class l{constructor(){this.debugPanel=null,this.currentClient=null,this.... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function g (line 61) | function g(t,e,s,r,a,n){const h={};for(const c of e)h[c]=((...e)=>{const... class m (line 61) | class m{constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g... method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function y (line 61) | function y(t){return new m(t)} method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... class a (line 63) | class a extends Error{constructor(e,t){super(e),this.details=t}} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class n (line 63) | class n{constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")}as... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;st(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function x (line 65) | function x(){} function b (line 65) | function b(e,r,t){this.props=e,this.context=r,this.refs=h,this.updater=t... method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function g (line 65) | function g(e,r,n){var o,u={},f=null,c=null;if(null!=r)for(o in void 0!==... function w (line 65) | function w(e,r){return{$$typeof:t,type:e.type,key:r,ref:e.ref,props:e.pr... function C (line 65) | function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===t} function E (line 65) | function E(e){var r={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g... function j (line 65) | function j(e,r,t,n){if(P.length){var o=P.pop();return o.result=e,o.keyPr... function O (line 65) | function O(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,... function A (line 65) | function A(e,r,o,u){var f=typeof e;"undefined"!==f&&"boolean"!==f||(e=nu... function I (line 65) | function I(e,r,t){return null==e?0:A(e,"",r,t)} function U (line 65) | function U(e,r){return"object"==typeof e&&null!==e&&null!=e.key?E(e.key)... function q (line 65) | function q(e,r){e.func.call(e.context,r,e.count++)} function F (line 65) | function F(e,r,t){var n=e.result,o=e.keyPrefix;e=e.func.call(e.context,r... function L (line 65) | function L(e,r,t,n,o){var u="";null!=t&&(u=(""+t).replace(R,"$&/")+"/"),... function D (line 65) | function D(){var e=M.current;if(null===e)throw Error(d(321));return e} function r (line 71) | function r(){} method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function t (line 71) | function t(){} method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function n (line 71) | function n(r,t,n,o,a,p){if(p!==e){var c=new Error("Calling PropTypes val... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function n (line 75) | function n(t,i){if("string"!=typeof t)throw new TypeError("argument str ... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function a (line 75) | function a(e,t){try{return t(e)}catch(r){return e}} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function u (line 78) | function u(e){return e&&e.__esModule?e:{default:e}} method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function d (line 78) | function d(){return s&&!s.headersSent} method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function f (line 78) | function f(e,o){var t=c?a:r.default.parse(document.cookie),n=t&&t[e];if(... function l (line 78) | function l(e){var o=c?a:r.default.parse(document.cookie);if(void 0===e&&... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function y (line 78) | function y(e,t,n){a[e]=t,"object"===(void 0===t?"undefined":o(t))&&(a[e]... method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function v (line 78) | function v(e,o){delete a[e],o=void 0===o?{}:"string"==typeof o?{path:o}:... function k (line 78) | function k(e){a=e?r.default.parse(e):{}} function m (line 78) | function m(e,o){return e.cookie?a=e.cookie:e.cookies?a=e.cookies:e.heade... method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function a (line 80) | function a(t){return t.type()===e.SYNC} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class s (line 80) | class s{type(){return e.ASYNC}async createMatch(e,t){if(this.createGame)... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... class n (line 80) | class n{type(){return e.SYNC}connect(){}createMatch(e,t){if(this.createG... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function o (line 84) | function o(e,t){return void 0===e?e:e.map(e=>{if(null!==t&&+t==+e.action... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function t (line 86) | function t(r,e){var t=e.replace(/\/{2,9}/g,"/").split("/");return"/"!=e.... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function s (line 86) | function s(r,e){var t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,fu... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function t (line 88) | function t(t){if(!((t=String(t)).length>100)){var u=/^(-?(?:\d+)?\.?\d+)... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function u (line 88) | function u(n){var c=Math.abs(n);return c>=a?Math.round(n/a)+"d":c>=r?Mat... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function i (line 88) | function i(n){var c=Math.abs(n);return c>=a?o(n,c,a,"day"):c>=r?o(n,c,r,... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function o (line 88) | function o(s,e,r,a){var n=e>=1.5*r;return Math.round(s/r)+" "+a+(n?"s":"")} method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function e (line 90) | function e(e){function n(e){let r,s,o,a=null;function l(...e){if(!l.enab... function o (line 93) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function t (line 93) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function C (line 93) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 93) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 93) | function n(){try{return localStorage}catch(e){}} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function t (line 113) | function t(t){if(t)return e(t)} method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function e (line 113) | function e(e){for(var s in t.prototype)e[s]=t.prototype[s];return e} function s (line 113) | function s(){this.off(t,s),e.apply(this,arguments)} method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function e (line 115) | function e(e){function n(e){let r,s,o,a=null;function l(...e){if(!l.enab... function o (line 118) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function t (line 118) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function C (line 118) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 118) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 118) | function n(){try{return localStorage}catch(e){}} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function a (line 124) | function a(r){var n="";do{n=e[r%t]+n,r=Math.floor(r/t)}while(r>0);return n} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function c (line 124) | function c(r){var e=0;for(u=0;uthis.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function f (line 124) | function f(){var e=a(+new Date);return e!==r?(o=0,r=e):e+"."+a(o++)} class p (line 126) | class p extends t{get name(){return"polling"}doOpen(){this.poll()}pause(... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function n (line 130) | function n(){} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class u (line 130) | class u extends s{constructor(t,e){super(),this.opts=e,this.method=e.met... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function d (line 130) | function d(){for(let t in u.requests)u.requests.hasOwnProperty(t)&&u.req... method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... class o (line 132) | class o extends e{constructor(e){super(e),this.query=this.query||{},s||(... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function h (line 136) | function h(r){var t=r.length;if(t%4>0)throw new Error("Invalid string. L... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function u (line 136) | function u(r){var t=h(r),e=t[0],n=t[1];return 3*(e+n)/4-n} method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function c (line 136) | function c(r,t,e){return 3*(t+e)/4-e} method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function i (line 136) | function i(r){var n,o,a=h(r),u=a[0],i=a[1],f=new e(c(r,u,i)),A=0,d=i>0?u... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function f (line 136) | function f(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]} function A (line 136) | function A(r,t,e){for(var n,o=[],a=t;a0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function o (line 144) | function o(){return f.TYPED_ARRAY_SUPPORT?2147483647:1073741823} method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function u (line 144) | function u(t,r){if(o()t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function a (line 144) | function a(t,r,e,n){return h(r),r<=0?u(t,r):void 0!==e?"string"==typeof ... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function c (line 144) | function c(t,r){if(h(r),t=u(t,r<0?0:0|w(r)),!f.TYPED_ARRAY_SUPPORT)for(v... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function l (line 144) | function l(t,r,e){if("string"==typeof e&&""!==e||(e="utf8"),!f.isEncodin... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function g (line 144) | function g(t,r,e,n){if(r.byteLength,e<0||r.byteLength=o())throw new RangeError("Attempt to allocate Buffer... function d (line 144) | function d(t){return+t!=t&&(t=0),f.alloc(+t)} method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function v (line 144) | function v(t,r){if(f.isBuffer(t))return t.length;if("undefined"!=typeof ... function E (line 144) | function E(t,r,e){var n=!1;if((void 0===r||r<0)&&(r=0),r>this.length)ret... function b (line 144) | function b(t,r,e){var n=t[r];t[r]=t[e],t[e]=n} method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function R (line 144) | function R(t,r,e,n,i){if(0===t.length)return-1;if("string"==typeof e?(n=... function _ (line 144) | function _(t,r,e,n,i){var o,u=1,f=t.length,s=r.length;if(void 0!==n&&("u... function A (line 144) | function A(t,r,e,n){e=Number(e)||0;var i=t.length-e;n?(n=Number(n))>i&&(... function m (line 144) | function m(t,r,e,n){return Q($(r,t.length-e),t,e,n)} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function P (line 144) | function P(t,r,e,n){return Q(G(r),t,e,n)} function T (line 144) | function T(t,r,e,n){return P(t,r,e,n)} function B (line 144) | function B(t,r,e,n){return Q(K(r),t,e,n)} function U (line 144) | function U(t,r,e,n){return Q(H(r,t.length-e),t,e,n)} function S (line 144) | function S(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromBy... function Y (line 144) | function Y(t,r,e){e=Math.min(t.length,e);for(var n=[],i=r;in)&&(e=n);... function C (line 144) | function C(t,r,e){for(var n=t.slice(r,e),i="",o=0;ot.length)throw new RangeError("Index out ... function j (line 144) | function j(t,r,n,i,o){return o||F(t,r,n,4,3.4028234663852886e38,-3.40282... function q (line 144) | function q(t,r,n,i,o){return o||F(t,r,n,8,1.7976931348623157e308,-1.7976... function X (line 144) | function X(t){if((t=J(t).replace(V,"")).length<2)return"";for(;t.length%... function J (line 144) | function J(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")} function Z (line 144) | function Z(t){return t<16?"0"+t.toString(16):t.toString(16)} function $ (line 144) | function $(t,r){var e;r=r||1/0;for(var n=t.length,i=null,o=[],u=0;u=r.length||i>=t.length);++i)r... function W (line 144) | function W(t){return t!=t} class l (line 147) | class l extends t{constructor(e){super(e),this.supportsBinary=!e.forceBa... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;re()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class n (line 151) | class n extends e{constructor(t,e={}){super(),t&&"object"==typeof t&&(e=... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function f (line 155) | function f(r){return e&&(r instanceof ArrayBuffer||t(r))||o&&r instanceo... function i (line 155) | function i(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function e (line 157) | function e(t){const e=[],n=t.data,o=t;return o.data=r(n,e),o.attachments... function r (line 157) | function r(e,n){if(!e)return e;if(t.isBinary(e)){const t={_placeholder:!... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 157) | function n(t,e){return t.data=o(t.data,e),t.attachments=void 0,t} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function e (line 159) | function e(e){function n(e){let r,o=null;function s(...e){if(!s.enabled)... function o (line 162) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function t (line 162) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function C (line 162) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 162) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 162) | function n(){try{return localStorage}catch(e){}} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;sthis.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} class o (line 164) | class o extends t{constructor(){super()}add(t){let e;if("string"==typeof... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function i (line 164) | function i(t){try{return JSON.parse(t)}catch(e){return!1}} method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... class a (line 164) | class a{constructor(t){this.packet=t,this.buffers=[],this.reconPack=t}ta... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function e (line 166) | function e(e,o,t){return e.on(o,t),function(){e.off(o,t)}} class t (line 168) | class t extends e{on(e,t){return super.on(e,t),this}once(e,t){return sup... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} class c (line 170) | class c extends s.StrictEventEmitter{constructor(t,e,s){super(),this.rec... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function t (line 172) | function t(t){t=t||{},this.ms=t.min||100,this.max=t.max||1e4,this.factor... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} class r (line 174) | class r extends s.StrictEventEmitter{constructor(e,t){super(),this.nsps=... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 176) | function n(n,c){"object"==typeof n&&(c=n,n=void 0),c=c||{};const s=e.url... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class c (line 178) | class c extends Map{constructor(t){super(),this.key=t,(JSON.parse(localS... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} class o (line 178) | class o extends r{constructor(t="bgio"){super();const e=e=>new c(`${t}_$... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function h (line 178) | function h(t,e){if(void 0!==t.ctx.gameover)return null;if(t.ctx.activePl... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... class l (line 178) | class l extends s.M{constructor({game:t,bots:e,storageKey:s,persist:a}){... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{const{gameKey:... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... class y (line 178) | class y extends t.T{constructor({socket:t,socketOpts:e,server:s,...i}){s... method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function g (line 178) | function g({server:t,socketOpts:e}={}){return s=>new y({server:t,socketO... function c (line 180) | function c(e){return e&&e.__esModule?e:{default:e}} method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function o (line 180) | function o(t){var a;const{game:n,numPlayers:i,board:l,multiplayer:c,enha... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... class h (line 180) | class h{constructor({server:e,gameComponents:t,playerName:s,playerCreden... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function m (line 180) | function m(e){return new h(e)} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... class u (line 180) | class u extends s.default.Component{constructor(){super(...arguments),th... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... class p (line 180) | class p extends s.default.Component{constructor(){super(...arguments),th... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... class d (line 180) | class d extends s.default.Component{constructor(e){super(e),this.state={... method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... class y (line 180) | class y extends s.default.Component{constructor(e){super(e),this.state={... method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function a (line 186) | function a(e){return e&&e.__esModule?e:{default:e}} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function i (line 186) | function i(e){return[[0,1,2],[3,4,5],[6,7,8],[0,3,6],[1,4,7],[2,5,8],[0,... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... method clickCell (line 186) | clickCell(e,t,l){if(null!==e.cells[l])return n.INVALID_MOVE;e.cells[l]=t... function u (line 186) | function u({ctx:t,G:l,moves:r}){const n=e=>r.clickCell(e);let a="";t.gam... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... FILE: docs/documentation/snippets/example-3.1fa4f5db.js function f (line 1) | function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequi... function n (line 2) | function n(r){if(null==r)throw new TypeError("Object.assign cannot be ca... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function d (line 4) | function d(e){for(var r="https://reactjs.org/docs/error-decoder.html?inv... method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function m (line 4) | function m(e,r,t){this.props=e,this.context=r,this.refs=h,this.updater=t... method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function x (line 4) | function x(){} function b (line 4) | function b(e,r,t){this.props=e,this.context=r,this.refs=h,this.updater=t... method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function g (line 4) | function g(e,r,n){var o,u={},f=null,c=null;if(null!=r)for(o in void 0!==... function w (line 4) | function w(e,r){return{$$typeof:t,type:e.type,key:r,ref:e.ref,props:e.pr... function C (line 4) | function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===t} function E (line 4) | function E(e){var r={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g... function j (line 4) | function j(e,r,t,n){if(P.length){var o=P.pop();return o.result=e,o.keyPr... function O (line 4) | function O(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,... function A (line 4) | function A(e,r,o,u){var f=typeof e;"undefined"!==f&&"boolean"!==f||(e=nu... function I (line 4) | function I(e,r,t){return null==e?0:A(e,"",r,t)} function U (line 4) | function U(e,r){return"object"==typeof e&&null!==e&&null!=e.key?E(e.key)... function q (line 4) | function q(e,r){e.func.call(e.context,r,e.count++)} function F (line 4) | function F(e,r,t){var n=e.result,o=e.keyPrefix;e=e.func.call(e.context,r... function L (line 4) | function L(e,r,t,n,o){var u="";null!=t&&(u=(""+t).replace(R,"$&/")+"/"),... function D (line 4) | function D(){var e=M.current;if(null===e)throw Error(d(321));return e} function k (line 8) | function k(e,n){var t=e.length;e.push(n);e:for(;;){var r=t-1>>>1,o=e[r];... function T (line 8) | function T(e){return void 0===(e=e[0])?null:e} function g (line 8) | function g(e){var n=e[0];if(void 0!==n){var t=e.pop();if(t!==n){e[0]=t;e... function P (line 8) | function P(e,n){var t=e.sortIndex-n.sortIndex;return 0!==t?t:e.id-n.id} function R (line 8) | function R(e){for(var n=T(I);null!==n;){if(null===n.callback)g(I);else{i... function j (line 8) | function j(t){if(D=!1,R(t),!q)if(null!==T(F))q=!0,e(E);else{var r=T(I);n... function E (line 8) | function E(e,o){q=!1,D&&(D=!1,t()),L=!0;var a=A;try{for(R(o),C=T(F);null... function N (line 8) | function N(e){switch(e){case 1:return-1;case 2:return 250;case 5:return ... function r (line 12) | function r(e){for(var t="https://reactjs.org/docs/error-decoder.html?inv... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function l (line 12) | function l(e,t,n,r,l,i,a,o,u){var c=Array.prototype.slice.call(arguments... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;rt.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function y (line 12) | function y(){if(g)for(var e in v){var t=v[e],n=g.indexOf(e);if(!(-10} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function E (line 12) | function E(e){var t,n=!1;for(t in e)if(e.hasOwnProperty(t)){var l=e[t];i... function N (line 12) | function N(e){if(e=p(e)){if("function"!=typeof C)throw Error(r(280));var... function z (line 12) | function z(e){P?_?_.push(e):_=[e]:P=e} function M (line 12) | function M(){if(P){var e=P,t=_;if(_=P=null,N(e),t)for(e=0;e{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function hr (line 12) | function hr(e,t){switch(e){case"keyup":return-1!==or.indexOf(t.keyCode);... function gr (line 12) | function gr(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null} function yr (line 12) | function yr(e,t){switch(e){case"compositionend":return gr(t);case"keypre... function br (line 12) | function br(e,t){if(vr)return"compositionend"===e||!ur&&hr(e,t)?(e=Zn(),... function xr (line 12) | function xr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"inpu... function Er (line 12) | function Er(e,t,n){return(e=tr.getPooled(Tr.change,e,t,n)).type="change"... function Pr (line 12) | function Pr(e){ft(e)} function _r (line 12) | function _r(e){if(Ee(Vn(e)))return e} function Nr (line 12) | function Nr(e,t){if("change"===e)return t} method constructor (line 49) | constructor(e){super(),Je(this,e,Dr,Mr,d,{client:0,clientManager:2,Tog... function Mr (line 12) | function Mr(){Sr&&(Sr.detachEvent("onpropertychange",Ir),Cr=Sr=null)} function Ir (line 12) | function Ir(e){if("value"===e.propertyName&&_r(Cr))if(e=Er(Cr,e,dt(e)),D... function Fr (line 12) | function Fr(e,t,n){"focus"===e?(Mr(),Cr=n,(Sr=t).attachEvent("onproperty... method constructor (line 49) | constructor(e){super(),Je(this,e,Lr,Jr,d,{phase:0,numEvents:2},Gr)} function Or (line 12) | function Or(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)retu... function Rr (line 12) | function Rr(e,t){if("click"===e)return _r(t)} function Dr (line 12) | function Dr(e,t){if("input"===e||"change"===e)return _r(t)} function Vr (line 12) | function Vr(e){var t=this.nativeEvent;return t.getModifierState?t.getMod... function Qr (line 12) | function Qr(){return Vr} function Xr (line 12) | function Xr(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t} function Jr (line 12) | function Jr(e,t){if(Gr(e,t))return!0;if("object"!=typeof e||null===e||"o... function al (line 12) | function al(e,t){var n=t.window===t?t.document:9===t.nodeType?t:t.ownerD... function fl (line 12) | function fl(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&... function Tl (line 12) | function Tl(e){0>xl||(e.current=kl[xl],kl[xl]=null,xl--)} function El (line 12) | function El(e,t){kl[++xl]=e.current,e.current=t} function Nl (line 12) | function Nl(e,t){var n=e.type.contextTypes;if(!n)return Sl;var r=e.state... function zl (line 12) | function zl(e){return null!=(e=e.childContextTypes)} function Ml (line 12) | function Ml(){Tl(Pl),Tl(Cl)} function Il (line 12) | function Il(e,t,n){if(Cl.current!==Sl)throw Error(r(168));El(Cl,t),El(Pl... function Fl (line 12) | function Fl(e,n,l){var i=e.stateNode;if(e=n.childContextTypes,"function"... function Ol (line 12) | function Ol(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMerged... function Rl (line 12) | function Rl(e,t,n){var l=e.stateNode;if(!l)throw Error(r(169));n?(e=Fl(e... function ti (line 12) | function ti(){switch(Ql()){case Wl:return 99;case Hl:return 98;case jl:r... function ni (line 12) | function ni(e){switch(e){case 99:return Wl;case 98:return Hl;case 97:ret... function ri (line 12) | function ri(e,t){return e=ni(e),Dl(e,t)} function li (line 12) | function li(e,t,n){return e=ni(e),Ll(e,t,n)} function ii (line 12) | function ii(e){return null===Xl?(Xl=[e],Gl=Ll(Wl,oi)):Xl.push(e),$l} function ai (line 12) | function ai(){if(null!==Gl){var e=Gl;Gl=null,Ul(e)}oi()} function oi (line 12) | function oi(){if(!Zl&&null!==Xl){Zl=!0;var e=0;try{var t=Xl;ri(99,functi... function ui (line 12) | function ui(e,t,n){return 1073741821-(1+((1073741821-e+t/10)/(n/=10)|0))*n} function ci (line 12) | function ci(e,n){if(e&&e.defaultProps)for(var r in n=t({},n),e=e.default... function mi (line 12) | function mi(){pi=di=fi=null} function hi (line 12) | function hi(e){var t=si.current;Tl(si),e.type._context._currentValue=t} function gi (line 12) | function gi(e,t){for(;null!==e;){var n=e.alternate;if(e.childExpirationT... function vi (line 12) | function vi(e,t){fi=e,pi=di=null,null!==(e=e.dependencies)&&null!==e.fir... function yi (line 12) | function yi(e,t){if(pi!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741... function wi (line 12) | function wi(e){e.updateQueue={baseState:e.memoizedState,baseQueue:null,s... function ki (line 12) | function ki(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={base... function xi (line 12) | function xi(e,t){return(e={expirationTime:e,suspenseConfig:t,tag:0,paylo... function Ti (line 12) | function Ti(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending... function Ei (line 12) | function Ei(e,t){var n=e.alternate;null!==n&&ki(n,e),null===(n=(e=e.upda... function Si (line 12) | function Si(e,n,r,l){var i=e.updateQueue;bi=!1;var a=i.baseQueue,o=i.sha... function Ci (line 12) | function Ci(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;tr?98:r,function(){e(!0)}),ri(97lu&&(lu=e)} function Ru (line 12) | function Ru(){for(;null!==Go;)Go=Lu(Go)} function Du (line 12) | function Du(){for(;null!==Go&&!ql();)Go=Lu(Go)} function Lu (line 12) | function Lu(e){var t=Ro(e.alternate,e,Zo);return e.memoizedProps=e.pendi... function Uu (line 12) | function Uu(e){Go=e;do{var t=Go.alternate;if(e=Go.return,0==(2048&Go.eff... function Au (line 12) | function Au(e){var t=e.expirationTime;return t>(e=e.childExpirationTime)... function Vu (line 12) | function Vu(e){var t=ti();return ri(99,Qu.bind(null,e,t)),null} function Qu (line 12) | function Qu(e,t){do{Hu()}while(null!==pu);if((Yo&(Qo|Wo))!==Ao)throw Err... function Wu (line 12) | function Wu(){for(;null!==uu;){var e=uu.effectTag;0!=(256&e)&&bo(uu.alte... function Hu (line 12) | function Hu(){if(90!==mu){var e=97e.firstPendingTime&&(e.firstPendingTime=t);var n=e.fi... function fc (line 12) | function fc(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTim... function dc (line 12) | function dc(e,t,n,l){var i=t.current,a=bu(),o=Pi.suspense;a=wu(a,i,o);e:... function pc (line 12) | function pc(e){if(!(e=e.current).child)return null;switch(e.child.tag){c... function mc (line 12) | function mc(e,t){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retr... function hc (line 12) | function hc(e,t){mc(e,t),(e=e.alternate)&&mc(e,t)} function gc (line 12) | function gc(e,t,n){var r=new oc(e,t,n=null!=n&&!0===n.hydrate),l=Ju(3,nu... function vc (line 12) | function vc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeTy... function yc (line 12) | function yc(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.fir... function bc (line 12) | function bc(e,t,n,r,l){var i=n._reactRootContainer;if(i){var a=i._intern... function wc (line 12) | function wc(e,t,n){var r=31?t-1:0),n=1;ne()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 18) | function n(r){return t(r)||e(23,r),r[Q].t} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function i (line 18) | function i(e){var t=e[Q];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:s(e... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function a (line 18) | function a(e,t){return 2===i(e)?e.has(t):Object.prototype.hasOwnProperty... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function u (line 18) | function u(e,t){return 2===i(e)?e.get(t):e[t]} method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function c (line 18) | function c(e,t,r){var n=i(e);2===n?e.set(t,r):3===n?(e.delete(t),e.add(r... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function f (line 18) | function f(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t} function s (line 18) | function s(e){return X&&e instanceof Map} method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function l (line 18) | function l(e){return q&&e instanceof Set} method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function h (line 18) | function h(e){if(Array.isArray(e))return Array.prototype.slice.call(e);v... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function v (line 18) | function v(e,n){return void 0===n&&(n=!1),y(e)||t(e)||!r(e)?e:(i(e)>1&&(... function d (line 18) | function d(){e(2)} method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function y (line 18) | function y(e){return null==e||"object"!=typeof e||Object.isFrozen(e)} method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function b (line 18) | function b(t){var r=re[t];return r||e(18,t),r} method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function g (line 18) | function g(e,t){re[e]||(re[e]=t)} function m (line 18) | function m(){return J} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function P (line 18) | function P(e,t){t&&(b("Patches"),e.u=[],e.s=[],e.v=t)} function O (line 18) | function O(e){x(e),e.p.forEach(j),e.p=null} function x (line 18) | function x(e){e===J&&(J=e.l)} function w (line 18) | function w(e){return J={p:[],l:J,h:e,m:!0,_:0}} function j (line 18) | function j(e){var t=e[Q];0===t.i||1===t.i?t.j():t.O=!0} function A (line 18) | function A(t,n){n._=n.p.length;var o=n.p[0],i=void 0!==t&&t!==o;return n... function D (line 18) | function D(e,t,r){if(y(t))return t;var n=t[Q];if(!n)return o(t,function(... function S (line 18) | function S(e,n,o,i,u,f){if(t(u)){var s=D(e,u,f&&n&&3!==n.i&&!a(n.D,i)?f.... function _ (line 18) | function _(e,t,r){void 0===r&&(r=!1),e.h.F&&e.m&&v(t,r)} function k (line 18) | function k(e,t){var r=e[Q];return(r?p(r):e)[t]} function I (line 18) | function I(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var n=O... function z (line 18) | function z(e){e.P||(e.P=!0,e.l&&z(e.l))} function E (line 18) | function E(e){e.o||(e.o=h(e.t))} function M (line 18) | function M(e,t,r){var n=s(t)?b("MapSet").N(t,r):l(t)?b("MapSet").T(t,r):... function F (line 18) | function F(n){return t(n)||e(22,n),function e(t){if(!r(t))return t;var n... function R (line 18) | function R(e,t){switch(t){case 2:return new Map(e);case 3:return Array.f... function C (line 18) | function C(){function e(e,t){var r=u[e];return r?r.enumerable=t:u[e]=r={... function T (line 18) | function T(){function n(e){if(!r(e))return e;if(Array.isArray(e))return ... function K (line 18) | function K(){function t(e,t){function r(){this.constructor=e}u(e,t),e.pr... function U (line 18) | function U(){C(),K(),T()} function W (line 18) | function W(e){return e} function N (line 18) | function N(e){return e} function n (line 18) | function n(t){var n=this;this.g=B,this.F=!0,this.produce=function(t,o,i)... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class n (line 20) | class n{constructor(t){this.state=t||{seed:"0"},this.used=!1}static seed... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function a (line 22) | function a(t){return!!t&&"object"==typeof t} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function p (line 22) | function p(r){if(!a(r)||i.call(r)!=t||n(r))return!1;var o=l(r);if(null==... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function a (line 24) | function a(e){return e&&e.__esModule?e:{default:e}} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class b (line 24) | class b{constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],... method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function U (line 24) | function U(e){if(null==e||"boolean"==typeof e||"number"==typeof e||"stri... function C (line 24) | function C(e){L(`INFO: ${e}`)} function B (line 24) | function B(e){w("ERROR:",e)} function X (line 24) | function X(e,t=!1){e.moveLimit&&(t&&(e.minMoves=e.moveLimit),e.maxMoves=... function Z (line 24) | function Z(e,t){let r={},a=[],n=null,s={},o={};if(Array.isArray(t)){cons... function ee (line 24) | function ee(e){let{activePlayers:t,_activePlayersMinMoves:r,_activePlaye... function te (line 24) | function te(e,t,r,a,n){"object"==typeof n&&n!==oe.NULL||(n={stage:n}),vo... function re (line 24) | function re(e,t){return e[t]+""} function ae (line 24) | function ae(e,t){let{G:r,ctx:a}=e;const{numPlayers:n}=a,s=V(e),o=t.order... function ne (line 24) | function ne(e,t,r,a){const n=r.order;let{G:s,ctx:o}=e,i=o.playOrderPos,l... function t (line 26) | function t(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")} method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function e (line 26) | function e(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")} function n (line 26) | function n(t){void 0===t&&(t=[""]),this.tokens=t} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function e (line 28) | function e(r){return null!=r&&"object"==typeof r} function t (line 28) | function t(r){if(!e(r))return r;if(r.constructor==Array){for(var o=r.len... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function t (line 30) | function t(r){var e=r.op;return"remove"===e||"replace"===e||"copy"===e||... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function o (line 30) | function o(r,t){var o={};for(var n in r)e.hasOwnProperty.call(r,n)&&void... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function n (line 30) | function n(r){for(var t=r.length,o={},n=0;n{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function a (line 30) | function a(r){return"remove"===r.op} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function p (line 30) | function p(r,e){return{operations:r.operations.concat(e),cost:r.cost+1}} method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function c (line 30) | function c(e,t,o,n){void 0===n&&(n=s);var c={"0,0":{operations:[],cost:0... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function u (line 30) | function u(r,e,t,i){void 0===i&&(i=s);var a=[];return o(r,e).forEach(fun... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function s (line 30) | function s(r,t,o,n){if(void 0===n&&(n=s),r===t)return[];var i=e.objectTy... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function n (line 32) | function n(){this.constructor=e} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function u (line 32) | function u(r,e){if(Array.isArray(r)){var t=parseInt(e,10);r.splice(t,1)}... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function p (line 32) | function p(r,n){var a=e.Pointer.fromJSON(n.path).evaluate(r);return void... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function l (line 32) | function l(r,t){var n=e.Pointer.fromJSON(t.path).evaluate(r);return void... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;rthis.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function f (line 32) | function f(r,t){var o=e.Pointer.fromJSON(t.path).evaluate(r);return n.di... function t (line 32) | function t(r){var t=e.call(this,"Invalid operation: "+r.op)||this;return... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function y (line 32) | function y(r,e){switch(e.op){case"add":return p(r,e);case"remove":return... method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function n (line 34) | function n(r,t){return t.map(function(t){return e.apply(r,t)})} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function i (line 34) | function i(e,n,i){var o=new r.Pointer;return(i?a(i):t.diffAny)(e,n,o)} method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function o (line 34) | function o(e,t){var n=r.Pointer.fromJSON(t).evaluate(e);if(void 0!==n)re... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function u (line 34) | function u(r,e){var n=new Array;return e.filter(t.isDestructive).forEach... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function r (line 36) | function r({moves:e,phases:t,endIf:a,onEnd:r,turn:o,events:s,plugins:i})... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 36) | function o(e){return void 0!==e.processMove} method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function s (line 36) | function s(e){if(o(e))return e;if(void 0===e.name&&(e.name="default"),vo... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function i (line 36) | function i(e){return e instanceof Object&&void 0!==e.move} method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function l (line 36) | function l(e,t){if(t.game.disableUndo)return e;const n={G:e.G,ctx:e.ctx,... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function v (line 36) | function v(e){if(!e)return[null,void 0];const{transients:t,...n}=e;retur... function f (line 36) | function f(e,t,n){return{...e,transients:{error:{type:t,payload:n}}}} function g (line 36) | function g({game:r,isClient:o}){return r=s(r),(s=null,i)=>{let[y]=v(s);s... function x (line 38) | function x(t,e){if(y)return y=!y,e;const s=r.call(this,t,e);switch(typeo... function r (line 41) | function r(){throw new Error("setTimeout has not been defined")} method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 41) | function o(){throw new Error("clearTimeout has not been defined")} method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function i (line 41) | function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&s... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function u (line 41) | function u(t){if(e===clearTimeout)return clearTimeout(t);if((e===o||!e)&... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function f (line 41) | function f(){l&&c&&(l=!1,c.length?s=c.concat(s):a=-1,s.length&&h())} function h (line 41) | function h(){if(!l){var t=i(f);l=!0;for(var e=s.length;e;){for(c=s,s=[];... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function m (line 41) | function m(t,e){this.fun=t,this.array=e} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function p (line 41) | function p(){} method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function g (line 45) | function g(e){delete f[e]} function m (line 45) | function m(e){if(u)setTimeout(m,0,e);else{var t=f[e];if(t){u=!0;try{!fun... method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... class a (line 47) | class a{constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class i (line 47) | class i extends a{constructor({enumerate:t,seed:e,objectives:a,game:s,it... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... class n (line 47) | class n extends a{play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);retu... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function c (line 47) | async function c({game:t,bots:e,state:s,depth:i}){void 0===i&&(i=1e4);co... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function l (line 49) | function l(){} method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function s (line 49) | function s(e){return e()} method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function i (line 49) | function i(){return Object.create(null)} method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function c (line 49) | function c(e){e.forEach(s)} method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function u (line 49) | function u(e){return"function"==typeof e} method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function d (line 49) | function d(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function... method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function f (line 49) | function f(e){return 0===Object.keys(e).length} function p (line 49) | function p(e,...t){if(null==e)return l;const n=e.subscribe(...t);return ... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function m (line 49) | function m(e,t,n){e.$$.on_destroy.push(p(t,n))} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function g (line 49) | function g(e,t,n,r){if(e){const l=v(e,t,n,r);return e[0](l)}} function v (line 49) | function v(e,t,n,r){return e[1]&&r?a(n.ctx.slice(),e[1](r(t))):n.ctx} function $ (line 49) | function $(e,t,n,r){if(e[2]&&r){const l=e[2](r(n));if(void 0===t.dirty)r... function y (line 49) | function y(e,t,n,r,l,o){if(l){const a=v(t,n,r,o);e.p(a,l)}} method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function h (line 49) | function h(e){if(e.ctx.length>32){const t=[],n=e.ctx.length/32;for(let e... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function b (line 49) | function b(e){const t={};for(const n in e)"$"!==n[0]&&(t[n]=e[n]);return t} method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function x (line 49) | function x(e){return null==e?"":e} function E (line 49) | function E(e){j.forEach(t=>{t.c(e)||(j.delete(t),t.f())}),0!==j.size&&P(E)} function O (line 49) | function O(e){let t;return 0===j.size&&P(E),{promise:new Promise(n=>{j.a... function A (line 49) | function A(e,t){e.appendChild(t)} function z (line 49) | function z(e,t,n){const r=_(e);if(!r.getElementById(t)){const e=M("style... function _ (line 49) | function _(e){if(!e)return document;const t=e.getRootNode?e.getRootNode(... function S (line 49) | function S(e){const t=M("style");return C(_(e),t),t} function C (line 49) | function C(e,t){A(e.head||e,t)} function q (line 49) | function q(e,t,n){e.insertBefore(t,n||null)} function I (line 49) | function I(e){e.parentNode.removeChild(e)} function T (line 49) | function T(e,t){for(let n=0;ne.removeEventLi... function K (line 49) | function K(e){return function(t){return t.stopPropagation(),e.call(this,... function G (line 49) | function G(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.... function J (line 49) | function J(e){return""===e?null:+e} function L (line 49) | function L(e){return Array.from(e.childNodes)} function F (line 49) | function F(e,t){t=""+t,e.wholeText!==t&&(e.data=t)} function H (line 49) | function H(e,t){e.value=null==t?"":t} function Z (line 49) | function Z(e,t){for(let n=0;n{ee||(Y.forEach(e=>{const t=e.__svelte_stylesheet;le... function oe (line 49) | function oe(e){Q=e} function ae (line 49) | function ae(){if(!Q)throw new Error("Function called outside component i... function se (line 49) | function se(e){ae().$$.after_update.push(e)} function ie (line 49) | function ie(e){ae().$$.on_destroy.push(e)} function ce (line 49) | function ce(){const e=ae();return(t,n)=>{const r=e.$$.callbacks[t];if(r)... function ue (line 49) | function ue(e,t){ae().$$.context.set(e,t)} function de (line 49) | function de(e){return ae().$$.context.get(e)} function fe (line 49) | function fe(e,t){const n=e.$$.callbacks[t.type];n&&n.slice().forEach(e=>... function he (line 49) | function he(){ye||(ye=!0,$e.then(ke))} function be (line 49) | function be(e){ge.push(e)} function ke (line 49) | function ke(){if(!xe){xe=!0;do{for(let e=0;e{je=null}),je} function Oe (line 49) | function Oe(e,t,n){e.dispatchEvent(X(`${t?"intro":"outro"}${n}`))} function _e (line 49) | function _e(){ze={r:0,c:[],p:ze}} function Se (line 49) | function Se(){ze.r||c(ze.c),ze=ze.p} function Ce (line 49) | function Ce(e,t){e&&e.i&&(Ae.delete(e),e.i(t))} function qe (line 49) | function qe(e,t,n,r){if(e&&e.o){if(Ae.has(e))return;Ae.add(e),ze.c.push(... function Te (line 49) | function Te(e,t,n){let r,a,s=t(e,n),i=!1,c=0;function d(){r&&re(e,r)}fun... function Me (line 49) | function Me(e,t,n){let r,a=t(e,n),s=!0;const i=ze;function d(){const{del... function De (line 49) | function De(e,t,n,r){let a=t(e,n),s=r?0:1,i=null,d=null,f=null;function ... function Ne (line 49) | function Ne(e,t){const n={},r={},l={$$scope:1};let o=e.length;for(;o--;)... function Ve (line 49) | function Ve(e){return"object"==typeof e&&null!==e?e:{}} function Be (line 49) | function Be(e){e&&e.c()} function Re (line 49) | function Re(e,t,n,r){const{fragment:l,on_mount:o,on_destroy:a,after_upda... function Ke (line 49) | function Ke(e,t){const n=e.$$;null!==n.fragment&&(c(n.on_destroy),n.frag... function Ge (line 49) | function Ge(e,t){-1===e.$$.dirty[0]&&(pe.push(e),he(),e.$$.dirty.fill(0)... function Je (line 49) | function Je(e,t,n,r,o,a,s,u=[-1]){const d=Q;oe(e);const f=e.$$={fragment... class Le (line 49) | class Le{$destroy(){Ke(this,1),this.$destroy=l}$on(e,t){const n=this.$$.... method $destroy (line 49) | $destroy(){Ke(this,1),this.$destroy=l} method $on (line 49) | $on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);retur... method $set (line 49) | $set(e){this.$$set&&!f(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$... function He (line 49) | function He(e,t=l){let n;const r=new Set;function o(t){if(d(e,t)&&(e=t,n... function Ze (line 49) | function Ze(e){const t=e-1;return t*t*t+1} function Ue (line 49) | function Ue(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty... function We (line 49) | function We(e,{delay:t=0,duration:n=400,easing:r=Ze,x:l=0,y:o=0,opacity:... function Xe (line 49) | function Xe(e){var{fallback:t}=e,n=Ue(e,["fallback"]);const r=new Map,l=... function Ye (line 49) | function Ye(e){z(e,"svelte-c8tyih","svg.svelte-c8tyih{stroke:currentColo... function Qe (line 49) | function Qe(e){let t,n;return{c(){t=D("title"),n=N(e[0])},m(e,r){q(e,t,r... function et (line 49) | function et(e){let t,n,r,l=e[0]&&Qe(e);const o=e[3].default,a=g(o,e,e[2]... function tt (line 49) | function tt(e,t,n){let{$$slots:r={},$$scope:l}=t,{title:o=null}=t,{viewB... class nt (line 49) | class nt extends Le{constructor(e){super(),Je(this,e,tt,et,d,{title:0,vi... method constructor (line 49) | constructor(e){super(),Je(this,e,tt,et,d,{title:0,viewBox:1},Ye)} function rt (line 49) | function rt(e){let t;return{c(){G(t=D("path"),"d","M285.476 272.971L91.1... function lt (line 49) | function lt(e){let t,n;const r=[{viewBox:"0 0 320 512"},e[0]];let l={$$s... function ot (line 49) | function ot(e,t,n){return e.$$set=(e=>{n(0,t=a(a({},t),b(e)))}),[t=b(t)]} class at (line 49) | class at extends Le{constructor(e){super(),Je(this,e,ot,lt,d,{})}} method constructor (line 49) | constructor(e){super(),Je(this,e,ot,lt,d,{})} function st (line 49) | function st(e){z(e,"svelte-1xg9v5h",".menu.svelte-1xg9v5h{display:flex;m... function it (line 49) | function it(e,t,n){const r=e.slice();return r[4]=t[n][0],r[5]=t[n][1].la... function ct (line 49) | function ct(e){let t,n,r,l,o,a=e[5]+"";function s(){return e[3](e[4])}re... function ut (line 49) | function ut(e){let t,n=Object.entries(e[1]),r=[];for(let l=0;l{"expanded"in e&... class $t (line 49) | class $t extends Le{constructor(e){super(),Je(this,e,vt,gt,d,{expanded:0... method constructor (line 49) | constructor(e){super(),Je(this,e,vt,gt,d,{expanded:0},mt)} function yt (line 49) | function yt(e){z(e,"svelte-1vlbacg","label.svelte-1vlbacg{display:inline... function ht (line 49) | function ht(e){let t,n,r,l,o,a;return{c(){t=M("label"),n=M("span"),r=N(e... function bt (line 49) | function bt(e){let t,n=e[3]&&e[0]&&ht(e);return{c(){n&&n.c(),t=B()},m(e,... function xt (line 49) | function xt(e,t,n){let r,{key:l,isParentExpanded:o,isParentArray:a=!1,co... class wt (line 49) | class wt extends Le{constructor(e){super(),Je(this,e,xt,bt,d,{key:0,isPa... method constructor (line 49) | constructor(e){super(),Je(this,e,xt,bt,d,{key:0,isParentExpanded:1,isP... function kt (line 49) | function kt(e){z(e,"svelte-rwxv37","label.svelte-rwxv37{display:inline-b... function Pt (line 49) | function Pt(e,t,n){const r=e.slice();return r[12]=t[n],r[20]=n,r} function jt (line 49) | function jt(e){let t,n;return(t=new $t({props:{expanded:e[0]}})).$on("cl... function Et (line 49) | function Et(e){let t;return{c(){(t=M("span")).textContent="…"},m(e,n){q(... function Ot (line 49) | function Ot(e){let t,n,r,l,o,a=e[13],s=[];for(let u=0;u... class xn (line 49) | class xn extends Le{constructor(e){super(),Je(this,e,bn,hn,d,{key:0,valu... method constructor (line 49) | constructor(e){super(),Je(this,e,bn,hn,d,{key:0,value:1},yn)} function wn (line 49) | function wn(e){z(e,"svelte-jvfq3i",".svelte-jvfq3i{box-sizing:border-box... function kn (line 49) | function kn(e,t,n){const r=e.slice();return r[7]=t[n],r[9]=n,r} function Pn (line 49) | function Pn(e){let t,n,r,l,o,a,s=e[1],i=[];for(let c=0;c1&&Pn(e);return{c(){n&&n.c(),t=B()},m... function An (line 49) | function An(e,t,n){let r,o,a,s,i=l,c=()=>(i(),i=p(u,e=>n(5,s=e)),u);e.$$... class zn (line 49) | class zn extends Le{constructor(e){super(),Je(this,e,An,En,d,{clientMana... method constructor (line 49) | constructor(e){super(),Je(this,e,An,En,d,{clientManager:0},wn)} function _n (line 49) | function _n(e){z(e,"svelte-1vfj1mn",".key.svelte-1vfj1mn.svelte-1vfj1mn{... function Sn (line 49) | function Sn(e){let t,n,r,l,o,a=`(shortcut: ${e[0]})`+"";return{c(){t=M("... function Cn (line 49) | function Cn(e){let t,n,r,o,a,s,i=e[1]&&Sn(e);return{c(){t=M("div"),n=M("... function qn (line 49) | function qn(e,t,n){let r,{value:l}=t,{onPress:o=null}=t,{label:a=null}=t... class In (line 49) | class In extends Le{constructor(e){super(),Je(this,e,qn,Cn,d,{value:0,on... method constructor (line 49) | constructor(e){super(),Je(this,e,qn,Cn,d,{value:0,onPress:8,label:1,di... function Tn (line 49) | function Tn(e){z(e,"svelte-1mppqmp",".move.svelte-1mppqmp{display:flex;f... function Mn (line 49) | function Mn(e){let t,n,r,o,a,s,i,d,f,p,m;return{c(){t=M("div"),n=M("span... function Nn (line 49) | function Nn(e,t,n){let r,{Activate:l}=t,{Deactivate:o}=t,{name:a}=t,{act... class Vn (line 49) | class Vn extends Le{constructor(e){super(),Je(this,e,Nn,Mn,d,{Activate:0... method constructor (line 49) | constructor(e){super(),Je(this,e,Nn,Mn,d,{Activate:0,Deactivate:1,name... function Bn (line 49) | function Bn(e){z(e,"svelte-smqssc",".move-error.svelte-smqssc{color:#a00... function Rn (line 49) | function Rn(e){let t,n;return{c(){t=M("span"),n=N(e[2]),G(t,"class","mov... function Kn (line 49) | function Kn(e){let t,n,r,l,o,a,s;r=new In({props:{value:e[0],onPress:e[4... function Gn (line 49) | function Gn(t,n,r){let{shortcut:l}=n,{name:o}=n,{fn:a}=n;const{disableHo... class Jn (line 49) | class Jn extends Le{constructor(e){super(),Je(this,e,Gn,Kn,d,{shortcut:0... method constructor (line 49) | constructor(e){super(),Je(this,e,Gn,Kn,d,{shortcut:0,name:1,fn:8},Bn)} function Ln (line 49) | function Ln(e){z(e,"svelte-c3lavh","ul.svelte-c3lavh{padding-left:0}li.s... function Fn (line 49) | function Fn(e){let t,n,r,l,o,a,s,i,c,u,d,f,p;return r=new In({props:{val... function Hn (line 49) | function Hn(t,r,l){let{client:o}=r,{ToggleVisibility:a}=r;return t.$$set... class Zn (line 49) | class Zn extends Le{constructor(e){super(),Je(this,e,Hn,Fn,d,{client:0,T... method constructor (line 49) | constructor(e){super(),Je(this,e,Hn,Fn,d,{client:0,ToggleVisibility:1}... function Un (line 49) | function Un(e){z(e,"svelte-19aan9p",".player-box.svelte-19aan9p{display:... function Wn (line 49) | function Wn(e,t,n){const r=e.slice();return r[7]=t[n],r} function Xn (line 49) | function Xn(e){let t,n,r,l,o,a,s=e[7]+"";function i(){return e[5](e[7])}... function Yn (line 49) | function Yn(e){let t,n=e[2],r=[];for(let l=0;le.length)&&(t=e.length);for(var n=0,r=new A... function yr (line 49) | function yr(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e... function hr (line 49) | function hr(e,t){var n,r={},l={},o=yr(t);try{for(o.s();!(n=o.n()).done;)... function br (line 49) | function br(e){z(e,"svelte-146sq5f",".tree.svelte-146sq5f{--json-tree-fo... function xr (line 49) | function xr(e,t,n){const r=e.slice();return r[10]=t[n][0],r[11]=t[n][1],r} function wr (line 49) | function wr(e){let t,n,r,l;return n=new Jn({props:{shortcut:e[8][e[10]],... function kr (line 49) | function kr(e){let t,n,r;return n=new Jn({props:{name:"endStage",shortcu... function Pr (line 49) | function Pr(e){let t,n,r;return n=new Jn({props:{name:"endTurn",shortcut... function jr (line 49) | function jr(e){let t,n,r;return n=new Jn({props:{name:"endPhase",shortcu... function Er (line 49) | function Er(e){let t,n,r,l,o,a,s,i,c,u,d,f,p,m,g,v,$,y,h,b,x,w,k,P,j,E,O... function Or (line 49) | function Or(e){let t={};for(const n in e)n.startsWith("_")||(t[n]=e[n]);... function Ar (line 49) | function Ar(e,t,n){let{client:r}=t,{clientManager:l}=t,{ToggleVisibility... class zr (line 49) | class zr extends Le{constructor(e){super(),Je(this,e,Ar,Er,d,{client:0,c... method constructor (line 49) | constructor(e){super(),Je(this,e,Ar,Er,d,{client:0,clientManager:1,Tog... function _r (line 49) | function _r(e){z(e,"svelte-13qih23",".item.svelte-13qih23.svelte-13qih23... function Sr (line 49) | function Sr(e){let t,n,r,o,a,s,i=JSON.stringify(e[1])+"";return{c(){t=M(... function Cr (line 49) | function Cr(e,t,n){let{name:r}=t,{value:l}=t;return e.$$set=(e=>{"name"i... class qr (line 49) | class qr extends Le{constructor(e){super(),Je(this,e,Cr,Sr,d,{name:0,val... method constructor (line 49) | constructor(e){super(),Je(this,e,Cr,Sr,d,{name:0,value:1},_r)} function Ir (line 49) | function Ir(e){z(e,"svelte-1yzq5o8",".gameinfo.svelte-1yzq5o8{padding:10... function Tr (line 49) | function Tr(e){let t,n;return t=new qr({props:{name:"isConnected",value:... function Mr (line 49) | function Mr(e){let t,n,r,l,o,a,s,i;n=new qr({props:{name:"matchID",value... function Dr (line 49) | function Dr(e,t,n){let r,o=l,a=()=>(o(),o=p(s,e=>n(1,r=e)),s);e.$$.on_de... class Nr (line 49) | class Nr extends Le{constructor(e){super(),Je(this,e,Dr,Mr,d,{client:0,c... method constructor (line 49) | constructor(e){super(),Je(this,e,Dr,Mr,d,{client:0,clientManager:2,Tog... function Vr (line 49) | function Vr(e){z(e,"svelte-6eza86",".turn-marker.svelte-6eza86{display:f... function Br (line 49) | function Br(e){let t,n;return{c(){t=M("div"),n=N(e[0]),G(t,"class","turn... function Rr (line 49) | function Rr(e,t,n){let{turn:r}=t,{numEvents:l}=t;const o=`grid-row: span... class Kr (line 49) | class Kr extends Le{constructor(e){super(),Je(this,e,Rr,Br,d,{turn:0,num... method constructor (line 49) | constructor(e){super(),Je(this,e,Rr,Br,d,{turn:0,numEvents:2},Vr)} function Gr (line 49) | function Gr(e){z(e,"svelte-1t4xap",".phase-marker.svelte-1t4xap{grid-col... function Jr (line 49) | function Jr(e){let t,n,r=(e[0]||"")+"";return{c(){t=M("div"),n=N(r),G(t,... function Lr (line 49) | function Lr(e,t,n){let{phase:r}=t,{numEvents:l}=t;const o=`grid-row: spa... class Fr (line 49) | class Fr extends Le{constructor(e){super(),Je(this,e,Lr,Jr,d,{phase:0,nu... method constructor (line 49) | constructor(e){super(),Je(this,e,Lr,Jr,d,{phase:0,numEvents:2},Gr)} function Hr (line 49) | function Hr(e){let t;return{c(){(t=M("div")).textContent=`${e[0]}`},m(e,... function Zr (line 49) | function Zr(e,t,n){let{metadata:r}=t;const l=void 0!==r?JSON.stringify(r... class Ur (line 49) | class Ur extends Le{constructor(e){super(),Je(this,e,Zr,Hr,d,{metadata:1... method constructor (line 49) | constructor(e){super(),Je(this,e,Zr,Hr,d,{metadata:1})} function Wr (line 49) | function Wr(e){z(e,"svelte-vajd9z",".log-event.svelte-vajd9z{grid-column... function Xr (line 49) | function Xr(e){let t,n;return t=new Ur({props:{metadata:e[2]}}),{c(){Be(... function Yr (line 49) | function Yr(e){let t,n,r;var l=e[3];function o(e){return{props:{metadata... function Qr (line 49) | function Qr(e){let t,n,r,l,o,a,s,i,u,d,f,p,m;const g=[Yr,Xr],v=[];functi... function el (line 49) | function el(e,t,n){let{logIndex:r}=t,{action:l}=t,{pinned:o}=t,{metadata... class tl (line 49) | class tl extends Le{constructor(e){super(),Je(this,e,el,Qr,d,{logIndex:0... method constructor (line 49) | constructor(e){super(),Je(this,e,el,Qr,d,{logIndex:0,action:8,pinned:1... function nl (line 49) | function nl(e){let t;return{c(){G(t=D("path"),"d","M504 256c0 137-111 24... function rl (line 49) | function rl(e){let t,n;const r=[{viewBox:"0 0 512 512"},e[0]];let l={$$s... function ll (line 49) | function ll(e,t,n){return e.$$set=(e=>{n(0,t=a(a({},t),b(e)))}),[t=b(t)]} class ol (line 49) | class ol extends Le{constructor(e){super(),Je(this,e,ll,rl,d,{})}} method constructor (line 49) | constructor(e){super(),Je(this,e,ll,rl,d,{})} function al (line 49) | function al(e){z(e,"svelte-1a7time","div.svelte-1a7time{white-space:nowr... function sl (line 49) | function sl(e){let t,n;return{c(){t=M("div"),n=N(e[0]),G(t,"alt",e[0]),G... function il (line 49) | function il(e,t,n){let r,{action:l}=t;return e.$$set=(e=>{"action"in e&&... class cl (line 49) | class cl extends Le{constructor(e){super(),Je(this,e,il,sl,d,{action:1},... method constructor (line 49) | constructor(e){super(),Je(this,e,il,sl,d,{action:1},al)} function ul (line 49) | function ul(e){z(e,"svelte-ztcwsu","table.svelte-ztcwsu.svelte-ztcwsu{fo... function dl (line 49) | function dl(e,t,n){const r=e.slice();return r[10]=t[n],r[12]=n,r} function fl (line 49) | function fl(e){let t,n,r,l,o,a,s,i,u,d,f,p,m,g=e[10].value+"",v=e[10].vi... function pl (line 49) | function pl(e){let t,n,r,l,o,a=e[1],s=[];for(let c=0;c(a(),a=p(i,e=>r(10,o=e)),i);e.$$.on_d... class Dl (line 49) | class Dl extends Le{constructor(e){super(),Je(this,e,Ml,Tl,d,{client:0},... method constructor (line 49) | constructor(e){super(),Je(this,e,Ml,Tl,d,{client:0},El)} function Nl (line 49) | function Nl(e){z(e,"svelte-1fu900w","label.svelte-1fu900w{color:#666}.op... function Vl (line 49) | function Vl(e,t,n){const r=e.slice();return r[6]=t[n][0],r[7]=t[n][1],r[... function Bl (line 49) | function Bl(e){let t,n,r,l;function o(){e[5].call(t,e[6])}return{c(){G(t... function Rl (line 49) | function Rl(e){let t,n,r,l,o,a,s,i,u,d=e[1][e[6]]+"";function f(){e[4].c... function Kl (line 49) | function Kl(e){let t,n,r,l,o,a,s=e[6]+"";function i(e,t){return e[7].ran... function Gl (line 49) | function Gl(e){let t,n=Object.entries(e[0].opts()),r=[];for(let l=0;l(s(),s=p(c,e=>n(15,o=e)),c);e.$$.... class mo (line 49) | class mo extends Le{constructor(e){super(),Je(this,e,po,fo,d,{clientMana... method constructor (line 49) | constructor(e){super(),Je(this,e,po,fo,d,{clientManager:0},oo)} function e (line 51) | function e(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enume... function r (line 53) | function r(e){return e&&e.__esModule?e:{default:e}} method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function t (line 53) | function t(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){va... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function n (line 53) | function n(r){for(var n=1;n{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function t (line 55) | function t(e){return"Minified Redux error #"+e+"; visit https://redux.js... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function u (line 55) | function u(e){if("object"!=typeof e||null===e)return!1;for(var r=e;null!... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function f (line 55) | function f(e){var r=typeof e;return r} function c (line 55) | function c(e,r,o){var f;if("function"==typeof r&&"function"==typeof o||"... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function a (line 55) | function a(e){"undefined"!=typeof console&&"function"==typeof console.er... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function p (line 55) | function p(e,r,t,n){var o=Object.keys(r),c=t&&t.type===i.INIT?"preloaded... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function s (line 55) | function s(e){Object.keys(e).forEach(function(r){var n=e[r];if(void 0===... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function d (line 55) | function d(e){for(var r=Object.keys(e),n={},o=0;o!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;rt.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function v (line 55) | function v(){for(var r=arguments.length,n=new Array(r),o=0;oe()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class t (line 59) | class t{constructor({transportDataCallback:t,gameName:a,playerID:s,match... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} class h (line 61) | class h extends n.T{connect(){}disconnect(){}sendAction(){}sendChatMessa... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... class l (line 61) | class l{constructor(){this.debugPanel=null,this.currentClient=null,this.... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function g (line 61) | function g(t,e,s,r,a,n){const h={};for(const c of e)h[c]=((...e)=>{const... class m (line 61) | class m{constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g... method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function y (line 61) | function y(t){return new m(t)} method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... class a (line 63) | class a extends Error{constructor(e,t){super(e),this.details=t}} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class n (line 63) | class n{constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")}as... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;st(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function x (line 65) | function x(){} function b (line 65) | function b(e,r,t){this.props=e,this.context=r,this.refs=h,this.updater=t... method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function g (line 65) | function g(e,r,n){var o,u={},f=null,c=null;if(null!=r)for(o in void 0!==... function w (line 65) | function w(e,r){return{$$typeof:t,type:e.type,key:r,ref:e.ref,props:e.pr... function C (line 65) | function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===t} function E (line 65) | function E(e){var r={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g... function j (line 65) | function j(e,r,t,n){if(P.length){var o=P.pop();return o.result=e,o.keyPr... function O (line 65) | function O(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,... function A (line 65) | function A(e,r,o,u){var f=typeof e;"undefined"!==f&&"boolean"!==f||(e=nu... function I (line 65) | function I(e,r,t){return null==e?0:A(e,"",r,t)} function U (line 65) | function U(e,r){return"object"==typeof e&&null!==e&&null!=e.key?E(e.key)... function q (line 65) | function q(e,r){e.func.call(e.context,r,e.count++)} function F (line 65) | function F(e,r,t){var n=e.result,o=e.keyPrefix;e=e.func.call(e.context,r... function L (line 65) | function L(e,r,t,n,o){var u="";null!=t&&(u=(""+t).replace(R,"$&/")+"/"),... function D (line 65) | function D(){var e=M.current;if(null===e)throw Error(d(321));return e} function r (line 71) | function r(){} method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function t (line 71) | function t(){} method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function n (line 71) | function n(r,t,n,o,a,p){if(p!==e){var c=new Error("Calling PropTypes val... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function n (line 75) | function n(t,i){if("string"!=typeof t)throw new TypeError("argument str ... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function a (line 75) | function a(e,t){try{return t(e)}catch(r){return e}} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function u (line 78) | function u(e){return e&&e.__esModule?e:{default:e}} method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function d (line 78) | function d(){return s&&!s.headersSent} method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function f (line 78) | function f(e,o){var t=c?a:r.default.parse(document.cookie),n=t&&t[e];if(... function l (line 78) | function l(e){var o=c?a:r.default.parse(document.cookie);if(void 0===e&&... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function y (line 78) | function y(e,t,n){a[e]=t,"object"===(void 0===t?"undefined":o(t))&&(a[e]... method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function v (line 78) | function v(e,o){delete a[e],o=void 0===o?{}:"string"==typeof o?{path:o}:... function k (line 78) | function k(e){a=e?r.default.parse(e):{}} function m (line 78) | function m(e,o){return e.cookie?a=e.cookie:e.cookies?a=e.cookies:e.heade... method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function a (line 80) | function a(t){return t.type()===e.SYNC} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class s (line 80) | class s{type(){return e.ASYNC}async createMatch(e,t){if(this.createGame)... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... class n (line 80) | class n{type(){return e.SYNC}connect(){}createMatch(e,t){if(this.createG... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function o (line 84) | function o(e,t){return void 0===e?e:e.map(e=>{if(null!==t&&+t==+e.action... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function t (line 86) | function t(r,e){var t=e.replace(/\/{2,9}/g,"/").split("/");return"/"!=e.... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function s (line 86) | function s(r,e){var t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,fu... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function t (line 88) | function t(t){if(!((t=String(t)).length>100)){var u=/^(-?(?:\d+)?\.?\d+)... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function u (line 88) | function u(n){var c=Math.abs(n);return c>=a?Math.round(n/a)+"d":c>=r?Mat... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function i (line 88) | function i(n){var c=Math.abs(n);return c>=a?o(n,c,a,"day"):c>=r?o(n,c,r,... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function o (line 88) | function o(s,e,r,a){var n=e>=1.5*r;return Math.round(s/r)+" "+a+(n?"s":"")} method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function e (line 90) | function e(e){function n(e){let r,s,o,a=null;function l(...e){if(!l.enab... function o (line 93) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function t (line 93) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function C (line 93) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 93) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 93) | function n(){try{return localStorage}catch(e){}} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function t (line 113) | function t(t){if(t)return e(t)} method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function e (line 113) | function e(e){for(var s in t.prototype)e[s]=t.prototype[s];return e} function s (line 113) | function s(){this.off(t,s),e.apply(this,arguments)} method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function e (line 115) | function e(e){function n(e){let r,s,o,a=null;function l(...e){if(!l.enab... function o (line 118) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function t (line 118) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function C (line 118) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 118) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 118) | function n(){try{return localStorage}catch(e){}} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function a (line 124) | function a(r){var n="";do{n=e[r%t]+n,r=Math.floor(r/t)}while(r>0);return n} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function c (line 124) | function c(r){var e=0;for(u=0;uthis.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function f (line 124) | function f(){var e=a(+new Date);return e!==r?(o=0,r=e):e+"."+a(o++)} class p (line 126) | class p extends t{get name(){return"polling"}doOpen(){this.poll()}pause(... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function n (line 130) | function n(){} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class u (line 130) | class u extends s{constructor(t,e){super(),this.opts=e,this.method=e.met... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function d (line 130) | function d(){for(let t in u.requests)u.requests.hasOwnProperty(t)&&u.req... method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... class o (line 132) | class o extends e{constructor(e){super(e),this.query=this.query||{},s||(... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function h (line 136) | function h(r){var t=r.length;if(t%4>0)throw new Error("Invalid string. L... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function u (line 136) | function u(r){var t=h(r),e=t[0],n=t[1];return 3*(e+n)/4-n} method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function c (line 136) | function c(r,t,e){return 3*(t+e)/4-e} method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function i (line 136) | function i(r){var n,o,a=h(r),u=a[0],i=a[1],f=new e(c(r,u,i)),A=0,d=i>0?u... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function f (line 136) | function f(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]} function A (line 136) | function A(r,t,e){for(var n,o=[],a=t;a0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function o (line 144) | function o(){return f.TYPED_ARRAY_SUPPORT?2147483647:1073741823} method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function u (line 144) | function u(t,r){if(o()t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function a (line 144) | function a(t,r,e,n){return h(r),r<=0?u(t,r):void 0!==e?"string"==typeof ... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function c (line 144) | function c(t,r){if(h(r),t=u(t,r<0?0:0|w(r)),!f.TYPED_ARRAY_SUPPORT)for(v... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function l (line 144) | function l(t,r,e){if("string"==typeof e&&""!==e||(e="utf8"),!f.isEncodin... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function g (line 144) | function g(t,r,e,n){if(r.byteLength,e<0||r.byteLength=o())throw new RangeError("Attempt to allocate Buffer... function d (line 144) | function d(t){return+t!=t&&(t=0),f.alloc(+t)} method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function v (line 144) | function v(t,r){if(f.isBuffer(t))return t.length;if("undefined"!=typeof ... function E (line 144) | function E(t,r,e){var n=!1;if((void 0===r||r<0)&&(r=0),r>this.length)ret... function b (line 144) | function b(t,r,e){var n=t[r];t[r]=t[e],t[e]=n} method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function R (line 144) | function R(t,r,e,n,i){if(0===t.length)return-1;if("string"==typeof e?(n=... function _ (line 144) | function _(t,r,e,n,i){var o,u=1,f=t.length,s=r.length;if(void 0!==n&&("u... function A (line 144) | function A(t,r,e,n){e=Number(e)||0;var i=t.length-e;n?(n=Number(n))>i&&(... function m (line 144) | function m(t,r,e,n){return Q($(r,t.length-e),t,e,n)} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function P (line 144) | function P(t,r,e,n){return Q(G(r),t,e,n)} function T (line 144) | function T(t,r,e,n){return P(t,r,e,n)} function B (line 144) | function B(t,r,e,n){return Q(K(r),t,e,n)} function U (line 144) | function U(t,r,e,n){return Q(H(r,t.length-e),t,e,n)} function S (line 144) | function S(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromBy... function Y (line 144) | function Y(t,r,e){e=Math.min(t.length,e);for(var n=[],i=r;in)&&(e=n);... function C (line 144) | function C(t,r,e){for(var n=t.slice(r,e),i="",o=0;ot.length)throw new RangeError("Index out ... function j (line 144) | function j(t,r,n,i,o){return o||F(t,r,n,4,3.4028234663852886e38,-3.40282... function q (line 144) | function q(t,r,n,i,o){return o||F(t,r,n,8,1.7976931348623157e308,-1.7976... function X (line 144) | function X(t){if((t=J(t).replace(V,"")).length<2)return"";for(;t.length%... function J (line 144) | function J(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")} function Z (line 144) | function Z(t){return t<16?"0"+t.toString(16):t.toString(16)} function $ (line 144) | function $(t,r){var e;r=r||1/0;for(var n=t.length,i=null,o=[],u=0;u=r.length||i>=t.length);++i)r... function W (line 144) | function W(t){return t!=t} class l (line 147) | class l extends t{constructor(e){super(e),this.supportsBinary=!e.forceBa... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;re()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class n (line 151) | class n extends e{constructor(t,e={}){super(),t&&"object"==typeof t&&(e=... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function f (line 155) | function f(r){return e&&(r instanceof ArrayBuffer||t(r))||o&&r instanceo... function i (line 155) | function i(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function e (line 157) | function e(t){const e=[],n=t.data,o=t;return o.data=r(n,e),o.attachments... function r (line 157) | function r(e,n){if(!e)return e;if(t.isBinary(e)){const t={_placeholder:!... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 157) | function n(t,e){return t.data=o(t.data,e),t.attachments=void 0,t} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function e (line 159) | function e(e){function n(e){let r,o=null;function s(...e){if(!s.enabled)... function o (line 162) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function t (line 162) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function C (line 162) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 162) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 162) | function n(){try{return localStorage}catch(e){}} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;sthis.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} class o (line 164) | class o extends t{constructor(){super()}add(t){let e;if("string"==typeof... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function i (line 164) | function i(t){try{return JSON.parse(t)}catch(e){return!1}} method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... class a (line 164) | class a{constructor(t){this.packet=t,this.buffers=[],this.reconPack=t}ta... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function e (line 166) | function e(e,o,t){return e.on(o,t),function(){e.off(o,t)}} class t (line 168) | class t extends e{on(e,t){return super.on(e,t),this}once(e,t){return sup... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} class c (line 170) | class c extends s.StrictEventEmitter{constructor(t,e,s){super(),this.rec... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function t (line 172) | function t(t){t=t||{},this.ms=t.min||100,this.max=t.max||1e4,this.factor... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} class r (line 174) | class r extends s.StrictEventEmitter{constructor(e,t){super(),this.nsps=... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 176) | function n(n,c){"object"==typeof n&&(c=n,n=void 0),c=c||{};const s=e.url... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class c (line 178) | class c extends Map{constructor(t){super(),this.key=t,(JSON.parse(localS... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} class o (line 178) | class o extends r{constructor(t="bgio"){super();const e=e=>new c(`${t}_$... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function h (line 178) | function h(t,e){if(void 0!==t.ctx.gameover)return null;if(t.ctx.activePl... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... class l (line 178) | class l extends s.M{constructor({game:t,bots:e,storageKey:s,persist:a}){... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{const{gameKey:... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... class y (line 178) | class y extends t.T{constructor({socket:t,socketOpts:e,server:s,...i}){s... method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function g (line 178) | function g({server:t,socketOpts:e}={}){return s=>new y({server:t,socketO... function c (line 180) | function c(e){return e&&e.__esModule?e:{default:e}} method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function o (line 180) | function o(t){var a;const{game:n,numPlayers:i,board:l,multiplayer:c,enha... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... class h (line 180) | class h{constructor({server:e,gameComponents:t,playerName:s,playerCreden... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function m (line 180) | function m(e){return new h(e)} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... class u (line 180) | class u extends s.default.Component{constructor(){super(...arguments),th... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... class p (line 180) | class p extends s.default.Component{constructor(){super(...arguments),th... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... class d (line 180) | class d extends s.default.Component{constructor(e){super(e),this.state={... method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... class y (line 180) | class y extends s.default.Component{constructor(e){super(e),this.state={... method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function a (line 186) | function a(e){return e&&e.__esModule?e:{default:e}} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function i (line 186) | function i(e){return[[0,1,2],[3,4,5],[6,7,8],[0,3,6],[1,4,7],[2,5,8],[0,... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... method clickCell (line 186) | clickCell(e,l,t){if(null!==e.cells[t])return n.INVALID_MOVE;e.cells[t]=l... function o (line 186) | function o({ctx:l,G:t,moves:r}){const n=e=>r.clickCell(e);let a="";l.gam... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... FILE: docs/documentation/snippets/multiplayer.54b541fd.js function f (line 1) | function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequi... function n (line 2) | function n(r){if(null==r)throw new TypeError("Object.assign cannot be ca... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function d (line 4) | function d(e){for(var r="https://reactjs.org/docs/error-decoder.html?inv... method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function m (line 4) | function m(e,r,t){this.props=e,this.context=r,this.refs=h,this.updater=t... method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function x (line 4) | function x(){} function b (line 4) | function b(e,r,t){this.props=e,this.context=r,this.refs=h,this.updater=t... method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function g (line 4) | function g(e,r,n){var o,u={},f=null,c=null;if(null!=r)for(o in void 0!==... function w (line 4) | function w(e,r){return{$$typeof:t,type:e.type,key:r,ref:e.ref,props:e.pr... function C (line 4) | function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===t} function E (line 4) | function E(e){var r={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g... function j (line 4) | function j(e,r,t,n){if(P.length){var o=P.pop();return o.result=e,o.keyPr... function O (line 4) | function O(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,... function A (line 4) | function A(e,r,o,u){var f=typeof e;"undefined"!==f&&"boolean"!==f||(e=nu... function I (line 4) | function I(e,r,t){return null==e?0:A(e,"",r,t)} function U (line 4) | function U(e,r){return"object"==typeof e&&null!==e&&null!=e.key?E(e.key)... function q (line 4) | function q(e,r){e.func.call(e.context,r,e.count++)} function F (line 4) | function F(e,r,t){var n=e.result,o=e.keyPrefix;e=e.func.call(e.context,r... function L (line 4) | function L(e,r,t,n,o){var u="";null!=t&&(u=(""+t).replace(R,"$&/")+"/"),... function D (line 4) | function D(){var e=M.current;if(null===e)throw Error(d(321));return e} function k (line 8) | function k(e,n){var t=e.length;e.push(n);e:for(;;){var r=t-1>>>1,o=e[r];... function T (line 8) | function T(e){return void 0===(e=e[0])?null:e} function g (line 8) | function g(e){var n=e[0];if(void 0!==n){var t=e.pop();if(t!==n){e[0]=t;e... function P (line 8) | function P(e,n){var t=e.sortIndex-n.sortIndex;return 0!==t?t:e.id-n.id} function R (line 8) | function R(e){for(var n=T(I);null!==n;){if(null===n.callback)g(I);else{i... function j (line 8) | function j(t){if(D=!1,R(t),!q)if(null!==T(F))q=!0,e(E);else{var r=T(I);n... function E (line 8) | function E(e,o){q=!1,D&&(D=!1,t()),L=!0;var a=A;try{for(R(o),C=T(F);null... function N (line 8) | function N(e){switch(e){case 1:return-1;case 2:return 250;case 5:return ... function r (line 12) | function r(e){for(var t="https://reactjs.org/docs/error-decoder.html?inv... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function l (line 12) | function l(e,t,n,r,l,i,a,o,u){var c=Array.prototype.slice.call(arguments... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;rt.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function y (line 12) | function y(){if(g)for(var e in v){var t=v[e],n=g.indexOf(e);if(!(-10} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function E (line 12) | function E(e){var t,n=!1;for(t in e)if(e.hasOwnProperty(t)){var l=e[t];i... function N (line 12) | function N(e){if(e=p(e)){if("function"!=typeof C)throw Error(r(280));var... function z (line 12) | function z(e){P?_?_.push(e):_=[e]:P=e} function M (line 12) | function M(){if(P){var e=P,t=_;if(_=P=null,N(e),t)for(e=0;e{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function hr (line 12) | function hr(e,t){switch(e){case"keyup":return-1!==or.indexOf(t.keyCode);... function gr (line 12) | function gr(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null} function yr (line 12) | function yr(e,t){switch(e){case"compositionend":return gr(t);case"keypre... function br (line 12) | function br(e,t){if(vr)return"compositionend"===e||!ur&&hr(e,t)?(e=Zn(),... function xr (line 12) | function xr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"inpu... function Er (line 12) | function Er(e,t,n){return(e=tr.getPooled(Tr.change,e,t,n)).type="change"... function Pr (line 12) | function Pr(e){ft(e)} function _r (line 12) | function _r(e){if(Ee(Vn(e)))return e} function Nr (line 12) | function Nr(e,t){if("change"===e)return t} method constructor (line 49) | constructor(e){super(),Je(this,e,Dr,Mr,d,{client:0,clientManager:2,Tog... function Mr (line 12) | function Mr(){Sr&&(Sr.detachEvent("onpropertychange",Ir),Cr=Sr=null)} function Ir (line 12) | function Ir(e){if("value"===e.propertyName&&_r(Cr))if(e=Er(Cr,e,dt(e)),D... function Fr (line 12) | function Fr(e,t,n){"focus"===e?(Mr(),Cr=n,(Sr=t).attachEvent("onproperty... method constructor (line 49) | constructor(e){super(),Je(this,e,Lr,Jr,d,{phase:0,numEvents:2},Gr)} function Or (line 12) | function Or(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)retu... function Rr (line 12) | function Rr(e,t){if("click"===e)return _r(t)} function Dr (line 12) | function Dr(e,t){if("input"===e||"change"===e)return _r(t)} function Vr (line 12) | function Vr(e){var t=this.nativeEvent;return t.getModifierState?t.getMod... function Qr (line 12) | function Qr(){return Vr} function Xr (line 12) | function Xr(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t} function Jr (line 12) | function Jr(e,t){if(Gr(e,t))return!0;if("object"!=typeof e||null===e||"o... function al (line 12) | function al(e,t){var n=t.window===t?t.document:9===t.nodeType?t:t.ownerD... function fl (line 12) | function fl(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&... function Tl (line 12) | function Tl(e){0>xl||(e.current=kl[xl],kl[xl]=null,xl--)} function El (line 12) | function El(e,t){kl[++xl]=e.current,e.current=t} function Nl (line 12) | function Nl(e,t){var n=e.type.contextTypes;if(!n)return Sl;var r=e.state... function zl (line 12) | function zl(e){return null!=(e=e.childContextTypes)} function Ml (line 12) | function Ml(){Tl(Pl),Tl(Cl)} function Il (line 12) | function Il(e,t,n){if(Cl.current!==Sl)throw Error(r(168));El(Cl,t),El(Pl... function Fl (line 12) | function Fl(e,n,l){var i=e.stateNode;if(e=n.childContextTypes,"function"... function Ol (line 12) | function Ol(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMerged... function Rl (line 12) | function Rl(e,t,n){var l=e.stateNode;if(!l)throw Error(r(169));n?(e=Fl(e... function ti (line 12) | function ti(){switch(Ql()){case Wl:return 99;case Hl:return 98;case jl:r... function ni (line 12) | function ni(e){switch(e){case 99:return Wl;case 98:return Hl;case 97:ret... function ri (line 12) | function ri(e,t){return e=ni(e),Dl(e,t)} function li (line 12) | function li(e,t,n){return e=ni(e),Ll(e,t,n)} function ii (line 12) | function ii(e){return null===Xl?(Xl=[e],Gl=Ll(Wl,oi)):Xl.push(e),$l} function ai (line 12) | function ai(){if(null!==Gl){var e=Gl;Gl=null,Ul(e)}oi()} function oi (line 12) | function oi(){if(!Zl&&null!==Xl){Zl=!0;var e=0;try{var t=Xl;ri(99,functi... function ui (line 12) | function ui(e,t,n){return 1073741821-(1+((1073741821-e+t/10)/(n/=10)|0))*n} function ci (line 12) | function ci(e,n){if(e&&e.defaultProps)for(var r in n=t({},n),e=e.default... function mi (line 12) | function mi(){pi=di=fi=null} function hi (line 12) | function hi(e){var t=si.current;Tl(si),e.type._context._currentValue=t} function gi (line 12) | function gi(e,t){for(;null!==e;){var n=e.alternate;if(e.childExpirationT... function vi (line 12) | function vi(e,t){fi=e,pi=di=null,null!==(e=e.dependencies)&&null!==e.fir... function yi (line 12) | function yi(e,t){if(pi!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741... function wi (line 12) | function wi(e){e.updateQueue={baseState:e.memoizedState,baseQueue:null,s... function ki (line 12) | function ki(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={base... function xi (line 12) | function xi(e,t){return(e={expirationTime:e,suspenseConfig:t,tag:0,paylo... function Ti (line 12) | function Ti(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending... function Ei (line 12) | function Ei(e,t){var n=e.alternate;null!==n&&ki(n,e),null===(n=(e=e.upda... function Si (line 12) | function Si(e,n,r,l){var i=e.updateQueue;bi=!1;var a=i.baseQueue,o=i.sha... function Ci (line 12) | function Ci(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;tr?98:r,function(){e(!0)}),ri(97lu&&(lu=e)} function Ru (line 12) | function Ru(){for(;null!==Go;)Go=Lu(Go)} function Du (line 12) | function Du(){for(;null!==Go&&!ql();)Go=Lu(Go)} function Lu (line 12) | function Lu(e){var t=Ro(e.alternate,e,Zo);return e.memoizedProps=e.pendi... function Uu (line 12) | function Uu(e){Go=e;do{var t=Go.alternate;if(e=Go.return,0==(2048&Go.eff... function Au (line 12) | function Au(e){var t=e.expirationTime;return t>(e=e.childExpirationTime)... function Vu (line 12) | function Vu(e){var t=ti();return ri(99,Qu.bind(null,e,t)),null} function Qu (line 12) | function Qu(e,t){do{Hu()}while(null!==pu);if((Yo&(Qo|Wo))!==Ao)throw Err... function Wu (line 12) | function Wu(){for(;null!==uu;){var e=uu.effectTag;0!=(256&e)&&bo(uu.alte... function Hu (line 12) | function Hu(){if(90!==mu){var e=97e.firstPendingTime&&(e.firstPendingTime=t);var n=e.fi... function fc (line 12) | function fc(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTim... function dc (line 12) | function dc(e,t,n,l){var i=t.current,a=bu(),o=Pi.suspense;a=wu(a,i,o);e:... function pc (line 12) | function pc(e){if(!(e=e.current).child)return null;switch(e.child.tag){c... function mc (line 12) | function mc(e,t){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retr... function hc (line 12) | function hc(e,t){mc(e,t),(e=e.alternate)&&mc(e,t)} function gc (line 12) | function gc(e,t,n){var r=new oc(e,t,n=null!=n&&!0===n.hydrate),l=Ju(3,nu... function vc (line 12) | function vc(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeTy... function yc (line 12) | function yc(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.fir... function bc (line 12) | function bc(e,t,n,r,l){var i=n._reactRootContainer;if(i){var a=i._intern... function wc (line 12) | function wc(e,t,n){var r=31?t-1:0),n=1;ne()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 18) | function n(r){return t(r)||e(23,r),r[Q].t} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function i (line 18) | function i(e){var t=e[Q];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:s(e... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function a (line 18) | function a(e,t){return 2===i(e)?e.has(t):Object.prototype.hasOwnProperty... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function u (line 18) | function u(e,t){return 2===i(e)?e.get(t):e[t]} method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function c (line 18) | function c(e,t,r){var n=i(e);2===n?e.set(t,r):3===n?(e.delete(t),e.add(r... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function f (line 18) | function f(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t} function s (line 18) | function s(e){return X&&e instanceof Map} method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function l (line 18) | function l(e){return q&&e instanceof Set} method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function h (line 18) | function h(e){if(Array.isArray(e))return Array.prototype.slice.call(e);v... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function v (line 18) | function v(e,n){return void 0===n&&(n=!1),y(e)||t(e)||!r(e)?e:(i(e)>1&&(... function d (line 18) | function d(){e(2)} method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function y (line 18) | function y(e){return null==e||"object"!=typeof e||Object.isFrozen(e)} method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function b (line 18) | function b(t){var r=re[t];return r||e(18,t),r} method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function g (line 18) | function g(e,t){re[e]||(re[e]=t)} function m (line 18) | function m(){return J} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function P (line 18) | function P(e,t){t&&(b("Patches"),e.u=[],e.s=[],e.v=t)} function O (line 18) | function O(e){x(e),e.p.forEach(j),e.p=null} function x (line 18) | function x(e){e===J&&(J=e.l)} function w (line 18) | function w(e){return J={p:[],l:J,h:e,m:!0,_:0}} function j (line 18) | function j(e){var t=e[Q];0===t.i||1===t.i?t.j():t.O=!0} function A (line 18) | function A(t,n){n._=n.p.length;var o=n.p[0],i=void 0!==t&&t!==o;return n... function D (line 18) | function D(e,t,r){if(y(t))return t;var n=t[Q];if(!n)return o(t,function(... function S (line 18) | function S(e,n,o,i,u,f){if(t(u)){var s=D(e,u,f&&n&&3!==n.i&&!a(n.D,i)?f.... function _ (line 18) | function _(e,t,r){void 0===r&&(r=!1),e.h.F&&e.m&&v(t,r)} function k (line 18) | function k(e,t){var r=e[Q];return(r?p(r):e)[t]} function I (line 18) | function I(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var n=O... function z (line 18) | function z(e){e.P||(e.P=!0,e.l&&z(e.l))} function E (line 18) | function E(e){e.o||(e.o=h(e.t))} function M (line 18) | function M(e,t,r){var n=s(t)?b("MapSet").N(t,r):l(t)?b("MapSet").T(t,r):... function F (line 18) | function F(n){return t(n)||e(22,n),function e(t){if(!r(t))return t;var n... function R (line 18) | function R(e,t){switch(t){case 2:return new Map(e);case 3:return Array.f... function C (line 18) | function C(){function e(e,t){var r=u[e];return r?r.enumerable=t:u[e]=r={... function T (line 18) | function T(){function n(e){if(!r(e))return e;if(Array.isArray(e))return ... function K (line 18) | function K(){function t(e,t){function r(){this.constructor=e}u(e,t),e.pr... function U (line 18) | function U(){C(),K(),T()} function W (line 18) | function W(e){return e} function N (line 18) | function N(e){return e} function n (line 18) | function n(t){var n=this;this.g=B,this.F=!0,this.produce=function(t,o,i)... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class n (line 20) | class n{constructor(t){this.state=t||{seed:"0"},this.used=!1}static seed... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function a (line 22) | function a(t){return!!t&&"object"==typeof t} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function p (line 22) | function p(r){if(!a(r)||i.call(r)!=t||n(r))return!1;var o=l(r);if(null==... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function a (line 24) | function a(e){return e&&e.__esModule?e:{default:e}} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class b (line 24) | class b{constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],... method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function U (line 24) | function U(e){if(null==e||"boolean"==typeof e||"number"==typeof e||"stri... function C (line 24) | function C(e){L(`INFO: ${e}`)} function B (line 24) | function B(e){w("ERROR:",e)} function X (line 24) | function X(e,t=!1){e.moveLimit&&(t&&(e.minMoves=e.moveLimit),e.maxMoves=... function Z (line 24) | function Z(e,t){let r={},a=[],n=null,s={},o={};if(Array.isArray(t)){cons... function ee (line 24) | function ee(e){let{activePlayers:t,_activePlayersMinMoves:r,_activePlaye... function te (line 24) | function te(e,t,r,a,n){"object"==typeof n&&n!==oe.NULL||(n={stage:n}),vo... function re (line 24) | function re(e,t){return e[t]+""} function ae (line 24) | function ae(e,t){let{G:r,ctx:a}=e;const{numPlayers:n}=a,s=V(e),o=t.order... function ne (line 24) | function ne(e,t,r,a){const n=r.order;let{G:s,ctx:o}=e,i=o.playOrderPos,l... function t (line 26) | function t(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")} method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function e (line 26) | function e(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")} function n (line 26) | function n(t){void 0===t&&(t=[""]),this.tokens=t} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function e (line 28) | function e(r){return null!=r&&"object"==typeof r} function t (line 28) | function t(r){if(!e(r))return r;if(r.constructor==Array){for(var o=r.len... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function t (line 30) | function t(r){var e=r.op;return"remove"===e||"replace"===e||"copy"===e||... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function o (line 30) | function o(r,t){var o={};for(var n in r)e.hasOwnProperty.call(r,n)&&void... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function n (line 30) | function n(r){for(var t=r.length,o={},n=0;n{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function a (line 30) | function a(r){return"remove"===r.op} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function p (line 30) | function p(r,e){return{operations:r.operations.concat(e),cost:r.cost+1}} method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function c (line 30) | function c(e,t,o,n){void 0===n&&(n=s);var c={"0,0":{operations:[],cost:0... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function u (line 30) | function u(r,e,t,i){void 0===i&&(i=s);var a=[];return o(r,e).forEach(fun... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function s (line 30) | function s(r,t,o,n){if(void 0===n&&(n=s),r===t)return[];var i=e.objectTy... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function n (line 32) | function n(){this.constructor=e} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function u (line 32) | function u(r,e){if(Array.isArray(r)){var t=parseInt(e,10);r.splice(t,1)}... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function p (line 32) | function p(r,n){var a=e.Pointer.fromJSON(n.path).evaluate(r);return void... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function l (line 32) | function l(r,t){var n=e.Pointer.fromJSON(t.path).evaluate(r);return void... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;rthis.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function f (line 32) | function f(r,t){var o=e.Pointer.fromJSON(t.path).evaluate(r);return n.di... function t (line 32) | function t(r){var t=e.call(this,"Invalid operation: "+r.op)||this;return... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function y (line 32) | function y(r,e){switch(e.op){case"add":return p(r,e);case"remove":return... method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function n (line 34) | function n(r,t){return t.map(function(t){return e.apply(r,t)})} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function i (line 34) | function i(e,n,i){var o=new r.Pointer;return(i?a(i):t.diffAny)(e,n,o)} method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function o (line 34) | function o(e,t){var n=r.Pointer.fromJSON(t).evaluate(e);if(void 0!==n)re... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function u (line 34) | function u(r,e){var n=new Array;return e.filter(t.isDestructive).forEach... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function r (line 36) | function r({moves:e,phases:t,endIf:a,onEnd:r,turn:o,events:s,plugins:i})... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 36) | function o(e){return void 0!==e.processMove} method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function s (line 36) | function s(e){if(o(e))return e;if(void 0===e.name&&(e.name="default"),vo... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function i (line 36) | function i(e){return e instanceof Object&&void 0!==e.move} method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function l (line 36) | function l(e,t){if(t.game.disableUndo)return e;const n={G:e.G,ctx:e.ctx,... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function v (line 36) | function v(e){if(!e)return[null,void 0];const{transients:t,...n}=e;retur... function f (line 36) | function f(e,t,n){return{...e,transients:{error:{type:t,payload:n}}}} function g (line 36) | function g({game:r,isClient:o}){return r=s(r),(s=null,i)=>{let[y]=v(s);s... function x (line 38) | function x(t,e){if(y)return y=!y,e;const s=r.call(this,t,e);switch(typeo... function r (line 41) | function r(){throw new Error("setTimeout has not been defined")} method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 41) | function o(){throw new Error("clearTimeout has not been defined")} method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function i (line 41) | function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&s... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function u (line 41) | function u(t){if(e===clearTimeout)return clearTimeout(t);if((e===o||!e)&... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function f (line 41) | function f(){l&&c&&(l=!1,c.length?s=c.concat(s):a=-1,s.length&&h())} function h (line 41) | function h(){if(!l){var t=i(f);l=!0;for(var e=s.length;e;){for(c=s,s=[];... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function m (line 41) | function m(t,e){this.fun=t,this.array=e} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function p (line 41) | function p(){} method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function g (line 45) | function g(e){delete f[e]} function m (line 45) | function m(e){if(u)setTimeout(m,0,e);else{var t=f[e];if(t){u=!0;try{!fun... method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... class a (line 47) | class a{constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class i (line 47) | class i extends a{constructor({enumerate:t,seed:e,objectives:a,game:s,it... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... class n (line 47) | class n extends a{play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);retu... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function c (line 47) | async function c({game:t,bots:e,state:s,depth:i}){void 0===i&&(i=1e4);co... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function l (line 49) | function l(){} method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function s (line 49) | function s(e){return e()} method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function i (line 49) | function i(){return Object.create(null)} method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function c (line 49) | function c(e){e.forEach(s)} method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function u (line 49) | function u(e){return"function"==typeof e} method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function d (line 49) | function d(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function... method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function f (line 49) | function f(e){return 0===Object.keys(e).length} function p (line 49) | function p(e,...t){if(null==e)return l;const n=e.subscribe(...t);return ... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function m (line 49) | function m(e,t,n){e.$$.on_destroy.push(p(t,n))} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function g (line 49) | function g(e,t,n,r){if(e){const l=v(e,t,n,r);return e[0](l)}} function v (line 49) | function v(e,t,n,r){return e[1]&&r?a(n.ctx.slice(),e[1](r(t))):n.ctx} function $ (line 49) | function $(e,t,n,r){if(e[2]&&r){const l=e[2](r(n));if(void 0===t.dirty)r... function y (line 49) | function y(e,t,n,r,l,o){if(l){const a=v(t,n,r,o);e.p(a,l)}} method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function h (line 49) | function h(e){if(e.ctx.length>32){const t=[],n=e.ctx.length/32;for(let e... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function b (line 49) | function b(e){const t={};for(const n in e)"$"!==n[0]&&(t[n]=e[n]);return t} method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function x (line 49) | function x(e){return null==e?"":e} function E (line 49) | function E(e){j.forEach(t=>{t.c(e)||(j.delete(t),t.f())}),0!==j.size&&P(E)} function O (line 49) | function O(e){let t;return 0===j.size&&P(E),{promise:new Promise(n=>{j.a... function A (line 49) | function A(e,t){e.appendChild(t)} function z (line 49) | function z(e,t,n){const r=_(e);if(!r.getElementById(t)){const e=M("style... function _ (line 49) | function _(e){if(!e)return document;const t=e.getRootNode?e.getRootNode(... function S (line 49) | function S(e){const t=M("style");return C(_(e),t),t} function C (line 49) | function C(e,t){A(e.head||e,t)} function q (line 49) | function q(e,t,n){e.insertBefore(t,n||null)} function I (line 49) | function I(e){e.parentNode.removeChild(e)} function T (line 49) | function T(e,t){for(let n=0;ne.removeEventLi... function K (line 49) | function K(e){return function(t){return t.stopPropagation(),e.call(this,... function G (line 49) | function G(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.... function J (line 49) | function J(e){return""===e?null:+e} function L (line 49) | function L(e){return Array.from(e.childNodes)} function F (line 49) | function F(e,t){t=""+t,e.wholeText!==t&&(e.data=t)} function H (line 49) | function H(e,t){e.value=null==t?"":t} function Z (line 49) | function Z(e,t){for(let n=0;n{ee||(Y.forEach(e=>{const t=e.__svelte_stylesheet;le... function oe (line 49) | function oe(e){Q=e} function ae (line 49) | function ae(){if(!Q)throw new Error("Function called outside component i... function se (line 49) | function se(e){ae().$$.after_update.push(e)} function ie (line 49) | function ie(e){ae().$$.on_destroy.push(e)} function ce (line 49) | function ce(){const e=ae();return(t,n)=>{const r=e.$$.callbacks[t];if(r)... function ue (line 49) | function ue(e,t){ae().$$.context.set(e,t)} function de (line 49) | function de(e){return ae().$$.context.get(e)} function fe (line 49) | function fe(e,t){const n=e.$$.callbacks[t.type];n&&n.slice().forEach(e=>... function he (line 49) | function he(){ye||(ye=!0,$e.then(ke))} function be (line 49) | function be(e){ge.push(e)} function ke (line 49) | function ke(){if(!xe){xe=!0;do{for(let e=0;e{je=null}),je} function Oe (line 49) | function Oe(e,t,n){e.dispatchEvent(X(`${t?"intro":"outro"}${n}`))} function _e (line 49) | function _e(){ze={r:0,c:[],p:ze}} function Se (line 49) | function Se(){ze.r||c(ze.c),ze=ze.p} function Ce (line 49) | function Ce(e,t){e&&e.i&&(Ae.delete(e),e.i(t))} function qe (line 49) | function qe(e,t,n,r){if(e&&e.o){if(Ae.has(e))return;Ae.add(e),ze.c.push(... function Te (line 49) | function Te(e,t,n){let r,a,s=t(e,n),i=!1,c=0;function d(){r&&re(e,r)}fun... function Me (line 49) | function Me(e,t,n){let r,a=t(e,n),s=!0;const i=ze;function d(){const{del... function De (line 49) | function De(e,t,n,r){let a=t(e,n),s=r?0:1,i=null,d=null,f=null;function ... function Ne (line 49) | function Ne(e,t){const n={},r={},l={$$scope:1};let o=e.length;for(;o--;)... function Ve (line 49) | function Ve(e){return"object"==typeof e&&null!==e?e:{}} function Be (line 49) | function Be(e){e&&e.c()} function Re (line 49) | function Re(e,t,n,r){const{fragment:l,on_mount:o,on_destroy:a,after_upda... function Ke (line 49) | function Ke(e,t){const n=e.$$;null!==n.fragment&&(c(n.on_destroy),n.frag... function Ge (line 49) | function Ge(e,t){-1===e.$$.dirty[0]&&(pe.push(e),he(),e.$$.dirty.fill(0)... function Je (line 49) | function Je(e,t,n,r,o,a,s,u=[-1]){const d=Q;oe(e);const f=e.$$={fragment... class Le (line 49) | class Le{$destroy(){Ke(this,1),this.$destroy=l}$on(e,t){const n=this.$$.... method $destroy (line 49) | $destroy(){Ke(this,1),this.$destroy=l} method $on (line 49) | $on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);retur... method $set (line 49) | $set(e){this.$$set&&!f(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$... function He (line 49) | function He(e,t=l){let n;const r=new Set;function o(t){if(d(e,t)&&(e=t,n... function Ze (line 49) | function Ze(e){const t=e-1;return t*t*t+1} function Ue (line 49) | function Ue(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty... function We (line 49) | function We(e,{delay:t=0,duration:n=400,easing:r=Ze,x:l=0,y:o=0,opacity:... function Xe (line 49) | function Xe(e){var{fallback:t}=e,n=Ue(e,["fallback"]);const r=new Map,l=... function Ye (line 49) | function Ye(e){z(e,"svelte-c8tyih","svg.svelte-c8tyih{stroke:currentColo... function Qe (line 49) | function Qe(e){let t,n;return{c(){t=D("title"),n=N(e[0])},m(e,r){q(e,t,r... function et (line 49) | function et(e){let t,n,r,l=e[0]&&Qe(e);const o=e[3].default,a=g(o,e,e[2]... function tt (line 49) | function tt(e,t,n){let{$$slots:r={},$$scope:l}=t,{title:o=null}=t,{viewB... class nt (line 49) | class nt extends Le{constructor(e){super(),Je(this,e,tt,et,d,{title:0,vi... method constructor (line 49) | constructor(e){super(),Je(this,e,tt,et,d,{title:0,viewBox:1},Ye)} function rt (line 49) | function rt(e){let t;return{c(){G(t=D("path"),"d","M285.476 272.971L91.1... function lt (line 49) | function lt(e){let t,n;const r=[{viewBox:"0 0 320 512"},e[0]];let l={$$s... function ot (line 49) | function ot(e,t,n){return e.$$set=(e=>{n(0,t=a(a({},t),b(e)))}),[t=b(t)]} class at (line 49) | class at extends Le{constructor(e){super(),Je(this,e,ot,lt,d,{})}} method constructor (line 49) | constructor(e){super(),Je(this,e,ot,lt,d,{})} function st (line 49) | function st(e){z(e,"svelte-1xg9v5h",".menu.svelte-1xg9v5h{display:flex;m... function it (line 49) | function it(e,t,n){const r=e.slice();return r[4]=t[n][0],r[5]=t[n][1].la... function ct (line 49) | function ct(e){let t,n,r,l,o,a=e[5]+"";function s(){return e[3](e[4])}re... function ut (line 49) | function ut(e){let t,n=Object.entries(e[1]),r=[];for(let l=0;l{"expanded"in e&... class $t (line 49) | class $t extends Le{constructor(e){super(),Je(this,e,vt,gt,d,{expanded:0... method constructor (line 49) | constructor(e){super(),Je(this,e,vt,gt,d,{expanded:0},mt)} function yt (line 49) | function yt(e){z(e,"svelte-1vlbacg","label.svelte-1vlbacg{display:inline... function ht (line 49) | function ht(e){let t,n,r,l,o,a;return{c(){t=M("label"),n=M("span"),r=N(e... function bt (line 49) | function bt(e){let t,n=e[3]&&e[0]&&ht(e);return{c(){n&&n.c(),t=B()},m(e,... function xt (line 49) | function xt(e,t,n){let r,{key:l,isParentExpanded:o,isParentArray:a=!1,co... class wt (line 49) | class wt extends Le{constructor(e){super(),Je(this,e,xt,bt,d,{key:0,isPa... method constructor (line 49) | constructor(e){super(),Je(this,e,xt,bt,d,{key:0,isParentExpanded:1,isP... function kt (line 49) | function kt(e){z(e,"svelte-rwxv37","label.svelte-rwxv37{display:inline-b... function Pt (line 49) | function Pt(e,t,n){const r=e.slice();return r[12]=t[n],r[20]=n,r} function jt (line 49) | function jt(e){let t,n;return(t=new $t({props:{expanded:e[0]}})).$on("cl... function Et (line 49) | function Et(e){let t;return{c(){(t=M("span")).textContent="…"},m(e,n){q(... function Ot (line 49) | function Ot(e){let t,n,r,l,o,a=e[13],s=[];for(let u=0;u... class xn (line 49) | class xn extends Le{constructor(e){super(),Je(this,e,bn,hn,d,{key:0,valu... method constructor (line 49) | constructor(e){super(),Je(this,e,bn,hn,d,{key:0,value:1},yn)} function wn (line 49) | function wn(e){z(e,"svelte-jvfq3i",".svelte-jvfq3i{box-sizing:border-box... function kn (line 49) | function kn(e,t,n){const r=e.slice();return r[7]=t[n],r[9]=n,r} function Pn (line 49) | function Pn(e){let t,n,r,l,o,a,s=e[1],i=[];for(let c=0;c1&&Pn(e);return{c(){n&&n.c(),t=B()},m... function An (line 49) | function An(e,t,n){let r,o,a,s,i=l,c=()=>(i(),i=p(u,e=>n(5,s=e)),u);e.$$... class zn (line 49) | class zn extends Le{constructor(e){super(),Je(this,e,An,En,d,{clientMana... method constructor (line 49) | constructor(e){super(),Je(this,e,An,En,d,{clientManager:0},wn)} function _n (line 49) | function _n(e){z(e,"svelte-1vfj1mn",".key.svelte-1vfj1mn.svelte-1vfj1mn{... function Sn (line 49) | function Sn(e){let t,n,r,l,o,a=`(shortcut: ${e[0]})`+"";return{c(){t=M("... function Cn (line 49) | function Cn(e){let t,n,r,o,a,s,i=e[1]&&Sn(e);return{c(){t=M("div"),n=M("... function qn (line 49) | function qn(e,t,n){let r,{value:l}=t,{onPress:o=null}=t,{label:a=null}=t... class In (line 49) | class In extends Le{constructor(e){super(),Je(this,e,qn,Cn,d,{value:0,on... method constructor (line 49) | constructor(e){super(),Je(this,e,qn,Cn,d,{value:0,onPress:8,label:1,di... function Tn (line 49) | function Tn(e){z(e,"svelte-1mppqmp",".move.svelte-1mppqmp{display:flex;f... function Mn (line 49) | function Mn(e){let t,n,r,o,a,s,i,d,f,p,m;return{c(){t=M("div"),n=M("span... function Nn (line 49) | function Nn(e,t,n){let r,{Activate:l}=t,{Deactivate:o}=t,{name:a}=t,{act... class Vn (line 49) | class Vn extends Le{constructor(e){super(),Je(this,e,Nn,Mn,d,{Activate:0... method constructor (line 49) | constructor(e){super(),Je(this,e,Nn,Mn,d,{Activate:0,Deactivate:1,name... function Bn (line 49) | function Bn(e){z(e,"svelte-smqssc",".move-error.svelte-smqssc{color:#a00... function Rn (line 49) | function Rn(e){let t,n;return{c(){t=M("span"),n=N(e[2]),G(t,"class","mov... function Kn (line 49) | function Kn(e){let t,n,r,l,o,a,s;r=new In({props:{value:e[0],onPress:e[4... function Gn (line 49) | function Gn(t,n,r){let{shortcut:l}=n,{name:o}=n,{fn:a}=n;const{disableHo... class Jn (line 49) | class Jn extends Le{constructor(e){super(),Je(this,e,Gn,Kn,d,{shortcut:0... method constructor (line 49) | constructor(e){super(),Je(this,e,Gn,Kn,d,{shortcut:0,name:1,fn:8},Bn)} function Ln (line 49) | function Ln(e){z(e,"svelte-c3lavh","ul.svelte-c3lavh{padding-left:0}li.s... function Fn (line 49) | function Fn(e){let t,n,r,l,o,a,s,i,c,u,d,f,p;return r=new In({props:{val... function Hn (line 49) | function Hn(t,r,l){let{client:o}=r,{ToggleVisibility:a}=r;return t.$$set... class Zn (line 49) | class Zn extends Le{constructor(e){super(),Je(this,e,Hn,Fn,d,{client:0,T... method constructor (line 49) | constructor(e){super(),Je(this,e,Hn,Fn,d,{client:0,ToggleVisibility:1}... function Un (line 49) | function Un(e){z(e,"svelte-19aan9p",".player-box.svelte-19aan9p{display:... function Wn (line 49) | function Wn(e,t,n){const r=e.slice();return r[7]=t[n],r} function Xn (line 49) | function Xn(e){let t,n,r,l,o,a,s=e[7]+"";function i(){return e[5](e[7])}... function Yn (line 49) | function Yn(e){let t,n=e[2],r=[];for(let l=0;le.length)&&(t=e.length);for(var n=0,r=new A... function yr (line 49) | function yr(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e... function hr (line 49) | function hr(e,t){var n,r={},l={},o=yr(t);try{for(o.s();!(n=o.n()).done;)... function br (line 49) | function br(e){z(e,"svelte-146sq5f",".tree.svelte-146sq5f{--json-tree-fo... function xr (line 49) | function xr(e,t,n){const r=e.slice();return r[10]=t[n][0],r[11]=t[n][1],r} function wr (line 49) | function wr(e){let t,n,r,l;return n=new Jn({props:{shortcut:e[8][e[10]],... function kr (line 49) | function kr(e){let t,n,r;return n=new Jn({props:{name:"endStage",shortcu... function Pr (line 49) | function Pr(e){let t,n,r;return n=new Jn({props:{name:"endTurn",shortcut... function jr (line 49) | function jr(e){let t,n,r;return n=new Jn({props:{name:"endPhase",shortcu... function Er (line 49) | function Er(e){let t,n,r,l,o,a,s,i,c,u,d,f,p,m,g,v,$,y,h,b,x,w,k,P,j,E,O... function Or (line 49) | function Or(e){let t={};for(const n in e)n.startsWith("_")||(t[n]=e[n]);... function Ar (line 49) | function Ar(e,t,n){let{client:r}=t,{clientManager:l}=t,{ToggleVisibility... class zr (line 49) | class zr extends Le{constructor(e){super(),Je(this,e,Ar,Er,d,{client:0,c... method constructor (line 49) | constructor(e){super(),Je(this,e,Ar,Er,d,{client:0,clientManager:1,Tog... function _r (line 49) | function _r(e){z(e,"svelte-13qih23",".item.svelte-13qih23.svelte-13qih23... function Sr (line 49) | function Sr(e){let t,n,r,o,a,s,i=JSON.stringify(e[1])+"";return{c(){t=M(... function Cr (line 49) | function Cr(e,t,n){let{name:r}=t,{value:l}=t;return e.$$set=(e=>{"name"i... class qr (line 49) | class qr extends Le{constructor(e){super(),Je(this,e,Cr,Sr,d,{name:0,val... method constructor (line 49) | constructor(e){super(),Je(this,e,Cr,Sr,d,{name:0,value:1},_r)} function Ir (line 49) | function Ir(e){z(e,"svelte-1yzq5o8",".gameinfo.svelte-1yzq5o8{padding:10... function Tr (line 49) | function Tr(e){let t,n;return t=new qr({props:{name:"isConnected",value:... function Mr (line 49) | function Mr(e){let t,n,r,l,o,a,s,i;n=new qr({props:{name:"matchID",value... function Dr (line 49) | function Dr(e,t,n){let r,o=l,a=()=>(o(),o=p(s,e=>n(1,r=e)),s);e.$$.on_de... class Nr (line 49) | class Nr extends Le{constructor(e){super(),Je(this,e,Dr,Mr,d,{client:0,c... method constructor (line 49) | constructor(e){super(),Je(this,e,Dr,Mr,d,{client:0,clientManager:2,Tog... function Vr (line 49) | function Vr(e){z(e,"svelte-6eza86",".turn-marker.svelte-6eza86{display:f... function Br (line 49) | function Br(e){let t,n;return{c(){t=M("div"),n=N(e[0]),G(t,"class","turn... function Rr (line 49) | function Rr(e,t,n){let{turn:r}=t,{numEvents:l}=t;const o=`grid-row: span... class Kr (line 49) | class Kr extends Le{constructor(e){super(),Je(this,e,Rr,Br,d,{turn:0,num... method constructor (line 49) | constructor(e){super(),Je(this,e,Rr,Br,d,{turn:0,numEvents:2},Vr)} function Gr (line 49) | function Gr(e){z(e,"svelte-1t4xap",".phase-marker.svelte-1t4xap{grid-col... function Jr (line 49) | function Jr(e){let t,n,r=(e[0]||"")+"";return{c(){t=M("div"),n=N(r),G(t,... function Lr (line 49) | function Lr(e,t,n){let{phase:r}=t,{numEvents:l}=t;const o=`grid-row: spa... class Fr (line 49) | class Fr extends Le{constructor(e){super(),Je(this,e,Lr,Jr,d,{phase:0,nu... method constructor (line 49) | constructor(e){super(),Je(this,e,Lr,Jr,d,{phase:0,numEvents:2},Gr)} function Hr (line 49) | function Hr(e){let t;return{c(){(t=M("div")).textContent=`${e[0]}`},m(e,... function Zr (line 49) | function Zr(e,t,n){let{metadata:r}=t;const l=void 0!==r?JSON.stringify(r... class Ur (line 49) | class Ur extends Le{constructor(e){super(),Je(this,e,Zr,Hr,d,{metadata:1... method constructor (line 49) | constructor(e){super(),Je(this,e,Zr,Hr,d,{metadata:1})} function Wr (line 49) | function Wr(e){z(e,"svelte-vajd9z",".log-event.svelte-vajd9z{grid-column... function Xr (line 49) | function Xr(e){let t,n;return t=new Ur({props:{metadata:e[2]}}),{c(){Be(... function Yr (line 49) | function Yr(e){let t,n,r;var l=e[3];function o(e){return{props:{metadata... function Qr (line 49) | function Qr(e){let t,n,r,l,o,a,s,i,u,d,f,p,m;const g=[Yr,Xr],v=[];functi... function el (line 49) | function el(e,t,n){let{logIndex:r}=t,{action:l}=t,{pinned:o}=t,{metadata... class tl (line 49) | class tl extends Le{constructor(e){super(),Je(this,e,el,Qr,d,{logIndex:0... method constructor (line 49) | constructor(e){super(),Je(this,e,el,Qr,d,{logIndex:0,action:8,pinned:1... function nl (line 49) | function nl(e){let t;return{c(){G(t=D("path"),"d","M504 256c0 137-111 24... function rl (line 49) | function rl(e){let t,n;const r=[{viewBox:"0 0 512 512"},e[0]];let l={$$s... function ll (line 49) | function ll(e,t,n){return e.$$set=(e=>{n(0,t=a(a({},t),b(e)))}),[t=b(t)]} class ol (line 49) | class ol extends Le{constructor(e){super(),Je(this,e,ll,rl,d,{})}} method constructor (line 49) | constructor(e){super(),Je(this,e,ll,rl,d,{})} function al (line 49) | function al(e){z(e,"svelte-1a7time","div.svelte-1a7time{white-space:nowr... function sl (line 49) | function sl(e){let t,n;return{c(){t=M("div"),n=N(e[0]),G(t,"alt",e[0]),G... function il (line 49) | function il(e,t,n){let r,{action:l}=t;return e.$$set=(e=>{"action"in e&&... class cl (line 49) | class cl extends Le{constructor(e){super(),Je(this,e,il,sl,d,{action:1},... method constructor (line 49) | constructor(e){super(),Je(this,e,il,sl,d,{action:1},al)} function ul (line 49) | function ul(e){z(e,"svelte-ztcwsu","table.svelte-ztcwsu.svelte-ztcwsu{fo... function dl (line 49) | function dl(e,t,n){const r=e.slice();return r[10]=t[n],r[12]=n,r} function fl (line 49) | function fl(e){let t,n,r,l,o,a,s,i,u,d,f,p,m,g=e[10].value+"",v=e[10].vi... function pl (line 49) | function pl(e){let t,n,r,l,o,a=e[1],s=[];for(let c=0;c(a(),a=p(i,e=>r(10,o=e)),i);e.$$.on_d... class Dl (line 49) | class Dl extends Le{constructor(e){super(),Je(this,e,Ml,Tl,d,{client:0},... method constructor (line 49) | constructor(e){super(),Je(this,e,Ml,Tl,d,{client:0},El)} function Nl (line 49) | function Nl(e){z(e,"svelte-1fu900w","label.svelte-1fu900w{color:#666}.op... function Vl (line 49) | function Vl(e,t,n){const r=e.slice();return r[6]=t[n][0],r[7]=t[n][1],r[... function Bl (line 49) | function Bl(e){let t,n,r,l;function o(){e[5].call(t,e[6])}return{c(){G(t... function Rl (line 49) | function Rl(e){let t,n,r,l,o,a,s,i,u,d=e[1][e[6]]+"";function f(){e[4].c... function Kl (line 49) | function Kl(e){let t,n,r,l,o,a,s=e[6]+"";function i(e,t){return e[7].ran... function Gl (line 49) | function Gl(e){let t,n=Object.entries(e[0].opts()),r=[];for(let l=0;l(s(),s=p(c,e=>n(15,o=e)),c);e.$$.... class mo (line 49) | class mo extends Le{constructor(e){super(),Je(this,e,po,fo,d,{clientMana... method constructor (line 49) | constructor(e){super(),Je(this,e,po,fo,d,{clientManager:0},oo)} function e (line 51) | function e(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enume... function r (line 53) | function r(e){return e&&e.__esModule?e:{default:e}} method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function t (line 53) | function t(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){va... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function n (line 53) | function n(r){for(var n=1;n{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function t (line 55) | function t(e){return"Minified Redux error #"+e+"; visit https://redux.js... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function u (line 55) | function u(e){if("object"!=typeof e||null===e)return!1;for(var r=e;null!... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function f (line 55) | function f(e){var r=typeof e;return r} function c (line 55) | function c(e,r,o){var f;if("function"==typeof r&&"function"==typeof o||"... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function a (line 55) | function a(e){"undefined"!=typeof console&&"function"==typeof console.er... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function p (line 55) | function p(e,r,t,n){var o=Object.keys(r),c=t&&t.type===i.INIT?"preloaded... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function s (line 55) | function s(e){Object.keys(e).forEach(function(r){var n=e[r];if(void 0===... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function d (line 55) | function d(e){for(var r=Object.keys(e),n={},o=0;o!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;rt.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function v (line 55) | function v(){for(var r=arguments.length,n=new Array(r),o=0;oe()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class t (line 59) | class t{constructor({transportDataCallback:t,gameName:a,playerID:s,match... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} class h (line 61) | class h extends n.T{connect(){}disconnect(){}sendAction(){}sendChatMessa... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... class l (line 61) | class l{constructor(){this.debugPanel=null,this.currentClient=null,this.... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function g (line 61) | function g(t,e,s,r,a,n){const h={};for(const c of e)h[c]=((...e)=>{const... class m (line 61) | class m{constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g... method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function y (line 61) | function y(t){return new m(t)} method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... class a (line 63) | class a extends Error{constructor(e,t){super(e),this.details=t}} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class n (line 63) | class n{constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")}as... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;st(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function x (line 65) | function x(){} function b (line 65) | function b(e,r,t){this.props=e,this.context=r,this.refs=h,this.updater=t... method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function g (line 65) | function g(e,r,n){var o,u={},f=null,c=null;if(null!=r)for(o in void 0!==... function w (line 65) | function w(e,r){return{$$typeof:t,type:e.type,key:r,ref:e.ref,props:e.pr... function C (line 65) | function C(e){return"object"==typeof e&&null!==e&&e.$$typeof===t} function E (line 65) | function E(e){var r={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g... function j (line 65) | function j(e,r,t,n){if(P.length){var o=P.pop();return o.result=e,o.keyPr... function O (line 65) | function O(e){e.result=null,e.keyPrefix=null,e.func=null,e.context=null,... function A (line 65) | function A(e,r,o,u){var f=typeof e;"undefined"!==f&&"boolean"!==f||(e=nu... function I (line 65) | function I(e,r,t){return null==e?0:A(e,"",r,t)} function U (line 65) | function U(e,r){return"object"==typeof e&&null!==e&&null!=e.key?E(e.key)... function q (line 65) | function q(e,r){e.func.call(e.context,r,e.count++)} function F (line 65) | function F(e,r,t){var n=e.result,o=e.keyPrefix;e=e.func.call(e.context,r... function L (line 65) | function L(e,r,t,n,o){var u="";null!=t&&(u=(""+t).replace(R,"$&/")+"/"),... function D (line 65) | function D(){var e=M.current;if(null===e)throw Error(d(321));return e} function r (line 71) | function r(){} method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function t (line 71) | function t(){} method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function n (line 71) | function n(r,t,n,o,a,p){if(p!==e){var c=new Error("Calling PropTypes val... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function n (line 75) | function n(t,i){if("string"!=typeof t)throw new TypeError("argument str ... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function a (line 75) | function a(e,t){try{return t(e)}catch(r){return e}} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function u (line 78) | function u(e){return e&&e.__esModule?e:{default:e}} method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function d (line 78) | function d(){return s&&!s.headersSent} method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function f (line 78) | function f(e,o){var t=c?a:r.default.parse(document.cookie),n=t&&t[e];if(... function l (line 78) | function l(e){var o=c?a:r.default.parse(document.cookie);if(void 0===e&&... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function y (line 78) | function y(e,t,n){a[e]=t,"object"===(void 0===t?"undefined":o(t))&&(a[e]... method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function v (line 78) | function v(e,o){delete a[e],o=void 0===o?{}:"string"==typeof o?{path:o}:... function k (line 78) | function k(e){a=e?r.default.parse(e):{}} function m (line 78) | function m(e,o){return e.cookie?a=e.cookie:e.cookies?a=e.cookies:e.heade... method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function a (line 80) | function a(t){return t.type()===e.SYNC} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class s (line 80) | class s{type(){return e.ASYNC}async createMatch(e,t){if(this.createGame)... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... class n (line 80) | class n{type(){return e.SYNC}connect(){}createMatch(e,t){if(this.createG... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function o (line 84) | function o(e,t){return void 0===e?e:e.map(e=>{if(null!==t&&+t==+e.action... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function t (line 86) | function t(r,e){var t=e.replace(/\/{2,9}/g,"/").split("/");return"/"!=e.... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function s (line 86) | function s(r,e){var t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,fu... method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function t (line 88) | function t(t){if(!((t=String(t)).length>100)){var u=/^(-?(?:\d+)?\.?\d+)... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function u (line 88) | function u(n){var c=Math.abs(n);return c>=a?Math.round(n/a)+"d":c>=r?Mat... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function i (line 88) | function i(n){var c=Math.abs(n);return c>=a?o(n,c,a,"day"):c>=r?o(n,c,r,... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function o (line 88) | function o(s,e,r,a){var n=e>=1.5*r;return Math.round(s/r)+" "+a+(n?"s":"")} method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function e (line 90) | function e(e){function n(e){let r,s,o,a=null;function l(...e){if(!l.enab... function o (line 93) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function t (line 93) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function C (line 93) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 93) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 93) | function n(){try{return localStorage}catch(e){}} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function t (line 113) | function t(t){if(t)return e(t)} method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function e (line 113) | function e(e){for(var s in t.prototype)e[s]=t.prototype[s];return e} function s (line 113) | function s(){this.off(t,s),e.apply(this,arguments)} method type (line 80) | type(){return e.ASYNC} method createMatch (line 80) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 80) | async listMatches(e){if(this.listGames)return console.warn("The databa... function e (line 115) | function e(e){function n(e){let r,s,o,a=null;function l(...e){if(!l.enab... function o (line 118) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function t (line 118) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function C (line 118) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 118) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 118) | function n(){try{return localStorage}catch(e){}} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function a (line 124) | function a(r){var n="";do{n=e[r%t]+n,r=Math.floor(r/t)}while(r>0);return n} method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function c (line 124) | function c(r){var e=0;for(u=0;uthis.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function f (line 124) | function f(){var e=a(+new Date);return e!==r?(o=0,r=e):e+"."+a(o++)} class p (line 126) | class p extends t{get name(){return"polling"}doOpen(){this.poll()}pause(... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function n (line 130) | function n(){} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} class u (line 130) | class u extends s{constructor(t,e){super(),this.opts=e,this.method=e.met... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function d (line 130) | function d(){for(let t in u.requests)u.requests.hasOwnProperty(t)&&u.req... method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... class o (line 132) | class o extends e{constructor(e){super(e),this.query=this.query||{},s||(... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function h (line 136) | function h(r){var t=r.length;if(t%4>0)throw new Error("Invalid string. L... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function u (line 136) | function u(r){var t=h(r),e=t[0],n=t[1];return 3*(e+n)/4-n} method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function c (line 136) | function c(r,t,e){return 3*(t+e)/4-e} method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function i (line 136) | function i(r){var n,o,a=h(r),u=a[0],i=a[1],f=new e(c(r,u,i)),A=0,d=i>0?u... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function f (line 136) | function f(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]} function A (line 136) | function A(r,t,e){for(var n,o=[],a=t;a0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function o (line 144) | function o(){return f.TYPED_ARRAY_SUPPORT?2147483647:1073741823} method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function u (line 144) | function u(t,r){if(o()t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function a (line 144) | function a(t,r,e,n){return h(r),r<=0?u(t,r):void 0!==e?"string"==typeof ... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function c (line 144) | function c(t,r){if(h(r),t=u(t,r<0?0:0|w(r)),!f.TYPED_ARRAY_SUPPORT)for(v... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function l (line 144) | function l(t,r,e){if("string"==typeof e&&""!==e||(e="utf8"),!f.isEncodin... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... function g (line 144) | function g(t,r,e,n){if(r.byteLength,e<0||r.byteLength=o())throw new RangeError("Attempt to allocate Buffer... function d (line 144) | function d(t){return+t!=t&&(t=0),f.alloc(+t)} method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... function v (line 144) | function v(t,r){if(f.isBuffer(t))return t.length;if("undefined"!=typeof ... function E (line 144) | function E(t,r,e){var n=!1;if((void 0===r||r<0)&&(r=0),r>this.length)ret... function b (line 144) | function b(t,r,e){var n=t[r];t[r]=t[e],t[e]=n} method constructor (line 24) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 24) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 24) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 24) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 24) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 24) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function R (line 144) | function R(t,r,e,n,i){if(0===t.length)return-1;if("string"==typeof e?(n=... function _ (line 144) | function _(t,r,e,n,i){var o,u=1,f=t.length,s=r.length;if(void 0!==n&&("u... function A (line 144) | function A(t,r,e,n){e=Number(e)||0;var i=t.length-e;n?(n=Number(n))>i&&(... function m (line 144) | function m(t,r,e,n){return Q($(r,t.length-e),t,e,n)} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... function P (line 144) | function P(t,r,e,n){return Q(G(r),t,e,n)} function T (line 144) | function T(t,r,e,n){return P(t,r,e,n)} function B (line 144) | function B(t,r,e,n){return Q(K(r),t,e,n)} function U (line 144) | function U(t,r,e,n){return Q(H(r,t.length-e),t,e,n)} function S (line 144) | function S(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromBy... function Y (line 144) | function Y(t,r,e){e=Math.min(t.length,e);for(var n=[],i=r;in)&&(e=n);... function C (line 144) | function C(t,r,e){for(var n=t.slice(r,e),i="",o=0;ot.length)throw new RangeError("Index out ... function j (line 144) | function j(t,r,n,i,o){return o||F(t,r,n,4,3.4028234663852886e38,-3.40282... function q (line 144) | function q(t,r,n,i,o){return o||F(t,r,n,8,1.7976931348623157e308,-1.7976... function X (line 144) | function X(t){if((t=J(t).replace(V,"")).length<2)return"";for(;t.length%... function J (line 144) | function J(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")} function Z (line 144) | function Z(t){return t<16?"0"+t.toString(16):t.toString(16)} function $ (line 144) | function $(t,r){var e;r=r||1/0;for(var n=t.length,i=null,o=[],u=0;u=r.length||i>=t.length);++i)r... function W (line 144) | function W(t){return t!=t} class l (line 147) | class l extends t{constructor(e){super(e),this.supportsBinary=!e.forceBa... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;re()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class n (line 151) | class n extends e{constructor(t,e={}){super(),t&&"object"==typeof t&&(e=... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function f (line 155) | function f(r){return e&&(r instanceof ArrayBuffer||t(r))||o&&r instanceo... function i (line 155) | function i(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){... method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... function e (line 157) | function e(t){const e=[],n=t.data,o=t;return o.data=r(n,e),o.attachments... function r (line 157) | function r(e,n){if(!e)return e;if(t.isBinary(e)){const t={_placeholder:!... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 157) | function n(t,e){return t.data=o(t.data,e),t.attachments=void 0,t} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function e (line 159) | function e(e){function n(e){let r,o=null;function s(...e){if(!s.enabled)... function o (line 162) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function t (line 162) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} function C (line 162) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 162) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 162) | function n(){try{return localStorage}catch(e){}} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;sthis.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} class o (line 164) | class o extends t{constructor(){super()}add(t){let e;if("string"==typeof... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function i (line 164) | function i(t){try{return JSON.parse(t)}catch(e){return!1}} method constructor (line 47) | constructor({enumerate:t,seed:e,objectives:a,game:s,iterations:i,playo... method createNode (line 47) | createNode({state:t,parentAction:e,parent:r,playerID:a}){const{G:s,ctx... method select (line 47) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 47) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 47) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 47) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 47) | play(t,e){const r=this.createNode({state:t,playerID:e});let a=this.get... class a (line 164) | class a{constructor(t){this.packet=t,this.buffers=[],this.reconPack=t}ta... method constructor (line 47) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 47) | addOpt({key:t,range:e,initial:r}){this._opts[t]={range:e,value:r}} method getOpt (line 47) | getOpt(t){return this._opts[t].value} method setOpt (line 47) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 47) | opts(){return this._opts} method enumerate (line 47) | enumerate(e,r,a){return this.enumerateFn(e,r,a).map(e=>"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} function e (line 166) | function e(e,o,t){return e.on(o,t),function(){e.off(o,t)}} class t (line 168) | class t extends e{on(e,t){return super.on(e,t),this}once(e,t){return sup... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} class c (line 170) | class c extends s.StrictEventEmitter{constructor(t,e,s){super(),this.rec... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function t (line 172) | function t(t){t=t||{},this.ms=t.min||100,this.max=t.max||1e4,this.factor... method constructor (line 20) | constructor(t){const e=s();this.c=1,this.s0=e(" "),this.s1=e(" "),this... method next (line 20) | next(){const t=2091639*this.s0+2.3283064365386963e-10*this.c;return th... method constructor (line 59) | constructor({transportDataCallback:t,gameName:a,playerID:s,matchID:e,c... method subscribeToConnectionStatus (line 59) | subscribeToConnectionStatus(t){this.connectionStatusCallback=t} method setConnectionStatus (line 59) | setConnectionStatus(t){this.isConnected=t,this.connectionStatusCallbac... method notifyClient (line 59) | notifyClient(t){this.transportDataCallback(t)} method on (line 168) | on(e,t){return super.on(e,t),this} method once (line 168) | once(e,t){return super.once(e,t),this} method emit (line 168) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 168) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 168) | listeners(e){return super.listeners(e)} class r (line 174) | class r extends s.StrictEventEmitter{constructor(e,t){super(),this.nsps=... method constructor (line 120) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 120) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 120) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 120) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 120) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 120) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 120) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 120) | onPacket(e){this.emit("packet",e)} method onClose (line 120) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 174) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 174) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 174) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 174) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 174) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 174) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 174) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 174) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 174) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 174) | connect(e){return this.open(e)} method onopen (line 174) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 174) | onping(){this.emitReserved("ping")} method ondata (line 174) | ondata(e){this.decoder.add(e)} method ondecoded (line 174) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 174) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 174) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 174) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 174) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 174) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 176) | function n(n,c){"object"==typeof n&&(c=n,n=void 0),c=c||{};const s=e.url... method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;se()),this.subs.length=0,th... method _close (line 174) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 174) | disconnect(){return this._close()} method onclose (line 174) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 174) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 174) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 178) | constructor(){super(),this.state=new Map,this.initial=new Map,this.met... method createMatch (line 178) | createMatch(t,e){this.initial.set(t,e.initialState),this.setState(t,e.... method setMetadata (line 178) | setMetadata(t,e){this.metadata.set(t,e)} method setState (line 178) | setState(t,e,s){if(s&&s.length>0){const e=this.log.get(t)||[];this.log... method fetch (line 178) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 178) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 178) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class c (line 178) | class c extends Map{constructor(t){super(),this.key=t,(JSON.parse(localS... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} class o (line 178) | class o extends r{constructor(t="bgio"){super();const e=e=>new c(`${t}_$... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... function h (line 178) | function h(t,e){if(void 0!==t.ctx.gameover)return null;if(t.ctx.activePl... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... class l (line 178) | class l extends s.M{constructor({game:t,bots:e,storageKey:s,persist:a}){... method constructor (line 61) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 61) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 61) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 61) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 61) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 61) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 61) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 61) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 61) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 61) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 61) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 147) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 147) | get name(){return"websocket"} method doOpen (line 147) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 147) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 147) | write(t){this.writable=!1;for(let r=0;r{const{gameKey:... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... class y (line 178) | class y extends t.T{constructor({socket:t,socketOpts:e,server:s,...i}){s... method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function g (line 178) | function g({server:t,socketOpts:e}={}){return s=>new y({server:t,socketO... function c (line 180) | function c(e){return e&&e.__esModule?e:{default:e}} method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} function o (line 180) | function o(t){var a;const{game:n,numPlayers:i,board:l,multiplayer:c,enha... method constructor (line 82) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 82) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 82) | async onUpdate(s,o,n,c){if(!s||!s.payload)return{error:"missing action... method onSync (line 82) | async onSync(t,a,e,i=2){const o=t,n={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 82) | async onConnectionChange(t,e,i,o){const n=t;if(null==e)return;let c;if... method onChatMessage (line 82) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... method constructor (line 132) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 132) | get supportsBinary(){return!1} method doClose (line 132) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 132) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 132) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 164) | constructor(){super()} method add (line 164) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 164) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 164) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 164) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 178) | constructor(t="bgio"){super();const e=e=>new c(`${t}_${e}`);this.state... class h (line 180) | class h{constructor({server:e,gameComponents:t,playerName:s,playerCreden... method connect (line 61) | connect(){} method disconnect (line 61) | disconnect(){} method sendAction (line 61) | sendAction(){} method sendChatMessage (line 61) | sendChatMessage(){} method requestSync (line 61) | requestSync(){} method updateCredentials (line 61) | updateCredentials(){} method updateMatchID (line 61) | updateMatchID(){} method updatePlayerID (line 61) | updatePlayerID(){} method constructor (line 180) | constructor({server:e,gameComponents:t,playerName:s,playerCredentials:... method refresh (line 180) | async refresh(){try{this.matches=[];const t=await this.client.listGame... method _getMatchInstance (line 180) | _getMatchInstance(e){for(const t of this.matches)if(t.matchID===e)retu... method _getGameComponents (line 180) | _getGameComponents(e){for(const t of this.gameComponents)if(t.game.nam... method _findPlayer (line 180) | _findPlayer(e){for(const t of this.matches)if(t.players.some(t=>t.name... method join (line 180) | async join(e,t,a){try{let r=this._findPlayer(this.playerName);if(r)thr... method leave (line 180) | async leave(e,t){try{const s=this._getMatchInstance(t);if(!s)throw new... method disconnect (line 180) | async disconnect(){const e=this._findPlayer(this.playerName);e&&await ... method create (line 180) | async create(e,t){try{const s=this._getGameComponents(e);if(!s)throw n... function m (line 180) | function m(e){return new h(e)} method constructor (line 61) | constructor({game:e,debug:n,numPlayers:h,multiplayer:l,matchID:g,playe... method receiveMatchData (line 61) | receiveMatchData(t){this.matchData=t,this.notifySubscribers()} method receiveChatMessage (line 61) | receiveChatMessage(t){this.chatMessages=[...this.chatMessages,t],this.... method receiveTransportData (line 61) | receiveTransportData(t){const[e]=t.args;if(e===this.matchID)switch(t.t... method notifySubscribers (line 61) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 61) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 61) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 61) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 61) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 61) | getInitialState(){return this.initialState} method getState (line 61) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 61) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 61) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 61) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 61) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... class u (line 180) | class u extends s.default.Component{constructor(){super(...arguments),th... method constructor (line 130) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 130) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 130) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 130) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 130) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 130) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 130) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 130) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 130) | abort(){this.cleanup()} method constructor (line 178) | constructor({master:t,...e}){super(e),this.master=t} method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChat... method sendAction (line 178) | sendAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.pl... method requestSync (line 178) | requestSync(){this.master.onSync(this.matchID,this.playerID,this.crede... method connect (line 178) | connect(){this.setConnectionStatus(!0),this.master.connect(this.player... method disconnect (line 178) | disconnect(){this.setConnectionStatus(!1)} method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.connect()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.connect()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.connect()} method constructor (line 180) | constructor(){super(...arguments),this.state={playerName:this.props.pl... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... class p (line 180) | class p extends s.default.Component{constructor(){super(...arguments),th... method name (line 126) | get name(){return"polling"} method doOpen (line 126) | doOpen(){this.poll()} method pause (line 126) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 126) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 126) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 126) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 126) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 126) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 180) | constructor(){super(...arguments),this._createSeat=(e=>e.name||"[free]... method render (line 180) | render(){const e=this.props.match;let t="OPEN";return e.players.some(e... class d (line 180) | class d extends s.default.Component{constructor(e){super(e),this.state={... method constructor (line 180) | constructor(e){super(e),this.state={selectedGame:0,numPlayers:2},this.... method render (line 180) | render(){return s.default.createElement("div",null,s.default.createEle... class y (line 180) | class y extends s.default.Component{constructor(e){super(e),this.state={... method constructor (line 178) | constructor({socket:t,socketOpts:e,server:s,...i}){super(i),this.serve... method sendAction (line 178) | sendAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this... method sendChatMessage (line 178) | sendChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("... method connect (line 178) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 178) | disconnect(){this.socket.close(),this.socket=null,this.setConnectionSt... method requestSync (line 178) | requestSync(){if(this.socket){const t=[this.matchID,this.playerID,this... method updateMatchID (line 178) | updateMatchID(t){this.matchID=t,this.requestSync()} method updatePlayerID (line 178) | updatePlayerID(t){this.playerID=t,this.requestSync()} method updateCredentials (line 178) | updateCredentials(t){this.credentials=t,this.requestSync()} method constructor (line 180) | constructor(e){super(e),this.state={phase:i.ENTER,playerName:"Visitor"... method componentDidMount (line 180) | componentDidMount(){const e=n.default.load("lobbyState")||{};e.phase&&... method componentDidUpdate (line 180) | componentDidUpdate(e,t){const a=this.state.playerName,s=this.state.cre... method componentWillUnmount (line 180) | componentWillUnmount(){this._clearRefreshInterval()} method _startRefreshInterval (line 180) | _startRefreshInterval(){this._clearRefreshInterval(),this._currentInte... method _clearRefreshInterval (line 180) | _clearRefreshInterval(){clearInterval(this._currentInterval)} method render (line 180) | render(){const{gameComponents:e,renderer:t}=this.props,{errorMsg:a,pla... function n (line 184) | function n(e){return e&&e.__esModule?e:{default:e}} method constructor (line 20) | constructor(t){this.state=t||{seed:"0"},this.used=!1} method seed (line 20) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 20) | isUsed(){return this.used} method getState (line 20) | getState(){return this.state} method _random (line 20) | _random(){this.used=!0;const t=this.state,s=r(t.prngstate?"":t.seed,t.... method api (line 20) | api(){const t=this._random.bind(this),s={D4:4,D6:6,D8:8,D10:10,D12:12,... method play (line 47) | play({G:t,ctx:e},r){const a=this.enumerate(t,e,r);return Promise.resol... method constructor (line 63) | constructor({server:e=""}={}){this.server=e.replace(/\/$/,"")} method request (line 63) | async request(e,t){const s=await fetch(this.server+e,t);if(!s.ok){let ... method post (line 63) | async post(e,t){let s={method:"post",body:JSON.stringify(t.body),heade... method listGames (line 63) | async listGames(e){return this.request("/games",e)} method listMatches (line 63) | async listMatches(e,s,r){t(e);let a="";if(s){const e=[],{isGameover:t,... method getMatch (line 63) | async getMatch(e,r,a){return t(e),s(r),this.request(`/games/${e}/${r}`... method createMatch (line 63) | async createMatch(e,s,a){return t(e),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 63) | async joinMatch(e,a,n,i){return t(e),s(a),r(n,{playerID:["string","und... method leaveMatch (line 63) | async leaveMatch(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentials... method updatePlayer (line 63) | async updatePlayer(e,a,n,i){t(e),s(a),r(n,{playerID:"string",credentia... method playAgain (line 63) | async playAgain(e,a,n,i){return t(e),s(a),r(n,{playerID:"string",crede... method type (line 80) | type(){return e.SYNC} method connect (line 80) | connect(){} method createMatch (line 80) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 80) | listMatches(e){if(this.listGames)return console.warn("The database con... method constructor (line 151) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 151) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 151) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 151) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 151) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 151) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 151) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 151) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 151) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 151) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 151) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 151) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 151) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 151) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 151) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 151) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 151) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 151) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s"payload"in e?e... method random (line 47) | random(t){let r;if(void 0!==this.seed){const t=this.prngstate?"":this.... method constructor (line 63) | constructor(e,t){super(e),this.details=t} method constructor (line 130) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 130) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 130) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 130) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 164) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 164) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 164) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method clickCell (line 184) | clickCell(e,t,l){const r=[...e.cells];return null===r[l]&&(r[l]=t.curren... function c (line 184) | function c({G:t,ctx:l,moves:r,isActive:n,playerID:a}){const u=e=>n&&null... method encode (line 164) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 164) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 164) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 170) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 170) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 170) | get active(){return!!this.subs} method connect (line 170) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 170) | open(){return this.connect()} method send (line 170) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 170) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 170) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 170) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 170) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 170) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 170) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 170) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 170) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 170) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 170) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 170) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 170) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 170) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 170) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 170) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 170) | close(){return this.disconnect()} method compress (line 170) | compress(t){return this.flags.compress=t,this} method volatile (line 170) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 170) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 170) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 170) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 170) | listenersAny(){return this._anyListeners||[]} method constructor (line 178) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 178) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 178) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 178) | delete(t){const e=super.delete(t);return this.sync(),e} FILE: docs/documentation/snippets/phases-1.0d4500d6.js function f (line 1) | function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequi... function e (line 3) | function e(){} method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function o (line 3) | function o(t,e){for(const n in e)t[n]=e[n];return t} method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function r (line 3) | function r(t){return t&&"object"==typeof t&&"function"==typeof t.then} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function s (line 3) | function s(t,e,n,o,r){t.__svelte_meta={loc:{file:e,line:n,column:o,char:... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function i (line 3) | function i(t){return t()} method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function c (line 3) | function c(){return Object.create(null)} method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function l (line 3) | function l(t){t.forEach(i)} method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,i,s,e.safe_not_equal,{playerI... function a (line 3) | function a(t,e){return t!=t?e==e:t!==e||t&&"object"==typeof t||"function... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function d (line 3) | function d(t,e){return p||(p=document.createElement("a")),p.href=e,t===p... method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... function f (line 3) | function f(t,e){return t!=t?e==e:t!==e} function _ (line 3) | function _(t){return 0===Object.keys(t).length} function h (line 3) | function h(t,e){if(null!=t&&"function"!=typeof t.subscribe)throw new Err... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} function x (line 3) | function x(t,...n){if(null==t)return e;const o=t.subscribe(...n);return ... function m (line 3) | function m(t){let e;return x(t,t=>e=t)(),e} method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function g (line 3) | function g(t,e,n){t.$$.on_destroy.push(x(e,n))} method constructor (line 148) | constructor({master:t,...e}){super(e),this.master=t,this.isConnected=!0} method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChatMe... method onUpdate (line 148) | async onUpdate(e,s,a){const i=this.store.getState();if(e==this.matchID... method onSync (line 148) | onSync(e,s){if(e==this.matchID){const e=(0,t.s)(s);this.store.dispatch... method onAction (line 148) | onAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.play... method connect (line 148) | connect(){this.master.connect(this.matchID,this.playerID,t=>{switch(t.... method disconnect (line 148) | disconnect(){} method subscribe (line 148) | subscribe(){} method subscribeMatchData (line 148) | subscribeMatchData(){} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.conne... method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function y (line 3) | function y(t,e,n,o){if(t){const r=b(t,e,n,o);return t[0](r)}} function b (line 3) | function b(t,e,n,r){return t[1]&&r?o(n.ctx.slice(),t[1](r(e))):n.ctx} function $ (line 3) | function $(t,e,n,o){if(t[2]&&o){const r=t[2](o(n));if(void 0===e.dirty)r... function v (line 3) | function v(t,e,n,o,r,s){if(r){const i=b(e,n,o,s);t.p(i,r)}} function F (line 3) | function F(t,e,n,o,r,s,i){v(t,e,n,o,$(e,o,r,s),i)} function w (line 3) | function w(t){if(t.ctx.length>32){const e=[],n=t.ctx.length/32;for(let t... method constructor (line 13) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 13) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 13) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 13) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 13) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 13) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function k (line 3) | function k(t){const e={};for(const n in t)"$"!==n[0]&&(e[n]=t[n]);return e} method constructor (line 148) | constructor({socket:t,socketOpts:e,server:s,...a}={}){super(a),this.se... method onAction (line 148) | onAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this.s... method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("ch... method connect (line 148) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 148) | disconnect(){this.socket.close(),this.socket=null,this.isConnected=!1,... method subscribe (line 148) | subscribe(t){this.callback=t} method subscribeMatchData (line 148) | subscribeMatchData(t){this.matchDataCallback=t} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method sync (line 148) | sync(){if(this.socket){const t=[this.matchID,this.playerID,this.creden... method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.sync()} method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function E (line 3) | function E(t,e){const n={};e=new Set(e);for(const o in t)e.has(o)||"$"==... function S (line 3) | function S(t){const e={};for(const n in t)e[n]=!0;return e} function C (line 3) | function C(t){let e=!1;return function(...n){e||(e=!0,t.call(this,...n))}} function D (line 3) | function D(t){return null==t?"":t} function O (line 3) | function O(t,e,n){return t.set(n),e} function M (line 3) | function M(t){return t&&u(t.destroy)?t.destroy:e} function R (line 3) | function R(t){exports.now=j=t} function q (line 3) | function q(t){exports.raf=N=t} function L (line 3) | function L(t){H.forEach(e=>{e.c(t)||(H.delete(e),e.f())}),0!==H.size&&N(L)} method constructor (line 13) | constructor(e){this.state=e||{seed:"0"},this.used=!1} method seed (line 13) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 13) | isUsed(){return this.used} method getState (line 13) | getState(){return this.state} method _random (line 13) | _random(){this.used=!0;const e=this.state,t=D(e.prngstate?"":e.seed,e.... method api (line 13) | api(){const e=this._random.bind(this),t={D4:4,D6:6,D8:8,D10:10,D12:12,... function B (line 3) | function B(){H.clear()} function P (line 3) | function P(t){let e;return 0===H.size&&N(L),{promise:new Promise(n=>{H.a... function W (line 3) | function W(){z=!0} function G (line 3) | function G(){z=!1} function U (line 3) | function U(t,e,n,o){for(;t>1);n(r)<=o?t=r+1:e=r}retu... function Y (line 3) | function Y(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNo... function J (line 3) | function J(t,e){t.appendChild(e)} function K (line 3) | function K(t,e,n){const o=Q(t);if(!o.getElementById(e)){const t=rt("styl... function Q (line 3) | function Q(t){if(!t)return document;const e=t.getRootNode?t.getRootNode(... function V (line 3) | function V(t){const e=rt("style");return X(Q(t),e),e} function X (line 3) | function X(t,e){J(t.head||t,e)} function Z (line 3) | function Z(t,e){if(z){for(Y(t),(void 0===t.actual_end_child||null!==t.ac... function tt (line 3) | function tt(t,e,n){t.insertBefore(e,n||null)} function et (line 3) | function et(t,e,n){z&&!n?Z(t,e):e.parentNode===t&&e.nextSibling==n||t.in... function nt (line 3) | function nt(t){t.parentNode.removeChild(t)} method constructor (line 31) | constructor(e){super(),Je(this,e,tt,et,d,{title:0,viewBox:1},We)} function ot (line 3) | function ot(t,e){for(let n=0;nt.removeEventL... function dt (line 3) | function dt(t){return function(e){return e.preventDefault(),t.call(this,... function ft (line 3) | function ft(t){return function(e){return e.stopPropagation(),t.call(this... method constructor (line 31) | constructor(e){super(),Je(this,e,dt,ut,d,{pane:0,panes:1},st)} function _t (line 3) | function _t(t){return function(e){e.target===this&&t.call(this,e)}} function ht (line 3) | function ht(t){return function(e){e.isTrusted&&t.call(this,e)}} function xt (line 3) | function xt(t,e,n){null==n?t.removeAttribute(e):t.getAttribute(e)!==n&&t... function mt (line 3) | function mt(t,e){const n=Object.getOwnPropertyDescriptors(t.__proto__);f... function gt (line 3) | function gt(t,e){for(const n in e)xt(t,n,e[n])} function yt (line 3) | function yt(t,e,n){e in t?t[e]="boolean"==typeof t[e]&&""===n||n:xt(t,e,n)} function bt (line 3) | function bt(t,e,n){t.setAttributeNS("http://www.w3.org/1999/xlink",e,n)} function $t (line 3) | function $t(t,e,n){const o=new Set;for(let r=0;r{for(let o=t.claim_info.las... function St (line 3) | function St(t,e,n,o){return Et(t,t=>t.nodeName===e,t=>{const e=[];for(le... function Ct (line 3) | function Ct(t,e){return Et(t,t=>3===t.nodeType,t=>{const n=""+e;if(t.dat... function Dt (line 3) | function Dt(t){return Ct(t," ")} function Ot (line 3) | function Ot(t,e,n){for(let o=n;ot.__v... method constructor (line 31) | constructor(e,t){this.key=e,this.value=t} function Bt (line 3) | function Bt(){if(void 0===I){I=!1;try{"undefined"!=typeof window&&window... function Pt (line 3) | function Pt(t,e){"static"===getComputedStyle(t).position&&(t.style.posit... function It (line 3) | function It(t,e,n){t.classList[n?"add":"remove"](e)} function zt (line 3) | function zt(t,e,n=!1){const o=document.createEvent("CustomEvent");return... function Wt (line 3) | function Wt(t,e=document.body){return Array.from(e.querySelectorAll(t))} class Gt (line 3) | class Gt{constructor(){this.e=this.n=null}c(t){this.h(t)}m(t,e,n=null){t... method constructor (line 3) | constructor(){this.e=this.n=null} method c (line 3) | c(t){this.h(t)} method m (line 3) | m(t,e,n=null){this.e||(this.e=rt(e.nodeName),this.t=e,this.c(t)),this.... method h (line 3) | h(t){this.e.innerHTML=t,this.n=Array.from(this.e.childNodes)} method i (line 3) | i(t){for(let e=0;e{e[t.slot||"def... method constructor (line 31) | constructor(e){super(),Je(this,e,Gt,Bt,d,{key:0,value:5,isParentExpand... function Xt (line 3) | function Xt(t){let e=5381,n=t.length;for(;n--;)e=(e<<5)-e^t.charCodeAt(n... method constructor (line 31) | constructor(e){super(),Je(this,e,Ut,Ft,d,{key:0,value:5,isParentExpand... function Zt (line 3) | function Zt(t,e,n,o,r,s,i,c=0){const l=16.666/o;let u="{\n";for(let x=0;... function te (line 3) | function te(t,e){const n=(t.style.animation||"").split(", "),o=n.filter(... function ee (line 3) | function ee(){N(()=>{Vt||(Kt.forEach(t=>{const e=t.__svelte_stylesheet;l... function ne (line 3) | function ne(t,o,r,s){if(!o)return e;const i=t.getBoundingClientRect();if... function oe (line 3) | function oe(t){const e=getComputedStyle(t);if("absolute"!==e.position&&"... function re (line 3) | function re(t,e){const n=t.getBoundingClientRect();if(e.left!==n.left||e... function se (line 3) | function se(t){exports.current_component=Qt=t} function ie (line 3) | function ie(){if(!Qt)throw new Error("Function called outside component ... function ce (line 3) | function ce(t){ie().$$.before_update.push(t)} function le (line 3) | function le(t){ie().$$.on_mount.push(t)} function ue (line 3) | function ue(t){ie().$$.after_update.push(t)} function ae (line 3) | function ae(t){ie().$$.on_destroy.push(t)} function pe (line 3) | function pe(){const t=ie();return(e,n)=>{const o=t.$$.callbacks[e];if(o)... function de (line 3) | function de(t,e){ie().$$.context.set(t,e)} function fe (line 3) | function fe(t){return ie().$$.context.get(t)} function _e (line 3) | function _e(){return ie().$$.context} function he (line 3) | function he(t){return ie().$$.context.has(t)} function xe (line 3) | function xe(t,e){const n=t.$$.callbacks[e.type];n&&n.slice().forEach(t=>... function we (line 3) | function we(){Fe||(Fe=!0,ve.then(Oe))} function ke (line 3) | function ke(){return we(),ve} function Ee (line 3) | function Ee(t){be.push(t)} function Se (line 3) | function Se(t){$e.push(t)} function Oe (line 3) | function Oe(){if(!Ce){Ce=!0;do{for(let t=0;t{Me=null}),Me} function je (line 3) | function je(t,e,n){t.dispatchEvent(zt(`${e?"intro":"outro"}${n}`))} function qe (line 3) | function qe(){Re={r:0,c:[],p:Re}} function He (line 3) | function He(){Re.r||l(Re.c),Re=Re.p} function Le (line 3) | function Le(t,e){t&&t.i&&(Ne.delete(t),t.i(e))} method $destroy (line 31) | $destroy(){Ke(this,1),this.$destroy=l} method $on (line 31) | $on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);retur... method $set (line 31) | $set(e){this.$$set&&!f(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$... function Be (line 3) | function Be(t,e,n,o){if(t&&t.o){if(Ne.has(t))return;Ne.add(t),Re.c.push(... function Ie (line 3) | function Ie(t,o,r){let s,i,c=o(t,r),l=!1,a=0;function p(){s&&te(t,s)}fun... function ze (line 3) | function ze(t,o,r){let s,i=o(t,r),c=!0;const a=Re;function p(){const{del... function We (line 3) | function We(t,o,r,s){let i=o(t,r),c=s?0:1,a=null,p=null,d=null;function ... function Ge (line 3) | function Ge(t,e){const n=e.token={};function o(t,o,r,s){if(e.token!==n)r... function Ue (line 3) | function Ue(t,e,n){const o=e.slice(),{resolved:r}=t;t.current===t.then&&... function Je (line 3) | function Je(t,e){t.d(1),e.delete(t.key)} function Ke (line 3) | function Ke(t,e){Be(t,1,1,()=>{e.delete(t.key)})} function Qe (line 3) | function Qe(t,e){t.f(),Je(t,e)} function Ve (line 3) | function Ve(t,e){t.f(),Ke(t,e)} function Xe (line 3) | function Xe(t,e,n,o,r,s,i,c,l,u,a,p){let d=t.length,f=s.length,_=d;const... function Ze (line 3) | function Ze(t,e,n,o){const r=new Set;for(let s=0;s]/g,t=>sn[t])} function ln (line 3) | function ln(t){return"string"==typeof t?cn(t):t} function un (line 3) | function un(t){const e={};for(const n in t)e[n]=ln(t[n]);return e} function an (line 3) | function an(t,e){let n="";for(let o=0;o{console.warn("Componen... method $capture_state (line 3) | $capture_state(){} method $inject_state (line 3) | $inject_state(){} method constructor (line 31) | constructor(e){super(),Je(this,e,An,En,d,{clientManager:0},wn)} class Wn (line 3) | class Wn extends zn{constructor(t){super(t)}} method constructor (line 3) | constructor(t){super(t)} function Gn (line 3) | function Gn(t){const e=Date.now();return()=>{if(Date.now()-e>t)throw new... function e (line 9) | function e(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function n (line 9) | function n(r){return t(r)||e(23,r),r[Q].t} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 9) | function o(e,t,r){void 0===r&&(r=!1),0===i(e)?(r?Object.keys:ee)(e).forE... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function i (line 9) | function i(e){var t=e[Q];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:s(e... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function a (line 9) | function a(e,t){return 2===i(e)?e.has(t):Object.prototype.hasOwnProperty... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function u (line 9) | function u(e,t){return 2===i(e)?e.get(t):e[t]} method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,i,s,e.safe_not_equal,{playerI... function c (line 9) | function c(e,t,r){var n=i(e);2===n?e.set(t,r):3===n?(e.delete(t),e.add(r... method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function f (line 9) | function f(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t} function s (line 9) | function s(e){return X&&e instanceof Map} method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function l (line 9) | function l(e){return q&&e instanceof Set} method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function h (line 9) | function h(e){if(Array.isArray(e))return Array.prototype.slice.call(e);v... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} function v (line 9) | function v(e,n){return void 0===n&&(n=!1),y(e)||t(e)||!r(e)?e:(i(e)>1&&(... function d (line 9) | function d(){e(2)} method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... function y (line 9) | function y(e){return null==e||"object"!=typeof e||Object.isFrozen(e)} function b (line 9) | function b(t){var r=re[t];return r||e(18,t),r} function g (line 9) | function g(e,t){re[e]||(re[e]=t)} method constructor (line 148) | constructor({master:t,...e}){super(e),this.master=t,this.isConnected=!0} method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChatMe... method onUpdate (line 148) | async onUpdate(e,s,a){const i=this.store.getState();if(e==this.matchID... method onSync (line 148) | onSync(e,s){if(e==this.matchID){const e=(0,t.s)(s);this.store.dispatch... method onAction (line 148) | onAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.play... method connect (line 148) | connect(){this.master.connect(this.matchID,this.playerID,t=>{switch(t.... method disconnect (line 148) | disconnect(){} method subscribe (line 148) | subscribe(){} method subscribeMatchData (line 148) | subscribeMatchData(){} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.conne... method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function m (line 9) | function m(){return J} method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function P (line 9) | function P(e,t){t&&(b("Patches"),e.u=[],e.s=[],e.v=t)} function O (line 9) | function O(e){x(e),e.p.forEach(j),e.p=null} function x (line 9) | function x(e){e===J&&(J=e.l)} function w (line 9) | function w(e){return J={p:[],l:J,h:e,m:!0,_:0}} method constructor (line 13) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 13) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 13) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 13) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 13) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 13) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function j (line 9) | function j(e){var t=e[Q];0===t.i||1===t.i?t.j():t.O=!0} function A (line 9) | function A(t,n){n._=n.p.length;var o=n.p[0],i=void 0!==t&&t!==o;return n... method constructor (line 13) | constructor(e){const t=I();this.c=1,this.s0=t(" "),this.s1=t(" "),this... method next (line 13) | next(){const e=2091639*this.s0+2.3283064365386963e-10*this.c;return th... function D (line 9) | function D(e,t,r){if(y(t))return t;var n=t[Q];if(!n)return o(t,function(... function S (line 9) | function S(e,n,o,i,u,f){if(t(u)){var s=D(e,u,f&&n&&3!==n.i&&!a(n.D,i)?f.... function _ (line 9) | function _(e,t,r){void 0===r&&(r=!1),e.h.F&&e.m&&v(t,r)} function k (line 9) | function k(e,t){var r=e[Q];return(r?p(r):e)[t]} method constructor (line 148) | constructor({socket:t,socketOpts:e,server:s,...a}={}){super(a),this.se... method onAction (line 148) | onAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this.s... method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("ch... method connect (line 148) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 148) | disconnect(){this.socket.close(),this.socket=null,this.isConnected=!1,... method subscribe (line 148) | subscribe(t){this.callback=t} method subscribeMatchData (line 148) | subscribeMatchData(t){this.matchDataCallback=t} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method sync (line 148) | sync(){if(this.socket){const t=[this.matchID,this.playerID,this.creden... method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.sync()} method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function I (line 9) | function I(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var n=O... function z (line 9) | function z(e){e.P||(e.P=!0,e.l&&z(e.l))} function E (line 9) | function E(e){e.o||(e.o=h(e.t))} function M (line 9) | function M(e,t,r){var n=s(t)?b("MapSet").N(t,r):l(t)?b("MapSet").T(t,r):... function F (line 9) | function F(n){return t(n)||e(22,n),function e(t){if(!r(t))return t;var n... function R (line 9) | function R(e,t){switch(t){case 2:return new Map(e);case 3:return Array.f... function C (line 9) | function C(){function e(e,t){var r=u[e];return r?r.enumerable=t:u[e]=r={... function T (line 9) | function T(){function n(e){if(!r(e))return e;if(Array.isArray(e))return ... function K (line 9) | function K(){function t(e,t){function r(){this.constructor=e}u(e,t),e.pr... function U (line 9) | function U(){C(),K(),T()} function W (line 9) | function W(e){return e} function N (line 9) | function N(e){return e} function n (line 9) | function n(t){var n=this;this.g=B,this.F=!0,this.produce=function(t,o,i)... method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 11) | function n(t){var n=!1;if(null!=t&&"function"!=typeof t.toString)try{n=!... method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function r (line 11) | function r(t,n){return function(r){return t(n(r))}} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function a (line 11) | function a(t){return!!t&&"object"==typeof t} method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function p (line 11) | function p(r){if(!a(r)||i.call(r)!=t||n(r))return!1;var o=l(r);if(null==... method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function r (line 13) | function r(e){return e&&e.__esModule?e:{default:e}} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... class A (line 13) | class A{constructor(e){const t=I();this.c=1,this.s0=t(" "),this.s1=t(" "... method constructor (line 13) | constructor(e){const t=I();this.c=1,this.s0=t(" "),this.s1=t(" "),this... method next (line 13) | next(){const e=2091639*this.s0+2.3283064365386963e-10*this.c;return th... function I (line 13) | function I(){let e=4022871197;return function(t){const r=t.toString();fo... function S (line 13) | function S(e,t){return t.c=e.c,t.s0=e.s0,t.s1=e.s1,t.s2=e.s2,t} function D (line 13) | function D(e,t){const r=new A(e),s=r.next.bind(r);return t&&S(t,r),s.sta... class L (line 13) | class L{constructor(e){this.state=e||{seed:"0"},this.used=!1}static seed... method constructor (line 13) | constructor(e){this.state=e||{seed:"0"},this.used=!1} method seed (line 13) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 13) | isUsed(){return this.used} method getState (line 13) | getState(){return this.state} method _random (line 13) | _random(){this.used=!0;const e=this.state,t=D(e.prngstate?"":e.seed,e.... method api (line 13) | api(){const e=this._random.bind(this),t={D4:4,D6:6,D8:8,D10:10,D12:12,... class w (line 13) | class w{constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],... method constructor (line 13) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 13) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 13) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 13) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 13) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 13) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function C (line 13) | function C(e){if(null==e||"boolean"==typeof e||"number"==typeof e||"stri... function V (line 13) | function V(e){H(`INFO: ${e}`)} function $ (line 13) | function $(e){j("ERROR:",e)} function se (line 13) | function se(e,t){let r={},s=[],n=null,a={};if(Array.isArray(t)){const e=... function ne (line 13) | function ne(e){let{activePlayers:t,_activePlayersMoveLimit:r,_activePlay... function ae (line 13) | function ae(e,t,r,s){"object"==typeof s&&s!==ce.NULL||(s={stage:s}),void... function oe (line 13) | function oe(e,t){return e[t]+""} function ie (line 13) | function ie(e,t){let{G:r,ctx:s}=e;const{numPlayers:n}=s,a=K(e),o=t.order... function le (line 13) | function le(e,t,r,s){const n=r.order;let{G:a,ctx:o}=e,i=o.playOrderPos,l... function t (line 15) | function t(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")} method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function e (line 15) | function e(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")} method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function n (line 15) | function n(t){void 0===t&&(t=[""]),this.tokens=t} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function r (line 17) | function r(r){return void 0===r?"undefined":null===r?"null":Array.isArra... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function e (line 17) | function e(r){return null!=r&&"object"==typeof r} method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function t (line 17) | function t(r){if(!e(r))return r;if(r.constructor==Array){for(var o=r.len... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function t (line 19) | function t(r){var e=r.op;return"remove"===e||"replace"===e||"copy"===e||... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function o (line 19) | function o(r,t){var o={};for(var n in r)e.hasOwnProperty.call(r,n)&&void... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function n (line 19) | function n(r){for(var t=r.length,o={},n=0;n{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function i (line 19) | function i(r){return"add"===r.op} method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function a (line 19) | function a(r){return"remove"===r.op} method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function p (line 19) | function p(r,e){return{operations:r.operations.concat(e),cost:r.cost+1}} method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function c (line 19) | function c(e,t,o,n){void 0===n&&(n=s);var c={"0,0":{operations:[],cost:0... method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function u (line 19) | function u(r,e,t,i){void 0===i&&(i=s);var a=[];return o(r,e).forEach(fun... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,i,s,e.safe_not_equal,{playerI... function s (line 19) | function s(r,t,o,n){if(void 0===n&&(n=s),r===t)return[];var i=e.objectTy... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function n (line 21) | function n(){this.constructor=e} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function t (line 21) | function t(r){var t=e.call(this,"Value required at path: "+r)||this;retu... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function t (line 21) | function t(r,t){var n=e.call(this,"Test failed: "+r+" != "+t)||this;retu... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function i (line 21) | function i(r,e,t){if(Array.isArray(r))if("-"==e)r.push(t);else{var n=par... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function u (line 21) | function u(r,e){if(Array.isArray(r)){var t=parseInt(e,10);r.splice(t,1)}... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,i,s,e.safe_not_equal,{playerI... function p (line 21) | function p(r,n){var a=e.Pointer.fromJSON(n.path).evaluate(r);return void... method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function l (line 21) | function l(r,t){var n=e.Pointer.fromJSON(t.path).evaluate(r);return void... method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;rthis.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function f (line 21) | function f(r,t){var o=e.Pointer.fromJSON(t.path).evaluate(r);return n.di... function t (line 21) | function t(r){var t=e.call(this,"Invalid operation: "+r.op)||this;return... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function y (line 21) | function y(r,e){switch(e.op){case"add":return p(r,e);case"remove":return... function n (line 23) | function n(r,t){return t.map(function(t){return e.apply(r,t)})} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function a (line 23) | function a(r){return function e(n,a,i){var o=r(n,a,i);return Array.isArr... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function i (line 23) | function i(e,n,i){var o=new r.Pointer;return(i?a(i):t.diffAny)(e,n,o)} method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function o (line 23) | function o(e,t){var n=r.Pointer.fromJSON(t).evaluate(e);if(void 0!==n)re... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function u (line 23) | function u(r,e){var n=new Array;return e.filter(t.isDestructive).forEach... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,i,s,e.safe_not_equal,{playerI... function r (line 25) | function r({moves:e,phases:t,endIf:a,onEnd:r,turn:o,events:i,plugins:s})... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function o (line 25) | function o(e){return void 0!==e.processMove} method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function i (line 25) | function i(e){if(o(e))return e;if(void 0===e.name&&(e.name="default"),vo... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function s (line 25) | function s(e){return e instanceof Object&&void 0!==e.move} method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function l (line 25) | function l(e,t){if(t.game.disableUndo)return e;const n={G:e.G,ctx:e.ctx,... method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function v (line 25) | function v(e){if(!e)return[null,void 0];const{transients:t,...n}=e;retur... function f (line 25) | function f(e,t,n){return{...e,transients:{error:{type:t,payload:n}}}} function m (line 25) | function m({game:r,isClient:o}){return r=i(r),(i=null,s)=>{let[y]=v(i);s... method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function x (line 27) | function x(t,e){if(y)return y=!y,e;const s=r.call(this,t,e);switch(typeo... class a (line 29) | class a{constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} class r (line 29) | class r extends a{constructor({enumerate:t,seed:a,objectives:s,game:r,it... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... class i (line 29) | class i extends a{play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);retu... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function n (line 29) | async function n(t,e){const a=t.store.getState();let s=a.ctx.currentPlay... method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 29) | async function o({game:t,bots:s,state:r,depth:i}){void 0===i&&(i=1e4);co... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function l (line 31) | function l(){} method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function s (line 31) | function s(e){return e()} method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function i (line 31) | function i(){return Object.create(null)} method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function c (line 31) | function c(e){e.forEach(s)} method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function u (line 31) | function u(e){return"function"==typeof e} method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,i,s,e.safe_not_equal,{playerI... function d (line 31) | function d(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function... method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... function f (line 31) | function f(e){return 0===Object.keys(e).length} function p (line 31) | function p(e,...t){if(null==e)return l;const n=e.subscribe(...t);return ... method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function m (line 31) | function m(e,t,n){e.$$.on_destroy.push(p(t,n))} method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function g (line 31) | function g(e,t,n,r){if(e){const l=v(e,t,n,r);return e[0](l)}} method constructor (line 148) | constructor({master:t,...e}){super(e),this.master=t,this.isConnected=!0} method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChatMe... method onUpdate (line 148) | async onUpdate(e,s,a){const i=this.store.getState();if(e==this.matchID... method onSync (line 148) | onSync(e,s){if(e==this.matchID){const e=(0,t.s)(s);this.store.dispatch... method onAction (line 148) | onAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.play... method connect (line 148) | connect(){this.master.connect(this.matchID,this.playerID,t=>{switch(t.... method disconnect (line 148) | disconnect(){} method subscribe (line 148) | subscribe(){} method subscribeMatchData (line 148) | subscribeMatchData(){} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.conne... method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function v (line 31) | function v(e,t,n,r){return e[1]&&r?a(n.ctx.slice(),e[1](r(t))):n.ctx} function $ (line 31) | function $(e,t,n,r){if(e[2]&&r){const l=e[2](r(n));if(void 0===t.dirty)r... function y (line 31) | function y(e,t,n,r,l,o){if(l){const a=v(t,n,r,o);e.p(a,l)}} function h (line 31) | function h(e){if(e.ctx.length>32){const t=[],n=e.ctx.length/32;for(let e... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} function b (line 31) | function b(e){const t={};for(const n in e)"$"!==n[0]&&(t[n]=e[n]);return t} function x (line 31) | function x(e){return null==e?"":e} function E (line 31) | function E(e){j.forEach(t=>{t.c(e)||(j.delete(t),t.f())}),0!==j.size&&P(E)} function O (line 31) | function O(e){let t;return 0===j.size&&P(E),{promise:new Promise(n=>{j.a... function A (line 31) | function A(e,t){e.appendChild(t)} method constructor (line 13) | constructor(e){const t=I();this.c=1,this.s0=t(" "),this.s1=t(" "),this... method next (line 13) | next(){const e=2091639*this.s0+2.3283064365386963e-10*this.c;return th... function z (line 31) | function z(e,t,n){const r=_(e);if(!r.getElementById(t)){const e=M("style... function _ (line 31) | function _(e){if(!e)return document;const t=e.getRootNode?e.getRootNode(... function S (line 31) | function S(e){const t=M("style");return C(_(e),t),t} function C (line 31) | function C(e,t){A(e.head||e,t)} function q (line 31) | function q(e,t,n){e.insertBefore(t,n||null)} function I (line 31) | function I(e){e.parentNode.removeChild(e)} function T (line 31) | function T(e,t){for(let n=0;ne.removeEventLi... function K (line 31) | function K(e){return function(t){return t.stopPropagation(),e.call(this,... function G (line 31) | function G(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.... function J (line 31) | function J(e){return""===e?null:+e} function L (line 31) | function L(e){return Array.from(e.childNodes)} method constructor (line 13) | constructor(e){this.state=e||{seed:"0"},this.used=!1} method seed (line 13) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 13) | isUsed(){return this.used} method getState (line 13) | getState(){return this.state} method _random (line 13) | _random(){this.used=!0;const e=this.state,t=D(e.prngstate?"":e.seed,e.... method api (line 13) | api(){const e=this._random.bind(this),t={D4:4,D6:6,D8:8,D10:10,D12:12,... function F (line 31) | function F(e,t){t=""+t,e.wholeText!==t&&(e.data=t)} function H (line 31) | function H(e,t){e.value=null==t?"":t} function Z (line 31) | function Z(e,t){for(let n=0;n{ee||(W.forEach(e=>{const t=e.__svelte_stylesheet;le... function oe (line 31) | function oe(e){Q=e} function ae (line 31) | function ae(){if(!Q)throw new Error("Function called outside component i... function se (line 31) | function se(e){ae().$$.after_update.push(e)} function ie (line 31) | function ie(e){ae().$$.on_destroy.push(e)} function ce (line 31) | function ce(){const e=ae();return(t,n)=>{const r=e.$$.callbacks[t];if(r)... function ue (line 31) | function ue(e,t){ae().$$.context.set(e,t)} function de (line 31) | function de(e){return ae().$$.context.get(e)} function fe (line 31) | function fe(e,t){const n=e.$$.callbacks[t.type];n&&n.slice().forEach(e=>... function he (line 31) | function he(){ye||(ye=!0,$e.then(ke))} function be (line 31) | function be(e){ge.push(e)} function ke (line 31) | function ke(){if(!xe){xe=!0;do{for(let e=0;e{je=null}),je} function Oe (line 31) | function Oe(e,t,n){e.dispatchEvent(Y(`${t?"intro":"outro"}${n}`))} function _e (line 31) | function _e(){ze={r:0,c:[],p:ze}} function Se (line 31) | function Se(){ze.r||c(ze.c),ze=ze.p} function Ce (line 31) | function Ce(e,t){e&&e.i&&(Ae.delete(e),e.i(t))} function qe (line 31) | function qe(e,t,n,r){if(e&&e.o){if(Ae.has(e))return;Ae.add(e),ze.c.push(... function Te (line 31) | function Te(e,t,n){let r,a,s=t(e,n),i=!1,c=0;function d(){r&&re(e,r)}fun... function Me (line 31) | function Me(e,t,n){let r,a=t(e,n),s=!0;const i=ze;function d(){const{del... function De (line 31) | function De(e,t,n,r){let a=t(e,n),s=r?0:1,i=null,d=null,f=null;function ... function Ne (line 31) | function Ne(e,t){const n={},r={},l={$$scope:1};let o=e.length;for(;o--;)... function Ve (line 31) | function Ve(e){return"object"==typeof e&&null!==e?e:{}} function Be (line 31) | function Be(e){e&&e.c()} function Re (line 31) | function Re(e,t,n,r){const{fragment:l,on_mount:o,on_destroy:a,after_upda... function Ke (line 31) | function Ke(e,t){const n=e.$$;null!==n.fragment&&(c(n.on_destroy),n.frag... function Ge (line 31) | function Ge(e,t){-1===e.$$.dirty[0]&&(pe.push(e),he(),e.$$.dirty.fill(0)... function Je (line 31) | function Je(e,t,n,r,o,a,s,u=[-1]){const d=Q;oe(e);const f=e.$$={fragment... class Le (line 31) | class Le{$destroy(){Ke(this,1),this.$destroy=l}$on(e,t){const n=this.$$.... method $destroy (line 31) | $destroy(){Ke(this,1),this.$destroy=l} method $on (line 31) | $on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);retur... method $set (line 31) | $set(e){this.$$set&&!f(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$... function He (line 31) | function He(e,t=l){let n;const r=new Set;function o(t){if(d(e,t)&&(e=t,n... function Ze (line 31) | function Ze(e){const t=e-1;return t*t*t+1} function Ue (line 31) | function Ue(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty... function Xe (line 31) | function Xe(e,{delay:t=0,duration:n=400,easing:r=Ze,x:l=0,y:o=0,opacity:... function Ye (line 31) | function Ye(e){var{fallback:t}=e,n=Ue(e,["fallback"]);const r=new Map,l=... function We (line 31) | function We(e){z(e,"svelte-c8tyih","svg.svelte-c8tyih{stroke:currentColo... function Qe (line 31) | function Qe(e){let t,n;return{c(){t=D("title"),n=N(e[0])},m(e,r){q(e,t,r... function et (line 31) | function et(e){let t,n,r,l=e[0]&&Qe(e);const o=e[3].default,a=g(o,e,e[2]... function tt (line 31) | function tt(e,t,n){let{$$slots:r={},$$scope:l}=t,{title:o=null}=t,{viewB... class nt (line 31) | class nt extends Le{constructor(e){super(),Je(this,e,tt,et,d,{title:0,vi... method constructor (line 31) | constructor(e){super(),Je(this,e,tt,et,d,{title:0,viewBox:1},We)} function rt (line 31) | function rt(e){let t;return{c(){G(t=D("path"),"d","M285.476 272.971L91.1... function lt (line 31) | function lt(e){let t,n;const r=[{viewBox:"0 0 320 512"},e[0]];let l={$$s... function ot (line 31) | function ot(e,t,n){return e.$$set=(e=>{n(0,t=a(a({},t),b(e)))}),[t=b(t)]} class at (line 31) | class at extends Le{constructor(e){super(),Je(this,e,ot,lt,d,{})}} method constructor (line 31) | constructor(e){super(),Je(this,e,ot,lt,d,{})} function st (line 31) | function st(e){z(e,"svelte-1scv1e1",".menu.svelte-1scv1e1{display:flex;f... function it (line 31) | function it(e,t,n){const r=e.slice();return r[4]=t[n][0],r[5]=t[n][1].la... function ct (line 31) | function ct(e){let t,n,r,l,o,a=e[5]+"";function s(){return e[3](e[4])}re... function ut (line 31) | function ut(e){let t,n=Object.entries(e[1]),r=[];for(let l=0;l{"expanded"in e&... class $t (line 31) | class $t extends Le{constructor(e){super(),Je(this,e,vt,gt,d,{expanded:0... method constructor (line 31) | constructor(e){super(),Je(this,e,vt,gt,d,{expanded:0},mt)} function yt (line 31) | function yt(e){z(e,"svelte-1vlbacg","label.svelte-1vlbacg{display:inline... function ht (line 31) | function ht(e){let t,n,r,l,o,a;return{c(){t=M("label"),n=M("span"),r=N(e... function bt (line 31) | function bt(e){let t,n=e[3]&&e[0]&&ht(e);return{c(){n&&n.c(),t=B()},m(e,... function xt (line 31) | function xt(e,t,n){let r,{key:l,isParentExpanded:o,isParentArray:a=!1,co... class wt (line 31) | class wt extends Le{constructor(e){super(),Je(this,e,xt,bt,d,{key:0,isPa... method constructor (line 31) | constructor(e){super(),Je(this,e,xt,bt,d,{key:0,isParentExpanded:1,isP... function kt (line 31) | function kt(e){z(e,"svelte-rwxv37","label.svelte-rwxv37{display:inline-b... function Pt (line 31) | function Pt(e,t,n){const r=e.slice();return r[12]=t[n],r[20]=n,r} function jt (line 31) | function jt(e){let t,n;return(t=new $t({props:{expanded:e[0]}})).$on("cl... function Et (line 31) | function Et(e){let t;return{c(){(t=M("span")).textContent="…"},m(e,n){q(... function Ot (line 31) | function Ot(e){let t,n,r,l,o,a=e[13],s=[];for(let u=0;u... class xn (line 31) | class xn extends Le{constructor(e){super(),Je(this,e,bn,hn,d,{key:0,valu... method constructor (line 31) | constructor(e){super(),Je(this,e,bn,hn,d,{key:0,value:1},yn)} function wn (line 31) | function wn(e){z(e,"svelte-jvfq3i",".svelte-jvfq3i{box-sizing:border-box... function kn (line 31) | function kn(e,t,n){const r=e.slice();return r[7]=t[n],r[9]=n,r} function Pn (line 31) | function Pn(e){let t,n,r,l,o,a,s=e[1],i=[];for(let c=0;c1&&Pn(e);return{c(){n&&n.c(),t=B()},m... method $destroy (line 3) | $destroy(){Fn(this,1),this.$destroy=e} method $on (line 3) | $on(t,e){const n=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);retur... method $set (line 3) | $set(t){this.$$set&&!_(t)&&(this.$$.skip_bound=!0,this.$$set(t),this.$... function An (line 31) | function An(e,t,n){let r,o,a,s,i=l,c=()=>(i(),i=p(u,e=>n(5,s=e)),u);e.$$... class zn (line 31) | class zn extends Le{constructor(e){super(),Je(this,e,An,En,d,{clientMana... method constructor (line 3) | constructor(t){if(!t||!t.target&&!t.$$inline)throw new Error("'target'... method $destroy (line 3) | $destroy(){super.$destroy(),this.$destroy=(()=>{console.warn("Componen... method $capture_state (line 3) | $capture_state(){} method $inject_state (line 3) | $inject_state(){} method constructor (line 31) | constructor(e){super(),Je(this,e,An,En,d,{clientManager:0},wn)} function _n (line 31) | function _n(e){z(e,"svelte-1vfj1mn",".key.svelte-1vfj1mn.svelte-1vfj1mn{... function Sn (line 31) | function Sn(e){let t,n,r,l,o,a=`(shortcut: ${e[0]})`+"";return{c(){t=M("... function Cn (line 31) | function Cn(e){let t,n,r,o,a,s,i=e[1]&&Sn(e);return{c(){t=M("div"),n=M("... function qn (line 31) | function qn(e,t,n){let r,{value:l}=t,{onPress:o=null}=t,{label:a=null}=t... class In (line 31) | class In extends Le{constructor(e){super(),Je(this,e,qn,Cn,d,{value:0,on... method constructor (line 31) | constructor(e){super(),Je(this,e,qn,Cn,d,{value:0,onPress:8,label:1,di... function Tn (line 31) | function Tn(e){z(e,"svelte-1mppqmp",".move.svelte-1mppqmp{display:flex;f... function Mn (line 31) | function Mn(e){let t,n,r,o,a,s,i,d,f,p,m;return{c(){t=M("div"),n=M("span... function Nn (line 31) | function Nn(e,t,n){let r,{Activate:l}=t,{Deactivate:o}=t,{name:a}=t,{act... class Vn (line 31) | class Vn extends Le{constructor(e){super(),Je(this,e,Nn,Mn,d,{Activate:0... method constructor (line 31) | constructor(e){super(),Je(this,e,Nn,Mn,d,{Activate:0,Deactivate:1,name... function Bn (line 31) | function Bn(e){z(e,"svelte-smqssc",".move-error.svelte-smqssc{color:#a00... function Rn (line 31) | function Rn(e){let t,n;return{c(){t=M("span"),n=N(e[2]),G(t,"class","mov... function Kn (line 31) | function Kn(e){let t,n,r,l,o,a,s;r=new In({props:{value:e[0],onPress:e[4... function Gn (line 31) | function Gn(t,n,r){let{shortcut:l}=n,{name:o}=n,{fn:a}=n;const{disableHo... class Jn (line 31) | class Jn extends Le{constructor(e){super(),Je(this,e,Gn,Kn,d,{shortcut:0... method constructor (line 31) | constructor(e){super(),Je(this,e,Gn,Kn,d,{shortcut:0,name:1,fn:8},Bn)} function Ln (line 31) | function Ln(e){z(e,"svelte-c3lavh","ul.svelte-c3lavh{padding-left:0}li.s... function Fn (line 31) | function Fn(e){let t,n,r,l,o,a,s,i,c,u,d,f,p;return r=new In({props:{val... function Hn (line 31) | function Hn(t,r,l){let{client:o}=r,{ToggleVisibility:a}=r;return t.$$set... class Zn (line 31) | class Zn extends Le{constructor(e){super(),Je(this,e,Hn,Fn,d,{client:0,T... method constructor (line 31) | constructor(e){super(),Je(this,e,Hn,Fn,d,{client:0,ToggleVisibility:1}... function Un (line 31) | function Un(e){z(e,"svelte-19aan9p",".player-box.svelte-19aan9p{display:... function Xn (line 31) | function Xn(e,t,n){const r=e.slice();return r[7]=t[n],r} function Yn (line 31) | function Yn(e){let t,n,r,l,o,a,s=e[7]+"";function i(){return e[5](e[7])}... function Wn (line 31) | function Wn(e){let t,n=e[2],r=[];for(let l=0;le.length)&&(t=e.length);for(var n=0,r=new A... function yr (line 31) | function yr(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e... function hr (line 31) | function hr(e,t){var n,r={},l={},o=yr(t);try{for(o.s();!(n=o.n()).done;)... function br (line 31) | function br(e){z(e,"svelte-146sq5f",".tree.svelte-146sq5f{--json-tree-fo... function xr (line 31) | function xr(e,t,n){const r=e.slice();return r[10]=t[n][0],r[11]=t[n][1],r} function wr (line 31) | function wr(e){let t,n,r,l;return n=new Jn({props:{shortcut:e[8][e[10]],... function kr (line 31) | function kr(e){let t,n,r;return n=new Jn({props:{name:"endStage",shortcu... function Pr (line 31) | function Pr(e){let t,n,r;return n=new Jn({props:{name:"endTurn",shortcut... function jr (line 31) | function jr(e){let t,n,r;return n=new Jn({props:{name:"endPhase",shortcu... function Er (line 31) | function Er(e){let t,n,r,l,o,a,s,i,c,u,d,f,p,m,g,v,$,y,h,b,x,w,k,P,j,E,O... function Or (line 31) | function Or(e){let t={};for(const n in e)n.startsWith("_")||(t[n]=e[n]);... function Ar (line 31) | function Ar(e,t,n){let{client:r}=t,{clientManager:l}=t,{ToggleVisibility... class zr (line 31) | class zr extends Le{constructor(e){super(),Je(this,e,Ar,Er,d,{client:0,c... method constructor (line 31) | constructor(e){super(),Je(this,e,Ar,Er,d,{client:0,clientManager:1,Tog... function _r (line 31) | function _r(e){z(e,"svelte-13qih23",".item.svelte-13qih23.svelte-13qih23... function Sr (line 31) | function Sr(e){let t,n,r,o,a,s,i=JSON.stringify(e[1])+"";return{c(){t=M(... function Cr (line 31) | function Cr(e,t,n){let{name:r}=t,{value:l}=t;return e.$$set=(e=>{"name"i... class qr (line 31) | class qr extends Le{constructor(e){super(),Je(this,e,Cr,Sr,d,{name:0,val... method constructor (line 31) | constructor(e){super(),Je(this,e,Cr,Sr,d,{name:0,value:1},_r)} function Ir (line 31) | function Ir(e){z(e,"svelte-1yzq5o8",".gameinfo.svelte-1yzq5o8{padding:10... function Tr (line 31) | function Tr(e){let t,n;return t=new qr({props:{name:"isConnected",value:... function Mr (line 31) | function Mr(e){let t,n,r,l,o,a,s,i;n=new qr({props:{name:"matchID",value... function Dr (line 31) | function Dr(e,t,n){let r,o=l,a=()=>(o(),o=p(s,e=>n(1,r=e)),s);e.$$.on_de... class Nr (line 31) | class Nr extends Le{constructor(e){super(),Je(this,e,Dr,Mr,d,{client:0,c... method constructor (line 31) | constructor(e){super(),Je(this,e,Dr,Mr,d,{client:0,clientManager:2},Ir)} function Vr (line 31) | function Vr(e){z(e,"svelte-6eza86",".turn-marker.svelte-6eza86{display:f... function Br (line 31) | function Br(e){let t,n;return{c(){t=M("div"),n=N(e[0]),G(t,"class","turn... function Rr (line 31) | function Rr(e,t,n){let{turn:r}=t,{numEvents:l}=t;const o=`grid-row: span... class Kr (line 31) | class Kr extends Le{constructor(e){super(),Je(this,e,Rr,Br,d,{turn:0,num... method constructor (line 31) | constructor(e){super(),Je(this,e,Rr,Br,d,{turn:0,numEvents:2},Vr)} function Gr (line 31) | function Gr(e){z(e,"svelte-1t4xap",".phase-marker.svelte-1t4xap{grid-col... function Jr (line 31) | function Jr(e){let t,n,r=(e[0]||"")+"";return{c(){t=M("div"),n=N(r),G(t,... function Lr (line 31) | function Lr(e,t,n){let{phase:r}=t,{numEvents:l}=t;const o=`grid-row: spa... class Fr (line 31) | class Fr extends Le{constructor(e){super(),Je(this,e,Lr,Jr,d,{phase:0,nu... method constructor (line 31) | constructor(e){super(),Je(this,e,Lr,Jr,d,{phase:0,numEvents:2},Gr)} function Hr (line 31) | function Hr(e){let t;return{c(){(t=M("div")).textContent=`${e[0]}`},m(e,... function Zr (line 31) | function Zr(e,t,n){let{metadata:r}=t;const l=void 0!==r?JSON.stringify(r... class Ur (line 31) | class Ur extends Le{constructor(e){super(),Je(this,e,Zr,Hr,d,{metadata:1... method constructor (line 31) | constructor(e){super(),Je(this,e,Zr,Hr,d,{metadata:1})} function Xr (line 31) | function Xr(e){z(e,"svelte-vajd9z",".log-event.svelte-vajd9z{grid-column... function Yr (line 31) | function Yr(e){let t,n;return t=new Ur({props:{metadata:e[2]}}),{c(){Be(... function Wr (line 31) | function Wr(e){let t,n,r;var l=e[3];function o(e){return{props:{metadata... function Qr (line 31) | function Qr(e){let t,n,r,l,o,a,s,i,u,d,f,p,m;const g=[Wr,Yr],v=[];functi... function el (line 31) | function el(e,t,n){let{logIndex:r}=t,{action:l}=t,{pinned:o}=t,{metadata... class tl (line 31) | class tl extends Le{constructor(e){super(),Je(this,e,el,Qr,d,{logIndex:0... method constructor (line 31) | constructor(e){super(),Je(this,e,el,Qr,d,{logIndex:0,action:8,pinned:1... function nl (line 31) | function nl(e){let t;return{c(){G(t=D("path"),"d","M504 256c0 137-111 24... function rl (line 31) | function rl(e){let t,n;const r=[{viewBox:"0 0 512 512"},e[0]];let l={$$s... function ll (line 31) | function ll(e,t,n){return e.$$set=(e=>{n(0,t=a(a({},t),b(e)))}),[t=b(t)]} class ol (line 31) | class ol extends Le{constructor(e){super(),Je(this,e,ll,rl,d,{})}} method constructor (line 31) | constructor(e){super(),Je(this,e,ll,rl,d,{})} function al (line 31) | function al(e){z(e,"svelte-1a7time","div.svelte-1a7time{white-space:nowr... function sl (line 31) | function sl(e){let t,n;return{c(){t=M("div"),n=N(e[0]),G(t,"alt",e[0]),G... function il (line 31) | function il(e,t,n){let r,{action:l}=t;return e.$$set=(e=>{"action"in e&&... class cl (line 31) | class cl extends Le{constructor(e){super(),Je(this,e,il,sl,d,{action:1},... method constructor (line 31) | constructor(e){super(),Je(this,e,il,sl,d,{action:1},al)} function ul (line 31) | function ul(e){z(e,"svelte-ztcwsu","table.svelte-ztcwsu.svelte-ztcwsu{fo... function dl (line 31) | function dl(e,t,n){const r=e.slice();return r[10]=t[n],r[12]=n,r} function fl (line 31) | function fl(e){let t,n,r,l,o,a,s,i,u,d,f,p,m,g=e[10].value+"",v=e[10].vi... function pl (line 31) | function pl(e){let t,n,r,l,o,a=e[1],s=[];for(let c=0;c(a(),a=p(i,e=>r(10,o=e)),i);e.$$.on_d... class Dl (line 31) | class Dl extends Le{constructor(e){super(),Je(this,e,Ml,Tl,d,{client:0},... method constructor (line 31) | constructor(e){super(),Je(this,e,Ml,Tl,d,{client:0},El)} function Nl (line 31) | function Nl(e){z(e,"svelte-1fu900w","label.svelte-1fu900w{color:#666}.op... function Vl (line 31) | function Vl(e,t,n){const r=e.slice();return r[5]=t[n][0],r[6]=t[n][1],r[... function Bl (line 31) | function Bl(e){let t,n,r,l,o,a,s,i,u=e[1][e[5]]+"";function d(){e[3].cal... function Rl (line 31) | function Rl(e){let t,n,r;function l(){e[4].call(t,e[5])}return{c(){G(t=M... function Kl (line 31) | function Kl(e){let t,n,r,l,o,a,s=e[5]+"",i=e[6].range&&Bl(e),c="boolean"... function Gl (line 31) | function Gl(e){let t,n=Object.entries(e[0].opts()),r=[];for(let l=0;l(s(),s=p(c,e=>n(14,o=e)),c);e.$$.... class fo (line 31) | class fo extends Le{constructor(e){super(),Je(this,e,uo,co,d,{clientMana... method constructor (line 31) | constructor(e){super(),Je(this,e,uo,co,d,{clientManager:0},oo)} function e (line 33) | function e(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enume... method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function r (line 35) | function r(e){return e&&e.__esModule?e:{default:e}} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function t (line 35) | function t(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){va... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function n (line 35) | function n(r){for(var n=1;n{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function r (line 37) | function r(e){return e&&e.__esModule?e:{default:e}} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function t (line 37) | function t(e){return"Minified Redux error #"+e+"; visit https://redux.js... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function u (line 37) | function u(e){if("object"!=typeof e||null===e)return!1;for(var r=e;null!... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,i,s,e.safe_not_equal,{playerI... function f (line 37) | function f(e){var r=typeof e;return r} function c (line 37) | function c(e,r,o){var f;if("function"==typeof r&&"function"==typeof o||"... method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function a (line 37) | function a(e){"undefined"!=typeof console&&"function"==typeof console.er... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function p (line 37) | function p(e,r,t,n){var o=Object.keys(r),c=t&&t.type===i.INIT?"preloaded... method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function s (line 37) | function s(e){Object.keys(e).forEach(function(r){var n=e[r];if(void 0===... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function d (line 37) | function d(e){for(var r=Object.keys(e),n={},o=0;o{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r0} method updateTurnContext (line 13) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 13) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 13) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function r (line 39) | function r({game:r,numPlayers:u,setupData:s}){u||(u=2);let n={G:{},ctx:(... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... class e (line 41) | class e{constructor({store:e,gameName:t,playerID:s,matchID:a,credentials... method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... class h (line 43) | class h extends n.T{connect(){}disconnect(){}onAction(){}onChatMessage()... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} class u (line 43) | class u{constructor(){this.debugPanel=null,this.currentClient=null,this.... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,i,s,e.safe_not_equal,{playerI... function o (line 43) | function o(t,e,s){if(!s&&null==t){t=e.getState().ctx.currentPlayer}retur... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function g (line 43) | function g(t,e,s,r,a,n){const h={};for(const l of e)h[l]=((...e)=>{const... method constructor (line 148) | constructor({master:t,...e}){super(e),this.master=t,this.isConnected=!0} method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChatMe... method onUpdate (line 148) | async onUpdate(e,s,a){const i=this.store.getState();if(e==this.matchID... method onSync (line 148) | onSync(e,s){if(e==this.matchID){const e=(0,t.s)(s);this.store.dispatch... method onAction (line 148) | onAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.play... method connect (line 148) | connect(){this.master.connect(this.matchID,this.playerID,t=>{switch(t.... method disconnect (line 148) | disconnect(){} method subscribe (line 148) | subscribe(){} method subscribeMatchData (line 148) | subscribeMatchData(){} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.conne... method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} class m (line 43) | class m{constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g... method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function y (line 43) | function y(t){return new m(t)} class a (line 45) | class a extends Error{constructor(t,e){super(t),this.details=e}} method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} class i (line 45) | class i{constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")}as... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function t (line 49) | function t(t){return t.type()===e.SYNC} method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} class a (line 49) | class a{type(){return e.ASYNC}async createMatch(e,t){if(this.createGame)... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} class s (line 49) | class s{type(){return e.SYNC}connect(){}createMatch(e,t){if(this.createG... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... class d (line 51) | class d{constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this... method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... function t (line 53) | function t(r,e){var t=e.replace(/\/{2,9}/g,"/").split("/");return"/"!=e.... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function s (line 53) | function s(r,e){var t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,fu... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function t (line 55) | function t(t){if(!((t=String(t)).length>100)){var u=/^(-?(?:\d+)?\.?\d+)... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function u (line 55) | function u(n){var c=Math.abs(n);return c>=a?Math.round(n/a)+"d":c>=r?Mat... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,i,s,e.safe_not_equal,{playerI... function i (line 55) | function i(n){var c=Math.abs(n);return c>=a?o(n,c,a,"day"):c>=r?o(n,c,r,... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function o (line 55) | function o(s,e,r,a){var n=e>=1.5*r;return Math.round(s/r)+" "+a+(n?"s":"")} method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function e (line 57) | function e(e){function n(e){let r,s,o,a=null;function l(...e){if(!l.enab... method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function r (line 60) | function r(){throw new Error("setTimeout has not been defined")} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function o (line 60) | function o(){throw new Error("clearTimeout has not been defined")} method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function i (line 60) | function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&s... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function u (line 60) | function u(t){if(e===clearTimeout)return clearTimeout(t);if((e===o||!e)&... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,i,s,e.safe_not_equal,{playerI... function f (line 60) | function f(){l&&c&&(l=!1,c.length?s=c.concat(s):a=-1,s.length&&h())} function h (line 60) | function h(){if(!l){var t=i(f);l=!0;for(var e=s.length;e;){for(c=s,s=[];... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} function m (line 60) | function m(t,e){this.fun=t,this.array=e} method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function p (line 60) | function p(){} method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function o (line 63) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function t (line 63) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function C (line 63) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 63) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function n (line 63) | function n(){try{return localStorage}catch(e){}} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function r (line 65) | function r(r,e="",s){let p=r;s=s||"undefined"!=typeof location&&location... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function t (line 83) | function t(t){if(t)return e(t)} method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function e (line 83) | function e(e){for(var s in t.prototype)e[s]=t.prototype[s];return e} method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function s (line 83) | function s(){this.off(t,s),e.apply(this,arguments)} method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function e (line 85) | function e(e){function n(e){let r,s,o,a=null;function l(...e){if(!l.enab... method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function o (line 88) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function t (line 88) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function C (line 88) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 88) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function n (line 88) | function n(){try{return localStorage}catch(e){}} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class r (line 90) | class r extends t{constructor(e){super(),this.opts=e,this.query=e.query,... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function a (line 94) | function a(r){var n="";do{n=e[r%t]+n,r=Math.floor(r/t)}while(r>0);return n} method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function c (line 94) | function c(r){var e=0;for(u=0;uthis.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function f (line 94) | function f(){var e=a(+new Date);return e!==r?(o=0,r=e):e+"."+a(o++)} class p (line 96) | class p extends t{get name(){return"polling"}doOpen(){this.poll()}pause(... method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function n (line 100) | function n(){} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class a (line 100) | class a extends e{constructor(t){if(super(t),"undefined"!=typeof locatio... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} class u (line 100) | class u extends s{constructor(t,e){super(),this.opts=e,this.method=e.met... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,i,s,e.safe_not_equal,{playerI... function d (line 100) | function d(){for(let t in u.requests)u.requests.hasOwnProperty(t)&&u.req... method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... class o (line 102) | class o extends e{constructor(e){super(e),this.query=this.query||{},s||(... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function h (line 106) | function h(r){var t=r.length;if(t%4>0)throw new Error("Invalid string. L... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} function u (line 106) | function u(r){var t=h(r),e=t[0],n=t[1];return 3*(e+n)/4-n} method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,i,s,e.safe_not_equal,{playerI... function c (line 106) | function c(r,t,e){return 3*(t+e)/4-e} method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function i (line 106) | function i(r){var n,o,a=h(r),u=a[0],i=a[1],f=new e(c(r,u,i)),A=0,d=i>0?u... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function f (line 106) | function f(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]} function A (line 106) | function A(r,t,e){for(var n,o=[],a=t;a{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function u (line 114) | function u(t,r){if(o()!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,i,s,e.safe_not_equal,{playerI... function f (line 114) | function f(t,r,e){if(!(f.TYPED_ARRAY_SUPPORT||this instanceof f))return ... function s (line 114) | function s(t,r,e,n){if("number"==typeof r)throw new TypeError('"value" a... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function h (line 114) | function h(t){if("number"!=typeof t)throw new TypeError('"size" argument... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} function a (line 114) | function a(t,r,e,n){return h(r),r<=0?u(t,r):void 0!==e?"string"==typeof ... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function c (line 114) | function c(t,r){if(h(r),t=u(t,r<0?0:0|w(r)),!f.TYPED_ARRAY_SUPPORT)for(v... method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function l (line 114) | function l(t,r,e){if("string"==typeof e&&""!==e||(e="utf8"),!f.isEncodin... method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function g (line 114) | function g(t,r,e,n){if(r.byteLength,e<0||r.byteLength{switch(t.... method disconnect (line 148) | disconnect(){} method subscribe (line 148) | subscribe(){} method subscribeMatchData (line 148) | subscribeMatchData(){} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.conne... method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function y (line 114) | function y(t,r){if(f.isBuffer(r)){var e=0|w(r.length);return 0===(t=u(t,... function w (line 114) | function w(t){if(t>=o())throw new RangeError("Attempt to allocate Buffer... method constructor (line 13) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 13) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 13) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 13) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 13) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 13) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function d (line 114) | function d(t){return+t!=t&&(t=0),f.alloc(+t)} method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... function v (line 114) | function v(t,r){if(f.isBuffer(t))return t.length;if("undefined"!=typeof ... function E (line 114) | function E(t,r,e){var n=!1;if((void 0===r||r<0)&&(r=0),r>this.length)ret... function b (line 114) | function b(t,r,e){var n=t[r];t[r]=t[e],t[e]=n} function R (line 114) | function R(t,r,e,n,i){if(0===t.length)return-1;if("string"==typeof e?(n=... function _ (line 114) | function _(t,r,e,n,i){var o,u=1,f=t.length,s=r.length;if(void 0!==n&&("u... function A (line 114) | function A(t,r,e,n){e=Number(e)||0;var i=t.length-e;n?(n=Number(n))>i&&(... method constructor (line 13) | constructor(e){const t=I();this.c=1,this.s0=t(" "),this.s1=t(" "),this... method next (line 13) | next(){const e=2091639*this.s0+2.3283064365386963e-10*this.c;return th... function m (line 114) | function m(t,r,e,n){return Q($(r,t.length-e),t,e,n)} method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function P (line 114) | function P(t,r,e,n){return Q(G(r),t,e,n)} function T (line 114) | function T(t,r,e,n){return P(t,r,e,n)} function B (line 114) | function B(t,r,e,n){return Q(K(r),t,e,n)} function U (line 114) | function U(t,r,e,n){return Q(H(r,t.length-e),t,e,n)} function S (line 114) | function S(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromBy... function Y (line 114) | function Y(t,r,e){e=Math.min(t.length,e);for(var n=[],i=r;in)&&(e=n);... function C (line 114) | function C(t,r,e){for(var n=t.slice(r,e),i="",o=0;ot.length)throw new RangeError("Index out ... function j (line 114) | function j(t,r,n,i,o){return o||F(t,r,n,4,3.4028234663852886e38,-3.40282... function q (line 114) | function q(t,r,n,i,o){return o||F(t,r,n,8,1.7976931348623157e308,-1.7976... function X (line 114) | function X(t){if((t=J(t).replace(V,"")).length<2)return"";for(;t.length%... function J (line 114) | function J(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")} function Z (line 114) | function Z(t){return t<16?"0"+t.toString(16):t.toString(16)} function $ (line 114) | function $(t,r){var e;r=r||1/0;for(var n=t.length,i=null,o=[],u=0;u=r.length||i>=t.length);++i)r... function W (line 114) | function W(t){return t!=t} class l (line 117) | class l extends t{constructor(e){super(e),this.supportsBinary=!e.forceBa... method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... class n (line 121) | class n extends e{constructor(t,e={}){super(),t&&"object"==typeof t&&(e=... method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function a (line 121) | function a(t){const e={};for(let s in t)t.hasOwnProperty(s)&&(e[s]=t[s])... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function f (line 125) | function f(r){return e&&(r instanceof ArrayBuffer||t(r))||o&&r instanceo... function i (line 125) | function i(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function e (line 127) | function e(t){const e=[],n=t.data,o=t;return o.data=r(n,e),o.attachments... method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function r (line 127) | function r(e,n){if(!e)return e;if(t.isBinary(e)){const t={_placeholder:!... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function n (line 127) | function n(t,e){return t.data=o(t.data,e),t.attachments=void 0,t} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 127) | function o(t,e){if(!t)return t;if(t&&t._placeholder)return e[t.num];if(A... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function e (line 129) | function e(e){function n(e){let r,o=null;function s(...e){if(!s.enabled)... method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function o (line 132) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function t (line 132) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function C (line 132) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 132) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function n (line 132) | function n(){try{return localStorage}catch(e){}} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class c (line 134) | class c{encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.t... method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} class o (line 134) | class o extends t{constructor(){super()}add(t){let e;if("string"==typeof... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function i (line 134) | function i(t){try{return JSON.parse(t)}catch(e){return!1}} method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... class a (line 134) | class a{constructor(t){this.packet=t,this.buffers=[],this.reconPack=t}ta... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function e (line 136) | function e(e,o,t){return e.on(o,t),function(){e.off(o,t)}} method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... class t (line 138) | class t extends e{on(e,t){return super.on(e,t),this}once(e,t){return sup... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} class c (line 140) | class c extends s.StrictEventEmitter{constructor(t,e,s){super(),this.rec... method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function t (line 142) | function t(t){t=t||{},this.ms=t.min||100,this.max=t.max||1e4,this.factor... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} class r (line 144) | class r extends s.StrictEventEmitter{constructor(e,t){super(),this.nsps=... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function n (line 146) | function n(n,c){"object"==typeof n&&(c=n,n=void 0),c=c||{};const s=e.url... method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function r (line 148) | function r(t){return t&&t.__esModule?t:{default:t}} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... class n (line 148) | class n extends a.S{constructor(){super(),this.state=new Map,this.initia... method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class h (line 148) | class h extends Map{constructor(t){super(),this.key=t,(JSON.parse(localS... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} class o (line 148) | class o extends n{constructor(t="bgio"){super();const e=e=>new h(`${t}_$... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function u (line 148) | function u(t,e){return void 0===t?t:t.map(t=>{if(null!==e&&+e==+t.action... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,i,s,e.safe_not_equal,{playerI... function p (line 148) | function p(t,e){if(void 0!==t.ctx.gameover)return null;if(t.ctx.activePl... method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... class m (line 148) | class m extends i.M{constructor({game:t,bots:e,storageKey:s,persist:a}){... method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... class g (line 148) | class g extends s.T{constructor({master:t,...e}){super(e),this.master=t,... method constructor (line 148) | constructor({master:t,...e}){super(e),this.master=t,this.isConnected=!0} method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChatMe... method onUpdate (line 148) | async onUpdate(e,s,a){const i=this.store.getState();if(e==this.matchID... method onSync (line 148) | onSync(e,s){if(e==this.matchID){const e=(0,t.s)(s);this.store.dispatch... method onAction (line 148) | onAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.play... method connect (line 148) | connect(){this.master.connect(this.matchID,this.playerID,t=>{switch(t.... method disconnect (line 148) | disconnect(){} method subscribe (line 148) | subscribe(){} method subscribeMatchData (line 148) | subscribeMatchData(){} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.conne... method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function f (line 148) | function f({bots:t,persist:e,storageKey:s}={}){return a=>{const{gameKey:... class k (line 148) | class k extends s.T{constructor({socket:t,socketOpts:e,server:s,...a}={}... method constructor (line 148) | constructor({socket:t,socketOpts:e,server:s,...a}={}){super(a),this.se... method onAction (line 148) | onAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this.s... method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("ch... method connect (line 148) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 148) | disconnect(){this.socket.close(),this.socket=null,this.isConnected=!1,... method subscribe (line 148) | subscribe(t){this.callback=t} method subscribeMatchData (line 148) | subscribeMatchData(t){this.matchDataCallback=t} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method sync (line 148) | sync(){if(this.socket){const t=[this.matchID,this.playerID,this.creden... method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.sync()} method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function I (line 148) | function I({server:t,socketOpts:e}={}){return s=>new k({server:t,socketO... function e (line 152) | function e(e,r){e.deck--,e.hand[r.currentPlayer]++} method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function r (line 152) | function r(e,r){e.deck++,e.hand[r.currentPlayer]--} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function l (line 154) | function l(e){return e&&e.__esModule?e:{default:e}} method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function r (line 154) | function r(t){let a,n,l,d,p,r=t[1].G.deck+"";return{c(){a=(0,e.element)(... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function s (line 154) | function s(t){let a;function n(e,t){return e[0]?p:r}let l=n(t),d=l(t);re... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function i (line 154) | function i(l,d,p){let r,{playerID:s=null}=d;const i=(0,t.Client)({game:n... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... class u (line 154) | class u extends e.SvelteComponent{constructor(t){super(),(0,e.init)(this... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,i,s,e.safe_not_equal,{playerI... function n (line 156) | function n(e){return e&&e.__esModule?e:{default:e}} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 156) | function o(t){(0,e.append_styles)(t,"svelte-1ohivkv","#board.svelte-1ohi... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function r (line 156) | function r(n){let o,r,a,i,s,l,p,c,u,d,m;return a=new t.default({}),l=new... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... class a (line 156) | class a extends e.SvelteComponent{constructor(t){super(),(0,e.init)(this... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function t (line 158) | function t(e){return e&&e.__esModule?e:{default:e}} method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} FILE: docs/documentation/snippets/phases-2.a59f38ac.js function f (line 1) | function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequi... function e (line 3) | function e(){} method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function o (line 3) | function o(t,e){for(const n in e)t[n]=e[n];return t} method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function r (line 3) | function r(t){return t&&"object"==typeof t&&"function"==typeof t.then} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... function s (line 3) | function s(t,e,n,o,r){t.__svelte_meta={loc:{file:e,line:n,column:o,char:... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function i (line 3) | function i(t){return t()} method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function c (line 3) | function c(){return Object.create(null)} method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function l (line 3) | function l(t){t.forEach(i)} method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function a (line 3) | function a(t,e){return t!=t?e==e:t!==e||t&&"object"==typeof t||"function... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function d (line 3) | function d(t,e){return p||(p=document.createElement("a")),p.href=e,t===p... method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... function f (line 3) | function f(t,e){return t!=t?e==e:t!==e} function _ (line 3) | function _(t){return 0===Object.keys(t).length} function h (line 3) | function h(t,e){if(null!=t&&"function"!=typeof t.subscribe)throw new Err... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} function x (line 3) | function x(t,...n){if(null==t)return e;const o=t.subscribe(...n);return ... function m (line 3) | function m(t){let e;return x(t,t=>e=t)(),e} method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function g (line 3) | function g(t,e,n){t.$$.on_destroy.push(x(e,n))} method constructor (line 148) | constructor({master:t,...e}){super(e),this.master=t,this.isConnected=!0} method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChatMe... method onUpdate (line 148) | async onUpdate(e,s,a){const i=this.store.getState();if(e==this.matchID... method onSync (line 148) | onSync(e,s){if(e==this.matchID){const e=(0,t.s)(s);this.store.dispatch... method onAction (line 148) | onAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.play... method connect (line 148) | connect(){this.master.connect(this.matchID,this.playerID,t=>{switch(t.... method disconnect (line 148) | disconnect(){} method subscribe (line 148) | subscribe(){} method subscribeMatchData (line 148) | subscribeMatchData(){} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.conne... method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function y (line 3) | function y(t,e,n,o){if(t){const r=b(t,e,n,o);return t[0](r)}} function b (line 3) | function b(t,e,n,r){return t[1]&&r?o(n.ctx.slice(),t[1](r(e))):n.ctx} function $ (line 3) | function $(t,e,n,o){if(t[2]&&o){const r=t[2](o(n));if(void 0===e.dirty)r... function v (line 3) | function v(t,e,n,o,r,s){if(r){const i=b(e,n,o,s);t.p(i,r)}} function F (line 3) | function F(t,e,n,o,r,s,i){v(t,e,n,o,$(e,o,r,s),i)} function w (line 3) | function w(t){if(t.ctx.length>32){const e=[],n=t.ctx.length/32;for(let t... method constructor (line 13) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 13) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 13) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 13) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 13) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 13) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function k (line 3) | function k(t){const e={};for(const n in t)"$"!==n[0]&&(e[n]=t[n]);return e} method constructor (line 148) | constructor({socket:t,socketOpts:e,server:s,...a}={}){super(a),this.se... method onAction (line 148) | onAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this.s... method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("ch... method connect (line 148) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 148) | disconnect(){this.socket.close(),this.socket=null,this.isConnected=!1,... method subscribe (line 148) | subscribe(t){this.callback=t} method subscribeMatchData (line 148) | subscribeMatchData(t){this.matchDataCallback=t} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method sync (line 148) | sync(){if(this.socket){const t=[this.matchID,this.playerID,this.creden... method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.sync()} method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function E (line 3) | function E(t,e){const n={};e=new Set(e);for(const o in t)e.has(o)||"$"==... function S (line 3) | function S(t){const e={};for(const n in t)e[n]=!0;return e} function C (line 3) | function C(t){let e=!1;return function(...n){e||(e=!0,t.call(this,...n))}} function D (line 3) | function D(t){return null==t?"":t} function O (line 3) | function O(t,e,n){return t.set(n),e} function M (line 3) | function M(t){return t&&u(t.destroy)?t.destroy:e} function R (line 3) | function R(t){exports.now=j=t} function q (line 3) | function q(t){exports.raf=N=t} function L (line 3) | function L(t){H.forEach(e=>{e.c(t)||(H.delete(e),e.f())}),0!==H.size&&N(L)} method constructor (line 13) | constructor(e){this.state=e||{seed:"0"},this.used=!1} method seed (line 13) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 13) | isUsed(){return this.used} method getState (line 13) | getState(){return this.state} method _random (line 13) | _random(){this.used=!0;const e=this.state,t=D(e.prngstate?"":e.seed,e.... method api (line 13) | api(){const e=this._random.bind(this),t={D4:4,D6:6,D8:8,D10:10,D12:12,... function B (line 3) | function B(){H.clear()} function P (line 3) | function P(t){let e;return 0===H.size&&N(L),{promise:new Promise(n=>{H.a... function W (line 3) | function W(){z=!0} function G (line 3) | function G(){z=!1} function U (line 3) | function U(t,e,n,o){for(;t>1);n(r)<=o?t=r+1:e=r}retu... function Y (line 3) | function Y(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNo... function J (line 3) | function J(t,e){t.appendChild(e)} function K (line 3) | function K(t,e,n){const o=Q(t);if(!o.getElementById(e)){const t=rt("styl... function Q (line 3) | function Q(t){if(!t)return document;const e=t.getRootNode?t.getRootNode(... function V (line 3) | function V(t){const e=rt("style");return X(Q(t),e),e} function X (line 3) | function X(t,e){J(t.head||t,e)} function Z (line 3) | function Z(t,e){if(z){for(Y(t),(void 0===t.actual_end_child||null!==t.ac... function tt (line 3) | function tt(t,e,n){t.insertBefore(e,n||null)} function et (line 3) | function et(t,e,n){z&&!n?Z(t,e):e.parentNode===t&&e.nextSibling==n||t.in... function nt (line 3) | function nt(t){t.parentNode.removeChild(t)} method constructor (line 31) | constructor(e){super(),Je(this,e,tt,et,d,{title:0,viewBox:1},We)} function ot (line 3) | function ot(t,e){for(let n=0;nt.removeEventL... function dt (line 3) | function dt(t){return function(e){return e.preventDefault(),t.call(this,... function ft (line 3) | function ft(t){return function(e){return e.stopPropagation(),t.call(this... method constructor (line 31) | constructor(e){super(),Je(this,e,dt,ut,d,{pane:0,panes:1},st)} function _t (line 3) | function _t(t){return function(e){e.target===this&&t.call(this,e)}} function ht (line 3) | function ht(t){return function(e){e.isTrusted&&t.call(this,e)}} function xt (line 3) | function xt(t,e,n){null==n?t.removeAttribute(e):t.getAttribute(e)!==n&&t... function mt (line 3) | function mt(t,e){const n=Object.getOwnPropertyDescriptors(t.__proto__);f... function gt (line 3) | function gt(t,e){for(const n in e)xt(t,n,e[n])} function yt (line 3) | function yt(t,e,n){e in t?t[e]="boolean"==typeof t[e]&&""===n||n:xt(t,e,n)} function bt (line 3) | function bt(t,e,n){t.setAttributeNS("http://www.w3.org/1999/xlink",e,n)} function $t (line 3) | function $t(t,e,n){const o=new Set;for(let r=0;r{for(let o=t.claim_info.las... function St (line 3) | function St(t,e,n,o){return Et(t,t=>t.nodeName===e,t=>{const e=[];for(le... function Ct (line 3) | function Ct(t,e){return Et(t,t=>3===t.nodeType,t=>{const n=""+e;if(t.dat... function Dt (line 3) | function Dt(t){return Ct(t," ")} function Ot (line 3) | function Ot(t,e,n){for(let o=n;ot.__v... method constructor (line 31) | constructor(e,t){this.key=e,this.value=t} function Bt (line 3) | function Bt(){if(void 0===I){I=!1;try{"undefined"!=typeof window&&window... function Pt (line 3) | function Pt(t,e){"static"===getComputedStyle(t).position&&(t.style.posit... function It (line 3) | function It(t,e,n){t.classList[n?"add":"remove"](e)} function zt (line 3) | function zt(t,e,n=!1){const o=document.createEvent("CustomEvent");return... function Wt (line 3) | function Wt(t,e=document.body){return Array.from(e.querySelectorAll(t))} class Gt (line 3) | class Gt{constructor(){this.e=this.n=null}c(t){this.h(t)}m(t,e,n=null){t... method constructor (line 3) | constructor(){this.e=this.n=null} method c (line 3) | c(t){this.h(t)} method m (line 3) | m(t,e,n=null){this.e||(this.e=rt(e.nodeName),this.t=e,this.c(t)),this.... method h (line 3) | h(t){this.e.innerHTML=t,this.n=Array.from(this.e.childNodes)} method i (line 3) | i(t){for(let e=0;e{e[t.slot||"def... method constructor (line 31) | constructor(e){super(),Je(this,e,Gt,Bt,d,{key:0,value:5,isParentExpand... function Xt (line 3) | function Xt(t){let e=5381,n=t.length;for(;n--;)e=(e<<5)-e^t.charCodeAt(n... method constructor (line 31) | constructor(e){super(),Je(this,e,Ut,Ft,d,{key:0,value:5,isParentExpand... function Zt (line 3) | function Zt(t,e,n,o,r,s,i,c=0){const l=16.666/o;let u="{\n";for(let x=0;... function te (line 3) | function te(t,e){const n=(t.style.animation||"").split(", "),o=n.filter(... function ee (line 3) | function ee(){N(()=>{Vt||(Kt.forEach(t=>{const e=t.__svelte_stylesheet;l... function ne (line 3) | function ne(t,o,r,s){if(!o)return e;const i=t.getBoundingClientRect();if... function oe (line 3) | function oe(t){const e=getComputedStyle(t);if("absolute"!==e.position&&"... function re (line 3) | function re(t,e){const n=t.getBoundingClientRect();if(e.left!==n.left||e... function se (line 3) | function se(t){exports.current_component=Qt=t} function ie (line 3) | function ie(){if(!Qt)throw new Error("Function called outside component ... function ce (line 3) | function ce(t){ie().$$.before_update.push(t)} function le (line 3) | function le(t){ie().$$.on_mount.push(t)} function ue (line 3) | function ue(t){ie().$$.after_update.push(t)} function ae (line 3) | function ae(t){ie().$$.on_destroy.push(t)} function pe (line 3) | function pe(){const t=ie();return(e,n)=>{const o=t.$$.callbacks[e];if(o)... function de (line 3) | function de(t,e){ie().$$.context.set(t,e)} function fe (line 3) | function fe(t){return ie().$$.context.get(t)} function _e (line 3) | function _e(){return ie().$$.context} function he (line 3) | function he(t){return ie().$$.context.has(t)} function xe (line 3) | function xe(t,e){const n=t.$$.callbacks[e.type];n&&n.slice().forEach(t=>... function we (line 3) | function we(){Fe||(Fe=!0,ve.then(Oe))} function ke (line 3) | function ke(){return we(),ve} function Ee (line 3) | function Ee(t){be.push(t)} function Se (line 3) | function Se(t){$e.push(t)} function Oe (line 3) | function Oe(){if(!Ce){Ce=!0;do{for(let t=0;t{Me=null}),Me} function je (line 3) | function je(t,e,n){t.dispatchEvent(zt(`${e?"intro":"outro"}${n}`))} function qe (line 3) | function qe(){Re={r:0,c:[],p:Re}} function He (line 3) | function He(){Re.r||l(Re.c),Re=Re.p} function Le (line 3) | function Le(t,e){t&&t.i&&(Ne.delete(t),t.i(e))} method $destroy (line 31) | $destroy(){Ke(this,1),this.$destroy=l} method $on (line 31) | $on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);retur... method $set (line 31) | $set(e){this.$$set&&!f(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$... function Be (line 3) | function Be(t,e,n,o){if(t&&t.o){if(Ne.has(t))return;Ne.add(t),Re.c.push(... function Ie (line 3) | function Ie(t,o,r){let s,i,c=o(t,r),l=!1,a=0;function p(){s&&te(t,s)}fun... function ze (line 3) | function ze(t,o,r){let s,i=o(t,r),c=!0;const a=Re;function p(){const{del... function We (line 3) | function We(t,o,r,s){let i=o(t,r),c=s?0:1,a=null,p=null,d=null;function ... function Ge (line 3) | function Ge(t,e){const n=e.token={};function o(t,o,r,s){if(e.token!==n)r... function Ue (line 3) | function Ue(t,e,n){const o=e.slice(),{resolved:r}=t;t.current===t.then&&... function Je (line 3) | function Je(t,e){t.d(1),e.delete(t.key)} function Ke (line 3) | function Ke(t,e){Be(t,1,1,()=>{e.delete(t.key)})} function Qe (line 3) | function Qe(t,e){t.f(),Je(t,e)} function Ve (line 3) | function Ve(t,e){t.f(),Ke(t,e)} function Xe (line 3) | function Xe(t,e,n,o,r,s,i,c,l,u,a,p){let d=t.length,f=s.length,_=d;const... function Ze (line 3) | function Ze(t,e,n,o){const r=new Set;for(let s=0;s]/g,t=>sn[t])} function ln (line 3) | function ln(t){return"string"==typeof t?cn(t):t} function un (line 3) | function un(t){const e={};for(const n in t)e[n]=ln(t[n]);return e} function an (line 3) | function an(t,e){let n="";for(let o=0;o{console.warn("Componen... method $capture_state (line 3) | $capture_state(){} method $inject_state (line 3) | $inject_state(){} method constructor (line 31) | constructor(e){super(),Je(this,e,An,En,d,{clientManager:0},wn)} class Wn (line 3) | class Wn extends zn{constructor(t){super(t)}} method constructor (line 3) | constructor(t){super(t)} function Gn (line 3) | function Gn(t){const e=Date.now();return()=>{if(Date.now()-e>t)throw new... function e (line 9) | function e(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... function n (line 9) | function n(r){return t(r)||e(23,r),r[Q].t} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 9) | function o(e,t,r){void 0===r&&(r=!1),0===i(e)?(r?Object.keys:ee)(e).forE... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function i (line 9) | function i(e){var t=e[Q];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:s(e... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function a (line 9) | function a(e,t){return 2===i(e)?e.has(t):Object.prototype.hasOwnProperty... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function u (line 9) | function u(e,t){return 2===i(e)?e.get(t):e[t]} method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function c (line 9) | function c(e,t,r){var n=i(e);2===n?e.set(t,r):3===n?(e.delete(t),e.add(r... method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function f (line 9) | function f(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t} function s (line 9) | function s(e){return X&&e instanceof Map} method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function l (line 9) | function l(e){return q&&e instanceof Set} method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function h (line 9) | function h(e){if(Array.isArray(e))return Array.prototype.slice.call(e);v... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} function v (line 9) | function v(e,n){return void 0===n&&(n=!1),y(e)||t(e)||!r(e)?e:(i(e)>1&&(... function d (line 9) | function d(){e(2)} method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... function y (line 9) | function y(e){return null==e||"object"!=typeof e||Object.isFrozen(e)} function b (line 9) | function b(t){var r=re[t];return r||e(18,t),r} function g (line 9) | function g(e,t){re[e]||(re[e]=t)} method constructor (line 148) | constructor({master:t,...e}){super(e),this.master=t,this.isConnected=!0} method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChatMe... method onUpdate (line 148) | async onUpdate(e,s,a){const i=this.store.getState();if(e==this.matchID... method onSync (line 148) | onSync(e,s){if(e==this.matchID){const e=(0,t.s)(s);this.store.dispatch... method onAction (line 148) | onAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.play... method connect (line 148) | connect(){this.master.connect(this.matchID,this.playerID,t=>{switch(t.... method disconnect (line 148) | disconnect(){} method subscribe (line 148) | subscribe(){} method subscribeMatchData (line 148) | subscribeMatchData(){} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.conne... method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function m (line 9) | function m(){return J} method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function P (line 9) | function P(e,t){t&&(b("Patches"),e.u=[],e.s=[],e.v=t)} function O (line 9) | function O(e){x(e),e.p.forEach(j),e.p=null} function x (line 9) | function x(e){e===J&&(J=e.l)} function w (line 9) | function w(e){return J={p:[],l:J,h:e,m:!0,_:0}} method constructor (line 13) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 13) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 13) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 13) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 13) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 13) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function j (line 9) | function j(e){var t=e[Q];0===t.i||1===t.i?t.j():t.O=!0} function A (line 9) | function A(t,n){n._=n.p.length;var o=n.p[0],i=void 0!==t&&t!==o;return n... method constructor (line 13) | constructor(e){const t=I();this.c=1,this.s0=t(" "),this.s1=t(" "),this... method next (line 13) | next(){const e=2091639*this.s0+2.3283064365386963e-10*this.c;return th... function D (line 9) | function D(e,t,r){if(y(t))return t;var n=t[Q];if(!n)return o(t,function(... function S (line 9) | function S(e,n,o,i,u,f){if(t(u)){var s=D(e,u,f&&n&&3!==n.i&&!a(n.D,i)?f.... function _ (line 9) | function _(e,t,r){void 0===r&&(r=!1),e.h.F&&e.m&&v(t,r)} function k (line 9) | function k(e,t){var r=e[Q];return(r?p(r):e)[t]} method constructor (line 148) | constructor({socket:t,socketOpts:e,server:s,...a}={}){super(a),this.se... method onAction (line 148) | onAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this.s... method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("ch... method connect (line 148) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 148) | disconnect(){this.socket.close(),this.socket=null,this.isConnected=!1,... method subscribe (line 148) | subscribe(t){this.callback=t} method subscribeMatchData (line 148) | subscribeMatchData(t){this.matchDataCallback=t} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method sync (line 148) | sync(){if(this.socket){const t=[this.matchID,this.playerID,this.creden... method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.sync()} method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function I (line 9) | function I(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var n=O... function z (line 9) | function z(e){e.P||(e.P=!0,e.l&&z(e.l))} function E (line 9) | function E(e){e.o||(e.o=h(e.t))} function M (line 9) | function M(e,t,r){var n=s(t)?b("MapSet").N(t,r):l(t)?b("MapSet").T(t,r):... function F (line 9) | function F(n){return t(n)||e(22,n),function e(t){if(!r(t))return t;var n... function R (line 9) | function R(e,t){switch(t){case 2:return new Map(e);case 3:return Array.f... function C (line 9) | function C(){function e(e,t){var r=u[e];return r?r.enumerable=t:u[e]=r={... function T (line 9) | function T(){function n(e){if(!r(e))return e;if(Array.isArray(e))return ... function K (line 9) | function K(){function t(e,t){function r(){this.constructor=e}u(e,t),e.pr... function U (line 9) | function U(){C(),K(),T()} function W (line 9) | function W(e){return e} function N (line 9) | function N(e){return e} function n (line 9) | function n(t){var n=this;this.g=B,this.F=!0,this.produce=function(t,o,i)... method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 11) | function n(t){var n=!1;if(null!=t&&"function"!=typeof t.toString)try{n=!... method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function r (line 11) | function r(t,n){return function(r){return t(n(r))}} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... function a (line 11) | function a(t){return!!t&&"object"==typeof t} method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function p (line 11) | function p(r){if(!a(r)||i.call(r)!=t||n(r))return!1;var o=l(r);if(null==... method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function r (line 13) | function r(e){return e&&e.__esModule?e:{default:e}} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... class A (line 13) | class A{constructor(e){const t=I();this.c=1,this.s0=t(" "),this.s1=t(" "... method constructor (line 13) | constructor(e){const t=I();this.c=1,this.s0=t(" "),this.s1=t(" "),this... method next (line 13) | next(){const e=2091639*this.s0+2.3283064365386963e-10*this.c;return th... function I (line 13) | function I(){let e=4022871197;return function(t){const r=t.toString();fo... function S (line 13) | function S(e,t){return t.c=e.c,t.s0=e.s0,t.s1=e.s1,t.s2=e.s2,t} function D (line 13) | function D(e,t){const r=new A(e),s=r.next.bind(r);return t&&S(t,r),s.sta... class L (line 13) | class L{constructor(e){this.state=e||{seed:"0"},this.used=!1}static seed... method constructor (line 13) | constructor(e){this.state=e||{seed:"0"},this.used=!1} method seed (line 13) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 13) | isUsed(){return this.used} method getState (line 13) | getState(){return this.state} method _random (line 13) | _random(){this.used=!0;const e=this.state,t=D(e.prngstate?"":e.seed,e.... method api (line 13) | api(){const e=this._random.bind(this),t={D4:4,D6:6,D8:8,D10:10,D12:12,... class w (line 13) | class w{constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],... method constructor (line 13) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 13) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 13) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 13) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 13) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 13) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function C (line 13) | function C(e){if(null==e||"boolean"==typeof e||"number"==typeof e||"stri... function V (line 13) | function V(e){H(`INFO: ${e}`)} function $ (line 13) | function $(e){j("ERROR:",e)} function se (line 13) | function se(e,t){let r={},s=[],n=null,a={};if(Array.isArray(t)){const e=... function ne (line 13) | function ne(e){let{activePlayers:t,_activePlayersMoveLimit:r,_activePlay... function ae (line 13) | function ae(e,t,r,s){"object"==typeof s&&s!==ce.NULL||(s={stage:s}),void... function oe (line 13) | function oe(e,t){return e[t]+""} function ie (line 13) | function ie(e,t){let{G:r,ctx:s}=e;const{numPlayers:n}=s,a=K(e),o=t.order... function le (line 13) | function le(e,t,r,s){const n=r.order;let{G:a,ctx:o}=e,i=o.playOrderPos,l... function t (line 15) | function t(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")} method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function e (line 15) | function e(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")} method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function n (line 15) | function n(t){void 0===t&&(t=[""]),this.tokens=t} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function r (line 17) | function r(r){return void 0===r?"undefined":null===r?"null":Array.isArra... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... function e (line 17) | function e(r){return null!=r&&"object"==typeof r} method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function t (line 17) | function t(r){if(!e(r))return r;if(r.constructor==Array){for(var o=r.len... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function t (line 19) | function t(r){var e=r.op;return"remove"===e||"replace"===e||"copy"===e||... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function o (line 19) | function o(r,t){var o={};for(var n in r)e.hasOwnProperty.call(r,n)&&void... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function n (line 19) | function n(r){for(var t=r.length,o={},n=0;n{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function i (line 19) | function i(r){return"add"===r.op} method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function a (line 19) | function a(r){return"remove"===r.op} method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function p (line 19) | function p(r,e){return{operations:r.operations.concat(e),cost:r.cost+1}} method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function c (line 19) | function c(e,t,o,n){void 0===n&&(n=s);var c={"0,0":{operations:[],cost:0... method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function u (line 19) | function u(r,e,t,i){void 0===i&&(i=s);var a=[];return o(r,e).forEach(fun... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function s (line 19) | function s(r,t,o,n){if(void 0===n&&(n=s),r===t)return[];var i=e.objectTy... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function n (line 21) | function n(){this.constructor=e} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function t (line 21) | function t(r){var t=e.call(this,"Value required at path: "+r)||this;retu... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function t (line 21) | function t(r,t){var n=e.call(this,"Test failed: "+r+" != "+t)||this;retu... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function i (line 21) | function i(r,e,t){if(Array.isArray(r))if("-"==e)r.push(t);else{var n=par... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function u (line 21) | function u(r,e){if(Array.isArray(r)){var t=parseInt(e,10);r.splice(t,1)}... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function p (line 21) | function p(r,n){var a=e.Pointer.fromJSON(n.path).evaluate(r);return void... method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function l (line 21) | function l(r,t){var n=e.Pointer.fromJSON(t.path).evaluate(r);return void... method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;rthis.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function f (line 21) | function f(r,t){var o=e.Pointer.fromJSON(t.path).evaluate(r);return n.di... function t (line 21) | function t(r){var t=e.call(this,"Invalid operation: "+r.op)||this;return... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function y (line 21) | function y(r,e){switch(e.op){case"add":return p(r,e);case"remove":return... function n (line 23) | function n(r,t){return t.map(function(t){return e.apply(r,t)})} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function a (line 23) | function a(r){return function e(n,a,i){var o=r(n,a,i);return Array.isArr... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function i (line 23) | function i(e,n,i){var o=new r.Pointer;return(i?a(i):t.diffAny)(e,n,o)} method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function o (line 23) | function o(e,t){var n=r.Pointer.fromJSON(t).evaluate(e);if(void 0!==n)re... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function u (line 23) | function u(r,e){var n=new Array;return e.filter(t.isDestructive).forEach... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function r (line 25) | function r({moves:e,phases:t,endIf:a,onEnd:r,turn:o,events:i,plugins:s})... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... function o (line 25) | function o(e){return void 0!==e.processMove} method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function i (line 25) | function i(e){if(o(e))return e;if(void 0===e.name&&(e.name="default"),vo... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function s (line 25) | function s(e){return e instanceof Object&&void 0!==e.move} method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function l (line 25) | function l(e,t){if(t.game.disableUndo)return e;const n={G:e.G,ctx:e.ctx,... method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function v (line 25) | function v(e){if(!e)return[null,void 0];const{transients:t,...n}=e;retur... function f (line 25) | function f(e,t,n){return{...e,transients:{error:{type:t,payload:n}}}} function m (line 25) | function m({game:r,isClient:o}){return r=i(r),(i=null,s)=>{let[y]=v(i);s... method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function x (line 27) | function x(t,e){if(y)return y=!y,e;const s=r.call(this,t,e);switch(typeo... class a (line 29) | class a{constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} class r (line 29) | class r extends a{constructor({enumerate:t,seed:a,objectives:s,game:r,it... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... class i (line 29) | class i extends a{play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);retu... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function n (line 29) | async function n(t,e){const a=t.store.getState();let s=a.ctx.currentPlay... method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 29) | async function o({game:t,bots:s,state:r,depth:i}){void 0===i&&(i=1e4);co... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function l (line 31) | function l(){} method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function s (line 31) | function s(e){return e()} method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function i (line 31) | function i(){return Object.create(null)} method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function c (line 31) | function c(e){e.forEach(s)} method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function u (line 31) | function u(e){return"function"==typeof e} method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function d (line 31) | function d(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function... method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... function f (line 31) | function f(e){return 0===Object.keys(e).length} function p (line 31) | function p(e,...t){if(null==e)return l;const n=e.subscribe(...t);return ... method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function m (line 31) | function m(e,t,n){e.$$.on_destroy.push(p(t,n))} method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function g (line 31) | function g(e,t,n,r){if(e){const l=v(e,t,n,r);return e[0](l)}} method constructor (line 148) | constructor({master:t,...e}){super(e),this.master=t,this.isConnected=!0} method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChatMe... method onUpdate (line 148) | async onUpdate(e,s,a){const i=this.store.getState();if(e==this.matchID... method onSync (line 148) | onSync(e,s){if(e==this.matchID){const e=(0,t.s)(s);this.store.dispatch... method onAction (line 148) | onAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.play... method connect (line 148) | connect(){this.master.connect(this.matchID,this.playerID,t=>{switch(t.... method disconnect (line 148) | disconnect(){} method subscribe (line 148) | subscribe(){} method subscribeMatchData (line 148) | subscribeMatchData(){} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.conne... method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function v (line 31) | function v(e,t,n,r){return e[1]&&r?a(n.ctx.slice(),e[1](r(t))):n.ctx} function $ (line 31) | function $(e,t,n,r){if(e[2]&&r){const l=e[2](r(n));if(void 0===t.dirty)r... function y (line 31) | function y(e,t,n,r,l,o){if(l){const a=v(t,n,r,o);e.p(a,l)}} function h (line 31) | function h(e){if(e.ctx.length>32){const t=[],n=e.ctx.length/32;for(let e... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} function b (line 31) | function b(e){const t={};for(const n in e)"$"!==n[0]&&(t[n]=e[n]);return t} function x (line 31) | function x(e){return null==e?"":e} function E (line 31) | function E(e){j.forEach(t=>{t.c(e)||(j.delete(t),t.f())}),0!==j.size&&P(E)} function O (line 31) | function O(e){let t;return 0===j.size&&P(E),{promise:new Promise(n=>{j.a... function A (line 31) | function A(e,t){e.appendChild(t)} method constructor (line 13) | constructor(e){const t=I();this.c=1,this.s0=t(" "),this.s1=t(" "),this... method next (line 13) | next(){const e=2091639*this.s0+2.3283064365386963e-10*this.c;return th... function z (line 31) | function z(e,t,n){const r=_(e);if(!r.getElementById(t)){const e=M("style... function _ (line 31) | function _(e){if(!e)return document;const t=e.getRootNode?e.getRootNode(... function S (line 31) | function S(e){const t=M("style");return C(_(e),t),t} function C (line 31) | function C(e,t){A(e.head||e,t)} function q (line 31) | function q(e,t,n){e.insertBefore(t,n||null)} function I (line 31) | function I(e){e.parentNode.removeChild(e)} function T (line 31) | function T(e,t){for(let n=0;ne.removeEventLi... function K (line 31) | function K(e){return function(t){return t.stopPropagation(),e.call(this,... function G (line 31) | function G(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.... function J (line 31) | function J(e){return""===e?null:+e} function L (line 31) | function L(e){return Array.from(e.childNodes)} method constructor (line 13) | constructor(e){this.state=e||{seed:"0"},this.used=!1} method seed (line 13) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 13) | isUsed(){return this.used} method getState (line 13) | getState(){return this.state} method _random (line 13) | _random(){this.used=!0;const e=this.state,t=D(e.prngstate?"":e.seed,e.... method api (line 13) | api(){const e=this._random.bind(this),t={D4:4,D6:6,D8:8,D10:10,D12:12,... function F (line 31) | function F(e,t){t=""+t,e.wholeText!==t&&(e.data=t)} function H (line 31) | function H(e,t){e.value=null==t?"":t} function Z (line 31) | function Z(e,t){for(let n=0;n{ee||(W.forEach(e=>{const t=e.__svelte_stylesheet;le... function oe (line 31) | function oe(e){Q=e} function ae (line 31) | function ae(){if(!Q)throw new Error("Function called outside component i... function se (line 31) | function se(e){ae().$$.after_update.push(e)} function ie (line 31) | function ie(e){ae().$$.on_destroy.push(e)} function ce (line 31) | function ce(){const e=ae();return(t,n)=>{const r=e.$$.callbacks[t];if(r)... function ue (line 31) | function ue(e,t){ae().$$.context.set(e,t)} function de (line 31) | function de(e){return ae().$$.context.get(e)} function fe (line 31) | function fe(e,t){const n=e.$$.callbacks[t.type];n&&n.slice().forEach(e=>... function he (line 31) | function he(){ye||(ye=!0,$e.then(ke))} function be (line 31) | function be(e){ge.push(e)} function ke (line 31) | function ke(){if(!xe){xe=!0;do{for(let e=0;e{je=null}),je} function Oe (line 31) | function Oe(e,t,n){e.dispatchEvent(Y(`${t?"intro":"outro"}${n}`))} function _e (line 31) | function _e(){ze={r:0,c:[],p:ze}} function Se (line 31) | function Se(){ze.r||c(ze.c),ze=ze.p} function Ce (line 31) | function Ce(e,t){e&&e.i&&(Ae.delete(e),e.i(t))} function qe (line 31) | function qe(e,t,n,r){if(e&&e.o){if(Ae.has(e))return;Ae.add(e),ze.c.push(... function Te (line 31) | function Te(e,t,n){let r,a,s=t(e,n),i=!1,c=0;function d(){r&&re(e,r)}fun... function Me (line 31) | function Me(e,t,n){let r,a=t(e,n),s=!0;const i=ze;function d(){const{del... function De (line 31) | function De(e,t,n,r){let a=t(e,n),s=r?0:1,i=null,d=null,f=null;function ... function Ne (line 31) | function Ne(e,t){const n={},r={},l={$$scope:1};let o=e.length;for(;o--;)... function Ve (line 31) | function Ve(e){return"object"==typeof e&&null!==e?e:{}} function Be (line 31) | function Be(e){e&&e.c()} function Re (line 31) | function Re(e,t,n,r){const{fragment:l,on_mount:o,on_destroy:a,after_upda... function Ke (line 31) | function Ke(e,t){const n=e.$$;null!==n.fragment&&(c(n.on_destroy),n.frag... function Ge (line 31) | function Ge(e,t){-1===e.$$.dirty[0]&&(pe.push(e),he(),e.$$.dirty.fill(0)... function Je (line 31) | function Je(e,t,n,r,o,a,s,u=[-1]){const d=Q;oe(e);const f=e.$$={fragment... class Le (line 31) | class Le{$destroy(){Ke(this,1),this.$destroy=l}$on(e,t){const n=this.$$.... method $destroy (line 31) | $destroy(){Ke(this,1),this.$destroy=l} method $on (line 31) | $on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);retur... method $set (line 31) | $set(e){this.$$set&&!f(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$... function He (line 31) | function He(e,t=l){let n;const r=new Set;function o(t){if(d(e,t)&&(e=t,n... function Ze (line 31) | function Ze(e){const t=e-1;return t*t*t+1} function Ue (line 31) | function Ue(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty... function Xe (line 31) | function Xe(e,{delay:t=0,duration:n=400,easing:r=Ze,x:l=0,y:o=0,opacity:... function Ye (line 31) | function Ye(e){var{fallback:t}=e,n=Ue(e,["fallback"]);const r=new Map,l=... function We (line 31) | function We(e){z(e,"svelte-c8tyih","svg.svelte-c8tyih{stroke:currentColo... function Qe (line 31) | function Qe(e){let t,n;return{c(){t=D("title"),n=N(e[0])},m(e,r){q(e,t,r... function et (line 31) | function et(e){let t,n,r,l=e[0]&&Qe(e);const o=e[3].default,a=g(o,e,e[2]... function tt (line 31) | function tt(e,t,n){let{$$slots:r={},$$scope:l}=t,{title:o=null}=t,{viewB... class nt (line 31) | class nt extends Le{constructor(e){super(),Je(this,e,tt,et,d,{title:0,vi... method constructor (line 31) | constructor(e){super(),Je(this,e,tt,et,d,{title:0,viewBox:1},We)} function rt (line 31) | function rt(e){let t;return{c(){G(t=D("path"),"d","M285.476 272.971L91.1... function lt (line 31) | function lt(e){let t,n;const r=[{viewBox:"0 0 320 512"},e[0]];let l={$$s... function ot (line 31) | function ot(e,t,n){return e.$$set=(e=>{n(0,t=a(a({},t),b(e)))}),[t=b(t)]} class at (line 31) | class at extends Le{constructor(e){super(),Je(this,e,ot,lt,d,{})}} method constructor (line 31) | constructor(e){super(),Je(this,e,ot,lt,d,{})} function st (line 31) | function st(e){z(e,"svelte-1scv1e1",".menu.svelte-1scv1e1{display:flex;f... function it (line 31) | function it(e,t,n){const r=e.slice();return r[4]=t[n][0],r[5]=t[n][1].la... function ct (line 31) | function ct(e){let t,n,r,l,o,a=e[5]+"";function s(){return e[3](e[4])}re... function ut (line 31) | function ut(e){let t,n=Object.entries(e[1]),r=[];for(let l=0;l{"expanded"in e&... class $t (line 31) | class $t extends Le{constructor(e){super(),Je(this,e,vt,gt,d,{expanded:0... method constructor (line 31) | constructor(e){super(),Je(this,e,vt,gt,d,{expanded:0},mt)} function yt (line 31) | function yt(e){z(e,"svelte-1vlbacg","label.svelte-1vlbacg{display:inline... function ht (line 31) | function ht(e){let t,n,r,l,o,a;return{c(){t=M("label"),n=M("span"),r=N(e... function bt (line 31) | function bt(e){let t,n=e[3]&&e[0]&&ht(e);return{c(){n&&n.c(),t=B()},m(e,... function xt (line 31) | function xt(e,t,n){let r,{key:l,isParentExpanded:o,isParentArray:a=!1,co... class wt (line 31) | class wt extends Le{constructor(e){super(),Je(this,e,xt,bt,d,{key:0,isPa... method constructor (line 31) | constructor(e){super(),Je(this,e,xt,bt,d,{key:0,isParentExpanded:1,isP... function kt (line 31) | function kt(e){z(e,"svelte-rwxv37","label.svelte-rwxv37{display:inline-b... function Pt (line 31) | function Pt(e,t,n){const r=e.slice();return r[12]=t[n],r[20]=n,r} function jt (line 31) | function jt(e){let t,n;return(t=new $t({props:{expanded:e[0]}})).$on("cl... function Et (line 31) | function Et(e){let t;return{c(){(t=M("span")).textContent="…"},m(e,n){q(... function Ot (line 31) | function Ot(e){let t,n,r,l,o,a=e[13],s=[];for(let u=0;u... class xn (line 31) | class xn extends Le{constructor(e){super(),Je(this,e,bn,hn,d,{key:0,valu... method constructor (line 31) | constructor(e){super(),Je(this,e,bn,hn,d,{key:0,value:1},yn)} function wn (line 31) | function wn(e){z(e,"svelte-jvfq3i",".svelte-jvfq3i{box-sizing:border-box... function kn (line 31) | function kn(e,t,n){const r=e.slice();return r[7]=t[n],r[9]=n,r} function Pn (line 31) | function Pn(e){let t,n,r,l,o,a,s=e[1],i=[];for(let c=0;c1&&Pn(e);return{c(){n&&n.c(),t=B()},m... method $destroy (line 3) | $destroy(){Fn(this,1),this.$destroy=e} method $on (line 3) | $on(t,e){const n=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);retur... method $set (line 3) | $set(t){this.$$set&&!_(t)&&(this.$$.skip_bound=!0,this.$$set(t),this.$... function An (line 31) | function An(e,t,n){let r,o,a,s,i=l,c=()=>(i(),i=p(u,e=>n(5,s=e)),u);e.$$... class zn (line 31) | class zn extends Le{constructor(e){super(),Je(this,e,An,En,d,{clientMana... method constructor (line 3) | constructor(t){if(!t||!t.target&&!t.$$inline)throw new Error("'target'... method $destroy (line 3) | $destroy(){super.$destroy(),this.$destroy=(()=>{console.warn("Componen... method $capture_state (line 3) | $capture_state(){} method $inject_state (line 3) | $inject_state(){} method constructor (line 31) | constructor(e){super(),Je(this,e,An,En,d,{clientManager:0},wn)} function _n (line 31) | function _n(e){z(e,"svelte-1vfj1mn",".key.svelte-1vfj1mn.svelte-1vfj1mn{... function Sn (line 31) | function Sn(e){let t,n,r,l,o,a=`(shortcut: ${e[0]})`+"";return{c(){t=M("... function Cn (line 31) | function Cn(e){let t,n,r,o,a,s,i=e[1]&&Sn(e);return{c(){t=M("div"),n=M("... function qn (line 31) | function qn(e,t,n){let r,{value:l}=t,{onPress:o=null}=t,{label:a=null}=t... class In (line 31) | class In extends Le{constructor(e){super(),Je(this,e,qn,Cn,d,{value:0,on... method constructor (line 31) | constructor(e){super(),Je(this,e,qn,Cn,d,{value:0,onPress:8,label:1,di... function Tn (line 31) | function Tn(e){z(e,"svelte-1mppqmp",".move.svelte-1mppqmp{display:flex;f... function Mn (line 31) | function Mn(e){let t,n,r,o,a,s,i,d,f,p,m;return{c(){t=M("div"),n=M("span... function Nn (line 31) | function Nn(e,t,n){let r,{Activate:l}=t,{Deactivate:o}=t,{name:a}=t,{act... class Vn (line 31) | class Vn extends Le{constructor(e){super(),Je(this,e,Nn,Mn,d,{Activate:0... method constructor (line 31) | constructor(e){super(),Je(this,e,Nn,Mn,d,{Activate:0,Deactivate:1,name... function Bn (line 31) | function Bn(e){z(e,"svelte-smqssc",".move-error.svelte-smqssc{color:#a00... function Rn (line 31) | function Rn(e){let t,n;return{c(){t=M("span"),n=N(e[2]),G(t,"class","mov... function Kn (line 31) | function Kn(e){let t,n,r,l,o,a,s;r=new In({props:{value:e[0],onPress:e[4... function Gn (line 31) | function Gn(t,n,r){let{shortcut:l}=n,{name:o}=n,{fn:a}=n;const{disableHo... class Jn (line 31) | class Jn extends Le{constructor(e){super(),Je(this,e,Gn,Kn,d,{shortcut:0... method constructor (line 31) | constructor(e){super(),Je(this,e,Gn,Kn,d,{shortcut:0,name:1,fn:8},Bn)} function Ln (line 31) | function Ln(e){z(e,"svelte-c3lavh","ul.svelte-c3lavh{padding-left:0}li.s... function Fn (line 31) | function Fn(e){let t,n,r,l,o,a,s,i,c,u,d,f,p;return r=new In({props:{val... function Hn (line 31) | function Hn(t,r,l){let{client:o}=r,{ToggleVisibility:a}=r;return t.$$set... class Zn (line 31) | class Zn extends Le{constructor(e){super(),Je(this,e,Hn,Fn,d,{client:0,T... method constructor (line 31) | constructor(e){super(),Je(this,e,Hn,Fn,d,{client:0,ToggleVisibility:1}... function Un (line 31) | function Un(e){z(e,"svelte-19aan9p",".player-box.svelte-19aan9p{display:... function Xn (line 31) | function Xn(e,t,n){const r=e.slice();return r[7]=t[n],r} function Yn (line 31) | function Yn(e){let t,n,r,l,o,a,s=e[7]+"";function i(){return e[5](e[7])}... function Wn (line 31) | function Wn(e){let t,n=e[2],r=[];for(let l=0;le.length)&&(t=e.length);for(var n=0,r=new A... function yr (line 31) | function yr(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e... function hr (line 31) | function hr(e,t){var n,r={},l={},o=yr(t);try{for(o.s();!(n=o.n()).done;)... function br (line 31) | function br(e){z(e,"svelte-146sq5f",".tree.svelte-146sq5f{--json-tree-fo... function xr (line 31) | function xr(e,t,n){const r=e.slice();return r[10]=t[n][0],r[11]=t[n][1],r} function wr (line 31) | function wr(e){let t,n,r,l;return n=new Jn({props:{shortcut:e[8][e[10]],... function kr (line 31) | function kr(e){let t,n,r;return n=new Jn({props:{name:"endStage",shortcu... function Pr (line 31) | function Pr(e){let t,n,r;return n=new Jn({props:{name:"endTurn",shortcut... function jr (line 31) | function jr(e){let t,n,r;return n=new Jn({props:{name:"endPhase",shortcu... function Er (line 31) | function Er(e){let t,n,r,l,o,a,s,i,c,u,d,f,p,m,g,v,$,y,h,b,x,w,k,P,j,E,O... function Or (line 31) | function Or(e){let t={};for(const n in e)n.startsWith("_")||(t[n]=e[n]);... function Ar (line 31) | function Ar(e,t,n){let{client:r}=t,{clientManager:l}=t,{ToggleVisibility... class zr (line 31) | class zr extends Le{constructor(e){super(),Je(this,e,Ar,Er,d,{client:0,c... method constructor (line 31) | constructor(e){super(),Je(this,e,Ar,Er,d,{client:0,clientManager:1,Tog... function _r (line 31) | function _r(e){z(e,"svelte-13qih23",".item.svelte-13qih23.svelte-13qih23... function Sr (line 31) | function Sr(e){let t,n,r,o,a,s,i=JSON.stringify(e[1])+"";return{c(){t=M(... function Cr (line 31) | function Cr(e,t,n){let{name:r}=t,{value:l}=t;return e.$$set=(e=>{"name"i... class qr (line 31) | class qr extends Le{constructor(e){super(),Je(this,e,Cr,Sr,d,{name:0,val... method constructor (line 31) | constructor(e){super(),Je(this,e,Cr,Sr,d,{name:0,value:1},_r)} function Ir (line 31) | function Ir(e){z(e,"svelte-1yzq5o8",".gameinfo.svelte-1yzq5o8{padding:10... function Tr (line 31) | function Tr(e){let t,n;return t=new qr({props:{name:"isConnected",value:... function Mr (line 31) | function Mr(e){let t,n,r,l,o,a,s,i;n=new qr({props:{name:"matchID",value... function Dr (line 31) | function Dr(e,t,n){let r,o=l,a=()=>(o(),o=p(s,e=>n(1,r=e)),s);e.$$.on_de... class Nr (line 31) | class Nr extends Le{constructor(e){super(),Je(this,e,Dr,Mr,d,{client:0,c... method constructor (line 31) | constructor(e){super(),Je(this,e,Dr,Mr,d,{client:0,clientManager:2},Ir)} function Vr (line 31) | function Vr(e){z(e,"svelte-6eza86",".turn-marker.svelte-6eza86{display:f... function Br (line 31) | function Br(e){let t,n;return{c(){t=M("div"),n=N(e[0]),G(t,"class","turn... function Rr (line 31) | function Rr(e,t,n){let{turn:r}=t,{numEvents:l}=t;const o=`grid-row: span... class Kr (line 31) | class Kr extends Le{constructor(e){super(),Je(this,e,Rr,Br,d,{turn:0,num... method constructor (line 31) | constructor(e){super(),Je(this,e,Rr,Br,d,{turn:0,numEvents:2},Vr)} function Gr (line 31) | function Gr(e){z(e,"svelte-1t4xap",".phase-marker.svelte-1t4xap{grid-col... function Jr (line 31) | function Jr(e){let t,n,r=(e[0]||"")+"";return{c(){t=M("div"),n=N(r),G(t,... function Lr (line 31) | function Lr(e,t,n){let{phase:r}=t,{numEvents:l}=t;const o=`grid-row: spa... class Fr (line 31) | class Fr extends Le{constructor(e){super(),Je(this,e,Lr,Jr,d,{phase:0,nu... method constructor (line 31) | constructor(e){super(),Je(this,e,Lr,Jr,d,{phase:0,numEvents:2},Gr)} function Hr (line 31) | function Hr(e){let t;return{c(){(t=M("div")).textContent=`${e[0]}`},m(e,... function Zr (line 31) | function Zr(e,t,n){let{metadata:r}=t;const l=void 0!==r?JSON.stringify(r... class Ur (line 31) | class Ur extends Le{constructor(e){super(),Je(this,e,Zr,Hr,d,{metadata:1... method constructor (line 31) | constructor(e){super(),Je(this,e,Zr,Hr,d,{metadata:1})} function Xr (line 31) | function Xr(e){z(e,"svelte-vajd9z",".log-event.svelte-vajd9z{grid-column... function Yr (line 31) | function Yr(e){let t,n;return t=new Ur({props:{metadata:e[2]}}),{c(){Be(... function Wr (line 31) | function Wr(e){let t,n,r;var l=e[3];function o(e){return{props:{metadata... function Qr (line 31) | function Qr(e){let t,n,r,l,o,a,s,i,u,d,f,p,m;const g=[Wr,Yr],v=[];functi... function el (line 31) | function el(e,t,n){let{logIndex:r}=t,{action:l}=t,{pinned:o}=t,{metadata... class tl (line 31) | class tl extends Le{constructor(e){super(),Je(this,e,el,Qr,d,{logIndex:0... method constructor (line 31) | constructor(e){super(),Je(this,e,el,Qr,d,{logIndex:0,action:8,pinned:1... function nl (line 31) | function nl(e){let t;return{c(){G(t=D("path"),"d","M504 256c0 137-111 24... function rl (line 31) | function rl(e){let t,n;const r=[{viewBox:"0 0 512 512"},e[0]];let l={$$s... function ll (line 31) | function ll(e,t,n){return e.$$set=(e=>{n(0,t=a(a({},t),b(e)))}),[t=b(t)]} class ol (line 31) | class ol extends Le{constructor(e){super(),Je(this,e,ll,rl,d,{})}} method constructor (line 31) | constructor(e){super(),Je(this,e,ll,rl,d,{})} function al (line 31) | function al(e){z(e,"svelte-1a7time","div.svelte-1a7time{white-space:nowr... function sl (line 31) | function sl(e){let t,n;return{c(){t=M("div"),n=N(e[0]),G(t,"alt",e[0]),G... function il (line 31) | function il(e,t,n){let r,{action:l}=t;return e.$$set=(e=>{"action"in e&&... class cl (line 31) | class cl extends Le{constructor(e){super(),Je(this,e,il,sl,d,{action:1},... method constructor (line 31) | constructor(e){super(),Je(this,e,il,sl,d,{action:1},al)} function ul (line 31) | function ul(e){z(e,"svelte-ztcwsu","table.svelte-ztcwsu.svelte-ztcwsu{fo... function dl (line 31) | function dl(e,t,n){const r=e.slice();return r[10]=t[n],r[12]=n,r} function fl (line 31) | function fl(e){let t,n,r,l,o,a,s,i,u,d,f,p,m,g=e[10].value+"",v=e[10].vi... function pl (line 31) | function pl(e){let t,n,r,l,o,a=e[1],s=[];for(let c=0;c(a(),a=p(i,e=>r(10,o=e)),i);e.$$.on_d... class Dl (line 31) | class Dl extends Le{constructor(e){super(),Je(this,e,Ml,Tl,d,{client:0},... method constructor (line 31) | constructor(e){super(),Je(this,e,Ml,Tl,d,{client:0},El)} function Nl (line 31) | function Nl(e){z(e,"svelte-1fu900w","label.svelte-1fu900w{color:#666}.op... function Vl (line 31) | function Vl(e,t,n){const r=e.slice();return r[5]=t[n][0],r[6]=t[n][1],r[... function Bl (line 31) | function Bl(e){let t,n,r,l,o,a,s,i,u=e[1][e[5]]+"";function d(){e[3].cal... function Rl (line 31) | function Rl(e){let t,n,r;function l(){e[4].call(t,e[5])}return{c(){G(t=M... function Kl (line 31) | function Kl(e){let t,n,r,l,o,a,s=e[5]+"",i=e[6].range&&Bl(e),c="boolean"... function Gl (line 31) | function Gl(e){let t,n=Object.entries(e[0].opts()),r=[];for(let l=0;l(s(),s=p(c,e=>n(14,o=e)),c);e.$$.... class fo (line 31) | class fo extends Le{constructor(e){super(),Je(this,e,uo,co,d,{clientMana... method constructor (line 31) | constructor(e){super(),Je(this,e,uo,co,d,{clientManager:0},oo)} function e (line 33) | function e(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enume... method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function r (line 35) | function r(e){return e&&e.__esModule?e:{default:e}} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... function t (line 35) | function t(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){va... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function n (line 35) | function n(r){for(var n=1;n{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function r (line 37) | function r(e){return e&&e.__esModule?e:{default:e}} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... function t (line 37) | function t(e){return"Minified Redux error #"+e+"; visit https://redux.js... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function u (line 37) | function u(e){if("object"!=typeof e||null===e)return!1;for(var r=e;null!... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function f (line 37) | function f(e){var r=typeof e;return r} function c (line 37) | function c(e,r,o){var f;if("function"==typeof r&&"function"==typeof o||"... method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function a (line 37) | function a(e){"undefined"!=typeof console&&"function"==typeof console.er... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function p (line 37) | function p(e,r,t,n){var o=Object.keys(r),c=t&&t.type===i.INIT?"preloaded... method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function s (line 37) | function s(e){Object.keys(e).forEach(function(r){var n=e[r];if(void 0===... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function d (line 37) | function d(e){for(var r=Object.keys(e),n={},o=0;o{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r0} method updateTurnContext (line 13) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 13) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 13) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function r (line 39) | function r({game:r,numPlayers:u,setupData:s}){u||(u=2);let n={G:{},ctx:(... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... class e (line 41) | class e{constructor({store:e,gameName:t,playerID:s,matchID:a,credentials... method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... class h (line 43) | class h extends n.T{connect(){}disconnect(){}onAction(){}onChatMessage()... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} class u (line 43) | class u{constructor(){this.debugPanel=null,this.currentClient=null,this.... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function o (line 43) | function o(t,e,s){if(!s&&null==t){t=e.getState().ctx.currentPlayer}retur... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function g (line 43) | function g(t,e,s,r,a,n){const h={};for(const l of e)h[l]=((...e)=>{const... method constructor (line 148) | constructor({master:t,...e}){super(e),this.master=t,this.isConnected=!0} method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChatMe... method onUpdate (line 148) | async onUpdate(e,s,a){const i=this.store.getState();if(e==this.matchID... method onSync (line 148) | onSync(e,s){if(e==this.matchID){const e=(0,t.s)(s);this.store.dispatch... method onAction (line 148) | onAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.play... method connect (line 148) | connect(){this.master.connect(this.matchID,this.playerID,t=>{switch(t.... method disconnect (line 148) | disconnect(){} method subscribe (line 148) | subscribe(){} method subscribeMatchData (line 148) | subscribeMatchData(){} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.conne... method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} class m (line 43) | class m{constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g... method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function y (line 43) | function y(t){return new m(t)} class a (line 45) | class a extends Error{constructor(t,e){super(t),this.details=e}} method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} class i (line 45) | class i{constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")}as... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function t (line 49) | function t(t){return t.type()===e.SYNC} method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} class a (line 49) | class a{type(){return e.ASYNC}async createMatch(e,t){if(this.createGame)... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} class s (line 49) | class s{type(){return e.SYNC}connect(){}createMatch(e,t){if(this.createG... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... class d (line 51) | class d{constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this... method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... function t (line 53) | function t(r,e){var t=e.replace(/\/{2,9}/g,"/").split("/");return"/"!=e.... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function s (line 53) | function s(r,e){var t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,fu... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function t (line 55) | function t(t){if(!((t=String(t)).length>100)){var u=/^(-?(?:\d+)?\.?\d+)... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function u (line 55) | function u(n){var c=Math.abs(n);return c>=a?Math.round(n/a)+"d":c>=r?Mat... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function i (line 55) | function i(n){var c=Math.abs(n);return c>=a?o(n,c,a,"day"):c>=r?o(n,c,r,... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function o (line 55) | function o(s,e,r,a){var n=e>=1.5*r;return Math.round(s/r)+" "+a+(n?"s":"")} method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function e (line 57) | function e(e){function n(e){let r,s,o,a=null;function l(...e){if(!l.enab... method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function r (line 60) | function r(){throw new Error("setTimeout has not been defined")} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... function o (line 60) | function o(){throw new Error("clearTimeout has not been defined")} method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function i (line 60) | function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&s... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function u (line 60) | function u(t){if(e===clearTimeout)return clearTimeout(t);if((e===o||!e)&... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function f (line 60) | function f(){l&&c&&(l=!1,c.length?s=c.concat(s):a=-1,s.length&&h())} function h (line 60) | function h(){if(!l){var t=i(f);l=!0;for(var e=s.length;e;){for(c=s,s=[];... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} function m (line 60) | function m(t,e){this.fun=t,this.array=e} method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function p (line 60) | function p(){} method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function o (line 63) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function t (line 63) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function C (line 63) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 63) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... function n (line 63) | function n(){try{return localStorage}catch(e){}} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function r (line 65) | function r(r,e="",s){let p=r;s=s||"undefined"!=typeof location&&location... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... function t (line 83) | function t(t){if(t)return e(t)} method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function e (line 83) | function e(e){for(var s in t.prototype)e[s]=t.prototype[s];return e} method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function s (line 83) | function s(){this.off(t,s),e.apply(this,arguments)} method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function e (line 85) | function e(e){function n(e){let r,s,o,a=null;function l(...e){if(!l.enab... method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function o (line 88) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function t (line 88) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function C (line 88) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 88) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... function n (line 88) | function n(){try{return localStorage}catch(e){}} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class r (line 90) | class r extends t{constructor(e){super(),this.opts=e,this.query=e.query,... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... function a (line 94) | function a(r){var n="";do{n=e[r%t]+n,r=Math.floor(r/t)}while(r>0);return n} method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function c (line 94) | function c(r){var e=0;for(u=0;uthis.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function f (line 94) | function f(){var e=a(+new Date);return e!==r?(o=0,r=e):e+"."+a(o++)} class p (line 96) | class p extends t{get name(){return"polling"}doOpen(){this.poll()}pause(... method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function n (line 100) | function n(){} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class a (line 100) | class a extends e{constructor(t){if(super(t),"undefined"!=typeof locatio... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} class u (line 100) | class u extends s{constructor(t,e){super(),this.opts=e,this.method=e.met... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function d (line 100) | function d(){for(let t in u.requests)u.requests.hasOwnProperty(t)&&u.req... method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... class o (line 102) | class o extends e{constructor(e){super(e),this.query=this.query||{},s||(... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function h (line 106) | function h(r){var t=r.length;if(t%4>0)throw new Error("Invalid string. L... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} function u (line 106) | function u(r){var t=h(r),e=t[0],n=t[1];return 3*(e+n)/4-n} method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function c (line 106) | function c(r,t,e){return 3*(t+e)/4-e} method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function i (line 106) | function i(r){var n,o,a=h(r),u=a[0],i=a[1],f=new e(c(r,u,i)),A=0,d=i>0?u... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function f (line 106) | function f(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]} function A (line 106) | function A(r,t,e){for(var n,o=[],a=t;a{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function u (line 114) | function u(t,r){if(o()!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function f (line 114) | function f(t,r,e){if(!(f.TYPED_ARRAY_SUPPORT||this instanceof f))return ... function s (line 114) | function s(t,r,e,n){if("number"==typeof r)throw new TypeError('"value" a... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function h (line 114) | function h(t){if("number"!=typeof t)throw new TypeError('"size" argument... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} function a (line 114) | function a(t,r,e,n){return h(r),r<=0?u(t,r):void 0!==e?"string"==typeof ... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function c (line 114) | function c(t,r){if(h(r),t=u(t,r<0?0:0|w(r)),!f.TYPED_ARRAY_SUPPORT)for(v... method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function l (line 114) | function l(t,r,e){if("string"==typeof e&&""!==e||(e="utf8"),!f.isEncodin... method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function g (line 114) | function g(t,r,e,n){if(r.byteLength,e<0||r.byteLength{switch(t.... method disconnect (line 148) | disconnect(){} method subscribe (line 148) | subscribe(){} method subscribeMatchData (line 148) | subscribeMatchData(){} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.conne... method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function y (line 114) | function y(t,r){if(f.isBuffer(r)){var e=0|w(r.length);return 0===(t=u(t,... function w (line 114) | function w(t){if(t>=o())throw new RangeError("Attempt to allocate Buffer... method constructor (line 13) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 13) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 13) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 13) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 13) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 13) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function d (line 114) | function d(t){return+t!=t&&(t=0),f.alloc(+t)} method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... function v (line 114) | function v(t,r){if(f.isBuffer(t))return t.length;if("undefined"!=typeof ... function E (line 114) | function E(t,r,e){var n=!1;if((void 0===r||r<0)&&(r=0),r>this.length)ret... function b (line 114) | function b(t,r,e){var n=t[r];t[r]=t[e],t[e]=n} function R (line 114) | function R(t,r,e,n,i){if(0===t.length)return-1;if("string"==typeof e?(n=... function _ (line 114) | function _(t,r,e,n,i){var o,u=1,f=t.length,s=r.length;if(void 0!==n&&("u... function A (line 114) | function A(t,r,e,n){e=Number(e)||0;var i=t.length-e;n?(n=Number(n))>i&&(... method constructor (line 13) | constructor(e){const t=I();this.c=1,this.s0=t(" "),this.s1=t(" "),this... method next (line 13) | next(){const e=2091639*this.s0+2.3283064365386963e-10*this.c;return th... function m (line 114) | function m(t,r,e,n){return Q($(r,t.length-e),t,e,n)} method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function P (line 114) | function P(t,r,e,n){return Q(G(r),t,e,n)} function T (line 114) | function T(t,r,e,n){return P(t,r,e,n)} function B (line 114) | function B(t,r,e,n){return Q(K(r),t,e,n)} function U (line 114) | function U(t,r,e,n){return Q(H(r,t.length-e),t,e,n)} function S (line 114) | function S(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromBy... function Y (line 114) | function Y(t,r,e){e=Math.min(t.length,e);for(var n=[],i=r;in)&&(e=n);... function C (line 114) | function C(t,r,e){for(var n=t.slice(r,e),i="",o=0;ot.length)throw new RangeError("Index out ... function j (line 114) | function j(t,r,n,i,o){return o||F(t,r,n,4,3.4028234663852886e38,-3.40282... function q (line 114) | function q(t,r,n,i,o){return o||F(t,r,n,8,1.7976931348623157e308,-1.7976... function X (line 114) | function X(t){if((t=J(t).replace(V,"")).length<2)return"";for(;t.length%... function J (line 114) | function J(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")} function Z (line 114) | function Z(t){return t<16?"0"+t.toString(16):t.toString(16)} function $ (line 114) | function $(t,r){var e;r=r||1/0;for(var n=t.length,i=null,o=[],u=0;u=r.length||i>=t.length);++i)r... function W (line 114) | function W(t){return t!=t} class l (line 117) | class l extends t{constructor(e){super(e),this.supportsBinary=!e.forceBa... method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... class n (line 121) | class n extends e{constructor(t,e={}){super(),t&&"object"==typeof t&&(e=... method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function a (line 121) | function a(t){const e={};for(let s in t)t.hasOwnProperty(s)&&(e[s]=t[s])... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function f (line 125) | function f(r){return e&&(r instanceof ArrayBuffer||t(r))||o&&r instanceo... function i (line 125) | function i(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function e (line 127) | function e(t){const e=[],n=t.data,o=t;return o.data=r(n,e),o.attachments... method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function r (line 127) | function r(e,n){if(!e)return e;if(t.isBinary(e)){const t={_placeholder:!... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... function n (line 127) | function n(t,e){return t.data=o(t.data,e),t.attachments=void 0,t} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 127) | function o(t,e){if(!t)return t;if(t&&t._placeholder)return e[t.num];if(A... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function e (line 129) | function e(e){function n(e){let r,o=null;function s(...e){if(!s.enabled)... method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function o (line 132) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function t (line 132) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function C (line 132) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 132) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... function n (line 132) | function n(){try{return localStorage}catch(e){}} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class c (line 134) | class c{encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.t... method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} class o (line 134) | class o extends t{constructor(){super()}add(t){let e;if("string"==typeof... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function i (line 134) | function i(t){try{return JSON.parse(t)}catch(e){return!1}} method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... class a (line 134) | class a{constructor(t){this.packet=t,this.buffers=[],this.reconPack=t}ta... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function e (line 136) | function e(e,o,t){return e.on(o,t),function(){e.off(o,t)}} method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... class t (line 138) | class t extends e{on(e,t){return super.on(e,t),this}once(e,t){return sup... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} class c (line 140) | class c extends s.StrictEventEmitter{constructor(t,e,s){super(),this.rec... method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function t (line 142) | function t(t){t=t||{},this.ms=t.min||100,this.max=t.max||1e4,this.factor... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} class r (line 144) | class r extends s.StrictEventEmitter{constructor(e,t){super(),this.nsps=... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... function n (line 146) | function n(n,c){"object"==typeof n&&(c=n,n=void 0),c=c||{};const s=e.url... method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function r (line 148) | function r(t){return t&&t.__esModule?t:{default:t}} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... class n (line 148) | class n extends a.S{constructor(){super(),this.state=new Map,this.initia... method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class h (line 148) | class h extends Map{constructor(t){super(),this.key=t,(JSON.parse(localS... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} class o (line 148) | class o extends n{constructor(t="bgio"){super();const e=e=>new h(`${t}_$... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function u (line 148) | function u(t,e){return void 0===t?t:t.map(t=>{if(null!==e&&+e==+t.action... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function p (line 148) | function p(t,e){if(void 0!==t.ctx.gameover)return null;if(t.ctx.activePl... method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... class m (line 148) | class m extends i.M{constructor({game:t,bots:e,storageKey:s,persist:a}){... method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... class g (line 148) | class g extends s.T{constructor({master:t,...e}){super(e),this.master=t,... method constructor (line 148) | constructor({master:t,...e}){super(e),this.master=t,this.isConnected=!0} method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChatMe... method onUpdate (line 148) | async onUpdate(e,s,a){const i=this.store.getState();if(e==this.matchID... method onSync (line 148) | onSync(e,s){if(e==this.matchID){const e=(0,t.s)(s);this.store.dispatch... method onAction (line 148) | onAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.play... method connect (line 148) | connect(){this.master.connect(this.matchID,this.playerID,t=>{switch(t.... method disconnect (line 148) | disconnect(){} method subscribe (line 148) | subscribe(){} method subscribeMatchData (line 148) | subscribeMatchData(){} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.conne... method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function f (line 148) | function f({bots:t,persist:e,storageKey:s}={}){return a=>{const{gameKey:... class k (line 148) | class k extends s.T{constructor({socket:t,socketOpts:e,server:s,...a}={}... method constructor (line 148) | constructor({socket:t,socketOpts:e,server:s,...a}={}){super(a),this.se... method onAction (line 148) | onAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this.s... method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("ch... method connect (line 148) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 148) | disconnect(){this.socket.close(),this.socket=null,this.isConnected=!1,... method subscribe (line 148) | subscribe(t){this.callback=t} method subscribeMatchData (line 148) | subscribeMatchData(t){this.matchDataCallback=t} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method sync (line 148) | sync(){if(this.socket){const t=[this.matchID,this.playerID,this.creden... method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.sync()} method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function I (line 148) | function I({server:t,socketOpts:e}={}){return s=>new k({server:t,socketO... function e (line 152) | function e(e,r){e.deck--,e.hand[r.currentPlayer]++} method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function r (line 152) | function r(e,r){e.deck++,e.hand[r.currentPlayer]--} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... function s (line 154) | function s(e){return e&&e.__esModule?e:{default:e}} method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function l (line 154) | function l(t){(0,e.append_styles)(t,"svelte-shmgoi",".phase.svelte-shmgo... method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... function d (line 154) | function d(t){let a;function n(e,t){return e[0]?i:p}let s=n(t),l=s(t);re... method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... function o (line 154) | function o(s,l,i){let p,{playerID:d=null}=l;const o=(0,t.Client)({game:n... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... class r (line 154) | class r extends e.SvelteComponent{constructor(t){super(),(0,e.init)(this... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... function n (line 156) | function n(e){return e&&e.__esModule?e:{default:e}} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 156) | function o(t){(0,e.append_styles)(t,"svelte-1ohivkv","#board.svelte-1ohi... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function r (line 156) | function r(n){let o,r,a,i,s,l,p,c,u,d,m;return a=new t.default({}),l=new... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,o,d,e.safe_not_equal,{playerI... class a (line 156) | class a extends e.SvelteComponent{constructor(t){super(),(0,e.init)(this... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function t (line 158) | function t(e){return e&&e.__esModule?e:{default:e}} method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} FILE: docs/documentation/snippets/stages-1.1524ef02.js function f (line 1) | function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequi... function e (line 3) | function e(){} method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function o (line 3) | function o(t,e){for(const n in e)t[n]=e[n];return t} method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function r (line 3) | function r(t){return t&&"object"==typeof t&&"function"==typeof t.then} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function s (line 3) | function s(t,e,n,o,r){t.__svelte_meta={loc:{file:e,line:n,column:o,char:... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function i (line 3) | function i(t){return t()} method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function c (line 3) | function c(){return Object.create(null)} method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function l (line 3) | function l(t){t.forEach(i)} method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function a (line 3) | function a(t,e){return t!=t?e==e:t!==e||t&&"object"==typeof t||"function... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function d (line 3) | function d(t,e){return p||(p=document.createElement("a")),p.href=e,t===p... method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... function f (line 3) | function f(t,e){return t!=t?e==e:t!==e} function _ (line 3) | function _(t){return 0===Object.keys(t).length} function h (line 3) | function h(t,e){if(null!=t&&"function"!=typeof t.subscribe)throw new Err... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} function x (line 3) | function x(t,...n){if(null==t)return e;const o=t.subscribe(...n);return ... function m (line 3) | function m(t){let e;return x(t,t=>e=t)(),e} method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function g (line 3) | function g(t,e,n){t.$$.on_destroy.push(x(e,n))} method constructor (line 148) | constructor({master:t,...e}){super(e),this.master=t,this.isConnected=!0} method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChatMe... method onUpdate (line 148) | async onUpdate(e,s,a){const i=this.store.getState();if(e==this.matchID... method onSync (line 148) | onSync(e,s){if(e==this.matchID){const e=(0,t.s)(s);this.store.dispatch... method onAction (line 148) | onAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.play... method connect (line 148) | connect(){this.master.connect(this.matchID,this.playerID,t=>{switch(t.... method disconnect (line 148) | disconnect(){} method subscribe (line 148) | subscribe(){} method subscribeMatchData (line 148) | subscribeMatchData(){} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.conne... method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function y (line 3) | function y(t,e,n,o){if(t){const r=b(t,e,n,o);return t[0](r)}} function b (line 3) | function b(t,e,n,r){return t[1]&&r?o(n.ctx.slice(),t[1](r(e))):n.ctx} function $ (line 3) | function $(t,e,n,o){if(t[2]&&o){const r=t[2](o(n));if(void 0===e.dirty)r... function v (line 3) | function v(t,e,n,o,r,s){if(r){const i=b(e,n,o,s);t.p(i,r)}} function F (line 3) | function F(t,e,n,o,r,s,i){v(t,e,n,o,$(e,o,r,s),i)} function w (line 3) | function w(t){if(t.ctx.length>32){const e=[],n=t.ctx.length/32;for(let t... method constructor (line 13) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 13) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 13) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 13) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 13) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 13) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function k (line 3) | function k(t){const e={};for(const n in t)"$"!==n[0]&&(e[n]=t[n]);return e} method constructor (line 148) | constructor({socket:t,socketOpts:e,server:s,...a}={}){super(a),this.se... method onAction (line 148) | onAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this.s... method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("ch... method connect (line 148) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 148) | disconnect(){this.socket.close(),this.socket=null,this.isConnected=!1,... method subscribe (line 148) | subscribe(t){this.callback=t} method subscribeMatchData (line 148) | subscribeMatchData(t){this.matchDataCallback=t} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method sync (line 148) | sync(){if(this.socket){const t=[this.matchID,this.playerID,this.creden... method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.sync()} method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function E (line 3) | function E(t,e){const n={};e=new Set(e);for(const o in t)e.has(o)||"$"==... function S (line 3) | function S(t){const e={};for(const n in t)e[n]=!0;return e} function C (line 3) | function C(t){let e=!1;return function(...n){e||(e=!0,t.call(this,...n))}} function D (line 3) | function D(t){return null==t?"":t} function O (line 3) | function O(t,e,n){return t.set(n),e} function M (line 3) | function M(t){return t&&u(t.destroy)?t.destroy:e} function R (line 3) | function R(t){exports.now=j=t} function q (line 3) | function q(t){exports.raf=N=t} function L (line 3) | function L(t){H.forEach(e=>{e.c(t)||(H.delete(e),e.f())}),0!==H.size&&N(L)} method constructor (line 13) | constructor(e){this.state=e||{seed:"0"},this.used=!1} method seed (line 13) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 13) | isUsed(){return this.used} method getState (line 13) | getState(){return this.state} method _random (line 13) | _random(){this.used=!0;const e=this.state,t=D(e.prngstate?"":e.seed,e.... method api (line 13) | api(){const e=this._random.bind(this),t={D4:4,D6:6,D8:8,D10:10,D12:12,... function B (line 3) | function B(){H.clear()} function P (line 3) | function P(t){let e;return 0===H.size&&N(L),{promise:new Promise(n=>{H.a... function W (line 3) | function W(){z=!0} function G (line 3) | function G(){z=!1} function U (line 3) | function U(t,e,n,o){for(;t>1);n(r)<=o?t=r+1:e=r}retu... function Y (line 3) | function Y(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNo... function J (line 3) | function J(t,e){t.appendChild(e)} function K (line 3) | function K(t,e,n){const o=Q(t);if(!o.getElementById(e)){const t=rt("styl... function Q (line 3) | function Q(t){if(!t)return document;const e=t.getRootNode?t.getRootNode(... function V (line 3) | function V(t){const e=rt("style");return X(Q(t),e),e} function X (line 3) | function X(t,e){J(t.head||t,e)} function Z (line 3) | function Z(t,e){if(z){for(Y(t),(void 0===t.actual_end_child||null!==t.ac... function tt (line 3) | function tt(t,e,n){t.insertBefore(e,n||null)} function et (line 3) | function et(t,e,n){z&&!n?Z(t,e):e.parentNode===t&&e.nextSibling==n||t.in... function nt (line 3) | function nt(t){t.parentNode.removeChild(t)} method constructor (line 31) | constructor(e){super(),Je(this,e,tt,et,d,{title:0,viewBox:1},We)} function ot (line 3) | function ot(t,e){for(let n=0;nt.removeEventL... function dt (line 3) | function dt(t){return function(e){return e.preventDefault(),t.call(this,... function ft (line 3) | function ft(t){return function(e){return e.stopPropagation(),t.call(this... method constructor (line 31) | constructor(e){super(),Je(this,e,dt,ut,d,{pane:0,panes:1},st)} function _t (line 3) | function _t(t){return function(e){e.target===this&&t.call(this,e)}} function ht (line 3) | function ht(t){return function(e){e.isTrusted&&t.call(this,e)}} function xt (line 3) | function xt(t,e,n){null==n?t.removeAttribute(e):t.getAttribute(e)!==n&&t... function mt (line 3) | function mt(t,e){const n=Object.getOwnPropertyDescriptors(t.__proto__);f... function gt (line 3) | function gt(t,e){for(const n in e)xt(t,n,e[n])} function yt (line 3) | function yt(t,e,n){e in t?t[e]="boolean"==typeof t[e]&&""===n||n:xt(t,e,n)} function bt (line 3) | function bt(t,e,n){t.setAttributeNS("http://www.w3.org/1999/xlink",e,n)} function $t (line 3) | function $t(t,e,n){const o=new Set;for(let r=0;r{for(let o=t.claim_info.las... function St (line 3) | function St(t,e,n,o){return Et(t,t=>t.nodeName===e,t=>{const e=[];for(le... function Ct (line 3) | function Ct(t,e){return Et(t,t=>3===t.nodeType,t=>{const n=""+e;if(t.dat... function Dt (line 3) | function Dt(t){return Ct(t," ")} function Ot (line 3) | function Ot(t,e,n){for(let o=n;ot.__v... method constructor (line 31) | constructor(e,t){this.key=e,this.value=t} function Bt (line 3) | function Bt(){if(void 0===I){I=!1;try{"undefined"!=typeof window&&window... function Pt (line 3) | function Pt(t,e){"static"===getComputedStyle(t).position&&(t.style.posit... function It (line 3) | function It(t,e,n){t.classList[n?"add":"remove"](e)} function zt (line 3) | function zt(t,e,n=!1){const o=document.createEvent("CustomEvent");return... function Wt (line 3) | function Wt(t,e=document.body){return Array.from(e.querySelectorAll(t))} class Gt (line 3) | class Gt{constructor(){this.e=this.n=null}c(t){this.h(t)}m(t,e,n=null){t... method constructor (line 3) | constructor(){this.e=this.n=null} method c (line 3) | c(t){this.h(t)} method m (line 3) | m(t,e,n=null){this.e||(this.e=rt(e.nodeName),this.t=e,this.c(t)),this.... method h (line 3) | h(t){this.e.innerHTML=t,this.n=Array.from(this.e.childNodes)} method i (line 3) | i(t){for(let e=0;e{e[t.slot||"def... method constructor (line 31) | constructor(e){super(),Je(this,e,Gt,Bt,d,{key:0,value:5,isParentExpand... function Xt (line 3) | function Xt(t){let e=5381,n=t.length;for(;n--;)e=(e<<5)-e^t.charCodeAt(n... method constructor (line 31) | constructor(e){super(),Je(this,e,Ut,Ft,d,{key:0,value:5,isParentExpand... function Zt (line 3) | function Zt(t,e,n,o,r,s,i,c=0){const l=16.666/o;let u="{\n";for(let x=0;... function te (line 3) | function te(t,e){const n=(t.style.animation||"").split(", "),o=n.filter(... function ee (line 3) | function ee(){N(()=>{Vt||(Kt.forEach(t=>{const e=t.__svelte_stylesheet;l... function ne (line 3) | function ne(t,o,r,s){if(!o)return e;const i=t.getBoundingClientRect();if... function oe (line 3) | function oe(t){const e=getComputedStyle(t);if("absolute"!==e.position&&"... function re (line 3) | function re(t,e){const n=t.getBoundingClientRect();if(e.left!==n.left||e... function se (line 3) | function se(t){exports.current_component=Qt=t} function ie (line 3) | function ie(){if(!Qt)throw new Error("Function called outside component ... function ce (line 3) | function ce(t){ie().$$.before_update.push(t)} function le (line 3) | function le(t){ie().$$.on_mount.push(t)} function ue (line 3) | function ue(t){ie().$$.after_update.push(t)} function ae (line 3) | function ae(t){ie().$$.on_destroy.push(t)} function pe (line 3) | function pe(){const t=ie();return(e,n)=>{const o=t.$$.callbacks[e];if(o)... function de (line 3) | function de(t,e){ie().$$.context.set(t,e)} function fe (line 3) | function fe(t){return ie().$$.context.get(t)} function _e (line 3) | function _e(){return ie().$$.context} function he (line 3) | function he(t){return ie().$$.context.has(t)} function xe (line 3) | function xe(t,e){const n=t.$$.callbacks[e.type];n&&n.slice().forEach(t=>... function we (line 3) | function we(){Fe||(Fe=!0,ve.then(Oe))} function ke (line 3) | function ke(){return we(),ve} function Ee (line 3) | function Ee(t){be.push(t)} function Se (line 3) | function Se(t){$e.push(t)} function Oe (line 3) | function Oe(){if(!Ce){Ce=!0;do{for(let t=0;t{Me=null}),Me} function je (line 3) | function je(t,e,n){t.dispatchEvent(zt(`${e?"intro":"outro"}${n}`))} function qe (line 3) | function qe(){Re={r:0,c:[],p:Re}} function He (line 3) | function He(){Re.r||l(Re.c),Re=Re.p} function Le (line 3) | function Le(t,e){t&&t.i&&(Ne.delete(t),t.i(e))} method $destroy (line 31) | $destroy(){Ke(this,1),this.$destroy=l} method $on (line 31) | $on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);retur... method $set (line 31) | $set(e){this.$$set&&!f(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$... function Be (line 3) | function Be(t,e,n,o){if(t&&t.o){if(Ne.has(t))return;Ne.add(t),Re.c.push(... function Ie (line 3) | function Ie(t,o,r){let s,i,c=o(t,r),l=!1,a=0;function p(){s&&te(t,s)}fun... function ze (line 3) | function ze(t,o,r){let s,i=o(t,r),c=!0;const a=Re;function p(){const{del... function We (line 3) | function We(t,o,r,s){let i=o(t,r),c=s?0:1,a=null,p=null,d=null;function ... function Ge (line 3) | function Ge(t,e){const n=e.token={};function o(t,o,r,s){if(e.token!==n)r... function Ue (line 3) | function Ue(t,e,n){const o=e.slice(),{resolved:r}=t;t.current===t.then&&... function Je (line 3) | function Je(t,e){t.d(1),e.delete(t.key)} function Ke (line 3) | function Ke(t,e){Be(t,1,1,()=>{e.delete(t.key)})} function Qe (line 3) | function Qe(t,e){t.f(),Je(t,e)} function Ve (line 3) | function Ve(t,e){t.f(),Ke(t,e)} function Xe (line 3) | function Xe(t,e,n,o,r,s,i,c,l,u,a,p){let d=t.length,f=s.length,_=d;const... function Ze (line 3) | function Ze(t,e,n,o){const r=new Set;for(let s=0;s]/g,t=>sn[t])} function ln (line 3) | function ln(t){return"string"==typeof t?cn(t):t} function un (line 3) | function un(t){const e={};for(const n in t)e[n]=ln(t[n]);return e} function an (line 3) | function an(t,e){let n="";for(let o=0;o{console.warn("Componen... method $capture_state (line 3) | $capture_state(){} method $inject_state (line 3) | $inject_state(){} method constructor (line 31) | constructor(e){super(),Je(this,e,An,En,d,{clientManager:0},wn)} class Wn (line 3) | class Wn extends zn{constructor(t){super(t)}} method constructor (line 3) | constructor(t){super(t)} function Gn (line 3) | function Gn(t){const e=Date.now();return()=>{if(Date.now()-e>t)throw new... function e (line 9) | function e(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function n (line 9) | function n(r){return t(r)||e(23,r),r[Q].t} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 9) | function o(e,t,r){void 0===r&&(r=!1),0===i(e)?(r?Object.keys:ee)(e).forE... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function i (line 9) | function i(e){var t=e[Q];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:s(e... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function a (line 9) | function a(e,t){return 2===i(e)?e.has(t):Object.prototype.hasOwnProperty... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function u (line 9) | function u(e,t){return 2===i(e)?e.get(t):e[t]} method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function c (line 9) | function c(e,t,r){var n=i(e);2===n?e.set(t,r):3===n?(e.delete(t),e.add(r... method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function f (line 9) | function f(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t} function s (line 9) | function s(e){return X&&e instanceof Map} method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function l (line 9) | function l(e){return q&&e instanceof Set} method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,d,c,e.safe_not_equal,{playerI... function h (line 9) | function h(e){if(Array.isArray(e))return Array.prototype.slice.call(e);v... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} function v (line 9) | function v(e,n){return void 0===n&&(n=!1),y(e)||t(e)||!r(e)?e:(i(e)>1&&(... function d (line 9) | function d(){e(2)} method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... function y (line 9) | function y(e){return null==e||"object"!=typeof e||Object.isFrozen(e)} function b (line 9) | function b(t){var r=re[t];return r||e(18,t),r} function g (line 9) | function g(e,t){re[e]||(re[e]=t)} method constructor (line 148) | constructor({master:t,...e}){super(e),this.master=t,this.isConnected=!0} method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChatMe... method onUpdate (line 148) | async onUpdate(e,s,a){const i=this.store.getState();if(e==this.matchID... method onSync (line 148) | onSync(e,s){if(e==this.matchID){const e=(0,t.s)(s);this.store.dispatch... method onAction (line 148) | onAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.play... method connect (line 148) | connect(){this.master.connect(this.matchID,this.playerID,t=>{switch(t.... method disconnect (line 148) | disconnect(){} method subscribe (line 148) | subscribe(){} method subscribeMatchData (line 148) | subscribeMatchData(){} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.conne... method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function m (line 9) | function m(){return J} method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function P (line 9) | function P(e,t){t&&(b("Patches"),e.u=[],e.s=[],e.v=t)} function O (line 9) | function O(e){x(e),e.p.forEach(j),e.p=null} function x (line 9) | function x(e){e===J&&(J=e.l)} function w (line 9) | function w(e){return J={p:[],l:J,h:e,m:!0,_:0}} method constructor (line 13) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 13) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 13) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 13) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 13) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 13) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function j (line 9) | function j(e){var t=e[Q];0===t.i||1===t.i?t.j():t.O=!0} function A (line 9) | function A(t,n){n._=n.p.length;var o=n.p[0],i=void 0!==t&&t!==o;return n... method constructor (line 13) | constructor(e){const t=I();this.c=1,this.s0=t(" "),this.s1=t(" "),this... method next (line 13) | next(){const e=2091639*this.s0+2.3283064365386963e-10*this.c;return th... function D (line 9) | function D(e,t,r){if(y(t))return t;var n=t[Q];if(!n)return o(t,function(... function S (line 9) | function S(e,n,o,i,u,f){if(t(u)){var s=D(e,u,f&&n&&3!==n.i&&!a(n.D,i)?f.... function _ (line 9) | function _(e,t,r){void 0===r&&(r=!1),e.h.F&&e.m&&v(t,r)} function k (line 9) | function k(e,t){var r=e[Q];return(r?p(r):e)[t]} method constructor (line 148) | constructor({socket:t,socketOpts:e,server:s,...a}={}){super(a),this.se... method onAction (line 148) | onAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this.s... method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("ch... method connect (line 148) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 148) | disconnect(){this.socket.close(),this.socket=null,this.isConnected=!1,... method subscribe (line 148) | subscribe(t){this.callback=t} method subscribeMatchData (line 148) | subscribeMatchData(t){this.matchDataCallback=t} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method sync (line 148) | sync(){if(this.socket){const t=[this.matchID,this.playerID,this.creden... method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.sync()} method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function I (line 9) | function I(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var n=O... function z (line 9) | function z(e){e.P||(e.P=!0,e.l&&z(e.l))} function E (line 9) | function E(e){e.o||(e.o=h(e.t))} function M (line 9) | function M(e,t,r){var n=s(t)?b("MapSet").N(t,r):l(t)?b("MapSet").T(t,r):... function F (line 9) | function F(n){return t(n)||e(22,n),function e(t){if(!r(t))return t;var n... function R (line 9) | function R(e,t){switch(t){case 2:return new Map(e);case 3:return Array.f... function C (line 9) | function C(){function e(e,t){var r=u[e];return r?r.enumerable=t:u[e]=r={... function T (line 9) | function T(){function n(e){if(!r(e))return e;if(Array.isArray(e))return ... function K (line 9) | function K(){function t(e,t){function r(){this.constructor=e}u(e,t),e.pr... function U (line 9) | function U(){C(),K(),T()} function W (line 9) | function W(e){return e} function N (line 9) | function N(e){return e} function n (line 9) | function n(t){var n=this;this.g=B,this.F=!0,this.produce=function(t,o,i)... method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function n (line 11) | function n(t){var n=!1;if(null!=t&&"function"!=typeof t.toString)try{n=!... method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function r (line 11) | function r(t,n){return function(r){return t(n(r))}} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function a (line 11) | function a(t){return!!t&&"object"==typeof t} method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function p (line 11) | function p(r){if(!a(r)||i.call(r)!=t||n(r))return!1;var o=l(r);if(null==... method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,d,c,e.safe_not_equal,{playerI... function r (line 13) | function r(e){return e&&e.__esModule?e:{default:e}} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... class A (line 13) | class A{constructor(e){const t=I();this.c=1,this.s0=t(" "),this.s1=t(" "... method constructor (line 13) | constructor(e){const t=I();this.c=1,this.s0=t(" "),this.s1=t(" "),this... method next (line 13) | next(){const e=2091639*this.s0+2.3283064365386963e-10*this.c;return th... function I (line 13) | function I(){let e=4022871197;return function(t){const r=t.toString();fo... function S (line 13) | function S(e,t){return t.c=e.c,t.s0=e.s0,t.s1=e.s1,t.s2=e.s2,t} function D (line 13) | function D(e,t){const r=new A(e),s=r.next.bind(r);return t&&S(t,r),s.sta... class L (line 13) | class L{constructor(e){this.state=e||{seed:"0"},this.used=!1}static seed... method constructor (line 13) | constructor(e){this.state=e||{seed:"0"},this.used=!1} method seed (line 13) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 13) | isUsed(){return this.used} method getState (line 13) | getState(){return this.state} method _random (line 13) | _random(){this.used=!0;const e=this.state,t=D(e.prngstate?"":e.seed,e.... method api (line 13) | api(){const e=this._random.bind(this),t={D4:4,D6:6,D8:8,D10:10,D12:12,... class w (line 13) | class w{constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],... method constructor (line 13) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 13) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 13) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 13) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 13) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 13) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function C (line 13) | function C(e){if(null==e||"boolean"==typeof e||"number"==typeof e||"stri... function V (line 13) | function V(e){H(`INFO: ${e}`)} function $ (line 13) | function $(e){j("ERROR:",e)} function se (line 13) | function se(e,t){let r={},s=[],n=null,a={};if(Array.isArray(t)){const e=... function ne (line 13) | function ne(e){let{activePlayers:t,_activePlayersMoveLimit:r,_activePlay... function ae (line 13) | function ae(e,t,r,s){"object"==typeof s&&s!==ce.NULL||(s={stage:s}),void... function oe (line 13) | function oe(e,t){return e[t]+""} function ie (line 13) | function ie(e,t){let{G:r,ctx:s}=e;const{numPlayers:n}=s,a=K(e),o=t.order... function le (line 13) | function le(e,t,r,s){const n=r.order;let{G:a,ctx:o}=e,i=o.playOrderPos,l... function t (line 15) | function t(t){return t.replace(/~1/g,"/").replace(/~0/g,"~")} method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function e (line 15) | function e(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")} method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function n (line 15) | function n(t){void 0===t&&(t=[""]),this.tokens=t} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function r (line 17) | function r(r){return void 0===r?"undefined":null===r?"null":Array.isArra... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function e (line 17) | function e(r){return null!=r&&"object"==typeof r} method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function t (line 17) | function t(r){if(!e(r))return r;if(r.constructor==Array){for(var o=r.len... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function t (line 19) | function t(r){var e=r.op;return"remove"===e||"replace"===e||"copy"===e||... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function o (line 19) | function o(r,t){var o={};for(var n in r)e.hasOwnProperty.call(r,n)&&void... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function n (line 19) | function n(r){for(var t=r.length,o={},n=0;n{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function i (line 19) | function i(r){return"add"===r.op} method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function a (line 19) | function a(r){return"remove"===r.op} method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function p (line 19) | function p(r,e){return{operations:r.operations.concat(e),cost:r.cost+1}} method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,d,c,e.safe_not_equal,{playerI... function c (line 19) | function c(e,t,o,n){void 0===n&&(n=s);var c={"0,0":{operations:[],cost:0... method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function u (line 19) | function u(r,e,t,i){void 0===i&&(i=s);var a=[];return o(r,e).forEach(fun... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function s (line 19) | function s(r,t,o,n){if(void 0===n&&(n=s),r===t)return[];var i=e.objectTy... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function n (line 21) | function n(){this.constructor=e} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function t (line 21) | function t(r){var t=e.call(this,"Value required at path: "+r)||this;retu... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function t (line 21) | function t(r,t){var n=e.call(this,"Test failed: "+r+" != "+t)||this;retu... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function i (line 21) | function i(r,e,t){if(Array.isArray(r))if("-"==e)r.push(t);else{var n=par... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function u (line 21) | function u(r,e){if(Array.isArray(r)){var t=parseInt(e,10);r.splice(t,1)}... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function p (line 21) | function p(r,n){var a=e.Pointer.fromJSON(n.path).evaluate(r);return void... method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,d,c,e.safe_not_equal,{playerI... function l (line 21) | function l(r,t){var n=e.Pointer.fromJSON(t.path).evaluate(r);return void... method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;rthis.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function f (line 21) | function f(r,t){var o=e.Pointer.fromJSON(t.path).evaluate(r);return n.di... function t (line 21) | function t(r){var t=e.call(this,"Invalid operation: "+r.op)||this;return... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function y (line 21) | function y(r,e){switch(e.op){case"add":return p(r,e);case"remove":return... function n (line 23) | function n(r,t){return t.map(function(t){return e.apply(r,t)})} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function a (line 23) | function a(r){return function e(n,a,i){var o=r(n,a,i);return Array.isArr... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function i (line 23) | function i(e,n,i){var o=new r.Pointer;return(i?a(i):t.diffAny)(e,n,o)} method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function o (line 23) | function o(e,t){var n=r.Pointer.fromJSON(t).evaluate(e);if(void 0!==n)re... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function u (line 23) | function u(r,e){var n=new Array;return e.filter(t.isDestructive).forEach... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function r (line 25) | function r({moves:e,phases:t,endIf:a,onEnd:r,turn:o,events:i,plugins:s})... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function o (line 25) | function o(e){return void 0!==e.processMove} method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function i (line 25) | function i(e){if(o(e))return e;if(void 0===e.name&&(e.name="default"),vo... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function s (line 25) | function s(e){return e instanceof Object&&void 0!==e.move} method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function l (line 25) | function l(e,t){if(t.game.disableUndo)return e;const n={G:e.G,ctx:e.ctx,... method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,d,c,e.safe_not_equal,{playerI... function v (line 25) | function v(e){if(!e)return[null,void 0];const{transients:t,...n}=e;retur... function f (line 25) | function f(e,t,n){return{...e,transients:{error:{type:t,payload:n}}}} function m (line 25) | function m({game:r,isClient:o}){return r=i(r),(i=null,s)=>{let[y]=v(i);s... method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function x (line 27) | function x(t,e){if(y)return y=!y,e;const s=r.call(this,t,e);switch(typeo... class a (line 29) | class a{constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} class r (line 29) | class r extends a{constructor({enumerate:t,seed:a,objectives:s,game:r,it... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... class i (line 29) | class i extends a{play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);retu... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function n (line 29) | async function n(t,e){const a=t.store.getState();let s=a.ctx.currentPlay... method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 29) | async function o({game:t,bots:s,state:r,depth:i}){void 0===i&&(i=1e4);co... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function l (line 31) | function l(){} method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function s (line 31) | function s(e){return e()} method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function i (line 31) | function i(){return Object.create(null)} method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function c (line 31) | function c(e){e.forEach(s)} method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function u (line 31) | function u(e){return"function"==typeof e} method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function d (line 31) | function d(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function... method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... function f (line 31) | function f(e){return 0===Object.keys(e).length} function p (line 31) | function p(e,...t){if(null==e)return l;const n=e.subscribe(...t);return ... method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,d,c,e.safe_not_equal,{playerI... function m (line 31) | function m(e,t,n){e.$$.on_destroy.push(p(t,n))} method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function g (line 31) | function g(e,t,n,r){if(e){const l=v(e,t,n,r);return e[0](l)}} method constructor (line 148) | constructor({master:t,...e}){super(e),this.master=t,this.isConnected=!0} method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChatMe... method onUpdate (line 148) | async onUpdate(e,s,a){const i=this.store.getState();if(e==this.matchID... method onSync (line 148) | onSync(e,s){if(e==this.matchID){const e=(0,t.s)(s);this.store.dispatch... method onAction (line 148) | onAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.play... method connect (line 148) | connect(){this.master.connect(this.matchID,this.playerID,t=>{switch(t.... method disconnect (line 148) | disconnect(){} method subscribe (line 148) | subscribe(){} method subscribeMatchData (line 148) | subscribeMatchData(){} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.conne... method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function v (line 31) | function v(e,t,n,r){return e[1]&&r?a(n.ctx.slice(),e[1](r(t))):n.ctx} function $ (line 31) | function $(e,t,n,r){if(e[2]&&r){const l=e[2](r(n));if(void 0===t.dirty)r... function y (line 31) | function y(e,t,n,r,l,o){if(l){const a=v(t,n,r,o);e.p(a,l)}} function h (line 31) | function h(e){if(e.ctx.length>32){const t=[],n=e.ctx.length/32;for(let e... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} function b (line 31) | function b(e){const t={};for(const n in e)"$"!==n[0]&&(t[n]=e[n]);return t} function x (line 31) | function x(e){return null==e?"":e} function E (line 31) | function E(e){j.forEach(t=>{t.c(e)||(j.delete(t),t.f())}),0!==j.size&&P(E)} function O (line 31) | function O(e){let t;return 0===j.size&&P(E),{promise:new Promise(n=>{j.a... function A (line 31) | function A(e,t){e.appendChild(t)} method constructor (line 13) | constructor(e){const t=I();this.c=1,this.s0=t(" "),this.s1=t(" "),this... method next (line 13) | next(){const e=2091639*this.s0+2.3283064365386963e-10*this.c;return th... function z (line 31) | function z(e,t,n){const r=_(e);if(!r.getElementById(t)){const e=M("style... function _ (line 31) | function _(e){if(!e)return document;const t=e.getRootNode?e.getRootNode(... function S (line 31) | function S(e){const t=M("style");return C(_(e),t),t} function C (line 31) | function C(e,t){A(e.head||e,t)} function q (line 31) | function q(e,t,n){e.insertBefore(t,n||null)} function I (line 31) | function I(e){e.parentNode.removeChild(e)} function T (line 31) | function T(e,t){for(let n=0;ne.removeEventLi... function K (line 31) | function K(e){return function(t){return t.stopPropagation(),e.call(this,... function G (line 31) | function G(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.... function J (line 31) | function J(e){return""===e?null:+e} function L (line 31) | function L(e){return Array.from(e.childNodes)} method constructor (line 13) | constructor(e){this.state=e||{seed:"0"},this.used=!1} method seed (line 13) | static seed(){return Date.now().toString(36).slice(-10)} method isUsed (line 13) | isUsed(){return this.used} method getState (line 13) | getState(){return this.state} method _random (line 13) | _random(){this.used=!0;const e=this.state,t=D(e.prngstate?"":e.seed,e.... method api (line 13) | api(){const e=this._random.bind(this),t={D4:4,D6:6,D8:8,D10:10,D12:12,... function F (line 31) | function F(e,t){t=""+t,e.wholeText!==t&&(e.data=t)} function H (line 31) | function H(e,t){e.value=null==t?"":t} function Z (line 31) | function Z(e,t){for(let n=0;n{ee||(W.forEach(e=>{const t=e.__svelte_stylesheet;le... function oe (line 31) | function oe(e){Q=e} function ae (line 31) | function ae(){if(!Q)throw new Error("Function called outside component i... function se (line 31) | function se(e){ae().$$.after_update.push(e)} function ie (line 31) | function ie(e){ae().$$.on_destroy.push(e)} function ce (line 31) | function ce(){const e=ae();return(t,n)=>{const r=e.$$.callbacks[t];if(r)... function ue (line 31) | function ue(e,t){ae().$$.context.set(e,t)} function de (line 31) | function de(e){return ae().$$.context.get(e)} function fe (line 31) | function fe(e,t){const n=e.$$.callbacks[t.type];n&&n.slice().forEach(e=>... function he (line 31) | function he(){ye||(ye=!0,$e.then(ke))} function be (line 31) | function be(e){ge.push(e)} function ke (line 31) | function ke(){if(!xe){xe=!0;do{for(let e=0;e{je=null}),je} function Oe (line 31) | function Oe(e,t,n){e.dispatchEvent(Y(`${t?"intro":"outro"}${n}`))} function _e (line 31) | function _e(){ze={r:0,c:[],p:ze}} function Se (line 31) | function Se(){ze.r||c(ze.c),ze=ze.p} function Ce (line 31) | function Ce(e,t){e&&e.i&&(Ae.delete(e),e.i(t))} function qe (line 31) | function qe(e,t,n,r){if(e&&e.o){if(Ae.has(e))return;Ae.add(e),ze.c.push(... function Te (line 31) | function Te(e,t,n){let r,a,s=t(e,n),i=!1,c=0;function d(){r&&re(e,r)}fun... function Me (line 31) | function Me(e,t,n){let r,a=t(e,n),s=!0;const i=ze;function d(){const{del... function De (line 31) | function De(e,t,n,r){let a=t(e,n),s=r?0:1,i=null,d=null,f=null;function ... function Ne (line 31) | function Ne(e,t){const n={},r={},l={$$scope:1};let o=e.length;for(;o--;)... function Ve (line 31) | function Ve(e){return"object"==typeof e&&null!==e?e:{}} function Be (line 31) | function Be(e){e&&e.c()} function Re (line 31) | function Re(e,t,n,r){const{fragment:l,on_mount:o,on_destroy:a,after_upda... function Ke (line 31) | function Ke(e,t){const n=e.$$;null!==n.fragment&&(c(n.on_destroy),n.frag... function Ge (line 31) | function Ge(e,t){-1===e.$$.dirty[0]&&(pe.push(e),he(),e.$$.dirty.fill(0)... function Je (line 31) | function Je(e,t,n,r,o,a,s,u=[-1]){const d=Q;oe(e);const f=e.$$={fragment... class Le (line 31) | class Le{$destroy(){Ke(this,1),this.$destroy=l}$on(e,t){const n=this.$$.... method $destroy (line 31) | $destroy(){Ke(this,1),this.$destroy=l} method $on (line 31) | $on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);retur... method $set (line 31) | $set(e){this.$$set&&!f(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$... function He (line 31) | function He(e,t=l){let n;const r=new Set;function o(t){if(d(e,t)&&(e=t,n... function Ze (line 31) | function Ze(e){const t=e-1;return t*t*t+1} function Ue (line 31) | function Ue(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty... function Xe (line 31) | function Xe(e,{delay:t=0,duration:n=400,easing:r=Ze,x:l=0,y:o=0,opacity:... function Ye (line 31) | function Ye(e){var{fallback:t}=e,n=Ue(e,["fallback"]);const r=new Map,l=... function We (line 31) | function We(e){z(e,"svelte-c8tyih","svg.svelte-c8tyih{stroke:currentColo... function Qe (line 31) | function Qe(e){let t,n;return{c(){t=D("title"),n=N(e[0])},m(e,r){q(e,t,r... function et (line 31) | function et(e){let t,n,r,l=e[0]&&Qe(e);const o=e[3].default,a=g(o,e,e[2]... function tt (line 31) | function tt(e,t,n){let{$$slots:r={},$$scope:l}=t,{title:o=null}=t,{viewB... class nt (line 31) | class nt extends Le{constructor(e){super(),Je(this,e,tt,et,d,{title:0,vi... method constructor (line 31) | constructor(e){super(),Je(this,e,tt,et,d,{title:0,viewBox:1},We)} function rt (line 31) | function rt(e){let t;return{c(){G(t=D("path"),"d","M285.476 272.971L91.1... function lt (line 31) | function lt(e){let t,n;const r=[{viewBox:"0 0 320 512"},e[0]];let l={$$s... function ot (line 31) | function ot(e,t,n){return e.$$set=(e=>{n(0,t=a(a({},t),b(e)))}),[t=b(t)]} class at (line 31) | class at extends Le{constructor(e){super(),Je(this,e,ot,lt,d,{})}} method constructor (line 31) | constructor(e){super(),Je(this,e,ot,lt,d,{})} function st (line 31) | function st(e){z(e,"svelte-1scv1e1",".menu.svelte-1scv1e1{display:flex;f... function it (line 31) | function it(e,t,n){const r=e.slice();return r[4]=t[n][0],r[5]=t[n][1].la... function ct (line 31) | function ct(e){let t,n,r,l,o,a=e[5]+"";function s(){return e[3](e[4])}re... function ut (line 31) | function ut(e){let t,n=Object.entries(e[1]),r=[];for(let l=0;l{"expanded"in e&... class $t (line 31) | class $t extends Le{constructor(e){super(),Je(this,e,vt,gt,d,{expanded:0... method constructor (line 31) | constructor(e){super(),Je(this,e,vt,gt,d,{expanded:0},mt)} function yt (line 31) | function yt(e){z(e,"svelte-1vlbacg","label.svelte-1vlbacg{display:inline... function ht (line 31) | function ht(e){let t,n,r,l,o,a;return{c(){t=M("label"),n=M("span"),r=N(e... function bt (line 31) | function bt(e){let t,n=e[3]&&e[0]&&ht(e);return{c(){n&&n.c(),t=B()},m(e,... function xt (line 31) | function xt(e,t,n){let r,{key:l,isParentExpanded:o,isParentArray:a=!1,co... class wt (line 31) | class wt extends Le{constructor(e){super(),Je(this,e,xt,bt,d,{key:0,isPa... method constructor (line 31) | constructor(e){super(),Je(this,e,xt,bt,d,{key:0,isParentExpanded:1,isP... function kt (line 31) | function kt(e){z(e,"svelte-rwxv37","label.svelte-rwxv37{display:inline-b... function Pt (line 31) | function Pt(e,t,n){const r=e.slice();return r[12]=t[n],r[20]=n,r} function jt (line 31) | function jt(e){let t,n;return(t=new $t({props:{expanded:e[0]}})).$on("cl... function Et (line 31) | function Et(e){let t;return{c(){(t=M("span")).textContent="…"},m(e,n){q(... function Ot (line 31) | function Ot(e){let t,n,r,l,o,a=e[13],s=[];for(let u=0;u... class xn (line 31) | class xn extends Le{constructor(e){super(),Je(this,e,bn,hn,d,{key:0,valu... method constructor (line 31) | constructor(e){super(),Je(this,e,bn,hn,d,{key:0,value:1},yn)} function wn (line 31) | function wn(e){z(e,"svelte-jvfq3i",".svelte-jvfq3i{box-sizing:border-box... function kn (line 31) | function kn(e,t,n){const r=e.slice();return r[7]=t[n],r[9]=n,r} function Pn (line 31) | function Pn(e){let t,n,r,l,o,a,s=e[1],i=[];for(let c=0;c1&&Pn(e);return{c(){n&&n.c(),t=B()},m... method $destroy (line 3) | $destroy(){Fn(this,1),this.$destroy=e} method $on (line 3) | $on(t,e){const n=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);retur... method $set (line 3) | $set(t){this.$$set&&!_(t)&&(this.$$.skip_bound=!0,this.$$set(t),this.$... function An (line 31) | function An(e,t,n){let r,o,a,s,i=l,c=()=>(i(),i=p(u,e=>n(5,s=e)),u);e.$$... class zn (line 31) | class zn extends Le{constructor(e){super(),Je(this,e,An,En,d,{clientMana... method constructor (line 3) | constructor(t){if(!t||!t.target&&!t.$$inline)throw new Error("'target'... method $destroy (line 3) | $destroy(){super.$destroy(),this.$destroy=(()=>{console.warn("Componen... method $capture_state (line 3) | $capture_state(){} method $inject_state (line 3) | $inject_state(){} method constructor (line 31) | constructor(e){super(),Je(this,e,An,En,d,{clientManager:0},wn)} function _n (line 31) | function _n(e){z(e,"svelte-1vfj1mn",".key.svelte-1vfj1mn.svelte-1vfj1mn{... function Sn (line 31) | function Sn(e){let t,n,r,l,o,a=`(shortcut: ${e[0]})`+"";return{c(){t=M("... function Cn (line 31) | function Cn(e){let t,n,r,o,a,s,i=e[1]&&Sn(e);return{c(){t=M("div"),n=M("... function qn (line 31) | function qn(e,t,n){let r,{value:l}=t,{onPress:o=null}=t,{label:a=null}=t... class In (line 31) | class In extends Le{constructor(e){super(),Je(this,e,qn,Cn,d,{value:0,on... method constructor (line 31) | constructor(e){super(),Je(this,e,qn,Cn,d,{value:0,onPress:8,label:1,di... function Tn (line 31) | function Tn(e){z(e,"svelte-1mppqmp",".move.svelte-1mppqmp{display:flex;f... function Mn (line 31) | function Mn(e){let t,n,r,o,a,s,i,d,f,p,m;return{c(){t=M("div"),n=M("span... function Nn (line 31) | function Nn(e,t,n){let r,{Activate:l}=t,{Deactivate:o}=t,{name:a}=t,{act... class Vn (line 31) | class Vn extends Le{constructor(e){super(),Je(this,e,Nn,Mn,d,{Activate:0... method constructor (line 31) | constructor(e){super(),Je(this,e,Nn,Mn,d,{Activate:0,Deactivate:1,name... function Bn (line 31) | function Bn(e){z(e,"svelte-smqssc",".move-error.svelte-smqssc{color:#a00... function Rn (line 31) | function Rn(e){let t,n;return{c(){t=M("span"),n=N(e[2]),G(t,"class","mov... function Kn (line 31) | function Kn(e){let t,n,r,l,o,a,s;r=new In({props:{value:e[0],onPress:e[4... function Gn (line 31) | function Gn(t,n,r){let{shortcut:l}=n,{name:o}=n,{fn:a}=n;const{disableHo... class Jn (line 31) | class Jn extends Le{constructor(e){super(),Je(this,e,Gn,Kn,d,{shortcut:0... method constructor (line 31) | constructor(e){super(),Je(this,e,Gn,Kn,d,{shortcut:0,name:1,fn:8},Bn)} function Ln (line 31) | function Ln(e){z(e,"svelte-c3lavh","ul.svelte-c3lavh{padding-left:0}li.s... function Fn (line 31) | function Fn(e){let t,n,r,l,o,a,s,i,c,u,d,f,p;return r=new In({props:{val... function Hn (line 31) | function Hn(t,r,l){let{client:o}=r,{ToggleVisibility:a}=r;return t.$$set... class Zn (line 31) | class Zn extends Le{constructor(e){super(),Je(this,e,Hn,Fn,d,{client:0,T... method constructor (line 31) | constructor(e){super(),Je(this,e,Hn,Fn,d,{client:0,ToggleVisibility:1}... function Un (line 31) | function Un(e){z(e,"svelte-19aan9p",".player-box.svelte-19aan9p{display:... function Xn (line 31) | function Xn(e,t,n){const r=e.slice();return r[7]=t[n],r} function Yn (line 31) | function Yn(e){let t,n,r,l,o,a,s=e[7]+"";function i(){return e[5](e[7])}... function Wn (line 31) | function Wn(e){let t,n=e[2],r=[];for(let l=0;le.length)&&(t=e.length);for(var n=0,r=new A... function yr (line 31) | function yr(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e... function hr (line 31) | function hr(e,t){var n,r={},l={},o=yr(t);try{for(o.s();!(n=o.n()).done;)... function br (line 31) | function br(e){z(e,"svelte-146sq5f",".tree.svelte-146sq5f{--json-tree-fo... function xr (line 31) | function xr(e,t,n){const r=e.slice();return r[10]=t[n][0],r[11]=t[n][1],r} function wr (line 31) | function wr(e){let t,n,r,l;return n=new Jn({props:{shortcut:e[8][e[10]],... function kr (line 31) | function kr(e){let t,n,r;return n=new Jn({props:{name:"endStage",shortcu... function Pr (line 31) | function Pr(e){let t,n,r;return n=new Jn({props:{name:"endTurn",shortcut... function jr (line 31) | function jr(e){let t,n,r;return n=new Jn({props:{name:"endPhase",shortcu... function Er (line 31) | function Er(e){let t,n,r,l,o,a,s,i,c,u,d,f,p,m,g,v,$,y,h,b,x,w,k,P,j,E,O... function Or (line 31) | function Or(e){let t={};for(const n in e)n.startsWith("_")||(t[n]=e[n]);... function Ar (line 31) | function Ar(e,t,n){let{client:r}=t,{clientManager:l}=t,{ToggleVisibility... class zr (line 31) | class zr extends Le{constructor(e){super(),Je(this,e,Ar,Er,d,{client:0,c... method constructor (line 31) | constructor(e){super(),Je(this,e,Ar,Er,d,{client:0,clientManager:1,Tog... function _r (line 31) | function _r(e){z(e,"svelte-13qih23",".item.svelte-13qih23.svelte-13qih23... function Sr (line 31) | function Sr(e){let t,n,r,o,a,s,i=JSON.stringify(e[1])+"";return{c(){t=M(... function Cr (line 31) | function Cr(e,t,n){let{name:r}=t,{value:l}=t;return e.$$set=(e=>{"name"i... class qr (line 31) | class qr extends Le{constructor(e){super(),Je(this,e,Cr,Sr,d,{name:0,val... method constructor (line 31) | constructor(e){super(),Je(this,e,Cr,Sr,d,{name:0,value:1},_r)} function Ir (line 31) | function Ir(e){z(e,"svelte-1yzq5o8",".gameinfo.svelte-1yzq5o8{padding:10... function Tr (line 31) | function Tr(e){let t,n;return t=new qr({props:{name:"isConnected",value:... function Mr (line 31) | function Mr(e){let t,n,r,l,o,a,s,i;n=new qr({props:{name:"matchID",value... function Dr (line 31) | function Dr(e,t,n){let r,o=l,a=()=>(o(),o=p(s,e=>n(1,r=e)),s);e.$$.on_de... class Nr (line 31) | class Nr extends Le{constructor(e){super(),Je(this,e,Dr,Mr,d,{client:0,c... method constructor (line 31) | constructor(e){super(),Je(this,e,Dr,Mr,d,{client:0,clientManager:2},Ir)} function Vr (line 31) | function Vr(e){z(e,"svelte-6eza86",".turn-marker.svelte-6eza86{display:f... function Br (line 31) | function Br(e){let t,n;return{c(){t=M("div"),n=N(e[0]),G(t,"class","turn... function Rr (line 31) | function Rr(e,t,n){let{turn:r}=t,{numEvents:l}=t;const o=`grid-row: span... class Kr (line 31) | class Kr extends Le{constructor(e){super(),Je(this,e,Rr,Br,d,{turn:0,num... method constructor (line 31) | constructor(e){super(),Je(this,e,Rr,Br,d,{turn:0,numEvents:2},Vr)} function Gr (line 31) | function Gr(e){z(e,"svelte-1t4xap",".phase-marker.svelte-1t4xap{grid-col... function Jr (line 31) | function Jr(e){let t,n,r=(e[0]||"")+"";return{c(){t=M("div"),n=N(r),G(t,... function Lr (line 31) | function Lr(e,t,n){let{phase:r}=t,{numEvents:l}=t;const o=`grid-row: spa... class Fr (line 31) | class Fr extends Le{constructor(e){super(),Je(this,e,Lr,Jr,d,{phase:0,nu... method constructor (line 31) | constructor(e){super(),Je(this,e,Lr,Jr,d,{phase:0,numEvents:2},Gr)} function Hr (line 31) | function Hr(e){let t;return{c(){(t=M("div")).textContent=`${e[0]}`},m(e,... function Zr (line 31) | function Zr(e,t,n){let{metadata:r}=t;const l=void 0!==r?JSON.stringify(r... class Ur (line 31) | class Ur extends Le{constructor(e){super(),Je(this,e,Zr,Hr,d,{metadata:1... method constructor (line 31) | constructor(e){super(),Je(this,e,Zr,Hr,d,{metadata:1})} function Xr (line 31) | function Xr(e){z(e,"svelte-vajd9z",".log-event.svelte-vajd9z{grid-column... function Yr (line 31) | function Yr(e){let t,n;return t=new Ur({props:{metadata:e[2]}}),{c(){Be(... function Wr (line 31) | function Wr(e){let t,n,r;var l=e[3];function o(e){return{props:{metadata... function Qr (line 31) | function Qr(e){let t,n,r,l,o,a,s,i,u,d,f,p,m;const g=[Wr,Yr],v=[];functi... function el (line 31) | function el(e,t,n){let{logIndex:r}=t,{action:l}=t,{pinned:o}=t,{metadata... class tl (line 31) | class tl extends Le{constructor(e){super(),Je(this,e,el,Qr,d,{logIndex:0... method constructor (line 31) | constructor(e){super(),Je(this,e,el,Qr,d,{logIndex:0,action:8,pinned:1... function nl (line 31) | function nl(e){let t;return{c(){G(t=D("path"),"d","M504 256c0 137-111 24... function rl (line 31) | function rl(e){let t,n;const r=[{viewBox:"0 0 512 512"},e[0]];let l={$$s... function ll (line 31) | function ll(e,t,n){return e.$$set=(e=>{n(0,t=a(a({},t),b(e)))}),[t=b(t)]} class ol (line 31) | class ol extends Le{constructor(e){super(),Je(this,e,ll,rl,d,{})}} method constructor (line 31) | constructor(e){super(),Je(this,e,ll,rl,d,{})} function al (line 31) | function al(e){z(e,"svelte-1a7time","div.svelte-1a7time{white-space:nowr... function sl (line 31) | function sl(e){let t,n;return{c(){t=M("div"),n=N(e[0]),G(t,"alt",e[0]),G... function il (line 31) | function il(e,t,n){let r,{action:l}=t;return e.$$set=(e=>{"action"in e&&... class cl (line 31) | class cl extends Le{constructor(e){super(),Je(this,e,il,sl,d,{action:1},... method constructor (line 31) | constructor(e){super(),Je(this,e,il,sl,d,{action:1},al)} function ul (line 31) | function ul(e){z(e,"svelte-ztcwsu","table.svelte-ztcwsu.svelte-ztcwsu{fo... function dl (line 31) | function dl(e,t,n){const r=e.slice();return r[10]=t[n],r[12]=n,r} function fl (line 31) | function fl(e){let t,n,r,l,o,a,s,i,u,d,f,p,m,g=e[10].value+"",v=e[10].vi... function pl (line 31) | function pl(e){let t,n,r,l,o,a=e[1],s=[];for(let c=0;c(a(),a=p(i,e=>r(10,o=e)),i);e.$$.on_d... class Dl (line 31) | class Dl extends Le{constructor(e){super(),Je(this,e,Ml,Tl,d,{client:0},... method constructor (line 31) | constructor(e){super(),Je(this,e,Ml,Tl,d,{client:0},El)} function Nl (line 31) | function Nl(e){z(e,"svelte-1fu900w","label.svelte-1fu900w{color:#666}.op... function Vl (line 31) | function Vl(e,t,n){const r=e.slice();return r[5]=t[n][0],r[6]=t[n][1],r[... function Bl (line 31) | function Bl(e){let t,n,r,l,o,a,s,i,u=e[1][e[5]]+"";function d(){e[3].cal... function Rl (line 31) | function Rl(e){let t,n,r;function l(){e[4].call(t,e[5])}return{c(){G(t=M... function Kl (line 31) | function Kl(e){let t,n,r,l,o,a,s=e[5]+"",i=e[6].range&&Bl(e),c="boolean"... function Gl (line 31) | function Gl(e){let t,n=Object.entries(e[0].opts()),r=[];for(let l=0;l(s(),s=p(c,e=>n(14,o=e)),c);e.$$.... class fo (line 31) | class fo extends Le{constructor(e){super(),Je(this,e,uo,co,d,{clientMana... method constructor (line 31) | constructor(e){super(),Je(this,e,uo,co,d,{clientManager:0},oo)} function e (line 33) | function e(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enume... method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function r (line 35) | function r(e){return e&&e.__esModule?e:{default:e}} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function t (line 35) | function t(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){va... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function n (line 35) | function n(r){for(var n=1;n{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function r (line 37) | function r(e){return e&&e.__esModule?e:{default:e}} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function t (line 37) | function t(e){return"Minified Redux error #"+e+"; visit https://redux.js... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function u (line 37) | function u(e){if("object"!=typeof e||null===e)return!1;for(var r=e;null!... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function f (line 37) | function f(e){var r=typeof e;return r} function c (line 37) | function c(e,r,o){var f;if("function"==typeof r&&"function"==typeof o||"... method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function a (line 37) | function a(e){"undefined"!=typeof console&&"function"==typeof console.er... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function p (line 37) | function p(e,r,t,n){var o=Object.keys(r),c=t&&t.type===i.INIT?"preloaded... method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,d,c,e.safe_not_equal,{playerI... function s (line 37) | function s(e){Object.keys(e).forEach(function(r){var n=e[r];if(void 0===... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function d (line 37) | function d(e){for(var r=Object.keys(e),n={},o=0;o{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r0} method updateTurnContext (line 13) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 13) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 13) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function r (line 39) | function r({game:r,numPlayers:u,setupData:s}){u||(u=2);let n={G:{},ctx:(... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... class e (line 41) | class e{constructor({store:e,gameName:t,playerID:s,matchID:a,credentials... method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... class h (line 43) | class h extends n.T{connect(){}disconnect(){}onAction(){}onChatMessage()... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} class u (line 43) | class u{constructor(){this.debugPanel=null,this.currentClient=null,this.... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function o (line 43) | function o(t,e,s){if(!s&&null==t){t=e.getState().ctx.currentPlayer}retur... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function g (line 43) | function g(t,e,s,r,a,n){const h={};for(const l of e)h[l]=((...e)=>{const... method constructor (line 148) | constructor({master:t,...e}){super(e),this.master=t,this.isConnected=!0} method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChatMe... method onUpdate (line 148) | async onUpdate(e,s,a){const i=this.store.getState();if(e==this.matchID... method onSync (line 148) | onSync(e,s){if(e==this.matchID){const e=(0,t.s)(s);this.store.dispatch... method onAction (line 148) | onAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.play... method connect (line 148) | connect(){this.master.connect(this.matchID,this.playerID,t=>{switch(t.... method disconnect (line 148) | disconnect(){} method subscribe (line 148) | subscribe(){} method subscribeMatchData (line 148) | subscribeMatchData(){} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.conne... method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} class m (line 43) | class m{constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g... method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function y (line 43) | function y(t){return new m(t)} class a (line 45) | class a extends Error{constructor(t,e){super(t),this.details=e}} method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} class i (line 45) | class i{constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")}as... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function t (line 49) | function t(t){return t.type()===e.SYNC} method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} class a (line 49) | class a{type(){return e.ASYNC}async createMatch(e,t){if(this.createGame)... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} class s (line 49) | class s{type(){return e.SYNC}connect(){}createMatch(e,t){if(this.createG... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... class d (line 51) | class d{constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this... method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... function t (line 53) | function t(r,e){var t=e.replace(/\/{2,9}/g,"/").split("/");return"/"!=e.... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function s (line 53) | function s(r,e){var t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,fu... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function t (line 55) | function t(t){if(!((t=String(t)).length>100)){var u=/^(-?(?:\d+)?\.?\d+)... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function u (line 55) | function u(n){var c=Math.abs(n);return c>=a?Math.round(n/a)+"d":c>=r?Mat... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function i (line 55) | function i(n){var c=Math.abs(n);return c>=a?o(n,c,a,"day"):c>=r?o(n,c,r,... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function o (line 55) | function o(s,e,r,a){var n=e>=1.5*r;return Math.round(s/r)+" "+a+(n?"s":"")} method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function e (line 57) | function e(e){function n(e){let r,s,o,a=null;function l(...e){if(!l.enab... method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function r (line 60) | function r(){throw new Error("setTimeout has not been defined")} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function o (line 60) | function o(){throw new Error("clearTimeout has not been defined")} method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function i (line 60) | function i(e){if(t===setTimeout)return setTimeout(e,0);if((t===r||!t)&&s... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function u (line 60) | function u(t){if(e===clearTimeout)return clearTimeout(t);if((e===o||!e)&... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function f (line 60) | function f(){l&&c&&(l=!1,c.length?s=c.concat(s):a=-1,s.length&&h())} function h (line 60) | function h(){if(!l){var t=i(f);l=!0;for(var e=s.length;e;){for(c=s,s=[];... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} function m (line 60) | function m(t,e){this.fun=t,this.array=e} method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function p (line 60) | function p(){} method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,d,c,e.safe_not_equal,{playerI... function o (line 63) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function t (line 63) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function C (line 63) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 63) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function n (line 63) | function n(){try{return localStorage}catch(e){}} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function r (line 65) | function r(r,e="",s){let p=r;s=s||"undefined"!=typeof location&&location... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function t (line 83) | function t(t){if(t)return e(t)} method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function e (line 83) | function e(e){for(var s in t.prototype)e[s]=t.prototype[s];return e} method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function s (line 83) | function s(){this.off(t,s),e.apply(this,arguments)} method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function e (line 85) | function e(e){function n(e){let r,s,o,a=null;function l(...e){if(!l.enab... method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function o (line 88) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function t (line 88) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function C (line 88) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 88) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function n (line 88) | function n(){try{return localStorage}catch(e){}} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class r (line 90) | class r extends t{constructor(e){super(),this.opts=e,this.query=e.query,... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function a (line 94) | function a(r){var n="";do{n=e[r%t]+n,r=Math.floor(r/t)}while(r>0);return n} method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function c (line 94) | function c(r){var e=0;for(u=0;uthis.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function f (line 94) | function f(){var e=a(+new Date);return e!==r?(o=0,r=e):e+"."+a(o++)} class p (line 96) | class p extends t{get name(){return"polling"}doOpen(){this.poll()}pause(... method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,d,c,e.safe_not_equal,{playerI... function n (line 100) | function n(){} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class a (line 100) | class a extends e{constructor(t){if(super(t),"undefined"!=typeof locatio... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} class u (line 100) | class u extends s{constructor(t,e){super(),this.opts=e,this.method=e.met... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function d (line 100) | function d(){for(let t in u.requests)u.requests.hasOwnProperty(t)&&u.req... method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... class o (line 102) | class o extends e{constructor(e){super(e),this.query=this.query||{},s||(... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function h (line 106) | function h(r){var t=r.length;if(t%4>0)throw new Error("Invalid string. L... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} function u (line 106) | function u(r){var t=h(r),e=t[0],n=t[1];return 3*(e+n)/4-n} method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function c (line 106) | function c(r,t,e){return 3*(t+e)/4-e} method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function i (line 106) | function i(r){var n,o,a=h(r),u=a[0],i=a[1],f=new e(c(r,u,i)),A=0,d=i>0?u... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function f (line 106) | function f(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]} function A (line 106) | function A(r,t,e){for(var n,o=[],a=t;a{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function u (line 114) | function u(t,r){if(o()!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function f (line 114) | function f(t,r,e){if(!(f.TYPED_ARRAY_SUPPORT||this instanceof f))return ... function s (line 114) | function s(t,r,e,n){if("number"==typeof r)throw new TypeError('"value" a... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function h (line 114) | function h(t){if("number"!=typeof t)throw new TypeError('"size" argument... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} function a (line 114) | function a(t,r,e,n){return h(r),r<=0?u(t,r):void 0!==e?"string"==typeof ... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function c (line 114) | function c(t,r){if(h(r),t=u(t,r<0?0:0|w(r)),!f.TYPED_ARRAY_SUPPORT)for(v... method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function l (line 114) | function l(t,r,e){if("string"==typeof e&&""!==e||(e="utf8"),!f.isEncodin... method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,d,c,e.safe_not_equal,{playerI... function g (line 114) | function g(t,r,e,n){if(r.byteLength,e<0||r.byteLength{switch(t.... method disconnect (line 148) | disconnect(){} method subscribe (line 148) | subscribe(){} method subscribeMatchData (line 148) | subscribeMatchData(){} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.conne... method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function y (line 114) | function y(t,r){if(f.isBuffer(r)){var e=0|w(r.length);return 0===(t=u(t,... function w (line 114) | function w(t){if(t>=o())throw new RangeError("Attempt to allocate Buffer... method constructor (line 13) | constructor(e,t,r){this.flow=e,this.playerID=r,this.dispatch=[],this.i... method api (line 13) | api(){const e={_private:this};for(const t of this.flow.eventNames)e[t]... method isUsed (line 13) | isUsed(){return this.dispatch.length>0} method updateTurnContext (line 13) | updateTurnContext(e,t){this.currentPhase=e.phase,this.currentTurn=e.tu... method unsetCurrentMethod (line 13) | unsetCurrentMethod(){this.currentMethod=void 0} method update (line 13) | update(e){const t=e,r=({stack:e},r)=>({...t,plugins:{...t.plugins,even... function d (line 114) | function d(t){return+t!=t&&(t=0),f.alloc(+t)} method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... function v (line 114) | function v(t,r){if(f.isBuffer(t))return t.length;if("undefined"!=typeof ... function E (line 114) | function E(t,r,e){var n=!1;if((void 0===r||r<0)&&(r=0),r>this.length)ret... function b (line 114) | function b(t,r,e){var n=t[r];t[r]=t[e],t[e]=n} function R (line 114) | function R(t,r,e,n,i){if(0===t.length)return-1;if("string"==typeof e?(n=... function _ (line 114) | function _(t,r,e,n,i){var o,u=1,f=t.length,s=r.length;if(void 0!==n&&("u... function A (line 114) | function A(t,r,e,n){e=Number(e)||0;var i=t.length-e;n?(n=Number(n))>i&&(... method constructor (line 13) | constructor(e){const t=I();this.c=1,this.s0=t(" "),this.s1=t(" "),this... method next (line 13) | next(){const e=2091639*this.s0+2.3283064365386963e-10*this.c;return th... function m (line 114) | function m(t,r,e,n){return Q($(r,t.length-e),t,e,n)} method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... function P (line 114) | function P(t,r,e,n){return Q(G(r),t,e,n)} function T (line 114) | function T(t,r,e,n){return P(t,r,e,n)} function B (line 114) | function B(t,r,e,n){return Q(K(r),t,e,n)} function U (line 114) | function U(t,r,e,n){return Q(H(r,t.length-e),t,e,n)} function S (line 114) | function S(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromBy... function Y (line 114) | function Y(t,r,e){e=Math.min(t.length,e);for(var n=[],i=r;in)&&(e=n);... function C (line 114) | function C(t,r,e){for(var n=t.slice(r,e),i="",o=0;ot.length)throw new RangeError("Index out ... function j (line 114) | function j(t,r,n,i,o){return o||F(t,r,n,4,3.4028234663852886e38,-3.40282... function q (line 114) | function q(t,r,n,i,o){return o||F(t,r,n,8,1.7976931348623157e308,-1.7976... function X (line 114) | function X(t){if((t=J(t).replace(V,"")).length<2)return"";for(;t.length%... function J (line 114) | function J(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")} function Z (line 114) | function Z(t){return t<16?"0"+t.toString(16):t.toString(16)} function $ (line 114) | function $(t,r){var e;r=r||1/0;for(var n=t.length,i=null,o=[],u=0;u=r.length||i>=t.length);++i)r... function W (line 114) | function W(t){return t!=t} class l (line 117) | class l extends t{constructor(e){super(e),this.supportsBinary=!e.forceBa... method constructor (line 117) | constructor(e){super(e),this.supportsBinary=!e.forceBase64} method name (line 117) | get name(){return"websocket"} method doOpen (line 117) | doOpen(){if(!this.check())return;const e=this.uri(),t=this.opts.protoc... method addEventListeners (line 117) | addEventListeners(){this.ws.onopen=(()=>{this.opts.autoUnref&&this.ws.... method write (line 117) | write(t){this.writable=!1;for(let r=0;r0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... class n (line 121) | class n extends e{constructor(t,e={}){super(),t&&"object"==typeof t&&(e=... method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function a (line 121) | function a(t){const e={};for(let s in t)t.hasOwnProperty(s)&&(e[s]=t[s])... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function f (line 125) | function f(r){return e&&(r instanceof ArrayBuffer||t(r))||o&&r instanceo... function i (line 125) | function i(e,t){if(!e||"object"!=typeof e)return!1;if(Array.isArray(e)){... method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function e (line 127) | function e(t){const e=[],n=t.data,o=t;return o.data=r(n,e),o.attachments... method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function r (line 127) | function r(e,n){if(!e)return e;if(t.isBinary(e)){const t={_placeholder:!... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function n (line 127) | function n(t,e){return t.data=o(t.data,e),t.attachments=void 0,t} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 127) | function o(t,e){if(!t)return t;if(t&&t._placeholder)return e[t.num];if(A... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function e (line 129) | function e(e){function n(e){let r,o=null;function s(...e){if(!s.enabled)... method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function o (line 132) | function o(){return!("undefined"==typeof window||!window.process||"rende... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function t (line 132) | function t(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useC... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function C (line 132) | function C(e){try{e?exports.storage.setItem("debug",e):exports.storage.r... function r (line 132) | function r(){let o;try{o=exports.storage.getItem("debug")}catch(t){}retu... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function n (line 132) | function n(){try{return localStorage}catch(e){}} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class c (line 134) | class c{encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.t... method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} class o (line 134) | class o extends t{constructor(){super()}add(t){let e;if("string"==typeof... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function i (line 134) | function i(t){try{return JSON.parse(t)}catch(e){return!1}} method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... class a (line 134) | class a{constructor(t){this.packet=t,this.buffers=[],this.reconPack=t}ta... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function e (line 136) | function e(e,o,t){return e.on(o,t),function(){e.off(o,t)}} method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... class t (line 138) | class t extends e{on(e,t){return super.on(e,t),this}once(e,t){return sup... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} class c (line 140) | class c extends s.StrictEventEmitter{constructor(t,e,s){super(),this.rec... method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function t (line 142) | function t(t){t=t||{},this.ms=t.min||100,this.max=t.max||1e4,this.factor... method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} class r (line 144) | class r extends s.StrictEventEmitter{constructor(e,t){super(),this.nsps=... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function n (line 146) | function n(n,c){"object"==typeof n&&(c=n,n=void 0),c=c||{};const s=e.url... method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function r (line 148) | function r(t){return t&&t.__esModule?t:{default:t}} method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... class n (line 148) | class n extends a.S{constructor(){super(),this.state=new Map,this.initia... method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... class h (line 148) | class h extends Map{constructor(t){super(),this.key=t,(JSON.parse(localS... method connect (line 43) | connect(){} method disconnect (line 43) | disconnect(){} method onAction (line 43) | onAction(){} method onChatMessage (line 43) | onChatMessage(){} method subscribe (line 43) | subscribe(){} method subscribeChatMessage (line 43) | subscribeChatMessage(){} method subscribeMatchData (line 43) | subscribeMatchData(){} method updateCredentials (line 43) | updateCredentials(){} method updateMatchID (line 43) | updateMatchID(){} method updatePlayerID (line 43) | updatePlayerID(){} method constructor (line 148) | constructor(t){super(),this.key=t,(JSON.parse(localStorage.getItem(thi... method sync (line 148) | sync(){const t=[...this.entries()];localStorage.setItem(this.key,JSON.... method set (line 148) | set(t,e){return super.set(t,e),this.sync(),this} method delete (line 148) | delete(t){const e=super.delete(t);return this.sync(),e} class o (line 148) | class o extends n{constructor(t="bgio"){super();const e=e=>new h(`${t}_$... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function u (line 148) | function u(t,e){return void 0===t?t:t.map(t=>{if(null!==e&&+e==+t.action... method constructor (line 43) | constructor(){this.debugPanel=null,this.currentClient=null,this.client... method register (line 43) | register(t){this.clients.set(t,t),this.mountDebug(t),this.notifySubscr... method unregister (line 43) | unregister(t){if(this.clients.delete(t),this.currentClient===t){this.u... method subscribe (line 43) | subscribe(t){const e=Symbol();return this.subscribers.set(e,t),t(this.... method switchPlayerID (line 43) | switchPlayerID(t){if(this.currentClient.multiplayer)for(const[e]of thi... method switchToClient (line 43) | switchToClient(t){t!==this.currentClient&&(this.unmountDebug(),this.mo... method notifySubscribers (line 43) | notifySubscribers(){const t=this.getState();this.subscribers.forEach(e... method getState (line 43) | getState(){return{client:this.currentClient,debuggableClients:this.get... method getDebuggableClients (line 43) | getDebuggableClients(){return[...this.clients.values()].filter(t=>!1!=... method mountDebug (line 43) | mountDebug(t){if(!1===t.debugOpt||null!==this.debugPanel||"undefined"=... method unmountDebug (line 43) | unmountDebug(){this.debugPanel.$destroy(),this.debugPanel=null,this.cu... method constructor (line 100) | constructor(t,e){super(),this.opts=e,this.method=e.method||"GET",this.... method create (line 100) | create(){const e=o(this.opts,"agent","enablesXDR","pfx","key","passphr... method onSuccess (line 100) | onSuccess(){this.emit("success"),this.cleanup()} method onData (line 100) | onData(t){this.emit("data",t),this.onSuccess()} method onError (line 100) | onError(t){this.emit("error",t),this.cleanup(!0)} method cleanup (line 100) | cleanup(t){if(void 0!==this.xhr&&null!==this.xhr){if(this.hasXDR()?thi... method onLoad (line 100) | onLoad(){const t=this.xhr.responseText;null!==t&&this.onData(t)} method hasXDR (line 100) | hasXDR(){return"undefined"!=typeof XDomainRequest&&!this.xs&&this.enab... method abort (line 100) | abort(){this.cleanup()} function p (line 148) | function p(t,e){if(void 0!==t.ctx.gameover)return null;if(t.ctx.activePl... method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,d,c,e.safe_not_equal,{playerI... class m (line 148) | class m extends i.M{constructor({game:t,bots:e,storageKey:s,persist:a}){... method constructor (line 43) | constructor({game:e,debug:n,numPlayers:h,multiplayer:u,matchID:g,playe... method notifySubscribers (line 43) | notifySubscribers(){Object.values(this.subscribers).forEach(t=>t(this.... method overrideGameState (line 43) | overrideGameState(t){this.gameStateOverride=t,this.notifySubscribers()} method start (line 43) | start(){this.transport.connect(),this._running=!0,this.manager.registe... method stop (line 43) | stop(){this.transport.disconnect(),this._running=!1,this.manager.unreg... method subscribe (line 43) | subscribe(t){const e=Object.keys(this.subscribers).length;return this.... method getInitialState (line 43) | getInitialState(){return this.initialState} method getState (line 43) | getState(){let t=this.store.getState();if(null!==this.gameStateOverrid... method createDispatchers (line 43) | createDispatchers(){this.moves=b(this.game.moveNames,this.store,this.p... method updatePlayerID (line 43) | updatePlayerID(t){this.playerID=t,this.createDispatchers(),this.transp... method updateMatchID (line 43) | updateMatchID(t){this.matchID=t,this.createDispatchers(),this.transpor... method updateCredentials (line 43) | updateCredentials(t){this.credentials=t,this.createDispatchers(),this.... method constructor (line 148) | constructor({game:t,bots:e,storageKey:s,persist:a}){const i={},c={};if... class g (line 148) | class g extends s.T{constructor({master:t,...e}){super(e),this.master=t,... method constructor (line 148) | constructor({master:t,...e}){super(e),this.master=t,this.isConnected=!0} method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.master.onChatMe... method onUpdate (line 148) | async onUpdate(e,s,a){const i=this.store.getState();if(e==this.matchID... method onSync (line 148) | onSync(e,s){if(e==this.matchID){const e=(0,t.s)(s);this.store.dispatch... method onAction (line 148) | onAction(t,e){this.master.onUpdate(e,t._stateID,this.matchID,this.play... method connect (line 148) | connect(){this.master.connect(this.matchID,this.playerID,t=>{switch(t.... method disconnect (line 148) | disconnect(){} method subscribe (line 148) | subscribe(){} method subscribeMatchData (line 148) | subscribeMatchData(){} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.conne... method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function f (line 148) | function f({bots:t,persist:e,storageKey:s}={}){return a=>{const{gameKey:... class k (line 148) | class k extends s.T{constructor({socket:t,socketOpts:e,server:s,...a}={}... method constructor (line 148) | constructor({socket:t,socketOpts:e,server:s,...a}={}){super(a),this.se... method onAction (line 148) | onAction(t,e){const s=[e,t._stateID,this.matchID,this.playerID];this.s... method onChatMessage (line 148) | onChatMessage(t,e){const s=[t,e,this.credentials];this.socket.emit("ch... method connect (line 148) | connect(){if(!this.socket)if(this.server){let t=this.server;-1==t.sear... method disconnect (line 148) | disconnect(){this.socket.close(),this.socket=null,this.isConnected=!1,... method subscribe (line 148) | subscribe(t){this.callback=t} method subscribeMatchData (line 148) | subscribeMatchData(t){this.matchDataCallback=t} method subscribeChatMessage (line 148) | subscribeChatMessage(t){this.chatMessageCallback=t} method sync (line 148) | sync(){if(this.socket){const t=[this.matchID,this.playerID,this.creden... method resetAndSync (line 148) | resetAndSync(){const e=(0,t.t)(null);this.store.dispatch(e),this.sync()} method updateMatchID (line 148) | updateMatchID(t){this.matchID=t,this.resetAndSync()} method updatePlayerID (line 148) | updatePlayerID(t){this.playerID=t,this.resetAndSync()} method updateCredentials (line 148) | updateCredentials(t){this.credentials=t,this.resetAndSync()} function I (line 148) | function I({server:t,socketOpts:e}={}){return s=>new k({server:t,socketO... function e (line 152) | function e(e,t){t.events.setActivePlayers({others:"discard",moveLimit:1})} method constructor (line 41) | constructor({store:e,gameName:t,playerID:s,matchID:a,credentials:r,num... function t (line 152) | function t(e,t){} method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} function i (line 154) | function i(e){return e&&e.__esModule?e:{default:e}} method play (line 29) | play({G:t,ctx:e},a){const s=this.enumerate(t,e,a);return Promise.resol... method constructor (line 45) | constructor({server:t=""}={}){this.server=t.replace(/\/$/,"")} method request (line 45) | async request(t,e){const s=await fetch(this.server+t,e);if(!s.ok){let ... method post (line 45) | async post(t,e){let s={method:"post",body:JSON.stringify(e.body),heade... method listGames (line 45) | async listGames(t){return this.request("/games",t)} method listMatches (line 45) | async listMatches(t,s,r){e(t);let a="";if(s){const t=[],{isGameover:e,... method getMatch (line 45) | async getMatch(t,r,a){return e(t),s(r),this.request(`/games/${t}/${r}`... method createMatch (line 45) | async createMatch(t,s,a){return e(t),r(s,{numPlayers:"number"}),this.p... method joinMatch (line 45) | async joinMatch(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",playe... method leaveMatch (line 45) | async leaveMatch(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentials... method updatePlayer (line 45) | async updatePlayer(t,a,i,n){e(t),s(a),r(i,{playerID:"string",credentia... method playAgain (line 45) | async playAgain(t,a,i,n){return e(t),s(a),r(i,{playerID:"string",crede... function a (line 154) | function a(t){(0,e.append_styles)(t,"svelte-temvio",".client.svelte-temv... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function s (line 154) | function s(t){let n,l,i,a,s,c;function d(e,t){return e[2]?o:r}let p=d(t)... method type (line 49) | type(){return e.SYNC} method connect (line 49) | connect(){} method createMatch (line 49) | createMatch(e,t){if(this.createGame)return console.warn("The database ... method listMatches (line 49) | listMatches(e){if(this.listGames)return console.warn("The database con... function r (line 154) | function r(t){let n,l,i;return{c(){(n=(0,e.element)("button")).textConte... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... function o (line 154) | function o(t){let n,l,i;return{c(){(n=(0,e.element)("button")).textConte... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function c (line 154) | function c(t){let n,l,i,a,r,o,c=t[1].isActive&&s(t);return{c(){n=(0,e.el... method encode (line 134) | encode(t){return s("encoding packet %j",t),t.type!==n.EVENT&&t.type!==... method encodeAsString (line 134) | encodeAsString(t){let e=""+t.type;return t.type!==n.BINARY_EVENT&&t.ty... method encodeAsBinary (line 134) | encodeAsBinary(t){const r=e.deconstructPacket(t),s=this.encodeAsString... method constructor (line 140) | constructor(t,e,s){super(),this.receiveBuffer=[],this.sendBuffer=[],th... method subEvents (line 140) | subEvents(){if(this.subs)return;const t=this.io;this.subs=[e.on(t,"ope... method active (line 140) | get active(){return!!this.subs} method connect (line 140) | connect(){return this.connected?this:(this.subEvents(),this.io._reconn... method open (line 140) | open(){return this.connect()} method send (line 140) | send(...t){return t.unshift("message"),this.emit.apply(this,t),this} method emit (line 140) | emit(e,...s){if(n.hasOwnProperty(e))throw new Error('"'+e+'" is a rese... method packet (line 140) | packet(t){t.nsp=this.nsp,this.io._packet(t)} method onopen (line 140) | onopen(){i("transport is open - connecting"),"function"==typeof this.a... method onerror (line 140) | onerror(t){this.connected||this.emitReserved("connect_error",t)} method onclose (line 140) | onclose(t){i("close (%s)",t),this.connected=!1,this.disconnected=!0,de... method onpacket (line 140) | onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.PacketType.CONNE... method onevent (line 140) | onevent(t){const e=t.data||[];i("emitting event %j",e),null!=t.id&&(i(... method emitEvent (line 140) | emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e... method ack (line 140) | ack(e){const s=this;let n=!1;return function(...c){n||(n=!0,i("sending... method onack (line 140) | onack(t){const e=this.acks[t.id];"function"==typeof e?(i("calling ack ... method onconnect (line 140) | onconnect(t){i("socket connected with id %s",t),this.id=t,this.connect... method emitBuffered (line 140) | emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.r... method ondisconnect (line 140) | ondisconnect(){i("server disconnect (%s)",this.nsp),this.destroy(),thi... method destroy (line 140) | destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this... method disconnect (line 140) | disconnect(){return this.connected&&(i("performing disconnect (%s)",th... method close (line 140) | close(){return this.disconnect()} method compress (line 140) | compress(t){return this.flags.compress=t,this} method volatile (line 140) | get volatile(){return this.flags.volatile=!0,this} method onAny (line 140) | onAny(t){return this._anyListeners=this._anyListeners||[],this._anyLis... method prependAny (line 140) | prependAny(t){return this._anyListeners=this._anyListeners||[],this._a... method offAny (line 140) | offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyLi... method listenersAny (line 140) | listenersAny(){return this._anyListeners||[]} function d (line 154) | function d(i,a,s){let r,o,{playerID:c}=a;const d=(0,t.Client)({game:l.de... method constructor (line 51) | constructor(t,a,r,s){this.game=(0,e.P)(t),this.storageAPI=a,this.trans... method subscribe (line 51) | subscribe(t){this.subscribeCallback=t} method onUpdate (line 51) | async onUpdate(r,i,o,n){if(!r||!r.payload)return{error:"missing action... method onSync (line 51) | async onSync(t,a,e,r=2){const i=t,l={state:!0,metadata:!0,log:!0,initi... method onConnectionChange (line 51) | async onConnectionChange(t,e,r,i){const o=t;if(null==e)return;let l;if... method onChatMessage (line 51) | async onChatMessage(t,a,e){const r=t;if(this.auth){const{metadata:t}=a... class p (line 154) | class p extends e.SvelteComponent{constructor(t){super(),(0,e.init)(this... method name (line 96) | get name(){return"polling"} method doOpen (line 96) | doOpen(){this.poll()} method pause (line 96) | pause(t){this.readyState="pausing";const e=()=>{o("paused"),this.ready... method poll (line 96) | poll(){o("polling"),this.polling=!0,this.doPoll(),this.emit("poll")} method onData (line 96) | onData(t){o("polling got data %s",t);s.decodePayload(t,this.socket.bin... method doClose (line 96) | doClose(){const t=()=>{o("writing close packet"),this.write([{type:"cl... method write (line 96) | write(t){this.writable=!1,s.encodePayload(t,t=>{this.doWrite(t,()=>{th... method uri (line 96) | uri(){let t=this.query||{};const s=this.opts.secure?"https":"http";let... method constructor (line 154) | constructor(t){super(),(0,e.init)(this,t,d,c,e.safe_not_equal,{playerI... function n (line 156) | function n(e){return e&&e.__esModule?e:{default:e}} method constructor (line 121) | constructor(t,e={}){super(),t&&"object"==typeof t&&(e=t,t=null),t?(t=i... method createTransport (line 121) | createTransport(e){s('creating transport "%s"',e);const i=a(this.opts.... method open (line 121) | open(){let t;if(this.opts.rememberUpgrade&&n.priorWebsocketSuccess&&-1... method setTransport (line 121) | setTransport(t){s("setting transport %s",t.name),this.transport&&(s("c... method probe (line 121) | probe(t){s('probing transport "%s"',t);let e=this.createTransport(t,{p... method onOpen (line 121) | onOpen(){if(s("socket open"),this.readyState="open",n.priorWebsocketSu... method onPacket (line 121) | onPacket(t){if("opening"===this.readyState||"open"===this.readyState||... method onHandshake (line 121) | onHandshake(t){this.emit("handshake",t),this.id=t.sid,this.transport.q... method resetPingTimeout (line 121) | resetPingTimeout(){clearTimeout(this.pingTimeoutTimer),this.pingTimeou... method onDrain (line 121) | onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBuffe... method flush (line 121) | flush(){"closed"!==this.readyState&&this.transport.writable&&!this.upg... method write (line 121) | write(t,e,s){return this.sendPacket("message",t,e,s),this} method send (line 121) | send(t,e,s){return this.sendPacket("message",t,e,s),this} method sendPacket (line 121) | sendPacket(t,e,s,r){if("function"==typeof e&&(r=e,e=void 0),"function"... method close (line 121) | close(){const t=()=>{this.onClose("forced close"),s("socket closing - ... method onError (line 121) | onError(t){s("socket error %j",t),n.priorWebsocketSuccess=!1,this.emit... method onClose (line 121) | onClose(t,e){"opening"!==this.readyState&&"open"!==this.readyState&&"c... method filterUpgrades (line 121) | filterUpgrades(t){const e=[];let s=0;const r=t.length;for(;s0){const e=this.log.get(t)||[];this.log... method fetch (line 148) | fetch(t,e){const s={};return e.state&&(s.state=this.state.get(t)),e.me... method wipe (line 148) | wipe(t){this.state.delete(t),this.metadata.delete(t)} method listMatches (line 148) | listMatches(t){return[...this.metadata.entries()].filter(([,e])=>{if(!... function o (line 156) | function o(t){(0,e.append_styles)(t,"svelte-1wp7gvh",".container.svelte-... method constructor (line 102) | constructor(e){super(e),this.query=this.query||{},s||(s=t.___eio=t.___... method supportsBinary (line 102) | get supportsBinary(){return!1} method doClose (line 102) | doClose(){this.script&&(this.script.onerror=(()=>{}),this.script.paren... method doPoll (line 102) | doPoll(){const e=document.createElement("script");this.script&&(this.s... method doWrite (line 102) | doWrite(e,t){let s;if(!this.form){const e=document.createElement("form... method constructor (line 134) | constructor(){super()} method add (line 134) | add(t){let e;if("string"==typeof t)(e=this.decodeString(t)).type===n.B... method decodeString (line 134) | decodeString(t){let e=0;const r={type:Number(t.charAt(0))};if(void 0==... method isPayloadValid (line 134) | static isPayloadValid(t,e){switch(t){case n.CONNECT:return"object"==ty... method destroy (line 134) | destroy(){this.reconstructor&&this.reconstructor.finishedReconstructio... method constructor (line 148) | constructor(t="bgio"){super();const e=e=>new h(`${t}_${e}`);this.state... function r (line 156) | function r(n){let o,r,a,p,s,l,i,u;return a=new t.default({props:{playerI... method constructor (line 29) | constructor({enumerate:t,seed:a,objectives:s,game:r,iterations:i,playo... method createNode (line 29) | createNode({state:t,parentAction:e,parent:a,playerID:s}){const{G:r,ctx... method select (line 29) | select(t){if(t.actions.length>0)return t;if(0===t.children.length)retu... method expand (line 29) | expand(t){const e=t.actions;if(0===e.length||void 0!==t.state.ctx.game... method playout (line 29) | playout({state:t}){let e=this.getOpt("playoutDepth");"function"==typeo... method backpropagate (line 29) | backpropagate(t,e={}){t.visits++,void 0!==e.score&&(t.value+=e.score),... method play (line 29) | play(t,e){const a=this.createNode({state:t,playerID:e});let r=this.get... method constructor (line 90) | constructor(e){super(),this.opts=e,this.query=e.query,this.readyState=... method onError (line 90) | onError(e,t){const s=new Error(e);return s.type="TransportError",s.des... method open (line 90) | open(){return"closed"!==this.readyState&&""!==this.readyState||(this.r... method close (line 90) | close(){return"opening"!==this.readyState&&"open"!==this.readyState||(... method send (line 90) | send(e){"open"===this.readyState?this.write(e):s("transport is not ope... method onOpen (line 90) | onOpen(){this.readyState="open",this.writable=!0,this.emit("open")} method onData (line 90) | onData(t){const s=e.decodePacket(t,this.socket.binaryType);this.onPack... method onPacket (line 90) | onPacket(e){this.emit("packet",e)} method onClose (line 90) | onClose(){this.readyState="closed",this.emit("close")} method constructor (line 144) | constructor(e,t){super(),this.nsps={},this.subs=[],e&&"object"==typeof... method reconnection (line 144) | reconnection(e){return arguments.length?(this._reconnection=!!e,this):... method reconnectionAttempts (line 144) | reconnectionAttempts(e){return void 0===e?this._reconnectionAttempts:(... method reconnectionDelay (line 144) | reconnectionDelay(e){var t;return void 0===e?this._reconnectionDelay:(... method randomizationFactor (line 144) | randomizationFactor(e){var t;return void 0===e?this._randomizationFact... method reconnectionDelayMax (line 144) | reconnectionDelayMax(e){var t;return void 0===e?this._reconnectionDela... method timeout (line 144) | timeout(e){return arguments.length?(this._timeout=e,this):this._timeout} method maybeReconnectOnOpen (line 144) | maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&0===th... method open (line 144) | open(t){if(c("readyState %s",this._readyState),~this._readyState.index... method connect (line 144) | connect(e){return this.open(e)} method onopen (line 144) | onopen(){c("open"),this.cleanup(),this._readyState="open",this.emitRes... method onping (line 144) | onping(){this.emitReserved("ping")} method ondata (line 144) | ondata(e){this.decoder.add(e)} method ondecoded (line 144) | ondecoded(e){this.emitReserved("packet",e)} method onerror (line 144) | onerror(e){c("error",e),this.emitReserved("error",e)} method socket (line 144) | socket(e,n){let i=this.nsps[e];return i||(i=new t.Socket(this,e,n),thi... method _destroy (line 144) | _destroy(e){const t=Object.keys(this.nsps);for(const n of t){if(this.n... method _packet (line 144) | _packet(e){c("writing packet %j",e);const t=this.encoder.encode(e);for... method cleanup (line 144) | cleanup(){c("cleanup"),this.subs.forEach(e=>e()),this.subs.length=0,th... method _close (line 144) | _close(){c("disconnect"),this.skipReconnect=!0,this._reconnecting=!1,"... method disconnect (line 144) | disconnect(){return this._close()} method onclose (line 144) | onclose(e){c("onclose"),this.cleanup(),this.backoff.reset(),this._read... method reconnect (line 144) | reconnect(){if(this._reconnecting||this.skipReconnect)return this;cons... method onreconnect (line 144) | onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this... class a (line 156) | class a extends e.SvelteComponent{constructor(t){super(),(0,e.init)(this... method constructor (line 29) | constructor({enumerate:t,seed:e}){this.enumerateFn=t,this.seed=e,this.... method addOpt (line 29) | addOpt({key:t,range:e,initial:a}){this._opts[t]={range:e,value:a}} method getOpt (line 29) | getOpt(t){return this._opts[t].value} method setOpt (line 29) | setOpt(t,e){t in this._opts&&(this._opts[t].value=e)} method opts (line 29) | opts(){return this._opts} method enumerate (line 29) | enumerate(e,a,s){return this.enumerateFn(e,a,s).map(e=>"payload"in e?e... method random (line 29) | random(e){let a;if(void 0!==this.seed){const e=this.prngstate?"":this.... method constructor (line 45) | constructor(t,e){super(t),this.details=e} method type (line 49) | type(){return e.ASYNC} method createMatch (line 49) | async createMatch(e,t){if(this.createGame)return console.warn("The dat... method listMatches (line 49) | async listMatches(e){if(this.listGames)return console.warn("The databa... method constructor (line 100) | constructor(t){if(super(t),"undefined"!=typeof location){const e="http... method request (line 100) | request(t={}){return Object.assign(t,{xd:this.xd,xs:this.xs},this.opts... method doWrite (line 100) | doWrite(t,e){const s=this.request({method:"POST",data:t});s.on("succes... method doPoll (line 100) | doPoll(){i("xhr poll");const t=this.request();t.on("data",this.onData.... method constructor (line 134) | constructor(t){this.packet=t,this.buffers=[],this.reconPack=t} method takeBinaryData (line 134) | takeBinaryData(t){if(this.buffers.push(t),this.buffers.length===this.r... method finishedReconstruction (line 134) | finishedReconstruction(){this.reconPack=null,this.buffers=[]} method constructor (line 156) | constructor(t){super(),(0,e.init)(this,t,null,r,e.safe_not_equal,{},o)} function t (line 158) | function t(e){return e&&e.__esModule?e:{default:e}} method on (line 138) | on(e,t){return super.on(e,t),this} method once (line 138) | once(e,t){return super.once(e,t),this} method emit (line 138) | emit(e,...t){return super.emit(e,...t),this} method emitReserved (line 138) | emitReserved(e,...t){return super.emit(e,...t),this} method listeners (line 138) | listeners(e){return super.listeners(e)} FILE: examples/react-native/board.js class Board (line 13) | class Board extends React.Component { method isActive (line 30) | isActive(id) { method render (line 36) | render() { FILE: examples/react-native/game.js function IsVictory (line 9) | function IsVictory(cells) { method clickCell (line 44) | clickCell({ G, playerID }, id) { FILE: examples/react-native/rn-cli.config.js method getProjectRoots (line 4) | getProjectRoots() { FILE: examples/react-web/server.js constant PORT (line 13) | const PORT = process.env.PORT || 8000; FILE: examples/react-web/src/chess/board.js constant COL_NAMES (line 22) | const COL_NAMES = 'abcdefgh'; constant HIGHLIGHTED_COLOR (line 23) | const HIGHLIGHTED_COLOR = 'green'; constant MOVABLE_COLOR (line 24) | const MOVABLE_COLOR = 'palegreen'; class Board (line 26) | class Board extends React.Component { method constructor (line 39) | constructor(props) { method render (line 50) | render() { method _getHighlightedSquares (line 92) | _getHighlightedSquares() { method _getSquare (line 138) | _getSquare(x, y) { method _getInRange (line 142) | _getInRange(x) { method _getPieces (line 146) | _getPieces() { method _getPieceByTypeAndColor (line 178) | _getPieceByTypeAndColor(type, color) { method _getStatus (line 195) | _getStatus() { method _getInitialCell (line 222) | _getInitialCell(square) { method _isSelectable (line 234) | _isSelectable(square) { method _getCurrentPlayer (line 243) | _getCurrentPlayer() { method _getMoves (line 251) | _getMoves() { method _tryMove (line 261) | _tryMove(from, to) { FILE: examples/react-web/src/chess/checkerboard.js class Checkerboard (line 38) | class Checkerboard extends React.Component { method render (line 67) | render() { function algebraicToCartesian (line 113) | function algebraicToCartesian(square, rows = 8) { function cartesianToAlgebraic (line 129) | function cartesianToAlgebraic(x, y, rows = 8) { FILE: examples/react-web/src/chess/game.js function Load (line 13) | function Load(pgn) { method move (line 30) | move({ G, ctx }, san) { FILE: examples/react-web/src/chess/grid.js class Grid (line 35) | class Grid extends React.Component { method _getCellColor (line 60) | _getCellColor(x, y) { method _getGrid (line 69) | _getGrid() { method render (line 113) | render() { class Square (line 157) | class Square extends React.Component { method getCoords (line 193) | getCoords() { method componentDidMount (line 200) | componentDidMount() { method componentWillUnmount (line 207) | componentWillUnmount() { method render (line 214) | render() { FILE: examples/react-web/src/chess/pieces/bishop.js class Bishop (line 12) | class Bishop extends React.Component { method render (line 17) | render() { FILE: examples/react-web/src/chess/pieces/king.js class King (line 12) | class King extends React.Component { method render (line 17) | render() { FILE: examples/react-web/src/chess/pieces/knight.js class Knight (line 12) | class Knight extends React.Component { method render (line 17) | render() { FILE: examples/react-web/src/chess/pieces/pawn.js class Pawn (line 12) | class Pawn extends React.Component { method render (line 17) | render() { FILE: examples/react-web/src/chess/pieces/queen.js class Queen (line 12) | class Queen extends React.Component { method render (line 17) | render() { FILE: examples/react-web/src/chess/pieces/rook.js class Rook (line 12) | class Rook extends React.Component { method render (line 17) | render() { FILE: examples/react-web/src/chess/token.js class Token (line 56) | class Token extends React.Component { method constructor (line 81) | constructor(props) { method componentWillUnmount (line 168) | componentWillUnmount() { method UNSAFE_componentWillReceiveProps (line 180) | UNSAFE_componentWillReceiveProps(nextProps) { method _addOrRemoveDragEventListeners (line 204) | _addOrRemoveDragEventListeners(shouldAdd) { method _animate (line 224) | _animate(now) { method getCoords (line 263) | getCoords(props = this.props) { method _easeInOutCubic (line 274) | _easeInOutCubic(t, b, c, d) { method _eventListeners (line 284) | _eventListeners() { method render (line 291) | render() { FILE: examples/react-web/src/simulator/simulator.js function Board (line 18) | function Board({ ctx, moves, events, playerID }) { class App (line 88) | class App extends React.Component { method constructor (line 89) | constructor(props) { method init (line 94) | init(type) { method render (line 115) | render() { FILE: examples/react-web/src/threejs/index.js function Init (line 15) | function Init(root) { method componentDidMount (line 145) | componentDidMount() { method render (line 148) | render() { FILE: examples/react-web/src/tic-tac-toe/authenticated.js class AuthenticatedClient (line 25) | class AuthenticatedClient extends React.Component { method constructor (line 26) | constructor(props) { method componentDidMount (line 41) | async componentDidMount() { method onPlayerCredentialsChange (line 78) | onPlayerCredentialsChange(playerID, credentials) { method render (line 90) | render() { class AuthenticatedExample (line 101) | class AuthenticatedExample extends React.Component { method render (line 108) | render() { FILE: examples/react-web/src/tic-tac-toe/board.js class Board (line 13) | class Board extends React.Component { method isActive (line 31) | isActive(id) { method render (line 35) | render() { FILE: examples/react-web/src/tic-tac-toe/game.js function IsVictory (line 9) | function IsVictory(cells) { method clickCell (line 37) | clickCell({ G, playerID }, id) { FILE: examples/snippets/src/example-1/index.js method clickCell (line 10) | clickCell({ G, playerID }, id) { FILE: examples/snippets/src/example-2/index.js function IsVictory (line 7) | function IsVictory(cells) { method clickCell (line 31) | clickCell({ G, playerID }, id) { function TicTacToeBoard (line 51) | function TicTacToeBoard({ ctx, G, moves }) { FILE: examples/snippets/src/example-3/index.js function IsVictory (line 7) | function IsVictory(cells) { method clickCell (line 31) | clickCell({ G, playerID }, id) { function TicTacToeBoard (line 63) | function TicTacToeBoard({ ctx, G, moves }) { FILE: examples/snippets/src/multiplayer/index.js function IsVictory (line 6) | function IsVictory(cells) { method clickCell (line 37) | clickCell({ G, playerID }, id) { function TicTacToeBoard (line 60) | function TicTacToeBoard({ G, ctx, moves, isActive, playerID }) { FILE: examples/snippets/src/phases-1/game.js function DrawCard (line 1) | function DrawCard({ G, playerID }) { function PlayCard (line 6) | function PlayCard({ G, playerID }) { FILE: examples/snippets/src/phases-2/game.js function DrawCard (line 1) | function DrawCard({ G, playerID }) { function PlayCard (line 6) | function PlayCard({ G, playerID }) { FILE: examples/snippets/src/stages-1/game.js function militia (line 1) | function militia({ G, events }) { function discard (line 5) | function discard({ G, ctx }) {} FILE: integration/src/board.js class Board (line 13) | class Board extends React.Component { method isActive (line 31) | isActive(id) { method render (line 35) | render() { FILE: integration/src/game.js function IsVictory (line 9) | function IsVictory(cells) { method clickCell (line 44) | clickCell({ G, ctx }, id) { FILE: python/boardgameio.py class Namespace (line 17) | class Namespace(io.BaseNamespace): method __init__ (line 24) | def __init__(self, *args): method set_bot_info (line 30) | def set_bot_info(self, bot): method on_connect (line 39) | def on_connect(self): method on_disconnect (line 43) | def on_disconnect(self): method on_reconnect (line 46) | def on_reconnect(self): method on_update (line 50) | def on_update(self, *args): method on_sync (line 54) | def on_sync(self, *args): class Bot (line 88) | class Bot(object): method __init__ (line 94) | def __init__(self, server='localhost', port='8000', method _create_action (line 120) | def _create_action(self, action, typ, args=None): method make_move (line 133) | def make_move(self, typ, *args): method game_event (line 137) | def game_event(self, typ): method listen (line 141) | def listen(self, timeout=1): method think (line 149) | def think(self, _G, _ctx): method gameover (line 156) | def gameover(self, _G, _ctx): FILE: python/examples/tic-tac-toe/tictactoebot.py class TicTacToeBot (line 24) | class TicTacToeBot(Bot): method __init__ (line 33) | def __init__(self): method think (line 39) | def think(self, G, _ctx): method gameover (line 51) | def gameover(self, _G, ctx): function main (line 60) | def main(): function stop (line 70) | def stop(_signum, _frame): FILE: python/test_boardgameio.py class TestNamespace (line 26) | class TestNamespace(unittest.TestCase): method setUp (line 28) | def setUp(self): method test_on_sync_shall_call_think (line 45) | def test_on_sync_shall_call_think(self): method test_on_update_shall_call_think (line 53) | def test_on_update_shall_call_think(self): method test_on_sync_shall_not_call_think_if_game_id_is_different (line 61) | def test_on_sync_shall_not_call_think_if_game_id_is_different(self): method test_on_sync_shall_not_call_think_if_player_id_is_not_active (line 67) | def test_on_sync_shall_not_call_think_if_player_id_is_not_active(self): method test_on_sync_shall_call_gameover_if_game_is_over (line 75) | def test_on_sync_shall_call_gameover_if_game_is_over(self): class TestBot (line 84) | class TestBot(unittest.TestCase): method setUp (line 86) | def setUp(self): method test_make_move_shall_return_move_action (line 99) | def test_make_move_shall_return_move_action(self): method test_game_event_shall_return_event_action (line 109) | def test_game_event_shall_return_event_action(self): FILE: scripts/changelog.js constant CURRENT_TAG (line 11) | const CURRENT_TAG = shell constant PREVIOUS_TAG (line 16) | const PREVIOUS_TAG = shell constant IS_MAJOR (line 23) | const IS_MAJOR = /^v?(0\.\d+\.0|\d+.0.0)$/.test(CURRENT_TAG); constant FILE (line 25) | const FILE = tempy.file(); constant NOTES (line 68) | let NOTES = (IS_MAJOR ? '## ' : '### ') + CURRENT_TAG + P; FILE: scripts/install-examples.js function installDependencies (line 25) | function installDependencies() { FILE: scripts/proxy-dirs.js function PackageJson (line 13) | function PackageJson(name, { mainDir, esmDir } = {}) { function makeSubpackage (line 27) | function makeSubpackage(name, opts) { FILE: src/ai/ai.test.ts function IsVictory (line 21) | function IsVictory(cells) { method clickCell (line 47) | clickCell({ G, ctx }, id: number) { method clickCell (line 86) | clickCell({ G }) { method endIf (line 91) | endIf({ G }) { FILE: src/ai/ai.ts function Step (line 19) | async function Step(client: { store: Store }, bot: Bot) { function Simulate (line 49) | async function Simulate({ FILE: src/ai/bot.ts type BotAction (line 14) | type BotAction = ActionShape.GameEvent | ActionShape.MakeMove; method constructor (line 32) | constructor({ method addOpt (line 50) | addOpt({ method getOpt (line 65) | getOpt(key: string) { method setOpt (line 69) | setOpt(key: string, value: any) { method opts (line 75) | opts() { method enumerate (line 79) | enumerate(G: any, ctx: Ctx, playerID: PlayerID) { method random (line 98) | random(arg?: number | T[]) { FILE: src/ai/mcts-bot.ts type Node (line 14) | interface Node { type Objective (line 33) | interface Objective { type Objectives (line 38) | type Objectives = Record; constant CHUNK_SIZE (line 44) | const CHUNK_SIZE = 25; class MCTSBot (line 49) | class MCTSBot extends Bot { method constructor (line 60) | constructor({ method createNode (line 111) | private createNode({ method select (line 152) | private select(node: Node) { method expand (line 180) | private expand(node: Node) { method playout (line 200) | playout({ state }: Node) { method backpropagate (line 241) | private backpropagate( method play (line 267) | play( FILE: src/ai/random-bot.ts class RandomBot (line 15) | class RandomBot extends Bot { method play (line 16) | play({ G, ctx }: { G: any; ctx: Ctx }, playerID: PlayerID) { FILE: src/client/client.test.ts class CustomTransport (line 294) | class CustomTransport extends Transport { method connect (line 295) | connect() {} method disconnect (line 296) | disconnect() {} method sendAction (line 297) | sendAction() {} method sendChatMessage (line 298) | sendChatMessage() {} method requestSync (line 299) | requestSync() {} method updateMatchID (line 300) | updateMatchID() {} method updatePlayerID (line 301) | updatePlayerID() {} method updateCredentials (line 302) | updateCredentials() {} method setMetadata (line 303) | setMetadata(metadata) { method connect (line 346) | connect() {} method disconnect (line 347) | disconnect() {} method subscribe (line 348) | subscribe() {} type G (line 440) | type G = { secret?: number[]; sum?: number; A?: string }; FILE: src/client/client.ts type ClientAction (line 41) | type ClientAction = type Action (line 46) | type Action = type DebugOpt (line 51) | interface DebugOpt { function assumedPlayerID (line 66) | function assumedPlayerID( function createDispatchers (line 86) | function createDispatchers( type ClientOpts (line 116) | interface ClientOpts< type ClientState (line 130) | type ClientState = class _ClientImpl (line 141) | class _ClientImpl< method constructor (line 178) | constructor({ method receiveMatchData (line 352) | private receiveMatchData(matchData: FilteredMetadata): void { method receiveChatMessage (line 358) | private receiveChatMessage(message: ChatMessage): void { method receiveTransportData (line 364) | private receiveTransportData(data: TransportData): void { method notifySubscribers (line 414) | private notifySubscribers() { method overrideGameState (line 418) | overrideGameState(state: any) { method start (line 423) | start() { method stop (line 429) | stop() { method subscribe (line 435) | subscribe(fn: (state: ClientState) => void) { method getInitialState (line 450) | getInitialState() { method getState (line 454) | getState(): ClientState { method createDispatchers (line 519) | private createDispatchers() { method updatePlayerID (line 545) | updatePlayerID(playerID: PlayerID | null) { method updateMatchID (line 552) | updateMatchID(matchID: string) { method updateCredentials (line 559) | updateCredentials(credentials: string) { function Client (line 583) | function Client< FILE: src/client/debug/utils/shortcuts.js function AssignShortcuts (line 9) | function AssignShortcuts(moveNames, blacklist) { FILE: src/client/manager.ts type SubscriptionState (line 4) | type SubscriptionState = { type SubscribeCallback (line 8) | type SubscribeCallback = (arg: SubscriptionState) => void; type UnsubscribeCallback (line 9) | type UnsubscribeCallback = () => void; class ClientManager (line 14) | class ClientManager { method constructor (line 20) | constructor() { method register (line 30) | register(client: _ClientImpl): void { method unregister (line 41) | unregister(client: _ClientImpl): void { method subscribe (line 64) | subscribe(callback: SubscribeCallback): UnsubscribeCallback { method switchPlayerID (line 76) | switchPlayerID(playerID: string): void { method switchToClient (line 100) | switchToClient(client: _ClientImpl): void { method notifySubscribers (line 110) | private notifySubscribers(): void { method getState (line 120) | private getState(): SubscriptionState { method getDebuggableClients (line 130) | private getDebuggableClients(): _ClientImpl[] { method mountDebug (line 139) | private mountDebug(client: _ClientImpl): void { method unmountDebug (line 172) | private unmountDebug(): void { FILE: src/client/react-native.js function Client (line 30) | function Client(opts) { FILE: src/client/react-native.test.js class NoConnectionTransport (line 17) | class NoConnectionTransport extends Transport { method connect (line 18) | connect() {} method disconnect (line 19) | disconnect() {} method sendAction (line 20) | sendAction() {} method sendChatMessage (line 21) | sendChatMessage() {} method requestSync (line 22) | requestSync() {} method updateMatchID (line 23) | updateMatchID() {} method updatePlayerID (line 24) | updatePlayerID() {} method updateCredentials (line 25) | updateCredentials() {} class TestBoard (line 30) | class TestBoard extends React.Component { method render (line 31) | render() { FILE: src/client/react.ssr.test.tsx class TestBoard (line 10) | class TestBoard extends React.Component { method render (line 11) | render() { FILE: src/client/react.test.tsx class TestBoard (line 20) | class TestBoard extends React.Component< method render (line 23) | render() { FILE: src/client/react.tsx type WrappedBoardDelegates (line 14) | type WrappedBoardDelegates = 'matchID' | 'playerID' | 'credentials'; type WrappedBoardProps (line 16) | type WrappedBoardProps = Pick< type ExposedClientProps (line 21) | type ExposedClientProps = Pick< type BoardProps (line 36) | type BoardProps = ClientState & type ReactClientOpts (line 42) | type ReactClientOpts< function Client (line 70) | function Client< FILE: src/client/transport/dummy.ts class DummyImpl (line 8) | class DummyImpl extends Transport { method connect (line 9) | connect() {} method disconnect (line 10) | disconnect() {} method sendAction (line 11) | sendAction() {} method sendChatMessage (line 12) | sendChatMessage() {} method requestSync (line 13) | requestSync() {} method updateCredentials (line 14) | updateCredentials() {} method updateMatchID (line 15) | updateMatchID() {} method updatePlayerID (line 16) | updatePlayerID() {} FILE: src/client/transport/local.test.ts class WrappedLocalTransport (line 275) | class WrappedLocalTransport extends LocalTransport { method getMatchID (line 276) | getMatchID() { method getPlayerID (line 279) | getPlayerID() { FILE: src/client/transport/local.ts function GetBotPlayer (line 28) | function GetBotPlayer(state: State, bots: Record) { type LocalOpts (line 46) | interface LocalOpts { type LocalMasterOpts (line 52) | type LocalMasterOpts = LocalOpts & { class LocalMaster (line 60) | class LocalMaster extends Master { method constructor (line 66) | constructor({ game, bots, storageKey, persist }: LocalMasterOpts) { type LocalTransportOpts (line 127) | type LocalTransportOpts = TransportOpts & { class LocalTransport (line 137) | class LocalTransport extends Transport { method constructor (line 147) | constructor({ master, ...opts }: LocalTransportOpts) { method sendChatMessage (line 152) | sendChatMessage(matchID: string, chatMessage: ChatMessage): void { method sendAction (line 161) | sendAction(state: State, action: CredentialedActionShape.Any): void { method requestSync (line 165) | requestSync(): void { method connect (line 174) | connect(): void { method disconnect (line 180) | disconnect(): void { method updateMatchID (line 184) | updateMatchID(id: string): void { method updatePlayerID (line 189) | updatePlayerID(id: PlayerID): void { method updateCredentials (line 194) | updateCredentials(credentials?: string): void { function Local (line 208) | function Local({ bots, persist, storageKey }: LocalOpts = {}) { FILE: src/client/transport/socketio.test.ts type UpdateArgs (line 21) | type UpdateArgs = Parameters; type SyncArgs (line 22) | type SyncArgs = Parameters; class MockSocket (line 24) | class MockSocket { method constructor (line 28) | constructor() { method receive (line 33) | receive(type: string, ...args) { method on (line 37) | on(type: string, callback: (arg0?: any, arg1?: any) => void) { method close (line 41) | close() {} class TransportAdapter (line 54) | class TransportAdapter extends SocketIOTransport { method getMatchID (line 59) | getMatchID() { method getPlayerID (line 63) | getPlayerID() { method getCredentials (line 67) | getCredentials() { FILE: src/client/transport/socketio.ts type SocketOpts (line 27) | type SocketOpts = Partial< type SocketIOOpts (line 31) | interface SocketIOOpts { type SocketIOTransportOpts (line 36) | type SocketIOTransportOpts = TransportOpts & class SocketIOTransport (line 46) | class SocketIOTransport extends Transport { method constructor (line 63) | constructor({ socket, socketOpts, server, ...opts }: SocketIOTransport... method sendAction (line 71) | sendAction(state: State, action: CredentialedActionShape.Any): void { method sendChatMessage (line 81) | sendChatMessage(matchID: string, chatMessage: ChatMessage): void { method connect (line 90) | connect(): void { method disconnect (line 169) | disconnect(): void { method requestSync (line 175) | requestSync(): void { method updateMatchID (line 187) | updateMatchID(id: string): void { method updatePlayerID (line 192) | updatePlayerID(id: PlayerID): void { method updateCredentials (line 197) | updateCredentials(credentials?: string): void { function SocketIO (line 203) | function SocketIO({ server, socketOpts }: SocketIOOpts = {}) { FILE: src/client/transport/transport.test.ts class SimpleTransport (line 5) | class SimpleTransport extends Transport { method connect (line 6) | connect() {} method disconnect (line 7) | disconnect() {} method sendAction (line 8) | sendAction() {} method sendChatMessage (line 9) | sendChatMessage() {} method requestSync (line 10) | requestSync() {} method updateMatchID (line 11) | updateMatchID() {} method updatePlayerID (line 12) | updatePlayerID() {} method updateCredentials (line 13) | updateCredentials() {} method get (line 14) | get(key: 'connectionStatusCallback') { FILE: src/client/transport/transport.ts type MetadataCallback (line 20) | type MetadataCallback = (metadata: SyncInfo['filteredMetadata']) => void; type ChatCallback (line 22) | type ChatCallback = (message: ChatMessage) => void; type TransportOpts (line 24) | interface TransportOpts { method constructor (line 47) | constructor({ method subscribeToConnectionStatus (line 64) | subscribeToConnectionStatus(fn: () => void): void { method setConnectionStatus (line 69) | protected setConnectionStatus(isConnected: boolean): void { method notifyClient (line 75) | protected notifyClient(data: TransportData): void { FILE: src/core/action-types.ts constant MAKE_MOVE (line 9) | const MAKE_MOVE = 'MAKE_MOVE'; constant GAME_EVENT (line 10) | const GAME_EVENT = 'GAME_EVENT'; constant REDO (line 11) | const REDO = 'REDO'; constant RESET (line 12) | const RESET = 'RESET'; constant SYNC (line 13) | const SYNC = 'SYNC'; constant UNDO (line 14) | const UNDO = 'UNDO'; constant UPDATE (line 15) | const UPDATE = 'UPDATE'; constant PATCH (line 16) | const PATCH = 'PATCH'; constant PLUGIN (line 17) | const PLUGIN = 'PLUGIN'; constant STRIP_TRANSIENTS (line 18) | const STRIP_TRANSIENTS = 'STRIP_TRANSIENTS'; FILE: src/core/backwards-compatibility.ts type MoveLimitOptions (line 1) | type MoveLimitOptions = { function supportDeprecatedMoveLimit (line 12) | function supportDeprecatedMoveLimit( FILE: src/core/constants.ts constant INVALID_MOVE (line 6) | const INVALID_MOVE = 'INVALID_MOVE'; FILE: src/core/errors.ts type UpdateErrorType (line 9) | enum UpdateErrorType { type ActionErrorType (line 18) | enum ActionErrorType { FILE: src/core/flow.ts function Flow (line 41) | function Flow({ FILE: src/core/game-methods.ts type GameMethod (line 1) | enum GameMethod { FILE: src/core/game.ts type ProcessedGame (line 16) | type ProcessedGame = Game & { function IsProcessed (line 26) | function IsProcessed(game: Game | ProcessedGame): game is ProcessedGame { function ProcessGameConfig (line 44) | function ProcessGameConfig(game: Game | ProcessedGame): ProcessedGame { function IsLongFormMove (line 112) | function IsLongFormMove(move: Move): move is LongFormMove { FILE: src/core/initialize.ts function InitializeGame (line 16) | function InitializeGame({ FILE: src/core/logger.ts function info (line 13) | function info(msg: string) { function error (line 16) | function error(error: string) { FILE: src/core/reducer.ts function HasUndoable (line 48) | function HasUndoable(move: Move): move is LongFormMove { function IsFunction (line 52) | function IsFunction( function updateUndoRedoState (line 72) | function updateUndoRedoState( function initializeDeltalog (line 103) | function initializeDeltalog( function flushAndValidatePlugins (line 141) | function flushAndValidatePlugins( function ExtractTransients (line 159) | function ExtractTransients( function WithError (line 177) | function WithError( function CreateGameReducer (line 233) | function CreateGameReducer({ FILE: src/core/turn-order.test.ts type Matchers (line 31) | interface Matchers { method toHaveUndefinedProperties (line 41) | toHaveUndefinedProperties(ctx) { FILE: src/core/turn-order.ts function SetActivePlayers (line 22) | function SetActivePlayers(ctx: Ctx, arg: ActivePlayersArg): Ctx { function UpdateActivePlayersOnceEmpty (line 156) | function UpdateActivePlayersOnceEmpty(ctx: Ctx) { function ApplyActivePlayerArgument (line 210) | function ApplyActivePlayerArgument( function getCurrentPlayer (line 236) | function getCurrentPlayer( function InitTurnOrderState (line 252) | function InitTurnOrderState(state: State, turn: TurnConfig) { function UpdateTurnOrderState (line 287) | function UpdateTurnOrderState( FILE: src/lobby/client.ts type JSType (line 11) | type JSType = class LobbyClientError (line 39) | class LobbyClientError extends Error { method constructor (line 42) | constructor(message: string, details: any) { class LobbyClient (line 52) | class LobbyClient { method constructor (line 55) | constructor({ server = '' }: { server?: string } = {}) { method request (line 60) | private async request(route: string, init?: RequestInit) { method post (line 82) | private async post(route: string, opts: { body?: any; init?: RequestIn... method listGames (line 106) | async listGames(init?: RequestInit): Promise { method listMatches (line 129) | async listMatches( method getMatch (line 179) | async getMatch( method createMatch (line 201) | async createMatch( method joinMatch (line 231) | async joinMatch( method leaveMatch (line 267) | async leaveMatch( method updatePlayer (line 300) | async updatePlayer( method playAgain (line 342) | async playAgain( FILE: src/lobby/connection.ts type GameComponent (line 13) | interface GameComponent { type LobbyConnectionOpts (line 18) | interface LobbyConnectionOpts { class _LobbyConnectionImpl (line 25) | class _LobbyConnectionImpl { method constructor (line 32) | constructor({ method refresh (line 45) | async refresh() { method _getMatchInstance (line 59) | _getMatchInstance(matchID: string) { method _getGameComponents (line 65) | _getGameComponents(gameName: string) { method _findPlayer (line 71) | _findPlayer(playerName: string) { method join (line 78) | async join(gameName: string, matchID: string, playerID: string) { method leave (line 99) | async leave(gameName: string, matchID: string) { method disconnect (line 120) | async disconnect() { method create (line 129) | async create(gameName: string, numPlayers: number) { function LobbyConnection (line 160) | function LobbyConnection(opts: LobbyConnectionOpts) { FILE: src/lobby/create-match-form.tsx type CreateMatchProps (line 13) | type CreateMatchProps = { type CreateMatchState (line 18) | type CreateMatchState = { class LobbyCreateMatchForm (line 23) | class LobbyCreateMatchForm extends React.Component< method constructor (line 32) | constructor(props: CreateMatchProps) { method render (line 73) | render() { FILE: src/lobby/login-form.tsx type LoginFormProps (line 11) | type LoginFormProps = { type LoginFormState (line 16) | type LoginFormState = { class LobbyLoginForm (line 21) | class LobbyLoginForm extends React.Component { method render (line 114) | render() { FILE: src/lobby/react.test.tsx function NullComponent (line 21) | function NullComponent() { FILE: src/lobby/react.tsx type LobbyPhases (line 25) | enum LobbyPhases { type RunningMatch (line 31) | type RunningMatch = { type LobbyProps (line 38) | type LobbyProps = { type LobbyState (line 67) | type LobbyState = { class Lobby (line 93) | class Lobby extends React.Component { method constructor (line 120) | constructor(props: LobbyProps) { method componentDidMount (line 125) | componentDidMount() { method componentDidUpdate (line 140) | componentDidUpdate(prevProps: LobbyProps, prevState: LobbyState) { method componentWillUnmount (line 162) | componentWillUnmount() { method _startRefreshInterval (line 166) | _startRefreshInterval() { method _clearRefreshInterval (line 174) | _clearRefreshInterval() { method render (line 321) | render() { FILE: src/master/filter-player-view.test.ts function TransportAPI (line 9) | function TransportAPI(send = jest.fn(), sendAll = jest.fn()) { function validateNotTransientState (line 13) | function validateNotTransientState(state: any) { FILE: src/master/filter-player-view.ts function redactLog (line 75) | function redactLog(log: LogEntry[], playerID: PlayerID | null) { FILE: src/master/master.test.ts class InMemoryAsync (line 30) | class InMemoryAsync extends StorageAPI.Async { method constructor (line 33) | constructor() { method connect (line 38) | async connect() { method sleep (line 42) | private sleep(): Promise { method createMatch (line 47) | async createMatch(id: string, opts: StorageAPI.CreateMatchOpts) { method setMetadata (line 52) | async setMetadata(matchID: string, metadata: Server.MatchData) { method setState (line 57) | async setState(matchID: string, state: State, deltalog?: LogEntry[]) { method fetch (line 62) | async fetch( method wipe (line 70) | async wipe(matchID: string) { method listMatches (line 75) | async listMatches(opts?: StorageAPI.ListMatchesOpts): Promise { function TransportAPI (line 83) | function TransportAPI(send = jest.fn(), sendAll = jest.fn()) { function validateNotTransientState (line 87) | function validateNotTransientState(state: any) { FILE: src/master/master.ts type CallbackFn (line 51) | type CallbackFn = (arg: { type CommonTransportData (line 60) | type CommonTransportData = type TransportData (line 78) | type TransportData = type IntermediateTransportData (line 93) | type IntermediateTransportData = type TransportAPI (line 105) | interface TransportAPI { class Master (line 119) | class Master { method constructor (line 126) | constructor( method subscribe (line 139) | subscribe(fn: CallbackFn) { method onUpdate (line 148) | async onUpdate( method onSync (line 320) | async onSync( method onConnectionChange (line 400) | async onConnectionChange( method onChatMessage (line 460) | async onChatMessage( FILE: src/plugins/events/events.ts type Errors (line 13) | enum Errors { type EventsAPI (line 34) | interface EventsAPI { type PrivateEventsAPI (line 45) | interface PrivateEventsAPI { class Events (line 57) | class Events { method constructor (line 74) | constructor(flow: Game['flow'], ctx: Ctx, playerID?: PlayerID) { method api (line 85) | api() { method isUsed (line 106) | isUsed() { method updateTurnContext (line 110) | updateTurnContext(ctx: Ctx, methodType: GameMethod | undefined) { method unsetCurrentMethod (line 116) | unsetCurrentMethod() { method update (line 124) | update(state: State): State { FILE: src/plugins/main.test.ts type TestPluginAPI (line 18) | interface TestPluginAPI { type TestPluginAPI (line 257) | type TestPluginAPI = { get: () => boolean }; type PluginAPIs (line 258) | type PluginAPIs = { test: TestPluginAPI }; FILE: src/plugins/main.ts type PluginOpts (line 27) | interface PluginOpts { constant CORE_PLUGINS (line 35) | const CORE_PLUGINS = [PluginImmer, PluginRandom, PluginLog, PluginSerial... constant DEFAULT_PLUGINS (line 36) | const DEFAULT_PLUGINS = [...CORE_PLUGINS, PluginEvents]; FILE: src/plugins/plugin-log.ts type LogData (line 11) | interface LogData { type LogAPI (line 15) | interface LogAPI { FILE: src/plugins/plugin-player.ts type PlayerData (line 11) | interface PlayerData { type PlayerAPI (line 15) | interface PlayerAPI { type PluginPlayerOpts (line 25) | interface PluginPlayerOpts { type PlayerPlugin (line 33) | interface PlayerPlugin { FILE: src/plugins/plugin-serializable.test.ts class Foo (line 15) | class Foo { method constructor (line 17) | constructor(a: number) { FILE: src/plugins/plugin-serializable.ts function isSerializable (line 8) | function isSerializable(value: any) { FILE: src/plugins/random/random.alea.ts type AleaState (line 29) | interface AleaState { class Alea (line 36) | class Alea { method constructor (line 42) | constructor(seed: string | number) { method next (line 64) | next() { function Mash (line 72) | function Mash() { function copy (line 93) | function copy(f: AleaState, t: Partial) { type PRNG (line 101) | type PRNG = Alea['next'] & { state?: () => AleaState }; function alea (line 103) | function alea(seed: string | number, state?: AleaState): PRNG { FILE: src/plugins/random/random.test.ts function Init (line 17) | function Init(seed) { FILE: src/plugins/random/random.ts type RandomState (line 12) | interface RandomState { type RandomAPI (line 17) | interface RandomAPI { type PrivateRandomAPI (line 34) | interface PrivateRandomAPI { class Random (line 48) | class Random { method seed (line 55) | static seed() { method constructor (line 63) | constructor(state?: RandomState) { method isUsed (line 72) | isUsed() { method getState (line 76) | getState() { method _random (line 83) | _random() { method api (line 101) | api(): RandomAPI & PrivateRandomAPI { FILE: src/server/api.test.ts type StorageMocks (line 27) | type StorageMocks = Record< class AsyncStorage (line 32) | class AsyncStorage extends StorageAPI.Async { method constructor (line 35) | constructor(args: Partial = {}) { method connect (line 47) | async connect() {} method createMatch (line 49) | async createMatch(...args) { method fetch (line 53) | async fetch(...args) { method setState (line 57) | async setState(...args) { method setMetadata (line 61) | async setMetadata(...args) { method wipe (line 65) | async wipe(...args) { method listMatches (line 69) | async listMatches(...args) { function addApiToServer (line 75) | function addApiToServer({ function createApiServer (line 88) | function createApiServer( FILE: src/server/api.ts function isOriginAllowed (line 509) | function isOriginAllowed( FILE: src/server/auth.ts class Auth (line 46) | class Auth { method constructor (line 56) | constructor( method authenticateCredentials (line 75) | public authenticateCredentials({ FILE: src/server/cors.test.ts function createMockRequest (line 88) | function createMockRequest(origin: string): cors.CorsRequest { class MockResponse (line 96) | class MockResponse extends EventEmitter { method constructor (line 100) | constructor() { method end (line 106) | end() { method getHeader (line 114) | getHeader(name: string) { method setHeader (line 118) | setHeader(name: string, value: string) { FILE: src/server/cors.ts constant LOCALHOST (line 1) | const LOCALHOST = /localhost:\d+/; FILE: src/server/db/base.ts type Type (line 4) | enum Type { function isSynchronous (line 12) | function isSynchronous(storageAPI: Sync | Async): storageAPI is Sync { type FetchOpts (line 19) | interface FetchOpts { type FetchFields (line 29) | interface FetchFields { type FetchResult (line 39) | type FetchResult = Object.Pick< type ListMatchesOpts (line 47) | interface ListMatchesOpts { type ListGamesOpts (line 59) | interface ListGamesOpts { type CreateMatchOpts (line 71) | interface CreateMatchOpts { type CreateGameOpts (line 79) | interface CreateGameOpts { method type (line 86) | type() { method createMatch (line 108) | async createMatch(matchID: string, opts: CreateMatchOpts): Promise { method listMatches (line 174) | async listMatches(opts?: ListMatchesOpts): Promise { method type (line 197) | type() { method connect (line 204) | connect() { method createMatch (line 220) | createMatch(matchID: string, opts: CreateMatchOpts): void { method listMatches (line 276) | listMatches(opts?: ListMatchesOpts): string[] { FILE: src/server/db/flatfile.ts type InitOptions (line 12) | interface InitOptions { class FlatFile (line 21) | class FlatFile extends StorageAPI.Async { method constructor (line 35) | constructor({ dir, logging, ttl }: InitOptions) { method chainRequest (line 44) | private async chainRequest( method getItem (line 54) | private async getItem(key: string): Promise { method setItem (line 58) | private async setItem( method removeItem (line 65) | private async removeItem(key: string): Promise { method connect (line 69) | async connect() { method createMatch (line 85) | async createMatch( method fetch (line 97) | async fetch( method clear (line 125) | async clear() { method setState (line 129) | async setState(id: string, state: State, deltalog?: LogEntry[]) { method setMetadata (line 140) | async setMetadata(id: string, metadata: Server.MatchData): Promise { function InitialStateKey (line 218) | function InitialStateKey(matchID: string) { function MetadataKey (line 222) | function MetadataKey(matchID: string) { function LogKey (line 226) | function LogKey(matchID: string) { FILE: src/server/db/inmemory.ts class InMemory (line 15) | class InMemory extends StorageAPI.Sync { method constructor (line 24) | constructor() { method createMatch (line 37) | createMatch(matchID: string, opts: StorageAPI.CreateMatchOpts) { method setMetadata (line 46) | setMetadata(matchID: string, metadata: Server.MatchData) { method setState (line 53) | setState(matchID: string, state: State, deltalog?: LogEntry[]): void { method fetch (line 64) | fetch( method wipe (line 92) | wipe(matchID: string) { method listMatches (line 102) | listMatches(opts?: StorageAPI.ListMatchesOpts): string[] { FILE: src/server/db/localstorage.ts class WithLocalStorageMap (line 3) | class WithLocalStorageMap extends Map { method constructor (line 6) | constructor(key: string) { method sync (line 13) | sync(): void { method set (line 18) | set(key: Key, value: Value): this { method delete (line 24) | delete(key: Key): boolean { class LocalStorage (line 34) | class LocalStorage extends InMemory { method constructor (line 35) | constructor(storagePrefix = 'bgio') { FILE: src/server/index.test.ts class MockSocket (line 28) | class MockSocket { method on (line 29) | on() {} method constructor (line 33) | constructor() { method attach (line 36) | attach(app) { method of (line 39) | of() { method on (line 42) | on(type, callback) { method adapter (line 45) | adapter() { FILE: src/server/index.ts type KoaServer (line 21) | type KoaServer = ReturnType; type ServerConfig (line 23) | interface ServerConfig { type HttpsOptions (line 32) | interface HttpsOptions { type ServerOpts (line 60) | interface ServerOpts { function Server (line 85) | function Server({ FILE: src/server/transport/pubsub/generic-pub-sub.ts type GenericPubSub (line 2) | interface GenericPubSub { FILE: src/server/transport/pubsub/in-memory-pub-sub.test.ts constant CHANNEL_FOO (line 3) | const CHANNEL_FOO = 'foo'; FILE: src/server/transport/pubsub/in-memory-pub-sub.ts class InMemoryPubSub (line 3) | class InMemoryPubSub implements GenericPubSub { method publish (line 6) | publish(channelId: string, payload: T) { method subscribe (line 16) | subscribe(channelId: string, callback: (payload: T) => void): void { method unsubscribeAll (line 23) | unsubscribeAll(channelId: string) { FILE: src/server/transport/socketio-simultaneous.test.ts type SyncArgs (line 22) | type SyncArgs = Parameters; type UpdateArgs (line 23) | type UpdateArgs = Parameters; type SocketIOTestAdapterOpts (line 25) | type SocketIOTestAdapterOpts = SocketOpts & { class InMemoryAsync (line 30) | class InMemoryAsync extends Async { method constructor (line 34) | constructor() { method connect (line 40) | async connect() { method sleep (line 44) | private sleep(): Promise { method createMatch (line 52) | async createMatch(id: string, opts: StorageAPI.CreateMatchOpts) { method setMetadata (line 57) | async setMetadata(matchID: string, metadata: Server.MatchData) { method setState (line 62) | async setState(matchID: string, state: State, deltalog?: LogEntry[]) { method fetch (line 67) | async fetch( method wipe (line 75) | async wipe(matchID: string) { method listMatches (line 80) | async listMatches(opts?: StorageAPI.ListMatchesOpts): Promise { class SocketIOTestAdapter (line 86) | class SocketIOTestAdapter extends SocketIO { method constructor (line 87) | constructor({ method getPerMatchQueue (line 97) | public get getPerMatchQueue() { class MockSocket (line 103) | class MockSocket { method constructor (line 109) | constructor({ id }: { id: string }) { method receive (line 116) | async receive(type, ...args) { method on (line 120) | on(type, callback) { method to (line 124) | to() { method join (line 131) | join() {} class MockIO (line 134) | class MockIO { method constructor (line 138) | constructor() { method adapter (line 144) | adapter(socketAdapter) { method attach (line 148) | attach(app) { method of (line 152) | of() { method on (line 156) | on(_event, callback) { FILE: src/server/transport/socketio.test.ts type SyncArgs (line 22) | type SyncArgs = Parameters; type SocketIOTestAdapterOpts (line 24) | type SocketIOTestAdapterOpts = SocketOpts & { class SocketIOTestAdapter (line 29) | class SocketIOTestAdapter extends SocketIO { method constructor (line 30) | constructor({ method getPubSub (line 40) | public getPubSub() { class Master (line 46) | class Master { method constructor (line 52) | constructor() { class MockSocket (line 64) | class MockSocket { method constructor (line 70) | constructor() { method receive (line 77) | async receive(type, ...args) { method on (line 82) | on(type, callback) { method to (line 86) | to() { method join (line 93) | join() {} class MockIO (line 96) | class MockIO { method constructor (line 100) | constructor() { method adapter (line 104) | adapter(socketAdapter) { method attach (line 108) | attach(app) { method of (line 112) | of() { method on (line 116) | on(type, callback) { FILE: src/server/transport/socketio.ts constant PING_TIMEOUT (line 25) | const PING_TIMEOUT = 20 * 1e3; constant PING_INTERVAL (line 26) | const PING_INTERVAL = 10 * 1e3; function getPubSubChannelId (line 32) | function getPubSubChannelId(matchID: string): string { type SocketOpts (line 60) | interface SocketOpts { type Client (line 67) | interface Client { class SocketIO (line 77) | class SocketIO { method constructor (line 86) | constructor({ https, socketAdapter, socketOpts, pubSub }: SocketOpts =... method removeClient (line 99) | private removeClient(socketID: string): void { method addClient (line 120) | private addClient(client: Client, game: Game): void { method subscribePubSubChannel (line 134) | private subscribePubSubChannel(matchID: string, game: Game) { method unsubscribePubSubChannel (line 147) | private unsubscribePubSubChannel(matchID: string) { method init (line 151) | init( method getMatchQueue (line 262) | getMatchQueue(matchID: string): PQueue { method deleteMatchQueue (line 274) | deleteMatchQueue(matchID: string): void { FILE: src/types.ts type AnyFn (line 18) | type AnyFn = (...args: any[]) => any; type State (line 21) | interface State { type ErrorType (line 33) | type ErrorType = UpdateErrorType | ActionErrorType; type ActionError (line 35) | interface ActionError { type TransientMetadata (line 41) | interface TransientMetadata { type ActionResult (line 46) | type ActionResult = any; type TransientState (line 50) | interface TransientState extends State { type PartialGameState (line 54) | type PartialGameState = Pick; type StageName (line 56) | type StageName = string; type PlayerID (line 57) | type PlayerID = string; type StageArg (line 59) | type StageArg = type ActivePlayersArg (line 69) | type ActivePlayersArg = type ActivePlayers (line 84) | interface ActivePlayers { type Ctx (line 88) | interface Ctx { type DefaultPluginAPIs (line 113) | interface DefaultPluginAPIs { type PluginState (line 119) | interface PluginState { type LogEntry (line 124) | interface LogEntry { type PluginContext (line 139) | interface PluginContext< type Plugin (line 151) | interface Plugin< type FnContext (line 190) | type FnContext< type MoveFn (line 199) | type MoveFn< type LongFormMove (line 207) | interface LongFormMove< type Move (line 219) | type Move< type MoveMap (line 224) | interface MoveMap< type PhaseConfig (line 231) | interface PhaseConfig< type StageConfig (line 252) | interface StageConfig< type StageMap (line 260) | interface StageMap< type TurnOrderConfig (line 267) | interface TurnOrderConfig< type TurnConfig (line 276) | interface TurnConfig< type PhaseMap (line 303) | interface PhaseMap< type AiEnumerate (line 310) | type AiEnumerate = Array< type Game (line 317) | interface Game< type Undo (line 363) | type Undo = { type GenerateCredentials (line 374) | type GenerateCredentials = ( type AuthenticateCredentials (line 378) | type AuthenticateCredentials = ( type PlayerMetadata (line 383) | type PlayerMetadata = { type MatchData (line 391) | interface MatchData { type AppCtx (line 402) | type AppCtx = Koa.DefaultContext & { type App (line 407) | type App = Koa; type GameList (line 411) | type GameList = string[]; type PublicPlayerMetadata (line 412) | type PublicPlayerMetadata = Omit; type Match (line 413) | type Match = Omit & { type MatchList (line 417) | interface MatchList { type CreatedMatch (line 420) | interface CreatedMatch { type JoinedMatch (line 423) | interface JoinedMatch { type NextMatch (line 427) | interface NextMatch { type Reducer (line 432) | type Reducer = ReturnType; type Store (line 433) | type Store = ReduxStore; type MakeMove (line 436) | type MakeMove = ReturnType; type GameEvent (line 437) | type GameEvent = ReturnType; type Plugin (line 438) | type Plugin = ReturnType; type AutomaticGameEvent (line 439) | type AutomaticGameEvent = ReturnType< type Undo (line 442) | type Undo = ReturnType; type Redo (line 443) | type Redo = ReturnType; type Any (line 444) | type Any = type StripCredentials (line 454) | type StripCredentials = Object.P.... type MakeMove (line 458) | type MakeMove = StripCredentials; type GameEvent (line 459) | type GameEvent = StripCredentials; type Plugin (line 460) | type Plugin = StripCredentials; type AutomaticGameEvent (line 461) | type AutomaticGameEvent = type Sync (line 463) | type Sync = ReturnType; type Update (line 464) | type Update = ReturnType; type Patch (line 465) | type Patch = ReturnType; type Reset (line 466) | type Reset = ReturnType; type Undo (line 467) | type Undo = StripCredentials; type Redo (line 468) | type Redo = StripCredentials; type StripTransients (line 471) | type StripTransients = ReturnType< type Any (line 474) | type Any = type GetPayload (line 489) | type GetPayload = Object.At; type MakeMove (line 490) | type MakeMove = GetPayload; type GameEvent (line 491) | type GameEvent = GetPayload; type FilteredMetadata (line 494) | type FilteredMetadata = { type SyncInfo (line 500) | interface SyncInfo { type ChatMessage (line 507) | interface ChatMessage {