// ==UserScript==
// @name Agarbot-Client
// @namespace Agarbot
// @description its da best
// @include https://www.youtube.com/watch?v=KcD-BA2lnVE
// @exclude //
// @exclude ==UserScript==
// @exclude //
// @exclude @name
// @exclude Agarbot-Client
// @exclude //
// @exclude @namespace
// @exclude Agarbot
// @exclude //
// @exclude @version
// @exclude 1.0
// @exclude //
// @exclude @description
// @exclude its
// @exclude da
// @exclude best
// @exclude //
// @exclude @author
// @exclude Voltized
// @exclude //
// @exclude @match
// @exclude http://agar.io/*
// @exclude //
// @exclude @require
// @exclude https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.5/socket.io.min.js
// @exclude //
// @exclude @grant
// @exclude none
// @exclude //
// @exclude @run-at
// @exclude document-start
// @exclude //
// @exclude ==/UserScript==
// @exclude setTimeout(function()
// @exclude {
// @exclude var
// @exclude real_minx
// @exclude =
// @exclude -7071;
// @exclude var
// @exclude real_miny
// @exclude =
// @exclude -7071;
// @exclude var
// @exclude real_maxx
// @exclude =
// @exclude 7071;
// @exclude var
// @exclude real_maxy
// @exclude =
// @exclude 7071;
// @exclude var
// @exclude lastsent
// @exclude =
// @exclude {
// @exclude minx:
// @exclude 0,
// @exclude miny:
// @exclude 0,
// @exclude maxx:
// @exclude 0,
// @exclude maxy:
// @exclude 0
// @exclude };
// @exclude function
// @exclude valcompare(Y,
// @exclude Z)
// @exclude {
// @exclude return
// @exclude 0.01
// @exclude >
// @exclude Y
// @exclude -
// @exclude Z
// @exclude &&
// @exclude -0.01
// @exclude <
// @exclude Y
// @exclude -
// @exclude Z
// @exclude }
// @exclude window.agar.hooks.dimensionsUpdated
// @exclude =
// @exclude function(server_minx,
// @exclude server_miny,
// @exclude server_maxx,
// @exclude server_maxy)
// @exclude {
// @exclude if
// @exclude (valcompare(server_maxx
// @exclude -
// @exclude server_minx,
// @exclude server_maxy
// @exclude -
// @exclude server_miny))
// @exclude {
// @exclude real_minx
// @exclude =
// @exclude server_minx;
// @exclude real_miny
// @exclude =
// @exclude server_miny;
// @exclude real_maxx
// @exclude =
// @exclude server_maxx;
// @exclude real_maxy
// @exclude =
// @exclude server_maxy
// @exclude }
// @exclude else
// @exclude {
// @exclude if
// @exclude (valcompare(server_minx,
// @exclude lastsent.minx))
// @exclude {
// @exclude if
// @exclude (0.01
// @exclude <
// @exclude server_maxx
// @exclude -
// @exclude lastsent.maxx
// @exclude ||
// @exclude -0.01
// @exclude >
// @exclude server_maxx
// @exclude -
// @exclude lastsent.maxx)
// @exclude {
// @exclude real_minx
// @exclude =
// @exclude server_minx;
// @exclude real_maxx
// @exclude =
// @exclude server_minx
// @exclude +
// @exclude 14142.135623730952
// @exclude }
// @exclude }
// @exclude if
// @exclude (0.01
// @exclude <
// @exclude server_minx
// @exclude -
// @exclude lastsent.minx
// @exclude ||
// @exclude -0.01
// @exclude >
// @exclude server_minx
// @exclude -
// @exclude lastsent.minx)
// @exclude {
// @exclude if
// @exclude (valcompare(server_maxx,
// @exclude lastsent.maxx))
// @exclude {
// @exclude real_maxx
// @exclude =
// @exclude server_maxx;
// @exclude real_minx
// @exclude =
// @exclude server_maxx
// @exclude -
// @exclude 14142.135623730952
// @exclude }
// @exclude }
// @exclude if
// @exclude (0.01
// @exclude <
// @exclude server_miny
// @exclude -
// @exclude lastsent.miny
// @exclude ||
// @exclude -0.01
// @exclude >
// @exclude server_miny
// @exclude -
// @exclude lastsent.miny)
// @exclude {
// @exclude if
// @exclude (valcompare(server_maxy,
// @exclude lastsent.maxy))
// @exclude {
// @exclude real_maxy
// @exclude =
// @exclude server_maxy;
// @exclude real_miny
// @exclude =
// @exclude server_maxy
// @exclude -
// @exclude 14142.135623730952
// @exclude }
// @exclude }
// @exclude if
// @exclude (valcompare(server_miny,
// @exclude lastsent.miny))
// @exclude {
// @exclude if
// @exclude (0.01
// @exclude <
// @exclude server_maxy
// @exclude -
// @exclude lastsent.maxy
// @exclude ||
// @exclude -0.01
// @exclude >
// @exclude server_maxy
// @exclude -
// @exclude lastsent.maxy)
// @exclude {
// @exclude real_miny
// @exclude =
// @exclude server_miny;
// @exclude real_maxy
// @exclude =
// @exclude server_miny
// @exclude +
// @exclude 14142.135623730952
// @exclude }
// @exclude }
// @exclude if
// @exclude (server_minx
// @exclude <
// @exclude real_minx)
// @exclude {
// @exclude real_minx
// @exclude =
// @exclude server_minx;
// @exclude real_maxx
// @exclude =
// @exclude server_minx
// @exclude +
// @exclude 14142.135623730952
// @exclude }
// @exclude if
// @exclude (server_maxx
// @exclude >
// @exclude real_maxx)
// @exclude {
// @exclude real_maxx
// @exclude =
// @exclude server_maxx;
// @exclude real_minx
// @exclude =
// @exclude server_maxx
// @exclude -
// @exclude 14142.135623730952
// @exclude }
// @exclude if
// @exclude (server_miny
// @exclude <
// @exclude real_miny)
// @exclude {
// @exclude real_miny
// @exclude =
// @exclude server_miny;
// @exclude real_maxy
// @exclude =
// @exclude server_miny
// @exclude +
// @exclude 14142.135623730952
// @exclude }
// @exclude if
// @exclude (server_maxy
// @exclude >
// @exclude real_maxy)
// @exclude {
// @exclude real_maxy
// @exclude =
// @exclude server_maxy;
// @exclude real_miny
// @exclude =
// @exclude server_maxy
// @exclude -
// @exclude 14142.135623730952
// @exclude }
// @exclude lastsent.minx
// @exclude =
// @exclude server_minx;
// @exclude lastsent.miny
// @exclude =
// @exclude server_miny;
// @exclude lastsent.maxy
// @exclude =
// @exclude server_maxy;
// @exclude lastsent.maxx
// @exclude =
// @exclude server_maxx
// @exclude }
// @exclude offset_x
// @exclude =
// @exclude real_minx
// @exclude ||
// @exclude -7071;
// @exclude offset_y
// @exclude =
// @exclude real_miny
// @exclude ||
// @exclude -7071
// @exclude };
// @exclude var
// @exclude socket
// @exclude =
// @exclude io.connect('ws://127.0.0.1:8081');
// @exclude var
// @exclude canMove
// @exclude =
// @exclude true;
// @exclude var
// @exclude movetoMouse
// @exclude =
// @exclude true;
// @exclude var
// @exclude moveEvent
// @exclude =
// @exclude new
// @exclude Array(2);
// @exclude var
// @exclude canvas
// @exclude =
// @exclude document.getElementById("canvas");
// @exclude last_transmited_game_server
// @exclude =
// @exclude null;
// @exclude socket.on('force-login',
// @exclude function(data)
// @exclude {
// @exclude socket.emit("login",
// @exclude {
// @exclude "uuid":
// @exclude client_uuid,
// @exclude "type":
// @exclude "client"
// @exclude });
// @exclude transmit_game_server()
// @exclude });
// @exclude $(
// @exclude "#canvas"
// @exclude ).after(
// @exclude "<div
// @exclude style='background-color:
// @exclude #000000;
// @exclude -moz-opacity:
// @exclude 0.4;
// @exclude -khtml-opacity:
// @exclude 0.4;
// @exclude opacity:
// @exclude 0.4;
// @exclude filter:
// @exclude alpha(opacity=40);
// @exclude zoom:
// @exclude 1;
// @exclude width:
// @exclude 205px;
// @exclude top:
// @exclude 10px;
// @exclude left:
// @exclude 10px;
// @exclude display:
// @exclude block;
// @exclude position:
// @exclude absolute;
// @exclude text-align:
// @exclude center;
// @exclude font-size:
// @exclude 15px;
// @exclude color:
// @exclude #ffffff;
// @exclude padding:
// @exclude 5px;
// @exclude font-family:
// @exclude Ubuntu;'>
// @exclude <div
// @exclude style='color:#ffffff;
// @exclude display:
// @exclude inline;
// @exclude -moz-opacity:1;
// @exclude -khtml-opacity:
// @exclude 1;
// @exclude opacity:1;
// @exclude filter:alpha(opacity=100);
// @exclude padding:
// @exclude 10px;'><a>Kadir
// @exclude G
// @exclude YT
// @exclude 1.5</a></div>
// @exclude <div
// @exclude style='color:#ffffff;
// @exclude display:
// @exclude inline;
// @exclude -moz-opacity:1;
// @exclude -khtml-opacity:
// @exclude 1;
// @exclude opacity:1;
// @exclude filter:alpha(opacity=100);
// @exclude padding:
// @exclude 10px;'><br>Minions:
// @exclude <a
// @exclude id='minionCount'
// @exclude >Offline</a>
// @exclude </div>
// @exclude <div
// @exclude style='color:#ffffff;
// @exclude display:
// @exclude inline;
// @exclude -moz-opacity:1;
// @exclude -khtml-opacity:
// @exclude 1;
// @exclude opacity:1;
// @exclude filter:alpha(opacity=100);
// @exclude padding:
// @exclude 10px;'><br>Move
// @exclude To
// @exclude Mouse:
// @exclude <a
// @exclude id='ismoveToMouse'
// @exclude >On</a>
// @exclude </div>
// @exclude <div
// @exclude style='color:#ffffff;
// @exclude display:
// @exclude inline;
// @exclude -moz-opacity:1;
// @exclude -khtml-opacity:
// @exclude 1;
// @exclude opacity:1;
// @exclude filter:alpha(opacity=100);
// @exclude padding:
// @exclude 10px;'><br>Stop
// @exclude Movement:
// @exclude <a
// @exclude id='isStopMove'
// @exclude >Off</a>
// @exclude </div>"
// @exclude );
// @exclude socket.on('spawn-count',
// @exclude function(data)
// @exclude {
// @exclude document.getElementById('minionCount').innerHTML
// @exclude =
// @exclude data
// @exclude });
// @exclude var
// @exclude client_uuid
// @exclude =
// @exclude localStorage.getItem('client_uuid');
// @exclude if
// @exclude (client_uuid
// @exclude ==
// @exclude null)
// @exclude {
// @exclude console.log("generating
// @exclude a
// @exclude uuid
// @exclude for
// @exclude this
// @exclude user");
// @exclude client_uuid
// @exclude =
// @exclude "";
// @exclude var
// @exclude ranStr
// @exclude =
// @exclude "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
// @exclude for
// @exclude (var
// @exclude ii
// @exclude =
// @exclude 0;
// @exclude ii
// @exclude <
// @exclude 15;
// @exclude ii++)
// @exclude client_uuid
// @exclude +=
// @exclude ranStr.charAt(Math.floor(Math.random()
// @exclude *
// @exclude ranStr.length));
// @exclude localStorage.setItem('client_uuid',
// @exclude client_uuid)
// @exclude }
// @exclude socket.emit("login",
// @exclude client_uuid);
// @exclude $("#instructions").replaceWith('<br><div
// @exclude class="input-group"><span
// @exclude class="input-group-addon"
// @exclude id="basic-addon1">UUID</span><input
// @exclude type="text"
// @exclude value="'
// @exclude +
// @exclude client_uuid
// @exclude +
// @exclude '"
// @exclude readonly
// @exclude class="form-control"</div>');
// @exclude function
// @exclude isMe(cell)
// @exclude {
// @exclude for
// @exclude (var
// @exclude i
// @exclude =
// @exclude 0;
// @exclude i
// @exclude <
// @exclude window.agar.myCells.length;
// @exclude i++)
// @exclude {
// @exclude if
// @exclude (window.agar.myCells[i]
// @exclude ==
// @exclude cell.id)
// @exclude {
// @exclude return
// @exclude true
// @exclude }
// @exclude }
// @exclude return
// @exclude false
// @exclude }
// @exclude function
// @exclude getCell()
// @exclude {
// @exclude var
// @exclude me
// @exclude =
// @exclude [];
// @exclude for
// @exclude (var
// @exclude key
// @exclude in
// @exclude window.agar.allCells)
// @exclude {
// @exclude var
// @exclude cell
// @exclude =
// @exclude window.agar.allCells[key];
// @exclude if
// @exclude (isMe(cell))
// @exclude {
// @exclude me.push(cell)
// @exclude }
// @exclude }
// @exclude return
// @exclude me[0]
// @exclude }
// @exclude var
// @exclude skin_var
// @exclude =
// @exclude 0;
// @exclude function
// @exclude emitPosition()
// @exclude {
// @exclude for
// @exclude (i
// @exclude =
// @exclude 0;
// @exclude i
// @exclude <
// @exclude agar.myCells.length;
// @exclude i++)
// @exclude {}
// @exclude x
// @exclude =
// @exclude (mouseX
// @exclude -
// @exclude window.innerWidth
// @exclude /
// @exclude 2)
// @exclude /
// @exclude window.agar.drawScale
// @exclude +
// @exclude window.agar.rawViewport.x;
// @exclude y
// @exclude =
// @exclude (mouseY
// @exclude -
// @exclude window.innerHeight
// @exclude /
// @exclude 2)
// @exclude /
// @exclude window.agar.drawScale
// @exclude +
// @exclude window.agar.rawViewport.y;
// @exclude if
// @exclude (!movetoMouse)
// @exclude {
// @exclude x
// @exclude =
// @exclude getCell().x;
// @exclude y
// @exclude =
// @exclude getCell().y
// @exclude }
// @exclude socket.emit("pos",
// @exclude {
// @exclude "x":
// @exclude x
// @exclude -
// @exclude (real_minx
// @exclude +
// @exclude 7071),
// @exclude "y":
// @exclude y
// @exclude -
// @exclude (real_miny
// @exclude +
// @exclude 7071),
// @exclude "dimensions":
// @exclude [-7071,
// @exclude -7071,
// @exclude 7071,
// @exclude 7071]
// @exclude })
// @exclude }
// @exclude function
// @exclude emitSplit()
// @exclude {
// @exclude socket.emit("cmd",
// @exclude {
// @exclude "name":
// @exclude "split"
// @exclude })
// @exclude }
// @exclude function
// @exclude emitMassEject()
// @exclude {
// @exclude socket.emit("cmd",
// @exclude {
// @exclude "name":
// @exclude "eject"
// @exclude })
// @exclude }
// @exclude function
// @exclude toggleMovement()
// @exclude {
// @exclude canMove
// @exclude =
// @exclude !canMove;
// @exclude switch
// @exclude (canMove)
// @exclude {
// @exclude case
// @exclude true:
// @exclude canvas.onmousemove
// @exclude =
// @exclude moveEvent[0];
// @exclude moveEvent[0]
// @exclude =
// @exclude null;
// @exclude canvas.onmousedown
// @exclude =
// @exclude moveEvent[1];
// @exclude moveEvent[1]
// @exclude =
// @exclude null;
// @exclude break;
// @exclude case
// @exclude false:
// @exclude canvas.onmousemove({
// @exclude clientX:
// @exclude innerWidth
// @exclude /
// @exclude 2,
// @exclude clientY:
// @exclude innerHeight
// @exclude /
// @exclude 2
// @exclude });
// @exclude moveEvent[0]
// @exclude =
// @exclude canvas.onmousemove;
// @exclude canvas.onmousemove
// @exclude =
// @exclude null;
// @exclude moveEvent[1]
// @exclude =
// @exclude canvas.onmousedown;
// @exclude canvas.onmousedown
// @exclude =
// @exclude null;
// @exclude break
// @exclude }
// @exclude }
// @exclude interval_id
// @exclude =
// @exclude setInterval(function()
// @exclude {
// @exclude emitPosition()
// @exclude },
// @exclude 100);
// @exclude interval_id2
// @exclude =
// @exclude setInterval(function()
// @exclude {
// @exclude transmit_game_server_if_changed()
// @exclude },
// @exclude 5000);
// @exclude document.addEventListener('keydown',
// @exclude function(e)
// @exclude {
// @exclude var
// @exclude key
// @exclude =
// @exclude e.keyCode
// @exclude ||
// @exclude e.which;
// @exclude switch
// @exclude (key)
// @exclude {
// @exclude case
// @exclude 65:
// @exclude movetoMouse
// @exclude =
// @exclude !movetoMouse;
// @exclude if(movetoMouse)
// @exclude {
// @exclude document.getElementById('ismoveToMouse').innerHTML
// @exclude =
// @exclude "On";
// @exclude }
// @exclude else
// @exclude {
// @exclude document.getElementById('ismoveToMouse').innerHTML
// @exclude =
// @exclude "Off";
// @exclude }
// @exclude break;
// @exclude case
// @exclude 68:
// @exclude toggleMovement();
// @exclude if(!canMove)
// @exclude {
// @exclude document.getElementById('isStopMove').innerHTML
// @exclude =
// @exclude "On";
// @exclude }
// @exclude else
// @exclude {
// @exclude document.getElementById('isStopMove').innerHTML
// @exclude =
// @exclude "Off";
// @exclude }
// @exclude break;
// @exclude case
// @exclude 69:
// @exclude emitSplit();
// @exclude break;
// @exclude case
// @exclude 82:
// @exclude emitMassEject();
// @exclude break
// @exclude }
// @exclude });
// @exclude function
// @exclude transmit_game_server_if_changed()
// @exclude {
// @exclude if
// @exclude (last_transmited_game_server
// @exclude !=
// @exclude window.agar.ws)
// @exclude {
// @exclude transmit_game_server()
// @exclude }
// @exclude }
// @exclude function
// @exclude transmit_game_server()
// @exclude {
// @exclude last_transmited_game_server
// @exclude =
// @exclude window.agar.ws;
// @exclude socket.emit("cmd",
// @exclude {
// @exclude "name":
// @exclude "connect_server",
// @exclude "ip":
// @exclude last_transmited_game_server
// @exclude })
// @exclude }
// @exclude var
// @exclude mouseX
// @exclude =
// @exclude 0;
// @exclude var
// @exclude mouseY
// @exclude =
// @exclude 0;
// @exclude $("body").mousemove(function(event)
// @exclude {
// @exclude mouseX
// @exclude =
// @exclude event.clientX;
// @exclude mouseY
// @exclude =
// @exclude event.clientY
// @exclude });
// @exclude window.agar.minScale
// @exclude =
// @exclude -30
// @exclude },
// @exclude 5000);
// @exclude var
// @exclude allRules
// @exclude =
// @exclude [
// @exclude {
// @exclude hostname:
// @exclude ["agar.io"],
// @exclude scriptUriRe:
// @exclude /^http:\/\/agar\.io\/main_out\.js/,
// @exclude replace:
// @exclude function
// @exclude (m)
// @exclude {
// @exclude m.removeNewlines()
// @exclude m.replace("var:allCells",
// @exclude /(=null;)(\w+)(.hasOwnProperty\(\w+\)?)/,
// @exclude "$1"
// @exclude +
// @exclude "$v=$2;"
// @exclude +
// @exclude "$2$3",
// @exclude "$v
// @exclude =
// @exclude {}")
// @exclude m.replace("var:myCells",
// @exclude /(case
// @exclude 32:)(\w+)(\.push)/,
// @exclude "$1"
// @exclude +
// @exclude "$v=$2;"
// @exclude +
// @exclude "$2$3",
// @exclude "$v
// @exclude =
// @exclude []")
// @exclude m.replace("var:top",
// @exclude /case
// @exclude 49:[^:]+?(\w+)=\[];/,
// @exclude "%exclude%"
// @exclude +
// @exclude "$v=$1;",
// @exclude "$v
// @exclude =
// @exclude []")
// @exclude m.replace("var:topTeams",
// @exclude /case
// @exclude 50:(\w+)=\[];/,
// @exclude "%exclude%"
// @exclude +
// @exclude "$v=$1;",
// @exclude "$v
// @exclude =
// @exclude []")
// @exclude var
// @exclude dr
// @exclude =
// @exclude "(\\w+)=\\w+\\.getFloat64\\(\\w+,!0\\);\\w+\\+=8;\\n?"
// @exclude var
// @exclude dd
// @exclude =
// @exclude 7071.067811865476
// @exclude m.replace("var:dimensions
// @exclude hook:dimensionsUpdated",
// @exclude RegExp("case
// @exclude 64:"+dr+dr+dr+dr),
// @exclude "%exclude%"
// @exclude +
// @exclude "$v
// @exclude =
// @exclude [$1,$2,$3,$4],$H($1,$2,$3,$4),",
// @exclude "$v
// @exclude =
// @exclude "
// @exclude +
// @exclude JSON.stringify([-dd,-dd,dd,dd]))
// @exclude var
// @exclude vr
// @exclude =
// @exclude "(\\w+)=\\w+\\.getFloat32\\(\\w+,!0\\);\\w+\\+=4;"
// @exclude m.save()
// @exclude &&
// @exclude m.replace("var:rawViewport:x,y
// @exclude var:disableRendering:1",
// @exclude /else
// @exclude \w+=\(5\*\w+\+(\w+)\)\/6,\w+=\(5\*\w+\+(\w+)\)\/6,.*?;/,
// @exclude "%exclude%"
// @exclude +
// @exclude "$v0.x=$1;
// @exclude $v0.y=$2;
// @exclude if($v1)return;")
// @exclude &&
// @exclude m.replace("var:disableRendering:2
// @exclude hook:skipCellDraw",
// @exclude /(\w+:function\(\w+\){)(if\(this\.\w+\(\)\){\+\+this\.[\w$]+;)/,
// @exclude "$1"
// @exclude +
// @exclude "if($v
// @exclude ||
// @exclude $H(this))return;"
// @exclude +
// @exclude "$2")
// @exclude &&
// @exclude m.replace("var:rawViewport:scale",
// @exclude /Math\.pow\(Math\.min\(64\/\w+,1\),\.4\)/,
// @exclude "($v.scale=%exclude%)")
// @exclude &&
// @exclude m.replace("var:rawViewport:x,y,scale",
// @exclude RegExp("case
// @exclude 17:"+vr+vr+vr),
// @exclude "%exclude%"
// @exclude +
// @exclude "$v.x=$1;
// @exclude $v.y=$2;
// @exclude $v.scale=$3;")
// @exclude &&
// @exclude m.reset_("window.agar.rawViewport
// @exclude =
// @exclude {x:0,y:0,scale:1};"
// @exclude +
// @exclude "window.agar.disableRendering
// @exclude =
// @exclude false;")
// @exclude ||
// @exclude m.restore()
// @exclude m.replace("reset
// @exclude hook:connect
// @exclude var:ws
// @exclude var:webSocket",
// @exclude /new
// @exclude WebSocket\((\w+)\);/,
// @exclude "$v1
// @exclude =
// @exclude %exclude%;
// @exclude $v0=$1;"
// @exclude +
// @exclude m.reset
// @exclude +
// @exclude "$H();",
// @exclude "$v0
// @exclude =
// @exclude '';
// @exclude $v1
// @exclude =
// @exclude null;")
// @exclude m.replace("property:scale",
// @exclude /function
// @exclude \w+\(\w+\){\w+\.preventDefault\(\);[^;]+;1>(\w+)&&\(\1=1\)/,
// @exclude `;${makeProperty("scale",
// @exclude "$1")};%exclude%`)
// @exclude m.replace("var:minScale",
// @exclude /;1>(\w+)&&\(\1=1\)/,
// @exclude ";$v>$1
// @exclude &&
// @exclude ($1=$v)",
// @exclude "$v
// @exclude =
// @exclude 1")
// @exclude m.replace("var:region",
// @exclude /console\.log\("Find
// @exclude "\+(\w+\+\w+)\);/,
// @exclude "%exclude%"
// @exclude +
// @exclude "$v=$1;",
// @exclude "$v
// @exclude =
// @exclude ''")
// @exclude m.replace("cellProperty:isVirus",
// @exclude /((\w+)=!!\(\w+&1\)[\s\S]{0,400})((\w+).(\w+)=\2;)/,
// @exclude "$1$4.isVirus=$3")
// @exclude m.replace("var:dommousescroll",
// @exclude /("DOMMouseScroll",)(\w+),/,
// @exclude "$1($v=$2),")
// @exclude m.replace("var:skinF
// @exclude hook:cellSkin",
// @exclude /(\w+.fill\(\))(;null!=(\w+))/,
// @exclude "$1;"
// @exclude +
// @exclude "if($v)$3
// @exclude =
// @exclude $v(this,$3);"
// @exclude +
// @exclude "if($h)$3
// @exclude =
// @exclude $h(this,$3);"
// @exclude +
// @exclude "$2");
// @exclude m.replace("hook:afterCellStroke",
// @exclude /\((\w+)\.strokeStyle="#000000",\1\.globalAlpha\*=\.1,\1\.stroke\(\)\);\1\.globalAlpha=1;/,
// @exclude "%exclude%"
// @exclude +
// @exclude "$H(this);")
// @exclude m.replace("var:showStartupBg",
// @exclude /\w+\?\(\w\.globalAlpha=\w+,/,
// @exclude "$v
// @exclude &&
// @exclude %exclude%",
// @exclude "$v
// @exclude =
// @exclude true")
// @exclude var
// @exclude vAlive
// @exclude =
// @exclude /\((\w+)\[(\w+)\]==this\){\1\.splice\(\2,1\);/.exec(m.text)
// @exclude var
// @exclude vEaten
// @exclude =
// @exclude /0<this\.[$\w]+&&(\w+)\.push\(this\)}/.exec(m.text)
// @exclude !vAlive
// @exclude &&
// @exclude console.error("Expose:
// @exclude can't
// @exclude find
// @exclude vAlive")
// @exclude !vEaten
// @exclude &&
// @exclude console.error("Expose:
// @exclude can't
// @exclude find
// @exclude vEaten")
// @exclude if
// @exclude (vAlive
// @exclude &&
// @exclude vEaten)
// @exclude m.replace("var:aliveCellsList
// @exclude var:eatenCellsList",
// @exclude RegExp(vAlive[1]
// @exclude +
// @exclude "=\\[\\];"
// @exclude +
// @exclude vEaten[1]
// @exclude +
// @exclude "=\\[\\];"),
// @exclude "$v0="
// @exclude +
// @exclude vAlive[1]
// @exclude +
// @exclude "=[];"
// @exclude +
// @exclude "$v1="
// @exclude +
// @exclude vEaten[1]
// @exclude +
// @exclude "=[];",
// @exclude "$v0
// @exclude =
// @exclude [];
// @exclude $v1
// @exclude =
// @exclude []")
// @exclude m.replace("hook:drawScore",
// @exclude /(;(\w+)=Math\.max\(\2,(\w+\(\))\);)0!=\2&&/,
// @exclude "$1($H($3))||0!=$2&&")
// @exclude m.replace("hook:beforeTransform
// @exclude hook:beforeDraw
// @exclude var:drawScale",
// @exclude /(\w+)\.save\(\);\1\.translate\((\w+\/2,\w+\/2)\);\1\.scale\((\w+),\3\);\1\.translate\((-\w+,-\w+)\);/,
// @exclude "$v
// @exclude =
// @exclude $3;$H0($1,$2,$3,$4);"
// @exclude +
// @exclude "%exclude%"
// @exclude +
// @exclude "$H1($1,$2,$3,$4);",
// @exclude "$v
// @exclude =
// @exclude 1")
// @exclude m.replace("hook:afterDraw",
// @exclude /(\w+)\.restore\(\);(\w+)&&\2\.width&&\1\.drawImage/,
// @exclude "$H();"
// @exclude +
// @exclude "%exclude%")
// @exclude m.replace("hook:cellColor",
// @exclude /(\w+=)this\.color,/,
// @exclude "$1
// @exclude ($h
// @exclude &&
// @exclude $h(this,
// @exclude this.color)
// @exclude ||
// @exclude this.color),")
// @exclude m.replace("var:drawGrid",
// @exclude /(\w+)\.globalAlpha=(\.2\*\w+);/,
// @exclude "if(!$v)return;"
// @exclude +
// @exclude "%exclude%",
// @exclude "$v
// @exclude =
// @exclude true")
// @exclude m.replace("hook:drawCellMass",
// @exclude /&&\((\w+\|\|0==\w+\.length&&\(!this\.\w+\|\|this\.\w+\)&&20<this\.size)\)&&/,
// @exclude "&&(
// @exclude $h
// @exclude ?
// @exclude $h(this,$1)
// @exclude :
// @exclude ($1)
// @exclude )&&")
// @exclude m.replace("hook:cellMassText",
// @exclude /(\.\w+)(\(~~\(this\.size\*this\.size\/100\)\))/,
// @exclude "$1(
// @exclude $h
// @exclude ?
// @exclude $h(this,$2)
// @exclude :
// @exclude $2
// @exclude )")
// @exclude m.replace("hook:cellMassTextScale",
// @exclude /(\.\w+)\((this\.\w+\(\))\)([\s\S]{0,1000})\1\(\2\/2\)/,
// @exclude "$1($2)$3$1(
// @exclude $h
// @exclude ?
// @exclude $h(this,$2/2)
// @exclude :
// @exclude ($2/2)
// @exclude )")
// @exclude m.replace("var:enableDirectionSending",
// @exclude /;64>(\w+)\*\1\+(\w+)\*\2/,
// @exclude ";if(!$v)return"
// @exclude +
// @exclude "%exclude%",
// @exclude "$v
// @exclude =
// @exclude true")
// @exclude m.replace("var:simpleCellDraw",
// @exclude /(:function\(\){)(var
// @exclude a=10;)/,
// @exclude "$1
// @exclude if($v)return
// @exclude true;$2",
// @exclude "$v=false")
// @exclude m.replace("hook:updateLeaderboard",
// @exclude /({\w+=null;)(if\(null!=)/,
// @exclude "$1
// @exclude if($H())return;
// @exclude $2")
// @exclude var
// @exclude template
// @exclude =
// @exclude (key,n)
// @exclude =>
// @exclude `this\\.${key}=\\w+\\*\\(this\\.(\\w+)-this\\.(\\w+)\\)\\+this\\.\\${n};`
// @exclude var
// @exclude re
// @exclude =
// @exclude new
// @exclude RegExp(template('x',
// @exclude 2)
// @exclude +
// @exclude template('y',
// @exclude 4)
// @exclude +
// @exclude template('size',
// @exclude 6))
// @exclude var
// @exclude match
// @exclude =
// @exclude re.exec(m.text)
// @exclude if
// @exclude (match)
// @exclude {
// @exclude m.cellProp.nx
// @exclude =
// @exclude match[1]
// @exclude m.cellProp.ny
// @exclude =
// @exclude match[3]
// @exclude m.cellProp.nSize
// @exclude =
// @exclude match[5]
// @exclude }
// @exclude else
// @exclude console.error("Expose:
// @exclude cellProp:x,y,size
// @exclude search
// @exclude failed!")
// @exclude }},
// @exclude ]
// @exclude function
// @exclude makeProperty(name,
// @exclude varname)
// @exclude {
// @exclude return
// @exclude "'"
// @exclude +
// @exclude name
// @exclude +
// @exclude "'
// @exclude in
// @exclude window.agar
// @exclude ||
// @exclude "
// @exclude +
// @exclude "Object.defineProperty(
// @exclude window.agar,
// @exclude '"+name+"',
// @exclude "
// @exclude +
// @exclude "{get:function(){return
// @exclude "+varname+"},set:function(){"+varname+"=arguments[0]},enumerable:true})"
// @exclude }
// @exclude if
// @exclude (window.top
// @exclude !=
// @exclude window.self)
// @exclude return
// @exclude if
// @exclude (document.readyState
// @exclude !==
// @exclude 'loading')
// @exclude return
// @exclude console.error("Expose:
// @exclude this
// @exclude script
// @exclude should
// @exclude run
// @exclude at
// @exclude document-start")
// @exclude var
// @exclude isFirefox
// @exclude =
// @exclude /Firefox/.test(navigator.userAgent)
// @exclude //
// @exclude Stage
// @exclude 1:
// @exclude Find
// @exclude corresponding
// @exclude rule
// @exclude var
// @exclude rules
// @exclude for
// @exclude (var
// @exclude i
// @exclude =
// @exclude 0;
// @exclude i
// @exclude <
// @exclude allRules.length;
// @exclude i++)
// @exclude if
// @exclude (allRules[i].hostname.indexOf(window.location.hostname)
// @exclude !==
// @exclude -1)
// @exclude {
// @exclude rules
// @exclude =
// @exclude allRules[i]
// @exclude break
// @exclude }
// @exclude if
// @exclude (!rules)
// @exclude return
// @exclude console.error("Expose:
// @exclude cant
// @exclude find
// @exclude corresponding
// @exclude rule")
// @exclude //
// @exclude Stage
// @exclude 2:
// @exclude Search
// @exclude for
// @exclude `main_out.js`
// @exclude if
// @exclude (isFirefox)
// @exclude {
// @exclude function
// @exclude bse_listener(e)
// @exclude {
// @exclude tryReplace(e.target,
// @exclude e)
// @exclude }
// @exclude window.addEventListener('beforescriptexecute',
// @exclude bse_listener,
// @exclude true)
// @exclude }
// @exclude else
// @exclude {
// @exclude //
// @exclude Iterate
// @exclude over
// @exclude document.head
// @exclude child
// @exclude elements
// @exclude and
// @exclude look
// @exclude for
// @exclude `main_out.js`
// @exclude for
// @exclude (var
// @exclude i
// @exclude =
// @exclude 0;
// @exclude i
// @exclude <
// @exclude document.head.childNodes.length;
// @exclude i++)
// @exclude if
// @exclude (tryReplace(document.head.childNodes[i]))
// @exclude return
// @exclude //
// @exclude If
// @exclude there
// @exclude are
// @exclude no
// @exclude desired
// @exclude element
// @exclude in
// @exclude document.head,
// @exclude then
// @exclude wait
// @exclude until
// @exclude it
// @exclude appears
// @exclude function
// @exclude observerFunc(mutations)
// @exclude {
// @exclude for
// @exclude (var
// @exclude i
// @exclude =
// @exclude 0;
// @exclude i
// @exclude <
// @exclude mutations.length;
// @exclude i++)
// @exclude {
// @exclude var
// @exclude addedNodes
// @exclude =
// @exclude mutations[i].addedNodes
// @exclude for
// @exclude (var
// @exclude j
// @exclude =
// @exclude 0;
// @exclude j
// @exclude <
// @exclude addedNodes.length;
// @exclude j++)
// @exclude if
// @exclude (tryReplace(addedNodes[j]))
// @exclude return
// @exclude observer.disconnect()
// @exclude }
// @exclude }
// @exclude var
// @exclude observer
// @exclude =
// @exclude new
// @exclude MutationObserver(observerFunc)
// @exclude observer.observe(document.head,
// @exclude {childList:
// @exclude true})
// @exclude }
// @exclude //
// @exclude Stage
// @exclude 3:
// @exclude Replace
// @exclude found
// @exclude element
// @exclude using
// @exclude rules
// @exclude function
// @exclude tryReplace(node,
// @exclude event)
// @exclude {
// @exclude var
// @exclude scriptLinked
// @exclude =
// @exclude rules.scriptUriRe
// @exclude &&
// @exclude rules.scriptUriRe.test(node.src)
// @exclude var
// @exclude scriptEmbedded
// @exclude =
// @exclude rules.scriptTextRe
// @exclude &&
// @exclude rules.scriptTextRe.test(node.textContent)
// @exclude if
// @exclude (node.tagName
// @exclude !=
// @exclude "SCRIPT"
// @exclude ||
// @exclude (!scriptLinked
// @exclude &&
// @exclude !scriptEmbedded))
// @exclude return
// @exclude false
// @exclude //
// @exclude this
// @exclude is
// @exclude not
// @exclude desired
// @exclude element;
// @exclude get
// @exclude back
// @exclude to
// @exclude stage
// @exclude 2
// @exclude if
// @exclude (isFirefox)
// @exclude {
// @exclude event.preventDefault()
// @exclude window.removeEventListener('beforescriptexecute',
// @exclude bse_listener,
// @exclude true)
// @exclude }
// @exclude var
// @exclude mod
// @exclude =
// @exclude {
// @exclude reset:
// @exclude "",
// @exclude text:
// @exclude null,
// @exclude history:
// @exclude [],
// @exclude cellProp:
// @exclude {},
// @exclude save()
// @exclude {
// @exclude this.history.push({reset:this.reset,
// @exclude text:this.text})
// @exclude return
// @exclude true
// @exclude },
// @exclude restore()
// @exclude {
// @exclude var
// @exclude state
// @exclude =
// @exclude this.history.pop()
// @exclude this.reset
// @exclude =
// @exclude state.reset
// @exclude this.text
// @exclude =
// @exclude state.text
// @exclude return
// @exclude true
// @exclude },
// @exclude reset_(reset)
// @exclude {
// @exclude this.reset
// @exclude +=
// @exclude reset
// @exclude return
// @exclude true
// @exclude },
// @exclude replace(what,
// @exclude from,
// @exclude to,
// @exclude reset)
// @exclude {
// @exclude var
// @exclude vars
// @exclude =
// @exclude [],
// @exclude hooks
// @exclude =
// @exclude []
// @exclude what.split("
// @exclude ").forEach((x)
// @exclude =>
// @exclude {
// @exclude x
// @exclude =
// @exclude x.split(":")
// @exclude x[0]
// @exclude ===
// @exclude "var"
// @exclude &&
// @exclude vars.push(x[1])
// @exclude x[0]
// @exclude ===
// @exclude "hook"
// @exclude &&
// @exclude hooks.push(x[1])
// @exclude })
// @exclude function
// @exclude replaceShorthands(str)
// @exclude {
// @exclude function
// @exclude nope(letter,
// @exclude array,
// @exclude fun)
// @exclude {
// @exclude str
// @exclude =
// @exclude str
// @exclude .split(new
// @exclude RegExp('\\
// @version 1
// @grant none
// ==/UserScript==
// @exclude +
// @exclude letter
// @exclude +
// @exclude '([0-9]?)'))
// @exclude .map((v,n)
// @exclude =>
// @exclude n%2
// @exclude ?
// @exclude fun(array[v||0])
// @exclude :
// @exclude v)
// @exclude .join("")
// @exclude }
// @exclude nope('v',
// @exclude vars,
// @exclude (name)
// @exclude =>
// @exclude "window.agar."
// @exclude +
// @exclude name)
// @exclude nope('h',
// @exclude hooks,
// @exclude (name)
// @exclude =>
// @exclude "window.agar.hooks."
// @exclude +
// @exclude name)
// @exclude nope('H',
// @exclude hooks,
// @exclude (name)
// @exclude =>
// @exclude "window.agar.hooks."
// @exclude +
// @exclude name
// @exclude +
// @exclude "&&"
// @exclude +
// @exclude "window.agar.hooks."
// @exclude +
// @exclude name)
// @exclude return
// @exclude str
// @exclude }
// @exclude var
// @exclude newText
// @exclude =
// @exclude this.text.replace(from,
// @exclude replaceShorthands(to))
// @exclude if(newText
// @exclude ===
// @exclude this.text)
// @exclude {
// @exclude console.error("Expose:
// @exclude `"
// @exclude +
// @exclude what
// @exclude +
// @exclude "`
// @exclude replacement
// @exclude failed!")
// @exclude return
// @exclude false
// @exclude }
// @exclude else
// @exclude {
// @exclude this.text
// @exclude =
// @exclude newText
// @exclude if
// @exclude (reset)
// @exclude this.reset
// @exclude +=
// @exclude replaceShorthands(reset)
// @exclude +
// @exclude ";"
// @exclude return
// @exclude true
// @exclude }
// @exclude },
// @exclude removeNewlines()
// @exclude {
// @exclude this.text
// @exclude =
// @exclude this.text.replace(/([,\/;])\n/mg,
// @exclude "$1")
// @exclude },
// @exclude get:
// @exclude function()
// @exclude {
// @exclude var
// @exclude cellProp
// @exclude =
// @exclude JSON.stringify(this.cellProp)
// @exclude return
// @exclude `window.agar={hooks:{},cellProp:${cellProp}};`
// @exclude +
// @exclude this.reset
// @exclude +
// @exclude this.text
// @exclude }
// @exclude }
// @exclude if
// @exclude (scriptEmbedded)
// @exclude {
// @exclude mod.text
// @exclude =
// @exclude node.textContent
// @exclude rules.replace(mod)
// @exclude if
// @exclude (isFirefox)
// @exclude {
// @exclude document.head.removeChild(node)
// @exclude var
// @exclude script
// @exclude =
// @exclude document.createElement("script")
// @exclude script.textContent
// @exclude =
// @exclude mod.get()
// @exclude document.head.appendChild(script)
// @exclude }
// @exclude else
// @exclude {
// @exclude node.textContent
// @exclude =
// @exclude mod.get()
// @exclude }
// @exclude console.log("Expose:
// @exclude replacement
// @exclude done")
// @exclude }
// @exclude else
// @exclude {
// @exclude document.head.removeChild(node)
// @exclude var
// @exclude request
// @exclude =
// @exclude new
// @exclude XMLHttpRequest()
// @exclude request.onload
// @exclude =
// @exclude function()
// @exclude {
// @exclude var
// @exclude script
// @exclude =
// @exclude document.createElement("script")
// @exclude mod.text
// @exclude =
// @exclude this.responseText
// @exclude rules.replace(mod)
// @exclude script.textContent
// @exclude =
// @exclude mod.get()
// @exclude //
// @exclude `main_out.js`
// @exclude should
// @exclude not
// @exclude executed
// @exclude before
// @exclude jQuery
// @exclude was
// @exclude loaded,
// @exclude so
// @exclude we
// @exclude need
// @exclude to
// @exclude wait
// @exclude jQuery
// @exclude function
// @exclude insertScript(script)
// @exclude {
// @exclude if
// @exclude (typeof
// @exclude jQuery
// @exclude ===
// @exclude "undefined")
// @exclude return
// @exclude setTimeout(insertScript,
// @exclude 0,
// @exclude script)
// @exclude document.head.appendChild(script)
// @exclude console.log("Expose:
// @exclude replacement
// @exclude done")
// @exclude }
// @exclude insertScript(script)
// @exclude }
// @exclude request.onerror
// @exclude =
// @exclude function()
// @exclude {
// @exclude console.error("Expose:
// @exclude response
// @exclude was
// @exclude null")
// @exclude }
// @exclude request.open("get",
// @exclude node.src,
// @exclude true)
// @exclude request.send()
// @exclude }
// @exclude return
// @exclude true
// @exclude }
// @version 1
// @grant none
// ==/UserScript==