diff --git a/app/schemas/models/level.coffee b/app/schemas/models/level.coffee
index eba42f599..31ce3f3f9 100644
--- a/app/schemas/models/level.coffee
+++ b/app/schemas/models/level.coffee
@@ -230,6 +230,7 @@ _.extend LevelSchema.properties,
     title: 'Next Level',
     description: 'Reference to the next level players will play after beating this one.'
   }
+  employerDescription: { type:'string' }
   scripts: c.array {title: 'Scripts', description: 'An array of scripts that trigger based on what the player does and affect things outside of the core level simulation.', 'default': []}, ScriptSchema
   thangs: c.array {title: 'Thangs', description: 'An array of Thangs that make up the level.', 'default': []}, LevelThangSchema
   systems: c.array {title: 'Systems', description: 'Levels are configured by changing the Systems attached to them.', uniqueItems: true, default: []}, LevelSystemSchema  # TODO: uniqueness should be based on 'original', not whole thing
diff --git a/app/schemas/models/level_session.coffee b/app/schemas/models/level_session.coffee
index f4f629914..92ff0f5ba 100644
--- a/app/schemas/models/level_session.coffee
+++ b/app/schemas/models/level_session.coffee
@@ -13,7 +13,7 @@ LevelSessionPlayerSchema = c.object
   changes:
     type: 'Number'
 
-LevelSessionLevelSchema = c.object {required: ['original', 'majorVersion']},
+LevelSessionLevelSchema = c.object {required: ['original', 'majorVersion'], links: [{rel: 'db', href: '/db/level/{(original)}/version/{(majorVersion)}'}]},
   original: c.objectId({})
   majorVersion:
     type: 'integer'
diff --git a/app/styles/common/level_session_code_view.sass b/app/styles/common/level_session_code_view.sass
new file mode 100644
index 000000000..2e5ae518b
--- /dev/null
+++ b/app/styles/common/level_session_code_view.sass
@@ -0,0 +1,19 @@
+.level-session-code-view
+  #level-icon
+    width: 100px
+    margin-right: 10px
+    display: inline-block
+    float: left
+   
+  #level-meta-data
+    margin-left: 120px
+    
+  #session-code
+    clear: both
+    
+    h3
+      font-family: Arial
+      
+    .code
+      height: 600px
+      border: 2px solid black
\ No newline at end of file
diff --git a/app/templates/account/job_profile_code_modal.jade b/app/templates/account/job_profile_code_modal.jade
new file mode 100644
index 000000000..6fb40e492
--- /dev/null
+++ b/app/templates/account/job_profile_code_modal.jade
@@ -0,0 +1,13 @@
+extends /templates/modal/modal_base
+
+block modal-header-content
+  .modal-header
+    h3 Applicant Code
+
+block modal-body-content
+  .modal-body
+    .level-session-code-view
+
+block modal-footer
+  .modal-footer
+    button(data-dismiss="modal", data-i18n="modal.close").btn Close
diff --git a/app/templates/account/profile.jade b/app/templates/account/profile.jade
index 11c0d6956..3f71b8b34 100644
--- a/app/templates/account/profile.jade
+++ b/app/templates/account/profile.jade
@@ -181,13 +181,14 @@ block content
               ul.sessions
                 each session in sessions
                   li
-                    - var sessionLink = "/play/level/" + session.levelID + "?team=" + (session.team || 'humans') + (myProfile ? '' : "&session=" + session._id);
-                    a(href=sessionLink)
-                      span= session.levelName
-                      if session.team
-                        span  #{session.team}
-                    if session.codeLanguage != 'javascript'
-                      span  - #{{coffeescript: 'CoffeeScript', python: 'Python', lua: 'Lua', io: 'Io', clojure: 'Clojure'}[session.codeLanguage]}
+                    span.session-link(data-session-id=session._id)= session.levelName
+                    //- var sessionLink = "/play/level/" + session.levelID + "?team=" + (session.team || 'humans') + (myProfile ? '' : "&session=" + session._id);
+                    //a(href=sessionLink)
+                    //  span= session.levelName
+                    //  if session.team
+                    //    span  #{session.team}
+                    //if session.codeLanguage != 'javascript'
+                    //  span  - #{{coffeescript: 'CoffeeScript', python: 'Python', lua: 'Lua', io: 'Io', clojure: 'Clojure'}[session.codeLanguage]}
 
         .middle-column.full-height-column
           .sub-column
diff --git a/app/templates/common/level_session_code.jade b/app/templates/common/level_session_code.jade
new file mode 100644
index 000000000..eb6f6a867
--- /dev/null
+++ b/app/templates/common/level_session_code.jade
@@ -0,0 +1,13 @@
+div#session-info
+  img(src='/file/'+levelIcon alt='levelIcon')#level-icon
+  div#level-meta-data
+    strong= levelName
+    p!= levelDescription
+  
+div#session-code
+  for spell in levelSpells
+    .panel.panel-success
+      .panel-heading
+        h3= spell.name
+      .panel-body
+        .code= spell.code
\ No newline at end of file
diff --git a/app/views/account/JobProfileCodeModal.coffee b/app/views/account/JobProfileCodeModal.coffee
new file mode 100644
index 000000000..d8545bd43
--- /dev/null
+++ b/app/views/account/JobProfileCodeModal.coffee
@@ -0,0 +1,19 @@
+ModalView = require 'views/kinds/ModalView'
+template = require 'templates/account/job_profile_code_modal'
+LevelSessionCodeView = require 'views/common/LevelSessionCodeView'
+console.log 'template', template
+
+module.exports = class JobProfileCodeModal extends ModalView
+  id: 'job_profile_code_modal'
+  template: template
+  
+  constructor: (options) ->
+    super(arguments...)
+    @session = options.session
+
+  afterRender: ->
+    super()
+    return unless @session.loaded
+    codeView = new LevelSessionCodeView({session:@session})
+    @insertSubView(codeView)
+    
\ No newline at end of file
diff --git a/app/views/account/profile_view.coffee b/app/views/account/profile_view.coffee
index bccb1c7d0..3d3b0b823 100644
--- a/app/views/account/profile_view.coffee
+++ b/app/views/account/profile_view.coffee
@@ -9,6 +9,7 @@ JobProfileView = require 'views/account/job_profile_view'
 UserRemark = require 'models/UserRemark'
 forms = require 'lib/forms'
 ModelModal = require 'views/modal/model_modal'
+JobProfileCodeModal = require './JobProfileCodeModal'
 
 class LevelSessionsCollection extends CocoCollection
   url: -> "/db/user/#{@userID}/level.sessions/employer"
@@ -51,6 +52,7 @@ module.exports = class ProfileView extends RootView
     'keyup .editable-profile .editable-array input': 'onEditArray'
     'click .editable-profile a': 'onClickLinkWhileEditing'
     'change #admin-contact': 'onAdminContactChanged'
+    'click .session-link': 'onSessionLinkPressed'
 
   constructor: (options, @userID) ->
     @userID ?= me.id
@@ -586,3 +588,9 @@ module.exports = class ProfileView extends RootView
       {name: t('account_profile.next_photo'), weight: 2, container: '#profile-photo-container', fn: modified 'photoURL'}
       {name: t('account_profile.next_active'), weight: 1, fn: modified 'active'}
     ]
+
+  onSessionLinkPressed: (e) ->
+    sessionID = $(e.target).data('session-id')
+    session = _.find @sessions.models, (session) -> session.id is sessionID
+    modal = new JobProfileCodeModal({session:session})
+    @openModalView modal
\ No newline at end of file
diff --git a/app/views/common/LevelSessionCodeView.coffee b/app/views/common/LevelSessionCodeView.coffee
new file mode 100644
index 000000000..9a38166fb
--- /dev/null
+++ b/app/views/common/LevelSessionCodeView.coffee
@@ -0,0 +1,46 @@
+CocoView = require 'views/kinds/CocoView'
+template = require 'templates/common/level_session_code'
+
+Level = require 'models/Level'
+LevelSession = require 'models/LevelSession'
+
+module.exports = class LevelSessionCodeView extends CocoView
+  className: 'level-session-code-view'
+  template: template
+  modalWidthPercent: 80
+  plain: true
+
+  constructor: (options) ->
+    super(options)
+    @session = options.session
+    @level = LevelSession.getReferencedModel(@session.get('level'), LevelSession.schema.properties.level)
+    @level.setProjection ['employerDescription', 'name', 'icon']
+    @supermodel.loadModel @level, 'level'
+
+  getRenderData: ->
+    c = super()
+    c.levelIcon = @level.get('icon')
+    c.levelName = @level.get('name')
+    c.levelDescription = marked(@level.get('employerDescription') or '')
+    c.levelSpells = @organizeCode()
+    c
+    
+  afterRender: ->
+    super()
+    @$el.find('.code').each (index, codeEl) ->
+      editor = ace.edit codeEl
+      editor.setReadOnly true
+      aceSession = editor.getSession()
+      aceSession.setMode 'ace/mode/javascript'
+    
+  organizeCode: ->
+    team = @session.get('team') or 'humans'
+    teamSpells = @session.get('teamSpells')[team] or []
+    filteredSpells = []
+    for spell in teamSpells
+      code = @session.getSourceFor(spell)
+      filteredSpells.push {
+        code: code
+        name: spell.split('/')[1]
+      }
+    filteredSpells 
\ No newline at end of file
diff --git a/server/users/user_handler.coffee b/server/users/user_handler.coffee
index 275807ad7..fbd13ec19 100644
--- a/server/users/user_handler.coffee
+++ b/server/users/user_handler.coffee
@@ -233,7 +233,7 @@ UserHandler = class UserHandler extends Handler
   getLevelSessionsForEmployer: (req, res, userID) ->
     return @sendUnauthorizedError(res) unless req.user._id+'' is userID or req.user.isAdmin() or ('employer' in req.user.get('permissions'))
     query = creator: userID, levelID: {$in: ['gridmancer', 'greed', 'dungeon-arena', 'brawlwood', 'gold-rush']}
-    projection = 'levelName levelID team playtime codeLanguage submitted code totalScore'
+    projection = 'levelName levelID team playtime codeLanguage submitted code totalScore teamSpells level'
     LevelSession.find(query).select(projection).exec (err, documents) =>
       return @sendDatabaseError(res, err) if err
       documents = (LevelSessionHandler.formatEntity(req, doc) for doc in documents)
diff --git a/test/demo/views/common/LevelSessionCodeView.demo.coffee b/test/demo/views/common/LevelSessionCodeView.demo.coffee
new file mode 100644
index 000000000..938bec582
--- /dev/null
+++ b/test/demo/views/common/LevelSessionCodeView.demo.coffee
@@ -0,0 +1,65 @@
+LevelSessionCodeView = require 'views/common/LevelSessionCodeView'
+LevelSession = require 'models/LevelSession'
+
+levelSessionData = {
+  "_id": "5334901f0a0f9b286f57382c",
+  "level": {
+    "original": "533353722a61b7ca6832840c",
+    "majorVersion": 0
+  },
+  "team": "humans",
+  "code": {
+    "coin-generator-9000": {
+      "chooseAction": "var buildOrder = ['coin2', 'coin3', 'coin4'];\n//if (Math.random() < 0.25)\n//    this.build(buildOrder[this.built.length % buildOrder.length]);\nif (Math.random() < 0.05)\n    this.build('gem');\nelse if (Math.random() < 0.25)\n    this.build(buildOrder[this.built.length % buildOrder.length])\nelse if (Math.random() < 0.5)\n    this.build('coin');\n\n\n\nvar human = this.getThangByID(\"Tharin\");\nvar ogre = this.getThangByID(\"Mak Fod\");\n\n//this.say(human.gold);\n\n//this.say(\"Humans: \" + human.gold + \", \" + \"Ogres: \" + ogre.gold);\n\nif(ogre.gold >= 150) {\n    this.say(\"Ogres win!\");\n    this.setGoalState(\"goldOgres\", \"success\");\n}\n\nelse if(human.gold >= 150) {\n    this.say(\"Humans win!\");\n    this.setGoalState(\"goldHumans\", \"success\");\n}"
+    },
+    "programmable-coin": {
+      "chooseAction": "//this.say(\"Say, who's in charge around here?\");  // Should fill in some default source\n\n//var time = this.now();\n//if(Math.round(time) % 20 === 0) {\nif (typeof this.teleportOnce === 'undefined') {\n    this.teleportRandom();\n    this.teleportOnce = true;\n}\n//}"
+    },
+    "tharin": {
+      "chooseAction": "var t = this;\nvar e = t.getNearestEnemy();\nvar vec = new Vector(0, 0);\n\nfunction item_worth(item) {\n    return item.bountyGold/Math.pow(item.distance(e) - t.distance(item), 1.5);\n}\n\nvar items = this.getItems();\nfor (var i = 0; i < items.length; i++) {\n    var item = items[i];\n    var direction = Vector.normalize(Vector.subtract(item.pos, this.pos));\n    var weighted_dir = Vector.multiply(direction, 1000 * item_worth(item));\n    vec = Vector.add(vec, weighted_dir);\n}\n\nvar action = \"move\";\nif (typeof this.used_terrify == \"undefined\") {\n    var enemy = this.getNearestEnemy();\n    \n    if (enemy.gold >= 140 || this.distance(enemy) <= 15) {\n        action = \"terrify\";\n    }\n}\n\nif (action == \"move\") {\n    var best_item = null;\n    var best_item_value = 0;\n    for (var i = 0; i < items.length; i++) {\n        var item = items[i];\n        var direction = Vector.subtract(item.pos, this.pos);\n        \n        var angle = Math.acos(vec.dot(direction) / (vec.magnitude() * direction.magnitude()))\n        if (angle < Math.PI / 16 || angle > Math.PI * (31/16)) {\n            if (item_worth(item) > best_item_value) {\n                best_item_value = item_worth(item);\n                best_item = item;\n            }\n        }\n    }\n    \n    if (best_item_value > 0.05) {\n        this.move(best_item.pos);\n    } else {\n        this.say(\"Move to \" + Vector.add(this.pos, vec).x + \" \" + Vector.add(this.pos, vec).y);\n        this.move(Vector.add(this.pos, vec));\n    }\n} else if (action == \"terrify\") {\n    //this.terrify();\n    this.used_terrify = true;\n}\n/*\n\n// This code runs once per frame. Choose where to move to grab gold!\n// First player to 150 gold wins.\n\n// This is an example of grabbing the 0th coin from the items array.\nvar items = this.getItems();\nif (items[0]) {\n    this.move(items[0].pos);\n} else {\n    this.moveXY(18, 36);\n}\n\n\n// You can surely pick a better coin using the methods below.\n// Click on a coin to see its API.\n*/\n"
+    },
+    "wizard-purple": {
+      "chooseAction": "//this.say(\"Say, who's in charge around here?\");  // Should fill in some default source\n\n//var time = this.now();\n\n//if(Math.round(time) % 20 == 0) {\n    this.build('coin');\n//    console.log(\"build coin\");\n//}"
+    }
+  },
+  "teamSpells": {
+    "common": [
+      "coin-generator-9000/chooseAction"
+    ],
+    "humans": [
+      "tharin/chooseAction"
+    ],
+    "ogres": [
+      "mak-fod/chooseAction"
+    ]
+  },
+  "levelID": "gold-rush",
+  "levelName": "Gold Rush",
+  "totalScore": 39.23691444835561,
+  "submitted": true,
+  "submittedCodeLanguage": "javascript",
+  "playtime": 1158,
+  "codeLanguage": "javascript"
+}
+
+levelData = {
+  "_id": "53c71962587cd615bf404919",
+  "name": "Dungeon Arena",
+  "icon": "db/level/53173f76c269d400000543c2/11_dungeon.png",
+  "description": "This level is indescribably flarmy!",
+  "employerDescription": "A DotA-like level where players:\n* Take control of a hero with special abilities\n* Choose which sorts of troops to build.\n* Have limited control over their troops."
+  "version": {
+    "minor": 0,
+    "major": 0,
+    "isLatestMajor": true,
+    "isLatestMinor": true
+  }
+}
+
+module.exports = ->
+  session = new LevelSession(levelSessionData)
+  v = new LevelSessionCodeView({session:session})
+  request = jasmine.Ajax.requests.mostRecent()
+  request.response({status: 200, responseText: JSON.stringify(levelData)})
+  console.log 'okay should be fine'
+  v
diff --git a/test/demo/views/user/JobProfileView.demo.coffee b/test/demo/views/user/JobProfileView.demo.coffee
index 2aabea003..b3a8e1b03 100644
--- a/test/demo/views/user/JobProfileView.demo.coffee
+++ b/test/demo/views/user/JobProfileView.demo.coffee
@@ -3,7 +3,6 @@ ProfileView = require 'views/account/profile_view'
 responses =
   '/db/user/joe/nameToID':'512ef4805a67a8c507000001'
   
-  
   '/db/user/512ef4805a67a8c507000001': {
     "_id": "512ef4805a67a8c507000001",
     "__v": 47,
@@ -239,16 +238,13 @@ responses =
     "dateCreated": "2013-02-28T06:09:04.743Z"
   },
 
-
-
-
-
-
-
-
   '/db/user/512ef4805a67a8c507000001/level.sessions/employer': [
     {
       "_id": "53179b49b483edfcdb7ef13e",
+      "level": {
+        "original": "53173f76c269d400000543c2",
+        "majorVersion": 0
+      },
       "code": {
         "human-base": {
           "chooseAction": "// This is the code for your base. Decide which unit to build each frame.\n// Units you build will go into the this.built array.\n// Destroy the enemy base within 60 seconds!\n// Check out the Guide at the top for more info.\n\n// CHOOSE YOUR HERO! You can only build one hero.\nvar hero;\n//hero = 'tharin';  // A fierce knight with battlecry abilities.\n//hero = 'hushbaum';  // A fiery spellcaster hero.\n\nif(hero && !this.builtHero) {\n    this.builtHero = this.build(hero);\n    return;\n}\n\n// Soldiers are hard-to-kill, low damage melee units with 2s build cooldown.\n// Archers are fragile but deadly ranged units with 2.5s build cooldown.\nvar buildOrder = ['soldier', 'soldier', 'soldier', 'soldier', 'archer'];\nvar type = buildOrder[this.built.length % buildOrder.length];\n//this.say('Unit #' + this.built.length + ' will be a ' + type);\nthis.build(type);"
@@ -270,6 +266,18 @@ responses =
         }
       },
       "submitted": false,
+      "teamSpells": {
+        "ogres": [
+          "programmable-brawler/chooseAction",
+          "programmable-shaman/chooseAction",
+          "ogre-base/chooseAction"
+        ],
+        "humans": [
+          "programmable-librarian/chooseAction",
+          "programmable-tharin/chooseAction",
+          "human-base/chooseAction"
+        ]
+      },
       "levelID": "dungeon-arena",
       "levelName": "Dungeon Arena",
       "submittedCodeLanguage": "javascript",
@@ -278,6 +286,10 @@ responses =
     },
     {
       "_id": "53336ee91506ed33756f73e5",
+      "level": {
+        "original": "533353722a61b7ca6832840c",
+        "majorVersion": 0
+      },
       "code": {
         "tharin": {
           "chooseAction": "this.say(\"Say, who's in charge around here?\");  // Should fill in some default source"
@@ -289,6 +301,13 @@ responses =
           "chooseAction": "//this.say(\"Say, who's in charge around here?\");  // Should fill in some default source\n\n//var time = this.now();\n\n//if(Math.round(time) % 20 == 0) {\n    this.build('coin');\n//    console.log(\"build coin\");\n//}"
         }
       },
+      "teamSpells": {
+        "humans": [
+          "programmable-coin/chooseAction",
+          "tharin/chooseAction",
+          "wizard-purple/chooseAction"
+        ]
+      },
       "levelID": "gold-rush",
       "levelName": "Resource gathering multiplayer",
       "submittedCodeLanguage": "javascript",
@@ -297,6 +316,10 @@ responses =
     },
     {
       "_id": "52ae32cbef42c52f1300000d",
+      "level": {
+        "original": "52ae2460ef42c52f13000008",
+        "majorVersion": 0
+      },
       "levelID": "gridmancer",
       "levelName": "Gridmancer",
       "code": {
@@ -307,6 +330,11 @@ responses =
           "plan": "var grid = this.getNavGrid().grid;\nvar tileSize = 4;\nvar canOverlap = false;\nvar i, rect;\nthis.doWait = function() {\n    this.wait(1);\n    this.say(\"hi\");\n    this.wait(1);\n    this.say(\"there\");\n    this.wait(1);\n};\nthis.doWait();\nfor (var y = 0; y + tileSize < grid.length; y += tileSize) {\n    for (var x = 0; x + tileSize < grid[0].length;) {\n        // check if wall\n        var occupied = grid[y][x].length > 0;\n        // check if already covered by another rect\n        if (!occupied) {\n            for (i = 0; i < this.spawnedRectangles.length; ++i) {\n                rect = this.spawnedRectangles[i];\n                if (rect.pos.x - rect.width / 2 <= x && x < rect.pos.x + rect.width / 2 && rect.pos.y - rect.height / 2 < y && rect.pos.y + rect.height / 2 > y)\n                    occupied = true;\n            }\n        }\n        if (!occupied) {\n            var x2 = x,\n                y2 = y;\n            // expand to the right until we find a wall\n            while (x2 < grid[0].length - 1 && grid[y][x2 + tileSize].length === 0)\n                x2 += tileSize;\n            // expand current horizontal rectangle vertically until wall\n            var ok = true;\n            while (y2 + tileSize < grid.length && ok) {\n                var yt = y2 + tileSize;\n                // check each cell\n                for (var xt = x; xt <= x2; xt += tileSize) {\n                    if (grid[yt][xt].length > 0) {\n                        ok = false;\n                    }\n                }\n                if (!canOverlap) {\n                    // check if tile to the left is non-wall\n                    if (x > 0 && grid[yt][x - tileSize].length === 0) {\n                        // check if already has a rect\n                        var covered = false;\n                        for (i = 0; i < this.spawnedRectangles.length; ++i) {\n                            rect = this.spawnedRectangles[i];\n                            if (rect.pos.x - rect.width / 2 <= x - tileSize &&\n                                x - tileSize < rect.pos.x + rect.width / 2 &&\n                                rect.pos.y - rect.height / 2 < yt &&\n                                rect.pos.y + rect.height / 2 > yt)\n                                covered = true;\n                        }\n                        // if no wall and no rect leave open to avoid future overlap\n                        if (!covered)\n                            ok = false;\n                    }\n                }\n                // advance\n                if (ok)\n                    y2 += tileSize;\n            }\n            // done\n            this.addRect(x + tileSize / 2 + (x2 - x) / 2, y + tileSize / 2 + (y2 - y) / 2,\n                tileSize + (x2 - x), tileSize + (y2 - y));\n            x = x2 + tileSize;\n            this.wait();\n        } else {\n            x += tileSize;\n        }\n    }\n}\n\n/*\nvar tileSize = 4;\n\nvar grid;\nvar occupied, occupiedArray;\nvar numTilesX, numTilesY;\nvar x, y, y2, x2, x3, y3, lastX, lastY;\nvar width, height;\n\ngrid = this.getNavGrid().grid;\noccupiedArray = [];\n\nfor(y = 0; y + tileSize < grid.length; y += tileSize) \n{\n    occupiedArray[y] = [];\n    for(x = 0; x + tileSize < grid[y].length; x += tileSize) \n    {\n        occupiedArray[y][x] = (grid[y][x].length > 0);\n    }\n}\n\nfor(y = 0; y + tileSize < grid.length; y += tileSize) \n{\n    for(x = 0; x + tileSize < grid[y].length; x += tileSize) \n    {\n        if(!occupiedArray[y][x])\n        {\n            //Check width of rectangle\n            lastX = x;\n            y2 = y;\n            numTilesX = 0;\n            var okay = true;\n            for(x2 = x; okay &&x2 + tileSize < grid[y].length; x2 += tileSize)\n            {\n                if(occupiedArray[y2][x2])\n                {\n                    okay = false;\n                    //x2 = grid[y].length;\n                }\n                else\n                {\n                    lastX = x2;\n                    numTilesX++;\n                }\n            }\n\n            // Check height of rectangle\n            lastY = y;\n            x2 = x;\n            numTilesY = 0;\n            okay = true;\n            for(y2 = y; okay && y2 + tileSize < grid.length; y2 += tileSize)\n            {\n                var okay2 = true;\n                for(x3 = x; okay2 && x3 <= lastX; x3 += tileSize)\n                {\n                    occupied = occupiedArray[y2][x3];\n                    if(occupied)\n                    {\n                        okay2 = false;\n                        //x3 = grid[y].length;\n                    }\n                }\n                if(occupied)\n                {\n                    okay = false;\n                    //y2 = grid.length;\n                }\n                else\n                {\n                    lastY = y2;\n                    numTilesY++;\n                }\n            }\n\n            for(y3 = y; y3 <= lastY; y3 += tileSize)            \n            {\n                for(x3 = x; x3 <= lastX; x3 += tileSize)\n                {\n                    occupiedArray[y3][x3] = true;\n                }\n            }\n  \n            width = numTilesX * tileSize;\n            height = numTilesY * tileSize;\n            this.addRect( x  + (width / 2), y + (height / 2), width, height);\n            \n            this.wait();  // Hover over the timeline to help debug!\n        }       \n    }\n}\n*/\n\n\n/*\nvar todoGrid = this.getNavGrid().grid;\nvar tileSize = 4;\nvar yGridSize = todoGrid.length;\nvar xGridSize = todoGrid[0].length;\nvar x, y;\n//store all tiles which actually need to be filled\nfor(y = 0; y + tileSize < yGridSize; y += tileSize) {\n    for(x = 0; x + tileSize < xGridSize; x += tileSize) {\n        todoGrid[y][x] = todoGrid[y][x].length === 0;\n    }\n}\n\n//determine how many tiles to fill\nvar todoAnz = 0;\nfor(y = 0; y + tileSize < yGridSize; y += tileSize) {\n    for(x = 0; x + tileSize < xGridSize; x += tileSize) {\n        if(todoGrid[y][x]) {\n            todoAnz++;\n        }\n    }\n}\n\n//fill all tiles from biggest to smallest rectangle possible\nwhile(todoAnz > 0) {\n    var biggestLeftX, biggestLeftY, biggestRightX, biggestRightY, tmpX, tmpY;\n    var bigRect = 0;\n    for(y = 0; y + tileSize < yGridSize; y += tileSize) {\n        for(x = 0; x + tileSize < xGridSize; x += tileSize) {\n            if(todoGrid[y][x]) {\n            var width = 1, height = 1;\n            while(todoGrid[y][x + width * tileSize] && x + width * tileSize + tileSize < xGridSize) {\n                width++;\n            }\n            var higher = true;\n            while(higher) {\n                for(tmpX = x; tmpX < x + tileSize * width; tmpX += tileSize)\n                    if(!todoGrid[y + height * tileSize][tmpX] || y + height * tileSize + tileSize >= yGridSize) higher = false;\n                if(higher) height++;\n            }\n            if(width * height > bigRect) {\n                bigRect = width * height;\n                biggestLeftX = x;\n                biggestLeftY = y;\n                biggestRightX = x + width * tileSize;\n                biggestRightY = y + height * tileSize;\n            }\n        }\n    }\n}\nfor(tmpY = biggestLeftY; tmpY < biggestRightY; tmpY += tileSize)\n    for(tmpX = biggestLeftX; tmpX < biggestRightX; tmpX += tileSize)\n        todoGrid[tmpY][tmpX] = false;\n    this.addRect( (biggestLeftX + biggestRightX) / 2,\n                  (biggestLeftY + biggestRightY) / 2,\n                  biggestRightX - biggestLeftX,\n                  biggestRightY - biggestLeftY );\n    this.wait(0.2);\n    todoAnz -= bigRect;\n    // this.say(\"Found a \"+bigRect+\" tile Rectangle, \"+todoAnz+\" tile(s) left\");\n}\n// André\n*/\n\n/*\nvar grid = this.getNavGrid().grid;\nvar tileSize = 4;\nfor(var y = 0; y + tileSize < grid.length; y += tileSize) {\n    for(var x = 0; x + tileSize < grid[0].length; ) {\n\n        var occupied = grid[y][x].length > 0;\n\n        if (!occupied) {\n            for (var i = 0; i < this.spawnedRectangles.length; ++i) {\n                var rect = this.spawnedRectangles[i];\n                if (rect.pos.x - rect.width / 2 <= x && x <= rect.pos.x + rect.width / 2 \n                    && rect.pos.y - rect.height / 2 < y && rect.pos.y + rect.height / 2 > y)\n                    occupied = true;\n            }\n        }\n\n        if(!occupied) {\n            var x2 = x, y2 = y;\n            while (x2 < grid[0].length-1 && grid[y][x2+tileSize].length===0)\n                x2 += tileSize;\n\n            var ok = true;\n            while (y2 + tileSize < grid.length && ok) {\n                var yt = y2 + tileSize; \n                for (var xt = x; xt <= x2; xt += tileSize) {\n                    if (grid[yt][xt].length > 0) {\n                        ok = false;\n                    }\n                }\n                if (x > 0 && grid[yt][x - tileSize].length === 0)\n                    ok = false;\n                if (x2 < grid[0].length-tileSize && grid[yt][x2+tileSize].length === 0)\n                    ok = false;\n                if (ok)\n                    y2 += tileSize; \n            }\n\n\n            this.addRect(x + tileSize / 2 + (x2-x)/2, y + tileSize / 2 + (y2-y)/2, tileSize + (x2-x), tileSize + (y2-y));\n            x = x2 + tileSize;\n            this.wait();\n        } else {\n            x += tileSize;\n        }\n    }\n}\n*/\n\n/*\nvar grid = this.getNavGrid().grid;\nvar tileSize = 4;\nvar isCounting;\nvar adyacentX;\nvar startPos;\n\nfor(var y = 0; y + tileSize < grid.length; y += tileSize) {\n    isCounting = 0;\n    adyacentX = 0;\n    for(var x = 0; x + tileSize < grid[0].length; x += tileSize) {\n        var occupied = grid[y][x].length > 0;\n        if(!occupied) {\n            if(isCounting === 0)\n                startPos = x;\n            isCounting = 1;\n            adyacentX++;\n     // this.say(\"Pos(\"+x+\",\"+y+\") is occupied\");\n     // this.addRect(x + tileSize / 2, y + tileSize / 2, tileSize, tileSize);\n    // this.wait(); // Hover over the timeline to help debug!\n        }\n        else {\n       // this.say(\"Pos(\"+x+\",\"+y+\") is not occupied\");\n            isCounting = 0;\n            if(adyacentX > 0){\n      // this.say(\"writing \" + adyacentX + \"width rectangle= \" + tileSize*adyacentX);\n                this.addRect((startPos + x)/2,y+tileSize / 2,tileSize*adyacentX,tileSize);\n                }\n            adyacentX = 0;\n        }\n    }\n\n}\n\nthis.say(\"Finish!\");\n*/\n\n/*\nfunction largestRectangle(grid, bottomY, leftX, width, height) {\n    var coveredRows = [];\n    var shortestCoveredRow = width - leftX;\n    var done = false;\n    for(var y = bottomY; !done && y < height; ++y) {\n        var coveredRow = 0, done2 = false;\n        for(var x = leftX; !done2 && x < leftX + shortestCoveredRow; ++x) {\n            if(!grid[y][x].length)\n                ++coveredRow;\n            else\n                done2 = true;\n        }\n        if(!coveredRow)\n            done = true;\n        else {\n            coveredRows.push(coveredRow);\n            shortestCoveredRow = Math.min(shortestCoveredRow, coveredRow);\n        }\n    }\n    var maxArea = 0, maxAreaRows = 0, maxAreaRowLength = 0, shortestRow = 0;\n    for(var rowIndex = 0; rowIndex < coveredRows.length; ++rowIndex) {\n        var rowLength = coveredRows[rowIndex];\n        if(!shortestRow)\n            shortestRow = rowLength;\n        area = rowLength * (rowIndex + 1);\n        if(area > maxArea) {\n            maxAreaRows = rowIndex +1;\n            maxAreaRowLength = shortestRow;\n            maxArea = area;\n        }\n        shortestRow = Math.min(rowLength, shortestRow);\n    }\n    return {x: leftX + maxAreaRowLength / 2, y: bottomY + maxAreaRows / 2, width: maxAreaRowLength, height: maxAreaRows};\n}\n\nvar grid = this.getNavGrid().grid;\nvar tileSize = 4;\nfor(var y = 0; y < grid.length - tileSize / 2; y += tileSize) {\n    for(var x = 0; x < grid[0].length - tileSize / 2; x += tileSize) {\n        var occupied = grid[y][x].length > 0;\n        if(!occupied) {\n            var rect = largestRectangle(grid, y, x, grid[0].length, grid.length);\n            this.addRect(rect.x, rect.y, rect.width, rect.height);\n            //this.say(\"Placed rect \" + rect.x + \", \" + rect.y + \", \" + rect.width + \", \" + rect.height + \" for \" + grid[0].length + \",  \" + grid.length + \", \" + x + \", \" + y);\n            this.wait(0.1);\n            for(var y2 = rect.y - rect.height / 2; y2 < rect.y + rect.height / 2; ++y2) {\n                for(var x2 = rect.x - rect.width / 2; x2 < rect.x + rect.width / 2; ++x2) {\n                    grid[y2][x2] = [rect];\n                }\n            }\n        }\n    }\n}\n*/"
         }
       },
+      "teamSpells": {
+        "humans": [
+          "thoktar"
+        ]
+      },
       "submitted": false,
       "submittedCodeLanguage": "javascript",
       "playtime": 302,
@@ -314,6 +342,10 @@ responses =
     },
     {
       "_id": "5334901f0a0f9b286f57382c",
+      "level": {
+        "original": "533353722a61b7ca6832840c",
+        "majorVersion": 0
+      },
       "team": "humans",
       "code": {
         "coin-generator-9000": {
@@ -329,9 +361,20 @@ responses =
           "chooseAction": "//this.say(\"Say, who's in charge around here?\");  // Should fill in some default source\n\n//var time = this.now();\n\n//if(Math.round(time) % 20 == 0) {\n    this.build('coin');\n//    console.log(\"build coin\");\n//}"
         }
       },
+      "teamSpells": {
+        "common": [
+          "coin-generator-9000/chooseAction"
+        ],
+        "humans": [
+          "tharin/chooseAction"
+        ],
+        "ogres": [
+          "mak-fod/chooseAction"
+        ]
+      },
       "levelID": "gold-rush",
       "levelName": "Gold Rush",
-      "totalScore": 39.33094538664242,
+      "totalScore": 39.23691444835561,
       "submitted": true,
       "submittedCodeLanguage": "javascript",
       "playtime": 1158,
@@ -339,6 +382,10 @@ responses =
     },
     {
       "_id": "52dea9b77e486eeb97000001",
+      "level": {
+        "original": "52d97ecd32362bc86e004e87",
+        "majorVersion": 0
+      },
       "levelID": "brawlwood",
       "levelName": "Brawlwood",
       "code": {
@@ -391,7 +438,31 @@ responses =
           "hear": "// When the base hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here.{x: 7, y: 72}{x: 9, y: 74}{x: 4, y: 74}"
         }
       },
-      "totalScore": 24.004311721082228,
+      "totalScore": 24.138610165979667,
+      "teamSpells": {
+        "humans": [
+          "programmable-artillery/chooseAction",
+          "programmable-artillery/hear",
+          "programmable-soldier/chooseAction",
+          "programmable-soldier/hear",
+          "s-arrow-tower/chooseAction",
+          "programmable-archer/chooseAction",
+          "programmable-archer/hear",
+          "human-base/chooseAction",
+          "human-base/hear"
+        ],
+        "ogres": [
+          "programmable-shaman/chooseAction",
+          "programmable-shaman/hear",
+          "n-beam-tower/chooseAction",
+          "programmable-thrower/chooseAction",
+          "programmable-thrower/hear",
+          "programmable-munchkin/chooseAction",
+          "programmable-munchkin/hear",
+          "ogre-base/chooseAction",
+          "ogre-base/hear"
+        ]
+      },
       "team": "humans",
       "submitted": true,
       "submittedCodeLanguage": "javascript",
@@ -400,6 +471,10 @@ responses =
     },
     {
       "_id": "535701331bfa9bba14b5e03d",
+      "level": {
+        "original": "53558b5a9914f5a90d7ccddb",
+        "majorVersion": 0
+      },
       "team": "ogres",
       "levelID": "greed",
       "levelName": "Greed",
@@ -411,10 +486,21 @@ responses =
           "chooseAction": "// This is the code for your base. Decide which unit to build each frame.\n// Units you build will go into the this.built array.  \n// Destroy the enemy base within 120 seconds!     \n// Check out the Guide at the top for more info.\n\nvar base = this;\n\nvar items = this.getItems();\nvar peons = this.getByType('peon');\n\nif(peons[0]) {\n    var item = peons[0].getNearest(items);\n    var index = items.indexOf(item);\n    var index2 = _.indexOf(items, item);\n    var index3 = items.indexOf(peons[0].getNearest(items));\n} \n\nvar friendCosts = {'munchkin': 10, 'ogre': 25, 'shaman': 40, 'fangrider': 160, 'brawler': 500};\nvar enemyCosts = {'soldier': 10, 'knight': 25, 'librarian': 40, 'griffin-rider': 60, 'captain': 100, 'peasant': -1};\nvar friends = this.getFriends();\nvar enemies = this.getEnemies();\nvar ourArmyWorth = 0;\nvar theirArmyWorth = 0;\nfor(var friendIndex in friends)\n    ourArmyWorth += friendCosts[friends[friendIndex].type] || 0;\n                   \nfor(var enemyIndex in enemies) {\n    var enemy = enemies[enemyIndex];\n    if(this.distance(enemy) > 32) continue;\n    theirArmyWorth += (enemyCosts[enemies[enemyIndex].type] || 0 ) + 1;\n}    \n    \nvar type = 'peon';\nvar peons = this.getByType('peon');\nvar shamans = this.getByType('shaman', friends);\nvar nFighters = friends.length - shamans.length - peons.length;\nvar minionTypes = ['brawler', 'fangrider', 'shaman', 'ogre', 'munchkin'];\nif(this.built.length && theirArmyWorth > ourArmyWorth || this.now() > 120) {\n    for(var minionIndex in minionTypes) {\n        type = minionTypes[minionIndex];\n        if(this.gold >= friendCosts[type] && (type != 'shaman' || nFighters))\n            break;\n    }\n}\nvar cost = friendCosts[type];\nif(type == 'peon') {\n    cost = 50 + 10 * peons.length;\n    if(peons.length >= 4)\n        cost = 9001;\n}\nif (this.gold >= cost)\n    this.build(type);\n     \nvar getBestItem = function getBestItem(items, who, near, friends, enemies) {\n    var bestValue = 0;\n    var bestItem = null;\n    for (var i = 0; i < items.length; ++i) {\n        var item = items[i];\n        var d = who.pos.distanceSquared(item.pos);\n        d += who.pos.distanceSquared(near) / 5;\n        var others = friends.concat(enemies);  // hmm, less effective?\n        //var others = friends;\n        for (var j = 0; j < others.length; ++j) {\n            if(others[j] == who) continue;\n            var other = others[j];\n            if(other.team != base.team) {\n                d += 10;\n            }\n            else if(other.distance(item) < who.distance(item)) {\n                d += 40;\n            }\n        }\n        var value = item.bountyGold / d;\n        if (value > bestValue) {\n            bestItem = item;\n            bestValue = value;\n        }\n    }\n    return bestItem;\n};\n\nvar items = this.getItems();\nif(!items.length) return;\nvar ww = 85;\nvar hh = 70;\n//var hyp = Math.sqrt(ww * ww + hh * hh);\nvar centers = [\n    [{x: 2 * ww / 4, y: 2 * hh / 4}],\n    [{x: 1 * ww / 4, y: 3 * hh / 4}, {x: 3 * ww / 4, y: 1 * hh / 4}],\n    [{x: 1 * ww / 4, y: 1 * hh / 4}, {x: 2 * ww / 4, y: 3 * hh / 4}, {x: 3 * ww / 4, y: 1 * hh / 4}],\n    [{x: 1 * ww / 4, y: 1 * hh / 4}, {x: 1 * ww / 4, y: 3 * hh / 4}, {x: 3 * ww / 4, y: 1 * hh / 4}, {x: 3 * ww / 4, y: 3 * hh / 4}],\n    [{x: 1 * ww / 4, y: 1 * hh / 4}, {x: 1 * ww / 4, y: 3 * hh / 4}, {x: 3 * ww / 4, y: 1 * hh / 4}, {x: 3 * ww / 4, y: 3 * hh / 4}, {x: 2 * ww / 4, y: 2 * hh / 4}]\n];\nvar peasants = this.getByType('peasant');\nfor (var i = 0; i < peons.length; ++i) {\n    var minion = peons[i];\n    var layoutIndex = Math.min(peons.length, centers.length) - 1;\n    var layout = centers[layoutIndex];\n    var center = layout[i % layout.length];\n    var item = getBestItem(items, minion, center, peons, peasants);\n    this.command(minion, 'move', item.pos);\n}\n\n//this.say(\"Your investors overpaid! \" + ourArmyWorth + \" vs. \" + theirArmyWorth);\n\n\n// 'peon': Peons gather gold and do not fight.\n// 'munchkin': Light melee unit.\n// 'ogre': Heavy melee unit.\n// 'shaman': Support spellcaster.\n// 'fangrider': Mythically expensive super unit.\n// See the buildables documentation below for costs and the guide for more info.e"
         },
         "human-base": {
-          "chooseAction": ".......;"
+          "chooseAction": "var __interceptThis=(function(){var G=this;return function($this,sandbox){if($this==G){return sandbox;}return $this;};})();\nreturn (function (__global) {\n    var tmp0, tmp1;\n    tmp1 = function () {\n        'use strict'; _aether.logCallStart(_aether._userInfo); var alliedTypes, enemyTypes, tmp, maxkey, filterType, filterNotType, lerp, clamp, remove, removeIndex, valueFighter, valuateFighters, computeMinDistances, computeEnemyMult, computeAttractionSquared, computeSpringAssignments, items, friends, enemies, enemyBase, enemyGold, peasants, peons, assignments, i, as, createRegressionFunc, estimateVariance, estimateHighLow, militaryFriends, friendlySoldiers, militaryEnemies, nearestEnemy, PREDICTOR_HISTORY_LENGTH, PREDICTOR_SAMPLE_INTERVAL, PREDICTOR_LOOKAHEAD_TIME, enemyTotalWorth, ourMilitaryStrength, enemyMilitaryStrength, ourStrength, enemyStrength, enemyStrengthForecast, highLowE, futureEnemyBonus, doNothingState, collectState, pokeState, stockpileState, decideMilitaryToBuild, attackState, defendState, states, type, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp190, tmp191, tmp192, tmp229, tmp230, tmp231, tmp248, tmp249, tmp250, tmp263, tmp264, tmp265, tmp290, tmp291, tmp292, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, tmp356, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363, tmp364, tmp365, tmp366, tmp367, tmp368, tmp369, tmp370;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n        _aether.logStatementStart([{ofs: 749, row: 30, col: 0}, {ofs: 1054, row: 43, col: 1}]); maxkey = function (f, arr) {\n            var winner, winScore, i, elem, score, tmp371, tmp372, tmp373, tmp374, tmp375, tmp376, tmp377, tmp378, tmp379, tmp380, tmp381, tmp382, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392; f = _aether.createAPIClone(_aether, f); arr = _aether.createAPIClone(_aether, arr); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 779, row: 31, col: 4}, {ofs: 797, row: 31, col: 22}]); winner = null;  _aether.logStatement([{ofs: 779, row: 31, col: 4}, {ofs: 797, row: 31, col: 22}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 818, row: 32, col: 20}, {ofs: 823, row: 32, col: 25}]); tmp371 = 10000;  _aether.logStatement([{ofs: 818, row: 32, col: 20}, {ofs: 823, row: 32, col: 25}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 802, row: 32, col: 4}, {ofs: 824, row: 32, col: 26}]); winScore = -tmp371;  _aether.logStatement([{ofs: 802, row: 32, col: 4}, {ofs: 824, row: 32, col: 26}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 834, row: 33, col: 9}, {ofs: 843, row: 33, col: 18}]); i = 0;  _aether.logStatement([{ofs: 834, row: 33, col: 9}, {ofs: 843, row: 33, col: 18}], _aether._userInfo, false);\n            tmp373 = i;\n            tmp375 = arr;\n            tmp376 = 'length';\n            _aether.logStatementStart([{ofs: 849, row: 33, col: 24}, {ofs: 859, row: 33, col: 34}]); tmp374 = tmp375[tmp376];  _aether.logStatement([{ofs: 849, row: 33, col: 24}, {ofs: 859, row: 33, col: 34}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 845, row: 33, col: 20}, {ofs: 859, row: 33, col: 34}]); tmp372 = tmp373 < tmp374;  _aether.logStatement([{ofs: 845, row: 33, col: 20}, {ofs: 859, row: 33, col: 34}], _aether._userInfo, false);\n            tmp383: {\n                while (tmp372) {\n                    tmp384: {\n                        tmp385 = arr;\n                        tmp386 = i;\n                        _aether.logStatementStart([{ofs: 876, row: 34, col: 8}, {ofs: 894, row: 34, col: 26}]); elem = tmp385[tmp386];  _aether.logStatement([{ofs: 876, row: 34, col: 8}, {ofs: 894, row: 34, col: 26}], _aether._userInfo, false);\n                        tmp387 = f;\n                        tmp388 = elem;\n                        _aether.logStatementStart([{ofs: 903, row: 35, col: 8}, {ofs: 923, row: 35, col: 28}]); score = _aether.createAPIClone(_aether, tmp387(_aether.restoreAPIClone(_aether, tmp388)));  _aether.logStatement([{ofs: 903, row: 35, col: 8}, {ofs: 923, row: 35, col: 28}], _aether._userInfo, false);\n                        tmp390 = score;\n                        tmp391 = winScore;\n                        _aether.logStatementStart([{ofs: 936, row: 36, col: 12}, {ofs: 952, row: 36, col: 28}]); tmp389 = tmp390 > tmp391;  _aether.logStatement([{ofs: 936, row: 36, col: 12}, {ofs: 952, row: 36, col: 28}], _aether._userInfo, false);\n                        if (tmp389) {\n                            winner = elem;\n                            winScore = score;\n                        } else {\n                            ;\n                        }\n                    }\n                    tmp381 = i;\n                    tmp382 = 1;\n                    i = tmp381 + tmp382;\n                    tmp377 = i;\n                    tmp379 = arr;\n                    tmp380 = 'length';\n                    _aether.logStatementStart([{ofs: 849, row: 33, col: 24}, {ofs: 859, row: 33, col: 34}]); tmp378 = tmp379[tmp380];  _aether.logStatement([{ofs: 849, row: 33, col: 24}, {ofs: 859, row: 33, col: 34}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 845, row: 33, col: 20}, {ofs: 859, row: 33, col: 34}]); tmp372 = tmp377 < tmp378;  _aether.logStatement([{ofs: 845, row: 33, col: 20}, {ofs: 859, row: 33, col: 34}], _aether._userInfo, false);\n                }\n            }\n            tmp392 = winner;\n            return _aether.restoreAPIClone(_aether, tmp392);\n        };  _aether.logStatement([{ofs: 749, row: 30, col: 0}, {ofs: 1054, row: 43, col: 1}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 1122, row: 46, col: 0}, {ofs: 1225, row: 48, col: 1}]); filterType = function (type, arr) {\n            var tmp393, tmp394, tmp395, tmp396, tmp397; type = _aether.createAPIClone(_aether, type); arr = _aether.createAPIClone(_aether, arr); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp394 = arr;\n            tmp395 = 'filter';\n            _aether.logStatementStart([{ofs: 1177, row: 47, col: 22}, {ofs: 1216, row: 47, col: 61}]); tmp396 = function (x) {\n                var tmp398, tmp399, tmp400, tmp401, tmp402; x = _aether.createAPIClone(_aether, x); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n                tmp401 = x;\n                tmp402 = 'type';\n                _aether.logStatementStart([{ofs: 1198, row: 47, col: 43}, {ofs: 1204, row: 47, col: 49}]); tmp399 = tmp401[tmp402];  _aether.logStatement([{ofs: 1198, row: 47, col: 43}, {ofs: 1204, row: 47, col: 49}], _aether._userInfo, false);\n                tmp400 = type;\n                _aether.logStatementStart([{ofs: 1198, row: 47, col: 43}, {ofs: 1213, row: 47, col: 58}]); tmp398 = tmp399 === tmp400;  _aether.logStatement([{ofs: 1198, row: 47, col: 43}, {ofs: 1213, row: 47, col: 58}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp398);\n            };  _aether.logStatement([{ofs: 1177, row: 47, col: 22}, {ofs: 1216, row: 47, col: 61}], _aether._userInfo, false);\n            tmp397 = arr;\n            _aether.logStatementStart([{ofs: 1166, row: 47, col: 11}, {ofs: 1222, row: 47, col: 67}]); tmp393 = _aether.createAPIClone(_aether, tmp394[tmp395](_aether.restoreAPIClone(_aether, tmp396), _aether.restoreAPIClone(_aether, tmp397)));  _aether.logStatement([{ofs: 1166, row: 47, col: 11}, {ofs: 1222, row: 47, col: 67}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp393);\n        };  _aether.logStatement([{ofs: 1122, row: 46, col: 0}, {ofs: 1225, row: 48, col: 1}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 1291, row: 51, col: 0}, {ofs: 1397, row: 53, col: 1}]); filterNotType = function (type, arr) {\n            var tmp403, tmp404, tmp405, tmp406, tmp407; type = _aether.createAPIClone(_aether, type); arr = _aether.createAPIClone(_aether, arr); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp404 = arr;\n            tmp405 = 'filter';\n            _aether.logStatementStart([{ofs: 1349, row: 52, col: 22}, {ofs: 1388, row: 52, col: 61}]); tmp406 = function (x) {\n                var tmp408, tmp409, tmp410, tmp411, tmp412; x = _aether.createAPIClone(_aether, x); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n                tmp411 = x;\n                tmp412 = 'type';\n                _aether.logStatementStart([{ofs: 1370, row: 52, col: 43}, {ofs: 1376, row: 52, col: 49}]); tmp409 = tmp411[tmp412];  _aether.logStatement([{ofs: 1370, row: 52, col: 43}, {ofs: 1376, row: 52, col: 49}], _aether._userInfo, false);\n                tmp410 = type;\n                _aether.logStatementStart([{ofs: 1370, row: 52, col: 43}, {ofs: 1385, row: 52, col: 58}]); tmp408 = tmp409 !== tmp410;  _aether.logStatement([{ofs: 1370, row: 52, col: 43}, {ofs: 1385, row: 52, col: 58}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp408);\n            };  _aether.logStatement([{ofs: 1349, row: 52, col: 22}, {ofs: 1388, row: 52, col: 61}], _aether._userInfo, false);\n            tmp407 = arr;\n            _aether.logStatementStart([{ofs: 1338, row: 52, col: 11}, {ofs: 1394, row: 52, col: 67}]); tmp403 = _aether.createAPIClone(_aether, tmp404[tmp405](_aether.restoreAPIClone(_aether, tmp406), _aether.restoreAPIClone(_aether, tmp407)));  _aether.logStatement([{ofs: 1338, row: 52, col: 11}, {ofs: 1394, row: 52, col: 67}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp403);\n        };  _aether.logStatement([{ofs: 1291, row: 51, col: 0}, {ofs: 1397, row: 53, col: 1}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 1532, row: 57, col: 0}, {ofs: 1610, row: 59, col: 1}]); lerp = function (start, end, frac) {\n            var tmp413, tmp414, tmp415, tmp416, tmp417, tmp418, tmp419; start = _aether.createAPIClone(_aether, start); end = _aether.createAPIClone(_aether, end); frac = _aether.createAPIClone(_aether, frac); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp414 = start;\n            tmp418 = end;\n            tmp419 = start;\n            _aether.logStatementStart([{ofs: 1587, row: 58, col: 21}, {ofs: 1598, row: 58, col: 32}]); tmp416 = tmp418 - tmp419;  _aether.logStatement([{ofs: 1587, row: 58, col: 21}, {ofs: 1598, row: 58, col: 32}], _aether._userInfo, false);\n            tmp417 = frac;\n            _aether.logStatementStart([{ofs: 1586, row: 58, col: 20}, {ofs: 1606, row: 58, col: 40}]); tmp415 = tmp416 * tmp417;  _aether.logStatement([{ofs: 1586, row: 58, col: 20}, {ofs: 1606, row: 58, col: 40}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 1577, row: 58, col: 11}, {ofs: 1607, row: 58, col: 41}]); tmp413 = tmp414 + tmp415;  _aether.logStatement([{ofs: 1577, row: 58, col: 11}, {ofs: 1607, row: 58, col: 41}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp413);\n        };  _aether.logStatement([{ofs: 1532, row: 57, col: 0}, {ofs: 1610, row: 59, col: 1}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 1612, row: 61, col: 0}, {ofs: 1693, row: 63, col: 1}]); clamp = function (val, low, high) {\n            var tmp420, tmp421, tmp422, tmp423, tmp424, tmp425, tmp426, tmp427, tmp428, tmp429, tmp430; val = _aether.createAPIClone(_aether, val); low = _aether.createAPIClone(_aether, low); high = _aether.createAPIClone(_aether, high); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp423 = 'Math';\n            tmp421 = __global[tmp423];\n            tmp422 = 'max';\n            tmp428 = 'Math';\n            tmp426 = __global[tmp428];\n            tmp427 = 'min';\n            tmp429 = val;\n            tmp430 = high;\n            _aether.logStatementStart([{ofs: 1665, row: 62, col: 20}, {ofs: 1684, row: 62, col: 39}]); tmp424 = _aether.createAPIClone(_aether, tmp426[tmp427](_aether.restoreAPIClone(_aether, tmp429), _aether.restoreAPIClone(_aether, tmp430)));  _aether.logStatement([{ofs: 1665, row: 62, col: 20}, {ofs: 1684, row: 62, col: 39}], _aether._userInfo, false);\n            tmp425 = low;\n            _aether.logStatementStart([{ofs: 1656, row: 62, col: 11}, {ofs: 1690, row: 62, col: 45}]); tmp420 = _aether.createAPIClone(_aether, tmp421[tmp422](_aether.restoreAPIClone(_aether, tmp424), _aether.restoreAPIClone(_aether, tmp425)));  _aether.logStatement([{ofs: 1656, row: 62, col: 11}, {ofs: 1690, row: 62, col: 45}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp420);\n        };  _aether.logStatement([{ofs: 1612, row: 61, col: 0}, {ofs: 1693, row: 63, col: 1}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 1751, row: 66, col: 0}, {ofs: 1829, row: 68, col: 1}]); remove = function (elem, arr) {\n            var tmp431, tmp432, tmp433, tmp434, tmp435, tmp436, tmp437, tmp438, tmp439, tmp440; elem = _aether.createAPIClone(_aether, elem); arr = _aether.createAPIClone(_aether, arr); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp434 = arr;\n            tmp435 = 'splice';\n            tmp438 = arr;\n            tmp439 = 'indexOf';\n            tmp440 = elem;\n            _aether.logStatementStart([{ofs: 1802, row: 67, col: 22}, {ofs: 1819, row: 67, col: 39}]); tmp436 = _aether.createAPIClone(_aether, tmp438[tmp439](_aether.restoreAPIClone(_aether, tmp440)));  _aether.logStatement([{ofs: 1802, row: 67, col: 22}, {ofs: 1819, row: 67, col: 39}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 1821, row: 67, col: 41}, {ofs: 1822, row: 67, col: 42}]); tmp437 = 1;  _aether.logStatement([{ofs: 1821, row: 67, col: 41}, {ofs: 1822, row: 67, col: 42}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 1791, row: 67, col: 11}, {ofs: 1823, row: 67, col: 43}]); tmp432 = _aether.createAPIClone(_aether, tmp434[tmp435](_aether.restoreAPIClone(_aether, tmp436), _aether.restoreAPIClone(_aether, tmp437)));  _aether.logStatement([{ofs: 1791, row: 67, col: 11}, {ofs: 1823, row: 67, col: 43}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 1824, row: 67, col: 44}, {ofs: 1825, row: 67, col: 45}]); tmp433 = 0;  _aether.logStatement([{ofs: 1824, row: 67, col: 44}, {ofs: 1825, row: 67, col: 45}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 1791, row: 67, col: 11}, {ofs: 1826, row: 67, col: 46}]); tmp431 = tmp432[tmp433];  _aether.logStatement([{ofs: 1791, row: 67, col: 11}, {ofs: 1826, row: 67, col: 46}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp431);\n        };  _aether.logStatement([{ofs: 1751, row: 66, col: 0}, {ofs: 1829, row: 68, col: 1}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 1900, row: 71, col: 0}, {ofs: 1964, row: 73, col: 1}]); removeIndex = function (i, arr) {\n            var tmp441, tmp442, tmp443, tmp444, tmp445, tmp446, tmp447; i = _aether.createAPIClone(_aether, i); arr = _aether.createAPIClone(_aether, arr); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp444 = arr;\n            tmp445 = 'splice';\n            tmp446 = i;\n            _aether.logStatementStart([{ofs: 1956, row: 72, col: 25}, {ofs: 1957, row: 72, col: 26}]); tmp447 = 1;  _aether.logStatement([{ofs: 1956, row: 72, col: 25}, {ofs: 1957, row: 72, col: 26}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 1942, row: 72, col: 11}, {ofs: 1958, row: 72, col: 27}]); tmp442 = _aether.createAPIClone(_aether, tmp444[tmp445](_aether.restoreAPIClone(_aether, tmp446), _aether.restoreAPIClone(_aether, tmp447)));  _aether.logStatement([{ofs: 1942, row: 72, col: 11}, {ofs: 1958, row: 72, col: 27}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 1959, row: 72, col: 28}, {ofs: 1960, row: 72, col: 29}]); tmp443 = 0;  _aether.logStatement([{ofs: 1959, row: 72, col: 28}, {ofs: 1960, row: 72, col: 29}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 1942, row: 72, col: 11}, {ofs: 1961, row: 72, col: 30}]); tmp441 = tmp442[tmp443];  _aether.logStatement([{ofs: 1942, row: 72, col: 11}, {ofs: 1961, row: 72, col: 30}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp441);\n        };  _aether.logStatement([{ofs: 1900, row: 71, col: 0}, {ofs: 1964, row: 73, col: 1}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 2109, row: 78, col: 0}, {ofs: 2639, row: 101, col: 1}]); valueFighter = function (type) {\n            var tmp448, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp461, tmp462, tmp463, tmp464, tmp465, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471, tmp472, tmp473, tmp474, tmp475, tmp476, tmp477, tmp478, tmp479, tmp480, tmp481, tmp482, tmp483, tmp484, tmp485, tmp486, tmp487, tmp488; type = _aether.createAPIClone(_aether, type); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp448 = type;\n            tmp449: {\n                _aether.logStatementStart([{ofs: 2172, row: 80, col: 13}, {ofs: 2182, row: 80, col: 23}]); tmp486 = 'munchkin';  _aether.logStatement([{ofs: 2172, row: 80, col: 13}, {ofs: 2182, row: 80, col: 23}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}]); tmp487 = tmp448 === tmp486;  _aether.logStatement([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}], _aether._userInfo, false);\n                if (tmp487) {\n                    _aether.logStatementStart([{ofs: 2227, row: 82, col: 19}, {ofs: 2229, row: 82, col: 21}]); tmp488 = 10;  _aether.logStatement([{ofs: 2227, row: 82, col: 19}, {ofs: 2229, row: 82, col: 21}], _aether._userInfo, false);\n                    return _aether.restoreAPIClone(_aether, tmp488);\n                } else {\n                    _aether.logStatementStart([{ofs: 2197, row: 81, col: 13}, {ofs: 2206, row: 81, col: 22}]); tmp483 = 'soldier';  _aether.logStatement([{ofs: 2197, row: 81, col: 13}, {ofs: 2206, row: 81, col: 22}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}]); tmp484 = tmp448 === tmp483;  _aether.logStatement([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}], _aether._userInfo, false);\n                    if (tmp484) {\n                        _aether.logStatementStart([{ofs: 2227, row: 82, col: 19}, {ofs: 2229, row: 82, col: 21}]); tmp485 = 10;  _aether.logStatement([{ofs: 2227, row: 82, col: 19}, {ofs: 2229, row: 82, col: 21}], _aether._userInfo, false);\n                        return _aether.restoreAPIClone(_aether, tmp485);\n                    } else {\n                        _aether.logStatementStart([{ofs: 2244, row: 83, col: 13}, {ofs: 2252, row: 83, col: 21}]); tmp480 = 'knight';  _aether.logStatement([{ofs: 2244, row: 83, col: 13}, {ofs: 2252, row: 83, col: 21}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}]); tmp481 = tmp448 === tmp480;  _aether.logStatement([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}], _aether._userInfo, false);\n                        if (tmp481) {\n                            _aether.logStatementStart([{ofs: 2294, row: 85, col: 19}, {ofs: 2296, row: 85, col: 21}]); tmp482 = 25;  _aether.logStatement([{ofs: 2294, row: 85, col: 19}, {ofs: 2296, row: 85, col: 21}], _aether._userInfo, false);\n                            return _aether.restoreAPIClone(_aether, tmp482);\n                        } else {\n                            _aether.logStatementStart([{ofs: 2267, row: 84, col: 13}, {ofs: 2273, row: 84, col: 19}]); tmp477 = 'ogre';  _aether.logStatement([{ofs: 2267, row: 84, col: 13}, {ofs: 2273, row: 84, col: 19}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}]); tmp478 = tmp448 === tmp477;  _aether.logStatement([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}], _aether._userInfo, false);\n                            if (tmp478) {\n                                _aether.logStatementStart([{ofs: 2294, row: 85, col: 19}, {ofs: 2296, row: 85, col: 21}]); tmp479 = 25;  _aether.logStatement([{ofs: 2294, row: 85, col: 19}, {ofs: 2296, row: 85, col: 21}], _aether._userInfo, false);\n                                return _aether.restoreAPIClone(_aether, tmp479);\n                            } else {\n                                _aether.logStatementStart([{ofs: 2311, row: 86, col: 13}, {ofs: 2322, row: 86, col: 24}]); tmp474 = 'librarian';  _aether.logStatement([{ofs: 2311, row: 86, col: 13}, {ofs: 2322, row: 86, col: 24}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}]); tmp475 = tmp448 === tmp474;  _aether.logStatement([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}], _aether._userInfo, false);\n                                if (tmp475) {\n                                    _aether.logStatementStart([{ofs: 2366, row: 88, col: 19}, {ofs: 2368, row: 88, col: 21}]); tmp476 = 40;  _aether.logStatement([{ofs: 2366, row: 88, col: 19}, {ofs: 2368, row: 88, col: 21}], _aether._userInfo, false);\n                                    return _aether.restoreAPIClone(_aether, tmp476);\n                                } else {\n                                    _aether.logStatementStart([{ofs: 2337, row: 87, col: 13}, {ofs: 2345, row: 87, col: 21}]); tmp471 = 'shaman';  _aether.logStatement([{ofs: 2337, row: 87, col: 13}, {ofs: 2345, row: 87, col: 21}], _aether._userInfo, false);\n                                    _aether.logStatementStart([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}]); tmp472 = tmp448 === tmp471;  _aether.logStatement([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}], _aether._userInfo, false);\n                                    if (tmp472) {\n                                        _aether.logStatementStart([{ofs: 2366, row: 88, col: 19}, {ofs: 2368, row: 88, col: 21}]); tmp473 = 40;  _aether.logStatement([{ofs: 2366, row: 88, col: 19}, {ofs: 2368, row: 88, col: 21}], _aether._userInfo, false);\n                                        return _aether.restoreAPIClone(_aether, tmp473);\n                                    } else {\n                                        _aether.logStatementStart([{ofs: 2383, row: 89, col: 13}, {ofs: 2398, row: 89, col: 28}]); tmp468 = 'griffin-rider';  _aether.logStatement([{ofs: 2383, row: 89, col: 13}, {ofs: 2398, row: 89, col: 28}], _aether._userInfo, false);\n                                        _aether.logStatementStart([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}]); tmp469 = tmp448 === tmp468;  _aether.logStatement([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}], _aether._userInfo, false);\n                                        if (tmp469) {\n                                            _aether.logStatementStart([{ofs: 2445, row: 91, col: 19}, {ofs: 2447, row: 91, col: 21}]); tmp470 = 60;  _aether.logStatement([{ofs: 2445, row: 91, col: 19}, {ofs: 2447, row: 91, col: 21}], _aether._userInfo, false);\n                                            return _aether.restoreAPIClone(_aether, tmp470);\n                                        } else {\n                                            _aether.logStatementStart([{ofs: 2413, row: 90, col: 13}, {ofs: 2424, row: 90, col: 24}]); tmp465 = 'fangrider';  _aether.logStatement([{ofs: 2413, row: 90, col: 13}, {ofs: 2424, row: 90, col: 24}], _aether._userInfo, false);\n                                            _aether.logStatementStart([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}]); tmp466 = tmp448 === tmp465;  _aether.logStatement([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}], _aether._userInfo, false);\n                                            if (tmp466) {\n                                                _aether.logStatementStart([{ofs: 2445, row: 91, col: 19}, {ofs: 2447, row: 91, col: 21}]); tmp467 = 60;  _aether.logStatement([{ofs: 2445, row: 91, col: 19}, {ofs: 2447, row: 91, col: 21}], _aether._userInfo, false);\n                                                return _aether.restoreAPIClone(_aether, tmp467);\n                                            } else {\n                                                _aether.logStatementStart([{ofs: 2462, row: 92, col: 13}, {ofs: 2471, row: 92, col: 22}]); tmp462 = 'captain';  _aether.logStatement([{ofs: 2462, row: 92, col: 13}, {ofs: 2471, row: 92, col: 22}], _aether._userInfo, false);\n                                                _aether.logStatementStart([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}]); tmp463 = tmp448 === tmp462;  _aether.logStatement([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}], _aether._userInfo, false);\n                                                if (tmp463) {\n                                                    _aether.logStatementStart([{ofs: 2516, row: 94, col: 19}, {ofs: 2519, row: 94, col: 22}]); tmp464 = 100;  _aether.logStatement([{ofs: 2516, row: 94, col: 19}, {ofs: 2519, row: 94, col: 22}], _aether._userInfo, false);\n                                                    return _aether.restoreAPIClone(_aether, tmp464);\n                                                } else {\n                                                    _aether.logStatementStart([{ofs: 2486, row: 93, col: 13}, {ofs: 2495, row: 93, col: 22}]); tmp459 = 'brawler';  _aether.logStatement([{ofs: 2486, row: 93, col: 13}, {ofs: 2495, row: 93, col: 22}], _aether._userInfo, false);\n                                                    _aether.logStatementStart([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}]); tmp460 = tmp448 === tmp459;  _aether.logStatement([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}], _aether._userInfo, false);\n                                                    if (tmp460) {\n                                                        _aether.logStatementStart([{ofs: 2516, row: 94, col: 19}, {ofs: 2519, row: 94, col: 22}]); tmp461 = 100;  _aether.logStatement([{ofs: 2516, row: 94, col: 19}, {ofs: 2519, row: 94, col: 22}], _aether._userInfo, false);\n                                                        return _aether.restoreAPIClone(_aether, tmp461);\n                                                    } else {\n                                                        _aether.logStatementStart([{ofs: 2534, row: 95, col: 13}, {ofs: 2540, row: 95, col: 19}]); tmp456 = 'base';  _aether.logStatement([{ofs: 2534, row: 95, col: 13}, {ofs: 2540, row: 95, col: 19}], _aether._userInfo, false);\n                                                        _aether.logStatementStart([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}]); tmp457 = tmp448 === tmp456;  _aether.logStatement([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}], _aether._userInfo, false);\n                                                        if (tmp457) {\n                                                            _aether.logStatementStart([{ofs: 2561, row: 96, col: 19}, {ofs: 2562, row: 96, col: 20}]); tmp458 = 0;  _aether.logStatement([{ofs: 2561, row: 96, col: 19}, {ofs: 2562, row: 96, col: 20}], _aether._userInfo, false);\n                                                            return _aether.restoreAPIClone(_aether, tmp458);\n                                                        } else {\n                                                            _aether.logStatementStart([{ofs: 2577, row: 97, col: 13}, {ofs: 2586, row: 97, col: 22}]); tmp453 = 'peasant';  _aether.logStatement([{ofs: 2577, row: 97, col: 13}, {ofs: 2586, row: 97, col: 22}], _aether._userInfo, false);\n                                                            _aether.logStatementStart([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}]); tmp454 = tmp448 === tmp453;  _aether.logStatement([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}], _aether._userInfo, false);\n                                                            if (tmp454) {\n                                                                _aether.logStatementStart([{ofs: 2628, row: 99, col: 19}, {ofs: 2630, row: 99, col: 21}]); tmp455 = 50;  _aether.logStatement([{ofs: 2628, row: 99, col: 19}, {ofs: 2630, row: 99, col: 21}], _aether._userInfo, false);\n                                                                return _aether.restoreAPIClone(_aether, tmp455);\n                                                            } else {\n                                                                _aether.logStatementStart([{ofs: 2601, row: 98, col: 13}, {ofs: 2607, row: 98, col: 19}]); tmp450 = 'peon';  _aether.logStatement([{ofs: 2601, row: 98, col: 13}, {ofs: 2607, row: 98, col: 19}], _aether._userInfo, false);\n                                                                _aether.logStatementStart([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}]); tmp451 = tmp448 === tmp450;  _aether.logStatement([{ofs: 2143, row: 79, col: 4}, {ofs: 2637, row: 100, col: 5}], _aether._userInfo, false);\n                                                                if (tmp451) {\n                                                                    _aether.logStatementStart([{ofs: 2628, row: 99, col: 19}, {ofs: 2630, row: 99, col: 21}]); tmp452 = 50;  _aether.logStatement([{ofs: 2628, row: 99, col: 19}, {ofs: 2630, row: 99, col: 21}], _aether._userInfo, false);\n                                                                    return _aether.restoreAPIClone(_aether, tmp452);\n                                                                } else {\n                                                                    ;\n                                                                }\n                                                            }\n                                                        }\n                                                    }\n                                                }\n                                            }\n                                        }\n                                    }\n                                }\n                            }\n                        }\n                    }\n                }\n            }\n            return;\n        };  _aether.logStatement([{ofs: 2109, row: 78, col: 0}, {ofs: 2639, row: 101, col: 1}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 2715, row: 104, col: 0}, {ofs: 2909, row: 111, col: 1}]); valuateFighters = function (fighters) {\n            var score, i, len, tmp489, tmp490, tmp491, tmp492, tmp493, tmp494, tmp495, tmp496, tmp497, tmp500, tmp501, tmp502, tmp503, tmp504, tmp505, tmp506, tmp507, tmp508, tmp509; fighters = _aether.createAPIClone(_aether, fighters); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 2756, row: 105, col: 4}, {ofs: 2770, row: 105, col: 18}]); score = 0;  _aether.logStatement([{ofs: 2756, row: 105, col: 4}, {ofs: 2770, row: 105, col: 18}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 2780, row: 106, col: 9}, {ofs: 2812, row: 106, col: 41}]); i = 0;  _aether.logStatement([{ofs: 2780, row: 106, col: 9}, {ofs: 2812, row: 106, col: 41}], _aether._userInfo, false);\n            tmp489 = fighters;\n            tmp490 = 'length';\n            _aether.logStatementStart([{ofs: 2780, row: 106, col: 9}, {ofs: 2812, row: 106, col: 41}]); len = tmp489[tmp490];  _aether.logStatement([{ofs: 2780, row: 106, col: 9}, {ofs: 2812, row: 106, col: 41}], _aether._userInfo, false);\n            tmp492 = i;\n            tmp493 = len;\n            _aether.logStatementStart([{ofs: 2814, row: 106, col: 43}, {ofs: 2821, row: 106, col: 50}]); tmp491 = tmp492 < tmp493;  _aether.logStatement([{ofs: 2814, row: 106, col: 43}, {ofs: 2821, row: 106, col: 50}], _aether._userInfo, false);\n            tmp498: {\n                while (tmp491) {\n                    tmp499: {\n                        tmp501 = valueFighter;\n                        tmp505 = fighters;\n                        tmp506 = i;\n                        _aether.logStatementStart([{ofs: 2860, row: 107, col: 30}, {ofs: 2871, row: 107, col: 41}]); tmp503 = tmp505[tmp506];  _aether.logStatement([{ofs: 2860, row: 107, col: 30}, {ofs: 2871, row: 107, col: 41}], _aether._userInfo, false);\n                        tmp504 = 'type';\n                        _aether.logStatementStart([{ofs: 2860, row: 107, col: 30}, {ofs: 2876, row: 107, col: 46}]); tmp502 = tmp503[tmp504];  _aether.logStatement([{ofs: 2860, row: 107, col: 30}, {ofs: 2876, row: 107, col: 46}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 2838, row: 107, col: 8}, {ofs: 2878, row: 107, col: 48}]); tmp500 = _aether.createAPIClone(_aether, tmp501(_aether.restoreAPIClone(_aether, tmp502)));  _aether.logStatement([{ofs: 2838, row: 107, col: 8}, {ofs: 2878, row: 107, col: 48}], _aether._userInfo, false);\n                        tmp507 = score;\n                        tmp508 = tmp500;\n                        score = tmp507 + tmp508;\n                    }\n                    tmp496 = i;\n                    tmp497 = 1;\n                    i = tmp496 + tmp497;\n                    tmp494 = i;\n                    tmp495 = len;\n                    _aether.logStatementStart([{ofs: 2814, row: 106, col: 43}, {ofs: 2821, row: 106, col: 50}]); tmp491 = tmp494 < tmp495;  _aether.logStatement([{ofs: 2814, row: 106, col: 43}, {ofs: 2821, row: 106, col: 50}], _aether._userInfo, false);\n                }\n            }\n            tmp509 = score;\n            return _aether.restoreAPIClone(_aether, tmp509);\n        };  _aether.logStatement([{ofs: 2715, row: 104, col: 0}, {ofs: 2909, row: 111, col: 1}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 2993, row: 115, col: 0}, {ofs: 3452, row: 132, col: 1}]); computeMinDistances = function (peasants, coins) {\n            var dict, i, len, coin, winScore, j, pLen, dist, tmp510, tmp511, tmp512, tmp513, tmp514, tmp515, tmp516, tmp517, tmp518, tmp521, tmp522, tmp523, tmp524, tmp525, tmp526, tmp527, tmp528, tmp529, tmp530, tmp531, tmp534, tmp535, tmp536, tmp537, tmp538, tmp539, tmp540, tmp541, tmp542, tmp543, tmp544, tmp545, tmp546, tmp547, tmp548, tmp549, tmp550, tmp551; peasants = _aether.createAPIClone(_aether, peasants); coins = _aether.createAPIClone(_aether, coins); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 3045, row: 116, col: 4}, {ofs: 3059, row: 116, col: 18}]); dict = {};  _aether.logStatement([{ofs: 3045, row: 116, col: 4}, {ofs: 3059, row: 116, col: 18}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3070, row: 118, col: 9}, {ofs: 3099, row: 118, col: 38}]); i = 0;  _aether.logStatement([{ofs: 3070, row: 118, col: 9}, {ofs: 3099, row: 118, col: 38}], _aether._userInfo, false);\n            tmp510 = coins;\n            tmp511 = 'length';\n            _aether.logStatementStart([{ofs: 3070, row: 118, col: 9}, {ofs: 3099, row: 118, col: 38}]); len = tmp510[tmp511];  _aether.logStatement([{ofs: 3070, row: 118, col: 9}, {ofs: 3099, row: 118, col: 38}], _aether._userInfo, false);\n            tmp513 = i;\n            tmp514 = len;\n            _aether.logStatementStart([{ofs: 3101, row: 118, col: 40}, {ofs: 3108, row: 118, col: 47}]); tmp512 = tmp513 < tmp514;  _aether.logStatement([{ofs: 3101, row: 118, col: 40}, {ofs: 3108, row: 118, col: 47}], _aether._userInfo, false);\n            tmp519: {\n                while (tmp512) {\n                    tmp520: {\n                        tmp521 = coins;\n                        tmp522 = i;\n                        _aether.logStatementStart([{ofs: 3125, row: 119, col: 8}, {ofs: 3145, row: 119, col: 28}]); coin = tmp521[tmp522];  _aether.logStatement([{ofs: 3125, row: 119, col: 8}, {ofs: 3145, row: 119, col: 28}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 3154, row: 120, col: 8}, {ofs: 3175, row: 120, col: 29}]); winScore = 10000;  _aether.logStatement([{ofs: 3154, row: 120, col: 8}, {ofs: 3175, row: 120, col: 29}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 3189, row: 121, col: 13}, {ofs: 3222, row: 121, col: 46}]); j = 0;  _aether.logStatement([{ofs: 3189, row: 121, col: 13}, {ofs: 3222, row: 121, col: 46}], _aether._userInfo, false);\n                        tmp523 = peasants;\n                        tmp524 = 'length';\n                        _aether.logStatementStart([{ofs: 3189, row: 121, col: 13}, {ofs: 3222, row: 121, col: 46}]); pLen = tmp523[tmp524];  _aether.logStatement([{ofs: 3189, row: 121, col: 13}, {ofs: 3222, row: 121, col: 46}], _aether._userInfo, false);\n                        tmp526 = j;\n                        tmp527 = pLen;\n                        _aether.logStatementStart([{ofs: 3224, row: 121, col: 48}, {ofs: 3232, row: 121, col: 56}]); tmp525 = tmp526 < tmp527;  _aether.logStatement([{ofs: 3224, row: 121, col: 48}, {ofs: 3232, row: 121, col: 56}], _aether._userInfo, false);\n                        tmp532: {\n                            while (tmp525) {\n                                tmp533: {\n                                    tmp536 = coin;\n                                    tmp537 = 'pos';\n                                    _aether.logStatementStart([{ofs: 3264, row: 122, col: 23}, {ofs: 3272, row: 122, col: 31}]); tmp534 = tmp536[tmp537];  _aether.logStatement([{ofs: 3264, row: 122, col: 23}, {ofs: 3272, row: 122, col: 31}], _aether._userInfo, false);\n                                    tmp535 = 'distance';\n                                    tmp541 = peasants;\n                                    tmp542 = j;\n                                    _aether.logStatementStart([{ofs: 3282, row: 122, col: 41}, {ofs: 3293, row: 122, col: 52}]); tmp539 = tmp541[tmp542];  _aether.logStatement([{ofs: 3282, row: 122, col: 41}, {ofs: 3293, row: 122, col: 52}], _aether._userInfo, false);\n                                    tmp540 = 'pos';\n                                    _aether.logStatementStart([{ofs: 3282, row: 122, col: 41}, {ofs: 3297, row: 122, col: 56}]); tmp538 = tmp539[tmp540];  _aether.logStatement([{ofs: 3282, row: 122, col: 41}, {ofs: 3297, row: 122, col: 56}], _aether._userInfo, false);\n                                    _aether.logStatementStart([{ofs: 3253, row: 122, col: 12}, {ofs: 3299, row: 122, col: 58}]); dist = _aether.createAPIClone(_aether, tmp534[tmp535](_aether.restoreAPIClone(_aether, tmp538)));  _aether.logStatement([{ofs: 3253, row: 122, col: 12}, {ofs: 3299, row: 122, col: 58}], _aether._userInfo, false);\n                                    tmp544 = dist;\n                                    tmp545 = winScore;\n                                    _aether.logStatementStart([{ofs: 3316, row: 123, col: 16}, {ofs: 3331, row: 123, col: 31}]); tmp543 = tmp544 < tmp545;  _aether.logStatement([{ofs: 3316, row: 123, col: 16}, {ofs: 3331, row: 123, col: 31}], _aether._userInfo, false);\n                                    if (tmp543) {\n                                        winScore = dist;\n                                    } else {\n                                        ;\n                                    }\n                                }\n                                tmp530 = j;\n                                tmp531 = 1;\n                                j = tmp530 + tmp531;\n                                tmp528 = j;\n                                tmp529 = pLen;\n                                _aether.logStatementStart([{ofs: 3224, row: 121, col: 48}, {ofs: 3232, row: 121, col: 56}]); tmp525 = tmp528 < tmp529;  _aether.logStatement([{ofs: 3224, row: 121, col: 48}, {ofs: 3232, row: 121, col: 56}], _aether._userInfo, false);\n                            }\n                        }\n                        tmp546 = dict;\n                        tmp548 = coin;\n                        tmp549 = 'id';\n                        _aether.logStatementStart([{ofs: 3406, row: 128, col: 13}, {ofs: 3413, row: 128, col: 20}]); tmp547 = tmp548[tmp549];  _aether.logStatement([{ofs: 3406, row: 128, col: 13}, {ofs: 3413, row: 128, col: 20}], _aether._userInfo, false);\n                        tmp550 = winScore;\n                        _aether.logStatementStart([{ofs: 3401, row: 128, col: 8}, {ofs: 3425, row: 128, col: 32}]); tmp546[tmp547] = tmp550;  _aether.logStatement([{ofs: 3401, row: 128, col: 8}, {ofs: 3425, row: 128, col: 32}], _aether._userInfo, false);\n                    }\n                    tmp517 = i;\n                    tmp518 = 1;\n                    i = tmp517 + tmp518;\n                    tmp515 = i;\n                    tmp516 = len;\n                    _aether.logStatementStart([{ofs: 3101, row: 118, col: 40}, {ofs: 3108, row: 118, col: 47}]); tmp512 = tmp515 < tmp516;  _aether.logStatement([{ofs: 3101, row: 118, col: 40}, {ofs: 3108, row: 118, col: 47}], _aether._userInfo, false);\n                }\n            }\n            tmp551 = dict;\n            return _aether.restoreAPIClone(_aether, tmp551);\n        };  _aether.logStatement([{ofs: 2993, row: 115, col: 0}, {ofs: 3452, row: 132, col: 1}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 3454, row: 134, col: 0}, {ofs: 3675, row: 141, col: 1}]); computeEnemyMult = function (ourDistance, enemyDistance) {\n            var enemyDistFrac, tmp552, tmp553, tmp554, tmp555, tmp556, tmp557, tmp558, tmp559, tmp560; ourDistance = _aether.createAPIClone(_aether, ourDistance); enemyDistance = _aether.createAPIClone(_aether, enemyDistance); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp554 = ourDistance;\n            tmp555 = enemyDistance;\n            _aether.logStatementStart([{ofs: 3535, row: 135, col: 25}, {ofs: 3562, row: 135, col: 52}]); tmp552 = tmp554 + tmp555;  _aether.logStatement([{ofs: 3535, row: 135, col: 25}, {ofs: 3562, row: 135, col: 52}], _aether._userInfo, false);\n            tmp553 = enemyDistance;\n            _aether.logStatementStart([{ofs: 3514, row: 135, col: 4}, {ofs: 3580, row: 135, col: 70}]); enemyDistFrac = tmp552 / tmp553;  _aether.logStatement([{ofs: 3514, row: 135, col: 4}, {ofs: 3580, row: 135, col: 70}], _aether._userInfo, false);\n            tmp557 = enemyDistFrac;\n            _aether.logStatementStart([{ofs: 3605, row: 136, col: 24}, {ofs: 3617, row: 136, col: 36}]); tmp558 = 2.2222222222;  _aether.logStatement([{ofs: 3605, row: 136, col: 24}, {ofs: 3617, row: 136, col: 36}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3589, row: 136, col: 8}, {ofs: 3617, row: 136, col: 36}]); tmp556 = tmp557 > tmp558;  _aether.logStatement([{ofs: 3589, row: 136, col: 8}, {ofs: 3617, row: 136, col: 36}], _aether._userInfo, false);\n            if (tmp556) {\n                _aether.logStatementStart([{ofs: 3636, row: 137, col: 15}, {ofs: 3639, row: 137, col: 18}]); tmp559 = 0.5;  _aether.logStatement([{ofs: 3636, row: 137, col: 15}, {ofs: 3639, row: 137, col: 18}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp559);\n            } else {\n                ;\n            }\n            tmp560 = enemyDistFrac;\n            return _aether.restoreAPIClone(_aether, tmp560);\n        };  _aether.logStatement([{ofs: 3454, row: 134, col: 0}, {ofs: 3675, row: 141, col: 1}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 3677, row: 143, col: 0}, {ofs: 3988, row: 148, col: 1}]); computeAttractionSquared = function (itemPos, attractorPos, attractorMass) {\n            var distance, strength, direction, tmp561, tmp562, tmp563, tmp564, tmp565, tmp566, tmp567, tmp568, tmp569, tmp570, tmp571, tmp572, tmp573, tmp574, tmp575, tmp576, tmp577, tmp578, tmp579, tmp580, tmp581, tmp582; itemPos = _aether.createAPIClone(_aether, itemPos); attractorPos = _aether.createAPIClone(_aether, attractorPos); attractorMass = _aether.createAPIClone(_aether, attractorMass); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp561 = itemPos;\n            tmp562 = 'distance';\n            tmp563 = attractorPos;\n            _aether.logStatementStart([{ofs: 3755, row: 144, col: 4}, {ofs: 3801, row: 144, col: 50}]); distance = _aether.createAPIClone(_aether, tmp561[tmp562](_aether.restoreAPIClone(_aether, tmp563)));  _aether.logStatement([{ofs: 3755, row: 144, col: 4}, {ofs: 3801, row: 144, col: 50}], _aether._userInfo, false);\n            tmp564 = attractorMass;\n            tmp566 = distance;\n            tmp567 = distance;\n            _aether.logStatementStart([{ofs: 3838, row: 145, col: 36}, {ofs: 3857, row: 145, col: 55}]); tmp565 = tmp566 * tmp567;  _aether.logStatement([{ofs: 3838, row: 145, col: 36}, {ofs: 3857, row: 145, col: 55}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3806, row: 145, col: 4}, {ofs: 3859, row: 145, col: 57}]); strength = tmp564 / tmp565;  _aether.logStatement([{ofs: 3806, row: 145, col: 4}, {ofs: 3859, row: 145, col: 57}], _aether._userInfo, false);\n            tmp570 = 'Vector';\n            tmp568 = __global[tmp570];\n            tmp569 = 'normalize';\n            tmp574 = 'Vector';\n            tmp572 = __global[tmp574];\n            tmp573 = 'subtract';\n            tmp575 = attractorPos;\n            tmp576 = itemPos;\n            _aether.logStatementStart([{ofs: 3897, row: 146, col: 37}, {ofs: 3935, row: 146, col: 75}]); tmp571 = _aether.createAPIClone(_aether, tmp572[tmp573](_aether.restoreAPIClone(_aether, tmp575), _aether.restoreAPIClone(_aether, tmp576)));  _aether.logStatement([{ofs: 3897, row: 146, col: 37}, {ofs: 3935, row: 146, col: 75}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3864, row: 146, col: 4}, {ofs: 3937, row: 146, col: 77}]); direction = _aether.createAPIClone(_aether, tmp568[tmp569](_aether.restoreAPIClone(_aether, tmp571)));  _aether.logStatement([{ofs: 3864, row: 146, col: 4}, {ofs: 3937, row: 146, col: 77}], _aether._userInfo, false);\n            tmp580 = 'Vector';\n            tmp578 = __global[tmp580];\n            tmp579 = 'multiply';\n            tmp581 = direction;\n            tmp582 = strength;\n            _aether.logStatementStart([{ofs: 3949, row: 147, col: 11}, {ofs: 3985, row: 147, col: 47}]); tmp577 = _aether.createAPIClone(_aether, tmp578[tmp579](_aether.restoreAPIClone(_aether, tmp581), _aether.restoreAPIClone(_aether, tmp582)));  _aether.logStatement([{ofs: 3949, row: 147, col: 11}, {ofs: 3985, row: 147, col: 47}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp577);\n        };  _aether.logStatement([{ofs: 3677, row: 143, col: 0}, {ofs: 3988, row: 148, col: 1}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 3990, row: 150, col: 0}, {ofs: 6161, row: 202, col: 1}]); computeSpringAssignments = function (friends, enemies, coins, computeAttraction) {\n            var WALL_ATTRACTION, FRIEND_ATTRACTION, DIRECTION_CASTAHEAD, ARENA_WIDTH, ARENA_HEIGHT, limits, assignments, i, fLen, friend, friendPos, force, j, cLen, coin, coinPos, dist, enemyDist, strength, direction, k, newPos, tmp583, tmp584, tmp585, tmp586, tmp587, tmp588, tmp589, tmp590, tmp591, tmp592, tmp593, tmp594, tmp595, tmp596, tmp599, tmp600, tmp601, tmp602, tmp603, tmp604, tmp605, tmp606, tmp607, tmp608, tmp609, tmp610, tmp611, tmp612, tmp613, tmp614, tmp615, tmp618, tmp619, tmp620, tmp621, tmp622, tmp623, tmp624, tmp625, tmp626, tmp627, tmp628, tmp629, tmp630, tmp631, tmp632, tmp633, tmp634, tmp635, tmp636, tmp637, tmp638, tmp639, tmp640, tmp641, tmp642, tmp643, tmp644, tmp645, tmp646, tmp647, tmp648, tmp649, tmp650, tmp651, tmp652, tmp653, tmp654, tmp655, tmp656, tmp657, tmp658, tmp659, tmp660, tmp661, tmp662, tmp663, tmp664, tmp665, tmp668, tmp669, tmp670, tmp671, tmp672, tmp673, tmp674, tmp675, tmp676, tmp677, tmp678, tmp679, tmp680, tmp681, tmp682, tmp683, tmp684, tmp685, tmp686, tmp687, tmp688, tmp689, tmp690, tmp691, tmp692, tmp693, tmp694, tmp695, tmp696, tmp697, tmp698, tmp699, tmp700, tmp701, tmp702, tmp703, tmp704, tmp705, tmp706, tmp707, tmp708, tmp709, tmp710, tmp711, tmp712, tmp713, tmp714, tmp715, tmp716, tmp717, tmp718, tmp719, tmp720, tmp721, tmp722, tmp723, tmp724, tmp725, tmp726, tmp727, tmp728, tmp729, tmp730, tmp731, tmp732, tmp733, tmp734, tmp735, tmp736, tmp737, tmp738, tmp739, tmp740, tmp741, tmp742, tmp743, tmp744, tmp745, tmp746, tmp747, tmp748, tmp749, tmp750, tmp751, tmp752, tmp753, tmp754, tmp755, tmp756, tmp757, tmp758, tmp759, tmp760, tmp761, tmp762, tmp763, tmp764, tmp765, tmp766, tmp767, tmp768, tmp769, tmp770, tmp771, tmp772, tmp773, tmp774, tmp775, tmp776, tmp777, tmp778, tmp779, tmp780, tmp781, tmp782, tmp783, tmp784, tmp785, tmp786, tmp787, tmp788, tmp789, tmp790, tmp791, tmp792, tmp793, tmp794, tmp795, tmp796, tmp797, tmp798; friends = _aether.createAPIClone(_aether, friends); enemies = _aether.createAPIClone(_aether, enemies); coins = _aether.createAPIClone(_aether, coins); computeAttraction = _aether.createAPIClone(_aether, computeAttraction); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 4097, row: 151, col: 27}, {ofs: 4098, row: 151, col: 28}]); tmp583 = 1;  _aether.logStatement([{ofs: 4097, row: 151, col: 27}, {ofs: 4098, row: 151, col: 28}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4074, row: 151, col: 4}, {ofs: 4099, row: 151, col: 29}]); WALL_ATTRACTION = -tmp583;  _aether.logStatement([{ofs: 4074, row: 151, col: 4}, {ofs: 4099, row: 151, col: 29}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4129, row: 152, col: 29}, {ofs: 4130, row: 152, col: 30}]); tmp584 = 5;  _aether.logStatement([{ofs: 4129, row: 152, col: 29}, {ofs: 4130, row: 152, col: 30}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4104, row: 152, col: 4}, {ofs: 4131, row: 152, col: 31}]); FRIEND_ATTRACTION = -tmp584;  _aether.logStatement([{ofs: 4104, row: 152, col: 4}, {ofs: 4131, row: 152, col: 31}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4137, row: 154, col: 4}, {ofs: 4165, row: 154, col: 32}]); DIRECTION_CASTAHEAD = 6;  _aether.logStatement([{ofs: 4137, row: 154, col: 4}, {ofs: 4165, row: 154, col: 32}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4175, row: 156, col: 4}, {ofs: 4196, row: 156, col: 25}]); ARENA_WIDTH = 85;  _aether.logStatement([{ofs: 4175, row: 156, col: 4}, {ofs: 4196, row: 156, col: 25}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4201, row: 157, col: 4}, {ofs: 4223, row: 157, col: 26}]); ARENA_HEIGHT = 70;  _aether.logStatement([{ofs: 4201, row: 157, col: 4}, {ofs: 4223, row: 157, col: 26}], _aether._userInfo, false);\n            tmp585 = computeMinDistances;\n            tmp586 = enemies;\n            tmp587 = coins;\n            _aether.logStatementStart([{ofs: 4233, row: 159, col: 4}, {ofs: 4282, row: 159, col: 53}]); limits = _aether.createAPIClone(_aether, tmp585(_aether.restoreAPIClone(_aether, tmp586), _aether.restoreAPIClone(_aether, tmp587)));  _aether.logStatement([{ofs: 4233, row: 159, col: 4}, {ofs: 4282, row: 159, col: 53}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4292, row: 161, col: 4}, {ofs: 4313, row: 161, col: 25}]); assignments = [];  _aether.logStatement([{ofs: 4292, row: 161, col: 4}, {ofs: 4313, row: 161, col: 25}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4328, row: 163, col: 9}, {ofs: 4360, row: 163, col: 41}]); i = 0;  _aether.logStatement([{ofs: 4328, row: 163, col: 9}, {ofs: 4360, row: 163, col: 41}], _aether._userInfo, false);\n            tmp588 = friends;\n            tmp589 = 'length';\n            _aether.logStatementStart([{ofs: 4328, row: 163, col: 9}, {ofs: 4360, row: 163, col: 41}]); fLen = tmp588[tmp589];  _aether.logStatement([{ofs: 4328, row: 163, col: 9}, {ofs: 4360, row: 163, col: 41}], _aether._userInfo, false);\n            tmp591 = i;\n            tmp592 = fLen;\n            _aether.logStatementStart([{ofs: 4362, row: 163, col: 43}, {ofs: 4370, row: 163, col: 51}]); tmp590 = tmp591 < tmp592;  _aether.logStatement([{ofs: 4362, row: 163, col: 43}, {ofs: 4370, row: 163, col: 51}], _aether._userInfo, false);\n            tmp597: {\n                while (tmp590) {\n                    tmp598: {\n                        tmp599 = friends;\n                        tmp600 = i;\n                        _aether.logStatementStart([{ofs: 4387, row: 164, col: 8}, {ofs: 4411, row: 164, col: 32}]); friend = tmp599[tmp600];  _aether.logStatement([{ofs: 4387, row: 164, col: 8}, {ofs: 4411, row: 164, col: 32}], _aether._userInfo, false);\n                        tmp601 = friend;\n                        tmp602 = 'pos';\n                        _aether.logStatementStart([{ofs: 4420, row: 165, col: 8}, {ofs: 4447, row: 165, col: 35}]); friendPos = tmp601[tmp602];  _aether.logStatement([{ofs: 4420, row: 165, col: 8}, {ofs: 4447, row: 165, col: 35}], _aether._userInfo, false);\n                        tmp604 = 'Vector';\n                        tmp603 = __global[tmp604];\n                        _aether.logStatementStart([{ofs: 4488, row: 167, col: 31}, {ofs: 4489, row: 167, col: 32}]); tmp605 = 0;  _aether.logStatement([{ofs: 4488, row: 167, col: 31}, {ofs: 4489, row: 167, col: 32}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 4491, row: 167, col: 34}, {ofs: 4492, row: 167, col: 35}]); tmp606 = 0;  _aether.logStatement([{ofs: 4491, row: 167, col: 34}, {ofs: 4492, row: 167, col: 35}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 4465, row: 167, col: 8}, {ofs: 4494, row: 167, col: 37}]); force = new tmp603(tmp605, tmp606);  _aether.logStatement([{ofs: 4465, row: 167, col: 8}, {ofs: 4494, row: 167, col: 37}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 4517, row: 169, col: 13}, {ofs: 4547, row: 169, col: 43}]); j = 0;  _aether.logStatement([{ofs: 4517, row: 169, col: 13}, {ofs: 4547, row: 169, col: 43}], _aether._userInfo, false);\n                        tmp607 = coins;\n                        tmp608 = 'length';\n                        _aether.logStatementStart([{ofs: 4517, row: 169, col: 13}, {ofs: 4547, row: 169, col: 43}]); cLen = tmp607[tmp608];  _aether.logStatement([{ofs: 4517, row: 169, col: 13}, {ofs: 4547, row: 169, col: 43}], _aether._userInfo, false);\n                        tmp610 = j;\n                        tmp611 = cLen;\n                        _aether.logStatementStart([{ofs: 4549, row: 169, col: 45}, {ofs: 4557, row: 169, col: 53}]); tmp609 = tmp610 < tmp611;  _aether.logStatement([{ofs: 4549, row: 169, col: 45}, {ofs: 4557, row: 169, col: 53}], _aether._userInfo, false);\n                        tmp616: {\n                            while (tmp609) {\n                                tmp617: {\n                                    tmp618 = coins;\n                                    tmp619 = j;\n                                    _aether.logStatementStart([{ofs: 4578, row: 170, col: 12}, {ofs: 4598, row: 170, col: 32}]); coin = tmp618[tmp619];  _aether.logStatement([{ofs: 4578, row: 170, col: 12}, {ofs: 4598, row: 170, col: 32}], _aether._userInfo, false);\n                                    tmp620 = coin;\n                                    tmp621 = 'pos';\n                                    _aether.logStatementStart([{ofs: 4611, row: 171, col: 12}, {ofs: 4634, row: 171, col: 35}]); coinPos = tmp620[tmp621];  _aether.logStatement([{ofs: 4611, row: 171, col: 12}, {ofs: 4634, row: 171, col: 35}], _aether._userInfo, false);\n                                    tmp622 = friendPos;\n                                    tmp623 = 'distance';\n                                    tmp624 = coinPos;\n                                    _aether.logStatementStart([{ofs: 4647, row: 172, col: 12}, {ofs: 4686, row: 172, col: 51}]); dist = _aether.createAPIClone(_aether, tmp622[tmp623](_aether.restoreAPIClone(_aether, tmp624)));  _aether.logStatement([{ofs: 4647, row: 172, col: 12}, {ofs: 4686, row: 172, col: 51}], _aether._userInfo, false);\n                                    tmp625 = limits;\n                                    tmp627 = coin;\n                                    tmp628 = 'id';\n                                    _aether.logStatementStart([{ofs: 4722, row: 173, col: 35}, {ofs: 4729, row: 173, col: 42}]); tmp626 = tmp627[tmp628];  _aether.logStatement([{ofs: 4722, row: 173, col: 35}, {ofs: 4729, row: 173, col: 42}], _aether._userInfo, false);\n                                    _aether.logStatementStart([{ofs: 4699, row: 173, col: 12}, {ofs: 4731, row: 173, col: 44}]); enemyDist = tmp625[tmp626];  _aether.logStatement([{ofs: 4699, row: 173, col: 12}, {ofs: 4731, row: 173, col: 44}], _aether._userInfo, false);\n                                    tmp633 = coin;\n                                    tmp634 = 'bountyGold';\n                                    _aether.logStatementStart([{ofs: 4760, row: 174, col: 28}, {ofs: 4775, row: 174, col: 43}]); tmp631 = tmp633[tmp634];  _aether.logStatement([{ofs: 4760, row: 174, col: 28}, {ofs: 4775, row: 174, col: 43}], _aether._userInfo, false);\n                                    tmp635 = computeEnemyMult;\n                                    tmp636 = dist;\n                                    tmp637 = enemyDist;\n                                    _aether.logStatementStart([{ofs: 4778, row: 174, col: 46}, {ofs: 4811, row: 174, col: 79}]); tmp632 = _aether.createAPIClone(_aether, tmp635(_aether.restoreAPIClone(_aether, tmp636), _aether.restoreAPIClone(_aether, tmp637)));  _aether.logStatement([{ofs: 4778, row: 174, col: 46}, {ofs: 4811, row: 174, col: 79}], _aether._userInfo, false);\n                                    _aether.logStatementStart([{ofs: 4760, row: 174, col: 28}, {ofs: 4811, row: 174, col: 79}]); tmp629 = tmp631 * tmp632;  _aether.logStatement([{ofs: 4760, row: 174, col: 28}, {ofs: 4811, row: 174, col: 79}], _aether._userInfo, false);\n                                    tmp638 = dist;\n                                    tmp639 = dist;\n                                    _aether.logStatementStart([{ofs: 4816, row: 174, col: 84}, {ofs: 4827, row: 174, col: 95}]); tmp630 = tmp638 * tmp639;  _aether.logStatement([{ofs: 4816, row: 174, col: 84}, {ofs: 4827, row: 174, col: 95}], _aether._userInfo, false);\n                                    _aether.logStatementStart([{ofs: 4744, row: 174, col: 12}, {ofs: 4829, row: 174, col: 97}]); strength = tmp629 / tmp630;  _aether.logStatement([{ofs: 4744, row: 174, col: 12}, {ofs: 4829, row: 174, col: 97}], _aether._userInfo, false);\n                                    tmp642 = 'Vector';\n                                    tmp640 = __global[tmp642];\n                                    tmp641 = 'normalize';\n                                    tmp646 = 'Vector';\n                                    tmp644 = __global[tmp646];\n                                    tmp645 = 'subtract';\n                                    tmp647 = coinPos;\n                                    tmp648 = friendPos;\n                                    _aether.logStatementStart([{ofs: 4875, row: 175, col: 45}, {ofs: 4910, row: 175, col: 80}]); tmp643 = _aether.createAPIClone(_aether, tmp644[tmp645](_aether.restoreAPIClone(_aether, tmp647), _aether.restoreAPIClone(_aether, tmp648)));  _aether.logStatement([{ofs: 4875, row: 175, col: 45}, {ofs: 4910, row: 175, col: 80}], _aether._userInfo, false);\n                                    _aether.logStatementStart([{ofs: 4842, row: 175, col: 12}, {ofs: 4912, row: 175, col: 82}]); direction = _aether.createAPIClone(_aether, tmp640[tmp641](_aether.restoreAPIClone(_aether, tmp643)));  _aether.logStatement([{ofs: 4842, row: 175, col: 12}, {ofs: 4912, row: 175, col: 82}], _aether._userInfo, false);\n                                    tmp651 = 'Vector';\n                                    tmp649 = __global[tmp651];\n                                    tmp650 = 'add';\n                                    tmp652 = force;\n                                    tmp656 = 'Vector';\n                                    tmp654 = __global[tmp656];\n                                    tmp655 = 'multiply';\n                                    tmp657 = direction;\n                                    tmp658 = strength;\n                                    _aether.logStatementStart([{ofs: 4951, row: 176, col: 38}, {ofs: 4987, row: 176, col: 74}]); tmp653 = _aether.createAPIClone(_aether, tmp654[tmp655](_aether.restoreAPIClone(_aether, tmp657), _aether.restoreAPIClone(_aether, tmp658)));  _aether.logStatement([{ofs: 4951, row: 176, col: 38}, {ofs: 4987, row: 176, col: 74}], _aether._userInfo, false);\n                                    _aether.logStatementStart([{ofs: 4925, row: 176, col: 12}, {ofs: 4989, row: 176, col: 76}]); force = _aether.createAPIClone(_aether, tmp649[tmp650](_aether.restoreAPIClone(_aether, tmp652), _aether.restoreAPIClone(_aether, tmp653)));  _aether.logStatement([{ofs: 4925, row: 176, col: 12}, {ofs: 4989, row: 176, col: 76}], _aether._userInfo, false);\n                                }\n                                tmp614 = j;\n                                tmp615 = 1;\n                                j = tmp614 + tmp615;\n                                tmp612 = j;\n                                tmp613 = cLen;\n                                _aether.logStatementStart([{ofs: 4549, row: 169, col: 45}, {ofs: 4557, row: 169, col: 53}]); tmp609 = tmp612 < tmp613;  _aether.logStatement([{ofs: 4549, row: 169, col: 45}, {ofs: 4557, row: 169, col: 53}], _aether._userInfo, false);\n                            }\n                        }\n                        _aether.logStatementStart([{ofs: 5022, row: 179, col: 13}, {ofs: 5031, row: 179, col: 22}]); k = 0;  _aether.logStatement([{ofs: 5022, row: 179, col: 13}, {ofs: 5031, row: 179, col: 22}], _aether._userInfo, false);\n                        tmp660 = k;\n                        tmp661 = fLen;\n                        _aether.logStatementStart([{ofs: 5033, row: 179, col: 24}, {ofs: 5041, row: 179, col: 32}]); tmp659 = tmp660 < tmp661;  _aether.logStatement([{ofs: 5033, row: 179, col: 24}, {ofs: 5041, row: 179, col: 32}], _aether._userInfo, false);\n                        tmp666: {\n                            while (tmp659) {\n                                tmp667: {\n                                    tmp669 = k;\n                                    tmp670 = i;\n                                    _aether.logStatementStart([{ofs: 5066, row: 180, col: 16}, {ofs: 5073, row: 180, col: 23}]); tmp668 = tmp669 === tmp670;  _aether.logStatement([{ofs: 5066, row: 180, col: 16}, {ofs: 5073, row: 180, col: 23}], _aether._userInfo, false);\n                                    if (tmp668) {\n                                        break tmp667;\n                                    } else {\n                                        ;\n                                    }\n                                    tmp673 = 'Vector';\n                                    tmp671 = __global[tmp673];\n                                    tmp672 = 'add';\n                                    tmp674 = force;\n                                    tmp676 = computeAttraction;\n                                    tmp677 = friendPos;\n                                    tmp682 = friends;\n                                    tmp683 = k;\n                                    _aether.logStatementStart([{ofs: 5197, row: 184, col: 67}, {ofs: 5207, row: 184, col: 77}]); tmp680 = tmp682[tmp683];  _aether.logStatement([{ofs: 5197, row: 184, col: 67}, {ofs: 5207, row: 184, col: 77}], _aether._userInfo, false);\n                                    tmp681 = 'pos';\n                                    _aether.logStatementStart([{ofs: 5197, row: 184, col: 67}, {ofs: 5211, row: 184, col: 81}]); tmp678 = tmp680[tmp681];  _aether.logStatement([{ofs: 5197, row: 184, col: 67}, {ofs: 5211, row: 184, col: 81}], _aether._userInfo, false);\n                                    tmp679 = FRIEND_ATTRACTION;\n                                    _aether.logStatementStart([{ofs: 5168, row: 184, col: 38}, {ofs: 5231, row: 184, col: 101}]); tmp675 = _aether.createAPIClone(_aether, tmp676(_aether.restoreAPIClone(_aether, tmp677), _aether.restoreAPIClone(_aether, tmp678), _aether.restoreAPIClone(_aether, tmp679)));  _aether.logStatement([{ofs: 5168, row: 184, col: 38}, {ofs: 5231, row: 184, col: 101}], _aether._userInfo, false);\n                                    _aether.logStatementStart([{ofs: 5142, row: 184, col: 12}, {ofs: 5233, row: 184, col: 103}]); force = _aether.createAPIClone(_aether, tmp671[tmp672](_aether.restoreAPIClone(_aether, tmp674), _aether.restoreAPIClone(_aether, tmp675)));  _aether.logStatement([{ofs: 5142, row: 184, col: 12}, {ofs: 5233, row: 184, col: 103}], _aether._userInfo, false);\n                                }\n                                tmp664 = k;\n                                tmp665 = 1;\n                                k = tmp664 + tmp665;\n                                tmp662 = k;\n                                tmp663 = fLen;\n                                _aether.logStatementStart([{ofs: 5033, row: 179, col: 24}, {ofs: 5041, row: 179, col: 32}]); tmp659 = tmp662 < tmp663;  _aether.logStatement([{ofs: 5033, row: 179, col: 24}, {ofs: 5041, row: 179, col: 32}], _aether._userInfo, false);\n                            }\n                        }\n                        tmp686 = 'Vector';\n                        tmp684 = __global[tmp686];\n                        tmp685 = 'add';\n                        tmp687 = force;\n                        tmp689 = computeAttraction;\n                        tmp690 = friendPos;\n                        tmp694 = 'Vector';\n                        tmp693 = __global[tmp694];\n                        _aether.logStatementStart([{ofs: 5354, row: 188, col: 75}, {ofs: 5357, row: 188, col: 78}]); tmp697 = 0.1;  _aether.logStatement([{ofs: 5354, row: 188, col: 75}, {ofs: 5357, row: 188, col: 78}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5353, row: 188, col: 74}, {ofs: 5357, row: 188, col: 78}]); tmp695 = -tmp697;  _aether.logStatement([{ofs: 5353, row: 188, col: 74}, {ofs: 5357, row: 188, col: 78}], _aether._userInfo, false);\n                        tmp698 = friendPos;\n                        tmp699 = 'y';\n                        _aether.logStatementStart([{ofs: 5359, row: 188, col: 80}, {ofs: 5370, row: 188, col: 91}]); tmp696 = tmp698[tmp699];  _aether.logStatement([{ofs: 5359, row: 188, col: 80}, {ofs: 5370, row: 188, col: 91}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5342, row: 188, col: 63}, {ofs: 5371, row: 188, col: 92}]); tmp691 = new tmp693(tmp695, tmp696);  _aether.logStatement([{ofs: 5342, row: 188, col: 63}, {ofs: 5371, row: 188, col: 92}], _aether._userInfo, false);\n                        tmp692 = WALL_ATTRACTION;\n                        _aether.logStatementStart([{ofs: 5313, row: 188, col: 34}, {ofs: 5389, row: 188, col: 110}]); tmp688 = _aether.createAPIClone(_aether, tmp689(_aether.restoreAPIClone(_aether, tmp690), _aether.restoreAPIClone(_aether, tmp691), _aether.restoreAPIClone(_aether, tmp692)));  _aether.logStatement([{ofs: 5313, row: 188, col: 34}, {ofs: 5389, row: 188, col: 110}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5287, row: 188, col: 8}, {ofs: 5391, row: 188, col: 112}]); force = _aether.createAPIClone(_aether, tmp684[tmp685](_aether.restoreAPIClone(_aether, tmp687), _aether.restoreAPIClone(_aether, tmp688)));  _aether.logStatement([{ofs: 5287, row: 188, col: 8}, {ofs: 5391, row: 188, col: 112}], _aether._userInfo, false);\n                        tmp702 = 'Vector';\n                        tmp700 = __global[tmp702];\n                        tmp701 = 'add';\n                        tmp703 = force;\n                        tmp705 = computeAttraction;\n                        tmp706 = friendPos;\n                        tmp710 = 'Vector';\n                        tmp709 = __global[tmp710];\n                        tmp713 = ARENA_WIDTH;\n                        _aether.logStatementStart([{ofs: 5488, row: 189, col: 88}, {ofs: 5491, row: 189, col: 91}]); tmp714 = 0.1;  _aether.logStatement([{ofs: 5488, row: 189, col: 88}, {ofs: 5491, row: 189, col: 91}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5474, row: 189, col: 74}, {ofs: 5491, row: 189, col: 91}]); tmp711 = tmp713 + tmp714;  _aether.logStatement([{ofs: 5474, row: 189, col: 74}, {ofs: 5491, row: 189, col: 91}], _aether._userInfo, false);\n                        tmp715 = friendPos;\n                        tmp716 = 'y';\n                        _aether.logStatementStart([{ofs: 5493, row: 189, col: 93}, {ofs: 5504, row: 189, col: 104}]); tmp712 = tmp715[tmp716];  _aether.logStatement([{ofs: 5493, row: 189, col: 93}, {ofs: 5504, row: 189, col: 104}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5463, row: 189, col: 63}, {ofs: 5505, row: 189, col: 105}]); tmp707 = new tmp709(tmp711, tmp712);  _aether.logStatement([{ofs: 5463, row: 189, col: 63}, {ofs: 5505, row: 189, col: 105}], _aether._userInfo, false);\n                        tmp708 = WALL_ATTRACTION;\n                        _aether.logStatementStart([{ofs: 5434, row: 189, col: 34}, {ofs: 5523, row: 189, col: 123}]); tmp704 = _aether.createAPIClone(_aether, tmp705(_aether.restoreAPIClone(_aether, tmp706), _aether.restoreAPIClone(_aether, tmp707), _aether.restoreAPIClone(_aether, tmp708)));  _aether.logStatement([{ofs: 5434, row: 189, col: 34}, {ofs: 5523, row: 189, col: 123}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5408, row: 189, col: 8}, {ofs: 5525, row: 189, col: 125}]); force = _aether.createAPIClone(_aether, tmp700[tmp701](_aether.restoreAPIClone(_aether, tmp703), _aether.restoreAPIClone(_aether, tmp704)));  _aether.logStatement([{ofs: 5408, row: 189, col: 8}, {ofs: 5525, row: 189, col: 125}], _aether._userInfo, false);\n                        tmp719 = 'Vector';\n                        tmp717 = __global[tmp719];\n                        tmp718 = 'add';\n                        tmp720 = force;\n                        tmp722 = computeAttraction;\n                        tmp723 = friendPos;\n                        tmp727 = 'Vector';\n                        tmp726 = __global[tmp727];\n                        tmp730 = friendPos;\n                        tmp731 = 'x';\n                        _aether.logStatementStart([{ofs: 5609, row: 190, col: 74}, {ofs: 5620, row: 190, col: 85}]); tmp728 = tmp730[tmp731];  _aether.logStatement([{ofs: 5609, row: 190, col: 74}, {ofs: 5620, row: 190, col: 85}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5623, row: 190, col: 88}, {ofs: 5626, row: 190, col: 91}]); tmp732 = 0.1;  _aether.logStatement([{ofs: 5623, row: 190, col: 88}, {ofs: 5626, row: 190, col: 91}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5622, row: 190, col: 87}, {ofs: 5626, row: 190, col: 91}]); tmp729 = -tmp732;  _aether.logStatement([{ofs: 5622, row: 190, col: 87}, {ofs: 5626, row: 190, col: 91}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5598, row: 190, col: 63}, {ofs: 5627, row: 190, col: 92}]); tmp724 = new tmp726(tmp728, tmp729);  _aether.logStatement([{ofs: 5598, row: 190, col: 63}, {ofs: 5627, row: 190, col: 92}], _aether._userInfo, false);\n                        tmp725 = WALL_ATTRACTION;\n                        _aether.logStatementStart([{ofs: 5569, row: 190, col: 34}, {ofs: 5645, row: 190, col: 110}]); tmp721 = _aether.createAPIClone(_aether, tmp722(_aether.restoreAPIClone(_aether, tmp723), _aether.restoreAPIClone(_aether, tmp724), _aether.restoreAPIClone(_aether, tmp725)));  _aether.logStatement([{ofs: 5569, row: 190, col: 34}, {ofs: 5645, row: 190, col: 110}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5543, row: 190, col: 8}, {ofs: 5647, row: 190, col: 112}]); force = _aether.createAPIClone(_aether, tmp717[tmp718](_aether.restoreAPIClone(_aether, tmp720), _aether.restoreAPIClone(_aether, tmp721)));  _aether.logStatement([{ofs: 5543, row: 190, col: 8}, {ofs: 5647, row: 190, col: 112}], _aether._userInfo, false);\n                        tmp735 = 'Vector';\n                        tmp733 = __global[tmp735];\n                        tmp734 = 'add';\n                        tmp736 = force;\n                        tmp738 = computeAttraction;\n                        tmp739 = friendPos;\n                        tmp743 = 'Vector';\n                        tmp742 = __global[tmp743];\n                        tmp746 = friendPos;\n                        tmp747 = 'x';\n                        _aether.logStatementStart([{ofs: 5732, row: 191, col: 74}, {ofs: 5743, row: 191, col: 85}]); tmp744 = tmp746[tmp747];  _aether.logStatement([{ofs: 5732, row: 191, col: 74}, {ofs: 5743, row: 191, col: 85}], _aether._userInfo, false);\n                        tmp748 = ARENA_HEIGHT;\n                        _aether.logStatementStart([{ofs: 5760, row: 191, col: 102}, {ofs: 5763, row: 191, col: 105}]); tmp749 = 0.1;  _aether.logStatement([{ofs: 5760, row: 191, col: 102}, {ofs: 5763, row: 191, col: 105}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5745, row: 191, col: 87}, {ofs: 5763, row: 191, col: 105}]); tmp745 = tmp748 + tmp749;  _aether.logStatement([{ofs: 5745, row: 191, col: 87}, {ofs: 5763, row: 191, col: 105}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5721, row: 191, col: 63}, {ofs: 5764, row: 191, col: 106}]); tmp740 = new tmp742(tmp744, tmp745);  _aether.logStatement([{ofs: 5721, row: 191, col: 63}, {ofs: 5764, row: 191, col: 106}], _aether._userInfo, false);\n                        tmp741 = WALL_ATTRACTION;\n                        _aether.logStatementStart([{ofs: 5692, row: 191, col: 34}, {ofs: 5782, row: 191, col: 124}]); tmp737 = _aether.createAPIClone(_aether, tmp738(_aether.restoreAPIClone(_aether, tmp739), _aether.restoreAPIClone(_aether, tmp740), _aether.restoreAPIClone(_aether, tmp741)));  _aether.logStatement([{ofs: 5692, row: 191, col: 34}, {ofs: 5782, row: 191, col: 124}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5666, row: 191, col: 8}, {ofs: 5784, row: 191, col: 126}]); force = _aether.createAPIClone(_aether, tmp733[tmp734](_aether.restoreAPIClone(_aether, tmp736), _aether.restoreAPIClone(_aether, tmp737)));  _aether.logStatement([{ofs: 5666, row: 191, col: 8}, {ofs: 5784, row: 191, col: 126}], _aether._userInfo, false);\n                        tmp752 = 'Vector';\n                        tmp750 = __global[tmp752];\n                        tmp751 = 'add';\n                        tmp753 = friendPos;\n                        tmp757 = 'Vector';\n                        tmp755 = __global[tmp757];\n                        tmp756 = 'multiply';\n                        tmp762 = 'Vector';\n                        tmp760 = __global[tmp762];\n                        tmp761 = 'normalize';\n                        tmp763 = force;\n                        _aether.logStatementStart([{ofs: 5860, row: 193, col: 59}, {ofs: 5883, row: 193, col: 82}]); tmp758 = _aether.createAPIClone(_aether, tmp760[tmp761](_aether.restoreAPIClone(_aether, tmp763)));  _aether.logStatement([{ofs: 5860, row: 193, col: 59}, {ofs: 5883, row: 193, col: 82}], _aether._userInfo, false);\n                        tmp759 = DIRECTION_CASTAHEAD;\n                        _aether.logStatementStart([{ofs: 5844, row: 193, col: 43}, {ofs: 5905, row: 193, col: 104}]); tmp754 = _aether.createAPIClone(_aether, tmp755[tmp756](_aether.restoreAPIClone(_aether, tmp758), _aether.restoreAPIClone(_aether, tmp759)));  _aether.logStatement([{ofs: 5844, row: 193, col: 43}, {ofs: 5905, row: 193, col: 104}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5809, row: 193, col: 8}, {ofs: 5907, row: 193, col: 106}]); newPos = _aether.createAPIClone(_aether, tmp750[tmp751](_aether.restoreAPIClone(_aether, tmp753), _aether.restoreAPIClone(_aether, tmp754)));  _aether.logStatement([{ofs: 5809, row: 193, col: 8}, {ofs: 5907, row: 193, col: 106}], _aether._userInfo, false);\n                        tmp765 = 'Vector';\n                        tmp764 = __global[tmp765];\n                        tmp770 = 'Math';\n                        tmp768 = __global[tmp770];\n                        tmp769 = 'min';\n                        tmp775 = 'Math';\n                        tmp773 = __global[tmp775];\n                        tmp774 = 'max';\n                        tmp778 = newPos;\n                        tmp779 = 'x';\n                        _aether.logStatementStart([{ofs: 5967, row: 195, col: 30}, {ofs: 5975, row: 195, col: 38}]); tmp776 = tmp778[tmp779];  _aether.logStatement([{ofs: 5967, row: 195, col: 30}, {ofs: 5975, row: 195, col: 38}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5977, row: 195, col: 40}, {ofs: 5980, row: 195, col: 43}]); tmp777 = 0;  _aether.logStatement([{ofs: 5977, row: 195, col: 40}, {ofs: 5980, row: 195, col: 43}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5958, row: 195, col: 21}, {ofs: 5981, row: 195, col: 44}]); tmp771 = _aether.createAPIClone(_aether, tmp773[tmp774](_aether.restoreAPIClone(_aether, tmp776), _aether.restoreAPIClone(_aether, tmp777)));  _aether.logStatement([{ofs: 5958, row: 195, col: 21}, {ofs: 5981, row: 195, col: 44}], _aether._userInfo, false);\n                        tmp772 = ARENA_WIDTH;\n                        _aether.logStatementStart([{ofs: 5949, row: 195, col: 12}, {ofs: 5995, row: 195, col: 58}]); tmp766 = _aether.createAPIClone(_aether, tmp768[tmp769](_aether.restoreAPIClone(_aether, tmp771), _aether.restoreAPIClone(_aether, tmp772)));  _aether.logStatement([{ofs: 5949, row: 195, col: 12}, {ofs: 5995, row: 195, col: 58}], _aether._userInfo, false);\n                        tmp782 = 'Math';\n                        tmp780 = __global[tmp782];\n                        tmp781 = 'min';\n                        tmp787 = 'Math';\n                        tmp785 = __global[tmp787];\n                        tmp786 = 'max';\n                        tmp790 = newPos;\n                        tmp791 = 'y';\n                        _aether.logStatementStart([{ofs: 6027, row: 196, col: 30}, {ofs: 6035, row: 196, col: 38}]); tmp788 = tmp790[tmp791];  _aether.logStatement([{ofs: 6027, row: 196, col: 30}, {ofs: 6035, row: 196, col: 38}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 6037, row: 196, col: 40}, {ofs: 6040, row: 196, col: 43}]); tmp789 = 0;  _aether.logStatement([{ofs: 6037, row: 196, col: 40}, {ofs: 6040, row: 196, col: 43}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 6018, row: 196, col: 21}, {ofs: 6041, row: 196, col: 44}]); tmp783 = _aether.createAPIClone(_aether, tmp785[tmp786](_aether.restoreAPIClone(_aether, tmp788), _aether.restoreAPIClone(_aether, tmp789)));  _aether.logStatement([{ofs: 6018, row: 196, col: 21}, {ofs: 6041, row: 196, col: 44}], _aether._userInfo, false);\n                        tmp784 = ARENA_HEIGHT;\n                        _aether.logStatementStart([{ofs: 6009, row: 196, col: 12}, {ofs: 6056, row: 196, col: 59}]); tmp767 = _aether.createAPIClone(_aether, tmp780[tmp781](_aether.restoreAPIClone(_aether, tmp783), _aether.restoreAPIClone(_aether, tmp784)));  _aether.logStatement([{ofs: 6009, row: 196, col: 12}, {ofs: 6056, row: 196, col: 59}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5916, row: 194, col: 8}, {ofs: 6058, row: 196, col: 61}]); newPos = new tmp764(tmp766, tmp767);  _aether.logStatement([{ofs: 5916, row: 194, col: 8}, {ofs: 6058, row: 196, col: 61}], _aether._userInfo, false);\n                        tmp792 = assignments;\n                        tmp793 = 'push';\n                        tmp795 = friend;\n                        tmp796 = newPos;\n                        _aether.logStatementStart([{ofs: 6093, row: 198, col: 25}, {ofs: 6122, row: 198, col: 54}]); tmp794 = {\n                            src: tmp795,\n                            target: tmp796\n                        };  _aether.logStatement([{ofs: 6093, row: 198, col: 25}, {ofs: 6122, row: 198, col: 54}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 6076, row: 198, col: 8}, {ofs: 6123, row: 198, col: 55}]); tmp797 = _aether.createAPIClone(_aether, tmp792[tmp793](_aether.restoreAPIClone(_aether, tmp794)));  _aether.logStatement([{ofs: 6076, row: 198, col: 8}, {ofs: 6123, row: 198, col: 55}], _aether._userInfo, false);\n                    }\n                    tmp595 = i;\n                    tmp596 = 1;\n                    i = tmp595 + tmp596;\n                    tmp593 = i;\n                    tmp594 = fLen;\n                    _aether.logStatementStart([{ofs: 4362, row: 163, col: 43}, {ofs: 4370, row: 163, col: 51}]); tmp590 = tmp593 < tmp594;  _aether.logStatement([{ofs: 4362, row: 163, col: 43}, {ofs: 4370, row: 163, col: 51}], _aether._userInfo, false);\n                }\n            }\n            tmp798 = assignments;\n            return _aether.restoreAPIClone(_aether, tmp798);\n        };  _aether.logStatement([{ofs: 3990, row: 150, col: 0}, {ofs: 6161, row: 202, col: 1}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 6834, row: 224, col: 0}, {ofs: 7486, row: 243, col: 1}]); createRegressionFunc = function (points) {\n            var n, sumX, sumY, meanX, meanY, sumXSquared, sumXY, slope, intercept, tmp799, tmp800, tmp801, tmp802, tmp803, tmp804, tmp810, tmp811, tmp812, tmp813, tmp819, tmp820, tmp821, tmp822, tmp823, tmp824, tmp825, tmp826, tmp836, tmp837, tmp838, tmp839, tmp849, tmp850, tmp851, tmp852, tmp853, tmp854, tmp855, tmp856, tmp857, tmp858, tmp859, tmp860, tmp861, tmp862, tmp863, tmp864, tmp865, tmp866, tmp867; points = _aether.createAPIClone(_aether, points); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp799 = points;\n            tmp800 = 'length';\n            _aether.logStatementStart([{ofs: 6878, row: 225, col: 4}, {ofs: 6900, row: 225, col: 26}]); n = tmp799[tmp800];  _aether.logStatement([{ofs: 6878, row: 225, col: 4}, {ofs: 6900, row: 225, col: 26}], _aether._userInfo, false);\n            tmp801 = points;\n            tmp802 = 'reduce';\n            _aether.logStatementStart([{ofs: 6935, row: 227, col: 29}, {ofs: 6969, row: 227, col: 63}]); tmp803 = function (a, b) {\n                var tmp805, tmp806, tmp807, tmp808, tmp809; a = _aether.createAPIClone(_aether, a); b = _aether.createAPIClone(_aether, b); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n                tmp806 = a;\n                tmp808 = b;\n                tmp809 = 'x';\n                _aether.logStatementStart([{ofs: 6963, row: 227, col: 57}, {ofs: 6966, row: 227, col: 60}]); tmp807 = tmp808[tmp809];  _aether.logStatement([{ofs: 6963, row: 227, col: 57}, {ofs: 6966, row: 227, col: 60}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 6959, row: 227, col: 53}, {ofs: 6966, row: 227, col: 60}]); tmp805 = tmp806 + tmp807;  _aether.logStatement([{ofs: 6959, row: 227, col: 53}, {ofs: 6966, row: 227, col: 60}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp805);\n            };  _aether.logStatement([{ofs: 6935, row: 227, col: 29}, {ofs: 6969, row: 227, col: 63}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 6971, row: 227, col: 65}, {ofs: 6972, row: 227, col: 66}]); tmp804 = 0;  _aether.logStatement([{ofs: 6971, row: 227, col: 65}, {ofs: 6972, row: 227, col: 66}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 6910, row: 227, col: 4}, {ofs: 6974, row: 227, col: 68}]); sumX = _aether.createAPIClone(_aether, tmp801[tmp802](_aether.restoreAPIClone(_aether, tmp803), _aether.restoreAPIClone(_aether, tmp804)));  _aether.logStatement([{ofs: 6910, row: 227, col: 4}, {ofs: 6974, row: 227, col: 68}], _aether._userInfo, false);\n            tmp810 = points;\n            tmp811 = 'reduce';\n            _aether.logStatementStart([{ofs: 7004, row: 228, col: 29}, {ofs: 7038, row: 228, col: 63}]); tmp812 = function (a, b) {\n                var tmp814, tmp815, tmp816, tmp817, tmp818; a = _aether.createAPIClone(_aether, a); b = _aether.createAPIClone(_aether, b); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n                tmp815 = a;\n                tmp817 = b;\n                tmp818 = 'y';\n                _aether.logStatementStart([{ofs: 7032, row: 228, col: 57}, {ofs: 7035, row: 228, col: 60}]); tmp816 = tmp817[tmp818];  _aether.logStatement([{ofs: 7032, row: 228, col: 57}, {ofs: 7035, row: 228, col: 60}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 7028, row: 228, col: 53}, {ofs: 7035, row: 228, col: 60}]); tmp814 = tmp815 + tmp816;  _aether.logStatement([{ofs: 7028, row: 228, col: 53}, {ofs: 7035, row: 228, col: 60}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp814);\n            };  _aether.logStatement([{ofs: 7004, row: 228, col: 29}, {ofs: 7038, row: 228, col: 63}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7040, row: 228, col: 65}, {ofs: 7041, row: 228, col: 66}]); tmp813 = 0;  _aether.logStatement([{ofs: 7040, row: 228, col: 65}, {ofs: 7041, row: 228, col: 66}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 6979, row: 228, col: 4}, {ofs: 7043, row: 228, col: 68}]); sumY = _aether.createAPIClone(_aether, tmp810[tmp811](_aether.restoreAPIClone(_aether, tmp812), _aether.restoreAPIClone(_aether, tmp813)));  _aether.logStatement([{ofs: 6979, row: 228, col: 4}, {ofs: 7043, row: 228, col: 68}], _aether._userInfo, false);\n            tmp819 = sumX;\n            tmp820 = n;\n            _aether.logStatementStart([{ofs: 7048, row: 229, col: 4}, {ofs: 7069, row: 229, col: 25}]); meanX = tmp819 / tmp820;  _aether.logStatement([{ofs: 7048, row: 229, col: 4}, {ofs: 7069, row: 229, col: 25}], _aether._userInfo, false);\n            tmp821 = sumY;\n            tmp822 = n;\n            _aether.logStatementStart([{ofs: 7074, row: 230, col: 4}, {ofs: 7095, row: 230, col: 25}]); meanY = tmp821 / tmp822;  _aether.logStatement([{ofs: 7074, row: 230, col: 4}, {ofs: 7095, row: 230, col: 25}], _aether._userInfo, false);\n            tmp823 = points;\n            tmp824 = 'reduce';\n            _aether.logStatementStart([{ofs: 7137, row: 232, col: 36}, {ofs: 7179, row: 232, col: 78}]); tmp825 = function (a, b) {\n                var tmp827, tmp828, tmp829, tmp830, tmp831, tmp832, tmp833, tmp834, tmp835; a = _aether.createAPIClone(_aether, a); b = _aether.createAPIClone(_aether, b); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n                tmp828 = a;\n                tmp832 = b;\n                tmp833 = 'x';\n                _aether.logStatementStart([{ofs: 7166, row: 232, col: 65}, {ofs: 7169, row: 232, col: 68}]); tmp830 = tmp832[tmp833];  _aether.logStatement([{ofs: 7166, row: 232, col: 65}, {ofs: 7169, row: 232, col: 68}], _aether._userInfo, false);\n                tmp834 = b;\n                tmp835 = 'x';\n                _aether.logStatementStart([{ofs: 7172, row: 232, col: 71}, {ofs: 7175, row: 232, col: 74}]); tmp831 = tmp834[tmp835];  _aether.logStatement([{ofs: 7172, row: 232, col: 71}, {ofs: 7175, row: 232, col: 74}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 7166, row: 232, col: 65}, {ofs: 7175, row: 232, col: 74}]); tmp829 = tmp830 * tmp831;  _aether.logStatement([{ofs: 7166, row: 232, col: 65}, {ofs: 7175, row: 232, col: 74}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 7161, row: 232, col: 60}, {ofs: 7176, row: 232, col: 75}]); tmp827 = tmp828 + tmp829;  _aether.logStatement([{ofs: 7161, row: 232, col: 60}, {ofs: 7176, row: 232, col: 75}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp827);\n            };  _aether.logStatement([{ofs: 7137, row: 232, col: 36}, {ofs: 7179, row: 232, col: 78}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7181, row: 232, col: 80}, {ofs: 7182, row: 232, col: 81}]); tmp826 = 0;  _aether.logStatement([{ofs: 7181, row: 232, col: 80}, {ofs: 7182, row: 232, col: 81}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7105, row: 232, col: 4}, {ofs: 7184, row: 232, col: 83}]); sumXSquared = _aether.createAPIClone(_aether, tmp823[tmp824](_aether.restoreAPIClone(_aether, tmp825), _aether.restoreAPIClone(_aether, tmp826)));  _aether.logStatement([{ofs: 7105, row: 232, col: 4}, {ofs: 7184, row: 232, col: 83}], _aether._userInfo, false);\n            tmp836 = points;\n            tmp837 = 'reduce';\n            _aether.logStatementStart([{ofs: 7220, row: 234, col: 30}, {ofs: 7262, row: 234, col: 72}]); tmp838 = function (a, b) {\n                var tmp840, tmp841, tmp842, tmp843, tmp844, tmp845, tmp846, tmp847, tmp848; a = _aether.createAPIClone(_aether, a); b = _aether.createAPIClone(_aether, b); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n                tmp841 = a;\n                tmp845 = b;\n                tmp846 = 'x';\n                _aether.logStatementStart([{ofs: 7249, row: 234, col: 59}, {ofs: 7252, row: 234, col: 62}]); tmp843 = tmp845[tmp846];  _aether.logStatement([{ofs: 7249, row: 234, col: 59}, {ofs: 7252, row: 234, col: 62}], _aether._userInfo, false);\n                tmp847 = b;\n                tmp848 = 'y';\n                _aether.logStatementStart([{ofs: 7255, row: 234, col: 65}, {ofs: 7258, row: 234, col: 68}]); tmp844 = tmp847[tmp848];  _aether.logStatement([{ofs: 7255, row: 234, col: 65}, {ofs: 7258, row: 234, col: 68}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 7249, row: 234, col: 59}, {ofs: 7258, row: 234, col: 68}]); tmp842 = tmp843 * tmp844;  _aether.logStatement([{ofs: 7249, row: 234, col: 59}, {ofs: 7258, row: 234, col: 68}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 7244, row: 234, col: 54}, {ofs: 7259, row: 234, col: 69}]); tmp840 = tmp841 + tmp842;  _aether.logStatement([{ofs: 7244, row: 234, col: 54}, {ofs: 7259, row: 234, col: 69}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp840);\n            };  _aether.logStatement([{ofs: 7220, row: 234, col: 30}, {ofs: 7262, row: 234, col: 72}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7264, row: 234, col: 74}, {ofs: 7265, row: 234, col: 75}]); tmp839 = 0;  _aether.logStatement([{ofs: 7264, row: 234, col: 74}, {ofs: 7265, row: 234, col: 75}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7194, row: 234, col: 4}, {ofs: 7267, row: 234, col: 77}]); sumXY = _aether.createAPIClone(_aether, tmp836[tmp837](_aether.restoreAPIClone(_aether, tmp838), _aether.restoreAPIClone(_aether, tmp839)));  _aether.logStatement([{ofs: 7194, row: 234, col: 4}, {ofs: 7267, row: 234, col: 77}], _aether._userInfo, false);\n            tmp851 = sumXY;\n            tmp855 = sumX;\n            tmp856 = sumY;\n            _aether.logStatementStart([{ofs: 7300, row: 236, col: 27}, {ofs: 7311, row: 236, col: 38}]); tmp853 = tmp855 * tmp856;  _aether.logStatement([{ofs: 7300, row: 236, col: 27}, {ofs: 7311, row: 236, col: 38}], _aether._userInfo, false);\n            tmp854 = n;\n            _aether.logStatementStart([{ofs: 7299, row: 236, col: 26}, {ofs: 7316, row: 236, col: 43}]); tmp852 = tmp853 / tmp854;  _aether.logStatement([{ofs: 7299, row: 236, col: 26}, {ofs: 7316, row: 236, col: 43}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7290, row: 236, col: 17}, {ofs: 7317, row: 236, col: 44}]); tmp849 = tmp851 - tmp852;  _aether.logStatement([{ofs: 7290, row: 236, col: 17}, {ofs: 7317, row: 236, col: 44}], _aether._userInfo, false);\n            tmp857 = sumXSquared;\n            tmp861 = sumX;\n            tmp862 = sumX;\n            _aether.logStatementStart([{ofs: 7338, row: 236, col: 65}, {ofs: 7349, row: 236, col: 76}]); tmp859 = tmp861 * tmp862;  _aether.logStatement([{ofs: 7338, row: 236, col: 65}, {ofs: 7349, row: 236, col: 76}], _aether._userInfo, false);\n            tmp860 = n;\n            _aether.logStatementStart([{ofs: 7337, row: 236, col: 64}, {ofs: 7354, row: 236, col: 81}]); tmp858 = tmp859 / tmp860;  _aether.logStatement([{ofs: 7337, row: 236, col: 64}, {ofs: 7354, row: 236, col: 81}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7322, row: 236, col: 49}, {ofs: 7355, row: 236, col: 82}]); tmp850 = tmp857 - tmp858;  _aether.logStatement([{ofs: 7322, row: 236, col: 49}, {ofs: 7355, row: 236, col: 82}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7277, row: 236, col: 4}, {ofs: 7357, row: 236, col: 84}]); slope = tmp849 / tmp850;  _aether.logStatement([{ofs: 7277, row: 236, col: 4}, {ofs: 7357, row: 236, col: 84}], _aether._userInfo, false);\n            tmp863 = meanY;\n            tmp865 = slope;\n            tmp866 = meanX;\n            _aether.logStatementStart([{ofs: 7392, row: 238, col: 29}, {ofs: 7405, row: 238, col: 42}]); tmp864 = tmp865 * tmp866;  _aether.logStatement([{ofs: 7392, row: 238, col: 29}, {ofs: 7405, row: 238, col: 42}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7367, row: 238, col: 4}, {ofs: 7407, row: 238, col: 44}]); intercept = tmp863 - tmp864;  _aether.logStatement([{ofs: 7367, row: 238, col: 4}, {ofs: 7407, row: 238, col: 44}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7424, row: 240, col: 11}, {ofs: 7483, row: 242, col: 5}]); tmp867 = function (x) {\n                var tmp868, tmp869, tmp870, tmp871, tmp872; x = _aether.createAPIClone(_aether, x); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n                tmp871 = slope;\n                tmp872 = x;\n                _aether.logStatementStart([{ofs: 7454, row: 241, col: 16}, {ofs: 7463, row: 241, col: 25}]); tmp869 = tmp871 * tmp872;  _aether.logStatement([{ofs: 7454, row: 241, col: 16}, {ofs: 7463, row: 241, col: 25}], _aether._userInfo, false);\n                tmp870 = intercept;\n                _aether.logStatementStart([{ofs: 7453, row: 241, col: 15}, {ofs: 7476, row: 241, col: 38}]); tmp868 = tmp869 + tmp870;  _aether.logStatement([{ofs: 7453, row: 241, col: 15}, {ofs: 7476, row: 241, col: 38}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp868);\n            };  _aether.logStatement([{ofs: 7424, row: 240, col: 11}, {ofs: 7483, row: 242, col: 5}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp867);\n        };  _aether.logStatement([{ofs: 6834, row: 224, col: 0}, {ofs: 7486, row: 243, col: 1}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 7488, row: 245, col: 0}, {ofs: 7700, row: 249, col: 1}]); estimateVariance = function (points, regFunc) {\n            var mseSum, mse, tmp873, tmp874, tmp875, tmp876, tmp890, tmp891, tmp892, tmp893, tmp894, tmp895, tmp896; points = _aether.createAPIClone(_aether, points); regFunc = _aether.createAPIClone(_aether, regFunc); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp873 = points;\n            tmp874 = 'reduce';\n            _aether.logStatementStart([{ofs: 7564, row: 246, col: 31}, {ofs: 7633, row: 246, col: 100}]); tmp875 = function (a, b) {\n                var ms, tmp877, tmp878, tmp879, tmp880, tmp881, tmp882, tmp883, tmp884, tmp885, tmp886, tmp887, tmp888, tmp889; a = _aether.createAPIClone(_aether, a); b = _aether.createAPIClone(_aether, b); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n                tmp879 = b;\n                tmp880 = 'y';\n                _aether.logStatementStart([{ofs: 7590, row: 246, col: 57}, {ofs: 7593, row: 246, col: 60}]); tmp877 = tmp879[tmp880];  _aether.logStatement([{ofs: 7590, row: 246, col: 57}, {ofs: 7593, row: 246, col: 60}], _aether._userInfo, false);\n                tmp881 = regFunc;\n                tmp883 = b;\n                tmp884 = 'x';\n                _aether.logStatementStart([{ofs: 7604, row: 246, col: 71}, {ofs: 7607, row: 246, col: 74}]); tmp882 = tmp883[tmp884];  _aether.logStatement([{ofs: 7604, row: 246, col: 71}, {ofs: 7607, row: 246, col: 74}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 7596, row: 246, col: 63}, {ofs: 7608, row: 246, col: 75}]); tmp878 = _aether.createAPIClone(_aether, tmp881(_aether.restoreAPIClone(_aether, tmp882)));  _aether.logStatement([{ofs: 7596, row: 246, col: 63}, {ofs: 7608, row: 246, col: 75}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 7581, row: 246, col: 48}, {ofs: 7609, row: 246, col: 76}]); ms = tmp877 - tmp878;  _aether.logStatement([{ofs: 7581, row: 246, col: 48}, {ofs: 7609, row: 246, col: 76}], _aether._userInfo, false);\n                tmp886 = a;\n                tmp888 = ms;\n                tmp889 = ms;\n                _aether.logStatementStart([{ofs: 7622, row: 246, col: 89}, {ofs: 7629, row: 246, col: 96}]); tmp887 = tmp888 * tmp889;  _aether.logStatement([{ofs: 7622, row: 246, col: 89}, {ofs: 7629, row: 246, col: 96}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 7617, row: 246, col: 84}, {ofs: 7630, row: 246, col: 97}]); tmp885 = tmp886 + tmp887;  _aether.logStatement([{ofs: 7617, row: 246, col: 84}, {ofs: 7630, row: 246, col: 97}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp885);\n            };  _aether.logStatement([{ofs: 7564, row: 246, col: 31}, {ofs: 7633, row: 246, col: 100}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7635, row: 246, col: 102}, {ofs: 7636, row: 246, col: 103}]); tmp876 = 0;  _aether.logStatement([{ofs: 7635, row: 246, col: 102}, {ofs: 7636, row: 246, col: 103}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7537, row: 246, col: 4}, {ofs: 7638, row: 246, col: 105}]); mseSum = _aether.createAPIClone(_aether, tmp873[tmp874](_aether.restoreAPIClone(_aether, tmp875), _aether.restoreAPIClone(_aether, tmp876)));  _aether.logStatement([{ofs: 7537, row: 246, col: 4}, {ofs: 7638, row: 246, col: 105}], _aether._userInfo, false);\n            tmp890 = mseSum;\n            tmp894 = points;\n            tmp895 = 'length';\n            _aether.logStatementStart([{ofs: 7663, row: 247, col: 24}, {ofs: 7676, row: 247, col: 37}]); tmp892 = tmp894[tmp895];  _aether.logStatement([{ofs: 7663, row: 247, col: 24}, {ofs: 7676, row: 247, col: 37}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7679, row: 247, col: 40}, {ofs: 7680, row: 247, col: 41}]); tmp893 = 2;  _aether.logStatement([{ofs: 7679, row: 247, col: 40}, {ofs: 7680, row: 247, col: 41}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7663, row: 247, col: 24}, {ofs: 7680, row: 247, col: 41}]); tmp891 = tmp892 - tmp893;  _aether.logStatement([{ofs: 7663, row: 247, col: 24}, {ofs: 7680, row: 247, col: 41}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7643, row: 247, col: 4}, {ofs: 7682, row: 247, col: 43}]); mse = tmp890 / tmp891;  _aether.logStatement([{ofs: 7643, row: 247, col: 4}, {ofs: 7682, row: 247, col: 43}], _aether._userInfo, false);\n            tmp896 = mse;\n            return _aether.restoreAPIClone(_aether, tmp896);\n        };  _aether.logStatement([{ofs: 7488, row: 245, col: 0}, {ofs: 7700, row: 249, col: 1}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 7702, row: 251, col: 0}, {ofs: 8470, row: 272, col: 1}]); estimateHighLow = function (points, time) {\n            var regFunc, deviation, bound, start, lowStart, highStart, end, lowEnd, highEnd, upperBound, lowerBound, estimate, tmp897, tmp898, tmp899, tmp900, tmp901, tmp902, tmp903, tmp904, tmp905, tmp906, tmp907, tmp908, tmp909, tmp910, tmp911, tmp912, tmp913, tmp914, tmp915, tmp916, tmp917, tmp918, tmp919, tmp920, tmp921, tmp922, tmp923, tmp924, tmp925, tmp926, tmp927, tmp928, tmp929, tmp930, tmp931, tmp932, tmp933, tmp934, tmp935, tmp936, tmp937, tmp938, tmp939, tmp940, tmp941, tmp942, tmp943, tmp944, tmp945, tmp946, tmp947, tmp948, tmp949, tmp950, tmp951, tmp952, tmp953, tmp954, tmp955, tmp956, tmp957, tmp958, tmp959, tmp960, tmp961, tmp962, tmp963, tmp964, tmp965, tmp966, tmp967, tmp968, tmp969, tmp970, tmp971, tmp972, tmp973, tmp974, tmp975, tmp976, tmp977, tmp978, tmp979, tmp980, tmp981, tmp982, tmp983, tmp984, tmp985, tmp986, tmp987, tmp988, tmp989; points = _aether.createAPIClone(_aether, points); time = _aether.createAPIClone(_aether, time); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp897 = createRegressionFunc;\n            tmp898 = points;\n            _aether.logStatementStart([{ofs: 7747, row: 252, col: 4}, {ofs: 7790, row: 252, col: 47}]); regFunc = _aether.createAPIClone(_aether, tmp897(_aether.restoreAPIClone(_aether, tmp898)));  _aether.logStatement([{ofs: 7747, row: 252, col: 4}, {ofs: 7790, row: 252, col: 47}], _aether._userInfo, false);\n            tmp901 = 'Math';\n            tmp899 = __global[tmp901];\n            tmp900 = 'sqrt';\n            tmp903 = estimateVariance;\n            tmp904 = points;\n            tmp905 = regFunc;\n            _aether.logStatementStart([{ofs: 7826, row: 254, col: 30}, {ofs: 7859, row: 254, col: 63}]); tmp902 = _aether.createAPIClone(_aether, tmp903(_aether.restoreAPIClone(_aether, tmp904), _aether.restoreAPIClone(_aether, tmp905)));  _aether.logStatement([{ofs: 7826, row: 254, col: 30}, {ofs: 7859, row: 254, col: 63}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7800, row: 254, col: 4}, {ofs: 7861, row: 254, col: 65}]); deviation = _aether.createAPIClone(_aether, tmp899[tmp900](_aether.restoreAPIClone(_aether, tmp902)));  _aether.logStatement([{ofs: 7800, row: 254, col: 4}, {ofs: 7861, row: 254, col: 65}], _aether._userInfo, false);\n            tmp906 = deviation;\n            _aether.logStatementStart([{ofs: 7890, row: 255, col: 28}, {ofs: 7891, row: 255, col: 29}]); tmp907 = 2;  _aether.logStatement([{ofs: 7890, row: 255, col: 28}, {ofs: 7891, row: 255, col: 29}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7866, row: 255, col: 4}, {ofs: 7892, row: 255, col: 30}]); bound = tmp906 * tmp907;  _aether.logStatement([{ofs: 7866, row: 255, col: 4}, {ofs: 7892, row: 255, col: 30}], _aether._userInfo, false);\n            tmp908 = regFunc;\n            tmp912 = points;\n            _aether.logStatementStart([{ofs: 7946, row: 257, col: 31}, {ofs: 7947, row: 257, col: 32}]); tmp913 = 0;  _aether.logStatement([{ofs: 7946, row: 257, col: 31}, {ofs: 7947, row: 257, col: 32}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7939, row: 257, col: 24}, {ofs: 7948, row: 257, col: 33}]); tmp910 = tmp912[tmp913];  _aether.logStatement([{ofs: 7939, row: 257, col: 24}, {ofs: 7948, row: 257, col: 33}], _aether._userInfo, false);\n            tmp911 = 'x';\n            _aether.logStatementStart([{ofs: 7939, row: 257, col: 24}, {ofs: 7950, row: 257, col: 35}]); tmp909 = tmp910[tmp911];  _aether.logStatement([{ofs: 7939, row: 257, col: 24}, {ofs: 7950, row: 257, col: 35}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7919, row: 257, col: 4}, {ofs: 7952, row: 257, col: 37}]); start = _aether.createAPIClone(_aether, tmp908(_aether.restoreAPIClone(_aether, tmp909)));  _aether.logStatement([{ofs: 7919, row: 257, col: 4}, {ofs: 7952, row: 257, col: 37}], _aether._userInfo, false);\n            tmp914 = start;\n            tmp915 = bound;\n            _aether.logStatementStart([{ofs: 7957, row: 258, col: 4}, {ofs: 7986, row: 258, col: 33}]); lowStart = tmp914 - tmp915;  _aether.logStatement([{ofs: 7957, row: 258, col: 4}, {ofs: 7986, row: 258, col: 33}], _aether._userInfo, false);\n            tmp916 = start;\n            tmp917 = bound;\n            _aether.logStatementStart([{ofs: 7991, row: 259, col: 4}, {ofs: 8021, row: 259, col: 34}]); highStart = tmp916 + tmp917;  _aether.logStatement([{ofs: 7991, row: 259, col: 4}, {ofs: 8021, row: 259, col: 34}], _aether._userInfo, false);\n            tmp918 = regFunc;\n            tmp922 = points;\n            tmp926 = points;\n            tmp927 = 'length';\n            _aether.logStatementStart([{ofs: 8056, row: 261, col: 29}, {ofs: 8069, row: 261, col: 42}]); tmp924 = tmp926[tmp927];  _aether.logStatement([{ofs: 8056, row: 261, col: 29}, {ofs: 8069, row: 261, col: 42}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8072, row: 261, col: 45}, {ofs: 8073, row: 261, col: 46}]); tmp925 = 1;  _aether.logStatement([{ofs: 8072, row: 261, col: 45}, {ofs: 8073, row: 261, col: 46}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8056, row: 261, col: 29}, {ofs: 8073, row: 261, col: 46}]); tmp923 = tmp924 - tmp925;  _aether.logStatement([{ofs: 8056, row: 261, col: 29}, {ofs: 8073, row: 261, col: 46}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8049, row: 261, col: 22}, {ofs: 8074, row: 261, col: 47}]); tmp920 = tmp922[tmp923];  _aether.logStatement([{ofs: 8049, row: 261, col: 22}, {ofs: 8074, row: 261, col: 47}], _aether._userInfo, false);\n            tmp921 = 'x';\n            _aether.logStatementStart([{ofs: 8049, row: 261, col: 22}, {ofs: 8076, row: 261, col: 49}]); tmp919 = tmp920[tmp921];  _aether.logStatement([{ofs: 8049, row: 261, col: 22}, {ofs: 8076, row: 261, col: 49}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8031, row: 261, col: 4}, {ofs: 8078, row: 261, col: 51}]); end = _aether.createAPIClone(_aether, tmp918(_aether.restoreAPIClone(_aether, tmp919)));  _aether.logStatement([{ofs: 8031, row: 261, col: 4}, {ofs: 8078, row: 261, col: 51}], _aether._userInfo, false);\n            tmp928 = end;\n            tmp929 = bound;\n            _aether.logStatementStart([{ofs: 8083, row: 262, col: 4}, {ofs: 8108, row: 262, col: 29}]); lowEnd = tmp928 - tmp929;  _aether.logStatement([{ofs: 8083, row: 262, col: 4}, {ofs: 8108, row: 262, col: 29}], _aether._userInfo, false);\n            tmp930 = end;\n            tmp931 = bound;\n            _aether.logStatementStart([{ofs: 8113, row: 263, col: 4}, {ofs: 8139, row: 263, col: 30}]); highEnd = tmp930 + tmp931;  _aether.logStatement([{ofs: 8113, row: 263, col: 4}, {ofs: 8139, row: 263, col: 30}], _aether._userInfo, false);\n            tmp932 = lerp;\n            tmp933 = lowStart;\n            tmp934 = highEnd;\n            tmp938 = time;\n            tmp942 = points;\n            _aether.logStatementStart([{ofs: 8205, row: 265, col: 60}, {ofs: 8206, row: 265, col: 61}]); tmp943 = 0;  _aether.logStatement([{ofs: 8205, row: 265, col: 60}, {ofs: 8206, row: 265, col: 61}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8198, row: 265, col: 53}, {ofs: 8207, row: 265, col: 62}]); tmp940 = tmp942[tmp943];  _aether.logStatement([{ofs: 8198, row: 265, col: 53}, {ofs: 8207, row: 265, col: 62}], _aether._userInfo, false);\n            tmp941 = 'x';\n            _aether.logStatementStart([{ofs: 8198, row: 265, col: 53}, {ofs: 8209, row: 265, col: 64}]); tmp939 = tmp940[tmp941];  _aether.logStatement([{ofs: 8198, row: 265, col: 53}, {ofs: 8209, row: 265, col: 64}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8191, row: 265, col: 46}, {ofs: 8209, row: 265, col: 64}]); tmp936 = tmp938 - tmp939;  _aether.logStatement([{ofs: 8191, row: 265, col: 46}, {ofs: 8209, row: 265, col: 64}], _aether._userInfo, false);\n            tmp948 = points;\n            tmp952 = points;\n            tmp953 = 'length';\n            _aether.logStatementStart([{ofs: 8221, row: 265, col: 76}, {ofs: 8234, row: 265, col: 89}]); tmp950 = tmp952[tmp953];  _aether.logStatement([{ofs: 8221, row: 265, col: 76}, {ofs: 8234, row: 265, col: 89}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8237, row: 265, col: 92}, {ofs: 8238, row: 265, col: 93}]); tmp951 = 1;  _aether.logStatement([{ofs: 8237, row: 265, col: 92}, {ofs: 8238, row: 265, col: 93}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8221, row: 265, col: 76}, {ofs: 8238, row: 265, col: 93}]); tmp949 = tmp950 - tmp951;  _aether.logStatement([{ofs: 8221, row: 265, col: 76}, {ofs: 8238, row: 265, col: 93}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8214, row: 265, col: 69}, {ofs: 8239, row: 265, col: 94}]); tmp946 = tmp948[tmp949];  _aether.logStatement([{ofs: 8214, row: 265, col: 69}, {ofs: 8239, row: 265, col: 94}], _aether._userInfo, false);\n            tmp947 = 'x';\n            _aether.logStatementStart([{ofs: 8214, row: 265, col: 69}, {ofs: 8241, row: 265, col: 96}]); tmp944 = tmp946[tmp947];  _aether.logStatement([{ofs: 8214, row: 265, col: 69}, {ofs: 8241, row: 265, col: 96}], _aether._userInfo, false);\n            tmp956 = points;\n            _aether.logStatementStart([{ofs: 8251, row: 265, col: 106}, {ofs: 8252, row: 265, col: 107}]); tmp957 = 0;  _aether.logStatement([{ofs: 8251, row: 265, col: 106}, {ofs: 8252, row: 265, col: 107}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8244, row: 265, col: 99}, {ofs: 8253, row: 265, col: 108}]); tmp954 = tmp956[tmp957];  _aether.logStatement([{ofs: 8244, row: 265, col: 99}, {ofs: 8253, row: 265, col: 108}], _aether._userInfo, false);\n            tmp955 = 'x';\n            _aether.logStatementStart([{ofs: 8244, row: 265, col: 99}, {ofs: 8255, row: 265, col: 110}]); tmp945 = tmp954[tmp955];  _aether.logStatement([{ofs: 8244, row: 265, col: 99}, {ofs: 8255, row: 265, col: 110}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8214, row: 265, col: 69}, {ofs: 8255, row: 265, col: 110}]); tmp937 = tmp944 - tmp945;  _aether.logStatement([{ofs: 8214, row: 265, col: 69}, {ofs: 8255, row: 265, col: 110}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8190, row: 265, col: 45}, {ofs: 8256, row: 265, col: 111}]); tmp935 = tmp936 / tmp937;  _aether.logStatement([{ofs: 8190, row: 265, col: 45}, {ofs: 8256, row: 265, col: 111}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8149, row: 265, col: 4}, {ofs: 8258, row: 265, col: 113}]); upperBound = _aether.createAPIClone(_aether, tmp932(_aether.restoreAPIClone(_aether, tmp933), _aether.restoreAPIClone(_aether, tmp934), _aether.restoreAPIClone(_aether, tmp935)));  _aether.logStatement([{ofs: 8149, row: 265, col: 4}, {ofs: 8258, row: 265, col: 113}], _aether._userInfo, false);\n            tmp958 = lerp;\n            tmp959 = highStart;\n            tmp960 = lowEnd;\n            tmp964 = time;\n            tmp968 = points;\n            _aether.logStatementStart([{ofs: 8319, row: 266, col: 60}, {ofs: 8320, row: 266, col: 61}]); tmp969 = 0;  _aether.logStatement([{ofs: 8319, row: 266, col: 60}, {ofs: 8320, row: 266, col: 61}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8312, row: 266, col: 53}, {ofs: 8321, row: 266, col: 62}]); tmp966 = tmp968[tmp969];  _aether.logStatement([{ofs: 8312, row: 266, col: 53}, {ofs: 8321, row: 266, col: 62}], _aether._userInfo, false);\n            tmp967 = 'x';\n            _aether.logStatementStart([{ofs: 8312, row: 266, col: 53}, {ofs: 8323, row: 266, col: 64}]); tmp965 = tmp966[tmp967];  _aether.logStatement([{ofs: 8312, row: 266, col: 53}, {ofs: 8323, row: 266, col: 64}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8305, row: 266, col: 46}, {ofs: 8323, row: 266, col: 64}]); tmp962 = tmp964 - tmp965;  _aether.logStatement([{ofs: 8305, row: 266, col: 46}, {ofs: 8323, row: 266, col: 64}], _aether._userInfo, false);\n            tmp974 = points;\n            tmp978 = points;\n            tmp979 = 'length';\n            _aether.logStatementStart([{ofs: 8335, row: 266, col: 76}, {ofs: 8348, row: 266, col: 89}]); tmp976 = tmp978[tmp979];  _aether.logStatement([{ofs: 8335, row: 266, col: 76}, {ofs: 8348, row: 266, col: 89}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8351, row: 266, col: 92}, {ofs: 8352, row: 266, col: 93}]); tmp977 = 1;  _aether.logStatement([{ofs: 8351, row: 266, col: 92}, {ofs: 8352, row: 266, col: 93}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8335, row: 266, col: 76}, {ofs: 8352, row: 266, col: 93}]); tmp975 = tmp976 - tmp977;  _aether.logStatement([{ofs: 8335, row: 266, col: 76}, {ofs: 8352, row: 266, col: 93}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8328, row: 266, col: 69}, {ofs: 8353, row: 266, col: 94}]); tmp972 = tmp974[tmp975];  _aether.logStatement([{ofs: 8328, row: 266, col: 69}, {ofs: 8353, row: 266, col: 94}], _aether._userInfo, false);\n            tmp973 = 'x';\n            _aether.logStatementStart([{ofs: 8328, row: 266, col: 69}, {ofs: 8355, row: 266, col: 96}]); tmp970 = tmp972[tmp973];  _aether.logStatement([{ofs: 8328, row: 266, col: 69}, {ofs: 8355, row: 266, col: 96}], _aether._userInfo, false);\n            tmp982 = points;\n            _aether.logStatementStart([{ofs: 8365, row: 266, col: 106}, {ofs: 8366, row: 266, col: 107}]); tmp983 = 0;  _aether.logStatement([{ofs: 8365, row: 266, col: 106}, {ofs: 8366, row: 266, col: 107}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8358, row: 266, col: 99}, {ofs: 8367, row: 266, col: 108}]); tmp980 = tmp982[tmp983];  _aether.logStatement([{ofs: 8358, row: 266, col: 99}, {ofs: 8367, row: 266, col: 108}], _aether._userInfo, false);\n            tmp981 = 'x';\n            _aether.logStatementStart([{ofs: 8358, row: 266, col: 99}, {ofs: 8369, row: 266, col: 110}]); tmp971 = tmp980[tmp981];  _aether.logStatement([{ofs: 8358, row: 266, col: 99}, {ofs: 8369, row: 266, col: 110}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8328, row: 266, col: 69}, {ofs: 8369, row: 266, col: 110}]); tmp963 = tmp970 - tmp971;  _aether.logStatement([{ofs: 8328, row: 266, col: 69}, {ofs: 8369, row: 266, col: 110}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8304, row: 266, col: 45}, {ofs: 8370, row: 266, col: 111}]); tmp961 = tmp962 / tmp963;  _aether.logStatement([{ofs: 8304, row: 266, col: 45}, {ofs: 8370, row: 266, col: 111}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8263, row: 266, col: 4}, {ofs: 8372, row: 266, col: 113}]); lowerBound = _aether.createAPIClone(_aether, tmp958(_aether.restoreAPIClone(_aether, tmp959), _aether.restoreAPIClone(_aether, tmp960), _aether.restoreAPIClone(_aether, tmp961)));  _aether.logStatement([{ofs: 8263, row: 266, col: 4}, {ofs: 8372, row: 266, col: 113}], _aether._userInfo, false);\n            tmp984 = regFunc;\n            tmp985 = time;\n            _aether.logStatementStart([{ofs: 8382, row: 268, col: 4}, {ofs: 8411, row: 268, col: 33}]); estimate = _aether.createAPIClone(_aether, tmp984(_aether.restoreAPIClone(_aether, tmp985)));  _aether.logStatement([{ofs: 8382, row: 268, col: 4}, {ofs: 8411, row: 268, col: 33}], _aether._userInfo, false);\n            tmp987 = upperBound;\n            tmp988 = estimate;\n            tmp989 = lowerBound;\n            _aether.logStatementStart([{ofs: 8433, row: 271, col: 11}, {ofs: 8467, row: 271, col: 45}]); tmp986 = [\n                tmp987,\n                tmp988,\n                tmp989\n            ];  _aether.logStatement([{ofs: 8433, row: 271, col: 11}, {ofs: 8467, row: 271, col: 45}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp986);\n        };  _aether.logStatement([{ofs: 7702, row: 251, col: 0}, {ofs: 8470, row: 272, col: 1}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 11737, row: 400, col: 0}, {ofs: 12713, row: 428, col: 1}]); decideMilitaryToBuild = function (base) {\n            var soldierPercent, friendlyLibs, libPercent, friendlyGrif, grifPercent, friendlyKnight, knightPercent, tmp990, tmp991, tmp992, tmp993, tmp994, tmp995, tmp996, tmp997, tmp998, tmp999, tmp1000, tmp1001, tmp1002, tmp1003, tmp1004, tmp1005, tmp1006, tmp1007, tmp1008, tmp1009, tmp1010, tmp1011, tmp1012, tmp1013, tmp1014, tmp1015, tmp1016, tmp1017, tmp1018, tmp1019, tmp1020, tmp1021, tmp1022, tmp1023, tmp1024, tmp1025, tmp1026, tmp1027, tmp1028, tmp1029, tmp1030, tmp1031, tmp1032, tmp1033, tmp1034, tmp1035, tmp1036, tmp1037, tmp1038, tmp1039, tmp1040, tmp1041, tmp1042, tmp1043, tmp1044, tmp1045, tmp1046, tmp1047, tmp1048, tmp1049, tmp1050, tmp1051, tmp1052, tmp1053, tmp1054, tmp1055, tmp1056, tmp1057, tmp1058, tmp1059, tmp1060, tmp1061, tmp1062, tmp1063, tmp1064, tmp1065; base = _aether.createAPIClone(_aether, base); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp992 = friendlySoldiers;\n            tmp993 = 'length';\n            _aether.logStatementStart([{ofs: 11801, row: 401, col: 25}, {ofs: 11824, row: 401, col: 48}]); tmp990 = tmp992[tmp993];  _aether.logStatement([{ofs: 11801, row: 401, col: 25}, {ofs: 11824, row: 401, col: 48}], _aether._userInfo, false);\n            tmp994 = militaryFriends;\n            tmp995 = 'length';\n            _aether.logStatementStart([{ofs: 11827, row: 401, col: 51}, {ofs: 11849, row: 401, col: 73}]); tmp991 = tmp994[tmp995];  _aether.logStatement([{ofs: 11827, row: 401, col: 51}, {ofs: 11849, row: 401, col: 73}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 11780, row: 401, col: 4}, {ofs: 11850, row: 401, col: 74}]); soldierPercent = tmp990 / tmp991;  _aether.logStatement([{ofs: 11780, row: 401, col: 4}, {ofs: 11850, row: 401, col: 74}], _aether._userInfo, false);\n            tmp1000 = friendlySoldiers;\n            tmp1001 = 'length';\n            _aether.logStatementStart([{ofs: 11864, row: 403, col: 8}, {ofs: 11887, row: 403, col: 31}]); tmp998 = tmp1000[tmp1001];  _aether.logStatement([{ofs: 11864, row: 403, col: 8}, {ofs: 11887, row: 403, col: 31}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 11890, row: 403, col: 34}, {ofs: 11891, row: 403, col: 35}]); tmp999 = 3;  _aether.logStatement([{ofs: 11890, row: 403, col: 34}, {ofs: 11891, row: 403, col: 35}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 11864, row: 403, col: 8}, {ofs: 11891, row: 403, col: 35}]); tmp997 = tmp998 < tmp999;  _aether.logStatement([{ofs: 11864, row: 403, col: 8}, {ofs: 11891, row: 403, col: 35}], _aether._userInfo, false);\n            if (tmp997) {\n                _aether.logStatementStart([{ofs: 11864, row: 403, col: 8}, {ofs: 11917, row: 403, col: 61}]); tmp996 = tmp997;  _aether.logStatement([{ofs: 11864, row: 403, col: 8}, {ofs: 11917, row: 403, col: 61}], _aether._userInfo, false);\n            } else {\n                tmp1002 = soldierPercent;\n                _aether.logStatementStart([{ofs: 11913, row: 403, col: 57}, {ofs: 11917, row: 403, col: 61}]); tmp1003 = 0.45;  _aether.logStatement([{ofs: 11913, row: 403, col: 57}, {ofs: 11917, row: 403, col: 61}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 11895, row: 403, col: 39}, {ofs: 11917, row: 403, col: 61}]); tmp996 = tmp1002 <= tmp1003;  _aether.logStatement([{ofs: 11895, row: 403, col: 39}, {ofs: 11917, row: 403, col: 61}], _aether._userInfo, false);\n            }\n            if (tmp996) {\n                tmp1005 = alliedTypes;\n                tmp1006 = 'soldier';\n                _aether.logStatementStart([{ofs: 11936, row: 404, col: 15}, {ofs: 11955, row: 404, col: 34}]); tmp1004 = tmp1005[tmp1006];  _aether.logStatement([{ofs: 11936, row: 404, col: 15}, {ofs: 11955, row: 404, col: 34}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp1004);\n            } else {\n                ;\n            }\n            tmp1007 = filterType;\n            tmp1010 = alliedTypes;\n            tmp1011 = 'librarian';\n            _aether.logStatementStart([{ofs: 12002, row: 407, col: 34}, {ofs: 12023, row: 407, col: 55}]); tmp1008 = tmp1010[tmp1011];  _aether.logStatement([{ofs: 12002, row: 407, col: 34}, {ofs: 12023, row: 407, col: 55}], _aether._userInfo, false);\n            tmp1009 = militaryFriends;\n            _aether.logStatementStart([{ofs: 11972, row: 407, col: 4}, {ofs: 12042, row: 407, col: 74}]); friendlyLibs = _aether.createAPIClone(_aether, tmp1007(_aether.restoreAPIClone(_aether, tmp1008), _aether.restoreAPIClone(_aether, tmp1009)));  _aether.logStatement([{ofs: 11972, row: 407, col: 4}, {ofs: 12042, row: 407, col: 74}], _aether._userInfo, false);\n            tmp1014 = friendlyLibs;\n            tmp1015 = 'length';\n            _aether.logStatementStart([{ofs: 12064, row: 408, col: 21}, {ofs: 12083, row: 408, col: 40}]); tmp1012 = tmp1014[tmp1015];  _aether.logStatement([{ofs: 12064, row: 408, col: 21}, {ofs: 12083, row: 408, col: 40}], _aether._userInfo, false);\n            tmp1016 = militaryFriends;\n            tmp1017 = 'length';\n            _aether.logStatementStart([{ofs: 12086, row: 408, col: 43}, {ofs: 12108, row: 408, col: 65}]); tmp1013 = tmp1016[tmp1017];  _aether.logStatement([{ofs: 12086, row: 408, col: 43}, {ofs: 12108, row: 408, col: 65}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 12047, row: 408, col: 4}, {ofs: 12109, row: 408, col: 66}]); libPercent = tmp1012 / tmp1013;  _aether.logStatement([{ofs: 12047, row: 408, col: 4}, {ofs: 12109, row: 408, col: 66}], _aether._userInfo, false);\n            tmp1022 = friendlyLibs;\n            tmp1023 = 'length';\n            _aether.logStatementStart([{ofs: 12123, row: 410, col: 8}, {ofs: 12142, row: 410, col: 27}]); tmp1020 = tmp1022[tmp1023];  _aether.logStatement([{ofs: 12123, row: 410, col: 8}, {ofs: 12142, row: 410, col: 27}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 12145, row: 410, col: 30}, {ofs: 12146, row: 410, col: 31}]); tmp1021 = 2;  _aether.logStatement([{ofs: 12145, row: 410, col: 30}, {ofs: 12146, row: 410, col: 31}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 12123, row: 410, col: 8}, {ofs: 12146, row: 410, col: 31}]); tmp1019 = tmp1020 < tmp1021;  _aether.logStatement([{ofs: 12123, row: 410, col: 8}, {ofs: 12146, row: 410, col: 31}], _aether._userInfo, false);\n            if (tmp1019) {\n                _aether.logStatementStart([{ofs: 12123, row: 410, col: 8}, {ofs: 12168, row: 410, col: 53}]); tmp1018 = tmp1019;  _aether.logStatement([{ofs: 12123, row: 410, col: 8}, {ofs: 12168, row: 410, col: 53}], _aether._userInfo, false);\n            } else {\n                tmp1024 = libPercent;\n                _aether.logStatementStart([{ofs: 12164, row: 410, col: 49}, {ofs: 12168, row: 410, col: 53}]); tmp1025 = 0.33;  _aether.logStatement([{ofs: 12164, row: 410, col: 49}, {ofs: 12168, row: 410, col: 53}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 12150, row: 410, col: 35}, {ofs: 12168, row: 410, col: 53}]); tmp1018 = tmp1024 <= tmp1025;  _aether.logStatement([{ofs: 12150, row: 410, col: 35}, {ofs: 12168, row: 410, col: 53}], _aether._userInfo, false);\n            }\n            if (tmp1018) {\n                tmp1027 = alliedTypes;\n                tmp1028 = 'librarian';\n                _aether.logStatementStart([{ofs: 12187, row: 411, col: 15}, {ofs: 12208, row: 411, col: 36}]); tmp1026 = tmp1027[tmp1028];  _aether.logStatement([{ofs: 12187, row: 411, col: 15}, {ofs: 12208, row: 411, col: 36}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp1026);\n            } else {\n                ;\n            }\n            tmp1029 = filterType;\n            tmp1032 = alliedTypes;\n            tmp1033 = 'griffinRider';\n            _aether.logStatementStart([{ofs: 12255, row: 414, col: 34}, {ofs: 12279, row: 414, col: 58}]); tmp1030 = tmp1032[tmp1033];  _aether.logStatement([{ofs: 12255, row: 414, col: 34}, {ofs: 12279, row: 414, col: 58}], _aether._userInfo, false);\n            tmp1031 = militaryFriends;\n            _aether.logStatementStart([{ofs: 12225, row: 414, col: 4}, {ofs: 12298, row: 414, col: 77}]); friendlyGrif = _aether.createAPIClone(_aether, tmp1029(_aether.restoreAPIClone(_aether, tmp1030), _aether.restoreAPIClone(_aether, tmp1031)));  _aether.logStatement([{ofs: 12225, row: 414, col: 4}, {ofs: 12298, row: 414, col: 77}], _aether._userInfo, false);\n            tmp1036 = friendlyGrif;\n            tmp1037 = 'length';\n            _aether.logStatementStart([{ofs: 12321, row: 415, col: 22}, {ofs: 12340, row: 415, col: 41}]); tmp1034 = tmp1036[tmp1037];  _aether.logStatement([{ofs: 12321, row: 415, col: 22}, {ofs: 12340, row: 415, col: 41}], _aether._userInfo, false);\n            tmp1038 = militaryFriends;\n            tmp1039 = 'length';\n            _aether.logStatementStart([{ofs: 12343, row: 415, col: 44}, {ofs: 12365, row: 415, col: 66}]); tmp1035 = tmp1038[tmp1039];  _aether.logStatement([{ofs: 12343, row: 415, col: 44}, {ofs: 12365, row: 415, col: 66}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 12303, row: 415, col: 4}, {ofs: 12366, row: 415, col: 67}]); grifPercent = tmp1034 / tmp1035;  _aether.logStatement([{ofs: 12303, row: 415, col: 4}, {ofs: 12366, row: 415, col: 67}], _aether._userInfo, false);\n            tmp1041 = grifPercent;\n            _aether.logStatementStart([{ofs: 12394, row: 417, col: 22}, {ofs: 12399, row: 417, col: 27}]); tmp1042 = 0.125;  _aether.logStatement([{ofs: 12394, row: 417, col: 22}, {ofs: 12399, row: 417, col: 27}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 12380, row: 417, col: 8}, {ofs: 12399, row: 417, col: 27}]); tmp1040 = tmp1041 < tmp1042;  _aether.logStatement([{ofs: 12380, row: 417, col: 8}, {ofs: 12399, row: 417, col: 27}], _aether._userInfo, false);\n            if (tmp1040) {\n                tmp1044 = alliedTypes;\n                tmp1045 = 'griffinRider';\n                _aether.logStatementStart([{ofs: 12418, row: 418, col: 15}, {ofs: 12442, row: 418, col: 39}]); tmp1043 = tmp1044[tmp1045];  _aether.logStatement([{ofs: 12418, row: 418, col: 15}, {ofs: 12442, row: 418, col: 39}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp1043);\n            } else {\n                ;\n            }\n            tmp1046 = filterType;\n            tmp1049 = alliedTypes;\n            tmp1050 = 'knight';\n            _aether.logStatementStart([{ofs: 12491, row: 421, col: 36}, {ofs: 12509, row: 421, col: 54}]); tmp1047 = tmp1049[tmp1050];  _aether.logStatement([{ofs: 12491, row: 421, col: 36}, {ofs: 12509, row: 421, col: 54}], _aether._userInfo, false);\n            tmp1048 = militaryFriends;\n            _aether.logStatementStart([{ofs: 12459, row: 421, col: 4}, {ofs: 12528, row: 421, col: 73}]); friendlyKnight = _aether.createAPIClone(_aether, tmp1046(_aether.restoreAPIClone(_aether, tmp1047), _aether.restoreAPIClone(_aether, tmp1048)));  _aether.logStatement([{ofs: 12459, row: 421, col: 4}, {ofs: 12528, row: 421, col: 73}], _aether._userInfo, false);\n            tmp1053 = friendlyKnight;\n            tmp1054 = 'length';\n            _aether.logStatementStart([{ofs: 12553, row: 422, col: 24}, {ofs: 12574, row: 422, col: 45}]); tmp1051 = tmp1053[tmp1054];  _aether.logStatement([{ofs: 12553, row: 422, col: 24}, {ofs: 12574, row: 422, col: 45}], _aether._userInfo, false);\n            tmp1055 = militaryFriends;\n            tmp1056 = 'length';\n            _aether.logStatementStart([{ofs: 12577, row: 422, col: 48}, {ofs: 12599, row: 422, col: 70}]); tmp1052 = tmp1055[tmp1056];  _aether.logStatement([{ofs: 12577, row: 422, col: 48}, {ofs: 12599, row: 422, col: 70}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 12533, row: 422, col: 4}, {ofs: 12600, row: 422, col: 71}]); knightPercent = tmp1051 / tmp1052;  _aether.logStatement([{ofs: 12533, row: 422, col: 4}, {ofs: 12600, row: 422, col: 71}], _aether._userInfo, false);\n            tmp1058 = knightPercent;\n            _aether.logStatementStart([{ofs: 12625, row: 423, col: 24}, {ofs: 12630, row: 423, col: 29}]); tmp1059 = 0.1;  _aether.logStatement([{ofs: 12625, row: 423, col: 24}, {ofs: 12630, row: 423, col: 29}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 12609, row: 423, col: 8}, {ofs: 12630, row: 423, col: 29}]); tmp1057 = tmp1058 < tmp1059;  _aether.logStatement([{ofs: 12609, row: 423, col: 8}, {ofs: 12630, row: 423, col: 29}], _aether._userInfo, false);\n            if (tmp1057) {\n                tmp1061 = alliedTypes;\n                tmp1062 = 'knight';\n                _aether.logStatementStart([{ofs: 12649, row: 424, col: 15}, {ofs: 12667, row: 424, col: 33}]); tmp1060 = tmp1061[tmp1062];  _aether.logStatement([{ofs: 12649, row: 424, col: 15}, {ofs: 12667, row: 424, col: 33}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp1060);\n            } else {\n                ;\n            }\n            tmp1064 = alliedTypes;\n            tmp1065 = 'soldier';\n            _aether.logStatementStart([{ofs: 12691, row: 427, col: 11}, {ofs: 12710, row: 427, col: 30}]); tmp1063 = tmp1064[tmp1065];  _aether.logStatement([{ofs: 12691, row: 427, col: 11}, {ofs: 12710, row: 427, col: 30}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp1063);\n        };  _aether.logStatement([{ofs: 11737, row: 400, col: 0}, {ofs: 12713, row: 428, col: 1}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 115, row: 3, col: 13}, {ofs: 124, row: 3, col: 22}]); tmp2 = 'peasant';  _aether.logStatement([{ofs: 115, row: 3, col: 13}, {ofs: 124, row: 3, col: 22}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 139, row: 4, col: 13}, {ofs: 148, row: 4, col: 22}]); tmp3 = 'soldier';  _aether.logStatement([{ofs: 139, row: 4, col: 13}, {ofs: 148, row: 4, col: 22}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 162, row: 5, col: 12}, {ofs: 170, row: 5, col: 20}]); tmp4 = 'knight';  _aether.logStatement([{ofs: 162, row: 5, col: 12}, {ofs: 170, row: 5, col: 20}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 187, row: 6, col: 15}, {ofs: 198, row: 6, col: 26}]); tmp5 = 'librarian';  _aether.logStatement([{ofs: 187, row: 6, col: 15}, {ofs: 198, row: 6, col: 26}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 218, row: 7, col: 18}, {ofs: 233, row: 7, col: 33}]); tmp6 = 'griffin-rider';  _aether.logStatement([{ofs: 218, row: 7, col: 18}, {ofs: 233, row: 7, col: 33}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 248, row: 8, col: 13}, {ofs: 257, row: 8, col: 22}]); tmp7 = 'captain';  _aether.logStatement([{ofs: 248, row: 8, col: 13}, {ofs: 257, row: 8, col: 22}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 82, row: 2, col: 0}, {ofs: 260, row: 9, col: 2}]); alliedTypes = {\n            peasant: tmp2,\n            soldier: tmp3,\n            knight: tmp4,\n            librarian: tmp5,\n            griffinRider: tmp6,\n            captain: tmp7\n        };  _aether.logStatement([{ofs: 82, row: 2, col: 0}, {ofs: 260, row: 9, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 294, row: 12, col: 13}, {ofs: 300, row: 12, col: 19}]); tmp8 = 'peon';  _aether.logStatement([{ofs: 294, row: 12, col: 13}, {ofs: 300, row: 12, col: 19}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 315, row: 13, col: 13}, {ofs: 325, row: 13, col: 23}]); tmp9 = 'munchkin';  _aether.logStatement([{ofs: 315, row: 13, col: 13}, {ofs: 325, row: 13, col: 23}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 339, row: 14, col: 12}, {ofs: 345, row: 14, col: 18}]); tmp10 = 'ogre';  _aether.logStatement([{ofs: 339, row: 14, col: 12}, {ofs: 345, row: 14, col: 18}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 362, row: 15, col: 15}, {ofs: 370, row: 15, col: 23}]); tmp11 = 'shaman';  _aether.logStatement([{ofs: 362, row: 15, col: 15}, {ofs: 370, row: 15, col: 23}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 390, row: 16, col: 18}, {ofs: 401, row: 16, col: 29}]); tmp12 = 'fangrider';  _aether.logStatement([{ofs: 390, row: 16, col: 18}, {ofs: 401, row: 16, col: 29}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 416, row: 17, col: 13}, {ofs: 425, row: 17, col: 22}]); tmp13 = 'brawler';  _aether.logStatement([{ofs: 416, row: 17, col: 13}, {ofs: 425, row: 17, col: 22}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 262, row: 11, col: 0}, {ofs: 428, row: 18, col: 2}]); enemyTypes = {\n            peasant: tmp8,\n            soldier: tmp9,\n            knight: tmp10,\n            librarian: tmp11,\n            griffinRider: tmp12,\n            captain: tmp13\n        };  _aether.logStatement([{ofs: 262, row: 11, col: 0}, {ofs: 428, row: 18, col: 2}], _aether._userInfo, false);\n        tmp19 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp20 = 'buildables';\n        _aether.logStatementStart([{ofs: 434, row: 20, col: 4}, {ofs: 449, row: 20, col: 19}]); tmp17 = tmp19[tmp20];  _aether.logStatement([{ofs: 434, row: 20, col: 4}, {ofs: 449, row: 20, col: 19}], _aether._userInfo, false);\n        tmp18 = 'peasant';\n        _aether.logStatementStart([{ofs: 434, row: 20, col: 4}, {ofs: 457, row: 20, col: 27}]); tmp15 = tmp17[tmp18];  _aether.logStatement([{ofs: 434, row: 20, col: 4}, {ofs: 457, row: 20, col: 27}], _aether._userInfo, false);\n        tmp21 = 'undefined';\n        tmp16 = __global[tmp21];\n        _aether.logStatementStart([{ofs: 434, row: 20, col: 4}, {ofs: 471, row: 20, col: 41}]); tmp14 = tmp15 === tmp16;  _aether.logStatement([{ofs: 434, row: 20, col: 4}, {ofs: 471, row: 20, col: 41}], _aether._userInfo, false);\n        if (tmp14) {\n            tmp = alliedTypes;\n            alliedTypes = enemyTypes;\n            enemyTypes = tmp;\n        } else {\n            ;\n        }\n        tmp22 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp23 = 'getItems';\n        _aether.logStatementStart([{ofs: 6245, row: 206, col: 0}, {ofs: 6273, row: 206, col: 28}]); items = _aether.createAPIClone(_aether, tmp22[tmp23]());  _aether.logStatement([{ofs: 6245, row: 206, col: 0}, {ofs: 6273, row: 206, col: 28}], _aether._userInfo, false);\n        tmp24 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp25 = 'getFriends';\n        _aether.logStatementStart([{ofs: 6274, row: 207, col: 0}, {ofs: 6306, row: 207, col: 32}]); friends = _aether.createAPIClone(_aether, tmp24[tmp25]());  _aether.logStatement([{ofs: 6274, row: 207, col: 0}, {ofs: 6306, row: 207, col: 32}], _aether._userInfo, false);\n        tmp26 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp27 = 'getEnemies';\n        _aether.logStatementStart([{ofs: 6307, row: 208, col: 0}, {ofs: 6339, row: 208, col: 32}]); enemies = _aether.createAPIClone(_aether, tmp26[tmp27]());  _aether.logStatement([{ofs: 6307, row: 208, col: 0}, {ofs: 6339, row: 208, col: 32}], _aether._userInfo, false);\n        tmp30 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp31 = 'getByType';\n        _aether.logStatementStart([{ofs: 6372, row: 210, col: 31}, {ofs: 6378, row: 210, col: 37}]); tmp32 = 'base';  _aether.logStatement([{ofs: 6372, row: 210, col: 31}, {ofs: 6378, row: 210, col: 37}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 6357, row: 210, col: 16}, {ofs: 6379, row: 210, col: 38}]); tmp28 = _aether.createAPIClone(_aether, tmp30[tmp31](_aether.restoreAPIClone(_aether, tmp32)));  _aether.logStatement([{ofs: 6357, row: 210, col: 16}, {ofs: 6379, row: 210, col: 38}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 6380, row: 210, col: 39}, {ofs: 6381, row: 210, col: 40}]); tmp29 = 0;  _aether.logStatement([{ofs: 6380, row: 210, col: 39}, {ofs: 6381, row: 210, col: 40}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 6341, row: 210, col: 0}, {ofs: 6383, row: 210, col: 42}]); enemyBase = tmp28[tmp29];  _aether.logStatement([{ofs: 6341, row: 210, col: 0}, {ofs: 6383, row: 210, col: 42}], _aether._userInfo, false);\n        tmp33 = enemyBase;\n        if (tmp33) {\n            tmp34 = enemyBase;\n            tmp35 = 'gold';\n            _aether.logStatementStart([{ofs: 6412, row: 211, col: 28}, {ofs: 6426, row: 211, col: 42}]); enemyGold = tmp34[tmp35];  _aether.logStatement([{ofs: 6412, row: 211, col: 28}, {ofs: 6426, row: 211, col: 42}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 6429, row: 211, col: 45}, {ofs: 6430, row: 211, col: 46}]); enemyGold = 0;  _aether.logStatement([{ofs: 6429, row: 211, col: 45}, {ofs: 6430, row: 211, col: 46}], _aether._userInfo, false);\n        }\n        tmp36 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp37 = 'getByType';\n        tmp39 = alliedTypes;\n        tmp40 = 'peasant';\n        _aether.logStatementStart([{ofs: 6463, row: 213, col: 30}, {ofs: 6482, row: 213, col: 49}]); tmp38 = tmp39[tmp40];  _aether.logStatement([{ofs: 6463, row: 213, col: 30}, {ofs: 6482, row: 213, col: 49}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 6433, row: 213, col: 0}, {ofs: 6484, row: 213, col: 51}]); peasants = _aether.createAPIClone(_aether, tmp36[tmp37](_aether.restoreAPIClone(_aether, tmp38)));  _aether.logStatement([{ofs: 6433, row: 213, col: 0}, {ofs: 6484, row: 213, col: 51}], _aether._userInfo, false);\n        tmp41 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp42 = 'getByType';\n        tmp44 = enemyTypes;\n        tmp45 = 'peasant';\n        _aether.logStatementStart([{ofs: 6512, row: 214, col: 27}, {ofs: 6530, row: 214, col: 45}]); tmp43 = tmp44[tmp45];  _aether.logStatement([{ofs: 6512, row: 214, col: 27}, {ofs: 6530, row: 214, col: 45}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 6485, row: 214, col: 0}, {ofs: 6532, row: 214, col: 47}]); peons = _aether.createAPIClone(_aether, tmp41[tmp42](_aether.restoreAPIClone(_aether, tmp43)));  _aether.logStatement([{ofs: 6485, row: 214, col: 0}, {ofs: 6532, row: 214, col: 47}], _aether._userInfo, false);\n        tmp46 = computeSpringAssignments;\n        tmp47 = peasants;\n        tmp48 = peons;\n        tmp49 = items;\n        tmp50 = computeAttractionSquared;\n        _aether.logStatementStart([{ofs: 6534, row: 216, col: 0}, {ofs: 6627, row: 216, col: 93}]); assignments = _aether.createAPIClone(_aether, tmp46(_aether.restoreAPIClone(_aether, tmp47), _aether.restoreAPIClone(_aether, tmp48), _aether.restoreAPIClone(_aether, tmp49), _aether.restoreAPIClone(_aether, tmp50)));  _aether.logStatement([{ofs: 6534, row: 216, col: 0}, {ofs: 6627, row: 216, col: 93}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 6633, row: 217, col: 5}, {ofs: 6642, row: 217, col: 14}]); i = 0;  _aether.logStatement([{ofs: 6633, row: 217, col: 5}, {ofs: 6642, row: 217, col: 14}], _aether._userInfo, false);\n        tmp52 = i;\n        tmp54 = assignments;\n        tmp55 = 'length';\n        _aether.logStatementStart([{ofs: 6648, row: 217, col: 20}, {ofs: 6666, row: 217, col: 38}]); tmp53 = tmp54[tmp55];  _aether.logStatement([{ofs: 6648, row: 217, col: 20}, {ofs: 6666, row: 217, col: 38}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 6644, row: 217, col: 16}, {ofs: 6666, row: 217, col: 38}]); tmp51 = tmp52 < tmp53;  _aether.logStatement([{ofs: 6644, row: 217, col: 16}, {ofs: 6666, row: 217, col: 38}], _aether._userInfo, false);\n        tmp62: {\n            while (tmp51) {\n                tmp63: {\n                    tmp64 = assignments;\n                    tmp65 = i;\n                    _aether.logStatementStart([{ofs: 6679, row: 218, col: 4}, {ofs: 6703, row: 218, col: 28}]); as = tmp64[tmp65];  _aether.logStatement([{ofs: 6679, row: 218, col: 4}, {ofs: 6703, row: 218, col: 28}], _aether._userInfo, false);\n                    tmp66 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp67 = 'command';\n                    tmp71 = as;\n                    tmp72 = 'src';\n                    _aether.logStatementStart([{ofs: 6721, row: 219, col: 17}, {ofs: 6727, row: 219, col: 23}]); tmp68 = tmp71[tmp72];  _aether.logStatement([{ofs: 6721, row: 219, col: 17}, {ofs: 6727, row: 219, col: 23}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 6729, row: 219, col: 25}, {ofs: 6735, row: 219, col: 31}]); tmp69 = 'move';  _aether.logStatement([{ofs: 6729, row: 219, col: 25}, {ofs: 6735, row: 219, col: 31}], _aether._userInfo, false);\n                    tmp73 = as;\n                    tmp74 = 'target';\n                    _aether.logStatementStart([{ofs: 6737, row: 219, col: 33}, {ofs: 6746, row: 219, col: 42}]); tmp70 = tmp73[tmp74];  _aether.logStatement([{ofs: 6737, row: 219, col: 33}, {ofs: 6746, row: 219, col: 42}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 6708, row: 219, col: 4}, {ofs: 6747, row: 219, col: 43}]); tmp75 = _aether.createAPIClone(_aether, tmp66[tmp67](_aether.restoreAPIClone(_aether, tmp68), _aether.restoreAPIClone(_aether, tmp69), _aether.restoreAPIClone(_aether, tmp70)));  _aether.logStatement([{ofs: 6708, row: 219, col: 4}, {ofs: 6747, row: 219, col: 43}], _aether._userInfo, false);\n                }\n                tmp60 = i;\n                tmp61 = 1;\n                i = tmp60 + tmp61;\n                tmp56 = i;\n                tmp58 = assignments;\n                tmp59 = 'length';\n                _aether.logStatementStart([{ofs: 6648, row: 217, col: 20}, {ofs: 6666, row: 217, col: 38}]); tmp57 = tmp58[tmp59];  _aether.logStatement([{ofs: 6648, row: 217, col: 20}, {ofs: 6666, row: 217, col: 38}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 6644, row: 217, col: 16}, {ofs: 6666, row: 217, col: 38}]); tmp51 = tmp56 < tmp57;  _aether.logStatement([{ofs: 6644, row: 217, col: 16}, {ofs: 6666, row: 217, col: 38}], _aether._userInfo, false);\n            }\n        }\n        tmp76 = filterNotType;\n        tmp79 = alliedTypes;\n        tmp80 = 'peasant';\n        _aether.logStatementStart([{ofs: 8590, row: 276, col: 36}, {ofs: 8609, row: 276, col: 55}]); tmp77 = tmp79[tmp80];  _aether.logStatement([{ofs: 8590, row: 276, col: 36}, {ofs: 8609, row: 276, col: 55}], _aether._userInfo, false);\n        tmp78 = friends;\n        _aether.logStatementStart([{ofs: 8554, row: 276, col: 0}, {ofs: 8620, row: 276, col: 66}]); militaryFriends = _aether.createAPIClone(_aether, tmp76(_aether.restoreAPIClone(_aether, tmp77), _aether.restoreAPIClone(_aether, tmp78)));  _aether.logStatement([{ofs: 8554, row: 276, col: 0}, {ofs: 8620, row: 276, col: 66}], _aether._userInfo, false);\n        tmp81 = filterType;\n        tmp84 = alliedTypes;\n        tmp85 = 'soldier';\n        _aether.logStatementStart([{ofs: 8655, row: 277, col: 34}, {ofs: 8674, row: 277, col: 53}]); tmp82 = tmp84[tmp85];  _aether.logStatement([{ofs: 8655, row: 277, col: 34}, {ofs: 8674, row: 277, col: 53}], _aether._userInfo, false);\n        tmp83 = friends;\n        _aether.logStatementStart([{ofs: 8621, row: 277, col: 0}, {ofs: 8685, row: 277, col: 64}]); friendlySoldiers = _aether.createAPIClone(_aether, tmp81(_aether.restoreAPIClone(_aether, tmp82), _aether.restoreAPIClone(_aether, tmp83)));  _aether.logStatement([{ofs: 8621, row: 277, col: 0}, {ofs: 8685, row: 277, col: 64}], _aether._userInfo, false);\n        tmp86 = filterNotType;\n        _aether.logStatementStart([{ofs: 8722, row: 278, col: 36}, {ofs: 8728, row: 278, col: 42}]); tmp87 = 'base';  _aether.logStatement([{ofs: 8722, row: 278, col: 36}, {ofs: 8728, row: 278, col: 42}], _aether._userInfo, false);\n        tmp89 = filterNotType;\n        tmp92 = enemyTypes;\n        tmp93 = 'peasant';\n        _aether.logStatementStart([{ofs: 8744, row: 278, col: 58}, {ofs: 8762, row: 278, col: 76}]); tmp90 = tmp92[tmp93];  _aether.logStatement([{ofs: 8744, row: 278, col: 58}, {ofs: 8762, row: 278, col: 76}], _aether._userInfo, false);\n        tmp91 = enemies;\n        _aether.logStatementStart([{ofs: 8730, row: 278, col: 44}, {ofs: 8772, row: 278, col: 86}]); tmp88 = _aether.createAPIClone(_aether, tmp89(_aether.restoreAPIClone(_aether, tmp90), _aether.restoreAPIClone(_aether, tmp91)));  _aether.logStatement([{ofs: 8730, row: 278, col: 44}, {ofs: 8772, row: 278, col: 86}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 8686, row: 278, col: 0}, {ofs: 8774, row: 278, col: 88}]); militaryEnemies = _aether.createAPIClone(_aether, tmp86(_aether.restoreAPIClone(_aether, tmp87), _aether.restoreAPIClone(_aether, tmp88)));  _aether.logStatement([{ofs: 8686, row: 278, col: 0}, {ofs: 8774, row: 278, col: 88}], _aether._userInfo, false);\n        tmp94 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp95 = 'getNearest';\n        tmp96 = militaryEnemies;\n        _aether.logStatementStart([{ofs: 8775, row: 279, col: 0}, {ofs: 8827, row: 279, col: 52}]); nearestEnemy = _aether.createAPIClone(_aether, tmp94[tmp95](_aether.restoreAPIClone(_aether, tmp96)));  _aether.logStatement([{ofs: 8775, row: 279, col: 0}, {ofs: 8827, row: 279, col: 52}], _aether._userInfo, false);\n        tmp100 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp101 = 'enemyGoldHistory';\n        _aether.logStatementStart([{ofs: 8915, row: 283, col: 4}, {ofs: 8936, row: 283, col: 25}]); tmp98 = tmp100[tmp101];  _aether.logStatement([{ofs: 8915, row: 283, col: 4}, {ofs: 8936, row: 283, col: 25}], _aether._userInfo, false);\n        tmp102 = 'undefined';\n        tmp99 = __global[tmp102];\n        _aether.logStatementStart([{ofs: 8915, row: 283, col: 4}, {ofs: 8950, row: 283, col: 39}]); tmp97 = tmp98 === tmp99;  _aether.logStatement([{ofs: 8915, row: 283, col: 4}, {ofs: 8950, row: 283, col: 39}], _aether._userInfo, false);\n        if (tmp97) {\n            tmp103 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp104 = 'enemyGoldHistory';\n            _aether.logStatementStart([{ofs: 8958, row: 284, col: 4}, {ofs: 8985, row: 284, col: 31}]); tmp105 = [];  _aether.logStatement([{ofs: 8958, row: 284, col: 4}, {ofs: 8985, row: 284, col: 31}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8958, row: 284, col: 4}, {ofs: 8984, row: 284, col: 30}]); tmp103[tmp104] = tmp105;  _aether.logStatement([{ofs: 8958, row: 284, col: 4}, {ofs: 8984, row: 284, col: 30}], _aether._userInfo, false);\n        } else {\n            ;\n        }\n        tmp109 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp110 = 'counter';\n        _aether.logStatementStart([{ofs: 8993, row: 287, col: 4}, {ofs: 9005, row: 287, col: 16}]); tmp107 = tmp109[tmp110];  _aether.logStatement([{ofs: 8993, row: 287, col: 4}, {ofs: 9005, row: 287, col: 16}], _aether._userInfo, false);\n        tmp111 = 'undefined';\n        tmp108 = __global[tmp111];\n        _aether.logStatementStart([{ofs: 8993, row: 287, col: 4}, {ofs: 9019, row: 287, col: 30}]); tmp106 = tmp107 === tmp108;  _aether.logStatement([{ofs: 8993, row: 287, col: 4}, {ofs: 9019, row: 287, col: 30}], _aether._userInfo, false);\n        if (tmp106) {\n            tmp112 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp113 = 'counter';\n            _aether.logStatementStart([{ofs: 9027, row: 288, col: 4}, {ofs: 9044, row: 288, col: 21}]); tmp114 = 0;  _aether.logStatement([{ofs: 9027, row: 288, col: 4}, {ofs: 9044, row: 288, col: 21}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 9027, row: 288, col: 4}, {ofs: 9043, row: 288, col: 20}]); tmp112[tmp113] = tmp114;  _aether.logStatement([{ofs: 9027, row: 288, col: 4}, {ofs: 9043, row: 288, col: 20}], _aether._userInfo, false);\n        } else {\n            ;\n        }\n        _aether.logStatementStart([{ofs: 9048, row: 291, col: 0}, {ofs: 9082, row: 291, col: 34}]); PREDICTOR_HISTORY_LENGTH = 25;  _aether.logStatement([{ofs: 9048, row: 291, col: 0}, {ofs: 9082, row: 291, col: 34}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 9083, row: 292, col: 0}, {ofs: 9117, row: 292, col: 34}]); PREDICTOR_SAMPLE_INTERVAL = 4;  _aether.logStatement([{ofs: 9083, row: 292, col: 0}, {ofs: 9117, row: 292, col: 34}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 9118, row: 293, col: 0}, {ofs: 9152, row: 293, col: 34}]); PREDICTOR_LOOKAHEAD_TIME = 17;  _aether.logStatement([{ofs: 9118, row: 293, col: 0}, {ofs: 9152, row: 293, col: 34}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 9154, row: 295, col: 0}, {ofs: 9178, row: 295, col: 24}]); enemyTotalWorth = 0;  _aether.logStatement([{ofs: 9154, row: 295, col: 0}, {ofs: 9178, row: 295, col: 24}], _aether._userInfo, false);\n        tmp115 = enemyBase;\n        if (tmp115) {\n            tmp118 = valuateFighters;\n            tmp120 = enemyBase;\n            tmp121 = 'built';\n            _aether.logStatementStart([{ofs: 9234, row: 297, col: 38}, {ofs: 9249, row: 297, col: 53}]); tmp119 = tmp120[tmp121];  _aether.logStatement([{ofs: 9234, row: 297, col: 38}, {ofs: 9249, row: 297, col: 53}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 9218, row: 297, col: 22}, {ofs: 9250, row: 297, col: 54}]); tmp116 = _aether.createAPIClone(_aether, tmp118(_aether.restoreAPIClone(_aether, tmp119)));  _aether.logStatement([{ofs: 9218, row: 297, col: 22}, {ofs: 9250, row: 297, col: 54}], _aether._userInfo, false);\n            tmp117 = enemyGold;\n            _aether.logStatementStart([{ofs: 9200, row: 297, col: 4}, {ofs: 9263, row: 297, col: 67}]); enemyTotalWorth = tmp116 + tmp117;  _aether.logStatement([{ofs: 9200, row: 297, col: 4}, {ofs: 9263, row: 297, col: 67}], _aether._userInfo, false);\n        } else {\n            ;\n        }\n        tmp127 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp128 = 'counter';\n        _aether.logStatementStart([{ofs: 9271, row: 300, col: 4}, {ofs: 9285, row: 300, col: 18}]); tmp125 = tmp127[tmp128];  _aether.logStatement([{ofs: 9271, row: 300, col: 4}, {ofs: 9285, row: 300, col: 18}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 9271, row: 300, col: 4}, {ofs: 9285, row: 300, col: 18}]); tmp130 = 1;  _aether.logStatement([{ofs: 9271, row: 300, col: 4}, {ofs: 9285, row: 300, col: 18}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 9271, row: 300, col: 4}, {ofs: 9285, row: 300, col: 18}]); tmp129 = tmp125 + tmp130;  _aether.logStatement([{ofs: 9271, row: 300, col: 4}, {ofs: 9285, row: 300, col: 18}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 9271, row: 300, col: 4}, {ofs: 9285, row: 300, col: 18}]); tmp127[tmp128] = tmp129;  _aether.logStatement([{ofs: 9271, row: 300, col: 4}, {ofs: 9285, row: 300, col: 18}], _aether._userInfo, false);\n        tmp126 = PREDICTOR_SAMPLE_INTERVAL;\n        _aether.logStatementStart([{ofs: 9271, row: 300, col: 4}, {ofs: 9313, row: 300, col: 46}]); tmp123 = tmp125 % tmp126;  _aether.logStatement([{ofs: 9271, row: 300, col: 4}, {ofs: 9313, row: 300, col: 46}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 9318, row: 300, col: 51}, {ofs: 9319, row: 300, col: 52}]); tmp124 = 0;  _aether.logStatement([{ofs: 9318, row: 300, col: 51}, {ofs: 9319, row: 300, col: 52}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 9271, row: 300, col: 4}, {ofs: 9319, row: 300, col: 52}]); tmp122 = tmp123 === tmp124;  _aether.logStatement([{ofs: 9271, row: 300, col: 4}, {ofs: 9319, row: 300, col: 52}], _aether._userInfo, false);\n        if (tmp122) {\n            tmp133 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp134 = 'enemyGoldHistory';\n            _aether.logStatementStart([{ofs: 9327, row: 301, col: 4}, {ofs: 9348, row: 301, col: 25}]); tmp131 = tmp133[tmp134];  _aether.logStatement([{ofs: 9327, row: 301, col: 4}, {ofs: 9348, row: 301, col: 25}], _aether._userInfo, false);\n            tmp132 = 'push';\n            tmp138 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp139 = 'now';\n            _aether.logStatementStart([{ofs: 9358, row: 301, col: 35}, {ofs: 9368, row: 301, col: 45}]); tmp136 = _aether.createAPIClone(_aether, tmp138[tmp139]());  _aether.logStatement([{ofs: 9358, row: 301, col: 35}, {ofs: 9368, row: 301, col: 45}], _aether._userInfo, false);\n            tmp137 = enemyTotalWorth;\n            _aether.logStatementStart([{ofs: 9354, row: 301, col: 31}, {ofs: 9389, row: 301, col: 66}]); tmp135 = {\n                x: tmp136,\n                y: tmp137\n            };  _aether.logStatement([{ofs: 9354, row: 301, col: 31}, {ofs: 9389, row: 301, col: 66}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 9327, row: 301, col: 4}, {ofs: 9390, row: 301, col: 67}]); tmp140 = _aether.createAPIClone(_aether, tmp131[tmp132](_aether.restoreAPIClone(_aether, tmp135)));  _aether.logStatement([{ofs: 9327, row: 301, col: 4}, {ofs: 9390, row: 301, col: 67}], _aether._userInfo, false);\n        } else {\n            ;\n        }\n        tmp146 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp147 = 'enemyGoldHistory';\n        _aether.logStatementStart([{ofs: 9399, row: 304, col: 4}, {ofs: 9420, row: 304, col: 25}]); tmp144 = tmp146[tmp147];  _aether.logStatement([{ofs: 9399, row: 304, col: 4}, {ofs: 9420, row: 304, col: 25}], _aether._userInfo, false);\n        tmp145 = 'length';\n        _aether.logStatementStart([{ofs: 9399, row: 304, col: 4}, {ofs: 9427, row: 304, col: 32}]); tmp142 = tmp144[tmp145];  _aether.logStatement([{ofs: 9399, row: 304, col: 4}, {ofs: 9427, row: 304, col: 32}], _aether._userInfo, false);\n        tmp143 = PREDICTOR_HISTORY_LENGTH;\n        _aether.logStatementStart([{ofs: 9399, row: 304, col: 4}, {ofs: 9454, row: 304, col: 59}]); tmp141 = tmp142 > tmp143;  _aether.logStatement([{ofs: 9399, row: 304, col: 4}, {ofs: 9454, row: 304, col: 59}], _aether._userInfo, false);\n        if (tmp141) {\n            tmp150 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp151 = 'enemyGoldHistory';\n            _aether.logStatementStart([{ofs: 9462, row: 305, col: 4}, {ofs: 9483, row: 305, col: 25}]); tmp148 = tmp150[tmp151];  _aether.logStatement([{ofs: 9462, row: 305, col: 4}, {ofs: 9483, row: 305, col: 25}], _aether._userInfo, false);\n            tmp149 = 'shift';\n            _aether.logStatementStart([{ofs: 9462, row: 305, col: 4}, {ofs: 9491, row: 305, col: 33}]); tmp152 = _aether.createAPIClone(_aether, tmp148[tmp149]());  _aether.logStatement([{ofs: 9462, row: 305, col: 4}, {ofs: 9491, row: 305, col: 33}], _aether._userInfo, false);\n        } else {\n            ;\n        }\n        tmp153 = valuateFighters;\n        tmp154 = militaryFriends;\n        _aether.logStatementStart([{ofs: 9496, row: 308, col: 0}, {ofs: 9555, row: 308, col: 59}]); ourMilitaryStrength = _aether.createAPIClone(_aether, tmp153(_aether.restoreAPIClone(_aether, tmp154)));  _aether.logStatement([{ofs: 9496, row: 308, col: 0}, {ofs: 9555, row: 308, col: 59}], _aether._userInfo, false);\n        tmp155 = valuateFighters;\n        tmp156 = militaryEnemies;\n        _aether.logStatementStart([{ofs: 9556, row: 309, col: 0}, {ofs: 9617, row: 309, col: 61}]); enemyMilitaryStrength = _aether.createAPIClone(_aether, tmp155(_aether.restoreAPIClone(_aether, tmp156)));  _aether.logStatement([{ofs: 9556, row: 309, col: 0}, {ofs: 9617, row: 309, col: 61}], _aether._userInfo, false);\n        tmp157 = ourMilitaryStrength;\n        tmp159 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp160 = 'gold';\n        _aether.logStatementStart([{ofs: 9659, row: 311, col: 40}, {ofs: 9668, row: 311, col: 49}]); tmp158 = tmp159[tmp160];  _aether.logStatement([{ofs: 9659, row: 311, col: 40}, {ofs: 9668, row: 311, col: 49}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 9619, row: 311, col: 0}, {ofs: 9669, row: 311, col: 50}]); ourStrength = tmp157 + tmp158;  _aether.logStatement([{ofs: 9619, row: 311, col: 0}, {ofs: 9669, row: 311, col: 50}], _aether._userInfo, false);\n        tmp161 = enemyMilitaryStrength;\n        tmp162 = enemyGold;\n        _aether.logStatementStart([{ofs: 9670, row: 312, col: 0}, {ofs: 9724, row: 312, col: 54}]); enemyStrength = tmp161 + tmp162;  _aether.logStatement([{ofs: 9670, row: 312, col: 0}, {ofs: 9724, row: 312, col: 54}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 9725, row: 313, col: 0}, {ofs: 9758, row: 313, col: 33}]); enemyStrengthForecast = null;  _aether.logStatement([{ofs: 9725, row: 313, col: 0}, {ofs: 9758, row: 313, col: 33}], _aether._userInfo, false);\n        tmp168 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp169 = 'enemyGoldHistory';\n        _aether.logStatementStart([{ofs: 9764, row: 315, col: 4}, {ofs: 9785, row: 315, col: 25}]); tmp166 = tmp168[tmp169];  _aether.logStatement([{ofs: 9764, row: 315, col: 4}, {ofs: 9785, row: 315, col: 25}], _aether._userInfo, false);\n        tmp167 = 'length';\n        _aether.logStatementStart([{ofs: 9764, row: 315, col: 4}, {ofs: 9792, row: 315, col: 32}]); tmp164 = tmp166[tmp167];  _aether.logStatement([{ofs: 9764, row: 315, col: 4}, {ofs: 9792, row: 315, col: 32}], _aether._userInfo, false);\n        tmp165 = PREDICTOR_HISTORY_LENGTH;\n        _aether.logStatementStart([{ofs: 9764, row: 315, col: 4}, {ofs: 9820, row: 315, col: 60}]); tmp163 = tmp164 >= tmp165;  _aether.logStatement([{ofs: 9764, row: 315, col: 4}, {ofs: 9820, row: 315, col: 60}], _aether._userInfo, false);\n        if (tmp163) {\n            tmp170 = estimateHighLow;\n            tmp173 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp174 = 'enemyGoldHistory';\n            _aether.logStatementStart([{ofs: 9859, row: 316, col: 35}, {ofs: 9880, row: 316, col: 56}]); tmp171 = tmp173[tmp174];  _aether.logStatement([{ofs: 9859, row: 316, col: 35}, {ofs: 9880, row: 316, col: 56}], _aether._userInfo, false);\n            tmp177 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp178 = 'now';\n            _aether.logStatementStart([{ofs: 9882, row: 316, col: 58}, {ofs: 9892, row: 316, col: 68}]); tmp175 = _aether.createAPIClone(_aether, tmp177[tmp178]());  _aether.logStatement([{ofs: 9882, row: 316, col: 58}, {ofs: 9892, row: 316, col: 68}], _aether._userInfo, false);\n            tmp176 = PREDICTOR_LOOKAHEAD_TIME;\n            _aether.logStatementStart([{ofs: 9882, row: 316, col: 58}, {ofs: 9919, row: 316, col: 95}]); tmp172 = tmp175 + tmp176;  _aether.logStatement([{ofs: 9882, row: 316, col: 58}, {ofs: 9919, row: 316, col: 95}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 9828, row: 316, col: 4}, {ofs: 9921, row: 316, col: 97}]); highLowE = _aether.createAPIClone(_aether, tmp170(_aether.restoreAPIClone(_aether, tmp171), _aether.restoreAPIClone(_aether, tmp172)));  _aether.logStatement([{ofs: 9828, row: 316, col: 4}, {ofs: 9921, row: 316, col: 97}], _aether._userInfo, false);\n            tmp181 = highLowE;\n            _aether.logStatementStart([{ofs: 9958, row: 317, col: 36}, {ofs: 9959, row: 317, col: 37}]); tmp182 = 0;  _aether.logStatement([{ofs: 9958, row: 317, col: 36}, {ofs: 9959, row: 317, col: 37}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 9949, row: 317, col: 27}, {ofs: 9960, row: 317, col: 38}]); tmp179 = tmp181[tmp182];  _aether.logStatement([{ofs: 9949, row: 317, col: 27}, {ofs: 9960, row: 317, col: 38}], _aether._userInfo, false);\n            tmp180 = enemyTotalWorth;\n            _aether.logStatementStart([{ofs: 9926, row: 317, col: 4}, {ofs: 9979, row: 317, col: 57}]); futureEnemyBonus = tmp179 - tmp180;  _aether.logStatement([{ofs: 9926, row: 317, col: 4}, {ofs: 9979, row: 317, col: 57}], _aether._userInfo, false);\n            tmp183 = enemyStrength;\n            tmp184 = futureEnemyBonus;\n            _aether.logStatementStart([{ofs: 9985, row: 319, col: 4}, {ofs: 10042, row: 319, col: 61}]); enemyStrengthForecast = tmp183 + tmp184;  _aether.logStatement([{ofs: 9985, row: 319, col: 4}, {ofs: 10042, row: 319, col: 61}], _aether._userInfo, false);\n        } else {\n            ;\n        }\n        _aether.logStatementStart([{ofs: 10161, row: 325, col: 10}, {ofs: 10172, row: 325, col: 21}]); tmp185 = 'doNothing';  _aether.logStatement([{ofs: 10161, row: 325, col: 10}, {ofs: 10172, row: 325, col: 21}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 10197, row: 327, col: 18}, {ofs: 10236, row: 329, col: 5}]); tmp186 = function () {\n            var tmp188;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 10225, row: 328, col: 15}, {ofs: 10229, row: 328, col: 19}]); tmp188 = true;  _aether.logStatement([{ofs: 10225, row: 328, col: 15}, {ofs: 10229, row: 328, col: 19}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp188);\n        };  _aether.logStatement([{ofs: 10197, row: 327, col: 18}, {ofs: 10236, row: 329, col: 5}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 10268, row: 331, col: 21}, {ofs: 10307, row: 333, col: 5}]); tmp187 = function () {\n            var tmp189;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 10296, row: 332, col: 15}, {ofs: 10300, row: 332, col: 19}]); tmp189 = null;  _aether.logStatement([{ofs: 10296, row: 332, col: 15}, {ofs: 10300, row: 332, col: 19}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp189);\n        };  _aether.logStatement([{ofs: 10268, row: 331, col: 21}, {ofs: 10307, row: 333, col: 5}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 10128, row: 324, col: 0}, {ofs: 10310, row: 334, col: 2}]); doNothingState = {\n            name: tmp185,\n            wantsControl: tmp186,\n            selectBuildType: tmp187\n        };  _aether.logStatement([{ofs: 10128, row: 324, col: 0}, {ofs: 10310, row: 334, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 10343, row: 337, col: 10}, {ofs: 10352, row: 337, col: 19}]); tmp190 = 'collect';  _aether.logStatement([{ofs: 10343, row: 337, col: 10}, {ofs: 10352, row: 337, col: 19}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 10377, row: 339, col: 18}, {ofs: 10963, row: 358, col: 5}]); tmp191 = function (base) {\n            var coinsPerPeasant, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp223, tmp224, tmp225; base = _aether.createAPIClone(_aether, base); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp196 = peasants;\n            tmp197 = 'length';\n            _aether.logStatementStart([{ofs: 10451, row: 341, col: 13}, {ofs: 10466, row: 341, col: 28}]); tmp194 = tmp196[tmp197];  _aether.logStatement([{ofs: 10451, row: 341, col: 13}, {ofs: 10466, row: 341, col: 28}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 10469, row: 341, col: 31}, {ofs: 10470, row: 341, col: 32}]); tmp195 = 1;  _aether.logStatement([{ofs: 10469, row: 341, col: 31}, {ofs: 10470, row: 341, col: 32}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 10451, row: 341, col: 13}, {ofs: 10470, row: 341, col: 32}]); tmp193 = tmp194 < tmp195;  _aether.logStatement([{ofs: 10451, row: 341, col: 13}, {ofs: 10470, row: 341, col: 32}], _aether._userInfo, false);\n            if (tmp193) {\n                _aether.logStatementStart([{ofs: 10493, row: 342, col: 19}, {ofs: 10497, row: 342, col: 23}]); tmp198 = true;  _aether.logStatement([{ofs: 10493, row: 342, col: 19}, {ofs: 10497, row: 342, col: 23}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp198);\n            } else {\n                ;\n            }\n            tmp202 = enemyGold;\n            _aether.logStatementStart([{ofs: 10597, row: 346, col: 25}, {ofs: 10599, row: 346, col: 27}]); tmp203 = 70;  _aether.logStatement([{ofs: 10597, row: 346, col: 25}, {ofs: 10599, row: 346, col: 27}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 10584, row: 346, col: 12}, {ofs: 10599, row: 346, col: 27}]); tmp201 = tmp202 <= tmp203;  _aether.logStatement([{ofs: 10584, row: 346, col: 12}, {ofs: 10599, row: 346, col: 27}], _aether._userInfo, false);\n            if (tmp201) {\n                tmp206 = peasants;\n                tmp207 = 'length';\n                _aether.logStatementStart([{ofs: 10603, row: 346, col: 31}, {ofs: 10618, row: 346, col: 46}]); tmp204 = tmp206[tmp207];  _aether.logStatement([{ofs: 10603, row: 346, col: 31}, {ofs: 10618, row: 346, col: 46}], _aether._userInfo, false);\n                tmp208 = peons;\n                tmp209 = 'length';\n                _aether.logStatementStart([{ofs: 10621, row: 346, col: 49}, {ofs: 10633, row: 346, col: 61}]); tmp205 = tmp208[tmp209];  _aether.logStatement([{ofs: 10621, row: 346, col: 49}, {ofs: 10633, row: 346, col: 61}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 10603, row: 346, col: 31}, {ofs: 10633, row: 346, col: 61}]); tmp200 = tmp204 < tmp205;  _aether.logStatement([{ofs: 10603, row: 346, col: 31}, {ofs: 10633, row: 346, col: 61}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 10584, row: 346, col: 12}, {ofs: 10633, row: 346, col: 61}]); tmp200 = tmp201;  _aether.logStatement([{ofs: 10584, row: 346, col: 12}, {ofs: 10633, row: 346, col: 61}], _aether._userInfo, false);\n            }\n            if (tmp200) {\n                tmp212 = peasants;\n                tmp213 = 'length';\n                _aether.logStatementStart([{ofs: 10637, row: 346, col: 65}, {ofs: 10652, row: 346, col: 80}]); tmp210 = tmp212[tmp213];  _aether.logStatement([{ofs: 10637, row: 346, col: 65}, {ofs: 10652, row: 346, col: 80}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 10655, row: 346, col: 83}, {ofs: 10656, row: 346, col: 84}]); tmp211 = 6;  _aether.logStatement([{ofs: 10655, row: 346, col: 83}, {ofs: 10656, row: 346, col: 84}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 10637, row: 346, col: 65}, {ofs: 10656, row: 346, col: 84}]); tmp199 = tmp210 < tmp211;  _aether.logStatement([{ofs: 10637, row: 346, col: 65}, {ofs: 10656, row: 346, col: 84}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 10584, row: 346, col: 12}, {ofs: 10656, row: 346, col: 84}]); tmp199 = tmp200;  _aether.logStatement([{ofs: 10584, row: 346, col: 12}, {ofs: 10656, row: 346, col: 84}], _aether._userInfo, false);\n            }\n            if (tmp199) {\n                _aether.logStatementStart([{ofs: 10679, row: 347, col: 19}, {ofs: 10683, row: 347, col: 23}]); tmp214 = true;  _aether.logStatement([{ofs: 10679, row: 347, col: 19}, {ofs: 10683, row: 347, col: 23}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp214);\n            } else {\n                ;\n            }\n            tmp217 = items;\n            tmp218 = 'length';\n            _aether.logStatementStart([{ofs: 10824, row: 352, col: 30}, {ofs: 10836, row: 352, col: 42}]); tmp215 = tmp217[tmp218];  _aether.logStatement([{ofs: 10824, row: 352, col: 30}, {ofs: 10836, row: 352, col: 42}], _aether._userInfo, false);\n            tmp219 = peasants;\n            tmp220 = 'length';\n            _aether.logStatementStart([{ofs: 10839, row: 352, col: 45}, {ofs: 10854, row: 352, col: 60}]); tmp216 = tmp219[tmp220];  _aether.logStatement([{ofs: 10839, row: 352, col: 45}, {ofs: 10854, row: 352, col: 60}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 10802, row: 352, col: 8}, {ofs: 10855, row: 352, col: 61}]); coinsPerPeasant = tmp215 / tmp216;  _aether.logStatement([{ofs: 10802, row: 352, col: 8}, {ofs: 10855, row: 352, col: 61}], _aether._userInfo, false);\n            tmp222 = coinsPerPeasant;\n            _aether.logStatementStart([{ofs: 10887, row: 353, col: 31}, {ofs: 10888, row: 353, col: 32}]); tmp223 = 2;  _aether.logStatement([{ofs: 10887, row: 353, col: 31}, {ofs: 10888, row: 353, col: 32}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 10868, row: 353, col: 12}, {ofs: 10888, row: 353, col: 32}]); tmp221 = tmp222 >= tmp223;  _aether.logStatement([{ofs: 10868, row: 353, col: 12}, {ofs: 10888, row: 353, col: 32}], _aether._userInfo, false);\n            if (tmp221) {\n                _aether.logStatementStart([{ofs: 10911, row: 354, col: 19}, {ofs: 10915, row: 354, col: 23}]); tmp224 = true;  _aether.logStatement([{ofs: 10911, row: 354, col: 19}, {ofs: 10915, row: 354, col: 23}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp224);\n            } else {\n                ;\n            }\n            _aether.logStatementStart([{ofs: 10951, row: 357, col: 15}, {ofs: 10956, row: 357, col: 20}]); tmp225 = false;  _aether.logStatement([{ofs: 10951, row: 357, col: 15}, {ofs: 10956, row: 357, col: 20}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp225);\n        };  _aether.logStatement([{ofs: 10377, row: 339, col: 18}, {ofs: 10963, row: 358, col: 5}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 10995, row: 360, col: 21}, {ofs: 11053, row: 362, col: 5}]); tmp192 = function (base) {\n            var tmp226, tmp227, tmp228; base = _aether.createAPIClone(_aether, base); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp227 = alliedTypes;\n            tmp228 = 'peasant';\n            _aether.logStatementStart([{ofs: 11027, row: 361, col: 15}, {ofs: 11046, row: 361, col: 34}]); tmp226 = tmp227[tmp228];  _aether.logStatement([{ofs: 11027, row: 361, col: 15}, {ofs: 11046, row: 361, col: 34}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp226);\n        };  _aether.logStatement([{ofs: 10995, row: 360, col: 21}, {ofs: 11053, row: 362, col: 5}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 10312, row: 336, col: 0}, {ofs: 11056, row: 363, col: 2}]); collectState = {\n            name: tmp190,\n            wantsControl: tmp191,\n            selectBuildType: tmp192\n        };  _aether.logStatement([{ofs: 10312, row: 336, col: 0}, {ofs: 11056, row: 363, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 11086, row: 366, col: 10}, {ofs: 11092, row: 366, col: 16}]); tmp229 = 'poke';  _aether.logStatement([{ofs: 11086, row: 366, col: 10}, {ofs: 11092, row: 366, col: 16}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 11117, row: 368, col: 18}, {ofs: 11167, row: 370, col: 5}]); tmp230 = function (base) {\n            var tmp232, tmp233, tmp234, tmp235; base = _aether.createAPIClone(_aether, base); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp234 = base;\n            tmp235 = 'poked';\n            _aether.logStatementStart([{ofs: 11150, row: 369, col: 16}, {ofs: 11160, row: 369, col: 26}]); tmp233 = tmp234[tmp235];  _aether.logStatement([{ofs: 11150, row: 369, col: 16}, {ofs: 11160, row: 369, col: 26}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 11149, row: 369, col: 15}, {ofs: 11160, row: 369, col: 26}]); tmp232 = !tmp233;  _aether.logStatement([{ofs: 11149, row: 369, col: 15}, {ofs: 11160, row: 369, col: 26}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp232);\n        };  _aether.logStatement([{ofs: 11117, row: 368, col: 18}, {ofs: 11167, row: 370, col: 5}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 11199, row: 372, col: 21}, {ofs: 11363, row: 379, col: 5}]); tmp231 = function (base) {\n            var tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247; base = _aether.createAPIClone(_aether, base); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp239 = base;\n            tmp240 = 'gold';\n            _aether.logStatementStart([{ofs: 11228, row: 373, col: 12}, {ofs: 11237, row: 373, col: 21}]); tmp237 = tmp239[tmp240];  _aether.logStatement([{ofs: 11228, row: 373, col: 12}, {ofs: 11237, row: 373, col: 21}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 11241, row: 373, col: 25}, {ofs: 11243, row: 373, col: 27}]); tmp238 = 10;  _aether.logStatement([{ofs: 11241, row: 373, col: 25}, {ofs: 11243, row: 373, col: 27}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 11228, row: 373, col: 12}, {ofs: 11243, row: 373, col: 27}]); tmp236 = tmp237 >= tmp238;  _aether.logStatement([{ofs: 11228, row: 373, col: 12}, {ofs: 11243, row: 373, col: 27}], _aether._userInfo, false);\n            if (tmp236) {\n                tmp241 = base;\n                tmp242 = 'poked';\n                _aether.logStatementStart([{ofs: 11259, row: 374, col: 12}, {ofs: 11277, row: 374, col: 30}]); tmp243 = true;  _aether.logStatement([{ofs: 11259, row: 374, col: 12}, {ofs: 11277, row: 374, col: 30}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 11259, row: 374, col: 12}, {ofs: 11276, row: 374, col: 29}]); tmp241[tmp242] = tmp243;  _aether.logStatement([{ofs: 11259, row: 374, col: 12}, {ofs: 11276, row: 374, col: 29}], _aether._userInfo, false);\n                tmp245 = alliedTypes;\n                tmp246 = 'soldier';\n                _aether.logStatementStart([{ofs: 11297, row: 375, col: 19}, {ofs: 11316, row: 375, col: 38}]); tmp244 = tmp245[tmp246];  _aether.logStatement([{ofs: 11297, row: 375, col: 19}, {ofs: 11316, row: 375, col: 38}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp244);\n            } else {\n                ;\n            }\n            _aether.logStatementStart([{ofs: 11352, row: 378, col: 15}, {ofs: 11356, row: 378, col: 19}]); tmp247 = null;  _aether.logStatement([{ofs: 11352, row: 378, col: 15}, {ofs: 11356, row: 378, col: 19}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp247);\n        };  _aether.logStatement([{ofs: 11199, row: 372, col: 21}, {ofs: 11363, row: 379, col: 5}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 11058, row: 365, col: 0}, {ofs: 11366, row: 380, col: 2}]); pokeState = {\n            name: tmp229,\n            wantsControl: tmp230,\n            selectBuildType: tmp231\n        };  _aether.logStatement([{ofs: 11058, row: 365, col: 0}, {ofs: 11366, row: 380, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 11401, row: 383, col: 10}, {ofs: 11412, row: 383, col: 21}]); tmp248 = 'stockpile';  _aether.logStatement([{ofs: 11401, row: 383, col: 10}, {ofs: 11412, row: 383, col: 21}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 11437, row: 385, col: 18}, {ofs: 11657, row: 393, col: 5}]); tmp249 = function (base) {\n            var strengthRatio, tmp251, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261; base = _aether.createAPIClone(_aether, base); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp253 = ourMilitaryStrength;\n            tmp255 = base;\n            tmp256 = 'gold';\n            _aether.logStatementStart([{ofs: 11505, row: 386, col: 51}, {ofs: 11514, row: 386, col: 60}]); tmp254 = tmp255[tmp256];  _aether.logStatement([{ofs: 11505, row: 386, col: 51}, {ofs: 11514, row: 386, col: 60}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 11483, row: 386, col: 29}, {ofs: 11514, row: 386, col: 60}]); tmp251 = tmp253 + tmp254;  _aether.logStatement([{ofs: 11483, row: 386, col: 29}, {ofs: 11514, row: 386, col: 60}], _aether._userInfo, false);\n            tmp252 = enemyMilitaryStrength;\n            _aether.logStatementStart([{ofs: 11462, row: 386, col: 8}, {ofs: 11540, row: 386, col: 86}]); strengthRatio = tmp251 / tmp252;  _aether.logStatement([{ofs: 11462, row: 386, col: 8}, {ofs: 11540, row: 386, col: 86}], _aether._userInfo, false);\n            tmp258 = strengthRatio;\n            _aether.logStatementStart([{ofs: 11579, row: 388, col: 29}, {ofs: 11582, row: 388, col: 32}]); tmp259 = 1.2;  _aether.logStatement([{ofs: 11579, row: 388, col: 29}, {ofs: 11582, row: 388, col: 32}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 11562, row: 388, col: 12}, {ofs: 11582, row: 388, col: 32}]); tmp257 = tmp258 <= tmp259;  _aether.logStatement([{ofs: 11562, row: 388, col: 12}, {ofs: 11582, row: 388, col: 32}], _aether._userInfo, false);\n            if (tmp257) {\n                _aether.logStatementStart([{ofs: 11605, row: 389, col: 19}, {ofs: 11609, row: 389, col: 23}]); tmp260 = true;  _aether.logStatement([{ofs: 11605, row: 389, col: 19}, {ofs: 11609, row: 389, col: 23}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp260);\n            } else {\n                ;\n            }\n            _aether.logStatementStart([{ofs: 11645, row: 392, col: 15}, {ofs: 11650, row: 392, col: 20}]); tmp261 = false;  _aether.logStatement([{ofs: 11645, row: 392, col: 15}, {ofs: 11650, row: 392, col: 20}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp261);\n        };  _aether.logStatement([{ofs: 11437, row: 385, col: 18}, {ofs: 11657, row: 393, col: 5}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 11689, row: 395, col: 21}, {ofs: 11732, row: 397, col: 5}]); tmp250 = function (base) {\n            var tmp262; base = _aether.createAPIClone(_aether, base); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 11721, row: 396, col: 15}, {ofs: 11725, row: 396, col: 19}]); tmp262 = null;  _aether.logStatement([{ofs: 11721, row: 396, col: 15}, {ofs: 11725, row: 396, col: 19}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp262);\n        };  _aether.logStatement([{ofs: 11689, row: 395, col: 21}, {ofs: 11732, row: 397, col: 5}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 11368, row: 382, col: 0}, {ofs: 11735, row: 398, col: 2}]); stockpileState = {\n            name: tmp248,\n            wantsControl: tmp249,\n            selectBuildType: tmp250\n        };  _aether.logStatement([{ofs: 11368, row: 382, col: 0}, {ofs: 11735, row: 398, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 12745, row: 431, col: 10}, {ofs: 12753, row: 431, col: 18}]); tmp263 = 'attack';  _aether.logStatement([{ofs: 12745, row: 431, col: 10}, {ofs: 12753, row: 431, col: 18}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 12778, row: 433, col: 18}, {ofs: 13301, row: 447, col: 5}]); tmp264 = function (base) {\n            var threshold, tmp266, tmp267, tmp268, tmp269, tmp270, tmp271, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289; base = _aether.createAPIClone(_aether, base); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp269 = base;\n            tmp270 = 'now';\n            _aether.logStatementStart([{ofs: 12863, row: 435, col: 12}, {ofs: 12873, row: 435, col: 22}]); tmp267 = _aether.createAPIClone(_aether, tmp269[tmp270]());  _aether.logStatement([{ofs: 12863, row: 435, col: 12}, {ofs: 12873, row: 435, col: 22}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 12877, row: 435, col: 26}, {ofs: 12880, row: 435, col: 29}]); tmp268 = 140;  _aether.logStatement([{ofs: 12877, row: 435, col: 26}, {ofs: 12880, row: 435, col: 29}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 12863, row: 435, col: 12}, {ofs: 12880, row: 435, col: 29}]); tmp266 = tmp267 >= tmp268;  _aether.logStatement([{ofs: 12863, row: 435, col: 12}, {ofs: 12880, row: 435, col: 29}], _aether._userInfo, false);\n            if (tmp266) {\n                _aether.logStatementStart([{ofs: 12903, row: 436, col: 19}, {ofs: 12907, row: 436, col: 23}]); tmp271 = true;  _aether.logStatement([{ofs: 12903, row: 436, col: 19}, {ofs: 12907, row: 436, col: 23}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp271);\n            } else {\n                ;\n            }\n            tmp274 = base;\n            tmp275 = 'currentState';\n            _aether.logStatementStart([{ofs: 13073, row: 441, col: 25}, {ofs: 13090, row: 441, col: 42}]); tmp273 = tmp274[tmp275];  _aether.logStatement([{ofs: 13073, row: 441, col: 25}, {ofs: 13090, row: 441, col: 42}], _aether._userInfo, false);\n            if (tmp273) {\n                tmp280 = base;\n                tmp281 = 'currentState';\n                _aether.logStatementStart([{ofs: 13094, row: 441, col: 46}, {ofs: 13111, row: 441, col: 63}]); tmp278 = tmp280[tmp281];  _aether.logStatement([{ofs: 13094, row: 441, col: 46}, {ofs: 13111, row: 441, col: 63}], _aether._userInfo, false);\n                tmp279 = 'name';\n                _aether.logStatementStart([{ofs: 13094, row: 441, col: 46}, {ofs: 13116, row: 441, col: 68}]); tmp276 = tmp278[tmp279];  _aether.logStatement([{ofs: 13094, row: 441, col: 46}, {ofs: 13116, row: 441, col: 68}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 13121, row: 441, col: 73}, {ofs: 13129, row: 441, col: 81}]); tmp277 = 'attack';  _aether.logStatement([{ofs: 13121, row: 441, col: 73}, {ofs: 13129, row: 441, col: 81}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 13094, row: 441, col: 46}, {ofs: 13129, row: 441, col: 81}]); tmp272 = tmp276 === tmp277;  _aether.logStatement([{ofs: 13094, row: 441, col: 46}, {ofs: 13129, row: 441, col: 81}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 13073, row: 441, col: 25}, {ofs: 13129, row: 441, col: 81}]); tmp272 = tmp273;  _aether.logStatement([{ofs: 13073, row: 441, col: 25}, {ofs: 13129, row: 441, col: 81}], _aether._userInfo, false);\n            }\n            if (tmp272) {\n                _aether.logStatementStart([{ofs: 13133, row: 441, col: 85}, {ofs: 13134, row: 441, col: 86}]); threshold = 0;  _aether.logStatement([{ofs: 13133, row: 441, col: 85}, {ofs: 13134, row: 441, col: 86}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 13137, row: 441, col: 89}, {ofs: 13139, row: 441, col: 91}]); threshold = 20;  _aether.logStatement([{ofs: 13137, row: 441, col: 89}, {ofs: 13139, row: 441, col: 91}], _aether._userInfo, false);\n            }\n            tmp283 = enemyStrengthForecast;\n            if (tmp283) {\n                tmp286 = ourStrength;\n                tmp287 = enemyStrengthForecast;\n                _aether.logStatementStart([{ofs: 13178, row: 442, col: 37}, {ofs: 13213, row: 442, col: 72}]); tmp284 = tmp286 - tmp287;  _aether.logStatement([{ofs: 13178, row: 442, col: 37}, {ofs: 13213, row: 442, col: 72}], _aether._userInfo, false);\n                tmp285 = threshold;\n                _aether.logStatementStart([{ofs: 13178, row: 442, col: 37}, {ofs: 13226, row: 442, col: 85}]); tmp282 = tmp284 >= tmp285;  _aether.logStatement([{ofs: 13178, row: 442, col: 37}, {ofs: 13226, row: 442, col: 85}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 13153, row: 442, col: 12}, {ofs: 13226, row: 442, col: 85}]); tmp282 = tmp283;  _aether.logStatement([{ofs: 13153, row: 442, col: 12}, {ofs: 13226, row: 442, col: 85}], _aether._userInfo, false);\n            }\n            if (tmp282) {\n                _aether.logStatementStart([{ofs: 13249, row: 443, col: 19}, {ofs: 13253, row: 443, col: 23}]); tmp288 = true;  _aether.logStatement([{ofs: 13249, row: 443, col: 19}, {ofs: 13253, row: 443, col: 23}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp288);\n            } else {\n                ;\n            }\n            _aether.logStatementStart([{ofs: 13289, row: 446, col: 15}, {ofs: 13294, row: 446, col: 20}]); tmp289 = false;  _aether.logStatement([{ofs: 13289, row: 446, col: 15}, {ofs: 13294, row: 446, col: 20}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp289);\n        };  _aether.logStatement([{ofs: 12778, row: 433, col: 18}, {ofs: 13301, row: 447, col: 5}], _aether._userInfo, false);\n        tmp265 = decideMilitaryToBuild;\n        _aether.logStatementStart([{ofs: 12715, row: 430, col: 0}, {ofs: 13357, row: 450, col: 2}]); attackState = {\n            name: tmp263,\n            wantsControl: tmp264,\n            selectBuildType: tmp265\n        };  _aether.logStatement([{ofs: 12715, row: 430, col: 0}, {ofs: 13357, row: 450, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 13389, row: 453, col: 10}, {ofs: 13397, row: 453, col: 18}]); tmp290 = 'defend';  _aether.logStatement([{ofs: 13389, row: 453, col: 10}, {ofs: 13397, row: 453, col: 18}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 13422, row: 455, col: 18}, {ofs: 13872, row: 466, col: 5}]); tmp291 = function (base) {\n            var nearEnemies, militaryRatio, tmp293, tmp294, tmp295, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311, tmp312, tmp313, tmp314, tmp315, tmp316, tmp317; base = _aether.createAPIClone(_aether, base); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp293 = militaryEnemies;\n            tmp294 = 'filter';\n            _aether.logStatementStart([{ofs: 13488, row: 456, col: 49}, {ofs: 13533, row: 456, col: 94}]); tmp295 = function (x) {\n                var tmp296, tmp297, tmp298, tmp299, tmp300, tmp301; x = _aether.createAPIClone(_aether, x); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n                tmp299 = base;\n                tmp300 = 'distance';\n                tmp301 = x;\n                _aether.logStatementStart([{ofs: 13509, row: 456, col: 70}, {ofs: 13525, row: 456, col: 86}]); tmp297 = _aether.createAPIClone(_aether, tmp299[tmp300](_aether.restoreAPIClone(_aether, tmp301)));  _aether.logStatement([{ofs: 13509, row: 456, col: 70}, {ofs: 13525, row: 456, col: 86}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 13528, row: 456, col: 89}, {ofs: 13530, row: 456, col: 91}]); tmp298 = 55;  _aether.logStatement([{ofs: 13528, row: 456, col: 89}, {ofs: 13530, row: 456, col: 91}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 13509, row: 456, col: 70}, {ofs: 13530, row: 456, col: 91}]); tmp296 = tmp297 < tmp298;  _aether.logStatement([{ofs: 13509, row: 456, col: 70}, {ofs: 13530, row: 456, col: 91}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp296);\n            };  _aether.logStatement([{ofs: 13488, row: 456, col: 49}, {ofs: 13533, row: 456, col: 94}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 13447, row: 456, col: 8}, {ofs: 13535, row: 456, col: 96}]); nearEnemies = _aether.createAPIClone(_aether, tmp293[tmp294](_aether.restoreAPIClone(_aether, tmp295)));  _aether.logStatement([{ofs: 13447, row: 456, col: 8}, {ofs: 13535, row: 456, col: 96}], _aether._userInfo, false);\n            tmp302 = ourMilitaryStrength;\n            tmp304 = valuateFighters;\n            tmp305 = nearEnemies;\n            _aether.logStatementStart([{ofs: 13595, row: 458, col: 50}, {ofs: 13623, row: 458, col: 78}]); tmp303 = _aether.createAPIClone(_aether, tmp304(_aether.restoreAPIClone(_aether, tmp305)));  _aether.logStatement([{ofs: 13595, row: 458, col: 50}, {ofs: 13623, row: 458, col: 78}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 13553, row: 458, col: 8}, {ofs: 13624, row: 458, col: 79}]); militaryRatio = tmp302 / tmp303;  _aether.logStatement([{ofs: 13553, row: 458, col: 8}, {ofs: 13624, row: 458, col: 79}], _aether._userInfo, false);\n            tmp308 = nearestEnemy;\n            if (tmp308) {\n                tmp311 = base;\n                tmp312 = 'distance';\n                tmp313 = nearestEnemy;\n                _aether.logStatementStart([{ofs: 13741, row: 461, col: 28}, {ofs: 13768, row: 461, col: 55}]); tmp309 = _aether.createAPIClone(_aether, tmp311[tmp312](_aether.restoreAPIClone(_aether, tmp313)));  _aether.logStatement([{ofs: 13741, row: 461, col: 28}, {ofs: 13768, row: 461, col: 55}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 13772, row: 461, col: 59}, {ofs: 13774, row: 461, col: 61}]); tmp310 = 40;  _aether.logStatement([{ofs: 13772, row: 461, col: 59}, {ofs: 13774, row: 461, col: 61}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 13741, row: 461, col: 28}, {ofs: 13774, row: 461, col: 61}]); tmp307 = tmp309 <= tmp310;  _aether.logStatement([{ofs: 13741, row: 461, col: 28}, {ofs: 13774, row: 461, col: 61}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 13725, row: 461, col: 12}, {ofs: 13774, row: 461, col: 61}]); tmp307 = tmp308;  _aether.logStatement([{ofs: 13725, row: 461, col: 12}, {ofs: 13774, row: 461, col: 61}], _aether._userInfo, false);\n            }\n            if (tmp307) {\n                tmp314 = militaryRatio;\n                _aether.logStatementStart([{ofs: 13794, row: 461, col: 81}, {ofs: 13797, row: 461, col: 84}]); tmp315 = 1.2;  _aether.logStatement([{ofs: 13794, row: 461, col: 81}, {ofs: 13797, row: 461, col: 84}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 13778, row: 461, col: 65}, {ofs: 13797, row: 461, col: 84}]); tmp306 = tmp314 < tmp315;  _aether.logStatement([{ofs: 13778, row: 461, col: 65}, {ofs: 13797, row: 461, col: 84}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 13725, row: 461, col: 12}, {ofs: 13797, row: 461, col: 84}]); tmp306 = tmp307;  _aether.logStatement([{ofs: 13725, row: 461, col: 12}, {ofs: 13797, row: 461, col: 84}], _aether._userInfo, false);\n            }\n            if (tmp306) {\n                _aether.logStatementStart([{ofs: 13820, row: 462, col: 19}, {ofs: 13824, row: 462, col: 23}]); tmp316 = true;  _aether.logStatement([{ofs: 13820, row: 462, col: 19}, {ofs: 13824, row: 462, col: 23}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp316);\n            } else {\n                ;\n            }\n            _aether.logStatementStart([{ofs: 13860, row: 465, col: 15}, {ofs: 13865, row: 465, col: 20}]); tmp317 = false;  _aether.logStatement([{ofs: 13860, row: 465, col: 15}, {ofs: 13865, row: 465, col: 20}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp317);\n        };  _aether.logStatement([{ofs: 13422, row: 455, col: 18}, {ofs: 13872, row: 466, col: 5}], _aether._userInfo, false);\n        tmp292 = decideMilitaryToBuild;\n        _aether.logStatementStart([{ofs: 13359, row: 452, col: 0}, {ofs: 13924, row: 469, col: 2}]); defendState = {\n            name: tmp290,\n            wantsControl: tmp291,\n            selectBuildType: tmp292\n        };  _aether.logStatement([{ofs: 13359, row: 452, col: 0}, {ofs: 13924, row: 469, col: 2}], _aether._userInfo, false);\n        tmp318 = attackState;\n        tmp319 = defendState;\n        tmp320 = stockpileState;\n        tmp321 = collectState;\n        tmp322 = pokeState;\n        tmp323 = doNothingState;\n        _aether.logStatementStart([{ofs: 14008, row: 473, col: 0}, {ofs: 14131, row: 480, col: 2}]); states = [\n            tmp318,\n            tmp319,\n            tmp320,\n            tmp321,\n            tmp322,\n            tmp323\n        ];  _aether.logStatement([{ofs: 14008, row: 473, col: 0}, {ofs: 14131, row: 480, col: 2}], _aether._userInfo, false);\n        tmp324 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp325 = 'updateState';\n        _aether.logStatementStart([{ofs: 14133, row: 482, col: 0}, {ofs: 14362, row: 490, col: 2}]); tmp326 = function () {\n            var i, sLen, st, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp333, tmp334, tmp335, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 14174, row: 483, col: 9}, {ofs: 14205, row: 483, col: 40}]); i = 0;  _aether.logStatement([{ofs: 14174, row: 483, col: 9}, {ofs: 14205, row: 483, col: 40}], _aether._userInfo, false);\n            tmp327 = states;\n            tmp328 = 'length';\n            _aether.logStatementStart([{ofs: 14174, row: 483, col: 9}, {ofs: 14205, row: 483, col: 40}]); sLen = tmp327[tmp328];  _aether.logStatement([{ofs: 14174, row: 483, col: 9}, {ofs: 14205, row: 483, col: 40}], _aether._userInfo, false);\n            tmp330 = i;\n            tmp331 = sLen;\n            _aether.logStatementStart([{ofs: 14207, row: 483, col: 42}, {ofs: 14215, row: 483, col: 50}]); tmp329 = tmp330 < tmp331;  _aether.logStatement([{ofs: 14207, row: 483, col: 42}, {ofs: 14215, row: 483, col: 50}], _aether._userInfo, false);\n            tmp336: {\n                while (tmp329) {\n                    tmp337: {\n                        tmp338 = states;\n                        tmp339 = i;\n                        _aether.logStatementStart([{ofs: 14232, row: 484, col: 8}, {ofs: 14251, row: 484, col: 27}]); st = tmp338[tmp339];  _aether.logStatement([{ofs: 14232, row: 484, col: 8}, {ofs: 14251, row: 484, col: 27}], _aether._userInfo, false);\n                        tmp341 = st;\n                        tmp342 = 'wantsControl';\n                        tmp343 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        _aether.logStatementStart([{ofs: 14264, row: 485, col: 12}, {ofs: 14285, row: 485, col: 33}]); tmp340 = _aether.createAPIClone(_aether, tmp341[tmp342](_aether.restoreAPIClone(_aether, tmp343)));  _aether.logStatement([{ofs: 14264, row: 485, col: 12}, {ofs: 14285, row: 485, col: 33}], _aether._userInfo, false);\n                        if (tmp340) {\n                            tmp344 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp345 = 'currentState';\n                            tmp346 = st;\n                            _aether.logStatementStart([{ofs: 14301, row: 486, col: 12}, {ofs: 14323, row: 486, col: 34}]); tmp344[tmp345] = tmp346;  _aether.logStatement([{ofs: 14301, row: 486, col: 12}, {ofs: 14323, row: 486, col: 34}], _aether._userInfo, false);\n                            break tmp336;\n                        } else {\n                            ;\n                        }\n                    }\n                    tmp334 = i;\n                    tmp335 = 1;\n                    i = tmp334 + tmp335;\n                    tmp332 = i;\n                    tmp333 = sLen;\n                    _aether.logStatementStart([{ofs: 14207, row: 483, col: 42}, {ofs: 14215, row: 483, col: 50}]); tmp329 = tmp332 < tmp333;  _aether.logStatement([{ofs: 14207, row: 483, col: 42}, {ofs: 14215, row: 483, col: 50}], _aether._userInfo, false);\n                }\n            }\n            return;\n        };  _aether.logStatement([{ofs: 14133, row: 482, col: 0}, {ofs: 14362, row: 490, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 14133, row: 482, col: 0}, {ofs: 14361, row: 490, col: 1}]); tmp324[tmp325] = tmp326;  _aether.logStatement([{ofs: 14133, row: 482, col: 0}, {ofs: 14361, row: 490, col: 1}], _aether._userInfo, false);\n        tmp347 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp348 = 'updateState';\n        _aether.logStatementStart([{ofs: 14446, row: 494, col: 0}, {ofs: 14464, row: 494, col: 18}]); tmp349 = _aether.createAPIClone(_aether, tmp347[tmp348]());  _aether.logStatement([{ofs: 14446, row: 494, col: 0}, {ofs: 14464, row: 494, col: 18}], _aether._userInfo, false);\n        tmp352 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp353 = 'currentState';\n        _aether.logStatementStart([{ofs: 14478, row: 496, col: 11}, {ofs: 14495, row: 496, col: 28}]); tmp350 = tmp352[tmp353];  _aether.logStatement([{ofs: 14478, row: 496, col: 11}, {ofs: 14495, row: 496, col: 28}], _aether._userInfo, false);\n        tmp351 = 'selectBuildType';\n        tmp354 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        _aether.logStatementStart([{ofs: 14467, row: 496, col: 0}, {ofs: 14518, row: 496, col: 51}]); type = _aether.createAPIClone(_aether, tmp350[tmp351](_aether.restoreAPIClone(_aether, tmp354)));  _aether.logStatement([{ofs: 14467, row: 496, col: 0}, {ofs: 14518, row: 496, col: 51}], _aether._userInfo, false);\n        tmp356 = type;\n        if (tmp356) {\n            tmp359 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp360 = 'gold';\n            _aether.logStatementStart([{ofs: 14532, row: 498, col: 12}, {ofs: 14541, row: 498, col: 21}]); tmp357 = tmp359[tmp360];  _aether.logStatement([{ofs: 14532, row: 498, col: 12}, {ofs: 14541, row: 498, col: 21}], _aether._userInfo, false);\n            tmp365 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp366 = 'buildables';\n            _aether.logStatementStart([{ofs: 14545, row: 498, col: 25}, {ofs: 14560, row: 498, col: 40}]); tmp363 = tmp365[tmp366];  _aether.logStatement([{ofs: 14545, row: 498, col: 25}, {ofs: 14560, row: 498, col: 40}], _aether._userInfo, false);\n            tmp364 = type;\n            _aether.logStatementStart([{ofs: 14545, row: 498, col: 25}, {ofs: 14566, row: 498, col: 46}]); tmp361 = tmp363[tmp364];  _aether.logStatement([{ofs: 14545, row: 498, col: 25}, {ofs: 14566, row: 498, col: 46}], _aether._userInfo, false);\n            tmp362 = 'goldCost';\n            _aether.logStatementStart([{ofs: 14545, row: 498, col: 25}, {ofs: 14575, row: 498, col: 55}]); tmp358 = tmp361[tmp362];  _aether.logStatement([{ofs: 14545, row: 498, col: 25}, {ofs: 14575, row: 498, col: 55}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 14532, row: 498, col: 12}, {ofs: 14575, row: 498, col: 55}]); tmp355 = tmp357 >= tmp358;  _aether.logStatement([{ofs: 14532, row: 498, col: 12}, {ofs: 14575, row: 498, col: 55}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 14524, row: 498, col: 4}, {ofs: 14575, row: 498, col: 55}]); tmp355 = tmp356;  _aether.logStatement([{ofs: 14524, row: 498, col: 4}, {ofs: 14575, row: 498, col: 55}], _aether._userInfo, false);\n        }\n        if (tmp355) {\n            tmp367 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp368 = 'build';\n            tmp369 = type;\n            _aether.logStatementStart([{ofs: 14583, row: 499, col: 4}, {ofs: 14599, row: 499, col: 20}]); tmp370 = _aether.createAPIClone(_aether, tmp367[tmp368](_aether.restoreAPIClone(_aether, tmp369)));  _aether.logStatement([{ofs: 14583, row: 499, col: 4}, {ofs: 14599, row: 499, col: 20}], _aether._userInfo, false);\n        } else {\n            ;\n        }\n        _aether.logCallEnd(); return;\n    };\n    tmp0 = 'chooseAction';\n    __global[tmp0] = tmp1;\n}(this));"
         }
       },
-      "totalScore": 36.7927193835314,
+      "teamSpells": {
+        "humans": [
+          "human-base/chooseAction"
+        ],
+        "ogres": [
+          "ogre-base/chooseAction"
+        ],
+        "common": [
+          "well/chooseAction"
+        ]
+      },
+      "totalScore": 36.77589873873074,
       "submitted": true,
       "submittedCodeLanguage": "javascript",
       "playtime": 12893,
@@ -422,6 +508,10 @@ responses =
     },
     {
       "_id": "5356fc2e1bfa9bba14b5e039",
+      "level": {
+        "original": "53558b5a9914f5a90d7ccddb",
+        "majorVersion": 0
+      },
       "team": "humans",
       "levelID": "greed",
       "levelName": "Greed",
@@ -433,65 +523,108 @@ responses =
           "chooseAction": "if(!this.inventorySystem) this.inventorySystem = this.world.getSystem('Inventory');\n// Cap at 120 coins for rendering performance reasons.\n// As many as ~420 by stalemate with default code, but one greedy collector -> ~70 tops.\nif(this.inventorySystem.collectables.length < 120) {\n    var x = Math.random();\n    var type = 'silver';\n    if (x < 0.05) type = 'gem';\n    else if (x < 0.15) type = 'gold';\n    else if (x < 0.35) type = 'copper';\n    this.build(type);\n}\n\nif(!this.causeFall) this.causeFall = function causeFall(target) {\n    target.addEffect({name: 'fall', duration: 1.5, reverts: false, factor: 0.1, targetProperty: 'scaleFactor'}, this);\n    target.maxAcceleration = 0;\n    target.addCurrentEvent('fall');\n    target.fellAt = this.now();\n};\n\nfor (var i = 0; i < this.inventorySystem.collectors.length; ++i) {\n    var thang = this.inventorySystem.collectors[i];\n    if ((thang.type == 'peasant' || thang.type == 'peon') &&\n        (thang.pos.x < -3 || thang.pos.x > 88 || thang.pos.y < -5 || thang.pos.y > 80)) {\n        if (thang.maxAcceleration)\n            this.causeFall(thang);\n        else if (thang.fellAt && thang.fellAt + 1.25 < this.now()) {\n            thang.setExists(false);\n            thang.fellAt = null;\n        }\n    }\n}"
         }
       },
-      "totalScore": 31.55513937890014,
+      "teamSpells": {
+        "humans": [
+          "human-base/chooseAction"
+        ],
+        "ogres": [
+          "ogre-base/chooseAction"
+        ],
+        "common": [
+          "well/chooseAction"
+        ]
+      },
+      "totalScore": 31.538998178536794,
       "submitted": true,
       "submittedCodeLanguage": "javascript",
-      "playtime": 14758,
+      "playtime": 15648,
       "codeLanguage": "javascript"
     },
     {
       "_id": "52fd5bf7e3c53130231726e1",
+      "level": {
+        "original": "52d97ecd32362bc86e004e87",
+        "majorVersion": 0
+      },
       "team": "ogres",
       "levelID": "brawlwood",
       "levelName": "Brawlwood",
       "submitted": true,
-      "totalScore": 54.324748499022,
+      "totalScore": 53.73511062513137,
+      "teamSpells": {
+        "humans": [
+          "programmable-artillery/chooseAction",
+          "programmable-artillery/hear",
+          "programmable-soldier/chooseAction",
+          "programmable-soldier/hear",
+          "s-arrow-tower/chooseAction",
+          "programmable-archer/chooseAction",
+          "programmable-archer/hear",
+          "human-base/chooseAction",
+          "human-base/hear"
+        ],
+        "ogres": [
+          "programmable-shaman/chooseAction",
+          "programmable-shaman/hear",
+          "n-beam-tower/chooseAction",
+          "programmable-thrower/chooseAction",
+          "programmable-thrower/hear",
+          "programmable-munchkin/chooseAction",
+          "programmable-munchkin/hear",
+          "ogre-base/chooseAction",
+          "ogre-base/hear"
+        ]
+      },
       "code": {
-        "human-base": {
-          "hear": "...",
-          "chooseAction": "..."
+        "ogre-base": {
+          "hear": "// When the base hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here.",
+          "chooseAction": "// This is the code for your base. Decide which unit to build each frame.\n// Units you build will go into the this.built array.\n// If you don't have enough gold, this.build() won't build anything.\n// You start with 100 gold and receive 2 gold per second.\n// Kill enemies, especially towers and brawlers, to earn more gold.\n// Destroy the enemy base within 90 seconds!\n// Check out the Guide just up and to the left for more info.\n\nvar type = 'munchkin';\nif(this.built.length % 10 === 3)\n    type = 'shaman';\nelse if(this.built.length % 6 === 1)\n    type = 'thrower';\n\n//this.say('Unit #' + this.built.length + ' will be a ' + type);\nthis.build(type);\n"
         },
-        "programmable-archer": {
-          "hear": "...",
-          "chooseAction": "..."
+        "programmable-munchkin": {
+          "hear": "// When the munchkin hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here.",
+          "chooseAction": "// This code is shared across all your Munchkins.\n// You can use this.buildIndex to have Munchkins do different things.\n// Munchkins are weak but cheap, fast melee units.\n\nthis.getEnemyMissiles();\nvar items;\nif(this.buildIndex === 0) {\n    items = this.getItems();\n    if(items.length) {\n        this.move(items[0].pos);\n        this.say(\"MINE\", {mission: \"coins\"});\n        return;\n    }\n}\nif(this.buildIndex === 2) {\n    items = this.getItems();\n    if(items.length) {\n        this.move(items[items.length - 1].pos);\n        this.say(\"MINE\", {mission: \"coins\"});\n        return;\n    }\n}\nvar enemies = this.getEnemies();\nvar nearestJuicyTarget = null;\nvar nearestJuicyTargetDistance = 9001;\nvar enemy;\nfor(var i = 0; i < enemies.length; ++i) {\n    enemy = enemies[i];\n    var d = this.distance(enemy);\n    if(enemy.type == 'soldier' && enemy.health > 15) continue;\n    if(enemy.type == 'burl' && enemy.health > 30) continue;\n    if(enemy.type == 'base' && enemy.health == enemy.maxHealth) continue;\n    if(d < nearestJuicyTargetDistance) {\n        nearestJuicyTarget = enemy;\n        nearestJuicyTargetDistance = d;\n    }\n}\nif(nearestJuicyTargetDistance < 15) {\n    this.attack(nearestJuicyTarget);\n    return;\n}\nenemy = this.getNearestEnemy();\nif (enemy && enemy.type !== 'burl') {\n    this.attack(enemy);\n}\nelse {\n    if(this.pos.y > 50 && this.pos.x > 50 && this.getFriends().length < 10) {\n        if(this.buildIndex % 2)\n            this.move({x: 53, y: 75});\n        else\n            this.move({x: 75, y: 53});\n        return;\n    }\n    this.move({x: 10, y: 10});\n}"
         },
-        "s-arrow-tower": {
-          "chooseAction": "..."
-        },
-        "programmable-soldier": {
-          "hear": "...",
-          "chooseAction": "..."
-        },
-        "programmable-artillery": {
-          "hear": "...",
-          "chooseAction": "..."
-        },
-        "programmable-shaman": {
-          "chooseAction": "if(this.shouldShrink && this.shouldShrink.length) {\n    this.castShrink(this.shouldShrink.pop());\n    return;\n}\n\nvar enemy;\nvar enemies = this.getEnemies();\nfor (var i = 0; i < enemies.length; ++i) {\n    enemy = enemies[i];\n    if(enemy.type === 'arrow-tower' && this.distance(enemy) < 42 && this.canCast('slow', enemy)) {\n        this.castSlow(enemy);\n        return;\n    }\n    else if((enemy.type === 'arrow-tower' || enemy.type === 'base') && enemy.health < enemy.maxHealth && this.canCast('shrink', enemy)) {\n        this.castShrink(enemy);\n        return;\n    }\n}\nfor (i = 0; i < enemies.length; ++i) {\n    enemy = enemies[i];\n    if (this.distance(enemy) > 30) continue;\n    if (this.canCast('shrink', enemy) && enemy.health < enemy.maxHealth && enemy.type != 'archer' && enemy.type != 'burl') {\n        this.say(\"Shrink, vile \" + enemy.type + \" \" + enemy.id);\n        this.castShrink(enemy);\n        return;\n    }\n    if (this.canCast('slow', enemy) && enemy.type != 'soldier' && enemy.type != 'burl') {\n        this.say(\"Slooooow, vile \" + enemy.type + \" \" + enemy.id);\n        this.castSlow(enemy);\n        return;\n    }\n}\n\nenemy = this.getNearestEnemy();\nif (enemy && (enemy.type !== 'burl' || (enemy.pos.x > 38 && enemy.pos.y > 38)))\n    this.attack(enemy);\nelse {\n    if(this.pos.y > 50 && this.pos.x > 50 && this.getFriends().length < 10) {\n        if(this.buildIndex % 2)\n            this.move({x: 53, y: 75});\n        else\n            this.move({x: 75, y: 53});\n        return;\n    }\n    this.move({x: 10, y: 10});\n}\n",
-          "hear": "// When the shaman hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\nif(message == \"MINE\" && this.canCast('shrink', speaker) && this.now() < 3) {\n    if(!this.shouldShrink)\n        this.shouldShrink = [];\n    this.shouldShrink.push(speaker);\n}\n\n\n// You can add code to respond to the message here."
+        "programmable-thrower": {
+          "hear": "// When the thrower hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here.",
+          "chooseAction": "// This code is shared across all your Throwers.\n// You can use this.buildIndex to have Throwers do different things.\n// Throwers are vulnerable but deadly ranged units.\n\n\nvar enemy = this.getNearestEnemy();\nif (enemy && (enemy.type !== 'burl' || (enemy.pos.x > 38 && enemy.pos.y > 38))) {\n    this.attack(enemy);\n}\nelse {\n    if(this.pos.y > 50 && this.pos.x > 50 && this.getFriends().length < 10) {\n        if(this.buildIndex % 2)\n            this.move({x: 53, y: 75});\n        else\n            this.move({x: 75, y: 53});\n        return;\n    }\n\n    this.move({x: 10, y: 10});\n}\n\n"
         },
         "n-beam-tower": {
           "chooseAction": "// This code is shared by both your Beam Towers.\n// Don't let your towers die lest the humans claim 250 gold!\n// You probably don't need to change this basic strategy.\n\nvar enemy = this.getNearestEnemy();\nif (enemy && this.distance(enemy) < this.attackRange) {\n    this.say(\"Die, \" + enemy.id + \"!\");\n    this.attack(enemy);\n}"
         },
-        "programmable-thrower": {
-          "chooseAction": "// This code is shared across all your Throwers.\n// You can use this.buildIndex to have Throwers do different things.\n// Throwers are vulnerable but deadly ranged units.\n\n\nvar enemy = this.getNearestEnemy();\nif (enemy && (enemy.type !== 'burl' || (enemy.pos.x > 38 && enemy.pos.y > 38))) {\n    this.attack(enemy);\n}\nelse {\n    if(this.pos.y > 50 && this.pos.x > 50 && this.getFriends().length < 10) {\n        if(this.buildIndex % 2)\n            this.move({x: 53, y: 75});\n        else\n            this.move({x: 75, y: 53});\n        return;\n    }\n\n    this.move({x: 10, y: 10});\n}\n\n",
-          "hear": "// When the thrower hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here."
+        "programmable-shaman": {
+          "hear": "// When the shaman hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\nif(message == \"MINE\" && this.canCast('shrink', speaker) && this.now() < 3) {\n    if(!this.shouldShrink)\n        this.shouldShrink = [];\n    this.shouldShrink.push(speaker);\n}\n\n\n// You can add code to respond to the message here.",
+          "chooseAction": "if(this.shouldShrink && this.shouldShrink.length) {\n    this.castShrink(this.shouldShrink.pop());\n    return;\n}\n\nvar enemy;\nvar enemies = this.getEnemies();\nfor (var i = 0; i < enemies.length; ++i) {\n    enemy = enemies[i];\n    if(enemy.type === 'arrow-tower' && this.distance(enemy) < 42 && this.canCast('slow', enemy)) {\n        this.castSlow(enemy);\n        return;\n    }\n    else if((enemy.type === 'arrow-tower' || enemy.type === 'base') && enemy.health < enemy.maxHealth && this.canCast('shrink', enemy)) {\n        this.castShrink(enemy);\n        return;\n    }\n}\nfor (i = 0; i < enemies.length; ++i) {\n    enemy = enemies[i];\n    if (this.distance(enemy) > 30) continue;\n    if (this.canCast('shrink', enemy) && enemy.health < enemy.maxHealth && enemy.type != 'archer' && enemy.type != 'burl') {\n        this.say(\"Shrink, vile \" + enemy.type + \" \" + enemy.id);\n        this.castShrink(enemy);\n        return;\n    }\n    if (this.canCast('slow', enemy) && enemy.type != 'soldier' && enemy.type != 'burl') {\n        this.say(\"Slooooow, vile \" + enemy.type + \" \" + enemy.id);\n        this.castSlow(enemy);\n        return;\n    }\n}\n\nenemy = this.getNearestEnemy();\nif (enemy && (enemy.type !== 'burl' || (enemy.pos.x > 38 && enemy.pos.y > 38)))\n    this.attack(enemy);\nelse {\n    if(this.pos.y > 50 && this.pos.x > 50 && this.getFriends().length < 10) {\n        if(this.buildIndex % 2)\n            this.move({x: 53, y: 75});\n        else\n            this.move({x: 75, y: 53});\n        return;\n    }\n    this.move({x: 10, y: 10});\n}\n"
         },
-        "programmable-munchkin": {
-          "chooseAction": "// This code is shared across all your Munchkins.\n// You can use this.buildIndex to have Munchkins do different things.\n// Munchkins are weak but cheap, fast melee units.\n\nthis.getEnemyMissiles();\nvar items;\nif(this.buildIndex === 0) {\n    items = this.getItems();\n    if(items.length) {\n        this.move(items[0].pos);\n        this.say(\"MINE\", {mission: \"coins\"});\n        return;\n    }\n}\nif(this.buildIndex === 2) {\n    items = this.getItems();\n    if(items.length) {\n        this.move(items[items.length - 1].pos);\n        this.say(\"MINE\", {mission: \"coins\"});\n        return;\n    }\n}\nvar enemies = this.getEnemies();\nvar nearestJuicyTarget = null;\nvar nearestJuicyTargetDistance = 9001;\nvar enemy;\nfor(var i = 0; i < enemies.length; ++i) {\n    enemy = enemies[i];\n    var d = this.distance(enemy);\n    if(enemy.type == 'soldier' && enemy.health > 15) continue;\n    if(enemy.type == 'burl' && enemy.health > 30) continue;\n    if(enemy.type == 'base' && enemy.health == enemy.maxHealth) continue;\n    if(d < nearestJuicyTargetDistance) {\n        nearestJuicyTarget = enemy;\n        nearestJuicyTargetDistance = d;\n    }\n}\nif(nearestJuicyTargetDistance < 15) {\n    this.attack(nearestJuicyTarget);\n    return;\n}\nenemy = this.getNearestEnemy();\nif (enemy && enemy.type !== 'burl') {\n    this.attack(enemy);\n}\nelse {\n    if(this.pos.y > 50 && this.pos.x > 50 && this.getFriends().length < 10) {\n        if(this.buildIndex % 2)\n            this.move({x: 53, y: 75});\n        else\n            this.move({x: 75, y: 53});\n        return;\n    }\n    this.move({x: 10, y: 10});\n}",
-          "hear": "// When the munchkin hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here."
+        "programmable-artillery": {
+          "chooseAction": "var __interceptThis=(function(){var G=this;return function($this,sandbox){if($this==G){return sandbox;}return $this;};})();\nreturn (function (__global) {\n    var tmp0, tmp1;\n    tmp1 = function () {\n        'use strict'; _aether.logCallStart(_aether._userInfo); var tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n        tmp5 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp6 = 'now';\n        _aether.logStatementStart([{ofs: 509, row: 11, col: 4}, {ofs: 519, row: 11, col: 14}]); tmp3 = _aether.createAPIClone(_aether, tmp5[tmp6]());  _aether.logStatement([{ofs: 509, row: 11, col: 4}, {ofs: 519, row: 11, col: 14}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 522, row: 11, col: 17}, {ofs: 523, row: 11, col: 18}]); tmp4 = 5;  _aether.logStatement([{ofs: 522, row: 11, col: 17}, {ofs: 523, row: 11, col: 18}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 509, row: 11, col: 4}, {ofs: 523, row: 11, col: 18}]); tmp2 = tmp3 < tmp4;  _aether.logStatement([{ofs: 509, row: 11, col: 4}, {ofs: 523, row: 11, col: 18}], _aether._userInfo, false);\n        if (tmp2) {\n            tmp7 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp8 = 'say';\n            _aether.logStatementStart([{ofs: 540, row: 12, col: 13}, {ofs: 563, row: 12, col: 36}]); tmp9 = '***BOOM SHAKALAKA!***';  _aether.logStatement([{ofs: 540, row: 12, col: 13}, {ofs: 563, row: 12, col: 36}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 531, row: 12, col: 4}, {ofs: 564, row: 12, col: 37}]); tmp10 = _aether.createAPIClone(_aether, tmp7[tmp8](_aether.restoreAPIClone(_aether, tmp9)));  _aether.logStatement([{ofs: 531, row: 12, col: 4}, {ofs: 564, row: 12, col: 37}], _aether._userInfo, false);\n            tmp11 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp12 = 'attackXY';\n            _aether.logStatementStart([{ofs: 584, row: 13, col: 18}, {ofs: 586, row: 13, col: 20}]); tmp13 = 40;  _aether.logStatement([{ofs: 584, row: 13, col: 18}, {ofs: 586, row: 13, col: 20}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 588, row: 13, col: 22}, {ofs: 590, row: 13, col: 24}]); tmp14 = 40;  _aether.logStatement([{ofs: 588, row: 13, col: 22}, {ofs: 590, row: 13, col: 24}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 570, row: 13, col: 4}, {ofs: 591, row: 13, col: 25}]); tmp15 = _aether.createAPIClone(_aether, tmp11[tmp12](_aether.restoreAPIClone(_aether, tmp13), _aether.restoreAPIClone(_aether, tmp14)));  _aether.logStatement([{ofs: 570, row: 13, col: 4}, {ofs: 591, row: 13, col: 25}], _aether._userInfo, false);\n        } else {\n            tmp16 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp17 = 'move';\n            _aether.logStatementStart([{ofs: 620, row: 15, col: 18}, {ofs: 622, row: 15, col: 20}]); tmp19 = 41;  _aether.logStatement([{ofs: 620, row: 15, col: 18}, {ofs: 622, row: 15, col: 20}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 627, row: 15, col: 25}, {ofs: 629, row: 15, col: 27}]); tmp20 = 17;  _aether.logStatement([{ofs: 627, row: 15, col: 25}, {ofs: 629, row: 15, col: 27}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 616, row: 15, col: 14}, {ofs: 630, row: 15, col: 28}]); tmp18 = {\n                x: tmp19,\n                y: tmp20\n            };  _aether.logStatement([{ofs: 616, row: 15, col: 14}, {ofs: 630, row: 15, col: 28}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 606, row: 15, col: 4}, {ofs: 631, row: 15, col: 29}]); tmp21 = _aether.createAPIClone(_aether, tmp16[tmp17](_aether.restoreAPIClone(_aether, tmp18)));  _aether.logStatement([{ofs: 606, row: 15, col: 4}, {ofs: 631, row: 15, col: 29}], _aether._userInfo, false);\n        }\n        _aether.logCallEnd(); return;\n    };\n    tmp0 = 'chooseAction';\n    __global[tmp0] = tmp1;\n}(this));",
+          "hear": "var __interceptThis=(function(){var G=this;return function($this,sandbox){if($this==G){return sandbox;}return $this;};})();\nreturn (function (__global) {\n    var tmp0, tmp1;\n    tmp1 = function (speaker, message, data) {\n        'use strict'; _aether.logCallStart(_aether._userInfo); var tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8; speaker = _aether.createAPIClone(_aether, speaker); message = _aether.createAPIClone(_aether, message); data = _aether.createAPIClone(_aether, data); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n        tmp5 = speaker;\n        tmp6 = 'team';\n        _aether.logStatementStart([{ofs: 83, row: 1, col: 3}, {ofs: 95, row: 1, col: 15}]); tmp3 = tmp5[tmp6];  _aether.logStatement([{ofs: 83, row: 1, col: 3}, {ofs: 95, row: 1, col: 15}], _aether._userInfo, false);\n        tmp7 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp8 = 'team';\n        _aether.logStatementStart([{ofs: 100, row: 1, col: 20}, {ofs: 109, row: 1, col: 29}]); tmp4 = tmp7[tmp8];  _aether.logStatement([{ofs: 100, row: 1, col: 20}, {ofs: 109, row: 1, col: 29}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 83, row: 1, col: 3}, {ofs: 109, row: 1, col: 29}]); tmp2 = tmp3 !== tmp4;  _aether.logStatement([{ofs: 83, row: 1, col: 3}, {ofs: 109, row: 1, col: 29}], _aether._userInfo, false);\n        if (tmp2) {\n            _aether.logCallEnd(); return;\n        } else {\n            ;\n        }\n        _aether.logCallEnd(); return;\n    };\n    tmp0 = 'hear';\n    __global[tmp0] = tmp1;\n}(this));"
         },
-        "ogre-base": {
-          "chooseAction": "// This is the code for your base. Decide which unit to build each frame.\n// Units you build will go into the this.built array.\n// If you don't have enough gold, this.build() won't build anything.\n// You start with 100 gold and receive 2 gold per second.\n// Kill enemies, especially towers and brawlers, to earn more gold.\n// Destroy the enemy base within 90 seconds!\n// Check out the Guide just up and to the left for more info.\n\nvar type = 'munchkin';\nif(this.built.length % 10 === 3)\n    type = 'shaman';\nelse if(this.built.length % 6 === 1)\n    type = 'thrower';\n\n//this.say('Unit #' + this.built.length + ' will be a ' + type);\nthis.build(type);\n",
-          "hear": "// When the base hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here."
+        "programmable-soldier": {
+          "chooseAction": "var __interceptThis=(function(){var G=this;return function($this,sandbox){if($this==G){return sandbox;}return $this;};})();\nreturn (function (__global) {\n    var tmp0, tmp1;\n    tmp1 = function () {\n        'use strict'; _aether.logCallStart(_aether._userInfo); var enemy, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n        tmp2 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp3 = 'getNearestEnemy';\n        _aether.logStatementStart([{ofs: 172, row: 4, col: 0}, {ofs: 207, row: 4, col: 35}]); enemy = _aether.createAPIClone(_aether, tmp2[tmp3]());  _aether.logStatement([{ofs: 172, row: 4, col: 0}, {ofs: 207, row: 4, col: 35}], _aether._userInfo, false);\n        tmp4 = enemy;\n        if (tmp4) {\n            tmp5 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp6 = 'attack';\n            tmp7 = enemy;\n            _aether.logStatementStart([{ofs: 255, row: 7, col: 4}, {ofs: 273, row: 7, col: 22}]); tmp8 = _aether.createAPIClone(_aether, tmp5[tmp6](_aether.restoreAPIClone(_aether, tmp7)));  _aether.logStatement([{ofs: 255, row: 7, col: 4}, {ofs: 273, row: 7, col: 22}], _aether._userInfo, false);\n        } else {\n            tmp9 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp10 = 'move';\n            _aether.logStatementStart([{ofs: 311, row: 10, col: 11}, {ofs: 313, row: 10, col: 13}]); tmp12 = 40;  _aether.logStatement([{ofs: 311, row: 10, col: 11}, {ofs: 313, row: 10, col: 13}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 326, row: 11, col: 11}, {ofs: 328, row: 11, col: 13}]); tmp13 = 24;  _aether.logStatement([{ofs: 326, row: 11, col: 11}, {ofs: 328, row: 11, col: 13}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 298, row: 9, col: 14}, {ofs: 334, row: 12, col: 5}]); tmp11 = {\n                x: tmp12,\n                y: tmp13\n            };  _aether.logStatement([{ofs: 298, row: 9, col: 14}, {ofs: 334, row: 12, col: 5}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 288, row: 9, col: 4}, {ofs: 335, row: 12, col: 6}]); tmp14 = _aether.createAPIClone(_aether, tmp9[tmp10](_aether.restoreAPIClone(_aether, tmp11)));  _aether.logStatement([{ofs: 288, row: 9, col: 4}, {ofs: 335, row: 12, col: 6}], _aether._userInfo, false);\n        }\n        _aether.logCallEnd(); return;\n    };\n    tmp0 = 'chooseAction';\n    __global[tmp0] = tmp1;\n}(this));",
+          "hear": "var __interceptThis=(function(){var G=this;return function($this,sandbox){if($this==G){return sandbox;}return $this;};})();\nreturn (function (__global) {\n    var tmp0, tmp1;\n    tmp1 = function (speaker, message, data) {\n        'use strict'; _aether.logCallStart(_aether._userInfo); var tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8; speaker = _aether.createAPIClone(_aether, speaker); message = _aether.createAPIClone(_aether, message); data = _aether.createAPIClone(_aether, data); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n        tmp5 = speaker;\n        tmp6 = 'team';\n        _aether.logStatementStart([{ofs: 81, row: 1, col: 3}, {ofs: 93, row: 1, col: 15}]); tmp3 = tmp5[tmp6];  _aether.logStatement([{ofs: 81, row: 1, col: 3}, {ofs: 93, row: 1, col: 15}], _aether._userInfo, false);\n        tmp7 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp8 = 'team';\n        _aether.logStatementStart([{ofs: 98, row: 1, col: 20}, {ofs: 107, row: 1, col: 29}]); tmp4 = tmp7[tmp8];  _aether.logStatement([{ofs: 98, row: 1, col: 20}, {ofs: 107, row: 1, col: 29}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 81, row: 1, col: 3}, {ofs: 107, row: 1, col: 29}]); tmp2 = tmp3 !== tmp4;  _aether.logStatement([{ofs: 81, row: 1, col: 3}, {ofs: 107, row: 1, col: 29}], _aether._userInfo, false);\n        if (tmp2) {\n            _aether.logCallEnd(); return;\n        } else {\n            ;\n        }\n        _aether.logCallEnd(); return;\n    };\n    tmp0 = 'hear';\n    __global[tmp0] = tmp1;\n}(this));"
+        },
+        "s-arrow-tower": {
+          "chooseAction": "var __interceptThis=(function(){var G=this;return function($this,sandbox){if($this==G){return sandbox;}return $this;};})();\nreturn (function (__global) {\n    var tmp0, tmp1;\n    tmp1 = function () {\n        'use strict'; _aether.logCallStart(_aether._userInfo); var enemy, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n        tmp2 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp3 = 'getNearestEnemy';\n        _aether.logStatementStart([{ofs: 169, row: 4, col: 0}, {ofs: 204, row: 4, col: 35}]); enemy = _aether.createAPIClone(_aether, tmp2[tmp3]());  _aether.logStatement([{ofs: 169, row: 4, col: 0}, {ofs: 204, row: 4, col: 35}], _aether._userInfo, false);\n        tmp5 = enemy;\n        if (tmp5) {\n            tmp8 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp9 = 'distance';\n            tmp10 = enemy;\n            _aether.logStatementStart([{ofs: 219, row: 6, col: 13}, {ofs: 239, row: 6, col: 33}]); tmp6 = _aether.createAPIClone(_aether, tmp8[tmp9](_aether.restoreAPIClone(_aether, tmp10)));  _aether.logStatement([{ofs: 219, row: 6, col: 13}, {ofs: 239, row: 6, col: 33}], _aether._userInfo, false);\n            tmp11 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp12 = 'attackRange';\n            _aether.logStatementStart([{ofs: 242, row: 6, col: 36}, {ofs: 258, row: 6, col: 52}]); tmp7 = tmp11[tmp12];  _aether.logStatement([{ofs: 242, row: 6, col: 36}, {ofs: 258, row: 6, col: 52}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 219, row: 6, col: 13}, {ofs: 258, row: 6, col: 52}]); tmp4 = tmp6 < tmp7;  _aether.logStatement([{ofs: 219, row: 6, col: 13}, {ofs: 258, row: 6, col: 52}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 210, row: 6, col: 4}, {ofs: 258, row: 6, col: 52}]); tmp4 = tmp5;  _aether.logStatement([{ofs: 210, row: 6, col: 4}, {ofs: 258, row: 6, col: 52}], _aether._userInfo, false);\n        }\n        if (tmp4) {\n            tmp13 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp14 = 'say';\n            _aether.logStatementStart([{ofs: 275, row: 7, col: 13}, {ofs: 288, row: 7, col: 26}]); tmp18 = 'EAT DEATH, ';  _aether.logStatement([{ofs: 275, row: 7, col: 13}, {ofs: 288, row: 7, col: 26}], _aether._userInfo, false);\n            tmp20 = enemy;\n            tmp21 = 'id';\n            _aether.logStatementStart([{ofs: 291, row: 7, col: 29}, {ofs: 299, row: 7, col: 37}]); tmp19 = tmp20[tmp21];  _aether.logStatement([{ofs: 291, row: 7, col: 29}, {ofs: 299, row: 7, col: 37}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 275, row: 7, col: 13}, {ofs: 299, row: 7, col: 37}]); tmp16 = tmp18 + tmp19;  _aether.logStatement([{ofs: 275, row: 7, col: 13}, {ofs: 299, row: 7, col: 37}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 302, row: 7, col: 40}, {ofs: 305, row: 7, col: 43}]); tmp17 = '!';  _aether.logStatement([{ofs: 302, row: 7, col: 40}, {ofs: 305, row: 7, col: 43}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 275, row: 7, col: 13}, {ofs: 305, row: 7, col: 43}]); tmp15 = tmp16 + tmp17;  _aether.logStatement([{ofs: 275, row: 7, col: 13}, {ofs: 305, row: 7, col: 43}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 266, row: 7, col: 4}, {ofs: 306, row: 7, col: 44}]); tmp22 = _aether.createAPIClone(_aether, tmp13[tmp14](_aether.restoreAPIClone(_aether, tmp15)));  _aether.logStatement([{ofs: 266, row: 7, col: 4}, {ofs: 306, row: 7, col: 44}], _aether._userInfo, false);\n            tmp23 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp24 = 'attack';\n            tmp25 = enemy;\n            _aether.logStatementStart([{ofs: 312, row: 8, col: 4}, {ofs: 330, row: 8, col: 22}]); tmp26 = _aether.createAPIClone(_aether, tmp23[tmp24](_aether.restoreAPIClone(_aether, tmp25)));  _aether.logStatement([{ofs: 312, row: 8, col: 4}, {ofs: 330, row: 8, col: 22}], _aether._userInfo, false);\n        } else {\n            ;\n        }\n        _aether.logCallEnd(); return;\n    };\n    tmp0 = 'chooseAction';\n    __global[tmp0] = tmp1;\n}(this));"
+        },
+        "programmable-archer": {
+          "chooseAction": "var __interceptThis=(function(){var G=this;return function($this,sandbox){if($this==G){return sandbox;}return $this;};})();\nreturn (function (__global) {\n    var tmp0, tmp1;\n    tmp1 = function () {\n        'use strict'; _aether.logCallStart(_aether._userInfo); var tmp2, tmp3, tmp4, tmp48, tmp49, tmp50, tmp178, tmp179, tmp180, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp291, tmp292, tmp293, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311, tmp312, tmp313, tmp314, tmp315, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp333, tmp334, tmp335;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n        tmp2 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp3 = 'getGold';\n        _aether.logStatementStart([{ofs: 326, row: 9, col: 0}, {ofs: 974, row: 29, col: 0}]); tmp4 = function (location, saying) {\n            var items, item, i, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47; location = _aether.createAPIClone(_aether, location); saying = _aether.createAPIClone(_aether, saying); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp5 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp6 = 'getItems';\n            _aether.logStatementStart([{ofs: 406, row: 11, col: 4}, {ofs: 430, row: 11, col: 28}]); items = _aether.createAPIClone(_aether, tmp5[tmp6]());  _aether.logStatement([{ofs: 406, row: 11, col: 4}, {ofs: 430, row: 11, col: 28}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 444, row: 12, col: 13}, {ofs: 445, row: 12, col: 14}]); i = 0;  _aether.logStatement([{ofs: 444, row: 12, col: 13}, {ofs: 445, row: 12, col: 14}], _aether._userInfo, false);\n            tmp8 = i;\n            tmp10 = items;\n            tmp11 = 'length';\n            _aether.logStatementStart([{ofs: 451, row: 12, col: 20}, {ofs: 463, row: 12, col: 32}]); tmp9 = tmp10[tmp11];  _aether.logStatement([{ofs: 451, row: 12, col: 20}, {ofs: 463, row: 12, col: 32}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 447, row: 12, col: 16}, {ofs: 463, row: 12, col: 32}]); tmp7 = tmp8 < tmp9;  _aether.logStatement([{ofs: 447, row: 12, col: 16}, {ofs: 463, row: 12, col: 32}], _aether._userInfo, false);\n            tmp18: {\n                while (tmp7) {\n                    tmp19: {\n                        tmp21 = i;\n                        _aether.logStatementStart([{ofs: 490, row: 13, col: 18}, {ofs: 491, row: 13, col: 19}]); tmp22 = 3;  _aether.logStatement([{ofs: 490, row: 13, col: 18}, {ofs: 491, row: 13, col: 19}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 484, row: 13, col: 12}, {ofs: 491, row: 13, col: 19}]); tmp20 = tmp21 !== tmp22;  _aether.logStatement([{ofs: 484, row: 13, col: 12}, {ofs: 491, row: 13, col: 19}], _aether._userInfo, false);\n                        if (tmp20) {\n                            tmp23 = items;\n                            tmp24 = i;\n                            _aether.logStatementStart([{ofs: 507, row: 14, col: 12}, {ofs: 523, row: 14, col: 28}]); item = tmp23[tmp24];  _aether.logStatement([{ofs: 507, row: 14, col: 12}, {ofs: 523, row: 14, col: 28}], _aether._userInfo, false);\n                            tmp28 = location;\n                            _aether.logStatementStart([{ofs: 553, row: 15, col: 29}, {ofs: 559, row: 15, col: 35}]); tmp29 = 'left';  _aether.logStatement([{ofs: 553, row: 15, col: 29}, {ofs: 559, row: 15, col: 35}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 541, row: 15, col: 17}, {ofs: 559, row: 15, col: 35}]); tmp27 = tmp28 == tmp29;  _aether.logStatement([{ofs: 541, row: 15, col: 17}, {ofs: 559, row: 15, col: 35}], _aether._userInfo, false);\n                            if (tmp27) {\n                                tmp32 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp33 = 'distance';\n                                tmp34 = item;\n                                _aether.logStatementStart([{ofs: 563, row: 15, col: 39}, {ofs: 582, row: 15, col: 58}]); tmp30 = _aether.createAPIClone(_aether, tmp32[tmp33](_aether.restoreAPIClone(_aether, tmp34)));  _aether.logStatement([{ofs: 563, row: 15, col: 39}, {ofs: 582, row: 15, col: 58}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 585, row: 15, col: 61}, {ofs: 587, row: 15, col: 63}]); tmp31 = 60;  _aether.logStatement([{ofs: 585, row: 15, col: 61}, {ofs: 587, row: 15, col: 63}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 563, row: 15, col: 39}, {ofs: 587, row: 15, col: 63}]); tmp26 = tmp30 < tmp31;  _aether.logStatement([{ofs: 563, row: 15, col: 39}, {ofs: 587, row: 15, col: 63}], _aether._userInfo, false);\n                            } else {\n                                _aether.logStatementStart([{ofs: 541, row: 15, col: 17}, {ofs: 587, row: 15, col: 63}]); tmp26 = tmp27;  _aether.logStatement([{ofs: 541, row: 15, col: 17}, {ofs: 587, row: 15, col: 63}], _aether._userInfo, false);\n                            }\n                            if (tmp26) {\n                                _aether.logStatementStart([{ofs: 540, row: 15, col: 16}, {ofs: 611, row: 15, col: 87}]); tmp25 = tmp26;  _aether.logStatement([{ofs: 540, row: 15, col: 16}, {ofs: 611, row: 15, col: 87}], _aether._userInfo, false);\n                            } else {\n                                tmp35 = location;\n                                _aether.logStatementStart([{ofs: 604, row: 15, col: 80}, {ofs: 611, row: 15, col: 87}]); tmp36 = 'right';  _aether.logStatement([{ofs: 604, row: 15, col: 80}, {ofs: 611, row: 15, col: 87}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 592, row: 15, col: 68}, {ofs: 611, row: 15, col: 87}]); tmp25 = tmp35 == tmp36;  _aether.logStatement([{ofs: 592, row: 15, col: 68}, {ofs: 611, row: 15, col: 87}], _aether._userInfo, false);\n                            }\n                            if (tmp25) {\n                                tmp37 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp38 = 'move';\n                                tmp40 = item;\n                                tmp41 = 'pos';\n                                _aether.logStatementStart([{ofs: 641, row: 16, col: 26}, {ofs: 649, row: 16, col: 34}]); tmp39 = tmp40[tmp41];  _aether.logStatement([{ofs: 641, row: 16, col: 26}, {ofs: 649, row: 16, col: 34}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 631, row: 16, col: 16}, {ofs: 650, row: 16, col: 35}]); tmp42 = _aether.createAPIClone(_aether, tmp37[tmp38](_aether.restoreAPIClone(_aether, tmp39)));  _aether.logStatement([{ofs: 631, row: 16, col: 16}, {ofs: 650, row: 16, col: 35}], _aether._userInfo, false);\n                                tmp43 = saying;\n                                if (tmp43) {\n                                    tmp44 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                    tmp45 = 'say';\n                                    tmp46 = saying;\n                                    _aether.logStatementStart([{ofs: 702, row: 18, col: 20}, {ofs: 718, row: 18, col: 36}]); tmp47 = _aether.createAPIClone(_aether, tmp44[tmp45](_aether.restoreAPIClone(_aether, tmp46)));  _aether.logStatement([{ofs: 702, row: 18, col: 20}, {ofs: 718, row: 18, col: 36}], _aether._userInfo, false);\n                                } else {\n                                    ;\n                                }\n                            } else {\n                                ;\n                            }\n                        } else {\n                            ;\n                        }\n                    }\n                    tmp16 = i;\n                    tmp17 = 1;\n                    i = tmp16 + tmp17;\n                    tmp12 = i;\n                    tmp14 = items;\n                    tmp15 = 'length';\n                    _aether.logStatementStart([{ofs: 451, row: 12, col: 20}, {ofs: 463, row: 12, col: 32}]); tmp13 = tmp14[tmp15];  _aether.logStatement([{ofs: 451, row: 12, col: 20}, {ofs: 463, row: 12, col: 32}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 447, row: 12, col: 16}, {ofs: 463, row: 12, col: 32}]); tmp7 = tmp12 < tmp13;  _aether.logStatement([{ofs: 447, row: 12, col: 16}, {ofs: 463, row: 12, col: 32}], _aether._userInfo, false);\n                }\n            }\n            return;\n        };  _aether.logStatement([{ofs: 326, row: 9, col: 0}, {ofs: 974, row: 29, col: 0}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 326, row: 9, col: 0}, {ofs: 769, row: 23, col: 1}]); tmp2[tmp3] = tmp4;  _aether.logStatement([{ofs: 326, row: 9, col: 0}, {ofs: 769, row: 23, col: 1}], _aether._userInfo, false);\n        tmp48 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp49 = 'evade';\n        _aether.logStatementStart([{ofs: 974, row: 29, col: 0}, {ofs: 2278, row: 59, col: 0}]); tmp50 = function () {\n            var nearest, distance, maxrange, newx, newy, evadeLoc, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp63, tmp64, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp51 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp52 = 'getNearestEnemy';\n            _aether.logStatementStart([{ofs: 1004, row: 30, col: 4}, {ofs: 1041, row: 30, col: 41}]); nearest = _aether.createAPIClone(_aether, tmp51[tmp52]());  _aether.logStatement([{ofs: 1004, row: 30, col: 4}, {ofs: 1041, row: 30, col: 41}], _aether._userInfo, false);\n            tmp53 = nearest;\n            if (tmp53) {\n                tmp54 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp55 = 'distance';\n                tmp56 = nearest;\n                _aether.logStatementStart([{ofs: 1069, row: 32, col: 8}, {ofs: 1107, row: 32, col: 46}]); distance = _aether.createAPIClone(_aether, tmp54[tmp55](_aether.restoreAPIClone(_aether, tmp56)));  _aether.logStatement([{ofs: 1069, row: 32, col: 8}, {ofs: 1107, row: 32, col: 46}], _aether._userInfo, false);\n                tmp57 = nearest;\n                tmp58 = 'attackRange';\n                _aether.logStatementStart([{ofs: 1116, row: 33, col: 8}, {ofs: 1151, row: 33, col: 43}]); maxrange = tmp57[tmp58];  _aether.logStatement([{ofs: 1116, row: 33, col: 8}, {ofs: 1151, row: 33, col: 43}], _aether._userInfo, false);\n                tmp60 = maxrange;\n                _aether.logStatementStart([{ofs: 1161, row: 34, col: 9}, {ofs: 1170, row: 34, col: 18}]); tmp59 = !tmp60;  _aether.logStatement([{ofs: 1161, row: 34, col: 9}, {ofs: 1170, row: 34, col: 18}], _aether._userInfo, false);\n                if (tmp59) {\n                    _aether.logStatementStart([{ofs: 1174, row: 34, col: 22}, {ofs: 1188, row: 34, col: 36}]); maxrange = 10;  _aether.logStatement([{ofs: 1174, row: 34, col: 22}, {ofs: 1188, row: 34, col: 36}], _aether._userInfo, false);\n                } else {\n                    ;\n                }\n                tmp64 = distance;\n                tmp66 = maxrange;\n                _aether.logStatementStart([{ofs: 1267, row: 36, col: 34}, {ofs: 1268, row: 36, col: 35}]); tmp67 = 3;  _aether.logStatement([{ofs: 1267, row: 36, col: 34}, {ofs: 1268, row: 36, col: 35}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 1256, row: 36, col: 23}, {ofs: 1268, row: 36, col: 35}]); tmp65 = tmp66 + tmp67;  _aether.logStatement([{ofs: 1256, row: 36, col: 23}, {ofs: 1268, row: 36, col: 35}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 1245, row: 36, col: 12}, {ofs: 1268, row: 36, col: 35}]); tmp63 = tmp64 < tmp65;  _aether.logStatement([{ofs: 1245, row: 36, col: 12}, {ofs: 1268, row: 36, col: 35}], _aether._userInfo, false);\n                if (tmp63) {\n                    tmp70 = nearest;\n                    tmp71 = 'type';\n                    _aether.logStatementStart([{ofs: 1272, row: 36, col: 39}, {ofs: 1284, row: 36, col: 51}]); tmp68 = tmp70[tmp71];  _aether.logStatement([{ofs: 1272, row: 36, col: 39}, {ofs: 1284, row: 36, col: 51}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 1289, row: 36, col: 56}, {ofs: 1301, row: 36, col: 68}]); tmp69 = 'beam-tower';  _aether.logStatement([{ofs: 1289, row: 36, col: 56}, {ofs: 1301, row: 36, col: 68}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 1272, row: 36, col: 39}, {ofs: 1301, row: 36, col: 68}]); tmp62 = tmp68 !== tmp69;  _aether.logStatement([{ofs: 1272, row: 36, col: 39}, {ofs: 1301, row: 36, col: 68}], _aether._userInfo, false);\n                } else {\n                    _aether.logStatementStart([{ofs: 1245, row: 36, col: 12}, {ofs: 1301, row: 36, col: 68}]); tmp62 = tmp63;  _aether.logStatement([{ofs: 1245, row: 36, col: 12}, {ofs: 1301, row: 36, col: 68}], _aether._userInfo, false);\n                }\n                if (tmp62) {\n                    tmp74 = nearest;\n                    tmp75 = 'type';\n                    _aether.logStatementStart([{ofs: 1305, row: 36, col: 72}, {ofs: 1317, row: 36, col: 84}]); tmp72 = tmp74[tmp75];  _aether.logStatement([{ofs: 1305, row: 36, col: 72}, {ofs: 1317, row: 36, col: 84}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 1322, row: 36, col: 89}, {ofs: 1331, row: 36, col: 98}]); tmp73 = 'thrower';  _aether.logStatement([{ofs: 1322, row: 36, col: 89}, {ofs: 1331, row: 36, col: 98}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 1305, row: 36, col: 72}, {ofs: 1331, row: 36, col: 98}]); tmp61 = tmp72 !== tmp73;  _aether.logStatement([{ofs: 1305, row: 36, col: 72}, {ofs: 1331, row: 36, col: 98}], _aether._userInfo, false);\n                } else {\n                    _aether.logStatementStart([{ofs: 1245, row: 36, col: 12}, {ofs: 1331, row: 36, col: 98}]); tmp61 = tmp62;  _aether.logStatement([{ofs: 1245, row: 36, col: 12}, {ofs: 1331, row: 36, col: 98}], _aether._userInfo, false);\n                }\n                if (tmp61) {\n                    tmp81 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp82 = 'pos';\n                    _aether.logStatementStart([{ofs: 1351, row: 37, col: 16}, {ofs: 1359, row: 37, col: 24}]); tmp79 = tmp81[tmp82];  _aether.logStatement([{ofs: 1351, row: 37, col: 16}, {ofs: 1359, row: 37, col: 24}], _aether._userInfo, false);\n                    tmp80 = 'x';\n                    _aether.logStatementStart([{ofs: 1351, row: 37, col: 16}, {ofs: 1361, row: 37, col: 26}]); tmp77 = tmp79[tmp80];  _aether.logStatement([{ofs: 1351, row: 37, col: 16}, {ofs: 1361, row: 37, col: 26}], _aether._userInfo, false);\n                    tmp85 = nearest;\n                    tmp86 = 'pos';\n                    _aether.logStatementStart([{ofs: 1364, row: 37, col: 29}, {ofs: 1375, row: 37, col: 40}]); tmp83 = tmp85[tmp86];  _aether.logStatement([{ofs: 1364, row: 37, col: 29}, {ofs: 1375, row: 37, col: 40}], _aether._userInfo, false);\n                    tmp84 = 'x';\n                    _aether.logStatementStart([{ofs: 1364, row: 37, col: 29}, {ofs: 1377, row: 37, col: 42}]); tmp78 = tmp83[tmp84];  _aether.logStatement([{ofs: 1364, row: 37, col: 29}, {ofs: 1377, row: 37, col: 42}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 1351, row: 37, col: 16}, {ofs: 1377, row: 37, col: 42}]); tmp76 = tmp77 < tmp78;  _aether.logStatement([{ofs: 1351, row: 37, col: 16}, {ofs: 1377, row: 37, col: 42}], _aether._userInfo, false);\n                    if (tmp76) {\n                        tmp91 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp92 = 'pos';\n                        _aether.logStatementStart([{ofs: 1388, row: 37, col: 53}, {ofs: 1396, row: 37, col: 61}]); tmp89 = tmp91[tmp92];  _aether.logStatement([{ofs: 1388, row: 37, col: 53}, {ofs: 1396, row: 37, col: 61}], _aether._userInfo, false);\n                        tmp90 = 'x';\n                        _aether.logStatementStart([{ofs: 1388, row: 37, col: 53}, {ofs: 1398, row: 37, col: 63}]); tmp87 = tmp89[tmp90];  _aether.logStatement([{ofs: 1388, row: 37, col: 53}, {ofs: 1398, row: 37, col: 63}], _aether._userInfo, false);\n                        tmp93 = maxrange;\n                        _aether.logStatementStart([{ofs: 1413, row: 37, col: 78}, {ofs: 1414, row: 37, col: 79}]); tmp94 = 3;  _aether.logStatement([{ofs: 1413, row: 37, col: 78}, {ofs: 1414, row: 37, col: 79}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 1402, row: 37, col: 67}, {ofs: 1414, row: 37, col: 79}]); tmp88 = tmp93 + tmp94;  _aether.logStatement([{ofs: 1402, row: 37, col: 67}, {ofs: 1414, row: 37, col: 79}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 1381, row: 37, col: 46}, {ofs: 1416, row: 37, col: 81}]); newx = tmp87 - tmp88;  _aether.logStatement([{ofs: 1381, row: 37, col: 46}, {ofs: 1416, row: 37, col: 81}], _aether._userInfo, false);\n                    } else {\n                        ;\n                    }\n                    tmp100 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp101 = 'pos';\n                    _aether.logStatementStart([{ofs: 1435, row: 38, col: 16}, {ofs: 1443, row: 38, col: 24}]); tmp98 = tmp100[tmp101];  _aether.logStatement([{ofs: 1435, row: 38, col: 16}, {ofs: 1443, row: 38, col: 24}], _aether._userInfo, false);\n                    tmp99 = 'x';\n                    _aether.logStatementStart([{ofs: 1435, row: 38, col: 16}, {ofs: 1445, row: 38, col: 26}]); tmp96 = tmp98[tmp99];  _aether.logStatement([{ofs: 1435, row: 38, col: 16}, {ofs: 1445, row: 38, col: 26}], _aether._userInfo, false);\n                    tmp104 = nearest;\n                    tmp105 = 'pos';\n                    _aether.logStatementStart([{ofs: 1448, row: 38, col: 29}, {ofs: 1459, row: 38, col: 40}]); tmp102 = tmp104[tmp105];  _aether.logStatement([{ofs: 1448, row: 38, col: 29}, {ofs: 1459, row: 38, col: 40}], _aether._userInfo, false);\n                    tmp103 = 'x';\n                    _aether.logStatementStart([{ofs: 1448, row: 38, col: 29}, {ofs: 1461, row: 38, col: 42}]); tmp97 = tmp102[tmp103];  _aether.logStatement([{ofs: 1448, row: 38, col: 29}, {ofs: 1461, row: 38, col: 42}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 1435, row: 38, col: 16}, {ofs: 1461, row: 38, col: 42}]); tmp95 = tmp96 > tmp97;  _aether.logStatement([{ofs: 1435, row: 38, col: 16}, {ofs: 1461, row: 38, col: 42}], _aether._userInfo, false);\n                    if (tmp95) {\n                        tmp110 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp111 = 'pos';\n                        _aether.logStatementStart([{ofs: 1472, row: 38, col: 53}, {ofs: 1480, row: 38, col: 61}]); tmp108 = tmp110[tmp111];  _aether.logStatement([{ofs: 1472, row: 38, col: 53}, {ofs: 1480, row: 38, col: 61}], _aether._userInfo, false);\n                        tmp109 = 'x';\n                        _aether.logStatementStart([{ofs: 1472, row: 38, col: 53}, {ofs: 1482, row: 38, col: 63}]); tmp106 = tmp108[tmp109];  _aether.logStatement([{ofs: 1472, row: 38, col: 53}, {ofs: 1482, row: 38, col: 63}], _aether._userInfo, false);\n                        tmp112 = maxrange;\n                        _aether.logStatementStart([{ofs: 1497, row: 38, col: 78}, {ofs: 1498, row: 38, col: 79}]); tmp113 = 3;  _aether.logStatement([{ofs: 1497, row: 38, col: 78}, {ofs: 1498, row: 38, col: 79}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 1486, row: 38, col: 67}, {ofs: 1498, row: 38, col: 79}]); tmp107 = tmp112 + tmp113;  _aether.logStatement([{ofs: 1486, row: 38, col: 67}, {ofs: 1498, row: 38, col: 79}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 1465, row: 38, col: 46}, {ofs: 1500, row: 38, col: 81}]); newx = tmp106 + tmp107;  _aether.logStatement([{ofs: 1465, row: 38, col: 46}, {ofs: 1500, row: 38, col: 81}], _aether._userInfo, false);\n                    } else {\n                        ;\n                    }\n                    tmp119 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp120 = 'pos';\n                    _aether.logStatementStart([{ofs: 1519, row: 39, col: 16}, {ofs: 1527, row: 39, col: 24}]); tmp117 = tmp119[tmp120];  _aether.logStatement([{ofs: 1519, row: 39, col: 16}, {ofs: 1527, row: 39, col: 24}], _aether._userInfo, false);\n                    tmp118 = 'y';\n                    _aether.logStatementStart([{ofs: 1519, row: 39, col: 16}, {ofs: 1529, row: 39, col: 26}]); tmp115 = tmp117[tmp118];  _aether.logStatement([{ofs: 1519, row: 39, col: 16}, {ofs: 1529, row: 39, col: 26}], _aether._userInfo, false);\n                    tmp123 = nearest;\n                    tmp124 = 'pos';\n                    _aether.logStatementStart([{ofs: 1532, row: 39, col: 29}, {ofs: 1543, row: 39, col: 40}]); tmp121 = tmp123[tmp124];  _aether.logStatement([{ofs: 1532, row: 39, col: 29}, {ofs: 1543, row: 39, col: 40}], _aether._userInfo, false);\n                    tmp122 = 'y';\n                    _aether.logStatementStart([{ofs: 1532, row: 39, col: 29}, {ofs: 1545, row: 39, col: 42}]); tmp116 = tmp121[tmp122];  _aether.logStatement([{ofs: 1532, row: 39, col: 29}, {ofs: 1545, row: 39, col: 42}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 1519, row: 39, col: 16}, {ofs: 1545, row: 39, col: 42}]); tmp114 = tmp115 < tmp116;  _aether.logStatement([{ofs: 1519, row: 39, col: 16}, {ofs: 1545, row: 39, col: 42}], _aether._userInfo, false);\n                    if (tmp114) {\n                        tmp129 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp130 = 'pos';\n                        _aether.logStatementStart([{ofs: 1556, row: 39, col: 53}, {ofs: 1564, row: 39, col: 61}]); tmp127 = tmp129[tmp130];  _aether.logStatement([{ofs: 1556, row: 39, col: 53}, {ofs: 1564, row: 39, col: 61}], _aether._userInfo, false);\n                        tmp128 = 'y';\n                        _aether.logStatementStart([{ofs: 1556, row: 39, col: 53}, {ofs: 1566, row: 39, col: 63}]); tmp125 = tmp127[tmp128];  _aether.logStatement([{ofs: 1556, row: 39, col: 53}, {ofs: 1566, row: 39, col: 63}], _aether._userInfo, false);\n                        tmp131 = maxrange;\n                        _aether.logStatementStart([{ofs: 1581, row: 39, col: 78}, {ofs: 1582, row: 39, col: 79}]); tmp132 = 3;  _aether.logStatement([{ofs: 1581, row: 39, col: 78}, {ofs: 1582, row: 39, col: 79}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 1570, row: 39, col: 67}, {ofs: 1582, row: 39, col: 79}]); tmp126 = tmp131 + tmp132;  _aether.logStatement([{ofs: 1570, row: 39, col: 67}, {ofs: 1582, row: 39, col: 79}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 1549, row: 39, col: 46}, {ofs: 1584, row: 39, col: 81}]); newy = tmp125 - tmp126;  _aether.logStatement([{ofs: 1549, row: 39, col: 46}, {ofs: 1584, row: 39, col: 81}], _aether._userInfo, false);\n                    } else {\n                        ;\n                    }\n                    tmp138 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp139 = 'pos';\n                    _aether.logStatementStart([{ofs: 1603, row: 40, col: 16}, {ofs: 1611, row: 40, col: 24}]); tmp136 = tmp138[tmp139];  _aether.logStatement([{ofs: 1603, row: 40, col: 16}, {ofs: 1611, row: 40, col: 24}], _aether._userInfo, false);\n                    tmp137 = 'y';\n                    _aether.logStatementStart([{ofs: 1603, row: 40, col: 16}, {ofs: 1613, row: 40, col: 26}]); tmp134 = tmp136[tmp137];  _aether.logStatement([{ofs: 1603, row: 40, col: 16}, {ofs: 1613, row: 40, col: 26}], _aether._userInfo, false);\n                    tmp142 = nearest;\n                    tmp143 = 'pos';\n                    _aether.logStatementStart([{ofs: 1616, row: 40, col: 29}, {ofs: 1627, row: 40, col: 40}]); tmp140 = tmp142[tmp143];  _aether.logStatement([{ofs: 1616, row: 40, col: 29}, {ofs: 1627, row: 40, col: 40}], _aether._userInfo, false);\n                    tmp141 = 'y';\n                    _aether.logStatementStart([{ofs: 1616, row: 40, col: 29}, {ofs: 1629, row: 40, col: 42}]); tmp135 = tmp140[tmp141];  _aether.logStatement([{ofs: 1616, row: 40, col: 29}, {ofs: 1629, row: 40, col: 42}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 1603, row: 40, col: 16}, {ofs: 1629, row: 40, col: 42}]); tmp133 = tmp134 > tmp135;  _aether.logStatement([{ofs: 1603, row: 40, col: 16}, {ofs: 1629, row: 40, col: 42}], _aether._userInfo, false);\n                    if (tmp133) {\n                        tmp148 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp149 = 'pos';\n                        _aether.logStatementStart([{ofs: 1640, row: 40, col: 53}, {ofs: 1648, row: 40, col: 61}]); tmp146 = tmp148[tmp149];  _aether.logStatement([{ofs: 1640, row: 40, col: 53}, {ofs: 1648, row: 40, col: 61}], _aether._userInfo, false);\n                        tmp147 = 'y';\n                        _aether.logStatementStart([{ofs: 1640, row: 40, col: 53}, {ofs: 1650, row: 40, col: 63}]); tmp144 = tmp146[tmp147];  _aether.logStatement([{ofs: 1640, row: 40, col: 53}, {ofs: 1650, row: 40, col: 63}], _aether._userInfo, false);\n                        tmp150 = maxrange;\n                        _aether.logStatementStart([{ofs: 1665, row: 40, col: 78}, {ofs: 1666, row: 40, col: 79}]); tmp151 = 3;  _aether.logStatement([{ofs: 1665, row: 40, col: 78}, {ofs: 1666, row: 40, col: 79}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 1654, row: 40, col: 67}, {ofs: 1666, row: 40, col: 79}]); tmp145 = tmp150 + tmp151;  _aether.logStatement([{ofs: 1654, row: 40, col: 67}, {ofs: 1666, row: 40, col: 79}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 1633, row: 40, col: 46}, {ofs: 1668, row: 40, col: 81}]); newy = tmp144 + tmp145;  _aether.logStatement([{ofs: 1633, row: 40, col: 46}, {ofs: 1668, row: 40, col: 81}], _aether._userInfo, false);\n                    } else {\n                        ;\n                    }\n                    tmp154 = 'Math';\n                    tmp155 = tmp154 in __global;\n                    if (tmp155) {\n                        tmp152 = __global[tmp154];\n                    } else { _aether.logStatementStart([{ofs: 1690, row: 41, col: 19}, {ofs: 1694, row: 41, col: 23}]);\n                        tmp156 = 'ReferenceError';\n                        tmp157 = __global[tmp156];\n                        tmp158 = new tmp157('ReferenceError: ' + (tmp154 + ' is not defined'));\n                        throw tmp158;\n                     _aether.logStatement([{ofs: 1690, row: 41, col: 19}, {ofs: 1694, row: 41, col: 23}], _aether._userInfo, false); }\n                    tmp153 = 'round';\n                    tmp159 = newx;\n                    _aether.logStatementStart([{ofs: 1683, row: 41, col: 12}, {ofs: 1707, row: 41, col: 36}]); newx = _aether.createAPIClone(_aether, tmp152[tmp153](_aether.restoreAPIClone(_aether, tmp159)));  _aether.logStatement([{ofs: 1683, row: 41, col: 12}, {ofs: 1707, row: 41, col: 36}], _aether._userInfo, false);\n                    tmp162 = 'Math';\n                    tmp163 = tmp162 in __global;\n                    if (tmp163) {\n                        tmp160 = __global[tmp162];\n                    } else { _aether.logStatementStart([{ofs: 1727, row: 42, col: 19}, {ofs: 1731, row: 42, col: 23}]);\n                        tmp164 = 'ReferenceError';\n                        tmp165 = __global[tmp164];\n                        tmp166 = new tmp165('ReferenceError: ' + (tmp162 + ' is not defined'));\n                        throw tmp166;\n                     _aether.logStatement([{ofs: 1727, row: 42, col: 19}, {ofs: 1731, row: 42, col: 23}], _aether._userInfo, false); }\n                    tmp161 = 'round';\n                    tmp167 = newy;\n                    _aether.logStatementStart([{ofs: 1720, row: 42, col: 12}, {ofs: 1744, row: 42, col: 36}]); newy = _aether.createAPIClone(_aether, tmp160[tmp161](_aether.restoreAPIClone(_aether, tmp167)));  _aether.logStatement([{ofs: 1720, row: 42, col: 12}, {ofs: 1744, row: 42, col: 36}], _aether._userInfo, false);\n                    tmp169 = newx;\n                    if (tmp169) {\n                        tmp168 = newy;\n                    } else {\n                        _aether.logStatementStart([{ofs: 1761, row: 43, col: 16}, {ofs: 1773, row: 43, col: 28}]); tmp168 = tmp169;  _aether.logStatement([{ofs: 1761, row: 43, col: 16}, {ofs: 1773, row: 43, col: 28}], _aether._userInfo, false);\n                    }\n                    if (tmp168) {\n                        tmp170 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp171 = 'move';\n                        tmp173 = newx;\n                        tmp174 = newy;\n                        _aether.logStatementStart([{ofs: 1884, row: 45, col: 26}, {ofs: 1902, row: 45, col: 44}]); tmp172 = {\n                            x: tmp173,\n                            y: tmp174\n                        };  _aether.logStatement([{ofs: 1884, row: 45, col: 26}, {ofs: 1902, row: 45, col: 44}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 1874, row: 45, col: 16}, {ofs: 1903, row: 45, col: 45}]); tmp175 = _aether.createAPIClone(_aether, tmp170[tmp171](_aether.restoreAPIClone(_aether, tmp172)));  _aether.logStatement([{ofs: 1874, row: 45, col: 16}, {ofs: 1903, row: 45, col: 45}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 1928, row: 46, col: 23}, {ofs: 1937, row: 46, col: 32}]); tmp176 = 'evading';  _aether.logStatement([{ofs: 1928, row: 46, col: 23}, {ofs: 1937, row: 46, col: 32}], _aether._userInfo, false);\n                        return _aether.restoreAPIClone(_aether, tmp176);\n                    } else {\n                        ;\n                    }\n                } else {\n                    ;\n                }\n            } else {\n                ;\n            }\n            _aether.logStatementStart([{ofs: 1980, row: 50, col: 11}, {ofs: 1987, row: 50, col: 18}]); tmp177 = 'clear';  _aether.logStatement([{ofs: 1980, row: 50, col: 11}, {ofs: 1987, row: 50, col: 18}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp177);\n        };  _aether.logStatement([{ofs: 974, row: 29, col: 0}, {ofs: 2278, row: 59, col: 0}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 974, row: 29, col: 0}, {ofs: 1990, row: 51, col: 1}]); tmp48[tmp49] = tmp50;  _aether.logStatement([{ofs: 974, row: 29, col: 0}, {ofs: 1990, row: 51, col: 1}], _aether._userInfo, false);\n        tmp178 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp179 = 'attackLow';\n        _aether.logStatementStart([{ofs: 2278, row: 59, col: 0}, {ofs: 3395, row: 95, col: 0}]); tmp180 = function (attackLoc, saying) {\n            var lowHealth, enemies, enemy, e, evadeState, tmp181, tmp182, tmp183, tmp209, tmp210, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp225, tmp226, tmp227, tmp228, tmp229, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, tmp251, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp270, tmp271, tmp272; attackLoc = _aether.createAPIClone(_aether, attackLoc); saying = _aether.createAPIClone(_aether, saying); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp181 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp182 = 'attackLowMove';\n            _aether.logStatementStart([{ofs: 2329, row: 60, col: 4}, {ofs: 2591, row: 70, col: 4}]); tmp183 = function () {\n                var tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n                tmp188 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp189 = 'evade';\n                _aether.logStatementStart([{ofs: 2375, row: 61, col: 12}, {ofs: 2387, row: 61, col: 24}]); tmp186 = _aether.createAPIClone(_aether, tmp188[tmp189]());  _aether.logStatement([{ofs: 2375, row: 61, col: 12}, {ofs: 2387, row: 61, col: 24}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 2391, row: 61, col: 28}, {ofs: 2398, row: 61, col: 35}]); tmp187 = 'clear';  _aether.logStatement([{ofs: 2391, row: 61, col: 28}, {ofs: 2398, row: 61, col: 35}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 2375, row: 61, col: 12}, {ofs: 2398, row: 61, col: 35}]); tmp185 = tmp186 == tmp187;  _aether.logStatement([{ofs: 2375, row: 61, col: 12}, {ofs: 2398, row: 61, col: 35}], _aether._userInfo, false);\n                if (tmp185) {\n                    tmp192 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp193 = 'now';\n                    _aether.logStatementStart([{ofs: 2402, row: 61, col: 39}, {ofs: 2412, row: 61, col: 49}]); tmp190 = _aether.createAPIClone(_aether, tmp192[tmp193]());  _aether.logStatement([{ofs: 2402, row: 61, col: 39}, {ofs: 2412, row: 61, col: 49}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 2415, row: 61, col: 52}, {ofs: 2416, row: 61, col: 53}]); tmp191 = 4;  _aether.logStatement([{ofs: 2415, row: 61, col: 52}, {ofs: 2416, row: 61, col: 53}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 2402, row: 61, col: 39}, {ofs: 2416, row: 61, col: 53}]); tmp184 = tmp190 > tmp191;  _aether.logStatement([{ofs: 2402, row: 61, col: 39}, {ofs: 2416, row: 61, col: 53}], _aether._userInfo, false);\n                } else {\n                    _aether.logStatementStart([{ofs: 2375, row: 61, col: 12}, {ofs: 2416, row: 61, col: 53}]); tmp184 = tmp185;  _aether.logStatement([{ofs: 2375, row: 61, col: 12}, {ofs: 2416, row: 61, col: 53}], _aether._userInfo, false);\n                }\n                if (tmp184) {\n                    tmp197 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp198 = 'now';\n                    _aether.logStatementStart([{ofs: 2436, row: 62, col: 16}, {ofs: 2446, row: 62, col: 26}]); tmp195 = _aether.createAPIClone(_aether, tmp197[tmp198]());  _aether.logStatement([{ofs: 2436, row: 62, col: 16}, {ofs: 2446, row: 62, col: 26}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 2449, row: 62, col: 29}, {ofs: 2451, row: 62, col: 31}]); tmp196 = 15;  _aether.logStatement([{ofs: 2449, row: 62, col: 29}, {ofs: 2451, row: 62, col: 31}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 2436, row: 62, col: 16}, {ofs: 2451, row: 62, col: 31}]); tmp194 = tmp195 < tmp196;  _aether.logStatement([{ofs: 2436, row: 62, col: 16}, {ofs: 2451, row: 62, col: 31}], _aether._userInfo, false);\n                    if (tmp194) {\n                        tmp199 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp200 = 'move';\n                        _aether.logStatementStart([{ofs: 2485, row: 63, col: 30}, {ofs: 2487, row: 63, col: 32}]); tmp202 = 68;  _aether.logStatement([{ofs: 2485, row: 63, col: 30}, {ofs: 2487, row: 63, col: 32}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 2492, row: 63, col: 37}, {ofs: 2493, row: 63, col: 38}]); tmp203 = 8;  _aether.logStatement([{ofs: 2492, row: 63, col: 37}, {ofs: 2493, row: 63, col: 38}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 2481, row: 63, col: 26}, {ofs: 2494, row: 63, col: 39}]); tmp201 = {\n                            x: tmp202,\n                            y: tmp203\n                        };  _aether.logStatement([{ofs: 2481, row: 63, col: 26}, {ofs: 2494, row: 63, col: 39}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 2471, row: 63, col: 16}, {ofs: 2495, row: 63, col: 40}]); tmp204 = _aether.createAPIClone(_aether, tmp199[tmp200](_aether.restoreAPIClone(_aether, tmp201)));  _aether.logStatement([{ofs: 2471, row: 63, col: 16}, {ofs: 2495, row: 63, col: 40}], _aether._userInfo, false);\n                    } else {\n                        tmp205 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp206 = 'move';\n                        tmp207 = attackLoc;\n                        _aether.logStatementStart([{ofs: 2534, row: 65, col: 16}, {ofs: 2554, row: 65, col: 36}]); tmp208 = _aether.createAPIClone(_aether, tmp205[tmp206](_aether.restoreAPIClone(_aether, tmp207)));  _aether.logStatement([{ofs: 2534, row: 65, col: 16}, {ofs: 2554, row: 65, col: 36}], _aether._userInfo, false);\n                    }\n                } else {\n                    ;\n                }\n                return;\n            };  _aether.logStatement([{ofs: 2329, row: 60, col: 4}, {ofs: 2591, row: 70, col: 4}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 2329, row: 60, col: 4}, {ofs: 2585, row: 68, col: 5}]); tmp181[tmp182] = tmp183;  _aether.logStatement([{ofs: 2329, row: 60, col: 4}, {ofs: 2585, row: 68, col: 5}], _aether._userInfo, false);\n            tmp209 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp210 = 'getEnemies';\n            _aether.logStatementStart([{ofs: 2657, row: 71, col: 4}, {ofs: 2685, row: 71, col: 32}]); enemies = _aether.createAPIClone(_aether, tmp209[tmp210]());  _aether.logStatement([{ofs: 2657, row: 71, col: 4}, {ofs: 2685, row: 71, col: 32}], _aether._userInfo, false);\n            tmp211 = enemies;\n            if (tmp211) {\n                _aether.logStatementStart([{ofs: 2713, row: 73, col: 8}, {ofs: 2734, row: 73, col: 29}]); lowHealth = 99999999;  _aether.logStatement([{ofs: 2713, row: 73, col: 8}, {ofs: 2734, row: 73, col: 29}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 2752, row: 74, col: 17}, {ofs: 2753, row: 74, col: 18}]); e = 0;  _aether.logStatement([{ofs: 2752, row: 74, col: 17}, {ofs: 2753, row: 74, col: 18}], _aether._userInfo, false);\n                tmp213 = e;\n                tmp215 = enemies;\n                tmp216 = 'length';\n                _aether.logStatementStart([{ofs: 2759, row: 74, col: 24}, {ofs: 2773, row: 74, col: 38}]); tmp214 = tmp215[tmp216];  _aether.logStatement([{ofs: 2759, row: 74, col: 24}, {ofs: 2773, row: 74, col: 38}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 2755, row: 74, col: 20}, {ofs: 2773, row: 74, col: 38}]); tmp212 = tmp213 < tmp214;  _aether.logStatement([{ofs: 2755, row: 74, col: 20}, {ofs: 2773, row: 74, col: 38}], _aether._userInfo, false);\n                tmp223: {\n                    while (tmp212) {\n                        tmp224: {\n                            tmp225 = enemies;\n                            tmp226 = e;\n                            _aether.logStatementStart([{ofs: 2794, row: 75, col: 12}, {ofs: 2813, row: 75, col: 31}]); enemy = tmp225[tmp226];  _aether.logStatement([{ofs: 2794, row: 75, col: 12}, {ofs: 2813, row: 75, col: 31}], _aether._userInfo, false);\n                            tmp231 = enemy;\n                            tmp232 = 'health';\n                            _aether.logStatementStart([{ofs: 2830, row: 76, col: 16}, {ofs: 2842, row: 76, col: 28}]); tmp229 = tmp231[tmp232];  _aether.logStatement([{ofs: 2830, row: 76, col: 16}, {ofs: 2842, row: 76, col: 28}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 2845, row: 76, col: 31}, {ofs: 2846, row: 76, col: 32}]); tmp230 = 0;  _aether.logStatement([{ofs: 2845, row: 76, col: 31}, {ofs: 2846, row: 76, col: 32}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 2830, row: 76, col: 16}, {ofs: 2846, row: 76, col: 32}]); tmp228 = tmp229 > tmp230;  _aether.logStatement([{ofs: 2830, row: 76, col: 16}, {ofs: 2846, row: 76, col: 32}], _aether._userInfo, false);\n                            if (tmp228) {\n                                tmp235 = enemy;\n                                tmp236 = 'health';\n                                _aether.logStatementStart([{ofs: 2850, row: 76, col: 36}, {ofs: 2862, row: 76, col: 48}]); tmp233 = tmp235[tmp236];  _aether.logStatement([{ofs: 2850, row: 76, col: 36}, {ofs: 2862, row: 76, col: 48}], _aether._userInfo, false);\n                                tmp234 = lowHealth;\n                                _aether.logStatementStart([{ofs: 2850, row: 76, col: 36}, {ofs: 2874, row: 76, col: 60}]); tmp227 = tmp233 < tmp234;  _aether.logStatement([{ofs: 2850, row: 76, col: 36}, {ofs: 2874, row: 76, col: 60}], _aether._userInfo, false);\n                            } else {\n                                _aether.logStatementStart([{ofs: 2830, row: 76, col: 16}, {ofs: 2874, row: 76, col: 60}]); tmp227 = tmp228;  _aether.logStatement([{ofs: 2830, row: 76, col: 16}, {ofs: 2874, row: 76, col: 60}], _aether._userInfo, false);\n                            }\n                            if (tmp227) {\n                                tmp237 = enemy;\n                                tmp238 = 'health';\n                                _aether.logStatementStart([{ofs: 2894, row: 77, col: 16}, {ofs: 2919, row: 77, col: 41}]); lowHealth = tmp237[tmp238];  _aether.logStatement([{ofs: 2894, row: 77, col: 16}, {ofs: 2919, row: 77, col: 41}], _aether._userInfo, false);\n                                tmp239 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp240 = 'lowTarget';\n                                tmp241 = enemy;\n                                _aether.logStatementStart([{ofs: 2936, row: 78, col: 16}, {ofs: 2958, row: 78, col: 38}]); tmp239[tmp240] = tmp241;  _aether.logStatement([{ofs: 2936, row: 78, col: 16}, {ofs: 2958, row: 78, col: 38}], _aether._userInfo, false);\n                            } else {\n                                ;\n                            }\n                        }\n                        tmp221 = e;\n                        tmp222 = 1;\n                        e = tmp221 + tmp222;\n                        tmp217 = e;\n                        tmp219 = enemies;\n                        tmp220 = 'length';\n                        _aether.logStatementStart([{ofs: 2759, row: 74, col: 24}, {ofs: 2773, row: 74, col: 38}]); tmp218 = tmp219[tmp220];  _aether.logStatement([{ofs: 2759, row: 74, col: 24}, {ofs: 2773, row: 74, col: 38}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 2755, row: 74, col: 20}, {ofs: 2773, row: 74, col: 38}]); tmp212 = tmp217 < tmp218;  _aether.logStatement([{ofs: 2755, row: 74, col: 20}, {ofs: 2773, row: 74, col: 38}], _aether._userInfo, false);\n                    }\n                }\n                tmp242 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp243 = 'evade';\n                _aether.logStatementStart([{ofs: 2992, row: 81, col: 8}, {ofs: 3018, row: 81, col: 34}]); evadeState = _aether.createAPIClone(_aether, tmp242[tmp243]());  _aether.logStatement([{ofs: 2992, row: 81, col: 8}, {ofs: 3018, row: 81, col: 34}], _aether._userInfo, false);\n                tmp247 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp248 = 'lowTarget';\n                _aether.logStatementStart([{ofs: 3031, row: 82, col: 12}, {ofs: 3045, row: 82, col: 26}]); tmp246 = tmp247[tmp248];  _aether.logStatement([{ofs: 3031, row: 82, col: 12}, {ofs: 3045, row: 82, col: 26}], _aether._userInfo, false);\n                if (tmp246) {\n                    tmp253 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp254 = 'lowTarget';\n                    _aether.logStatementStart([{ofs: 3049, row: 82, col: 30}, {ofs: 3063, row: 82, col: 44}]); tmp251 = tmp253[tmp254];  _aether.logStatement([{ofs: 3049, row: 82, col: 30}, {ofs: 3063, row: 82, col: 44}], _aether._userInfo, false);\n                    tmp252 = 'health';\n                    _aether.logStatementStart([{ofs: 3049, row: 82, col: 30}, {ofs: 3070, row: 82, col: 51}]); tmp249 = tmp251[tmp252];  _aether.logStatement([{ofs: 3049, row: 82, col: 30}, {ofs: 3070, row: 82, col: 51}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 3073, row: 82, col: 54}, {ofs: 3074, row: 82, col: 55}]); tmp250 = 0;  _aether.logStatement([{ofs: 3073, row: 82, col: 54}, {ofs: 3074, row: 82, col: 55}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 3049, row: 82, col: 30}, {ofs: 3074, row: 82, col: 55}]); tmp245 = tmp249 > tmp250;  _aether.logStatement([{ofs: 3049, row: 82, col: 30}, {ofs: 3074, row: 82, col: 55}], _aether._userInfo, false);\n                } else {\n                    _aether.logStatementStart([{ofs: 3031, row: 82, col: 12}, {ofs: 3074, row: 82, col: 55}]); tmp245 = tmp246;  _aether.logStatement([{ofs: 3031, row: 82, col: 12}, {ofs: 3074, row: 82, col: 55}], _aether._userInfo, false);\n                }\n                if (tmp245) {\n                    tmp255 = evadeState;\n                    _aether.logStatementStart([{ofs: 3092, row: 82, col: 73}, {ofs: 3099, row: 82, col: 80}]); tmp256 = 'clear';  _aether.logStatement([{ofs: 3092, row: 82, col: 73}, {ofs: 3099, row: 82, col: 80}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 3078, row: 82, col: 59}, {ofs: 3099, row: 82, col: 80}]); tmp244 = tmp255 == tmp256;  _aether.logStatement([{ofs: 3078, row: 82, col: 59}, {ofs: 3099, row: 82, col: 80}], _aether._userInfo, false);\n                } else {\n                    _aether.logStatementStart([{ofs: 3031, row: 82, col: 12}, {ofs: 3099, row: 82, col: 80}]); tmp244 = tmp245;  _aether.logStatement([{ofs: 3031, row: 82, col: 12}, {ofs: 3099, row: 82, col: 80}], _aether._userInfo, false);\n                }\n                if (tmp244) {\n                    tmp257 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp258 = 'say';\n                    tmp259 = saying;\n                    _aether.logStatementStart([{ofs: 3115, row: 83, col: 12}, {ofs: 3131, row: 83, col: 28}]); tmp260 = _aether.createAPIClone(_aether, tmp257[tmp258](_aether.restoreAPIClone(_aether, tmp259)));  _aether.logStatement([{ofs: 3115, row: 83, col: 12}, {ofs: 3131, row: 83, col: 28}], _aether._userInfo, false);\n                    tmp261 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp262 = 'attack';\n                    tmp264 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp265 = 'lowTarget';\n                    _aether.logStatementStart([{ofs: 3157, row: 84, col: 24}, {ofs: 3171, row: 84, col: 38}]); tmp263 = tmp264[tmp265];  _aether.logStatement([{ofs: 3157, row: 84, col: 24}, {ofs: 3171, row: 84, col: 38}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 3145, row: 84, col: 12}, {ofs: 3172, row: 84, col: 39}]); tmp266 = _aether.createAPIClone(_aether, tmp261[tmp262](_aether.restoreAPIClone(_aether, tmp263)));  _aether.logStatement([{ofs: 3145, row: 84, col: 12}, {ofs: 3172, row: 84, col: 39}], _aether._userInfo, false);\n                } else {\n                    tmp267 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp268 = 'attackLowMove';\n                    _aether.logStatementStart([{ofs: 3203, row: 86, col: 12}, {ofs: 3223, row: 86, col: 32}]); tmp269 = _aether.createAPIClone(_aether, tmp267[tmp268]());  _aether.logStatement([{ofs: 3203, row: 86, col: 12}, {ofs: 3223, row: 86, col: 32}], _aether._userInfo, false);\n                }\n            } else {\n                tmp270 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp271 = 'attackLowMove';\n                _aether.logStatementStart([{ofs: 3256, row: 89, col: 8}, {ofs: 3276, row: 89, col: 28}]); tmp272 = _aether.createAPIClone(_aether, tmp270[tmp271]());  _aether.logStatement([{ofs: 3256, row: 89, col: 8}, {ofs: 3276, row: 89, col: 28}], _aether._userInfo, false);\n            }\n            return;\n        };  _aether.logStatement([{ofs: 2278, row: 59, col: 0}, {ofs: 3395, row: 95, col: 0}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 2278, row: 59, col: 0}, {ofs: 3285, row: 91, col: 1}]); tmp178[tmp179] = tmp180;  _aether.logStatement([{ofs: 2278, row: 59, col: 0}, {ofs: 3285, row: 91, col: 1}], _aether._userInfo, false);\n        tmp278 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp279 = 'buildIndex';\n        _aether.logStatementStart([{ofs: 3399, row: 95, col: 4}, {ofs: 3414, row: 95, col: 19}]); tmp276 = tmp278[tmp279];  _aether.logStatement([{ofs: 3399, row: 95, col: 4}, {ofs: 3414, row: 95, col: 19}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 3418, row: 95, col: 23}, {ofs: 3419, row: 95, col: 24}]); tmp277 = 1;  _aether.logStatement([{ofs: 3418, row: 95, col: 23}, {ofs: 3419, row: 95, col: 24}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 3399, row: 95, col: 4}, {ofs: 3419, row: 95, col: 24}]); tmp275 = tmp276 == tmp277;  _aether.logStatement([{ofs: 3399, row: 95, col: 4}, {ofs: 3419, row: 95, col: 24}], _aether._userInfo, false);\n        if (tmp275) {\n            tmp282 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp283 = 'now';\n            _aether.logStatementStart([{ofs: 3423, row: 95, col: 28}, {ofs: 3433, row: 95, col: 38}]); tmp280 = _aether.createAPIClone(_aether, tmp282[tmp283]());  _aether.logStatement([{ofs: 3423, row: 95, col: 28}, {ofs: 3433, row: 95, col: 38}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3436, row: 95, col: 41}, {ofs: 3437, row: 95, col: 42}]); tmp281 = 9;  _aether.logStatement([{ofs: 3436, row: 95, col: 41}, {ofs: 3437, row: 95, col: 42}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3423, row: 95, col: 28}, {ofs: 3437, row: 95, col: 42}]); tmp274 = tmp280 < tmp281;  _aether.logStatement([{ofs: 3423, row: 95, col: 28}, {ofs: 3437, row: 95, col: 42}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3399, row: 95, col: 4}, {ofs: 3437, row: 95, col: 42}]); tmp274 = tmp275;  _aether.logStatement([{ofs: 3399, row: 95, col: 4}, {ofs: 3437, row: 95, col: 42}], _aether._userInfo, false);\n        }\n        if (tmp274) {\n            tmp288 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp289 = 'getItems';\n            _aether.logStatementStart([{ofs: 3441, row: 95, col: 46}, {ofs: 3456, row: 95, col: 61}]); tmp286 = _aether.createAPIClone(_aether, tmp288[tmp289]());  _aether.logStatement([{ofs: 3441, row: 95, col: 46}, {ofs: 3456, row: 95, col: 61}], _aether._userInfo, false);\n            tmp287 = 'length';\n            _aether.logStatementStart([{ofs: 3441, row: 95, col: 46}, {ofs: 3463, row: 95, col: 68}]); tmp284 = tmp286[tmp287];  _aether.logStatement([{ofs: 3441, row: 95, col: 46}, {ofs: 3463, row: 95, col: 68}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3466, row: 95, col: 71}, {ofs: 3467, row: 95, col: 72}]); tmp285 = 0;  _aether.logStatement([{ofs: 3466, row: 95, col: 71}, {ofs: 3467, row: 95, col: 72}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3441, row: 95, col: 46}, {ofs: 3467, row: 95, col: 72}]); tmp273 = tmp284 > tmp285;  _aether.logStatement([{ofs: 3441, row: 95, col: 46}, {ofs: 3467, row: 95, col: 72}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3399, row: 95, col: 4}, {ofs: 3467, row: 95, col: 72}]); tmp273 = tmp274;  _aether.logStatement([{ofs: 3399, row: 95, col: 4}, {ofs: 3467, row: 95, col: 72}], _aether._userInfo, false);\n        }\n        if (tmp273) {\n            tmp290 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp291 = 'move';\n            _aether.logStatementStart([{ofs: 3489, row: 96, col: 18}, {ofs: 3491, row: 96, col: 20}]); tmp293 = 13;  _aether.logStatement([{ofs: 3489, row: 96, col: 18}, {ofs: 3491, row: 96, col: 20}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3496, row: 96, col: 25}, {ofs: 3498, row: 96, col: 27}]); tmp294 = 15;  _aether.logStatement([{ofs: 3496, row: 96, col: 25}, {ofs: 3498, row: 96, col: 27}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3485, row: 96, col: 14}, {ofs: 3499, row: 96, col: 28}]); tmp292 = {\n                x: tmp293,\n                y: tmp294\n            };  _aether.logStatement([{ofs: 3485, row: 96, col: 14}, {ofs: 3499, row: 96, col: 28}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3475, row: 96, col: 4}, {ofs: 3500, row: 96, col: 29}]); tmp295 = _aether.createAPIClone(_aether, tmp290[tmp291](_aether.restoreAPIClone(_aether, tmp292)));  _aether.logStatement([{ofs: 3475, row: 96, col: 4}, {ofs: 3500, row: 96, col: 29}], _aether._userInfo, false);\n            tmp296 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp297 = 'getGold';\n            _aether.logStatementStart([{ofs: 3519, row: 97, col: 17}, {ofs: 3525, row: 97, col: 23}]); tmp298 = 'left';  _aether.logStatement([{ofs: 3519, row: 97, col: 17}, {ofs: 3525, row: 97, col: 23}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3527, row: 97, col: 25}, {ofs: 3553, row: 97, col: 51}]); tmp299 = 'I\\'m feeling just golden!';  _aether.logStatement([{ofs: 3527, row: 97, col: 25}, {ofs: 3553, row: 97, col: 51}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3506, row: 97, col: 4}, {ofs: 3554, row: 97, col: 52}]); tmp300 = _aether.createAPIClone(_aether, tmp296[tmp297](_aether.restoreAPIClone(_aether, tmp298), _aether.restoreAPIClone(_aether, tmp299)));  _aether.logStatement([{ofs: 3506, row: 97, col: 4}, {ofs: 3554, row: 97, col: 52}], _aether._userInfo, false);\n        } else {\n            tmp306 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp307 = 'buildIndex';\n            _aether.logStatementStart([{ofs: 3567, row: 98, col: 11}, {ofs: 3582, row: 98, col: 26}]); tmp304 = tmp306[tmp307];  _aether.logStatement([{ofs: 3567, row: 98, col: 11}, {ofs: 3582, row: 98, col: 26}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3586, row: 98, col: 30}, {ofs: 3587, row: 98, col: 31}]); tmp305 = 0;  _aether.logStatement([{ofs: 3586, row: 98, col: 30}, {ofs: 3587, row: 98, col: 31}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3567, row: 98, col: 11}, {ofs: 3587, row: 98, col: 31}]); tmp303 = tmp304 == tmp305;  _aether.logStatement([{ofs: 3567, row: 98, col: 11}, {ofs: 3587, row: 98, col: 31}], _aether._userInfo, false);\n            if (tmp303) {\n                tmp310 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp311 = 'now';\n                _aether.logStatementStart([{ofs: 3591, row: 98, col: 35}, {ofs: 3601, row: 98, col: 45}]); tmp308 = _aether.createAPIClone(_aether, tmp310[tmp311]());  _aether.logStatement([{ofs: 3591, row: 98, col: 35}, {ofs: 3601, row: 98, col: 45}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 3604, row: 98, col: 48}, {ofs: 3605, row: 98, col: 49}]); tmp309 = 9;  _aether.logStatement([{ofs: 3604, row: 98, col: 48}, {ofs: 3605, row: 98, col: 49}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 3591, row: 98, col: 35}, {ofs: 3605, row: 98, col: 49}]); tmp302 = tmp308 < tmp309;  _aether.logStatement([{ofs: 3591, row: 98, col: 35}, {ofs: 3605, row: 98, col: 49}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 3567, row: 98, col: 11}, {ofs: 3605, row: 98, col: 49}]); tmp302 = tmp303;  _aether.logStatement([{ofs: 3567, row: 98, col: 11}, {ofs: 3605, row: 98, col: 49}], _aether._userInfo, false);\n            }\n            if (tmp302) {\n                tmp316 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp317 = 'getItems';\n                _aether.logStatementStart([{ofs: 3609, row: 98, col: 53}, {ofs: 3624, row: 98, col: 68}]); tmp314 = _aether.createAPIClone(_aether, tmp316[tmp317]());  _aether.logStatement([{ofs: 3609, row: 98, col: 53}, {ofs: 3624, row: 98, col: 68}], _aether._userInfo, false);\n                tmp315 = 'length';\n                _aether.logStatementStart([{ofs: 3609, row: 98, col: 53}, {ofs: 3631, row: 98, col: 75}]); tmp312 = tmp314[tmp315];  _aether.logStatement([{ofs: 3609, row: 98, col: 53}, {ofs: 3631, row: 98, col: 75}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 3634, row: 98, col: 78}, {ofs: 3635, row: 98, col: 79}]); tmp313 = 0;  _aether.logStatement([{ofs: 3634, row: 98, col: 78}, {ofs: 3635, row: 98, col: 79}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 3609, row: 98, col: 53}, {ofs: 3635, row: 98, col: 79}]); tmp301 = tmp312 > tmp313;  _aether.logStatement([{ofs: 3609, row: 98, col: 53}, {ofs: 3635, row: 98, col: 79}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 3567, row: 98, col: 11}, {ofs: 3635, row: 98, col: 79}]); tmp301 = tmp302;  _aether.logStatement([{ofs: 3567, row: 98, col: 11}, {ofs: 3635, row: 98, col: 79}], _aether._userInfo, false);\n            }\n            if (tmp301) {\n                tmp318 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp319 = 'move';\n                _aether.logStatementStart([{ofs: 3657, row: 99, col: 18}, {ofs: 3659, row: 99, col: 20}]); tmp321 = 74;  _aether.logStatement([{ofs: 3657, row: 99, col: 18}, {ofs: 3659, row: 99, col: 20}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 3664, row: 99, col: 25}, {ofs: 3666, row: 99, col: 27}]); tmp322 = 30;  _aether.logStatement([{ofs: 3664, row: 99, col: 25}, {ofs: 3666, row: 99, col: 27}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 3653, row: 99, col: 14}, {ofs: 3667, row: 99, col: 28}]); tmp320 = {\n                    x: tmp321,\n                    y: tmp322\n                };  _aether.logStatement([{ofs: 3653, row: 99, col: 14}, {ofs: 3667, row: 99, col: 28}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 3643, row: 99, col: 4}, {ofs: 3668, row: 99, col: 29}]); tmp323 = _aether.createAPIClone(_aether, tmp318[tmp319](_aether.restoreAPIClone(_aether, tmp320)));  _aether.logStatement([{ofs: 3643, row: 99, col: 4}, {ofs: 3668, row: 99, col: 29}], _aether._userInfo, false);\n                tmp324 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp325 = 'getGold';\n                _aether.logStatementStart([{ofs: 3687, row: 100, col: 17}, {ofs: 3694, row: 100, col: 24}]); tmp326 = 'right';  _aether.logStatement([{ofs: 3687, row: 100, col: 17}, {ofs: 3694, row: 100, col: 24}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 3696, row: 100, col: 26}, {ofs: 3726, row: 100, col: 56}]); tmp327 = 'I\\'m feeling just golden too!';  _aether.logStatement([{ofs: 3696, row: 100, col: 26}, {ofs: 3726, row: 100, col: 56}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 3674, row: 100, col: 4}, {ofs: 3727, row: 100, col: 57}]); tmp328 = _aether.createAPIClone(_aether, tmp324[tmp325](_aether.restoreAPIClone(_aether, tmp326), _aether.restoreAPIClone(_aether, tmp327)));  _aether.logStatement([{ofs: 3674, row: 100, col: 4}, {ofs: 3727, row: 100, col: 57}], _aether._userInfo, false);\n            } else {\n                tmp329 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp330 = 'attackLow';\n                _aether.logStatementStart([{ofs: 3761, row: 102, col: 23}, {ofs: 3763, row: 102, col: 25}]); tmp333 = 70;  _aether.logStatement([{ofs: 3761, row: 102, col: 23}, {ofs: 3763, row: 102, col: 25}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 3768, row: 102, col: 30}, {ofs: 3770, row: 102, col: 32}]); tmp334 = 70;  _aether.logStatement([{ofs: 3768, row: 102, col: 30}, {ofs: 3770, row: 102, col: 32}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 3757, row: 102, col: 19}, {ofs: 3771, row: 102, col: 33}]); tmp331 = {\n                    x: tmp333,\n                    y: tmp334\n                };  _aether.logStatement([{ofs: 3757, row: 102, col: 19}, {ofs: 3771, row: 102, col: 33}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 3773, row: 102, col: 35}, {ofs: 3777, row: 102, col: 39}]); tmp332 = ':)';  _aether.logStatement([{ofs: 3773, row: 102, col: 35}, {ofs: 3777, row: 102, col: 39}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 3742, row: 102, col: 4}, {ofs: 3778, row: 102, col: 40}]); tmp335 = _aether.createAPIClone(_aether, tmp329[tmp330](_aether.restoreAPIClone(_aether, tmp331), _aether.restoreAPIClone(_aether, tmp332)));  _aether.logStatement([{ofs: 3742, row: 102, col: 4}, {ofs: 3778, row: 102, col: 40}], _aether._userInfo, false);\n            }\n        }\n        _aether.logCallEnd(); return;\n    };\n    tmp0 = 'chooseAction';\n    __global[tmp0] = tmp1;\n}(this));",
+          "hear": "var __interceptThis=(function(){var G=this;return function($this,sandbox){if($this==G){return sandbox;}return $this;};})();\nreturn (function (__global) {\n    var tmp0, tmp1;\n    tmp1 = function (speaker, message, data) {\n        'use strict'; _aether.logCallStart(_aether._userInfo); var tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8; speaker = _aether.createAPIClone(_aether, speaker); message = _aether.createAPIClone(_aether, message); data = _aether.createAPIClone(_aether, data); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n        tmp5 = speaker;\n        tmp6 = 'team';\n        _aether.logStatementStart([{ofs: 80, row: 1, col: 3}, {ofs: 92, row: 1, col: 15}]); tmp3 = tmp5[tmp6];  _aether.logStatement([{ofs: 80, row: 1, col: 3}, {ofs: 92, row: 1, col: 15}], _aether._userInfo, false);\n        tmp7 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp8 = 'team';\n        _aether.logStatementStart([{ofs: 97, row: 1, col: 20}, {ofs: 106, row: 1, col: 29}]); tmp4 = tmp7[tmp8];  _aether.logStatement([{ofs: 97, row: 1, col: 20}, {ofs: 106, row: 1, col: 29}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 80, row: 1, col: 3}, {ofs: 106, row: 1, col: 29}]); tmp2 = tmp3 !== tmp4;  _aether.logStatement([{ofs: 80, row: 1, col: 3}, {ofs: 106, row: 1, col: 29}], _aether._userInfo, false);\n        if (tmp2) {\n            _aether.logCallEnd(); return;\n        } else {\n            ;\n        }\n        _aether.logCallEnd(); return;\n    };\n    tmp0 = 'hear';\n    __global[tmp0] = tmp1;\n}(this));"
+        },
+        "human-base": {
+          "chooseAction": "var __interceptThis=(function(){var G=this;return function($this,sandbox){if($this==G){return sandbox;}return $this;};})();\nreturn (function (__global) {\n    var tmp0, tmp1;\n    tmp1 = function () {\n        'use strict'; _aether.logCallStart(_aether._userInfo); var type, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44, tmp45, tmp46, tmp47, tmp48;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n        tmp5 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp6 = 'cannonNum';\n        _aether.logStatementStart([{ofs: 266, row: 7, col: 5}, {ofs: 280, row: 7, col: 19}]); tmp4 = tmp5[tmp6];  _aether.logStatement([{ofs: 266, row: 7, col: 5}, {ofs: 280, row: 7, col: 19}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 265, row: 7, col: 4}, {ofs: 280, row: 7, col: 19}]); tmp3 = !tmp4;  _aether.logStatement([{ofs: 265, row: 7, col: 4}, {ofs: 280, row: 7, col: 19}], _aether._userInfo, false);\n        if (tmp3) {\n            tmp8 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp9 = 'goldRushNum';\n            _aether.logStatementStart([{ofs: 285, row: 7, col: 24}, {ofs: 301, row: 7, col: 40}]); tmp7 = tmp8[tmp9];  _aether.logStatement([{ofs: 285, row: 7, col: 24}, {ofs: 301, row: 7, col: 40}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 284, row: 7, col: 23}, {ofs: 301, row: 7, col: 40}]); tmp2 = !tmp7;  _aether.logStatement([{ofs: 284, row: 7, col: 23}, {ofs: 301, row: 7, col: 40}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 265, row: 7, col: 4}, {ofs: 301, row: 7, col: 40}]); tmp2 = tmp3;  _aether.logStatement([{ofs: 265, row: 7, col: 4}, {ofs: 301, row: 7, col: 40}], _aether._userInfo, false);\n        }\n        if (tmp2) {\n            tmp10 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp11 = 'cannonNum';\n            _aether.logStatementStart([{ofs: 309, row: 8, col: 4}, {ofs: 328, row: 8, col: 23}]); tmp12 = 0;  _aether.logStatement([{ofs: 309, row: 8, col: 4}, {ofs: 328, row: 8, col: 23}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 309, row: 8, col: 4}, {ofs: 327, row: 8, col: 22}]); tmp10[tmp11] = tmp12;  _aether.logStatement([{ofs: 309, row: 8, col: 4}, {ofs: 327, row: 8, col: 22}], _aether._userInfo, false);\n            tmp13 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp14 = 'goldRushNum';\n            _aether.logStatementStart([{ofs: 333, row: 9, col: 4}, {ofs: 354, row: 9, col: 25}]); tmp15 = 0;  _aether.logStatement([{ofs: 333, row: 9, col: 4}, {ofs: 354, row: 9, col: 25}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 333, row: 9, col: 4}, {ofs: 353, row: 9, col: 24}]); tmp13[tmp14] = tmp15;  _aether.logStatement([{ofs: 333, row: 9, col: 4}, {ofs: 353, row: 9, col: 24}], _aether._userInfo, false);\n        } else {\n            ;\n        }\n        _aether.logStatementStart([{ofs: 426, row: 14, col: 0}, {ofs: 446, row: 14, col: 20}]); type = 'archer';  _aether.logStatement([{ofs: 426, row: 14, col: 0}, {ofs: 446, row: 14, col: 20}], _aether._userInfo, false);\n        tmp19 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp20 = 'goldRushNum';\n        _aether.logStatementStart([{ofs: 659, row: 24, col: 3}, {ofs: 675, row: 24, col: 19}]); tmp17 = tmp19[tmp20];  _aether.logStatement([{ofs: 659, row: 24, col: 3}, {ofs: 675, row: 24, col: 19}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 678, row: 24, col: 22}, {ofs: 679, row: 24, col: 23}]); tmp18 = 3;  _aether.logStatement([{ofs: 678, row: 24, col: 22}, {ofs: 679, row: 24, col: 23}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 659, row: 24, col: 3}, {ofs: 679, row: 24, col: 23}]); tmp16 = tmp17 < tmp18;  _aether.logStatement([{ofs: 659, row: 24, col: 3}, {ofs: 679, row: 24, col: 23}], _aether._userInfo, false);\n        if (tmp16) {\n            _aether.logStatementStart([{ofs: 687, row: 25, col: 4}, {ofs: 703, row: 25, col: 20}]); type = 'archer';  _aether.logStatement([{ofs: 687, row: 25, col: 4}, {ofs: 703, row: 25, col: 20}], _aether._userInfo, false);\n            tmp21 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp22 = 'goldRushNum';\n            tmp26 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp27 = 'goldRushNum';\n            _aether.logStatementStart([{ofs: 727, row: 26, col: 23}, {ofs: 743, row: 26, col: 39}]); tmp24 = tmp26[tmp27];  _aether.logStatement([{ofs: 727, row: 26, col: 23}, {ofs: 743, row: 26, col: 39}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 746, row: 26, col: 42}, {ofs: 747, row: 26, col: 43}]); tmp25 = 1;  _aether.logStatement([{ofs: 746, row: 26, col: 42}, {ofs: 747, row: 26, col: 43}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 708, row: 26, col: 4}, {ofs: 748, row: 26, col: 44}]); tmp23 = tmp24 + tmp25;  _aether.logStatement([{ofs: 708, row: 26, col: 4}, {ofs: 748, row: 26, col: 44}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 708, row: 26, col: 4}, {ofs: 747, row: 26, col: 43}]); tmp21[tmp22] = tmp23;  _aether.logStatement([{ofs: 708, row: 26, col: 4}, {ofs: 747, row: 26, col: 43}], _aether._userInfo, false);\n        } else {\n            ;\n        }\n        tmp32 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp33 = 'cannonNum';\n        _aether.logStatementStart([{ofs: 814, row: 31, col: 3}, {ofs: 828, row: 31, col: 17}]); tmp30 = tmp32[tmp33];  _aether.logStatement([{ofs: 814, row: 31, col: 3}, {ofs: 828, row: 31, col: 17}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 831, row: 31, col: 20}, {ofs: 832, row: 31, col: 21}]); tmp31 = 1;  _aether.logStatement([{ofs: 831, row: 31, col: 20}, {ofs: 832, row: 31, col: 21}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 814, row: 31, col: 3}, {ofs: 832, row: 31, col: 21}]); tmp29 = tmp30 < tmp31;  _aether.logStatement([{ofs: 814, row: 31, col: 3}, {ofs: 832, row: 31, col: 21}], _aether._userInfo, false);\n        if (tmp29) {\n            tmp36 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp37 = 'goldRushNum';\n            _aether.logStatementStart([{ofs: 836, row: 31, col: 25}, {ofs: 852, row: 31, col: 41}]); tmp34 = tmp36[tmp37];  _aether.logStatement([{ofs: 836, row: 31, col: 25}, {ofs: 852, row: 31, col: 41}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 857, row: 31, col: 46}, {ofs: 858, row: 31, col: 47}]); tmp35 = 3;  _aether.logStatement([{ofs: 857, row: 31, col: 46}, {ofs: 858, row: 31, col: 47}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 836, row: 31, col: 25}, {ofs: 858, row: 31, col: 47}]); tmp28 = tmp34 === tmp35;  _aether.logStatement([{ofs: 836, row: 31, col: 25}, {ofs: 858, row: 31, col: 47}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 814, row: 31, col: 3}, {ofs: 858, row: 31, col: 47}]); tmp28 = tmp29;  _aether.logStatement([{ofs: 814, row: 31, col: 3}, {ofs: 858, row: 31, col: 47}], _aether._userInfo, false);\n        }\n        if (tmp28) {\n            _aether.logStatementStart([{ofs: 871, row: 32, col: 8}, {ofs: 890, row: 32, col: 27}]); type = 'artillery';  _aether.logStatement([{ofs: 871, row: 32, col: 8}, {ofs: 890, row: 32, col: 27}], _aether._userInfo, false);\n            tmp38 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp39 = 'cannonNum';\n            tmp43 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp44 = 'cannonNum';\n            _aether.logStatementStart([{ofs: 916, row: 33, col: 25}, {ofs: 930, row: 33, col: 39}]); tmp41 = tmp43[tmp44];  _aether.logStatement([{ofs: 916, row: 33, col: 25}, {ofs: 930, row: 33, col: 39}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 933, row: 33, col: 42}, {ofs: 934, row: 33, col: 43}]); tmp42 = 1;  _aether.logStatement([{ofs: 933, row: 33, col: 42}, {ofs: 934, row: 33, col: 43}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 899, row: 33, col: 8}, {ofs: 935, row: 33, col: 44}]); tmp40 = tmp41 + tmp42;  _aether.logStatement([{ofs: 899, row: 33, col: 8}, {ofs: 935, row: 33, col: 44}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 899, row: 33, col: 8}, {ofs: 934, row: 33, col: 43}]); tmp38[tmp39] = tmp40;  _aether.logStatement([{ofs: 899, row: 33, col: 8}, {ofs: 934, row: 33, col: 43}], _aether._userInfo, false);\n        } else {\n            ;\n        }\n        tmp45 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp46 = 'build';\n        tmp47 = type;\n        _aether.logStatementStart([{ofs: 1047, row: 38, col: 0}, {ofs: 1063, row: 38, col: 16}]); tmp48 = _aether.createAPIClone(_aether, tmp45[tmp46](_aether.restoreAPIClone(_aether, tmp47)));  _aether.logStatement([{ofs: 1047, row: 38, col: 0}, {ofs: 1063, row: 38, col: 16}], _aether._userInfo, false);\n        _aether.logCallEnd(); return;\n    };\n    tmp0 = 'chooseAction';\n    __global[tmp0] = tmp1;\n}(this));",
+          "hear": "var __interceptThis=(function(){var G=this;return function($this,sandbox){if($this==G){return sandbox;}return $this;};})();\nreturn (function (__global) {\n    var tmp0, tmp1;\n    tmp1 = function (speaker, message, data) {\n        'use strict'; _aether.logCallStart(_aether._userInfo); var tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8; speaker = _aether.createAPIClone(_aether, speaker); message = _aether.createAPIClone(_aether, message); data = _aether.createAPIClone(_aether, data); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n        tmp5 = speaker;\n        tmp6 = 'team';\n        _aether.logStatementStart([{ofs: 78, row: 1, col: 3}, {ofs: 90, row: 1, col: 15}]); tmp3 = tmp5[tmp6];  _aether.logStatement([{ofs: 78, row: 1, col: 3}, {ofs: 90, row: 1, col: 15}], _aether._userInfo, false);\n        tmp7 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp8 = 'team';\n        _aether.logStatementStart([{ofs: 95, row: 1, col: 20}, {ofs: 104, row: 1, col: 29}]); tmp4 = tmp7[tmp8];  _aether.logStatement([{ofs: 95, row: 1, col: 20}, {ofs: 104, row: 1, col: 29}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 78, row: 1, col: 3}, {ofs: 104, row: 1, col: 29}]); tmp2 = tmp3 !== tmp4;  _aether.logStatement([{ofs: 78, row: 1, col: 3}, {ofs: 104, row: 1, col: 29}], _aether._userInfo, false);\n        if (tmp2) {\n            _aether.logCallEnd(); return;\n        } else {\n            ;\n        }\n        _aether.logCallEnd(); return;\n    };\n    tmp0 = 'hear';\n    __global[tmp0] = tmp1;\n}(this));"
         }
       },
       "submittedCodeLanguage": "javascript",
-      "playtime": 107,
+      "playtime": 178,
       "codeLanguage": "javascript"
     },
     {
       "_id": "5317ad4909098828ed071f4d",
+      "level": {
+        "original": "53173f76c269d400000543c2",
+        "majorVersion": 0
+      },
       "team": "humans",
       "levelID": "dungeon-arena",
       "levelName": "Dungeon Arena",
@@ -511,18 +644,34 @@ responses =
           "chooseAction": "var enemies = this.getEnemies();\nvar enemy = this.getNearest(enemies);\nif (!this.getCooldown('warcry')) {\n    this.warcry();\n}\nelse if (enemy) {\n    this.attack(enemy);\n}\nelse {\n    this.move({x: 10, y: 30});\n}\n"
         },
         "tharin-1": {
-          "chooseAction": "..."
+          "chooseAction": "var __interceptThis=(function(){var G=this;return function($this,sandbox){if($this==G){return sandbox;}return $this;};})();\nreturn (function (__global) {\n    var tmp0, tmp1;\n    tmp1 = function () {\n        _aether.logCallStart(this._aetherUserInfo); var enemies, enemy, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp20, tmp21, tmp22, tmp23, tmp24, tmp25, tmp26;\n        tmp2 = 'use strict';\n        tmp3 = __interceptThis(this, __global);\n        tmp4 = 'getEnemies';\n        _aether.logStatementStart([{ofs: 0, row: 0, col: 0}, {ofs: 32, row: 0, col: 32}]); enemies = tmp3[tmp4](); _aether.vars['enemies'] = typeof enemies == 'undefined' ? undefined : enemies; _aether.vars['enemy'] = typeof enemy == 'undefined' ? undefined : enemy; _aether.vars['chooseAction'] = typeof chooseAction == 'undefined' ? undefined : chooseAction; _aether.logStatement([{ofs: 0, row: 0, col: 0}, {ofs: 32, row: 0, col: 32}], \"var enemies = this.getEnemies();\", this._aetherUserInfo);\n        tmp5 = __interceptThis(this, __global);\n        tmp6 = 'getNearest';\n        tmp7 = enemies;\n        _aether.logStatementStart([{ofs: 33, row: 1, col: 0}, {ofs: 70, row: 1, col: 37}]); enemy = tmp5[tmp6](tmp7); _aether.vars['enemies'] = typeof enemies == 'undefined' ? undefined : enemies; _aether.vars['enemy'] = typeof enemy == 'undefined' ? undefined : enemy; _aether.vars['chooseAction'] = typeof chooseAction == 'undefined' ? undefined : chooseAction; _aether.logStatement([{ofs: 33, row: 1, col: 0}, {ofs: 70, row: 1, col: 37}], \"var enemy = this.getNearest(enemies);\", this._aetherUserInfo);\n        tmp10 = __interceptThis(this, __global);\n        tmp11 = 'getCooldown';\n        _aether.logStatementStart([{ofs: 93, row: 2, col: 22}, {ofs: 101, row: 2, col: 30}]); tmp12 = 'warcry'; _aether.vars['enemies'] = typeof enemies == 'undefined' ? undefined : enemies; _aether.vars['enemy'] = typeof enemy == 'undefined' ? undefined : enemy; _aether.vars['chooseAction'] = typeof chooseAction == 'undefined' ? undefined : chooseAction; _aether.logStatement([{ofs: 93, row: 2, col: 22}, {ofs: 101, row: 2, col: 30}], \"'warcry'\", this._aetherUserInfo);\n        _aether.logStatementStart([{ofs: 76, row: 2, col: 5}, {ofs: 102, row: 2, col: 31}]); tmp9 = tmp10[tmp11](tmp12); _aether.vars['enemies'] = typeof enemies == 'undefined' ? undefined : enemies; _aether.vars['enemy'] = typeof enemy == 'undefined' ? undefined : enemy; _aether.vars['chooseAction'] = typeof chooseAction == 'undefined' ? undefined : chooseAction; _aether.logStatement([{ofs: 76, row: 2, col: 5}, {ofs: 102, row: 2, col: 31}], \"this.getCooldown('warcry')\", this._aetherUserInfo);\n        _aether.logStatementStart([{ofs: 75, row: 2, col: 4}, {ofs: 102, row: 2, col: 31}]); tmp8 = !tmp9; _aether.vars['enemies'] = typeof enemies == 'undefined' ? undefined : enemies; _aether.vars['enemy'] = typeof enemy == 'undefined' ? undefined : enemy; _aether.vars['chooseAction'] = typeof chooseAction == 'undefined' ? undefined : chooseAction; _aether.logStatement([{ofs: 75, row: 2, col: 4}, {ofs: 102, row: 2, col: 31}], \"!this.getCooldown('warcry')\", this._aetherUserInfo);\n        if (tmp8) {\n            tmp13 = __interceptThis(this, __global);\n            tmp14 = 'warcry';\n            _aether.logStatementStart([{ofs: 110, row: 3, col: 4}, {ofs: 123, row: 3, col: 17}]); tmp15 = tmp13[tmp14](); _aether.vars['enemies'] = typeof enemies == 'undefined' ? undefined : enemies; _aether.vars['enemy'] = typeof enemy == 'undefined' ? undefined : enemy; _aether.vars['chooseAction'] = typeof chooseAction == 'undefined' ? undefined : chooseAction; _aether.logStatement([{ofs: 110, row: 3, col: 4}, {ofs: 123, row: 3, col: 17}], \"this.warcry()\", this._aetherUserInfo);\n        } else {\n            tmp16 = enemy;\n            if (tmp16) {\n                tmp17 = __interceptThis(this, __global);\n                tmp18 = 'attack';\n                tmp19 = enemy;\n                _aether.logStatementStart([{ofs: 149, row: 6, col: 4}, {ofs: 167, row: 6, col: 22}]); tmp20 = tmp17[tmp18](tmp19); _aether.vars['enemies'] = typeof enemies == 'undefined' ? undefined : enemies; _aether.vars['enemy'] = typeof enemy == 'undefined' ? undefined : enemy; _aether.vars['chooseAction'] = typeof chooseAction == 'undefined' ? undefined : chooseAction; _aether.logStatement([{ofs: 149, row: 6, col: 4}, {ofs: 167, row: 6, col: 22}], \"this.attack(enemy)\", this._aetherUserInfo);\n            } else {\n                tmp21 = __interceptThis(this, __global);\n                tmp22 = 'move';\n                _aether.logStatementStart([{ofs: 196, row: 9, col: 18}, {ofs: 198, row: 9, col: 20}]); tmp24 = 10; _aether.vars['enemies'] = typeof enemies == 'undefined' ? undefined : enemies; _aether.vars['enemy'] = typeof enemy == 'undefined' ? undefined : enemy; _aether.vars['chooseAction'] = typeof chooseAction == 'undefined' ? undefined : chooseAction; _aether.logStatement([{ofs: 196, row: 9, col: 18}, {ofs: 198, row: 9, col: 20}], \"10\", this._aetherUserInfo);\n                _aether.logStatementStart([{ofs: 203, row: 9, col: 25}, {ofs: 205, row: 9, col: 27}]); tmp25 = 30; _aether.vars['enemies'] = typeof enemies == 'undefined' ? undefined : enemies; _aether.vars['enemy'] = typeof enemy == 'undefined' ? undefined : enemy; _aether.vars['chooseAction'] = typeof chooseAction == 'undefined' ? undefined : chooseAction; _aether.logStatement([{ofs: 203, row: 9, col: 25}, {ofs: 205, row: 9, col: 27}], \"30\", this._aetherUserInfo);\n                _aether.logStatementStart([{ofs: 192, row: 9, col: 14}, {ofs: 206, row: 9, col: 28}]); tmp23 = {\n                    x: tmp24,\n                    y: tmp25\n                }; _aether.vars['enemies'] = typeof enemies == 'undefined' ? undefined : enemies; _aether.vars['enemy'] = typeof enemy == 'undefined' ? undefined : enemy; _aether.vars['chooseAction'] = typeof chooseAction == 'undefined' ? undefined : chooseAction; _aether.logStatement([{ofs: 192, row: 9, col: 14}, {ofs: 206, row: 9, col: 28}], \"{x: 10, y: 30}\", this._aetherUserInfo);\n                _aether.logStatementStart([{ofs: 182, row: 9, col: 4}, {ofs: 207, row: 9, col: 29}]); tmp26 = tmp21[tmp22](tmp23); _aether.vars['enemies'] = typeof enemies == 'undefined' ? undefined : enemies; _aether.vars['enemy'] = typeof enemy == 'undefined' ? undefined : enemy; _aether.vars['chooseAction'] = typeof chooseAction == 'undefined' ? undefined : chooseAction; _aether.logStatement([{ofs: 182, row: 9, col: 4}, {ofs: 207, row: 9, col: 29}], \"this.move({x: 10, y: 30})\", this._aetherUserInfo);\n            }\n        }\n        _aether.logCallEnd(); return;\n    };\n    tmp0 = 'chooseAction';\n    __global[tmp0] = tmp1;\n}(this));"
         },
         "programmable-tharin": {
           "chooseAction": "/*this.getFriends();\nthis.attack(this.getEnemies()[0]);\nreturn;\n*/\n \n\n/* TODO:\n   If they fully base race us, we actually do want to produce archers since they DPS faster\n   The effective DPS on soldiers is better if they attack us\n   but worse if they straight race us\n\n   //not sure if this is good but...\n   if they're attacking our base with a small number of units\n   we should make archers and get them to defend\n*/\n/*\nreturn;\n// Tharin is a melee fighter with shield, warcry, and terrify skills.\n// this.shield() lets him take one-third damage while defending.\n// this.warcry() gives allies within 10m 30% haste for 5s, every 10s.\n// this.terrify() sends foes within 30m fleeing for 5s, once per match.\nvar friends = this.getFriends();\nvar enemies = this.getEnemies();\nif (enemies.length === 0) return;  // Chill if all enemies are dead.\nvar enemy = this.getNearest(enemies);\nvar furthestFriendX = 30;\nfor (var i = 0; i < friends.length; ++i) {\n    var friend = friends[i];\n    furthestFriendX = Math.max(friend.pos.x, furthestFriendX);\n}  \nif (!this.getCooldown('warcry') && friends.length > 5) {\n    this.warcry();\n}  \nelse if ((this.now() > 15 || this.health < 150) && !this.getCooldown('terrify')) {\n    this.terrify();\n}\nelse if (this.health < 75 && this.pos.x > furthestFriendX - 5) {\n    this.move({x: 10, y: 27});\n}\nelse if (this.pos.x > furthestFriendX - 1 && this.now() < 50) {\n    this.shield();\n}\nelse {\n    this.attack(enemy);\n}\nthis.say(\"Defend!\", {targetPos: {x: 30, y: Infinity}});\n\n// You can also command your troops with this.say():\n//this.say(\"Defend!\", {targetPos: {x: 30, y: 30}}));\n//this.say(\"Attack!\", {target: enemy});\n//this.say(\"Move!\", {targetPos: {x: 40, y: 40});\n\n// You can store state on this across frames:\n//this.lastHealth = this.health;\n*/"
         }
       },
+      "teamSpells": {
+        "ogres": [
+          "programmable-brawler/chooseAction",
+          "programmable-shaman/chooseAction",
+          "ogre-base/chooseAction"
+        ],
+        "humans": [
+          "programmable-librarian/chooseAction",
+          "programmable-tharin/chooseAction",
+          "human-base/chooseAction"
+        ]
+      },
       "submittedCodeLanguage": "javascript",
-      "playtime": 9634,
+      "playtime": 9753,
       "codeLanguage": "javascript"
     },
     {
       "_id": "53361c80948ad7a777a10d9c",
+      "level": {
+        "original": "533353722a61b7ca6832840c",
+        "majorVersion": 0
+      },
       "team": "ogres",
       "levelID": "gold-rush",
       "levelName": "Gold Rush",
@@ -534,7 +683,18 @@ responses =
           "chooseAction": "var items = this.getItems();\nvar enemy = this.getNearestEnemy();\n\nvar c = new Vector(60, 40);\n//this.say(Math.round(c.x) + \", \" + Math.round(c.y));\nvar bestItem = null;\nvar bestValue = 0;\nvar canJump = !this.getCooldown('jump');\nvar i, item, d1, d2, d3, value;\nfor (i = 0; i < items.length; ++i) {\n    item = items[i];\n    d1 = this.distance(item) * (canJump ? 0.5 : 1);\n    d2 = c.distance(item.pos);\n    value = item.bountyGold / (d1 + d2 / 5);\n    if (value > bestValue) {\n        bestItem = item;\n        bestValue = value;\n    }\n} \n\nMath.random(); Math.random(); Math.random();\nvar secondBestItem = null;\nvar secondBestValue = 0;\nfor (i = 0; i < items.length; ++i) {\n    if (item == bestItem) continue;\n    item = items[i];\n    d1 = this.distance(item);\n    d2 = c.distance(item.pos);\n    d3 = item.pos.distance(bestItem);\n    value = item.bountyGold / (d1 + d2 / 5 + d3);\n    if (value > secondBestValue) {\n        secondBestItem = item;\n        secondBestValue = value;\n    }\n}\n\nif (!canJump && secondBestItem && this.distance(secondBestItem) < this.distance(bestItem))\n    bestItem = secondBestItem;  // Pick it up on the way.\nif (bestItem) {\n    if(canJump && this.distance(bestItem) > 30)\n        this.jumpTo(bestItem);\n    else\n        this.move(bestItem.pos);\n}"
         }
       },
-      "totalScore": 40.77678387026546,
+      "teamSpells": {
+        "common": [
+          "coin-generator-9000/chooseAction"
+        ],
+        "humans": [
+          "tharin/chooseAction"
+        ],
+        "ogres": [
+          "mak-fod/chooseAction"
+        ]
+      },
+      "totalScore": 40.73558595296533,
       "submitted": true,
       "submittedCodeLanguage": "javascript",
       "playtime": 1014,
@@ -542,6 +702,10 @@ responses =
     },
     {
       "_id": "531920069f44be00001a7aef",
+      "level": {
+        "original": "53173f76c269d400000543c2",
+        "majorVersion": 0
+      },
       "team": "ogres",
       "levelID": "dungeon-arena",
       "levelName": "Dungeon Arena",
@@ -549,13 +713,13 @@ responses =
       "totalScore": 26.50666470188054,
       "code": {
         "human-base": {
-          "chooseAction": "..."
+          "chooseAction": "var __interceptThis=(function(){var G=this;return function($this,sandbox){if($this==G){return sandbox;}return $this;};})();\nreturn (function (__global) {\n    var tmp0, tmp1;\n    tmp1 = function () {\n        'use strict'; _aether.logCallStart(_aether._userInfo); var hero, count, ranged, i, tmp2, tmp3, tmp4, tmp45, tmp46, tmp47, tmp88, tmp89, tmp90, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185, tmp186, tmp187, tmp188, tmp189, tmp190, tmp191, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp217, tmp218, tmp219, tmp220, tmp221, tmp222, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238, tmp239, tmp240, tmp241, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, tmp251, tmp252, tmp253, tmp254, tmp255, tmp256, tmp257, tmp258, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp270, tmp271, tmp272, tmp273, tmp274, tmp275, tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp291, tmp292, tmp293, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311, tmp312, tmp313, tmp314, tmp315, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323, tmp324, tmp325, tmp326, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp333, tmp334, tmp335, tmp336, tmp337, tmp338, tmp339, tmp340, tmp341, tmp342, tmp343, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, tmp356, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363, tmp364, tmp365, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374, tmp375, tmp376, tmp377, tmp378, tmp379, tmp380, tmp381, tmp382, tmp383, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp394, tmp395, tmp396, tmp397, tmp398, tmp399, tmp400, tmp401, tmp402, tmp403, tmp404, tmp405, tmp406, tmp407, tmp408, tmp409, tmp410, tmp411, tmp412, tmp413, tmp414, tmp415, tmp416, tmp417, tmp418, tmp419, tmp420, tmp421, tmp422, tmp423, tmp424, tmp425, tmp426, tmp427, tmp428, tmp429, tmp430, tmp431, tmp434, tmp435, tmp436, tmp437, tmp438, tmp439, tmp440, tmp441, tmp442, tmp443, tmp444, tmp445, tmp446, tmp447, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp461, tmp462, tmp463, tmp464, tmp465, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471, tmp472, tmp473, tmp474, tmp475, tmp476, tmp477, tmp478, tmp479, tmp480, tmp481, tmp482, tmp483, tmp484, tmp485;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n        tmp2 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp3 = 'getEnemyHero';\n        _aether.logStatementStart([{ofs: 222, row: 4, col: 0}, {ofs: 489, row: 11, col: 2}]); tmp4 = function () {\n            var i, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 305, row: 6, col: 9}, {ofs: 314, row: 6, col: 18}]); i = 0;  _aether.logStatement([{ofs: 305, row: 6, col: 9}, {ofs: 314, row: 6, col: 18}], _aether._userInfo, false);\n            tmp6 = i;\n            tmp10 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp11 = 'enemies';\n            _aether.logStatementStart([{ofs: 320, row: 6, col: 24}, {ofs: 332, row: 6, col: 36}]); tmp8 = tmp10[tmp11];  _aether.logStatement([{ofs: 320, row: 6, col: 24}, {ofs: 332, row: 6, col: 36}], _aether._userInfo, false);\n            tmp9 = 'length';\n            _aether.logStatementStart([{ofs: 320, row: 6, col: 24}, {ofs: 339, row: 6, col: 43}]); tmp7 = tmp8[tmp9];  _aether.logStatement([{ofs: 320, row: 6, col: 24}, {ofs: 339, row: 6, col: 43}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 316, row: 6, col: 20}, {ofs: 339, row: 6, col: 43}]); tmp5 = tmp6 < tmp7;  _aether.logStatement([{ofs: 316, row: 6, col: 20}, {ofs: 339, row: 6, col: 43}], _aether._userInfo, false);\n            tmp20: {\n                while (tmp5) {\n                    tmp21: {\n                        tmp30 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp31 = 'enemies';\n                        _aether.logStatementStart([{ofs: 360, row: 7, col: 12}, {ofs: 372, row: 7, col: 24}]); tmp28 = tmp30[tmp31];  _aether.logStatement([{ofs: 360, row: 7, col: 12}, {ofs: 372, row: 7, col: 24}], _aether._userInfo, false);\n                        tmp29 = i;\n                        _aether.logStatementStart([{ofs: 360, row: 7, col: 12}, {ofs: 375, row: 7, col: 27}]); tmp26 = tmp28[tmp29];  _aether.logStatement([{ofs: 360, row: 7, col: 12}, {ofs: 375, row: 7, col: 27}], _aether._userInfo, false);\n                        tmp27 = 'type';\n                        _aether.logStatementStart([{ofs: 360, row: 7, col: 12}, {ofs: 380, row: 7, col: 32}]); tmp24 = tmp26[tmp27];  _aether.logStatement([{ofs: 360, row: 7, col: 12}, {ofs: 380, row: 7, col: 32}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 385, row: 7, col: 37}, {ofs: 394, row: 7, col: 46}]); tmp25 = 'brawler';  _aether.logStatement([{ofs: 385, row: 7, col: 37}, {ofs: 394, row: 7, col: 46}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 360, row: 7, col: 12}, {ofs: 394, row: 7, col: 46}]); tmp23 = tmp24 === tmp25;  _aether.logStatement([{ofs: 360, row: 7, col: 12}, {ofs: 394, row: 7, col: 46}], _aether._userInfo, false);\n                        if (tmp23) {\n                            _aether.logStatementStart([{ofs: 360, row: 7, col: 12}, {ofs: 431, row: 7, col: 83}]); tmp22 = tmp23;  _aether.logStatement([{ofs: 360, row: 7, col: 12}, {ofs: 431, row: 7, col: 83}], _aether._userInfo, false);\n                        } else {\n                            tmp38 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp39 = 'enemies';\n                            _aether.logStatementStart([{ofs: 398, row: 7, col: 50}, {ofs: 410, row: 7, col: 62}]); tmp36 = tmp38[tmp39];  _aether.logStatement([{ofs: 398, row: 7, col: 50}, {ofs: 410, row: 7, col: 62}], _aether._userInfo, false);\n                            tmp37 = i;\n                            _aether.logStatementStart([{ofs: 398, row: 7, col: 50}, {ofs: 413, row: 7, col: 65}]); tmp34 = tmp36[tmp37];  _aether.logStatement([{ofs: 398, row: 7, col: 50}, {ofs: 413, row: 7, col: 65}], _aether._userInfo, false);\n                            tmp35 = 'type';\n                            _aether.logStatementStart([{ofs: 398, row: 7, col: 50}, {ofs: 418, row: 7, col: 70}]); tmp32 = tmp34[tmp35];  _aether.logStatement([{ofs: 398, row: 7, col: 50}, {ofs: 418, row: 7, col: 70}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 423, row: 7, col: 75}, {ofs: 431, row: 7, col: 83}]); tmp33 = 'shaman';  _aether.logStatement([{ofs: 423, row: 7, col: 75}, {ofs: 431, row: 7, col: 83}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 398, row: 7, col: 50}, {ofs: 431, row: 7, col: 83}]); tmp22 = tmp32 === tmp33;  _aether.logStatement([{ofs: 398, row: 7, col: 50}, {ofs: 431, row: 7, col: 83}], _aether._userInfo, false);\n                        }\n                        if (tmp22) {\n                            tmp43 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp44 = 'enemies';\n                            _aether.logStatementStart([{ofs: 454, row: 8, col: 19}, {ofs: 466, row: 8, col: 31}]); tmp41 = tmp43[tmp44];  _aether.logStatement([{ofs: 454, row: 8, col: 19}, {ofs: 466, row: 8, col: 31}], _aether._userInfo, false);\n                            tmp42 = i;\n                            _aether.logStatementStart([{ofs: 454, row: 8, col: 19}, {ofs: 469, row: 8, col: 34}]); tmp40 = tmp41[tmp42];  _aether.logStatement([{ofs: 454, row: 8, col: 19}, {ofs: 469, row: 8, col: 34}], _aether._userInfo, false);\n                            return _aether.restoreAPIClone(_aether, tmp40);\n                        } else {\n                            ;\n                        }\n                    }\n                    tmp18 = i;\n                    tmp19 = 1;\n                    i = tmp18 + tmp19;\n                    tmp12 = i;\n                    tmp16 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp17 = 'enemies';\n                    _aether.logStatementStart([{ofs: 320, row: 6, col: 24}, {ofs: 332, row: 6, col: 36}]); tmp14 = tmp16[tmp17];  _aether.logStatement([{ofs: 320, row: 6, col: 24}, {ofs: 332, row: 6, col: 36}], _aether._userInfo, false);\n                    tmp15 = 'length';\n                    _aether.logStatementStart([{ofs: 320, row: 6, col: 24}, {ofs: 339, row: 6, col: 43}]); tmp13 = tmp14[tmp15];  _aether.logStatement([{ofs: 320, row: 6, col: 24}, {ofs: 339, row: 6, col: 43}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 316, row: 6, col: 20}, {ofs: 339, row: 6, col: 43}]); tmp5 = tmp12 < tmp13;  _aether.logStatement([{ofs: 316, row: 6, col: 20}, {ofs: 339, row: 6, col: 43}], _aether._userInfo, false);\n                }\n            }\n            return;\n        };  _aether.logStatement([{ofs: 222, row: 4, col: 0}, {ofs: 489, row: 11, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 222, row: 4, col: 0}, {ofs: 488, row: 11, col: 1}]); tmp2[tmp3] = tmp4;  _aether.logStatement([{ofs: 222, row: 4, col: 0}, {ofs: 488, row: 11, col: 1}], _aether._userInfo, false);\n        tmp45 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp46 = 'getMyHero';\n        _aether.logStatementStart([{ofs: 491, row: 13, col: 0}, {ofs: 757, row: 20, col: 2}]); tmp47 = function () {\n            var i, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78, tmp79, tmp80, tmp81, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 571, row: 15, col: 9}, {ofs: 580, row: 15, col: 18}]); i = 0;  _aether.logStatement([{ofs: 571, row: 15, col: 9}, {ofs: 580, row: 15, col: 18}], _aether._userInfo, false);\n            tmp49 = i;\n            tmp53 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp54 = 'friends';\n            _aether.logStatementStart([{ofs: 586, row: 15, col: 24}, {ofs: 598, row: 15, col: 36}]); tmp51 = tmp53[tmp54];  _aether.logStatement([{ofs: 586, row: 15, col: 24}, {ofs: 598, row: 15, col: 36}], _aether._userInfo, false);\n            tmp52 = 'length';\n            _aether.logStatementStart([{ofs: 586, row: 15, col: 24}, {ofs: 605, row: 15, col: 43}]); tmp50 = tmp51[tmp52];  _aether.logStatement([{ofs: 586, row: 15, col: 24}, {ofs: 605, row: 15, col: 43}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 582, row: 15, col: 20}, {ofs: 605, row: 15, col: 43}]); tmp48 = tmp49 < tmp50;  _aether.logStatement([{ofs: 582, row: 15, col: 20}, {ofs: 605, row: 15, col: 43}], _aether._userInfo, false);\n            tmp63: {\n                while (tmp48) {\n                    tmp64: {\n                        tmp73 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp74 = 'friends';\n                        _aether.logStatementStart([{ofs: 626, row: 16, col: 12}, {ofs: 638, row: 16, col: 24}]); tmp71 = tmp73[tmp74];  _aether.logStatement([{ofs: 626, row: 16, col: 12}, {ofs: 638, row: 16, col: 24}], _aether._userInfo, false);\n                        tmp72 = i;\n                        _aether.logStatementStart([{ofs: 626, row: 16, col: 12}, {ofs: 641, row: 16, col: 27}]); tmp69 = tmp71[tmp72];  _aether.logStatement([{ofs: 626, row: 16, col: 12}, {ofs: 641, row: 16, col: 27}], _aether._userInfo, false);\n                        tmp70 = 'type';\n                        _aether.logStatementStart([{ofs: 626, row: 16, col: 12}, {ofs: 646, row: 16, col: 32}]); tmp67 = tmp69[tmp70];  _aether.logStatement([{ofs: 626, row: 16, col: 12}, {ofs: 646, row: 16, col: 32}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 651, row: 16, col: 37}, {ofs: 659, row: 16, col: 45}]); tmp68 = 'knight';  _aether.logStatement([{ofs: 651, row: 16, col: 37}, {ofs: 659, row: 16, col: 45}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 626, row: 16, col: 12}, {ofs: 659, row: 16, col: 45}]); tmp66 = tmp67 === tmp68;  _aether.logStatement([{ofs: 626, row: 16, col: 12}, {ofs: 659, row: 16, col: 45}], _aether._userInfo, false);\n                        if (tmp66) {\n                            _aether.logStatementStart([{ofs: 626, row: 16, col: 12}, {ofs: 699, row: 16, col: 85}]); tmp65 = tmp66;  _aether.logStatement([{ofs: 626, row: 16, col: 12}, {ofs: 699, row: 16, col: 85}], _aether._userInfo, false);\n                        } else {\n                            tmp81 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp82 = 'friends';\n                            _aether.logStatementStart([{ofs: 663, row: 16, col: 49}, {ofs: 675, row: 16, col: 61}]); tmp79 = tmp81[tmp82];  _aether.logStatement([{ofs: 663, row: 16, col: 49}, {ofs: 675, row: 16, col: 61}], _aether._userInfo, false);\n                            tmp80 = i;\n                            _aether.logStatementStart([{ofs: 663, row: 16, col: 49}, {ofs: 678, row: 16, col: 64}]); tmp77 = tmp79[tmp80];  _aether.logStatement([{ofs: 663, row: 16, col: 49}, {ofs: 678, row: 16, col: 64}], _aether._userInfo, false);\n                            tmp78 = 'type';\n                            _aether.logStatementStart([{ofs: 663, row: 16, col: 49}, {ofs: 683, row: 16, col: 69}]); tmp75 = tmp77[tmp78];  _aether.logStatement([{ofs: 663, row: 16, col: 49}, {ofs: 683, row: 16, col: 69}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 688, row: 16, col: 74}, {ofs: 699, row: 16, col: 85}]); tmp76 = 'librarian';  _aether.logStatement([{ofs: 688, row: 16, col: 74}, {ofs: 699, row: 16, col: 85}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 663, row: 16, col: 49}, {ofs: 699, row: 16, col: 85}]); tmp65 = tmp75 === tmp76;  _aether.logStatement([{ofs: 663, row: 16, col: 49}, {ofs: 699, row: 16, col: 85}], _aether._userInfo, false);\n                        }\n                        if (tmp65) {\n                            tmp86 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp87 = 'friends';\n                            _aether.logStatementStart([{ofs: 722, row: 17, col: 19}, {ofs: 734, row: 17, col: 31}]); tmp84 = tmp86[tmp87];  _aether.logStatement([{ofs: 722, row: 17, col: 19}, {ofs: 734, row: 17, col: 31}], _aether._userInfo, false);\n                            tmp85 = i;\n                            _aether.logStatementStart([{ofs: 722, row: 17, col: 19}, {ofs: 737, row: 17, col: 34}]); tmp83 = tmp84[tmp85];  _aether.logStatement([{ofs: 722, row: 17, col: 19}, {ofs: 737, row: 17, col: 34}], _aether._userInfo, false);\n                            return _aether.restoreAPIClone(_aether, tmp83);\n                        } else {\n                            ;\n                        }\n                    }\n                    tmp61 = i;\n                    tmp62 = 1;\n                    i = tmp61 + tmp62;\n                    tmp55 = i;\n                    tmp59 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp60 = 'friends';\n                    _aether.logStatementStart([{ofs: 586, row: 15, col: 24}, {ofs: 598, row: 15, col: 36}]); tmp57 = tmp59[tmp60];  _aether.logStatement([{ofs: 586, row: 15, col: 24}, {ofs: 598, row: 15, col: 36}], _aether._userInfo, false);\n                    tmp58 = 'length';\n                    _aether.logStatementStart([{ofs: 586, row: 15, col: 24}, {ofs: 605, row: 15, col: 43}]); tmp56 = tmp57[tmp58];  _aether.logStatement([{ofs: 586, row: 15, col: 24}, {ofs: 605, row: 15, col: 43}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 582, row: 15, col: 20}, {ofs: 605, row: 15, col: 43}]); tmp48 = tmp55 < tmp56;  _aether.logStatement([{ofs: 582, row: 15, col: 20}, {ofs: 605, row: 15, col: 43}], _aether._userInfo, false);\n                }\n            }\n            return;\n        };  _aether.logStatement([{ofs: 491, row: 13, col: 0}, {ofs: 757, row: 20, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 491, row: 13, col: 0}, {ofs: 756, row: 20, col: 1}]); tmp45[tmp46] = tmp47;  _aether.logStatement([{ofs: 491, row: 13, col: 0}, {ofs: 756, row: 20, col: 1}], _aether._userInfo, false);\n        tmp88 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp89 = 'doesEnemyHaveMix';\n        _aether.logStatementStart([{ofs: 759, row: 22, col: 0}, {ofs: 1200, row: 39, col: 2}]); tmp90 = function () {\n            var ranged, melee, i, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp124, tmp125, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 849, row: 24, col: 4}, {ofs: 864, row: 24, col: 19}]); ranged = 0;  _aether.logStatement([{ofs: 849, row: 24, col: 4}, {ofs: 864, row: 24, col: 19}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 869, row: 25, col: 4}, {ofs: 883, row: 25, col: 18}]); melee = 0;  _aether.logStatement([{ofs: 869, row: 25, col: 4}, {ofs: 883, row: 25, col: 18}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 892, row: 26, col: 8}, {ofs: 901, row: 26, col: 17}]); i = 2;  _aether.logStatement([{ofs: 892, row: 26, col: 8}, {ofs: 901, row: 26, col: 17}], _aether._userInfo, false);\n            tmp92 = i;\n            tmp96 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp97 = 'enemies';\n            _aether.logStatementStart([{ofs: 907, row: 26, col: 23}, {ofs: 919, row: 26, col: 35}]); tmp94 = tmp96[tmp97];  _aether.logStatement([{ofs: 907, row: 26, col: 23}, {ofs: 919, row: 26, col: 35}], _aether._userInfo, false);\n            tmp95 = 'length';\n            _aether.logStatementStart([{ofs: 907, row: 26, col: 23}, {ofs: 926, row: 26, col: 42}]); tmp93 = tmp94[tmp95];  _aether.logStatement([{ofs: 907, row: 26, col: 23}, {ofs: 926, row: 26, col: 42}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 903, row: 26, col: 19}, {ofs: 926, row: 26, col: 42}]); tmp91 = tmp92 < tmp93;  _aether.logStatement([{ofs: 903, row: 26, col: 19}, {ofs: 926, row: 26, col: 42}], _aether._userInfo, false);\n            tmp106: {\n                while (tmp91) {\n                    tmp107: {\n                        tmp115 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp116 = 'enemies';\n                        _aether.logStatementStart([{ofs: 946, row: 27, col: 11}, {ofs: 958, row: 27, col: 23}]); tmp113 = tmp115[tmp116];  _aether.logStatement([{ofs: 946, row: 27, col: 11}, {ofs: 958, row: 27, col: 23}], _aether._userInfo, false);\n                        tmp114 = i;\n                        _aether.logStatementStart([{ofs: 946, row: 27, col: 11}, {ofs: 961, row: 27, col: 26}]); tmp111 = tmp113[tmp114];  _aether.logStatement([{ofs: 946, row: 27, col: 11}, {ofs: 961, row: 27, col: 26}], _aether._userInfo, false);\n                        tmp112 = 'type';\n                        _aether.logStatementStart([{ofs: 946, row: 27, col: 11}, {ofs: 966, row: 27, col: 31}]); tmp109 = tmp111[tmp112];  _aether.logStatement([{ofs: 946, row: 27, col: 11}, {ofs: 966, row: 27, col: 31}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 971, row: 27, col: 36}, {ofs: 980, row: 27, col: 45}]); tmp110 = 'thrower';  _aether.logStatement([{ofs: 971, row: 27, col: 36}, {ofs: 980, row: 27, col: 45}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 946, row: 27, col: 11}, {ofs: 980, row: 27, col: 45}]); tmp108 = tmp109 === tmp110;  _aether.logStatement([{ofs: 946, row: 27, col: 11}, {ofs: 980, row: 27, col: 45}], _aether._userInfo, false);\n                        if (tmp108) {\n                            _aether.logStatementStart([{ofs: 996, row: 28, col: 12}, {ofs: 1008, row: 28, col: 24}]); tmp117 = 1;  _aether.logStatement([{ofs: 996, row: 28, col: 12}, {ofs: 1008, row: 28, col: 24}], _aether._userInfo, false);\n                            tmp118 = ranged;\n                            tmp119 = tmp117;\n                            ranged = tmp118 + tmp119;\n                        } else {\n                            tmp127 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp128 = 'enemies';\n                            _aether.logStatementStart([{ofs: 1035, row: 30, col: 16}, {ofs: 1047, row: 30, col: 28}]); tmp125 = tmp127[tmp128];  _aether.logStatement([{ofs: 1035, row: 30, col: 16}, {ofs: 1047, row: 30, col: 28}], _aether._userInfo, false);\n                            tmp126 = i;\n                            _aether.logStatementStart([{ofs: 1035, row: 30, col: 16}, {ofs: 1050, row: 30, col: 31}]); tmp123 = tmp125[tmp126];  _aether.logStatement([{ofs: 1035, row: 30, col: 16}, {ofs: 1050, row: 30, col: 31}], _aether._userInfo, false);\n                            tmp124 = 'type';\n                            _aether.logStatementStart([{ofs: 1035, row: 30, col: 16}, {ofs: 1055, row: 30, col: 36}]); tmp121 = tmp123[tmp124];  _aether.logStatement([{ofs: 1035, row: 30, col: 16}, {ofs: 1055, row: 30, col: 36}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 1060, row: 30, col: 41}, {ofs: 1070, row: 30, col: 51}]); tmp122 = 'munchkin';  _aether.logStatement([{ofs: 1060, row: 30, col: 41}, {ofs: 1070, row: 30, col: 51}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 1035, row: 30, col: 16}, {ofs: 1070, row: 30, col: 51}]); tmp120 = tmp121 === tmp122;  _aether.logStatement([{ofs: 1035, row: 30, col: 16}, {ofs: 1070, row: 30, col: 51}], _aether._userInfo, false);\n                            if (tmp120) {\n                                _aether.logStatementStart([{ofs: 1086, row: 31, col: 12}, {ofs: 1097, row: 31, col: 23}]); tmp129 = 1;  _aether.logStatement([{ofs: 1086, row: 31, col: 12}, {ofs: 1097, row: 31, col: 23}], _aether._userInfo, false);\n                                tmp130 = melee;\n                                tmp131 = tmp129;\n                                melee = tmp130 + tmp131;\n                            } else {\n                                ;\n                            }\n                        }\n                    }\n                    tmp104 = i;\n                    tmp105 = 1;\n                    i = tmp104 + tmp105;\n                    tmp98 = i;\n                    tmp102 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp103 = 'enemies';\n                    _aether.logStatementStart([{ofs: 907, row: 26, col: 23}, {ofs: 919, row: 26, col: 35}]); tmp100 = tmp102[tmp103];  _aether.logStatement([{ofs: 907, row: 26, col: 23}, {ofs: 919, row: 26, col: 35}], _aether._userInfo, false);\n                    tmp101 = 'length';\n                    _aether.logStatementStart([{ofs: 907, row: 26, col: 23}, {ofs: 926, row: 26, col: 42}]); tmp99 = tmp100[tmp101];  _aether.logStatement([{ofs: 907, row: 26, col: 23}, {ofs: 926, row: 26, col: 42}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 903, row: 26, col: 19}, {ofs: 926, row: 26, col: 42}]); tmp91 = tmp98 < tmp99;  _aether.logStatement([{ofs: 903, row: 26, col: 19}, {ofs: 926, row: 26, col: 42}], _aether._userInfo, false);\n                }\n            }\n            tmp134 = ranged;\n            _aether.logStatementStart([{ofs: 1130, row: 34, col: 16}, {ofs: 1131, row: 34, col: 17}]); tmp135 = 0;  _aether.logStatement([{ofs: 1130, row: 34, col: 16}, {ofs: 1131, row: 34, col: 17}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 1121, row: 34, col: 7}, {ofs: 1131, row: 34, col: 17}]); tmp133 = tmp134 > tmp135;  _aether.logStatement([{ofs: 1121, row: 34, col: 7}, {ofs: 1131, row: 34, col: 17}], _aether._userInfo, false);\n            if (tmp133) {\n                tmp136 = melee;\n                _aether.logStatementStart([{ofs: 1143, row: 34, col: 29}, {ofs: 1144, row: 34, col: 30}]); tmp137 = 0;  _aether.logStatement([{ofs: 1143, row: 34, col: 29}, {ofs: 1144, row: 34, col: 30}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 1135, row: 34, col: 21}, {ofs: 1144, row: 34, col: 30}]); tmp132 = tmp136 > tmp137;  _aether.logStatement([{ofs: 1135, row: 34, col: 21}, {ofs: 1144, row: 34, col: 30}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 1121, row: 34, col: 7}, {ofs: 1144, row: 34, col: 30}]); tmp132 = tmp133;  _aether.logStatement([{ofs: 1121, row: 34, col: 7}, {ofs: 1144, row: 34, col: 30}], _aether._userInfo, false);\n            }\n            if (tmp132) {\n                _aether.logStatementStart([{ofs: 1163, row: 35, col: 15}, {ofs: 1167, row: 35, col: 19}]); tmp138 = true;  _aether.logStatement([{ofs: 1163, row: 35, col: 15}, {ofs: 1167, row: 35, col: 19}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp138);\n            } else {\n                ;\n            }\n            _aether.logStatementStart([{ofs: 1191, row: 38, col: 11}, {ofs: 1196, row: 38, col: 16}]); tmp139 = false;  _aether.logStatement([{ofs: 1191, row: 38, col: 11}, {ofs: 1196, row: 38, col: 16}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp139);\n        };  _aether.logStatement([{ofs: 759, row: 22, col: 0}, {ofs: 1200, row: 39, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 759, row: 22, col: 0}, {ofs: 1199, row: 39, col: 1}]); tmp88[tmp89] = tmp90;  _aether.logStatement([{ofs: 759, row: 22, col: 0}, {ofs: 1199, row: 39, col: 1}], _aether._userInfo, false);\n        tmp140 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp141 = 'enemies';\n        tmp143 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp144 = 'getEnemies';\n        _aether.logStatementStart([{ofs: 1202, row: 41, col: 0}, {ofs: 1235, row: 41, col: 33}]); tmp142 = _aether.createAPIClone(_aether, tmp143[tmp144]());  _aether.logStatement([{ofs: 1202, row: 41, col: 0}, {ofs: 1235, row: 41, col: 33}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 1202, row: 41, col: 0}, {ofs: 1234, row: 41, col: 32}]); tmp140[tmp141] = tmp142;  _aether.logStatement([{ofs: 1202, row: 41, col: 0}, {ofs: 1234, row: 41, col: 32}], _aether._userInfo, false);\n        tmp145 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp146 = 'friends';\n        tmp148 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp149 = 'getFriends';\n        _aether.logStatementStart([{ofs: 1236, row: 42, col: 0}, {ofs: 1269, row: 42, col: 33}]); tmp147 = _aether.createAPIClone(_aether, tmp148[tmp149]());  _aether.logStatement([{ofs: 1236, row: 42, col: 0}, {ofs: 1269, row: 42, col: 33}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 1236, row: 42, col: 0}, {ofs: 1268, row: 42, col: 32}]); tmp145[tmp146] = tmp147;  _aether.logStatement([{ofs: 1236, row: 42, col: 0}, {ofs: 1268, row: 42, col: 32}], _aether._userInfo, false);\n        tmp150 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp151 = 'myHero';\n        tmp153 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp154 = 'getMyHero';\n        _aether.logStatementStart([{ofs: 1270, row: 43, col: 0}, {ofs: 1301, row: 43, col: 31}]); tmp152 = _aether.createAPIClone(_aether, tmp153[tmp154]());  _aether.logStatement([{ofs: 1270, row: 43, col: 0}, {ofs: 1301, row: 43, col: 31}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 1270, row: 43, col: 0}, {ofs: 1300, row: 43, col: 30}]); tmp150[tmp151] = tmp152;  _aether.logStatement([{ofs: 1270, row: 43, col: 0}, {ofs: 1300, row: 43, col: 30}], _aether._userInfo, false);\n        tmp155 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp156 = 'enemyHero';\n        tmp158 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp159 = 'getEnemyHero';\n        _aether.logStatementStart([{ofs: 1302, row: 44, col: 0}, {ofs: 1339, row: 44, col: 37}]); tmp157 = _aether.createAPIClone(_aether, tmp158[tmp159]());  _aether.logStatement([{ofs: 1302, row: 44, col: 0}, {ofs: 1339, row: 44, col: 37}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 1302, row: 44, col: 0}, {ofs: 1338, row: 44, col: 36}]); tmp155[tmp156] = tmp157;  _aether.logStatement([{ofs: 1302, row: 44, col: 0}, {ofs: 1338, row: 44, col: 36}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 1400, row: 47, col: 0}, {ofs: 1416, row: 47, col: 16}]); hero = 'tharin';  _aether.logStatement([{ofs: 1400, row: 47, col: 0}, {ofs: 1416, row: 47, col: 16}], _aether._userInfo, false);\n        tmp161 = hero;\n        if (tmp161) {\n            tmp163 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp164 = 'builtHero';\n            _aether.logStatementStart([{ofs: 1526, row: 50, col: 13}, {ofs: 1540, row: 50, col: 27}]); tmp162 = tmp163[tmp164];  _aether.logStatement([{ofs: 1526, row: 50, col: 13}, {ofs: 1540, row: 50, col: 27}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 1525, row: 50, col: 12}, {ofs: 1540, row: 50, col: 27}]); tmp160 = !tmp162;  _aether.logStatement([{ofs: 1525, row: 50, col: 12}, {ofs: 1540, row: 50, col: 27}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 1517, row: 50, col: 4}, {ofs: 1540, row: 50, col: 27}]); tmp160 = tmp161;  _aether.logStatement([{ofs: 1517, row: 50, col: 4}, {ofs: 1540, row: 50, col: 27}], _aether._userInfo, false);\n        }\n        if (tmp160) {\n            tmp165 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp166 = 'builtHero';\n            tmp168 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp169 = 'build';\n            tmp170 = hero;\n            _aether.logStatementStart([{ofs: 1548, row: 51, col: 4}, {ofs: 1582, row: 51, col: 38}]); tmp167 = _aether.createAPIClone(_aether, tmp168[tmp169](_aether.restoreAPIClone(_aether, tmp170)));  _aether.logStatement([{ofs: 1548, row: 51, col: 4}, {ofs: 1582, row: 51, col: 38}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 1548, row: 51, col: 4}, {ofs: 1581, row: 51, col: 37}]); tmp165[tmp166] = tmp167;  _aether.logStatement([{ofs: 1548, row: 51, col: 4}, {ofs: 1581, row: 51, col: 37}], _aether._userInfo, false);\n            _aether.logCallEnd(); return;\n        } else {\n            ;\n        }\n        tmp174 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp175 = 'myHero';\n        _aether.logStatementStart([{ofs: 2493, row: 76, col: 3}, {ofs: 2504, row: 76, col: 14}]); tmp173 = tmp174[tmp175];  _aether.logStatement([{ofs: 2493, row: 76, col: 3}, {ofs: 2504, row: 76, col: 14}], _aether._userInfo, false);\n        if (tmp173) {\n            tmp178 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp179 = 'myHero';\n            _aether.logStatementStart([{ofs: 2508, row: 76, col: 18}, {ofs: 2519, row: 76, col: 29}]); tmp176 = tmp178[tmp179];  _aether.logStatement([{ofs: 2508, row: 76, col: 18}, {ofs: 2519, row: 76, col: 29}], _aether._userInfo, false);\n            tmp177 = 'notHeroFirst';\n            _aether.logStatementStart([{ofs: 2508, row: 76, col: 18}, {ofs: 2532, row: 76, col: 42}]); tmp172 = tmp176[tmp177];  _aether.logStatement([{ofs: 2508, row: 76, col: 18}, {ofs: 2532, row: 76, col: 42}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 2493, row: 76, col: 3}, {ofs: 2532, row: 76, col: 42}]); tmp172 = tmp173;  _aether.logStatement([{ofs: 2493, row: 76, col: 3}, {ofs: 2532, row: 76, col: 42}], _aether._userInfo, false);\n        }\n        if (tmp172) {\n            tmp182 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp183 = 'myHero';\n            _aether.logStatementStart([{ofs: 2536, row: 76, col: 46}, {ofs: 2547, row: 76, col: 57}]); tmp180 = tmp182[tmp183];  _aether.logStatement([{ofs: 2536, row: 76, col: 46}, {ofs: 2547, row: 76, col: 57}], _aether._userInfo, false);\n            tmp181 = 'notHeroSecond';\n            _aether.logStatementStart([{ofs: 2536, row: 76, col: 46}, {ofs: 2561, row: 76, col: 71}]); tmp171 = tmp180[tmp181];  _aether.logStatement([{ofs: 2536, row: 76, col: 46}, {ofs: 2561, row: 76, col: 71}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 2493, row: 76, col: 3}, {ofs: 2561, row: 76, col: 71}]); tmp171 = tmp172;  _aether.logStatement([{ofs: 2493, row: 76, col: 3}, {ofs: 2561, row: 76, col: 71}], _aether._userInfo, false);\n        }\n        if (tmp171) {\n            tmp184 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp185 = 'build';\n            _aether.logStatementStart([{ofs: 2580, row: 77, col: 15}, {ofs: 2588, row: 77, col: 23}]); tmp186 = 'archer';  _aether.logStatement([{ofs: 2580, row: 77, col: 15}, {ofs: 2588, row: 77, col: 23}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 2569, row: 77, col: 4}, {ofs: 2589, row: 77, col: 24}]); tmp187 = _aether.createAPIClone(_aether, tmp184[tmp185](_aether.restoreAPIClone(_aether, tmp186)));  _aether.logStatement([{ofs: 2569, row: 77, col: 4}, {ofs: 2589, row: 77, col: 24}], _aether._userInfo, false);\n            _aether.logCallEnd(); return;\n        } else {\n            tmp192 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp193 = 'myHero';\n            _aether.logStatementStart([{ofs: 2753, row: 83, col: 8}, {ofs: 2764, row: 83, col: 19}]); tmp191 = tmp192[tmp193];  _aether.logStatement([{ofs: 2753, row: 83, col: 8}, {ofs: 2764, row: 83, col: 19}], _aether._userInfo, false);\n            if (tmp191) {\n                tmp196 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp197 = 'myHero';\n                _aether.logStatementStart([{ofs: 2768, row: 83, col: 23}, {ofs: 2779, row: 83, col: 34}]); tmp194 = tmp196[tmp197];  _aether.logStatement([{ofs: 2768, row: 83, col: 23}, {ofs: 2779, row: 83, col: 34}], _aether._userInfo, false);\n                tmp195 = 'notHeroFirst';\n                _aether.logStatementStart([{ofs: 2768, row: 83, col: 23}, {ofs: 2792, row: 83, col: 47}]); tmp190 = tmp194[tmp195];  _aether.logStatement([{ofs: 2768, row: 83, col: 23}, {ofs: 2792, row: 83, col: 47}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 2753, row: 83, col: 8}, {ofs: 2792, row: 83, col: 47}]); tmp190 = tmp191;  _aether.logStatement([{ofs: 2753, row: 83, col: 8}, {ofs: 2792, row: 83, col: 47}], _aether._userInfo, false);\n            }\n            if (tmp190) {\n                tmp200 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp201 = 'myHero';\n                _aether.logStatementStart([{ofs: 2796, row: 83, col: 51}, {ofs: 2807, row: 83, col: 62}]); tmp198 = tmp200[tmp201];  _aether.logStatement([{ofs: 2796, row: 83, col: 51}, {ofs: 2807, row: 83, col: 62}], _aether._userInfo, false);\n                tmp199 = 'terrifyCooldown';\n                _aether.logStatementStart([{ofs: 2796, row: 83, col: 51}, {ofs: 2823, row: 83, col: 78}]); tmp189 = tmp198[tmp199];  _aether.logStatement([{ofs: 2796, row: 83, col: 51}, {ofs: 2823, row: 83, col: 78}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 2753, row: 83, col: 8}, {ofs: 2823, row: 83, col: 78}]); tmp189 = tmp190;  _aether.logStatement([{ofs: 2753, row: 83, col: 8}, {ofs: 2823, row: 83, col: 78}], _aether._userInfo, false);\n            }\n            if (tmp189) {\n                tmp208 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp209 = 'myHero';\n                _aether.logStatementStart([{ofs: 2828, row: 83, col: 83}, {ofs: 2839, row: 83, col: 94}]); tmp206 = tmp208[tmp209];  _aether.logStatement([{ofs: 2828, row: 83, col: 83}, {ofs: 2839, row: 83, col: 94}], _aether._userInfo, false);\n                tmp207 = 'terrifyUnitCount';\n                _aether.logStatementStart([{ofs: 2828, row: 83, col: 83}, {ofs: 2856, row: 83, col: 111}]); tmp204 = tmp206[tmp207];  _aether.logStatement([{ofs: 2828, row: 83, col: 83}, {ofs: 2856, row: 83, col: 111}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 2860, row: 83, col: 115}, {ofs: 2861, row: 83, col: 116}]); tmp205 = 5;  _aether.logStatement([{ofs: 2860, row: 83, col: 115}, {ofs: 2861, row: 83, col: 116}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 2828, row: 83, col: 83}, {ofs: 2861, row: 83, col: 116}]); tmp203 = tmp204 != tmp205;  _aether.logStatement([{ofs: 2828, row: 83, col: 83}, {ofs: 2861, row: 83, col: 116}], _aether._userInfo, false);\n                if (tmp203) {\n                    tmp214 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp215 = 'myHero';\n                    _aether.logStatementStart([{ofs: 2865, row: 83, col: 120}, {ofs: 2876, row: 83, col: 131}]); tmp212 = tmp214[tmp215];  _aether.logStatement([{ofs: 2865, row: 83, col: 120}, {ofs: 2876, row: 83, col: 131}], _aether._userInfo, false);\n                    tmp213 = 'terrifyTargets';\n                    _aether.logStatementStart([{ofs: 2865, row: 83, col: 120}, {ofs: 2891, row: 83, col: 146}]); tmp210 = tmp212[tmp213];  _aether.logStatement([{ofs: 2865, row: 83, col: 120}, {ofs: 2891, row: 83, col: 146}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 2895, row: 83, col: 150}, {ofs: 2896, row: 83, col: 151}]); tmp211 = 4;  _aether.logStatement([{ofs: 2895, row: 83, col: 150}, {ofs: 2896, row: 83, col: 151}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 2865, row: 83, col: 120}, {ofs: 2896, row: 83, col: 151}]); tmp202 = tmp210 != tmp211;  _aether.logStatement([{ofs: 2865, row: 83, col: 120}, {ofs: 2896, row: 83, col: 151}], _aether._userInfo, false);\n                } else {\n                    _aether.logStatementStart([{ofs: 2828, row: 83, col: 83}, {ofs: 2896, row: 83, col: 151}]); tmp202 = tmp203;  _aether.logStatement([{ofs: 2828, row: 83, col: 83}, {ofs: 2896, row: 83, col: 151}], _aether._userInfo, false);\n                }\n                if (tmp202) {\n                    tmp220 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp221 = 'myHero';\n                    _aether.logStatementStart([{ofs: 2900, row: 83, col: 155}, {ofs: 2911, row: 83, col: 166}]); tmp218 = tmp220[tmp221];  _aether.logStatement([{ofs: 2900, row: 83, col: 155}, {ofs: 2911, row: 83, col: 166}], _aether._userInfo, false);\n                    tmp219 = 'terrifyTargets';\n                    _aether.logStatementStart([{ofs: 2900, row: 83, col: 155}, {ofs: 2926, row: 83, col: 181}]); tmp216 = tmp218[tmp219];  _aether.logStatement([{ofs: 2900, row: 83, col: 155}, {ofs: 2926, row: 83, col: 181}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 2930, row: 83, col: 185}, {ofs: 2931, row: 83, col: 186}]); tmp217 = 1;  _aether.logStatement([{ofs: 2930, row: 83, col: 185}, {ofs: 2931, row: 83, col: 186}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 2900, row: 83, col: 155}, {ofs: 2931, row: 83, col: 186}]); tmp188 = tmp216 != tmp217;  _aether.logStatement([{ofs: 2900, row: 83, col: 155}, {ofs: 2931, row: 83, col: 186}], _aether._userInfo, false);\n                } else {\n                    _aether.logStatementStart([{ofs: 2828, row: 83, col: 83}, {ofs: 2931, row: 83, col: 186}]); tmp188 = tmp202;  _aether.logStatement([{ofs: 2828, row: 83, col: 83}, {ofs: 2931, row: 83, col: 186}], _aether._userInfo, false);\n                }\n            } else {\n                _aether.logStatementStart([{ofs: 2753, row: 83, col: 8}, {ofs: 2932, row: 83, col: 187}]); tmp188 = tmp189;  _aether.logStatement([{ofs: 2753, row: 83, col: 8}, {ofs: 2932, row: 83, col: 187}], _aether._userInfo, false);\n            }\n            if (tmp188) {\n                tmp222 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp223 = 'noArcher';\n                _aether.logStatementStart([{ofs: 2940, row: 84, col: 4}, {ofs: 2961, row: 84, col: 25}]); tmp224 = true;  _aether.logStatement([{ofs: 2940, row: 84, col: 4}, {ofs: 2961, row: 84, col: 25}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 2940, row: 84, col: 4}, {ofs: 2960, row: 84, col: 24}]); tmp222[tmp223] = tmp224;  _aether.logStatement([{ofs: 2940, row: 84, col: 4}, {ofs: 2960, row: 84, col: 24}], _aether._userInfo, false);\n                tmp225 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp226 = 'build';\n                _aether.logStatementStart([{ofs: 2977, row: 85, col: 15}, {ofs: 2986, row: 85, col: 24}]); tmp227 = 'soldier';  _aether.logStatement([{ofs: 2977, row: 85, col: 15}, {ofs: 2986, row: 85, col: 24}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 2966, row: 85, col: 4}, {ofs: 2987, row: 85, col: 25}]); tmp228 = _aether.createAPIClone(_aether, tmp225[tmp226](_aether.restoreAPIClone(_aether, tmp227)));  _aether.logStatement([{ofs: 2966, row: 85, col: 4}, {ofs: 2987, row: 85, col: 25}], _aether._userInfo, false);\n                _aether.logCallEnd(); return;\n            } else {\n                ;\n            }\n        }\n        tmp231 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp232 = 'myHero';\n        _aether.logStatementStart([{ofs: 3203, row: 94, col: 7}, {ofs: 3214, row: 94, col: 18}]); tmp230 = tmp231[tmp232];  _aether.logStatement([{ofs: 3203, row: 94, col: 7}, {ofs: 3214, row: 94, col: 18}], _aether._userInfo, false);\n        if (tmp230) {\n            tmp235 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp236 = 'myHero';\n            _aether.logStatementStart([{ofs: 3218, row: 94, col: 22}, {ofs: 3229, row: 94, col: 33}]); tmp233 = tmp235[tmp236];  _aether.logStatement([{ofs: 3218, row: 94, col: 22}, {ofs: 3229, row: 94, col: 33}], _aether._userInfo, false);\n            tmp234 = 'midJump';\n            _aether.logStatementStart([{ofs: 3218, row: 94, col: 22}, {ofs: 3237, row: 94, col: 41}]); tmp229 = tmp233[tmp234];  _aether.logStatement([{ofs: 3218, row: 94, col: 22}, {ofs: 3237, row: 94, col: 41}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3203, row: 94, col: 7}, {ofs: 3237, row: 94, col: 41}]); tmp229 = tmp230;  _aether.logStatement([{ofs: 3203, row: 94, col: 7}, {ofs: 3237, row: 94, col: 41}], _aether._userInfo, false);\n        }\n        if (tmp229) {\n            tmp237 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp238 = 'build';\n            _aether.logStatementStart([{ofs: 3260, row: 95, col: 19}, {ofs: 3269, row: 95, col: 28}]); tmp239 = 'soldier';  _aether.logStatement([{ofs: 3260, row: 95, col: 19}, {ofs: 3269, row: 95, col: 28}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3249, row: 95, col: 8}, {ofs: 3270, row: 95, col: 29}]); tmp240 = _aether.createAPIClone(_aether, tmp237[tmp238](_aether.restoreAPIClone(_aether, tmp239)));  _aether.logStatement([{ofs: 3249, row: 95, col: 8}, {ofs: 3270, row: 95, col: 29}], _aether._userInfo, false);\n            _aether.logCallEnd(); return;\n        } else {\n            ;\n        }\n        tmp246 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp247 = 'myHero';\n        _aether.logStatementStart([{ofs: 3302, row: 99, col: 7}, {ofs: 3313, row: 99, col: 18}]); tmp245 = tmp246[tmp247];  _aether.logStatement([{ofs: 3302, row: 99, col: 7}, {ofs: 3313, row: 99, col: 18}], _aether._userInfo, false);\n        if (tmp245) {\n            tmp250 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp251 = 'myHero';\n            _aether.logStatementStart([{ofs: 3317, row: 99, col: 22}, {ofs: 3328, row: 99, col: 33}]); tmp248 = tmp250[tmp251];  _aether.logStatement([{ofs: 3317, row: 99, col: 22}, {ofs: 3328, row: 99, col: 33}], _aether._userInfo, false);\n            tmp249 = 'earlyJump';\n            _aether.logStatementStart([{ofs: 3317, row: 99, col: 22}, {ofs: 3338, row: 99, col: 43}]); tmp244 = tmp248[tmp249];  _aether.logStatement([{ofs: 3317, row: 99, col: 22}, {ofs: 3338, row: 99, col: 43}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3302, row: 99, col: 7}, {ofs: 3338, row: 99, col: 43}]); tmp244 = tmp245;  _aether.logStatement([{ofs: 3302, row: 99, col: 7}, {ofs: 3338, row: 99, col: 43}], _aether._userInfo, false);\n        }\n        if (tmp244) {\n            tmp254 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp255 = 'myHero';\n            _aether.logStatementStart([{ofs: 3342, row: 99, col: 47}, {ofs: 3353, row: 99, col: 58}]); tmp252 = tmp254[tmp255];  _aether.logStatement([{ofs: 3342, row: 99, col: 47}, {ofs: 3353, row: 99, col: 58}], _aether._userInfo, false);\n            tmp253 = 'terrifyCooldown';\n            _aether.logStatementStart([{ofs: 3342, row: 99, col: 47}, {ofs: 3369, row: 99, col: 74}]); tmp243 = tmp252[tmp253];  _aether.logStatement([{ofs: 3342, row: 99, col: 47}, {ofs: 3369, row: 99, col: 74}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3302, row: 99, col: 7}, {ofs: 3369, row: 99, col: 74}]); tmp243 = tmp244;  _aether.logStatement([{ofs: 3302, row: 99, col: 7}, {ofs: 3369, row: 99, col: 74}], _aether._userInfo, false);\n        }\n        if (tmp243) {\n            tmp260 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp261 = 'myHero';\n            _aether.logStatementStart([{ofs: 3373, row: 99, col: 78}, {ofs: 3384, row: 99, col: 89}]); tmp258 = tmp260[tmp261];  _aether.logStatement([{ofs: 3373, row: 99, col: 78}, {ofs: 3384, row: 99, col: 89}], _aether._userInfo, false);\n            tmp259 = 'terrifyTargets';\n            _aether.logStatementStart([{ofs: 3373, row: 99, col: 78}, {ofs: 3399, row: 99, col: 104}]); tmp256 = tmp258[tmp259];  _aether.logStatement([{ofs: 3373, row: 99, col: 78}, {ofs: 3399, row: 99, col: 104}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3404, row: 99, col: 109}, {ofs: 3405, row: 99, col: 110}]); tmp257 = 4;  _aether.logStatement([{ofs: 3404, row: 99, col: 109}, {ofs: 3405, row: 99, col: 110}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3373, row: 99, col: 78}, {ofs: 3405, row: 99, col: 110}]); tmp242 = tmp256 === tmp257;  _aether.logStatement([{ofs: 3373, row: 99, col: 78}, {ofs: 3405, row: 99, col: 110}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3302, row: 99, col: 7}, {ofs: 3405, row: 99, col: 110}]); tmp242 = tmp243;  _aether.logStatement([{ofs: 3302, row: 99, col: 7}, {ofs: 3405, row: 99, col: 110}], _aether._userInfo, false);\n        }\n        if (tmp242) {\n            tmp266 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp267 = 'myHero';\n            _aether.logStatementStart([{ofs: 3409, row: 99, col: 114}, {ofs: 3420, row: 99, col: 125}]); tmp264 = tmp266[tmp267];  _aether.logStatement([{ofs: 3409, row: 99, col: 114}, {ofs: 3420, row: 99, col: 125}], _aether._userInfo, false);\n            tmp265 = 'terrifyUnitCount';\n            _aether.logStatementStart([{ofs: 3409, row: 99, col: 114}, {ofs: 3437, row: 99, col: 142}]); tmp262 = tmp264[tmp265];  _aether.logStatement([{ofs: 3409, row: 99, col: 114}, {ofs: 3437, row: 99, col: 142}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3442, row: 99, col: 147}, {ofs: 3443, row: 99, col: 148}]); tmp263 = 3;  _aether.logStatement([{ofs: 3442, row: 99, col: 147}, {ofs: 3443, row: 99, col: 148}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3409, row: 99, col: 114}, {ofs: 3443, row: 99, col: 148}]); tmp241 = tmp262 === tmp263;  _aether.logStatement([{ofs: 3409, row: 99, col: 114}, {ofs: 3443, row: 99, col: 148}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3302, row: 99, col: 7}, {ofs: 3443, row: 99, col: 148}]); tmp241 = tmp242;  _aether.logStatement([{ofs: 3302, row: 99, col: 7}, {ofs: 3443, row: 99, col: 148}], _aether._userInfo, false);\n        }\n        if (tmp241) {\n            tmp268 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp269 = 'build';\n            _aether.logStatementStart([{ofs: 3466, row: 100, col: 19}, {ofs: 3475, row: 100, col: 28}]); tmp270 = 'soldier';  _aether.logStatement([{ofs: 3466, row: 100, col: 19}, {ofs: 3475, row: 100, col: 28}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3455, row: 100, col: 8}, {ofs: 3476, row: 100, col: 29}]); tmp271 = _aether.createAPIClone(_aether, tmp268[tmp269](_aether.restoreAPIClone(_aether, tmp270)));  _aether.logStatement([{ofs: 3455, row: 100, col: 8}, {ofs: 3476, row: 100, col: 29}], _aether._userInfo, false);\n            _aether.logCallEnd(); return;\n        } else {\n            ;\n        }\n        tmp280 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp281 = 'noArcher';\n        _aether.logStatementStart([{ofs: 3509, row: 104, col: 8}, {ofs: 3522, row: 104, col: 21}]); tmp279 = tmp280[tmp281];  _aether.logStatement([{ofs: 3509, row: 104, col: 8}, {ofs: 3522, row: 104, col: 21}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 3508, row: 104, col: 7}, {ofs: 3522, row: 104, col: 21}]); tmp278 = !tmp279;  _aether.logStatement([{ofs: 3508, row: 104, col: 7}, {ofs: 3522, row: 104, col: 21}], _aether._userInfo, false);\n        if (tmp278) {\n            tmp282 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp283 = 'myHero';\n            _aether.logStatementStart([{ofs: 3526, row: 104, col: 25}, {ofs: 3537, row: 104, col: 36}]); tmp277 = tmp282[tmp283];  _aether.logStatement([{ofs: 3526, row: 104, col: 25}, {ofs: 3537, row: 104, col: 36}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3508, row: 104, col: 7}, {ofs: 3537, row: 104, col: 36}]); tmp277 = tmp278;  _aether.logStatement([{ofs: 3508, row: 104, col: 7}, {ofs: 3537, row: 104, col: 36}], _aether._userInfo, false);\n        }\n        if (tmp277) {\n            tmp286 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp287 = 'myHero';\n            _aether.logStatementStart([{ofs: 3541, row: 104, col: 40}, {ofs: 3552, row: 104, col: 51}]); tmp284 = tmp286[tmp287];  _aether.logStatement([{ofs: 3541, row: 104, col: 40}, {ofs: 3552, row: 104, col: 51}], _aether._userInfo, false);\n            tmp285 = 'terrifyCooldown';\n            _aether.logStatementStart([{ofs: 3541, row: 104, col: 40}, {ofs: 3568, row: 104, col: 67}]); tmp276 = tmp284[tmp285];  _aether.logStatement([{ofs: 3541, row: 104, col: 40}, {ofs: 3568, row: 104, col: 67}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3508, row: 104, col: 7}, {ofs: 3568, row: 104, col: 67}]); tmp276 = tmp277;  _aether.logStatement([{ofs: 3508, row: 104, col: 7}, {ofs: 3568, row: 104, col: 67}], _aether._userInfo, false);\n        }\n        if (tmp276) {\n            tmp290 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp291 = 'myHero';\n            _aether.logStatementStart([{ofs: 3572, row: 104, col: 71}, {ofs: 3583, row: 104, col: 82}]); tmp288 = tmp290[tmp291];  _aether.logStatement([{ofs: 3572, row: 104, col: 71}, {ofs: 3583, row: 104, col: 82}], _aether._userInfo, false);\n            tmp289 = 'earlyJump';\n            _aether.logStatementStart([{ofs: 3572, row: 104, col: 71}, {ofs: 3593, row: 104, col: 92}]); tmp275 = tmp288[tmp289];  _aether.logStatement([{ofs: 3572, row: 104, col: 71}, {ofs: 3593, row: 104, col: 92}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3508, row: 104, col: 7}, {ofs: 3593, row: 104, col: 92}]); tmp275 = tmp276;  _aether.logStatement([{ofs: 3508, row: 104, col: 7}, {ofs: 3593, row: 104, col: 92}], _aether._userInfo, false);\n        }\n        if (tmp275) {\n            tmp296 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp297 = 'enemies';\n            _aether.logStatementStart([{ofs: 3597, row: 104, col: 96}, {ofs: 3609, row: 104, col: 108}]); tmp294 = tmp296[tmp297];  _aether.logStatement([{ofs: 3597, row: 104, col: 96}, {ofs: 3609, row: 104, col: 108}], _aether._userInfo, false);\n            tmp295 = 'length';\n            _aether.logStatementStart([{ofs: 3597, row: 104, col: 96}, {ofs: 3616, row: 104, col: 115}]); tmp292 = tmp294[tmp295];  _aether.logStatement([{ofs: 3597, row: 104, col: 96}, {ofs: 3616, row: 104, col: 115}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3621, row: 104, col: 120}, {ofs: 3622, row: 104, col: 121}]); tmp293 = 4;  _aether.logStatement([{ofs: 3621, row: 104, col: 120}, {ofs: 3622, row: 104, col: 121}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3597, row: 104, col: 96}, {ofs: 3622, row: 104, col: 121}]); tmp274 = tmp292 === tmp293;  _aether.logStatement([{ofs: 3597, row: 104, col: 96}, {ofs: 3622, row: 104, col: 121}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3508, row: 104, col: 7}, {ofs: 3622, row: 104, col: 121}]); tmp274 = tmp275;  _aether.logStatement([{ofs: 3508, row: 104, col: 7}, {ofs: 3622, row: 104, col: 121}], _aether._userInfo, false);\n        }\n        if (tmp274) {\n            tmp302 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp303 = 'myHero';\n            _aether.logStatementStart([{ofs: 3626, row: 104, col: 125}, {ofs: 3637, row: 104, col: 136}]); tmp300 = tmp302[tmp303];  _aether.logStatement([{ofs: 3626, row: 104, col: 125}, {ofs: 3637, row: 104, col: 136}], _aether._userInfo, false);\n            tmp301 = 'terrifyTargets';\n            _aether.logStatementStart([{ofs: 3626, row: 104, col: 125}, {ofs: 3652, row: 104, col: 151}]); tmp298 = tmp300[tmp301];  _aether.logStatement([{ofs: 3626, row: 104, col: 125}, {ofs: 3652, row: 104, col: 151}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3657, row: 104, col: 156}, {ofs: 3658, row: 104, col: 157}]); tmp299 = 1;  _aether.logStatement([{ofs: 3657, row: 104, col: 156}, {ofs: 3658, row: 104, col: 157}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3626, row: 104, col: 125}, {ofs: 3658, row: 104, col: 157}]); tmp273 = tmp298 === tmp299;  _aether.logStatement([{ofs: 3626, row: 104, col: 125}, {ofs: 3658, row: 104, col: 157}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3508, row: 104, col: 7}, {ofs: 3658, row: 104, col: 157}]); tmp273 = tmp274;  _aether.logStatement([{ofs: 3508, row: 104, col: 7}, {ofs: 3658, row: 104, col: 157}], _aether._userInfo, false);\n        }\n        if (tmp273) {\n            tmp304 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp305 = 'doesEnemyHaveMix';\n            _aether.logStatementStart([{ofs: 3662, row: 104, col: 161}, {ofs: 3685, row: 104, col: 184}]); tmp272 = _aether.createAPIClone(_aether, tmp304[tmp305]());  _aether.logStatement([{ofs: 3662, row: 104, col: 161}, {ofs: 3685, row: 104, col: 184}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3508, row: 104, col: 7}, {ofs: 3685, row: 104, col: 184}]); tmp272 = tmp273;  _aether.logStatement([{ofs: 3508, row: 104, col: 7}, {ofs: 3685, row: 104, col: 184}], _aether._userInfo, false);\n        }\n        if (tmp272) {\n            tmp306 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp307 = 'noArcher';\n            _aether.logStatementStart([{ofs: 3697, row: 105, col: 8}, {ofs: 3718, row: 105, col: 29}]); tmp308 = true;  _aether.logStatement([{ofs: 3697, row: 105, col: 8}, {ofs: 3718, row: 105, col: 29}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3697, row: 105, col: 8}, {ofs: 3717, row: 105, col: 28}]); tmp306[tmp307] = tmp308;  _aether.logStatement([{ofs: 3697, row: 105, col: 8}, {ofs: 3717, row: 105, col: 28}], _aether._userInfo, false);\n        } else {\n            ;\n        }\n        tmp313 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp314 = 'myHero';\n        _aether.logStatementStart([{ofs: 3733, row: 108, col: 7}, {ofs: 3744, row: 108, col: 18}]); tmp312 = tmp313[tmp314];  _aether.logStatement([{ofs: 3733, row: 108, col: 7}, {ofs: 3744, row: 108, col: 18}], _aether._userInfo, false);\n        if (tmp312) {\n            tmp317 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp318 = 'myHero';\n            _aether.logStatementStart([{ofs: 3748, row: 108, col: 22}, {ofs: 3759, row: 108, col: 33}]); tmp315 = tmp317[tmp318];  _aether.logStatement([{ofs: 3748, row: 108, col: 22}, {ofs: 3759, row: 108, col: 33}], _aether._userInfo, false);\n            tmp316 = 'terrifyCooldown';\n            _aether.logStatementStart([{ofs: 3748, row: 108, col: 22}, {ofs: 3775, row: 108, col: 49}]); tmp311 = tmp315[tmp316];  _aether.logStatement([{ofs: 3748, row: 108, col: 22}, {ofs: 3775, row: 108, col: 49}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3733, row: 108, col: 7}, {ofs: 3775, row: 108, col: 49}]); tmp311 = tmp312;  _aether.logStatement([{ofs: 3733, row: 108, col: 7}, {ofs: 3775, row: 108, col: 49}], _aether._userInfo, false);\n        }\n        if (tmp311) {\n            tmp323 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp324 = 'myHero';\n            _aether.logStatementStart([{ofs: 3779, row: 108, col: 53}, {ofs: 3790, row: 108, col: 64}]); tmp321 = tmp323[tmp324];  _aether.logStatement([{ofs: 3779, row: 108, col: 53}, {ofs: 3790, row: 108, col: 64}], _aether._userInfo, false);\n            tmp322 = 'terrifyTargets';\n            _aether.logStatementStart([{ofs: 3779, row: 108, col: 53}, {ofs: 3805, row: 108, col: 79}]); tmp319 = tmp321[tmp322];  _aether.logStatement([{ofs: 3779, row: 108, col: 53}, {ofs: 3805, row: 108, col: 79}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3809, row: 108, col: 83}, {ofs: 3810, row: 108, col: 84}]); tmp320 = 2;  _aether.logStatement([{ofs: 3809, row: 108, col: 83}, {ofs: 3810, row: 108, col: 84}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3779, row: 108, col: 53}, {ofs: 3810, row: 108, col: 84}]); tmp310 = tmp319 != tmp320;  _aether.logStatement([{ofs: 3779, row: 108, col: 53}, {ofs: 3810, row: 108, col: 84}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3733, row: 108, col: 7}, {ofs: 3810, row: 108, col: 84}]); tmp310 = tmp311;  _aether.logStatement([{ofs: 3733, row: 108, col: 7}, {ofs: 3810, row: 108, col: 84}], _aether._userInfo, false);\n        }\n        if (tmp310) {\n            tmp326 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp327 = 'noArcher';\n            _aether.logStatementStart([{ofs: 3815, row: 108, col: 89}, {ofs: 3828, row: 108, col: 102}]); tmp325 = tmp326[tmp327];  _aether.logStatement([{ofs: 3815, row: 108, col: 89}, {ofs: 3828, row: 108, col: 102}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3814, row: 108, col: 88}, {ofs: 3828, row: 108, col: 102}]); tmp309 = !tmp325;  _aether.logStatement([{ofs: 3814, row: 108, col: 88}, {ofs: 3828, row: 108, col: 102}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3733, row: 108, col: 7}, {ofs: 3828, row: 108, col: 102}]); tmp309 = tmp310;  _aether.logStatement([{ofs: 3733, row: 108, col: 7}, {ofs: 3828, row: 108, col: 102}], _aether._userInfo, false);\n        }\n        if (tmp309) {\n            tmp328 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp329 = 'build';\n            _aether.logStatementStart([{ofs: 3851, row: 109, col: 19}, {ofs: 3859, row: 109, col: 27}]); tmp330 = 'archer';  _aether.logStatement([{ofs: 3851, row: 109, col: 19}, {ofs: 3859, row: 109, col: 27}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3840, row: 109, col: 8}, {ofs: 3860, row: 109, col: 28}]); tmp331 = _aether.createAPIClone(_aether, tmp328[tmp329](_aether.restoreAPIClone(_aether, tmp330)));  _aether.logStatement([{ofs: 3840, row: 109, col: 8}, {ofs: 3860, row: 109, col: 28}], _aether._userInfo, false);\n            _aether.logCallEnd(); return;\n        } else {\n            ;\n        }\n        tmp337 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp338 = 'myHero';\n        _aether.logStatementStart([{ofs: 3893, row: 114, col: 7}, {ofs: 3904, row: 114, col: 18}]); tmp336 = tmp337[tmp338];  _aether.logStatement([{ofs: 3893, row: 114, col: 7}, {ofs: 3904, row: 114, col: 18}], _aether._userInfo, false);\n        if (tmp336) {\n            tmp341 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp342 = 'myHero';\n            _aether.logStatementStart([{ofs: 3908, row: 114, col: 22}, {ofs: 3919, row: 114, col: 33}]); tmp339 = tmp341[tmp342];  _aether.logStatement([{ofs: 3908, row: 114, col: 22}, {ofs: 3919, row: 114, col: 33}], _aether._userInfo, false);\n            tmp340 = 'earlyJump';\n            _aether.logStatementStart([{ofs: 3908, row: 114, col: 22}, {ofs: 3929, row: 114, col: 43}]); tmp335 = tmp339[tmp340];  _aether.logStatement([{ofs: 3908, row: 114, col: 22}, {ofs: 3929, row: 114, col: 43}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3893, row: 114, col: 7}, {ofs: 3929, row: 114, col: 43}]); tmp335 = tmp336;  _aether.logStatement([{ofs: 3893, row: 114, col: 7}, {ofs: 3929, row: 114, col: 43}], _aether._userInfo, false);\n        }\n        if (tmp335) {\n            tmp345 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp346 = 'now';\n            _aether.logStatementStart([{ofs: 3933, row: 114, col: 47}, {ofs: 3943, row: 114, col: 57}]); tmp343 = _aether.createAPIClone(_aether, tmp345[tmp346]());  _aether.logStatement([{ofs: 3933, row: 114, col: 47}, {ofs: 3943, row: 114, col: 57}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3947, row: 114, col: 61}, {ofs: 3948, row: 114, col: 62}]); tmp344 = 5;  _aether.logStatement([{ofs: 3947, row: 114, col: 61}, {ofs: 3948, row: 114, col: 62}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3933, row: 114, col: 47}, {ofs: 3948, row: 114, col: 62}]); tmp334 = tmp343 >= tmp344;  _aether.logStatement([{ofs: 3933, row: 114, col: 47}, {ofs: 3948, row: 114, col: 62}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3893, row: 114, col: 7}, {ofs: 3948, row: 114, col: 62}]); tmp334 = tmp335;  _aether.logStatement([{ofs: 3893, row: 114, col: 7}, {ofs: 3948, row: 114, col: 62}], _aether._userInfo, false);\n        }\n        if (tmp334) {\n            tmp351 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp352 = 'myHero';\n            _aether.logStatementStart([{ofs: 3952, row: 114, col: 66}, {ofs: 3963, row: 114, col: 77}]); tmp349 = tmp351[tmp352];  _aether.logStatement([{ofs: 3952, row: 114, col: 66}, {ofs: 3963, row: 114, col: 77}], _aether._userInfo, false);\n            tmp350 = 'terrifyTargets';\n            _aether.logStatementStart([{ofs: 3952, row: 114, col: 66}, {ofs: 3978, row: 114, col: 92}]); tmp347 = tmp349[tmp350];  _aether.logStatement([{ofs: 3952, row: 114, col: 66}, {ofs: 3978, row: 114, col: 92}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3982, row: 114, col: 96}, {ofs: 3983, row: 114, col: 97}]); tmp348 = 2;  _aether.logStatement([{ofs: 3982, row: 114, col: 96}, {ofs: 3983, row: 114, col: 97}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3952, row: 114, col: 66}, {ofs: 3983, row: 114, col: 97}]); tmp333 = tmp347 != tmp348;  _aether.logStatement([{ofs: 3952, row: 114, col: 66}, {ofs: 3983, row: 114, col: 97}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3893, row: 114, col: 7}, {ofs: 3983, row: 114, col: 97}]); tmp333 = tmp334;  _aether.logStatement([{ofs: 3893, row: 114, col: 7}, {ofs: 3983, row: 114, col: 97}], _aether._userInfo, false);\n        }\n        if (tmp333) {\n            tmp354 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp355 = 'noArcher';\n            _aether.logStatementStart([{ofs: 3988, row: 114, col: 102}, {ofs: 4001, row: 114, col: 115}]); tmp353 = tmp354[tmp355];  _aether.logStatement([{ofs: 3988, row: 114, col: 102}, {ofs: 4001, row: 114, col: 115}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3987, row: 114, col: 101}, {ofs: 4001, row: 114, col: 115}]); tmp332 = !tmp353;  _aether.logStatement([{ofs: 3987, row: 114, col: 101}, {ofs: 4001, row: 114, col: 115}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 3893, row: 114, col: 7}, {ofs: 4001, row: 114, col: 115}]); tmp332 = tmp333;  _aether.logStatement([{ofs: 3893, row: 114, col: 7}, {ofs: 4001, row: 114, col: 115}], _aether._userInfo, false);\n        }\n        if (tmp332) {\n            tmp356 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp357 = 'build';\n            _aether.logStatementStart([{ofs: 4025, row: 115, col: 19}, {ofs: 4033, row: 115, col: 27}]); tmp358 = 'archer';  _aether.logStatement([{ofs: 4025, row: 115, col: 19}, {ofs: 4033, row: 115, col: 27}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4014, row: 115, col: 8}, {ofs: 4034, row: 115, col: 28}]); tmp359 = _aether.createAPIClone(_aether, tmp356[tmp357](_aether.restoreAPIClone(_aether, tmp358)));  _aether.logStatement([{ofs: 4014, row: 115, col: 8}, {ofs: 4034, row: 115, col: 28}], _aether._userInfo, false);\n            _aether.logCallEnd(); return;\n        } else {\n            ;\n        }\n        tmp363 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp364 = 'archers';\n        _aether.logStatementStart([{ofs: 4293, row: 124, col: 8}, {ofs: 4305, row: 124, col: 20}]); tmp362 = tmp363[tmp364];  _aether.logStatement([{ofs: 4293, row: 124, col: 8}, {ofs: 4305, row: 124, col: 20}], _aether._userInfo, false);\n        if (tmp362) {\n            tmp369 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp370 = 'friends';\n            _aether.logStatementStart([{ofs: 4309, row: 124, col: 24}, {ofs: 4321, row: 124, col: 36}]); tmp367 = tmp369[tmp370];  _aether.logStatement([{ofs: 4309, row: 124, col: 24}, {ofs: 4321, row: 124, col: 36}], _aether._userInfo, false);\n            tmp368 = 'length';\n            _aether.logStatementStart([{ofs: 4309, row: 124, col: 24}, {ofs: 4328, row: 124, col: 43}]); tmp365 = tmp367[tmp368];  _aether.logStatement([{ofs: 4309, row: 124, col: 24}, {ofs: 4328, row: 124, col: 43}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4332, row: 124, col: 47}, {ofs: 4333, row: 124, col: 48}]); tmp366 = 5;  _aether.logStatement([{ofs: 4332, row: 124, col: 47}, {ofs: 4333, row: 124, col: 48}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4309, row: 124, col: 24}, {ofs: 4333, row: 124, col: 48}]); tmp361 = tmp365 >= tmp366;  _aether.logStatement([{ofs: 4309, row: 124, col: 24}, {ofs: 4333, row: 124, col: 48}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 4293, row: 124, col: 8}, {ofs: 4333, row: 124, col: 48}]); tmp361 = tmp362;  _aether.logStatement([{ofs: 4293, row: 124, col: 8}, {ofs: 4333, row: 124, col: 48}], _aether._userInfo, false);\n        }\n        if (tmp361) {\n            _aether.logStatementStart([{ofs: 4292, row: 124, col: 7}, {ofs: 4371, row: 124, col: 86}]); tmp360 = tmp361;  _aether.logStatement([{ofs: 4292, row: 124, col: 7}, {ofs: 4371, row: 124, col: 86}], _aether._userInfo, false);\n        } else {\n            tmp374 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp375 = 'now';\n            _aether.logStatementStart([{ofs: 4338, row: 124, col: 53}, {ofs: 4348, row: 124, col: 63}]); tmp372 = _aether.createAPIClone(_aether, tmp374[tmp375]());  _aether.logStatement([{ofs: 4338, row: 124, col: 53}, {ofs: 4348, row: 124, col: 63}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4351, row: 124, col: 66}, {ofs: 4353, row: 124, col: 68}]); tmp373 = 12;  _aether.logStatement([{ofs: 4351, row: 124, col: 66}, {ofs: 4353, row: 124, col: 68}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4338, row: 124, col: 53}, {ofs: 4353, row: 124, col: 68}]); tmp371 = tmp372 > tmp373;  _aether.logStatement([{ofs: 4338, row: 124, col: 53}, {ofs: 4353, row: 124, col: 68}], _aether._userInfo, false);\n            if (tmp371) {\n                tmp377 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp378 = 'noArcher';\n                _aether.logStatementStart([{ofs: 4358, row: 124, col: 73}, {ofs: 4371, row: 124, col: 86}]); tmp376 = tmp377[tmp378];  _aether.logStatement([{ofs: 4358, row: 124, col: 73}, {ofs: 4371, row: 124, col: 86}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 4357, row: 124, col: 72}, {ofs: 4371, row: 124, col: 86}]); tmp360 = !tmp376;  _aether.logStatement([{ofs: 4357, row: 124, col: 72}, {ofs: 4371, row: 124, col: 86}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 4338, row: 124, col: 53}, {ofs: 4371, row: 124, col: 86}]); tmp360 = tmp371;  _aether.logStatement([{ofs: 4338, row: 124, col: 53}, {ofs: 4371, row: 124, col: 86}], _aether._userInfo, false);\n            }\n        }\n        if (tmp360) {\n            tmp379 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp380 = 'build';\n            _aether.logStatementStart([{ofs: 4394, row: 125, col: 19}, {ofs: 4402, row: 125, col: 27}]); tmp381 = 'archer';  _aether.logStatement([{ofs: 4394, row: 125, col: 19}, {ofs: 4402, row: 125, col: 27}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4383, row: 125, col: 8}, {ofs: 4403, row: 125, col: 28}]); tmp382 = _aether.createAPIClone(_aether, tmp379[tmp380](_aether.restoreAPIClone(_aether, tmp381)));  _aether.logStatement([{ofs: 4383, row: 125, col: 8}, {ofs: 4403, row: 125, col: 28}], _aether._userInfo, false);\n            _aether.logCallEnd(); return;\n        } else {\n            ;\n        }\n        tmp387 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp388 = 'myHero';\n        _aether.logStatementStart([{ofs: 4434, row: 128, col: 7}, {ofs: 4445, row: 128, col: 18}]); tmp386 = tmp387[tmp388];  _aether.logStatement([{ofs: 4434, row: 128, col: 7}, {ofs: 4445, row: 128, col: 18}], _aether._userInfo, false);\n        if (tmp386) {\n            tmp391 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp392 = 'myHero';\n            _aether.logStatementStart([{ofs: 4449, row: 128, col: 22}, {ofs: 4460, row: 128, col: 33}]); tmp389 = tmp391[tmp392];  _aether.logStatement([{ofs: 4449, row: 128, col: 22}, {ofs: 4460, row: 128, col: 33}], _aether._userInfo, false);\n            tmp390 = 'lateJump';\n            _aether.logStatementStart([{ofs: 4449, row: 128, col: 22}, {ofs: 4469, row: 128, col: 42}]); tmp385 = tmp389[tmp390];  _aether.logStatement([{ofs: 4449, row: 128, col: 22}, {ofs: 4469, row: 128, col: 42}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 4434, row: 128, col: 7}, {ofs: 4469, row: 128, col: 42}]); tmp385 = tmp386;  _aether.logStatement([{ofs: 4434, row: 128, col: 7}, {ofs: 4469, row: 128, col: 42}], _aether._userInfo, false);\n        }\n        if (tmp385) {\n            tmp397 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp398 = 'friends';\n            _aether.logStatementStart([{ofs: 4473, row: 128, col: 46}, {ofs: 4485, row: 128, col: 58}]); tmp395 = tmp397[tmp398];  _aether.logStatement([{ofs: 4473, row: 128, col: 46}, {ofs: 4485, row: 128, col: 58}], _aether._userInfo, false);\n            tmp396 = 'length';\n            _aether.logStatementStart([{ofs: 4473, row: 128, col: 46}, {ofs: 4492, row: 128, col: 65}]); tmp393 = tmp395[tmp396];  _aether.logStatement([{ofs: 4473, row: 128, col: 46}, {ofs: 4492, row: 128, col: 65}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4496, row: 128, col: 69}, {ofs: 4497, row: 128, col: 70}]); tmp394 = 3;  _aether.logStatement([{ofs: 4496, row: 128, col: 69}, {ofs: 4497, row: 128, col: 70}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4473, row: 128, col: 46}, {ofs: 4497, row: 128, col: 70}]); tmp384 = tmp393 >= tmp394;  _aether.logStatement([{ofs: 4473, row: 128, col: 46}, {ofs: 4497, row: 128, col: 70}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 4434, row: 128, col: 7}, {ofs: 4497, row: 128, col: 70}]); tmp384 = tmp385;  _aether.logStatement([{ofs: 4434, row: 128, col: 7}, {ofs: 4497, row: 128, col: 70}], _aether._userInfo, false);\n        }\n        if (tmp384) {\n            tmp400 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp401 = 'noArcher';\n            _aether.logStatementStart([{ofs: 4502, row: 128, col: 75}, {ofs: 4515, row: 128, col: 88}]); tmp399 = tmp400[tmp401];  _aether.logStatement([{ofs: 4502, row: 128, col: 75}, {ofs: 4515, row: 128, col: 88}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4501, row: 128, col: 74}, {ofs: 4515, row: 128, col: 88}]); tmp383 = !tmp399;  _aether.logStatement([{ofs: 4501, row: 128, col: 74}, {ofs: 4515, row: 128, col: 88}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 4434, row: 128, col: 7}, {ofs: 4515, row: 128, col: 88}]); tmp383 = tmp384;  _aether.logStatement([{ofs: 4434, row: 128, col: 7}, {ofs: 4515, row: 128, col: 88}], _aether._userInfo, false);\n        }\n        if (tmp383) {\n            tmp402 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp403 = 'build';\n            _aether.logStatementStart([{ofs: 4538, row: 129, col: 19}, {ofs: 4546, row: 129, col: 27}]); tmp404 = 'archer';  _aether.logStatement([{ofs: 4538, row: 129, col: 19}, {ofs: 4546, row: 129, col: 27}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4527, row: 129, col: 8}, {ofs: 4547, row: 129, col: 28}]); tmp405 = _aether.createAPIClone(_aether, tmp402[tmp403](_aether.restoreAPIClone(_aether, tmp404)));  _aether.logStatement([{ofs: 4527, row: 129, col: 8}, {ofs: 4547, row: 129, col: 28}], _aether._userInfo, false);\n            _aether.logCallEnd(); return;\n        } else {\n            ;\n        }\n        tmp412 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp413 = 'enemies';\n        _aether.logStatementStart([{ofs: 4580, row: 134, col: 4}, {ofs: 4592, row: 134, col: 16}]); tmp410 = tmp412[tmp413];  _aether.logStatement([{ofs: 4580, row: 134, col: 4}, {ofs: 4592, row: 134, col: 16}], _aether._userInfo, false);\n        tmp411 = 'length';\n        _aether.logStatementStart([{ofs: 4580, row: 134, col: 4}, {ofs: 4599, row: 134, col: 23}]); tmp408 = tmp410[tmp411];  _aether.logStatement([{ofs: 4580, row: 134, col: 4}, {ofs: 4599, row: 134, col: 23}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 4603, row: 134, col: 27}, {ofs: 4604, row: 134, col: 28}]); tmp409 = 3;  _aether.logStatement([{ofs: 4603, row: 134, col: 27}, {ofs: 4604, row: 134, col: 28}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 4580, row: 134, col: 4}, {ofs: 4604, row: 134, col: 28}]); tmp407 = tmp408 >= tmp409;  _aether.logStatement([{ofs: 4580, row: 134, col: 4}, {ofs: 4604, row: 134, col: 28}], _aether._userInfo, false);\n        if (tmp407) {\n            tmp415 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp416 = 'noArcher';\n            _aether.logStatementStart([{ofs: 4609, row: 134, col: 33}, {ofs: 4622, row: 134, col: 46}]); tmp414 = tmp415[tmp416];  _aether.logStatement([{ofs: 4609, row: 134, col: 33}, {ofs: 4622, row: 134, col: 46}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4608, row: 134, col: 32}, {ofs: 4622, row: 134, col: 46}]); tmp406 = !tmp414;  _aether.logStatement([{ofs: 4608, row: 134, col: 32}, {ofs: 4622, row: 134, col: 46}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 4580, row: 134, col: 4}, {ofs: 4622, row: 134, col: 46}]); tmp406 = tmp407;  _aether.logStatement([{ofs: 4580, row: 134, col: 4}, {ofs: 4622, row: 134, col: 46}], _aether._userInfo, false);\n        }\n        if (tmp406) {\n            _aether.logStatementStart([{ofs: 4630, row: 135, col: 4}, {ofs: 4644, row: 135, col: 18}]); count = 0;  _aether.logStatement([{ofs: 4630, row: 135, col: 4}, {ofs: 4644, row: 135, col: 18}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4649, row: 136, col: 4}, {ofs: 4664, row: 136, col: 19}]); ranged = 0;  _aether.logStatement([{ofs: 4649, row: 136, col: 4}, {ofs: 4664, row: 136, col: 19}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4674, row: 137, col: 9}, {ofs: 4683, row: 137, col: 18}]); i = 1;  _aether.logStatement([{ofs: 4674, row: 137, col: 9}, {ofs: 4683, row: 137, col: 18}], _aether._userInfo, false);\n            tmp418 = i;\n            tmp422 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp423 = 'enemies';\n            _aether.logStatementStart([{ofs: 4689, row: 137, col: 24}, {ofs: 4701, row: 137, col: 36}]); tmp420 = tmp422[tmp423];  _aether.logStatement([{ofs: 4689, row: 137, col: 24}, {ofs: 4701, row: 137, col: 36}], _aether._userInfo, false);\n            tmp421 = 'length';\n            _aether.logStatementStart([{ofs: 4689, row: 137, col: 24}, {ofs: 4708, row: 137, col: 43}]); tmp419 = tmp420[tmp421];  _aether.logStatement([{ofs: 4689, row: 137, col: 24}, {ofs: 4708, row: 137, col: 43}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4685, row: 137, col: 20}, {ofs: 4708, row: 137, col: 43}]); tmp417 = tmp418 < tmp419;  _aether.logStatement([{ofs: 4685, row: 137, col: 20}, {ofs: 4708, row: 137, col: 43}], _aether._userInfo, false);\n            tmp432: {\n                while (tmp417) {\n                    tmp433: {\n                        tmp440 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp441 = 'enemies';\n                        _aether.logStatementStart([{ofs: 4729, row: 138, col: 12}, {ofs: 4741, row: 138, col: 24}]); tmp438 = tmp440[tmp441];  _aether.logStatement([{ofs: 4729, row: 138, col: 12}, {ofs: 4741, row: 138, col: 24}], _aether._userInfo, false);\n                        tmp439 = i;\n                        _aether.logStatementStart([{ofs: 4729, row: 138, col: 12}, {ofs: 4744, row: 138, col: 27}]); tmp436 = tmp438[tmp439];  _aether.logStatement([{ofs: 4729, row: 138, col: 12}, {ofs: 4744, row: 138, col: 27}], _aether._userInfo, false);\n                        tmp437 = 'target';\n                        _aether.logStatementStart([{ofs: 4729, row: 138, col: 12}, {ofs: 4751, row: 138, col: 34}]); tmp435 = tmp436[tmp437];  _aether.logStatement([{ofs: 4729, row: 138, col: 12}, {ofs: 4751, row: 138, col: 34}], _aether._userInfo, false);\n                        if (tmp435) {\n                            tmp450 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp451 = 'enemies';\n                            _aether.logStatementStart([{ofs: 4755, row: 138, col: 38}, {ofs: 4767, row: 138, col: 50}]); tmp448 = tmp450[tmp451];  _aether.logStatement([{ofs: 4755, row: 138, col: 38}, {ofs: 4767, row: 138, col: 50}], _aether._userInfo, false);\n                            tmp449 = i;\n                            _aether.logStatementStart([{ofs: 4755, row: 138, col: 38}, {ofs: 4770, row: 138, col: 53}]); tmp446 = tmp448[tmp449];  _aether.logStatement([{ofs: 4755, row: 138, col: 38}, {ofs: 4770, row: 138, col: 53}], _aether._userInfo, false);\n                            tmp447 = 'target';\n                            _aether.logStatementStart([{ofs: 4755, row: 138, col: 38}, {ofs: 4777, row: 138, col: 60}]); tmp444 = tmp446[tmp447];  _aether.logStatement([{ofs: 4755, row: 138, col: 38}, {ofs: 4777, row: 138, col: 60}], _aether._userInfo, false);\n                            tmp445 = 'type';\n                            _aether.logStatementStart([{ofs: 4755, row: 138, col: 38}, {ofs: 4782, row: 138, col: 65}]); tmp442 = tmp444[tmp445];  _aether.logStatement([{ofs: 4755, row: 138, col: 38}, {ofs: 4782, row: 138, col: 65}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 4787, row: 138, col: 70}, {ofs: 4793, row: 138, col: 76}]); tmp443 = 'base';  _aether.logStatement([{ofs: 4787, row: 138, col: 70}, {ofs: 4793, row: 138, col: 76}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 4755, row: 138, col: 38}, {ofs: 4793, row: 138, col: 76}]); tmp434 = tmp442 === tmp443;  _aether.logStatement([{ofs: 4755, row: 138, col: 38}, {ofs: 4793, row: 138, col: 76}], _aether._userInfo, false);\n                        } else {\n                            _aether.logStatementStart([{ofs: 4729, row: 138, col: 12}, {ofs: 4793, row: 138, col: 76}]); tmp434 = tmp435;  _aether.logStatement([{ofs: 4729, row: 138, col: 12}, {ofs: 4793, row: 138, col: 76}], _aether._userInfo, false);\n                        }\n                        if (tmp434) {\n                            _aether.logStatementStart([{ofs: 4809, row: 139, col: 12}, {ofs: 4820, row: 139, col: 23}]); tmp452 = 1;  _aether.logStatement([{ofs: 4809, row: 139, col: 12}, {ofs: 4820, row: 139, col: 23}], _aether._userInfo, false);\n                            tmp453 = count;\n                            tmp454 = tmp452;\n                            count = tmp453 + tmp454;\n                        } else {\n                            ;\n                        }\n                        tmp462 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp463 = 'enemies';\n                        _aether.logStatementStart([{ofs: 4843, row: 141, col: 12}, {ofs: 4855, row: 141, col: 24}]); tmp460 = tmp462[tmp463];  _aether.logStatement([{ofs: 4843, row: 141, col: 12}, {ofs: 4855, row: 141, col: 24}], _aether._userInfo, false);\n                        tmp461 = i;\n                        _aether.logStatementStart([{ofs: 4843, row: 141, col: 12}, {ofs: 4858, row: 141, col: 27}]); tmp458 = tmp460[tmp461];  _aether.logStatement([{ofs: 4843, row: 141, col: 12}, {ofs: 4858, row: 141, col: 27}], _aether._userInfo, false);\n                        tmp459 = 'type';\n                        _aether.logStatementStart([{ofs: 4843, row: 141, col: 12}, {ofs: 4863, row: 141, col: 32}]); tmp456 = tmp458[tmp459];  _aether.logStatement([{ofs: 4843, row: 141, col: 12}, {ofs: 4863, row: 141, col: 32}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 4868, row: 141, col: 37}, {ofs: 4877, row: 141, col: 46}]); tmp457 = 'thrower';  _aether.logStatement([{ofs: 4868, row: 141, col: 37}, {ofs: 4877, row: 141, col: 46}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 4843, row: 141, col: 12}, {ofs: 4877, row: 141, col: 46}]); tmp455 = tmp456 === tmp457;  _aether.logStatement([{ofs: 4843, row: 141, col: 12}, {ofs: 4877, row: 141, col: 46}], _aether._userInfo, false);\n                        if (tmp455) {\n                            _aether.logStatementStart([{ofs: 4893, row: 142, col: 12}, {ofs: 4905, row: 142, col: 24}]); tmp464 = 1;  _aether.logStatement([{ofs: 4893, row: 142, col: 12}, {ofs: 4905, row: 142, col: 24}], _aether._userInfo, false);\n                            tmp465 = ranged;\n                            tmp466 = tmp464;\n                            ranged = tmp465 + tmp466;\n                        } else {\n                            ;\n                        }\n                    }\n                    tmp430 = i;\n                    tmp431 = 1;\n                    i = tmp430 + tmp431;\n                    tmp424 = i;\n                    tmp428 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp429 = 'enemies';\n                    _aether.logStatementStart([{ofs: 4689, row: 137, col: 24}, {ofs: 4701, row: 137, col: 36}]); tmp426 = tmp428[tmp429];  _aether.logStatement([{ofs: 4689, row: 137, col: 24}, {ofs: 4701, row: 137, col: 36}], _aether._userInfo, false);\n                    tmp427 = 'length';\n                    _aether.logStatementStart([{ofs: 4689, row: 137, col: 24}, {ofs: 4708, row: 137, col: 43}]); tmp425 = tmp426[tmp427];  _aether.logStatement([{ofs: 4689, row: 137, col: 24}, {ofs: 4708, row: 137, col: 43}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 4685, row: 137, col: 20}, {ofs: 4708, row: 137, col: 43}]); tmp417 = tmp424 < tmp425;  _aether.logStatement([{ofs: 4685, row: 137, col: 20}, {ofs: 4708, row: 137, col: 43}], _aether._userInfo, false);\n                }\n            }\n            tmp469 = count;\n            tmp475 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp476 = 'enemies';\n            _aether.logStatementStart([{ofs: 4939, row: 145, col: 17}, {ofs: 4951, row: 145, col: 29}]); tmp473 = tmp475[tmp476];  _aether.logStatement([{ofs: 4939, row: 145, col: 17}, {ofs: 4951, row: 145, col: 29}], _aether._userInfo, false);\n            tmp474 = 'length';\n            _aether.logStatementStart([{ofs: 4939, row: 145, col: 17}, {ofs: 4958, row: 145, col: 36}]); tmp471 = tmp473[tmp474];  _aether.logStatement([{ofs: 4939, row: 145, col: 17}, {ofs: 4958, row: 145, col: 36}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4961, row: 145, col: 39}, {ofs: 4962, row: 145, col: 40}]); tmp472 = 2;  _aether.logStatement([{ofs: 4961, row: 145, col: 39}, {ofs: 4962, row: 145, col: 40}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4939, row: 145, col: 17}, {ofs: 4962, row: 145, col: 40}]); tmp470 = tmp471 - tmp472;  _aether.logStatement([{ofs: 4939, row: 145, col: 17}, {ofs: 4962, row: 145, col: 40}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4930, row: 145, col: 8}, {ofs: 4962, row: 145, col: 40}]); tmp468 = tmp469 >= tmp470;  _aether.logStatement([{ofs: 4930, row: 145, col: 8}, {ofs: 4962, row: 145, col: 40}], _aether._userInfo, false);\n            if (tmp468) {\n                tmp477 = ranged;\n                _aether.logStatementStart([{ofs: 4976, row: 145, col: 54}, {ofs: 4977, row: 145, col: 55}]); tmp478 = 1;  _aether.logStatement([{ofs: 4976, row: 145, col: 54}, {ofs: 4977, row: 145, col: 55}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 4966, row: 145, col: 44}, {ofs: 4977, row: 145, col: 55}]); tmp467 = tmp477 >= tmp478;  _aether.logStatement([{ofs: 4966, row: 145, col: 44}, {ofs: 4977, row: 145, col: 55}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 4930, row: 145, col: 8}, {ofs: 4977, row: 145, col: 55}]); tmp467 = tmp468;  _aether.logStatement([{ofs: 4930, row: 145, col: 8}, {ofs: 4977, row: 145, col: 55}], _aether._userInfo, false);\n            }\n            if (tmp467) {\n                tmp479 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp480 = 'archers';\n                _aether.logStatementStart([{ofs: 4989, row: 146, col: 8}, {ofs: 5009, row: 146, col: 28}]); tmp481 = true;  _aether.logStatement([{ofs: 4989, row: 146, col: 8}, {ofs: 5009, row: 146, col: 28}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 4989, row: 146, col: 8}, {ofs: 5008, row: 146, col: 27}]); tmp479[tmp480] = tmp481;  _aether.logStatement([{ofs: 4989, row: 146, col: 8}, {ofs: 5008, row: 146, col: 27}], _aether._userInfo, false);\n            } else {\n                ;\n            }\n        } else {\n            ;\n        }\n        tmp482 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp483 = 'build';\n        _aether.logStatementStart([{ofs: 5060, row: 150, col: 11}, {ofs: 5069, row: 150, col: 20}]); tmp484 = 'soldier';  _aether.logStatement([{ofs: 5060, row: 150, col: 11}, {ofs: 5069, row: 150, col: 20}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 5049, row: 150, col: 0}, {ofs: 5070, row: 150, col: 21}]); tmp485 = _aether.createAPIClone(_aether, tmp482[tmp483](_aether.restoreAPIClone(_aether, tmp484)));  _aether.logStatement([{ofs: 5049, row: 150, col: 0}, {ofs: 5070, row: 150, col: 21}], _aether._userInfo, false);\n        _aether.logCallEnd(); return;\n    };\n    tmp0 = 'chooseAction';\n    __global[tmp0] = tmp1;\n}(this));"
         },
         "programmable-tharin": {
-          "chooseAction": "..."
+          "chooseAction": "var __interceptThis=(function(){var G=this;return function($this,sandbox){if($this==G){return sandbox;}return $this;};})();\nreturn (function (__global) {\n    var tmp0, tmp1;\n    tmp1 = function () {\n        'use strict'; _aether.logCallStart(_aether._userInfo); var tUnit, tmp2, tmp3, tmp4, tmp45, tmp46, tmp47, tmp79, tmp80, tmp81, tmp186, tmp187, tmp188, tmp239, tmp240, tmp241, tmp273, tmp274, tmp275, tmp324, tmp325, tmp326, tmp376, tmp377, tmp378, tmp428, tmp429, tmp430, tmp494, tmp495, tmp496, tmp623, tmp624, tmp625, tmp626, tmp627, tmp628, tmp629, tmp630, tmp631, tmp632, tmp633, tmp634, tmp635, tmp636, tmp637, tmp638, tmp639, tmp640, tmp641, tmp642, tmp643, tmp644, tmp645, tmp646, tmp647, tmp648, tmp649, tmp650, tmp651, tmp652, tmp653, tmp654, tmp655, tmp656, tmp657, tmp658, tmp659, tmp660, tmp661, tmp662, tmp663, tmp664, tmp665, tmp666, tmp667, tmp668, tmp669, tmp670, tmp671, tmp672, tmp673, tmp674, tmp675, tmp676, tmp677, tmp678, tmp679, tmp680, tmp681, tmp682, tmp683, tmp684, tmp685, tmp686, tmp687, tmp688, tmp689, tmp690, tmp691, tmp692, tmp693, tmp694, tmp695, tmp696, tmp697, tmp698, tmp699, tmp700, tmp701, tmp702, tmp703, tmp704, tmp705, tmp706, tmp707, tmp708, tmp709, tmp710, tmp711, tmp712, tmp713, tmp714, tmp715, tmp716, tmp717, tmp718, tmp719, tmp720, tmp721, tmp722, tmp723, tmp724, tmp725, tmp726, tmp727, tmp728, tmp729, tmp730, tmp731, tmp732, tmp733, tmp734, tmp735, tmp736, tmp737, tmp738, tmp739, tmp740, tmp741, tmp742, tmp743, tmp744, tmp745, tmp746, tmp747, tmp748, tmp749, tmp750, tmp751, tmp752, tmp753, tmp754, tmp755, tmp756, tmp757, tmp758, tmp759, tmp760, tmp761, tmp762, tmp763, tmp764, tmp765, tmp766, tmp767, tmp768, tmp769, tmp770, tmp771, tmp772, tmp773, tmp774, tmp775, tmp776, tmp777, tmp778, tmp779, tmp780, tmp781, tmp782, tmp783, tmp784, tmp785, tmp786, tmp787, tmp788, tmp789, tmp790, tmp791, tmp792, tmp793, tmp794, tmp795, tmp796, tmp797, tmp798, tmp799, tmp800, tmp801, tmp802, tmp803, tmp804, tmp805, tmp806, tmp807, tmp808, tmp809, tmp810, tmp811, tmp812, tmp813, tmp814, tmp815, tmp816, tmp817, tmp818, tmp819, tmp820, tmp821, tmp822, tmp823, tmp824, tmp825, tmp826, tmp827, tmp828, tmp829, tmp830, tmp831, tmp832, tmp833, tmp834, tmp835, tmp836, tmp837, tmp838, tmp839, tmp840, tmp841, tmp842, tmp843, tmp844, tmp845, tmp846, tmp847, tmp848, tmp849, tmp850, tmp851, tmp852, tmp853, tmp854, tmp855, tmp856, tmp857, tmp858, tmp859, tmp860, tmp861, tmp862, tmp863, tmp864, tmp865, tmp866, tmp867, tmp868, tmp869, tmp870, tmp871, tmp872, tmp873, tmp874, tmp875, tmp876, tmp877, tmp878, tmp879, tmp880, tmp881, tmp882, tmp883, tmp884, tmp885, tmp886, tmp887, tmp888, tmp889, tmp890, tmp891, tmp892, tmp893, tmp894, tmp895, tmp896, tmp897, tmp898, tmp899, tmp900, tmp901, tmp902, tmp903, tmp904, tmp905, tmp906, tmp907, tmp908, tmp909, tmp910, tmp911, tmp912, tmp913, tmp914, tmp915, tmp916, tmp917, tmp918, tmp919, tmp920, tmp921, tmp922, tmp923, tmp924, tmp925, tmp926, tmp927, tmp928, tmp929, tmp930, tmp931, tmp932, tmp933, tmp934, tmp935, tmp936, tmp937, tmp938, tmp939, tmp940, tmp941, tmp942, tmp943, tmp944, tmp945, tmp946, tmp947, tmp948, tmp949, tmp950, tmp951, tmp952, tmp953, tmp954, tmp955, tmp956, tmp957, tmp958, tmp959, tmp960, tmp961, tmp962, tmp963, tmp964, tmp965, tmp966, tmp967, tmp968, tmp969, tmp970, tmp971, tmp972, tmp973, tmp974, tmp975, tmp976, tmp977, tmp978, tmp979, tmp980, tmp981, tmp982, tmp983, tmp984, tmp985, tmp986, tmp987, tmp988, tmp989, tmp990, tmp991, tmp992, tmp993, tmp994, tmp995, tmp996, tmp997, tmp998, tmp999, tmp1000, tmp1001, tmp1002, tmp1003, tmp1004, tmp1005, tmp1006, tmp1007, tmp1008, tmp1009, tmp1010, tmp1011, tmp1012, tmp1013, tmp1014, tmp1015, tmp1016, tmp1017, tmp1018, tmp1019, tmp1020, tmp1021, tmp1022, tmp1023, tmp1024, tmp1025, tmp1026, tmp1027, tmp1028, tmp1029, tmp1030, tmp1031, tmp1032, tmp1033, tmp1034, tmp1035, tmp1036, tmp1037, tmp1038, tmp1039, tmp1040, tmp1041, tmp1042, tmp1043, tmp1044, tmp1045, tmp1046, tmp1047, tmp1048, tmp1049, tmp1050, tmp1051, tmp1052, tmp1053, tmp1054, tmp1055, tmp1056, tmp1057, tmp1058, tmp1059, tmp1060, tmp1061, tmp1062, tmp1063, tmp1064, tmp1065, tmp1066, tmp1067, tmp1068, tmp1069, tmp1070, tmp1071, tmp1072, tmp1073, tmp1074, tmp1075, tmp1076, tmp1077, tmp1078, tmp1079, tmp1080, tmp1081, tmp1082, tmp1083, tmp1084, tmp1085, tmp1086, tmp1087, tmp1088, tmp1089, tmp1090, tmp1091, tmp1092, tmp1093, tmp1094, tmp1095, tmp1096, tmp1097, tmp1098, tmp1099, tmp1100, tmp1101, tmp1102, tmp1103, tmp1104, tmp1105, tmp1106, tmp1107, tmp1108, tmp1109, tmp1110, tmp1111, tmp1112, tmp1113, tmp1114, tmp1115, tmp1116, tmp1117, tmp1118, tmp1119, tmp1120, tmp1121, tmp1122, tmp1123, tmp1124, tmp1125, tmp1126, tmp1127, tmp1128, tmp1129, tmp1130, tmp1131, tmp1132, tmp1133, tmp1134, tmp1135, tmp1136, tmp1137, tmp1138, tmp1139, tmp1140, tmp1141, tmp1142, tmp1143, tmp1144, tmp1145, tmp1146, tmp1147, tmp1148, tmp1149, tmp1150, tmp1151, tmp1152, tmp1153, tmp1154, tmp1155, tmp1156, tmp1157, tmp1158, tmp1159, tmp1160, tmp1161, tmp1162, tmp1163, tmp1164, tmp1165, tmp1166, tmp1167, tmp1168, tmp1169, tmp1170, tmp1171, tmp1172, tmp1173, tmp1174, tmp1175, tmp1176, tmp1177, tmp1178, tmp1179, tmp1180, tmp1181, tmp1182, tmp1183, tmp1184, tmp1185, tmp1186, tmp1187, tmp1188, tmp1189, tmp1190, tmp1191, tmp1192, tmp1193, tmp1194, tmp1195, tmp1196, tmp1197, tmp1198, tmp1199, tmp1200, tmp1201, tmp1202, tmp1203, tmp1204, tmp1205, tmp1206, tmp1207, tmp1208, tmp1209, tmp1210, tmp1211, tmp1212, tmp1213, tmp1214, tmp1215, tmp1216, tmp1217, tmp1218, tmp1219, tmp1220, tmp1221, tmp1222, tmp1223, tmp1224, tmp1225, tmp1226, tmp1227, tmp1228, tmp1229, tmp1230, tmp1231, tmp1232, tmp1233, tmp1234, tmp1235, tmp1236, tmp1237, tmp1238, tmp1239, tmp1240, tmp1241, tmp1242, tmp1243, tmp1244, tmp1245, tmp1246, tmp1247, tmp1248, tmp1249, tmp1250, tmp1251, tmp1252, tmp1253, tmp1254, tmp1255, tmp1256, tmp1257, tmp1258, tmp1259, tmp1260, tmp1261, tmp1262, tmp1263, tmp1264, tmp1265, tmp1266, tmp1267, tmp1268, tmp1269, tmp1270, tmp1271, tmp1272, tmp1273, tmp1274, tmp1275;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n        tmp2 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp3 = 'getEnemyHero';\n        _aether.logStatementStart([{ofs: 0, row: 0, col: 0}, {ofs: 264, row: 7, col: 2}]); tmp4 = function () {\n            var i, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16, tmp17, tmp18, tmp19, tmp22, tmp23, tmp24, tmp25, tmp26, tmp27, tmp28, tmp29, tmp30, tmp31, tmp32, tmp33, tmp34, tmp35, tmp36, tmp37, tmp38, tmp39, tmp40, tmp41, tmp42, tmp43, tmp44;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 81, row: 2, col: 8}, {ofs: 90, row: 2, col: 17}]); i = 0;  _aether.logStatement([{ofs: 81, row: 2, col: 8}, {ofs: 90, row: 2, col: 17}], _aether._userInfo, false);\n            tmp6 = i;\n            tmp10 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp11 = 'enemies';\n            _aether.logStatementStart([{ofs: 96, row: 2, col: 23}, {ofs: 108, row: 2, col: 35}]); tmp8 = tmp10[tmp11];  _aether.logStatement([{ofs: 96, row: 2, col: 23}, {ofs: 108, row: 2, col: 35}], _aether._userInfo, false);\n            tmp9 = 'length';\n            _aether.logStatementStart([{ofs: 96, row: 2, col: 23}, {ofs: 115, row: 2, col: 42}]); tmp7 = tmp8[tmp9];  _aether.logStatement([{ofs: 96, row: 2, col: 23}, {ofs: 115, row: 2, col: 42}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 92, row: 2, col: 19}, {ofs: 115, row: 2, col: 42}]); tmp5 = tmp6 < tmp7;  _aether.logStatement([{ofs: 92, row: 2, col: 19}, {ofs: 115, row: 2, col: 42}], _aether._userInfo, false);\n            tmp20: {\n                while (tmp5) {\n                    tmp21: {\n                        tmp30 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp31 = 'enemies';\n                        _aether.logStatementStart([{ofs: 135, row: 3, col: 11}, {ofs: 147, row: 3, col: 23}]); tmp28 = tmp30[tmp31];  _aether.logStatement([{ofs: 135, row: 3, col: 11}, {ofs: 147, row: 3, col: 23}], _aether._userInfo, false);\n                        tmp29 = i;\n                        _aether.logStatementStart([{ofs: 135, row: 3, col: 11}, {ofs: 150, row: 3, col: 26}]); tmp26 = tmp28[tmp29];  _aether.logStatement([{ofs: 135, row: 3, col: 11}, {ofs: 150, row: 3, col: 26}], _aether._userInfo, false);\n                        tmp27 = 'type';\n                        _aether.logStatementStart([{ofs: 135, row: 3, col: 11}, {ofs: 155, row: 3, col: 31}]); tmp24 = tmp26[tmp27];  _aether.logStatement([{ofs: 135, row: 3, col: 11}, {ofs: 155, row: 3, col: 31}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 160, row: 3, col: 36}, {ofs: 169, row: 3, col: 45}]); tmp25 = 'brawler';  _aether.logStatement([{ofs: 160, row: 3, col: 36}, {ofs: 169, row: 3, col: 45}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 135, row: 3, col: 11}, {ofs: 169, row: 3, col: 45}]); tmp23 = tmp24 === tmp25;  _aether.logStatement([{ofs: 135, row: 3, col: 11}, {ofs: 169, row: 3, col: 45}], _aether._userInfo, false);\n                        if (tmp23) {\n                            _aether.logStatementStart([{ofs: 135, row: 3, col: 11}, {ofs: 206, row: 3, col: 82}]); tmp22 = tmp23;  _aether.logStatement([{ofs: 135, row: 3, col: 11}, {ofs: 206, row: 3, col: 82}], _aether._userInfo, false);\n                        } else {\n                            tmp38 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp39 = 'enemies';\n                            _aether.logStatementStart([{ofs: 173, row: 3, col: 49}, {ofs: 185, row: 3, col: 61}]); tmp36 = tmp38[tmp39];  _aether.logStatement([{ofs: 173, row: 3, col: 49}, {ofs: 185, row: 3, col: 61}], _aether._userInfo, false);\n                            tmp37 = i;\n                            _aether.logStatementStart([{ofs: 173, row: 3, col: 49}, {ofs: 188, row: 3, col: 64}]); tmp34 = tmp36[tmp37];  _aether.logStatement([{ofs: 173, row: 3, col: 49}, {ofs: 188, row: 3, col: 64}], _aether._userInfo, false);\n                            tmp35 = 'type';\n                            _aether.logStatementStart([{ofs: 173, row: 3, col: 49}, {ofs: 193, row: 3, col: 69}]); tmp32 = tmp34[tmp35];  _aether.logStatement([{ofs: 173, row: 3, col: 49}, {ofs: 193, row: 3, col: 69}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 198, row: 3, col: 74}, {ofs: 206, row: 3, col: 82}]); tmp33 = 'shaman';  _aether.logStatement([{ofs: 198, row: 3, col: 74}, {ofs: 206, row: 3, col: 82}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 173, row: 3, col: 49}, {ofs: 206, row: 3, col: 82}]); tmp22 = tmp32 === tmp33;  _aether.logStatement([{ofs: 173, row: 3, col: 49}, {ofs: 206, row: 3, col: 82}], _aether._userInfo, false);\n                        }\n                        if (tmp22) {\n                            tmp43 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp44 = 'enemies';\n                            _aether.logStatementStart([{ofs: 229, row: 4, col: 19}, {ofs: 241, row: 4, col: 31}]); tmp41 = tmp43[tmp44];  _aether.logStatement([{ofs: 229, row: 4, col: 19}, {ofs: 241, row: 4, col: 31}], _aether._userInfo, false);\n                            tmp42 = i;\n                            _aether.logStatementStart([{ofs: 229, row: 4, col: 19}, {ofs: 244, row: 4, col: 34}]); tmp40 = tmp41[tmp42];  _aether.logStatement([{ofs: 229, row: 4, col: 19}, {ofs: 244, row: 4, col: 34}], _aether._userInfo, false);\n                            return _aether.restoreAPIClone(_aether, tmp40);\n                        } else {\n                            ;\n                        }\n                    }\n                    tmp18 = i;\n                    tmp19 = 1;\n                    i = tmp18 + tmp19;\n                    tmp12 = i;\n                    tmp16 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp17 = 'enemies';\n                    _aether.logStatementStart([{ofs: 96, row: 2, col: 23}, {ofs: 108, row: 2, col: 35}]); tmp14 = tmp16[tmp17];  _aether.logStatement([{ofs: 96, row: 2, col: 23}, {ofs: 108, row: 2, col: 35}], _aether._userInfo, false);\n                    tmp15 = 'length';\n                    _aether.logStatementStart([{ofs: 96, row: 2, col: 23}, {ofs: 115, row: 2, col: 42}]); tmp13 = tmp14[tmp15];  _aether.logStatement([{ofs: 96, row: 2, col: 23}, {ofs: 115, row: 2, col: 42}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 92, row: 2, col: 19}, {ofs: 115, row: 2, col: 42}]); tmp5 = tmp12 < tmp13;  _aether.logStatement([{ofs: 92, row: 2, col: 19}, {ofs: 115, row: 2, col: 42}], _aether._userInfo, false);\n                }\n            }\n            return;\n        };  _aether.logStatement([{ofs: 0, row: 0, col: 0}, {ofs: 264, row: 7, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 0, row: 0, col: 0}, {ofs: 263, row: 7, col: 1}]); tmp2[tmp3] = tmp4;  _aether.logStatement([{ofs: 0, row: 0, col: 0}, {ofs: 263, row: 7, col: 1}], _aether._userInfo, false);\n        tmp45 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp46 = 'getEnemyBase';\n        _aether.logStatementStart([{ofs: 266, row: 9, col: 0}, {ofs: 450, row: 15, col: 2}]); tmp47 = function () {\n            var i, tmp48, tmp49, tmp50, tmp51, tmp52, tmp53, tmp54, tmp55, tmp56, tmp57, tmp58, tmp59, tmp60, tmp61, tmp62, tmp65, tmp66, tmp67, tmp68, tmp69, tmp70, tmp71, tmp72, tmp73, tmp74, tmp75, tmp76, tmp77, tmp78;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 307, row: 10, col: 8}, {ofs: 316, row: 10, col: 17}]); i = 0;  _aether.logStatement([{ofs: 307, row: 10, col: 8}, {ofs: 316, row: 10, col: 17}], _aether._userInfo, false);\n            tmp49 = i;\n            tmp53 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp54 = 'enemies';\n            _aether.logStatementStart([{ofs: 322, row: 10, col: 23}, {ofs: 334, row: 10, col: 35}]); tmp51 = tmp53[tmp54];  _aether.logStatement([{ofs: 322, row: 10, col: 23}, {ofs: 334, row: 10, col: 35}], _aether._userInfo, false);\n            tmp52 = 'length';\n            _aether.logStatementStart([{ofs: 322, row: 10, col: 23}, {ofs: 341, row: 10, col: 42}]); tmp50 = tmp51[tmp52];  _aether.logStatement([{ofs: 322, row: 10, col: 23}, {ofs: 341, row: 10, col: 42}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 318, row: 10, col: 19}, {ofs: 341, row: 10, col: 42}]); tmp48 = tmp49 < tmp50;  _aether.logStatement([{ofs: 318, row: 10, col: 19}, {ofs: 341, row: 10, col: 42}], _aether._userInfo, false);\n            tmp63: {\n                while (tmp48) {\n                    tmp64: {\n                        tmp72 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp73 = 'enemies';\n                        _aether.logStatementStart([{ofs: 361, row: 11, col: 11}, {ofs: 373, row: 11, col: 23}]); tmp70 = tmp72[tmp73];  _aether.logStatement([{ofs: 361, row: 11, col: 11}, {ofs: 373, row: 11, col: 23}], _aether._userInfo, false);\n                        tmp71 = i;\n                        _aether.logStatementStart([{ofs: 361, row: 11, col: 11}, {ofs: 376, row: 11, col: 26}]); tmp68 = tmp70[tmp71];  _aether.logStatement([{ofs: 361, row: 11, col: 11}, {ofs: 376, row: 11, col: 26}], _aether._userInfo, false);\n                        tmp69 = 'type';\n                        _aether.logStatementStart([{ofs: 361, row: 11, col: 11}, {ofs: 381, row: 11, col: 31}]); tmp66 = tmp68[tmp69];  _aether.logStatement([{ofs: 361, row: 11, col: 11}, {ofs: 381, row: 11, col: 31}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 386, row: 11, col: 36}, {ofs: 392, row: 11, col: 42}]); tmp67 = 'base';  _aether.logStatement([{ofs: 386, row: 11, col: 36}, {ofs: 392, row: 11, col: 42}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 361, row: 11, col: 11}, {ofs: 392, row: 11, col: 42}]); tmp65 = tmp66 === tmp67;  _aether.logStatement([{ofs: 361, row: 11, col: 11}, {ofs: 392, row: 11, col: 42}], _aether._userInfo, false);\n                        if (tmp65) {\n                            tmp77 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp78 = 'enemies';\n                            _aether.logStatementStart([{ofs: 415, row: 12, col: 19}, {ofs: 427, row: 12, col: 31}]); tmp75 = tmp77[tmp78];  _aether.logStatement([{ofs: 415, row: 12, col: 19}, {ofs: 427, row: 12, col: 31}], _aether._userInfo, false);\n                            tmp76 = i;\n                            _aether.logStatementStart([{ofs: 415, row: 12, col: 19}, {ofs: 430, row: 12, col: 34}]); tmp74 = tmp75[tmp76];  _aether.logStatement([{ofs: 415, row: 12, col: 19}, {ofs: 430, row: 12, col: 34}], _aether._userInfo, false);\n                            return _aether.restoreAPIClone(_aether, tmp74);\n                        } else {\n                            ;\n                        }\n                    }\n                    tmp61 = i;\n                    tmp62 = 1;\n                    i = tmp61 + tmp62;\n                    tmp55 = i;\n                    tmp59 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp60 = 'enemies';\n                    _aether.logStatementStart([{ofs: 322, row: 10, col: 23}, {ofs: 334, row: 10, col: 35}]); tmp57 = tmp59[tmp60];  _aether.logStatement([{ofs: 322, row: 10, col: 23}, {ofs: 334, row: 10, col: 35}], _aether._userInfo, false);\n                    tmp58 = 'length';\n                    _aether.logStatementStart([{ofs: 322, row: 10, col: 23}, {ofs: 341, row: 10, col: 42}]); tmp56 = tmp57[tmp58];  _aether.logStatement([{ofs: 322, row: 10, col: 23}, {ofs: 341, row: 10, col: 42}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 318, row: 10, col: 19}, {ofs: 341, row: 10, col: 42}]); tmp48 = tmp55 < tmp56;  _aether.logStatement([{ofs: 318, row: 10, col: 19}, {ofs: 341, row: 10, col: 42}], _aether._userInfo, false);\n                }\n            }\n            return;\n        };  _aether.logStatement([{ofs: 266, row: 9, col: 0}, {ofs: 450, row: 15, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 266, row: 9, col: 0}, {ofs: 449, row: 15, col: 1}]); tmp45[tmp46] = tmp47;  _aether.logStatement([{ofs: 266, row: 9, col: 0}, {ofs: 449, row: 15, col: 1}], _aether._userInfo, false);\n        tmp79 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp80 = 'isOpponentBaseRushing';\n        _aether.logStatementStart([{ofs: 452, row: 17, col: 0}, {ofs: 1149, row: 34, col: 2}]); tmp81 = function () {\n            var count, i, tmp82, tmp83, tmp84, tmp85, tmp86, tmp87, tmp88, tmp89, tmp90, tmp91, tmp92, tmp93, tmp94, tmp95, tmp96, tmp97, tmp98, tmp99, tmp100, tmp101, tmp102, tmp103, tmp104, tmp105, tmp106, tmp107, tmp108, tmp109, tmp110, tmp111, tmp112, tmp113, tmp114, tmp115, tmp116, tmp117, tmp118, tmp119, tmp120, tmp121, tmp122, tmp123, tmp126, tmp127, tmp128, tmp129, tmp130, tmp131, tmp132, tmp133, tmp134, tmp135, tmp136, tmp137, tmp138, tmp139, tmp140, tmp141, tmp142, tmp143, tmp144, tmp145, tmp146, tmp147, tmp148, tmp149, tmp150, tmp151, tmp152, tmp153, tmp154, tmp155, tmp156, tmp157, tmp158, tmp159, tmp160, tmp161, tmp162, tmp163, tmp164, tmp165, tmp166, tmp167, tmp168, tmp169, tmp170, tmp171, tmp172, tmp173, tmp174, tmp175, tmp176, tmp177, tmp178, tmp179, tmp180, tmp181, tmp182, tmp183, tmp184, tmp185;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 620, row: 21, col: 4}, {ofs: 634, row: 21, col: 18}]); count = 0;  _aether.logStatement([{ofs: 620, row: 21, col: 4}, {ofs: 634, row: 21, col: 18}], _aether._userInfo, false);\n            tmp85 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp86 = 'enemyHero';\n            _aether.logStatementStart([{ofs: 642, row: 22, col: 7}, {ofs: 656, row: 22, col: 21}]); tmp84 = tmp85[tmp86];  _aether.logStatement([{ofs: 642, row: 22, col: 7}, {ofs: 656, row: 22, col: 21}], _aether._userInfo, false);\n            if (tmp84) {\n                tmp89 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp90 = 'enemyHero';\n                _aether.logStatementStart([{ofs: 660, row: 22, col: 25}, {ofs: 674, row: 22, col: 39}]); tmp87 = tmp89[tmp90];  _aether.logStatement([{ofs: 660, row: 22, col: 25}, {ofs: 674, row: 22, col: 39}], _aether._userInfo, false);\n                tmp88 = 'target';\n                _aether.logStatementStart([{ofs: 660, row: 22, col: 25}, {ofs: 681, row: 22, col: 46}]); tmp83 = tmp87[tmp88];  _aether.logStatement([{ofs: 660, row: 22, col: 25}, {ofs: 681, row: 22, col: 46}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 642, row: 22, col: 7}, {ofs: 681, row: 22, col: 46}]); tmp83 = tmp84;  _aether.logStatement([{ofs: 642, row: 22, col: 7}, {ofs: 681, row: 22, col: 46}], _aether._userInfo, false);\n            }\n            if (tmp83) {\n                tmp98 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp99 = 'enemyHero';\n                _aether.logStatementStart([{ofs: 686, row: 22, col: 51}, {ofs: 700, row: 22, col: 65}]); tmp96 = tmp98[tmp99];  _aether.logStatement([{ofs: 686, row: 22, col: 51}, {ofs: 700, row: 22, col: 65}], _aether._userInfo, false);\n                tmp97 = 'target';\n                _aether.logStatementStart([{ofs: 686, row: 22, col: 51}, {ofs: 707, row: 22, col: 72}]); tmp94 = tmp96[tmp97];  _aether.logStatement([{ofs: 686, row: 22, col: 51}, {ofs: 707, row: 22, col: 72}], _aether._userInfo, false);\n                tmp95 = 'type';\n                _aether.logStatementStart([{ofs: 686, row: 22, col: 51}, {ofs: 712, row: 22, col: 77}]); tmp92 = tmp94[tmp95];  _aether.logStatement([{ofs: 686, row: 22, col: 51}, {ofs: 712, row: 22, col: 77}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 717, row: 22, col: 82}, {ofs: 723, row: 22, col: 88}]); tmp93 = 'base';  _aether.logStatement([{ofs: 717, row: 22, col: 82}, {ofs: 723, row: 22, col: 88}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 686, row: 22, col: 51}, {ofs: 723, row: 22, col: 88}]); tmp91 = tmp92 === tmp93;  _aether.logStatement([{ofs: 686, row: 22, col: 51}, {ofs: 723, row: 22, col: 88}], _aether._userInfo, false);\n                if (tmp91) {\n                    _aether.logStatementStart([{ofs: 686, row: 22, col: 51}, {ofs: 766, row: 22, col: 131}]); tmp82 = tmp91;  _aether.logStatement([{ofs: 686, row: 22, col: 51}, {ofs: 766, row: 22, col: 131}], _aether._userInfo, false);\n                } else {\n                    tmp106 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp107 = 'enemyHero';\n                    _aether.logStatementStart([{ofs: 727, row: 22, col: 92}, {ofs: 741, row: 22, col: 106}]); tmp104 = tmp106[tmp107];  _aether.logStatement([{ofs: 727, row: 22, col: 92}, {ofs: 741, row: 22, col: 106}], _aether._userInfo, false);\n                    tmp105 = 'target';\n                    _aether.logStatementStart([{ofs: 727, row: 22, col: 92}, {ofs: 748, row: 22, col: 113}]); tmp102 = tmp104[tmp105];  _aether.logStatement([{ofs: 727, row: 22, col: 92}, {ofs: 748, row: 22, col: 113}], _aether._userInfo, false);\n                    tmp103 = 'type';\n                    _aether.logStatementStart([{ofs: 727, row: 22, col: 92}, {ofs: 753, row: 22, col: 118}]); tmp100 = tmp102[tmp103];  _aether.logStatement([{ofs: 727, row: 22, col: 92}, {ofs: 753, row: 22, col: 118}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 758, row: 22, col: 123}, {ofs: 766, row: 22, col: 131}]); tmp101 = 'knight';  _aether.logStatement([{ofs: 758, row: 22, col: 123}, {ofs: 766, row: 22, col: 131}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 727, row: 22, col: 92}, {ofs: 766, row: 22, col: 131}]); tmp82 = tmp100 === tmp101;  _aether.logStatement([{ofs: 727, row: 22, col: 92}, {ofs: 766, row: 22, col: 131}], _aether._userInfo, false);\n                }\n            } else {\n                _aether.logStatementStart([{ofs: 642, row: 22, col: 7}, {ofs: 767, row: 22, col: 132}]); tmp82 = tmp83;  _aether.logStatement([{ofs: 642, row: 22, col: 7}, {ofs: 767, row: 22, col: 132}], _aether._userInfo, false);\n            }\n            if (tmp82) {\n                _aether.logStatementStart([{ofs: 786, row: 23, col: 15}, {ofs: 790, row: 23, col: 19}]); tmp108 = true;  _aether.logStatement([{ofs: 786, row: 23, col: 15}, {ofs: 790, row: 23, col: 19}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp108);\n            } else {\n                ;\n            }\n            _aether.logStatementStart([{ofs: 806, row: 25, col: 8}, {ofs: 815, row: 25, col: 17}]); i = 1;  _aether.logStatement([{ofs: 806, row: 25, col: 8}, {ofs: 815, row: 25, col: 17}], _aether._userInfo, false);\n            tmp110 = i;\n            tmp114 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp115 = 'enemies';\n            _aether.logStatementStart([{ofs: 821, row: 25, col: 23}, {ofs: 833, row: 25, col: 35}]); tmp112 = tmp114[tmp115];  _aether.logStatement([{ofs: 821, row: 25, col: 23}, {ofs: 833, row: 25, col: 35}], _aether._userInfo, false);\n            tmp113 = 'length';\n            _aether.logStatementStart([{ofs: 821, row: 25, col: 23}, {ofs: 840, row: 25, col: 42}]); tmp111 = tmp112[tmp113];  _aether.logStatement([{ofs: 821, row: 25, col: 23}, {ofs: 840, row: 25, col: 42}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 817, row: 25, col: 19}, {ofs: 840, row: 25, col: 42}]); tmp109 = tmp110 < tmp111;  _aether.logStatement([{ofs: 817, row: 25, col: 19}, {ofs: 840, row: 25, col: 42}], _aether._userInfo, false);\n            tmp124: {\n                while (tmp109) {\n                    tmp125: {\n                        tmp132 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp133 = 'enemies';\n                        _aether.logStatementStart([{ofs: 860, row: 26, col: 11}, {ofs: 872, row: 26, col: 23}]); tmp130 = tmp132[tmp133];  _aether.logStatement([{ofs: 860, row: 26, col: 11}, {ofs: 872, row: 26, col: 23}], _aether._userInfo, false);\n                        tmp131 = i;\n                        _aether.logStatementStart([{ofs: 860, row: 26, col: 11}, {ofs: 875, row: 26, col: 26}]); tmp128 = tmp130[tmp131];  _aether.logStatement([{ofs: 860, row: 26, col: 11}, {ofs: 875, row: 26, col: 26}], _aether._userInfo, false);\n                        tmp129 = 'target';\n                        _aether.logStatementStart([{ofs: 860, row: 26, col: 11}, {ofs: 882, row: 26, col: 33}]); tmp127 = tmp128[tmp129];  _aether.logStatement([{ofs: 860, row: 26, col: 11}, {ofs: 882, row: 26, col: 33}], _aether._userInfo, false);\n                        if (tmp127) {\n                            tmp143 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp144 = 'enemies';\n                            _aether.logStatementStart([{ofs: 887, row: 26, col: 38}, {ofs: 899, row: 26, col: 50}]); tmp141 = tmp143[tmp144];  _aether.logStatement([{ofs: 887, row: 26, col: 38}, {ofs: 899, row: 26, col: 50}], _aether._userInfo, false);\n                            tmp142 = i;\n                            _aether.logStatementStart([{ofs: 887, row: 26, col: 38}, {ofs: 902, row: 26, col: 53}]); tmp139 = tmp141[tmp142];  _aether.logStatement([{ofs: 887, row: 26, col: 38}, {ofs: 902, row: 26, col: 53}], _aether._userInfo, false);\n                            tmp140 = 'target';\n                            _aether.logStatementStart([{ofs: 887, row: 26, col: 38}, {ofs: 909, row: 26, col: 60}]); tmp137 = tmp139[tmp140];  _aether.logStatement([{ofs: 887, row: 26, col: 38}, {ofs: 909, row: 26, col: 60}], _aether._userInfo, false);\n                            tmp138 = 'type';\n                            _aether.logStatementStart([{ofs: 887, row: 26, col: 38}, {ofs: 914, row: 26, col: 65}]); tmp135 = tmp137[tmp138];  _aether.logStatement([{ofs: 887, row: 26, col: 38}, {ofs: 914, row: 26, col: 65}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 919, row: 26, col: 70}, {ofs: 925, row: 26, col: 76}]); tmp136 = 'base';  _aether.logStatement([{ofs: 919, row: 26, col: 70}, {ofs: 925, row: 26, col: 76}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 887, row: 26, col: 38}, {ofs: 925, row: 26, col: 76}]); tmp134 = tmp135 === tmp136;  _aether.logStatement([{ofs: 887, row: 26, col: 38}, {ofs: 925, row: 26, col: 76}], _aether._userInfo, false);\n                            if (tmp134) {\n                                _aether.logStatementStart([{ofs: 887, row: 26, col: 38}, {ofs: 969, row: 26, col: 120}]); tmp126 = tmp134;  _aether.logStatement([{ofs: 887, row: 26, col: 38}, {ofs: 969, row: 26, col: 120}], _aether._userInfo, false);\n                            } else {\n                                tmp153 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp154 = 'enemies';\n                                _aether.logStatementStart([{ofs: 929, row: 26, col: 80}, {ofs: 941, row: 26, col: 92}]); tmp151 = tmp153[tmp154];  _aether.logStatement([{ofs: 929, row: 26, col: 80}, {ofs: 941, row: 26, col: 92}], _aether._userInfo, false);\n                                tmp152 = i;\n                                _aether.logStatementStart([{ofs: 929, row: 26, col: 80}, {ofs: 944, row: 26, col: 95}]); tmp149 = tmp151[tmp152];  _aether.logStatement([{ofs: 929, row: 26, col: 80}, {ofs: 944, row: 26, col: 95}], _aether._userInfo, false);\n                                tmp150 = 'target';\n                                _aether.logStatementStart([{ofs: 929, row: 26, col: 80}, {ofs: 951, row: 26, col: 102}]); tmp147 = tmp149[tmp150];  _aether.logStatement([{ofs: 929, row: 26, col: 80}, {ofs: 951, row: 26, col: 102}], _aether._userInfo, false);\n                                tmp148 = 'type';\n                                _aether.logStatementStart([{ofs: 929, row: 26, col: 80}, {ofs: 956, row: 26, col: 107}]); tmp145 = tmp147[tmp148];  _aether.logStatement([{ofs: 929, row: 26, col: 80}, {ofs: 956, row: 26, col: 107}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 961, row: 26, col: 112}, {ofs: 969, row: 26, col: 120}]); tmp146 = 'knight';  _aether.logStatement([{ofs: 961, row: 26, col: 112}, {ofs: 969, row: 26, col: 120}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 929, row: 26, col: 80}, {ofs: 969, row: 26, col: 120}]); tmp126 = tmp145 === tmp146;  _aether.logStatement([{ofs: 929, row: 26, col: 80}, {ofs: 969, row: 26, col: 120}], _aether._userInfo, false);\n                            }\n                        } else {\n                            _aether.logStatementStart([{ofs: 860, row: 26, col: 11}, {ofs: 970, row: 26, col: 121}]); tmp126 = tmp127;  _aether.logStatement([{ofs: 860, row: 26, col: 11}, {ofs: 970, row: 26, col: 121}], _aether._userInfo, false);\n                        }\n                        if (tmp126) {\n                            _aether.logStatementStart([{ofs: 986, row: 27, col: 12}, {ofs: 997, row: 27, col: 23}]); tmp155 = 1;  _aether.logStatement([{ofs: 986, row: 27, col: 12}, {ofs: 997, row: 27, col: 23}], _aether._userInfo, false);\n                            tmp156 = count;\n                            tmp157 = tmp155;\n                            count = tmp156 + tmp157;\n                        } else {\n                            ;\n                        }\n                    }\n                    tmp122 = i;\n                    tmp123 = 1;\n                    i = tmp122 + tmp123;\n                    tmp116 = i;\n                    tmp120 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp121 = 'enemies';\n                    _aether.logStatementStart([{ofs: 821, row: 25, col: 23}, {ofs: 833, row: 25, col: 35}]); tmp118 = tmp120[tmp121];  _aether.logStatement([{ofs: 821, row: 25, col: 23}, {ofs: 833, row: 25, col: 35}], _aether._userInfo, false);\n                    tmp119 = 'length';\n                    _aether.logStatementStart([{ofs: 821, row: 25, col: 23}, {ofs: 840, row: 25, col: 42}]); tmp117 = tmp118[tmp119];  _aether.logStatement([{ofs: 821, row: 25, col: 23}, {ofs: 840, row: 25, col: 42}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 817, row: 25, col: 19}, {ofs: 840, row: 25, col: 42}]); tmp109 = tmp116 < tmp117;  _aether.logStatement([{ofs: 817, row: 25, col: 19}, {ofs: 840, row: 25, col: 42}], _aether._userInfo, false);\n                }\n            }\n            tmp164 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp165 = 'enemies';\n            _aether.logStatementStart([{ofs: 1021, row: 30, col: 7}, {ofs: 1033, row: 30, col: 19}]); tmp162 = tmp164[tmp165];  _aether.logStatement([{ofs: 1021, row: 30, col: 7}, {ofs: 1033, row: 30, col: 19}], _aether._userInfo, false);\n            tmp163 = 'length';\n            _aether.logStatementStart([{ofs: 1021, row: 30, col: 7}, {ofs: 1040, row: 30, col: 26}]); tmp160 = tmp162[tmp163];  _aether.logStatement([{ofs: 1021, row: 30, col: 7}, {ofs: 1040, row: 30, col: 26}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 1044, row: 30, col: 30}, {ofs: 1045, row: 30, col: 31}]); tmp161 = 3;  _aether.logStatement([{ofs: 1044, row: 30, col: 30}, {ofs: 1045, row: 30, col: 31}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 1021, row: 30, col: 7}, {ofs: 1045, row: 30, col: 31}]); tmp159 = tmp160 >= tmp161;  _aether.logStatement([{ofs: 1021, row: 30, col: 7}, {ofs: 1045, row: 30, col: 31}], _aether._userInfo, false);\n            if (tmp159) {\n                tmp168 = 'Math';\n                tmp169 = tmp168 in __global;\n                if (tmp169) {\n                    tmp166 = __global[tmp168];\n                } else {\n                    tmp170 = 'ReferenceError';\n                    tmp171 = __global[tmp170];\n                    tmp172 = new tmp171();\n                    throw tmp172;\n                }\n                tmp167 = 'ceil';\n                tmp174 = count;\n                tmp182 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp183 = 'enemies';\n                _aether.logStatementStart([{ofs: 1069, row: 30, col: 55}, {ofs: 1081, row: 30, col: 67}]); tmp180 = tmp182[tmp183];  _aether.logStatement([{ofs: 1069, row: 30, col: 55}, {ofs: 1081, row: 30, col: 67}], _aether._userInfo, false);\n                tmp181 = 'length';\n                _aether.logStatementStart([{ofs: 1069, row: 30, col: 55}, {ofs: 1088, row: 30, col: 74}]); tmp178 = tmp180[tmp181];  _aether.logStatement([{ofs: 1069, row: 30, col: 55}, {ofs: 1088, row: 30, col: 74}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 1091, row: 30, col: 77}, {ofs: 1092, row: 30, col: 78}]); tmp179 = 1;  _aether.logStatement([{ofs: 1091, row: 30, col: 77}, {ofs: 1092, row: 30, col: 78}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 1069, row: 30, col: 55}, {ofs: 1092, row: 30, col: 78}]); tmp176 = tmp178 - tmp179;  _aether.logStatement([{ofs: 1069, row: 30, col: 55}, {ofs: 1092, row: 30, col: 78}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 1096, row: 30, col: 82}, {ofs: 1097, row: 30, col: 83}]); tmp177 = 3;  _aether.logStatement([{ofs: 1096, row: 30, col: 82}, {ofs: 1097, row: 30, col: 83}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 1068, row: 30, col: 54}, {ofs: 1097, row: 30, col: 83}]); tmp175 = tmp176 / tmp177;  _aether.logStatement([{ofs: 1068, row: 30, col: 54}, {ofs: 1097, row: 30, col: 83}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 1059, row: 30, col: 45}, {ofs: 1097, row: 30, col: 83}]); tmp173 = tmp174 >= tmp175;  _aether.logStatement([{ofs: 1059, row: 30, col: 45}, {ofs: 1097, row: 30, col: 83}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 1049, row: 30, col: 35}, {ofs: 1098, row: 30, col: 84}]); tmp158 = _aether.createAPIClone(_aether, tmp166[tmp167](_aether.restoreAPIClone(_aether, tmp173)));  _aether.logStatement([{ofs: 1049, row: 30, col: 35}, {ofs: 1098, row: 30, col: 84}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 1021, row: 30, col: 7}, {ofs: 1098, row: 30, col: 84}]); tmp158 = tmp159;  _aether.logStatement([{ofs: 1021, row: 30, col: 7}, {ofs: 1098, row: 30, col: 84}], _aether._userInfo, false);\n            }\n            if (tmp158) {\n                _aether.logStatementStart([{ofs: 1117, row: 31, col: 15}, {ofs: 1121, row: 31, col: 19}]); tmp184 = true;  _aether.logStatement([{ofs: 1117, row: 31, col: 15}, {ofs: 1121, row: 31, col: 19}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp184);\n            } else {\n                ;\n            }\n            _aether.logStatementStart([{ofs: 1140, row: 33, col: 11}, {ofs: 1145, row: 33, col: 16}]); tmp185 = false;  _aether.logStatement([{ofs: 1140, row: 33, col: 11}, {ofs: 1145, row: 33, col: 16}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp185);\n        };  _aether.logStatement([{ofs: 452, row: 17, col: 0}, {ofs: 1149, row: 34, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 452, row: 17, col: 0}, {ofs: 1148, row: 34, col: 1}]); tmp79[tmp80] = tmp81;  _aether.logStatement([{ofs: 452, row: 17, col: 0}, {ofs: 1148, row: 34, col: 1}], _aether._userInfo, false);\n        tmp186 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp187 = 'findTerrifyUnit';\n        _aether.logStatementStart([{ofs: 1151, row: 36, col: 0}, {ofs: 1780, row: 57, col: 2}]); tmp188 = function () {\n            var unit, unitSize, i, tempUnitSize, tmp189, tmp190, tmp191, tmp192, tmp193, tmp194, tmp195, tmp196, tmp197, tmp198, tmp199, tmp200, tmp201, tmp202, tmp203, tmp204, tmp205, tmp206, tmp207, tmp208, tmp209, tmp210, tmp211, tmp212, tmp213, tmp214, tmp215, tmp216, tmp219, tmp220, tmp221, tmp222, tmp223, tmp224, tmp225, tmp226, tmp227, tmp228, tmp229, tmp230, tmp231, tmp232, tmp233, tmp234, tmp235, tmp236, tmp237, tmp238;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 1192, row: 38, col: 4}, {ofs: 1208, row: 38, col: 20}]); unit = null;  _aether.logStatement([{ofs: 1192, row: 38, col: 4}, {ofs: 1208, row: 38, col: 20}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 1213, row: 39, col: 4}, {ofs: 1230, row: 39, col: 21}]); unitSize = 0;  _aether.logStatement([{ofs: 1213, row: 39, col: 4}, {ofs: 1230, row: 39, col: 21}], _aether._userInfo, false);\n            tmp191 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp192 = 'enemyHero';\n            _aether.logStatementStart([{ofs: 1378, row: 45, col: 7}, {ofs: 1392, row: 45, col: 21}]); tmp190 = tmp191[tmp192];  _aether.logStatement([{ofs: 1378, row: 45, col: 7}, {ofs: 1392, row: 45, col: 21}], _aether._userInfo, false);\n            if (tmp190) {\n                tmp197 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp198 = 'enemyHero';\n                _aether.logStatementStart([{ofs: 1396, row: 45, col: 25}, {ofs: 1410, row: 45, col: 39}]); tmp195 = tmp197[tmp198];  _aether.logStatement([{ofs: 1396, row: 45, col: 25}, {ofs: 1410, row: 45, col: 39}], _aether._userInfo, false);\n                tmp196 = 'type';\n                _aether.logStatementStart([{ofs: 1396, row: 45, col: 25}, {ofs: 1415, row: 45, col: 44}]); tmp193 = tmp195[tmp196];  _aether.logStatement([{ofs: 1396, row: 45, col: 25}, {ofs: 1415, row: 45, col: 44}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 1420, row: 45, col: 49}, {ofs: 1428, row: 45, col: 57}]); tmp194 = 'shaman';  _aether.logStatement([{ofs: 1420, row: 45, col: 49}, {ofs: 1428, row: 45, col: 57}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 1396, row: 45, col: 25}, {ofs: 1428, row: 45, col: 57}]); tmp189 = tmp193 === tmp194;  _aether.logStatement([{ofs: 1396, row: 45, col: 25}, {ofs: 1428, row: 45, col: 57}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 1378, row: 45, col: 7}, {ofs: 1428, row: 45, col: 57}]); tmp189 = tmp190;  _aether.logStatement([{ofs: 1378, row: 45, col: 7}, {ofs: 1428, row: 45, col: 57}], _aether._userInfo, false);\n            }\n            if (tmp189) {\n                tmp199 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp200 = 'terrifyClumpMinSize';\n                _aether.logStatementStart([{ofs: 1440, row: 46, col: 8}, {ofs: 1469, row: 46, col: 37}]); tmp201 = 5;  _aether.logStatement([{ofs: 1440, row: 46, col: 8}, {ofs: 1469, row: 46, col: 37}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 1440, row: 46, col: 8}, {ofs: 1468, row: 46, col: 36}]); tmp199[tmp200] = tmp201;  _aether.logStatement([{ofs: 1440, row: 46, col: 8}, {ofs: 1468, row: 46, col: 36}], _aether._userInfo, false);\n            } else {\n                ;\n            }\n            _aether.logStatementStart([{ofs: 1485, row: 49, col: 8}, {ofs: 1494, row: 49, col: 17}]); i = 1;  _aether.logStatement([{ofs: 1485, row: 49, col: 8}, {ofs: 1494, row: 49, col: 17}], _aether._userInfo, false);\n            tmp203 = i;\n            tmp207 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp208 = 'enemies';\n            _aether.logStatementStart([{ofs: 1500, row: 49, col: 23}, {ofs: 1512, row: 49, col: 35}]); tmp205 = tmp207[tmp208];  _aether.logStatement([{ofs: 1500, row: 49, col: 23}, {ofs: 1512, row: 49, col: 35}], _aether._userInfo, false);\n            tmp206 = 'length';\n            _aether.logStatementStart([{ofs: 1500, row: 49, col: 23}, {ofs: 1519, row: 49, col: 42}]); tmp204 = tmp205[tmp206];  _aether.logStatement([{ofs: 1500, row: 49, col: 23}, {ofs: 1519, row: 49, col: 42}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 1496, row: 49, col: 19}, {ofs: 1519, row: 49, col: 42}]); tmp202 = tmp203 < tmp204;  _aether.logStatement([{ofs: 1496, row: 49, col: 19}, {ofs: 1519, row: 49, col: 42}], _aether._userInfo, false);\n            tmp217: {\n                while (tmp202) {\n                    tmp218: {\n                        tmp219 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp220 = 'getClumpSize';\n                        tmp224 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp225 = 'enemies';\n                        _aether.logStatementStart([{ofs: 1573, row: 50, col: 45}, {ofs: 1585, row: 50, col: 57}]); tmp222 = tmp224[tmp225];  _aether.logStatement([{ofs: 1573, row: 50, col: 45}, {ofs: 1585, row: 50, col: 57}], _aether._userInfo, false);\n                        tmp223 = i;\n                        _aether.logStatementStart([{ofs: 1573, row: 50, col: 45}, {ofs: 1588, row: 50, col: 60}]); tmp221 = tmp222[tmp223];  _aether.logStatement([{ofs: 1573, row: 50, col: 45}, {ofs: 1588, row: 50, col: 60}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 1536, row: 50, col: 8}, {ofs: 1590, row: 50, col: 62}]); tempUnitSize = _aether.createAPIClone(_aether, tmp219[tmp220](_aether.restoreAPIClone(_aether, tmp221)));  _aether.logStatement([{ofs: 1536, row: 50, col: 8}, {ofs: 1590, row: 50, col: 62}], _aether._userInfo, false);\n                        tmp228 = tempUnitSize;\n                        tmp229 = unitSize;\n                        _aether.logStatementStart([{ofs: 1602, row: 51, col: 11}, {ofs: 1625, row: 51, col: 34}]); tmp227 = tmp228 > tmp229;  _aether.logStatement([{ofs: 1602, row: 51, col: 11}, {ofs: 1625, row: 51, col: 34}], _aether._userInfo, false);\n                        if (tmp227) {\n                            tmp230 = tempUnitSize;\n                            tmp232 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp233 = 'terrifyClumpMinSize';\n                            _aether.logStatementStart([{ofs: 1644, row: 51, col: 53}, {ofs: 1668, row: 51, col: 77}]); tmp231 = tmp232[tmp233];  _aether.logStatement([{ofs: 1644, row: 51, col: 53}, {ofs: 1668, row: 51, col: 77}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 1629, row: 51, col: 38}, {ofs: 1668, row: 51, col: 77}]); tmp226 = tmp230 > tmp231;  _aether.logStatement([{ofs: 1629, row: 51, col: 38}, {ofs: 1668, row: 51, col: 77}], _aether._userInfo, false);\n                        } else {\n                            _aether.logStatementStart([{ofs: 1602, row: 51, col: 11}, {ofs: 1668, row: 51, col: 77}]); tmp226 = tmp227;  _aether.logStatement([{ofs: 1602, row: 51, col: 11}, {ofs: 1668, row: 51, col: 77}], _aether._userInfo, false);\n                        }\n                        if (tmp226) {\n                            tmp236 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp237 = 'enemies';\n                            _aether.logStatementStart([{ofs: 1691, row: 52, col: 19}, {ofs: 1703, row: 52, col: 31}]); tmp234 = tmp236[tmp237];  _aether.logStatement([{ofs: 1691, row: 52, col: 19}, {ofs: 1703, row: 52, col: 31}], _aether._userInfo, false);\n                            tmp235 = i;\n                            _aether.logStatementStart([{ofs: 1684, row: 52, col: 12}, {ofs: 1707, row: 52, col: 35}]); unit = tmp234[tmp235];  _aether.logStatement([{ofs: 1684, row: 52, col: 12}, {ofs: 1707, row: 52, col: 35}], _aether._userInfo, false);\n                            unitSize = tempUnitSize;\n                        } else {\n                            ;\n                        }\n                    }\n                    tmp215 = i;\n                    tmp216 = 1;\n                    i = tmp215 + tmp216;\n                    tmp209 = i;\n                    tmp213 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp214 = 'enemies';\n                    _aether.logStatementStart([{ofs: 1500, row: 49, col: 23}, {ofs: 1512, row: 49, col: 35}]); tmp211 = tmp213[tmp214];  _aether.logStatement([{ofs: 1500, row: 49, col: 23}, {ofs: 1512, row: 49, col: 35}], _aether._userInfo, false);\n                    tmp212 = 'length';\n                    _aether.logStatementStart([{ofs: 1500, row: 49, col: 23}, {ofs: 1519, row: 49, col: 42}]); tmp210 = tmp211[tmp212];  _aether.logStatement([{ofs: 1500, row: 49, col: 23}, {ofs: 1519, row: 49, col: 42}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 1496, row: 49, col: 19}, {ofs: 1519, row: 49, col: 42}]); tmp202 = tmp209 < tmp210;  _aether.logStatement([{ofs: 1496, row: 49, col: 19}, {ofs: 1519, row: 49, col: 42}], _aether._userInfo, false);\n                }\n            }\n            tmp238 = unit;\n            return _aether.restoreAPIClone(_aether, tmp238);\n        };  _aether.logStatement([{ofs: 1151, row: 36, col: 0}, {ofs: 1780, row: 57, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 1151, row: 36, col: 0}, {ofs: 1779, row: 57, col: 1}]); tmp186[tmp187] = tmp188;  _aether.logStatement([{ofs: 1151, row: 36, col: 0}, {ofs: 1779, row: 57, col: 1}], _aether._userInfo, false);\n        tmp239 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp240 = 'getClumpSize';\n        _aether.logStatementStart([{ofs: 1782, row: 59, col: 0}, {ofs: 2001, row: 68, col: 2}]); tmp241 = function (unit) {\n            var count, i, tmp242, tmp243, tmp244, tmp245, tmp246, tmp247, tmp248, tmp249, tmp250, tmp251, tmp252, tmp253, tmp254, tmp255, tmp256, tmp259, tmp260, tmp261, tmp262, tmp263, tmp264, tmp265, tmp266, tmp267, tmp268, tmp269, tmp270, tmp271, tmp272; unit = _aether.createAPIClone(_aether, unit); for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 1824, row: 61, col: 4}, {ofs: 1838, row: 61, col: 18}]); count = 0;  _aether.logStatement([{ofs: 1824, row: 61, col: 4}, {ofs: 1838, row: 61, col: 18}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 1847, row: 62, col: 8}, {ofs: 1856, row: 62, col: 17}]); i = 1;  _aether.logStatement([{ofs: 1847, row: 62, col: 8}, {ofs: 1856, row: 62, col: 17}], _aether._userInfo, false);\n            tmp243 = i;\n            tmp247 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp248 = 'enemies';\n            _aether.logStatementStart([{ofs: 1862, row: 62, col: 23}, {ofs: 1874, row: 62, col: 35}]); tmp245 = tmp247[tmp248];  _aether.logStatement([{ofs: 1862, row: 62, col: 23}, {ofs: 1874, row: 62, col: 35}], _aether._userInfo, false);\n            tmp246 = 'length';\n            _aether.logStatementStart([{ofs: 1862, row: 62, col: 23}, {ofs: 1881, row: 62, col: 42}]); tmp244 = tmp245[tmp246];  _aether.logStatement([{ofs: 1862, row: 62, col: 23}, {ofs: 1881, row: 62, col: 42}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 1858, row: 62, col: 19}, {ofs: 1881, row: 62, col: 42}]); tmp242 = tmp243 < tmp244;  _aether.logStatement([{ofs: 1858, row: 62, col: 19}, {ofs: 1881, row: 62, col: 42}], _aether._userInfo, false);\n            tmp257: {\n                while (tmp242) {\n                    tmp258: {\n                        tmp262 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp263 = 'distance';\n                        tmp267 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp268 = 'enemies';\n                        _aether.logStatementStart([{ofs: 1915, row: 63, col: 25}, {ofs: 1927, row: 63, col: 37}]); tmp265 = tmp267[tmp268];  _aether.logStatement([{ofs: 1915, row: 63, col: 25}, {ofs: 1927, row: 63, col: 37}], _aether._userInfo, false);\n                        tmp266 = i;\n                        _aether.logStatementStart([{ofs: 1915, row: 63, col: 25}, {ofs: 1930, row: 63, col: 40}]); tmp264 = tmp265[tmp266];  _aether.logStatement([{ofs: 1915, row: 63, col: 25}, {ofs: 1930, row: 63, col: 40}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 1901, row: 63, col: 11}, {ofs: 1931, row: 63, col: 41}]); tmp260 = _aether.createAPIClone(_aether, tmp262[tmp263](_aether.restoreAPIClone(_aether, tmp264)));  _aether.logStatement([{ofs: 1901, row: 63, col: 11}, {ofs: 1931, row: 63, col: 41}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 1935, row: 63, col: 45}, {ofs: 1937, row: 63, col: 47}]); tmp261 = 30;  _aether.logStatement([{ofs: 1935, row: 63, col: 45}, {ofs: 1937, row: 63, col: 47}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 1901, row: 63, col: 11}, {ofs: 1937, row: 63, col: 47}]); tmp259 = tmp260 <= tmp261;  _aether.logStatement([{ofs: 1901, row: 63, col: 11}, {ofs: 1937, row: 63, col: 47}], _aether._userInfo, false);\n                        if (tmp259) {\n                            _aether.logStatementStart([{ofs: 1953, row: 64, col: 12}, {ofs: 1964, row: 64, col: 23}]); tmp269 = 1;  _aether.logStatement([{ofs: 1953, row: 64, col: 12}, {ofs: 1964, row: 64, col: 23}], _aether._userInfo, false);\n                            tmp270 = count;\n                            tmp271 = tmp269;\n                            count = tmp270 + tmp271;\n                        } else {\n                            ;\n                        }\n                    }\n                    tmp255 = i;\n                    tmp256 = 1;\n                    i = tmp255 + tmp256;\n                    tmp249 = i;\n                    tmp253 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp254 = 'enemies';\n                    _aether.logStatementStart([{ofs: 1862, row: 62, col: 23}, {ofs: 1874, row: 62, col: 35}]); tmp251 = tmp253[tmp254];  _aether.logStatement([{ofs: 1862, row: 62, col: 23}, {ofs: 1874, row: 62, col: 35}], _aether._userInfo, false);\n                    tmp252 = 'length';\n                    _aether.logStatementStart([{ofs: 1862, row: 62, col: 23}, {ofs: 1881, row: 62, col: 42}]); tmp250 = tmp251[tmp252];  _aether.logStatement([{ofs: 1862, row: 62, col: 23}, {ofs: 1881, row: 62, col: 42}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 1858, row: 62, col: 19}, {ofs: 1881, row: 62, col: 42}]); tmp242 = tmp249 < tmp250;  _aether.logStatement([{ofs: 1858, row: 62, col: 19}, {ofs: 1881, row: 62, col: 42}], _aether._userInfo, false);\n                }\n            }\n            tmp272 = count;\n            return _aether.restoreAPIClone(_aether, tmp272);\n        };  _aether.logStatement([{ofs: 1782, row: 59, col: 0}, {ofs: 2001, row: 68, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 1782, row: 59, col: 0}, {ofs: 2000, row: 68, col: 1}]); tmp239[tmp240] = tmp241;  _aether.logStatement([{ofs: 1782, row: 59, col: 0}, {ofs: 2000, row: 68, col: 1}], _aether._userInfo, false);\n        tmp273 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp274 = 'determineSayAndAction';\n        _aether.logStatementStart([{ofs: 2003, row: 70, col: 0}, {ofs: 2716, row: 88, col: 2}]); tmp275 = function () {\n            var tmp276, tmp277, tmp278, tmp279, tmp280, tmp281, tmp282, tmp283, tmp284, tmp285, tmp286, tmp287, tmp288, tmp289, tmp290, tmp291, tmp292, tmp293, tmp294, tmp295, tmp296, tmp297, tmp298, tmp299, tmp300, tmp301, tmp302, tmp303, tmp304, tmp305, tmp306, tmp307, tmp308, tmp309, tmp310, tmp311, tmp312, tmp313, tmp314, tmp315, tmp316, tmp317, tmp318, tmp319, tmp320, tmp321, tmp322, tmp323;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            tmp279 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp280 = 'distance';\n            tmp282 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp283 = 'enemyBase';\n            _aether.logStatementStart([{ofs: 2331, row: 77, col: 21}, {ofs: 2345, row: 77, col: 35}]); tmp281 = tmp282[tmp283];  _aether.logStatement([{ofs: 2331, row: 77, col: 21}, {ofs: 2345, row: 77, col: 35}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 2317, row: 77, col: 7}, {ofs: 2346, row: 77, col: 36}]); tmp277 = _aether.createAPIClone(_aether, tmp279[tmp280](_aether.restoreAPIClone(_aether, tmp281)));  _aether.logStatement([{ofs: 2317, row: 77, col: 7}, {ofs: 2346, row: 77, col: 36}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 2350, row: 77, col: 40}, {ofs: 2352, row: 77, col: 42}]); tmp278 = 30;  _aether.logStatement([{ofs: 2350, row: 77, col: 40}, {ofs: 2352, row: 77, col: 42}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 2317, row: 77, col: 7}, {ofs: 2352, row: 77, col: 42}]); tmp276 = tmp277 >= tmp278;  _aether.logStatement([{ofs: 2317, row: 77, col: 7}, {ofs: 2352, row: 77, col: 42}], _aether._userInfo, false);\n            if (tmp276) {\n                tmp284 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp285 = 'say';\n                _aether.logStatementStart([{ofs: 2373, row: 78, col: 17}, {ofs: 2385, row: 78, col: 29}]); tmp286 = 'follow me!';  _aether.logStatement([{ofs: 2373, row: 78, col: 17}, {ofs: 2385, row: 78, col: 29}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 2364, row: 78, col: 8}, {ofs: 2386, row: 78, col: 30}]); tmp287 = _aether.createAPIClone(_aether, tmp284[tmp285](_aether.restoreAPIClone(_aether, tmp286)));  _aether.logStatement([{ofs: 2364, row: 78, col: 8}, {ofs: 2386, row: 78, col: 30}], _aether._userInfo, false);\n                tmp288 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp289 = 'move';\n                tmp297 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp298 = 'enemyBase';\n                _aether.logStatementStart([{ofs: 2410, row: 79, col: 22}, {ofs: 2424, row: 79, col: 36}]); tmp295 = tmp297[tmp298];  _aether.logStatement([{ofs: 2410, row: 79, col: 22}, {ofs: 2424, row: 79, col: 36}], _aether._userInfo, false);\n                tmp296 = 'pos';\n                _aether.logStatementStart([{ofs: 2410, row: 79, col: 22}, {ofs: 2428, row: 79, col: 40}]); tmp293 = tmp295[tmp296];  _aether.logStatement([{ofs: 2410, row: 79, col: 22}, {ofs: 2428, row: 79, col: 40}], _aether._userInfo, false);\n                tmp294 = 'x';\n                _aether.logStatementStart([{ofs: 2410, row: 79, col: 22}, {ofs: 2430, row: 79, col: 42}]); tmp291 = tmp293[tmp294];  _aether.logStatement([{ofs: 2410, row: 79, col: 22}, {ofs: 2430, row: 79, col: 42}], _aether._userInfo, false);\n                tmp303 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp304 = 'enemyBase';\n                _aether.logStatementStart([{ofs: 2435, row: 79, col: 47}, {ofs: 2449, row: 79, col: 61}]); tmp301 = tmp303[tmp304];  _aether.logStatement([{ofs: 2435, row: 79, col: 47}, {ofs: 2449, row: 79, col: 61}], _aether._userInfo, false);\n                tmp302 = 'pos';\n                _aether.logStatementStart([{ofs: 2435, row: 79, col: 47}, {ofs: 2453, row: 79, col: 65}]); tmp299 = tmp301[tmp302];  _aether.logStatement([{ofs: 2435, row: 79, col: 47}, {ofs: 2453, row: 79, col: 65}], _aether._userInfo, false);\n                tmp300 = 'y';\n                _aether.logStatementStart([{ofs: 2435, row: 79, col: 47}, {ofs: 2455, row: 79, col: 67}]); tmp292 = tmp299[tmp300];  _aether.logStatement([{ofs: 2435, row: 79, col: 47}, {ofs: 2455, row: 79, col: 67}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 2406, row: 79, col: 18}, {ofs: 2456, row: 79, col: 68}]); tmp290 = {\n                    x: tmp291,\n                    y: tmp292\n                };  _aether.logStatement([{ofs: 2406, row: 79, col: 18}, {ofs: 2456, row: 79, col: 68}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 2396, row: 79, col: 8}, {ofs: 2457, row: 79, col: 69}]); tmp305 = _aether.createAPIClone(_aether, tmp288[tmp289](_aether.restoreAPIClone(_aether, tmp290)));  _aether.logStatement([{ofs: 2396, row: 79, col: 8}, {ofs: 2457, row: 79, col: 69}], _aether._userInfo, false);\n            } else {\n                tmp306 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp307 = 'say';\n                _aether.logStatementStart([{ofs: 2493, row: 82, col: 17}, {ofs: 2502, row: 82, col: 26}]); tmp308 = 'Attack!';  _aether.logStatement([{ofs: 2493, row: 82, col: 17}, {ofs: 2502, row: 82, col: 26}], _aether._userInfo, false);\n                tmp313 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp314 = 'enemies';\n                _aether.logStatementStart([{ofs: 2513, row: 82, col: 37}, {ofs: 2525, row: 82, col: 49}]); tmp311 = tmp313[tmp314];  _aether.logStatement([{ofs: 2513, row: 82, col: 37}, {ofs: 2525, row: 82, col: 49}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 2526, row: 82, col: 50}, {ofs: 2527, row: 82, col: 51}]); tmp312 = 0;  _aether.logStatement([{ofs: 2526, row: 82, col: 50}, {ofs: 2527, row: 82, col: 51}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 2513, row: 82, col: 37}, {ofs: 2528, row: 82, col: 52}]); tmp310 = tmp311[tmp312];  _aether.logStatement([{ofs: 2513, row: 82, col: 37}, {ofs: 2528, row: 82, col: 52}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 2504, row: 82, col: 28}, {ofs: 2529, row: 82, col: 53}]); tmp309 = { target: tmp310 };  _aether.logStatement([{ofs: 2504, row: 82, col: 28}, {ofs: 2529, row: 82, col: 53}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 2484, row: 82, col: 8}, {ofs: 2530, row: 82, col: 54}]); tmp315 = _aether.createAPIClone(_aether, tmp306[tmp307](_aether.restoreAPIClone(_aether, tmp308), _aether.restoreAPIClone(_aether, tmp309)));  _aether.logStatement([{ofs: 2484, row: 82, col: 8}, {ofs: 2530, row: 82, col: 54}], _aether._userInfo, false);\n                tmp316 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp317 = 'attack';\n                tmp321 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp322 = 'enemies';\n                _aether.logStatementStart([{ofs: 2552, row: 83, col: 20}, {ofs: 2564, row: 83, col: 32}]); tmp319 = tmp321[tmp322];  _aether.logStatement([{ofs: 2552, row: 83, col: 20}, {ofs: 2564, row: 83, col: 32}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 2565, row: 83, col: 33}, {ofs: 2566, row: 83, col: 34}]); tmp320 = 0;  _aether.logStatement([{ofs: 2565, row: 83, col: 33}, {ofs: 2566, row: 83, col: 34}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 2552, row: 83, col: 20}, {ofs: 2567, row: 83, col: 35}]); tmp318 = tmp319[tmp320];  _aether.logStatement([{ofs: 2552, row: 83, col: 20}, {ofs: 2567, row: 83, col: 35}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 2540, row: 83, col: 8}, {ofs: 2568, row: 83, col: 36}]); tmp323 = _aether.createAPIClone(_aether, tmp316[tmp317](_aether.restoreAPIClone(_aether, tmp318)));  _aether.logStatement([{ofs: 2540, row: 83, col: 8}, {ofs: 2568, row: 83, col: 36}], _aether._userInfo, false);\n            }\n            return;\n        };  _aether.logStatement([{ofs: 2003, row: 70, col: 0}, {ofs: 2716, row: 88, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 2003, row: 70, col: 0}, {ofs: 2715, row: 88, col: 1}]); tmp273[tmp274] = tmp275;  _aether.logStatement([{ofs: 2003, row: 70, col: 0}, {ofs: 2715, row: 88, col: 1}], _aether._userInfo, false);\n        tmp324 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp325 = 'recalculateBaseRace';\n        _aether.logStatementStart([{ofs: 2718, row: 90, col: 0}, {ofs: 3302, row: 108, col: 2}]); tmp326 = function () {\n            var count, i, tmp327, tmp328, tmp329, tmp330, tmp331, tmp332, tmp333, tmp334, tmp335, tmp336, tmp337, tmp338, tmp339, tmp340, tmp341, tmp344, tmp345, tmp346, tmp347, tmp348, tmp349, tmp350, tmp351, tmp352, tmp353, tmp354, tmp355, tmp356, tmp357, tmp358, tmp359, tmp360, tmp361, tmp362, tmp363, tmp364, tmp365, tmp366, tmp367, tmp368, tmp369, tmp370, tmp371, tmp372, tmp373, tmp374, tmp375;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 2957, row: 96, col: 4}, {ofs: 2971, row: 96, col: 18}]); count = 0;  _aether.logStatement([{ofs: 2957, row: 96, col: 4}, {ofs: 2971, row: 96, col: 18}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 2980, row: 97, col: 8}, {ofs: 2989, row: 97, col: 17}]); i = 1;  _aether.logStatement([{ofs: 2980, row: 97, col: 8}, {ofs: 2989, row: 97, col: 17}], _aether._userInfo, false);\n            tmp328 = i;\n            tmp332 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp333 = 'enemies';\n            _aether.logStatementStart([{ofs: 2995, row: 97, col: 23}, {ofs: 3007, row: 97, col: 35}]); tmp330 = tmp332[tmp333];  _aether.logStatement([{ofs: 2995, row: 97, col: 23}, {ofs: 3007, row: 97, col: 35}], _aether._userInfo, false);\n            tmp331 = 'length';\n            _aether.logStatementStart([{ofs: 2995, row: 97, col: 23}, {ofs: 3014, row: 97, col: 42}]); tmp329 = tmp330[tmp331];  _aether.logStatement([{ofs: 2995, row: 97, col: 23}, {ofs: 3014, row: 97, col: 42}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 2991, row: 97, col: 19}, {ofs: 3014, row: 97, col: 42}]); tmp327 = tmp328 < tmp329;  _aether.logStatement([{ofs: 2991, row: 97, col: 19}, {ofs: 3014, row: 97, col: 42}], _aether._userInfo, false);\n            tmp342: {\n                while (tmp327) {\n                    tmp343: {\n                        tmp350 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp351 = 'enemies';\n                        _aether.logStatementStart([{ofs: 3034, row: 98, col: 11}, {ofs: 3046, row: 98, col: 23}]); tmp348 = tmp350[tmp351];  _aether.logStatement([{ofs: 3034, row: 98, col: 11}, {ofs: 3046, row: 98, col: 23}], _aether._userInfo, false);\n                        tmp349 = i;\n                        _aether.logStatementStart([{ofs: 3034, row: 98, col: 11}, {ofs: 3049, row: 98, col: 26}]); tmp346 = tmp348[tmp349];  _aether.logStatement([{ofs: 3034, row: 98, col: 11}, {ofs: 3049, row: 98, col: 26}], _aether._userInfo, false);\n                        tmp347 = 'target';\n                        _aether.logStatementStart([{ofs: 3034, row: 98, col: 11}, {ofs: 3056, row: 98, col: 33}]); tmp345 = tmp346[tmp347];  _aether.logStatement([{ofs: 3034, row: 98, col: 11}, {ofs: 3056, row: 98, col: 33}], _aether._userInfo, false);\n                        if (tmp345) {\n                            tmp360 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp361 = 'enemies';\n                            _aether.logStatementStart([{ofs: 3060, row: 98, col: 37}, {ofs: 3072, row: 98, col: 49}]); tmp358 = tmp360[tmp361];  _aether.logStatement([{ofs: 3060, row: 98, col: 37}, {ofs: 3072, row: 98, col: 49}], _aether._userInfo, false);\n                            tmp359 = i;\n                            _aether.logStatementStart([{ofs: 3060, row: 98, col: 37}, {ofs: 3075, row: 98, col: 52}]); tmp356 = tmp358[tmp359];  _aether.logStatement([{ofs: 3060, row: 98, col: 37}, {ofs: 3075, row: 98, col: 52}], _aether._userInfo, false);\n                            tmp357 = 'target';\n                            _aether.logStatementStart([{ofs: 3060, row: 98, col: 37}, {ofs: 3082, row: 98, col: 59}]); tmp354 = tmp356[tmp357];  _aether.logStatement([{ofs: 3060, row: 98, col: 37}, {ofs: 3082, row: 98, col: 59}], _aether._userInfo, false);\n                            tmp355 = 'type';\n                            _aether.logStatementStart([{ofs: 3060, row: 98, col: 37}, {ofs: 3087, row: 98, col: 64}]); tmp352 = tmp354[tmp355];  _aether.logStatement([{ofs: 3060, row: 98, col: 37}, {ofs: 3087, row: 98, col: 64}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 3092, row: 98, col: 69}, {ofs: 3098, row: 98, col: 75}]); tmp353 = 'base';  _aether.logStatement([{ofs: 3092, row: 98, col: 69}, {ofs: 3098, row: 98, col: 75}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 3060, row: 98, col: 37}, {ofs: 3098, row: 98, col: 75}]); tmp344 = tmp352 === tmp353;  _aether.logStatement([{ofs: 3060, row: 98, col: 37}, {ofs: 3098, row: 98, col: 75}], _aether._userInfo, false);\n                        } else {\n                            _aether.logStatementStart([{ofs: 3034, row: 98, col: 11}, {ofs: 3098, row: 98, col: 75}]); tmp344 = tmp345;  _aether.logStatement([{ofs: 3034, row: 98, col: 11}, {ofs: 3098, row: 98, col: 75}], _aether._userInfo, false);\n                        }\n                        if (tmp344) {\n                            _aether.logStatementStart([{ofs: 3114, row: 99, col: 12}, {ofs: 3125, row: 99, col: 23}]); tmp362 = 1;  _aether.logStatement([{ofs: 3114, row: 99, col: 12}, {ofs: 3125, row: 99, col: 23}], _aether._userInfo, false);\n                            tmp363 = count;\n                            tmp364 = tmp362;\n                            count = tmp363 + tmp364;\n                        } else {\n                            ;\n                        }\n                    }\n                    tmp340 = i;\n                    tmp341 = 1;\n                    i = tmp340 + tmp341;\n                    tmp334 = i;\n                    tmp338 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp339 = 'enemies';\n                    _aether.logStatementStart([{ofs: 2995, row: 97, col: 23}, {ofs: 3007, row: 97, col: 35}]); tmp336 = tmp338[tmp339];  _aether.logStatement([{ofs: 2995, row: 97, col: 23}, {ofs: 3007, row: 97, col: 35}], _aether._userInfo, false);\n                    tmp337 = 'length';\n                    _aether.logStatementStart([{ofs: 2995, row: 97, col: 23}, {ofs: 3014, row: 97, col: 42}]); tmp335 = tmp336[tmp337];  _aether.logStatement([{ofs: 2995, row: 97, col: 23}, {ofs: 3014, row: 97, col: 42}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 2991, row: 97, col: 19}, {ofs: 3014, row: 97, col: 42}]); tmp327 = tmp334 < tmp335;  _aether.logStatement([{ofs: 2991, row: 97, col: 19}, {ofs: 3014, row: 97, col: 42}], _aether._userInfo, false);\n                }\n            }\n            tmp366 = count;\n            tmp372 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp373 = 'enemies';\n            _aether.logStatementStart([{ofs: 3227, row: 104, col: 17}, {ofs: 3239, row: 104, col: 29}]); tmp370 = tmp372[tmp373];  _aether.logStatement([{ofs: 3227, row: 104, col: 17}, {ofs: 3239, row: 104, col: 29}], _aether._userInfo, false);\n            tmp371 = 'length';\n            _aether.logStatementStart([{ofs: 3227, row: 104, col: 17}, {ofs: 3246, row: 104, col: 36}]); tmp368 = tmp370[tmp371];  _aether.logStatement([{ofs: 3227, row: 104, col: 17}, {ofs: 3246, row: 104, col: 36}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3249, row: 104, col: 39}, {ofs: 3250, row: 104, col: 40}]); tmp369 = 1;  _aether.logStatement([{ofs: 3249, row: 104, col: 39}, {ofs: 3250, row: 104, col: 40}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3227, row: 104, col: 17}, {ofs: 3250, row: 104, col: 40}]); tmp367 = tmp368 - tmp369;  _aether.logStatement([{ofs: 3227, row: 104, col: 17}, {ofs: 3250, row: 104, col: 40}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3217, row: 104, col: 7}, {ofs: 3251, row: 104, col: 41}]); tmp365 = tmp366 >= tmp367;  _aether.logStatement([{ofs: 3217, row: 104, col: 7}, {ofs: 3251, row: 104, col: 41}], _aether._userInfo, false);\n            if (tmp365) {\n                _aether.logStatementStart([{ofs: 3270, row: 105, col: 15}, {ofs: 3274, row: 105, col: 19}]); tmp374 = true;  _aether.logStatement([{ofs: 3270, row: 105, col: 15}, {ofs: 3274, row: 105, col: 19}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp374);\n            } else {\n                ;\n            }\n            _aether.logStatementStart([{ofs: 3293, row: 107, col: 11}, {ofs: 3298, row: 107, col: 16}]); tmp375 = false;  _aether.logStatement([{ofs: 3293, row: 107, col: 11}, {ofs: 3298, row: 107, col: 16}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp375);\n        };  _aether.logStatement([{ofs: 2718, row: 90, col: 0}, {ofs: 3302, row: 108, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 2718, row: 90, col: 0}, {ofs: 3301, row: 108, col: 1}]); tmp324[tmp325] = tmp326;  _aether.logStatement([{ofs: 2718, row: 90, col: 0}, {ofs: 3301, row: 108, col: 1}], _aether._userInfo, false);\n        tmp376 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp377 = 'isOpponentHeroRushing';\n        _aether.logStatementStart([{ofs: 3304, row: 110, col: 0}, {ofs: 3639, row: 123, col: 2}]); tmp378 = function () {\n            var count, i, tmp379, tmp380, tmp381, tmp382, tmp383, tmp384, tmp385, tmp386, tmp387, tmp388, tmp389, tmp390, tmp391, tmp392, tmp393, tmp396, tmp397, tmp398, tmp399, tmp400, tmp401, tmp402, tmp403, tmp404, tmp405, tmp406, tmp407, tmp408, tmp409, tmp410, tmp411, tmp412, tmp413, tmp414, tmp415, tmp416, tmp417, tmp418, tmp419, tmp420, tmp421, tmp422, tmp423, tmp424, tmp425, tmp426, tmp427;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 3355, row: 112, col: 4}, {ofs: 3369, row: 112, col: 18}]); count = 0;  _aether.logStatement([{ofs: 3355, row: 112, col: 4}, {ofs: 3369, row: 112, col: 18}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3378, row: 113, col: 8}, {ofs: 3387, row: 113, col: 17}]); i = 1;  _aether.logStatement([{ofs: 3378, row: 113, col: 8}, {ofs: 3387, row: 113, col: 17}], _aether._userInfo, false);\n            tmp380 = i;\n            tmp384 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp385 = 'enemies';\n            _aether.logStatementStart([{ofs: 3393, row: 113, col: 23}, {ofs: 3405, row: 113, col: 35}]); tmp382 = tmp384[tmp385];  _aether.logStatement([{ofs: 3393, row: 113, col: 23}, {ofs: 3405, row: 113, col: 35}], _aether._userInfo, false);\n            tmp383 = 'length';\n            _aether.logStatementStart([{ofs: 3393, row: 113, col: 23}, {ofs: 3412, row: 113, col: 42}]); tmp381 = tmp382[tmp383];  _aether.logStatement([{ofs: 3393, row: 113, col: 23}, {ofs: 3412, row: 113, col: 42}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3389, row: 113, col: 19}, {ofs: 3412, row: 113, col: 42}]); tmp379 = tmp380 < tmp381;  _aether.logStatement([{ofs: 3389, row: 113, col: 19}, {ofs: 3412, row: 113, col: 42}], _aether._userInfo, false);\n            tmp394: {\n                while (tmp379) {\n                    tmp395: {\n                        tmp402 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp403 = 'enemies';\n                        _aether.logStatementStart([{ofs: 3432, row: 114, col: 11}, {ofs: 3444, row: 114, col: 23}]); tmp400 = tmp402[tmp403];  _aether.logStatement([{ofs: 3432, row: 114, col: 11}, {ofs: 3444, row: 114, col: 23}], _aether._userInfo, false);\n                        tmp401 = i;\n                        _aether.logStatementStart([{ofs: 3432, row: 114, col: 11}, {ofs: 3447, row: 114, col: 26}]); tmp398 = tmp400[tmp401];  _aether.logStatement([{ofs: 3432, row: 114, col: 11}, {ofs: 3447, row: 114, col: 26}], _aether._userInfo, false);\n                        tmp399 = 'target';\n                        _aether.logStatementStart([{ofs: 3432, row: 114, col: 11}, {ofs: 3454, row: 114, col: 33}]); tmp397 = tmp398[tmp399];  _aether.logStatement([{ofs: 3432, row: 114, col: 11}, {ofs: 3454, row: 114, col: 33}], _aether._userInfo, false);\n                        if (tmp397) {\n                            tmp412 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp413 = 'enemies';\n                            _aether.logStatementStart([{ofs: 3458, row: 114, col: 37}, {ofs: 3470, row: 114, col: 49}]); tmp410 = tmp412[tmp413];  _aether.logStatement([{ofs: 3458, row: 114, col: 37}, {ofs: 3470, row: 114, col: 49}], _aether._userInfo, false);\n                            tmp411 = i;\n                            _aether.logStatementStart([{ofs: 3458, row: 114, col: 37}, {ofs: 3473, row: 114, col: 52}]); tmp408 = tmp410[tmp411];  _aether.logStatement([{ofs: 3458, row: 114, col: 37}, {ofs: 3473, row: 114, col: 52}], _aether._userInfo, false);\n                            tmp409 = 'target';\n                            _aether.logStatementStart([{ofs: 3458, row: 114, col: 37}, {ofs: 3480, row: 114, col: 59}]); tmp406 = tmp408[tmp409];  _aether.logStatement([{ofs: 3458, row: 114, col: 37}, {ofs: 3480, row: 114, col: 59}], _aether._userInfo, false);\n                            tmp407 = 'type';\n                            _aether.logStatementStart([{ofs: 3458, row: 114, col: 37}, {ofs: 3485, row: 114, col: 64}]); tmp404 = tmp406[tmp407];  _aether.logStatement([{ofs: 3458, row: 114, col: 37}, {ofs: 3485, row: 114, col: 64}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 3490, row: 114, col: 69}, {ofs: 3498, row: 114, col: 77}]); tmp405 = 'knight';  _aether.logStatement([{ofs: 3490, row: 114, col: 69}, {ofs: 3498, row: 114, col: 77}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 3458, row: 114, col: 37}, {ofs: 3498, row: 114, col: 77}]); tmp396 = tmp404 === tmp405;  _aether.logStatement([{ofs: 3458, row: 114, col: 37}, {ofs: 3498, row: 114, col: 77}], _aether._userInfo, false);\n                        } else {\n                            _aether.logStatementStart([{ofs: 3432, row: 114, col: 11}, {ofs: 3498, row: 114, col: 77}]); tmp396 = tmp397;  _aether.logStatement([{ofs: 3432, row: 114, col: 11}, {ofs: 3498, row: 114, col: 77}], _aether._userInfo, false);\n                        }\n                        if (tmp396) {\n                            _aether.logStatementStart([{ofs: 3514, row: 115, col: 12}, {ofs: 3525, row: 115, col: 23}]); tmp414 = 1;  _aether.logStatement([{ofs: 3514, row: 115, col: 12}, {ofs: 3525, row: 115, col: 23}], _aether._userInfo, false);\n                            tmp415 = count;\n                            tmp416 = tmp414;\n                            count = tmp415 + tmp416;\n                        } else {\n                            ;\n                        }\n                    }\n                    tmp392 = i;\n                    tmp393 = 1;\n                    i = tmp392 + tmp393;\n                    tmp386 = i;\n                    tmp390 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp391 = 'enemies';\n                    _aether.logStatementStart([{ofs: 3393, row: 113, col: 23}, {ofs: 3405, row: 113, col: 35}]); tmp388 = tmp390[tmp391];  _aether.logStatement([{ofs: 3393, row: 113, col: 23}, {ofs: 3405, row: 113, col: 35}], _aether._userInfo, false);\n                    tmp389 = 'length';\n                    _aether.logStatementStart([{ofs: 3393, row: 113, col: 23}, {ofs: 3412, row: 113, col: 42}]); tmp387 = tmp388[tmp389];  _aether.logStatement([{ofs: 3393, row: 113, col: 23}, {ofs: 3412, row: 113, col: 42}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 3389, row: 113, col: 19}, {ofs: 3412, row: 113, col: 42}]); tmp379 = tmp386 < tmp387;  _aether.logStatement([{ofs: 3389, row: 113, col: 19}, {ofs: 3412, row: 113, col: 42}], _aether._userInfo, false);\n                }\n            }\n            tmp418 = count;\n            tmp424 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp425 = 'enemies';\n            _aether.logStatementStart([{ofs: 3564, row: 119, col: 17}, {ofs: 3576, row: 119, col: 29}]); tmp422 = tmp424[tmp425];  _aether.logStatement([{ofs: 3564, row: 119, col: 17}, {ofs: 3576, row: 119, col: 29}], _aether._userInfo, false);\n            tmp423 = 'length';\n            _aether.logStatementStart([{ofs: 3564, row: 119, col: 17}, {ofs: 3583, row: 119, col: 36}]); tmp420 = tmp422[tmp423];  _aether.logStatement([{ofs: 3564, row: 119, col: 17}, {ofs: 3583, row: 119, col: 36}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3586, row: 119, col: 39}, {ofs: 3587, row: 119, col: 40}]); tmp421 = 1;  _aether.logStatement([{ofs: 3586, row: 119, col: 39}, {ofs: 3587, row: 119, col: 40}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3564, row: 119, col: 17}, {ofs: 3587, row: 119, col: 40}]); tmp419 = tmp420 - tmp421;  _aether.logStatement([{ofs: 3564, row: 119, col: 17}, {ofs: 3587, row: 119, col: 40}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3554, row: 119, col: 7}, {ofs: 3588, row: 119, col: 41}]); tmp417 = tmp418 == tmp419;  _aether.logStatement([{ofs: 3554, row: 119, col: 7}, {ofs: 3588, row: 119, col: 41}], _aether._userInfo, false);\n            if (tmp417) {\n                _aether.logStatementStart([{ofs: 3607, row: 120, col: 15}, {ofs: 3611, row: 120, col: 19}]); tmp426 = true;  _aether.logStatement([{ofs: 3607, row: 120, col: 15}, {ofs: 3611, row: 120, col: 19}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp426);\n            } else {\n                ;\n            }\n            _aether.logStatementStart([{ofs: 3630, row: 122, col: 11}, {ofs: 3635, row: 122, col: 16}]); tmp427 = false;  _aether.logStatement([{ofs: 3630, row: 122, col: 11}, {ofs: 3635, row: 122, col: 16}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp427);\n        };  _aether.logStatement([{ofs: 3304, row: 110, col: 0}, {ofs: 3639, row: 123, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 3304, row: 110, col: 0}, {ofs: 3638, row: 123, col: 1}]); tmp376[tmp377] = tmp378;  _aether.logStatement([{ofs: 3304, row: 110, col: 0}, {ofs: 3638, row: 123, col: 1}], _aether._userInfo, false);\n        tmp428 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp429 = 'doesOpponentHaveRanged';\n        _aether.logStatementStart([{ofs: 3641, row: 125, col: 0}, {ofs: 4238, row: 149, col: 2}]); tmp430 = function () {\n            var ranged, melee, i, tmp431, tmp432, tmp433, tmp434, tmp435, tmp436, tmp437, tmp438, tmp439, tmp440, tmp441, tmp442, tmp443, tmp444, tmp445, tmp448, tmp449, tmp450, tmp451, tmp452, tmp453, tmp454, tmp455, tmp456, tmp457, tmp458, tmp459, tmp460, tmp461, tmp462, tmp463, tmp464, tmp465, tmp466, tmp467, tmp468, tmp469, tmp470, tmp471, tmp472, tmp473, tmp474, tmp475, tmp476, tmp477, tmp478, tmp479, tmp480, tmp481, tmp482, tmp483, tmp484, tmp485, tmp486, tmp487, tmp488, tmp489, tmp490, tmp491, tmp492, tmp493;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 3746, row: 129, col: 4}, {ofs: 3761, row: 129, col: 19}]); ranged = 0;  _aether.logStatement([{ofs: 3746, row: 129, col: 4}, {ofs: 3761, row: 129, col: 19}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3766, row: 130, col: 4}, {ofs: 3780, row: 130, col: 18}]); melee = 0;  _aether.logStatement([{ofs: 3766, row: 130, col: 4}, {ofs: 3780, row: 130, col: 18}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3789, row: 131, col: 8}, {ofs: 3798, row: 131, col: 17}]); i = 2;  _aether.logStatement([{ofs: 3789, row: 131, col: 8}, {ofs: 3798, row: 131, col: 17}], _aether._userInfo, false);\n            tmp432 = i;\n            tmp436 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp437 = 'enemies';\n            _aether.logStatementStart([{ofs: 3804, row: 131, col: 23}, {ofs: 3816, row: 131, col: 35}]); tmp434 = tmp436[tmp437];  _aether.logStatement([{ofs: 3804, row: 131, col: 23}, {ofs: 3816, row: 131, col: 35}], _aether._userInfo, false);\n            tmp435 = 'length';\n            _aether.logStatementStart([{ofs: 3804, row: 131, col: 23}, {ofs: 3823, row: 131, col: 42}]); tmp433 = tmp434[tmp435];  _aether.logStatement([{ofs: 3804, row: 131, col: 23}, {ofs: 3823, row: 131, col: 42}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 3800, row: 131, col: 19}, {ofs: 3823, row: 131, col: 42}]); tmp431 = tmp432 < tmp433;  _aether.logStatement([{ofs: 3800, row: 131, col: 19}, {ofs: 3823, row: 131, col: 42}], _aether._userInfo, false);\n            tmp446: {\n                while (tmp431) {\n                    tmp447: {\n                        tmp455 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp456 = 'enemies';\n                        _aether.logStatementStart([{ofs: 3843, row: 132, col: 11}, {ofs: 3855, row: 132, col: 23}]); tmp453 = tmp455[tmp456];  _aether.logStatement([{ofs: 3843, row: 132, col: 11}, {ofs: 3855, row: 132, col: 23}], _aether._userInfo, false);\n                        tmp454 = i;\n                        _aether.logStatementStart([{ofs: 3843, row: 132, col: 11}, {ofs: 3858, row: 132, col: 26}]); tmp451 = tmp453[tmp454];  _aether.logStatement([{ofs: 3843, row: 132, col: 11}, {ofs: 3858, row: 132, col: 26}], _aether._userInfo, false);\n                        tmp452 = 'type';\n                        _aether.logStatementStart([{ofs: 3843, row: 132, col: 11}, {ofs: 3863, row: 132, col: 31}]); tmp449 = tmp451[tmp452];  _aether.logStatement([{ofs: 3843, row: 132, col: 11}, {ofs: 3863, row: 132, col: 31}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 3868, row: 132, col: 36}, {ofs: 3877, row: 132, col: 45}]); tmp450 = 'thrower';  _aether.logStatement([{ofs: 3868, row: 132, col: 36}, {ofs: 3877, row: 132, col: 45}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 3843, row: 132, col: 11}, {ofs: 3877, row: 132, col: 45}]); tmp448 = tmp449 === tmp450;  _aether.logStatement([{ofs: 3843, row: 132, col: 11}, {ofs: 3877, row: 132, col: 45}], _aether._userInfo, false);\n                        if (tmp448) {\n                            _aether.logStatementStart([{ofs: 3893, row: 133, col: 12}, {ofs: 3905, row: 133, col: 24}]); tmp457 = 1;  _aether.logStatement([{ofs: 3893, row: 133, col: 12}, {ofs: 3905, row: 133, col: 24}], _aether._userInfo, false);\n                            tmp458 = ranged;\n                            tmp459 = tmp457;\n                            ranged = tmp458 + tmp459;\n                        } else {\n                            tmp467 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp468 = 'enemies';\n                            _aether.logStatementStart([{ofs: 3932, row: 135, col: 16}, {ofs: 3944, row: 135, col: 28}]); tmp465 = tmp467[tmp468];  _aether.logStatement([{ofs: 3932, row: 135, col: 16}, {ofs: 3944, row: 135, col: 28}], _aether._userInfo, false);\n                            tmp466 = i;\n                            _aether.logStatementStart([{ofs: 3932, row: 135, col: 16}, {ofs: 3947, row: 135, col: 31}]); tmp463 = tmp465[tmp466];  _aether.logStatement([{ofs: 3932, row: 135, col: 16}, {ofs: 3947, row: 135, col: 31}], _aether._userInfo, false);\n                            tmp464 = 'type';\n                            _aether.logStatementStart([{ofs: 3932, row: 135, col: 16}, {ofs: 3952, row: 135, col: 36}]); tmp461 = tmp463[tmp464];  _aether.logStatement([{ofs: 3932, row: 135, col: 16}, {ofs: 3952, row: 135, col: 36}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 3957, row: 135, col: 41}, {ofs: 3967, row: 135, col: 51}]); tmp462 = 'munchkin';  _aether.logStatement([{ofs: 3957, row: 135, col: 41}, {ofs: 3967, row: 135, col: 51}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 3932, row: 135, col: 16}, {ofs: 3967, row: 135, col: 51}]); tmp460 = tmp461 === tmp462;  _aether.logStatement([{ofs: 3932, row: 135, col: 16}, {ofs: 3967, row: 135, col: 51}], _aether._userInfo, false);\n                            if (tmp460) {\n                                _aether.logStatementStart([{ofs: 3983, row: 136, col: 12}, {ofs: 3994, row: 136, col: 23}]); tmp469 = 1;  _aether.logStatement([{ofs: 3983, row: 136, col: 12}, {ofs: 3994, row: 136, col: 23}], _aether._userInfo, false);\n                                tmp470 = melee;\n                                tmp471 = tmp469;\n                                melee = tmp470 + tmp471;\n                            } else {\n                                ;\n                            }\n                        }\n                    }\n                    tmp444 = i;\n                    tmp445 = 1;\n                    i = tmp444 + tmp445;\n                    tmp438 = i;\n                    tmp442 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp443 = 'enemies';\n                    _aether.logStatementStart([{ofs: 3804, row: 131, col: 23}, {ofs: 3816, row: 131, col: 35}]); tmp440 = tmp442[tmp443];  _aether.logStatement([{ofs: 3804, row: 131, col: 23}, {ofs: 3816, row: 131, col: 35}], _aether._userInfo, false);\n                    tmp441 = 'length';\n                    _aether.logStatementStart([{ofs: 3804, row: 131, col: 23}, {ofs: 3823, row: 131, col: 42}]); tmp439 = tmp440[tmp441];  _aether.logStatement([{ofs: 3804, row: 131, col: 23}, {ofs: 3823, row: 131, col: 42}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 3800, row: 131, col: 19}, {ofs: 3823, row: 131, col: 42}]); tmp431 = tmp438 < tmp439;  _aether.logStatement([{ofs: 3800, row: 131, col: 19}, {ofs: 3823, row: 131, col: 42}], _aether._userInfo, false);\n                }\n            }\n            tmp474 = melee;\n            _aether.logStatementStart([{ofs: 4026, row: 139, col: 15}, {ofs: 4027, row: 139, col: 16}]); tmp475 = 0;  _aether.logStatement([{ofs: 4026, row: 139, col: 15}, {ofs: 4027, row: 139, col: 16}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4018, row: 139, col: 7}, {ofs: 4027, row: 139, col: 16}]); tmp473 = tmp474 > tmp475;  _aether.logStatement([{ofs: 4018, row: 139, col: 7}, {ofs: 4027, row: 139, col: 16}], _aether._userInfo, false);\n            if (tmp473) {\n                tmp476 = ranged;\n                _aether.logStatementStart([{ofs: 4042, row: 139, col: 31}, {ofs: 4043, row: 139, col: 32}]); tmp477 = 0;  _aether.logStatement([{ofs: 4042, row: 139, col: 31}, {ofs: 4043, row: 139, col: 32}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 4031, row: 139, col: 20}, {ofs: 4043, row: 139, col: 32}]); tmp472 = tmp476 === tmp477;  _aether.logStatement([{ofs: 4031, row: 139, col: 20}, {ofs: 4043, row: 139, col: 32}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 4018, row: 139, col: 7}, {ofs: 4043, row: 139, col: 32}]); tmp472 = tmp473;  _aether.logStatement([{ofs: 4018, row: 139, col: 7}, {ofs: 4043, row: 139, col: 32}], _aether._userInfo, false);\n            }\n            if (tmp472) {\n                _aether.logStatementStart([{ofs: 4062, row: 140, col: 15}, {ofs: 4063, row: 140, col: 16}]); tmp478 = 1;  _aether.logStatement([{ofs: 4062, row: 140, col: 15}, {ofs: 4063, row: 140, col: 16}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp478);\n            } else {\n                tmp481 = ranged;\n                _aether.logStatementStart([{ofs: 4092, row: 142, col: 21}, {ofs: 4093, row: 142, col: 22}]); tmp482 = 0;  _aether.logStatement([{ofs: 4092, row: 142, col: 21}, {ofs: 4093, row: 142, col: 22}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 4083, row: 142, col: 12}, {ofs: 4093, row: 142, col: 22}]); tmp480 = tmp481 > tmp482;  _aether.logStatement([{ofs: 4083, row: 142, col: 12}, {ofs: 4093, row: 142, col: 22}], _aether._userInfo, false);\n                if (tmp480) {\n                    tmp483 = melee;\n                    _aether.logStatementStart([{ofs: 4107, row: 142, col: 36}, {ofs: 4108, row: 142, col: 37}]); tmp484 = 0;  _aether.logStatement([{ofs: 4107, row: 142, col: 36}, {ofs: 4108, row: 142, col: 37}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 4097, row: 142, col: 26}, {ofs: 4108, row: 142, col: 37}]); tmp479 = tmp483 === tmp484;  _aether.logStatement([{ofs: 4097, row: 142, col: 26}, {ofs: 4108, row: 142, col: 37}], _aether._userInfo, false);\n                } else {\n                    _aether.logStatementStart([{ofs: 4083, row: 142, col: 12}, {ofs: 4108, row: 142, col: 37}]); tmp479 = tmp480;  _aether.logStatement([{ofs: 4083, row: 142, col: 12}, {ofs: 4108, row: 142, col: 37}], _aether._userInfo, false);\n                }\n                if (tmp479) {\n                    _aether.logStatementStart([{ofs: 4127, row: 143, col: 15}, {ofs: 4128, row: 143, col: 16}]); tmp485 = 2;  _aether.logStatement([{ofs: 4127, row: 143, col: 15}, {ofs: 4128, row: 143, col: 16}], _aether._userInfo, false);\n                    return _aether.restoreAPIClone(_aether, tmp485);\n                } else {\n                    tmp488 = ranged;\n                    _aether.logStatementStart([{ofs: 4157, row: 145, col: 21}, {ofs: 4158, row: 145, col: 22}]); tmp489 = 0;  _aether.logStatement([{ofs: 4157, row: 145, col: 21}, {ofs: 4158, row: 145, col: 22}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 4148, row: 145, col: 12}, {ofs: 4158, row: 145, col: 22}]); tmp487 = tmp488 > tmp489;  _aether.logStatement([{ofs: 4148, row: 145, col: 12}, {ofs: 4158, row: 145, col: 22}], _aether._userInfo, false);\n                    if (tmp487) {\n                        tmp490 = melee;\n                        _aether.logStatementStart([{ofs: 4170, row: 145, col: 34}, {ofs: 4171, row: 145, col: 35}]); tmp491 = 0;  _aether.logStatement([{ofs: 4170, row: 145, col: 34}, {ofs: 4171, row: 145, col: 35}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 4162, row: 145, col: 26}, {ofs: 4171, row: 145, col: 35}]); tmp486 = tmp490 > tmp491;  _aether.logStatement([{ofs: 4162, row: 145, col: 26}, {ofs: 4171, row: 145, col: 35}], _aether._userInfo, false);\n                    } else {\n                        _aether.logStatementStart([{ofs: 4148, row: 145, col: 12}, {ofs: 4171, row: 145, col: 35}]); tmp486 = tmp487;  _aether.logStatement([{ofs: 4148, row: 145, col: 12}, {ofs: 4171, row: 145, col: 35}], _aether._userInfo, false);\n                    }\n                    if (tmp486) {\n                        _aether.logStatementStart([{ofs: 4190, row: 146, col: 15}, {ofs: 4191, row: 146, col: 16}]); tmp492 = 3;  _aether.logStatement([{ofs: 4190, row: 146, col: 15}, {ofs: 4191, row: 146, col: 16}], _aether._userInfo, false);\n                        return _aether.restoreAPIClone(_aether, tmp492);\n                    } else {\n                        ;\n                    }\n                }\n            }\n            _aether.logStatementStart([{ofs: 4210, row: 148, col: 11}, {ofs: 4211, row: 148, col: 12}]); tmp493 = 0;  _aether.logStatement([{ofs: 4210, row: 148, col: 11}, {ofs: 4211, row: 148, col: 12}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp493);\n        };  _aether.logStatement([{ofs: 3641, row: 125, col: 0}, {ofs: 4238, row: 149, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 3641, row: 125, col: 0}, {ofs: 4237, row: 149, col: 1}]); tmp428[tmp429] = tmp430;  _aether.logStatement([{ofs: 3641, row: 125, col: 0}, {ofs: 4237, row: 149, col: 1}], _aether._userInfo, false);\n        tmp494 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp495 = 'getTerrifyTargets';\n        _aether.logStatementStart([{ofs: 4240, row: 151, col: 0}, {ofs: 5566, row: 200, col: 2}]); tmp496 = function () {\n            var tharin, base, other, i, tmp497, tmp498, tmp499, tmp500, tmp501, tmp502, tmp503, tmp504, tmp505, tmp506, tmp507, tmp508, tmp509, tmp510, tmp511, tmp512, tmp513, tmp514, tmp515, tmp516, tmp517, tmp518, tmp519, tmp520, tmp521, tmp524, tmp525, tmp526, tmp527, tmp528, tmp529, tmp530, tmp531, tmp532, tmp533, tmp534, tmp535, tmp536, tmp537, tmp538, tmp539, tmp540, tmp541, tmp542, tmp543, tmp544, tmp545, tmp546, tmp547, tmp548, tmp549, tmp550, tmp551, tmp552, tmp553, tmp554, tmp555, tmp556, tmp557, tmp558, tmp559, tmp560, tmp561, tmp562, tmp563, tmp564, tmp565, tmp566, tmp567, tmp568, tmp569, tmp570, tmp571, tmp572, tmp573, tmp574, tmp575, tmp576, tmp577, tmp578, tmp579, tmp580, tmp581, tmp582, tmp583, tmp584, tmp585, tmp586, tmp587, tmp588, tmp589, tmp590, tmp591, tmp592, tmp593, tmp594, tmp595, tmp596, tmp597, tmp598, tmp599, tmp600, tmp601, tmp602, tmp603, tmp604, tmp605, tmp606, tmp607, tmp608, tmp609, tmp610, tmp611, tmp612, tmp613, tmp614, tmp615, tmp616, tmp617, tmp618, tmp619, tmp620, tmp621, tmp622;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n            _aether.logStatementStart([{ofs: 4421, row: 157, col: 4}, {ofs: 4436, row: 157, col: 19}]); tharin = 0;  _aether.logStatement([{ofs: 4421, row: 157, col: 4}, {ofs: 4436, row: 157, col: 19}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4441, row: 158, col: 4}, {ofs: 4454, row: 158, col: 17}]); base = 0;  _aether.logStatement([{ofs: 4441, row: 158, col: 4}, {ofs: 4454, row: 158, col: 17}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4459, row: 159, col: 4}, {ofs: 4473, row: 159, col: 18}]); other = 0;  _aether.logStatement([{ofs: 4459, row: 159, col: 4}, {ofs: 4473, row: 159, col: 18}], _aether._userInfo, false);\n            tmp497 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp498 = 'terrifyCooldown';\n            _aether.logStatementStart([{ofs: 4522, row: 162, col: 4}, {ofs: 4550, row: 162, col: 32}]); tmp499 = true;  _aether.logStatement([{ofs: 4522, row: 162, col: 4}, {ofs: 4550, row: 162, col: 32}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4522, row: 162, col: 4}, {ofs: 4549, row: 162, col: 31}]); tmp497[tmp498] = tmp499;  _aether.logStatement([{ofs: 4522, row: 162, col: 4}, {ofs: 4549, row: 162, col: 31}], _aether._userInfo, false);\n            tmp500 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp501 = 'terrifyUnitCount';\n            tmp505 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp506 = 'enemies';\n            _aether.logStatementStart([{ofs: 4579, row: 163, col: 28}, {ofs: 4591, row: 163, col: 40}]); tmp503 = tmp505[tmp506];  _aether.logStatement([{ofs: 4579, row: 163, col: 28}, {ofs: 4591, row: 163, col: 40}], _aether._userInfo, false);\n            tmp504 = 'length';\n            _aether.logStatementStart([{ofs: 4555, row: 163, col: 4}, {ofs: 4599, row: 163, col: 48}]); tmp502 = tmp503[tmp504];  _aether.logStatement([{ofs: 4555, row: 163, col: 4}, {ofs: 4599, row: 163, col: 48}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4555, row: 163, col: 4}, {ofs: 4598, row: 163, col: 47}]); tmp500[tmp501] = tmp502;  _aether.logStatement([{ofs: 4555, row: 163, col: 4}, {ofs: 4598, row: 163, col: 47}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4609, row: 165, col: 8}, {ofs: 4618, row: 165, col: 17}]); i = 0;  _aether.logStatement([{ofs: 4609, row: 165, col: 8}, {ofs: 4618, row: 165, col: 17}], _aether._userInfo, false);\n            tmp508 = i;\n            tmp512 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp513 = 'enemies';\n            _aether.logStatementStart([{ofs: 4624, row: 165, col: 23}, {ofs: 4636, row: 165, col: 35}]); tmp510 = tmp512[tmp513];  _aether.logStatement([{ofs: 4624, row: 165, col: 23}, {ofs: 4636, row: 165, col: 35}], _aether._userInfo, false);\n            tmp511 = 'length';\n            _aether.logStatementStart([{ofs: 4624, row: 165, col: 23}, {ofs: 4643, row: 165, col: 42}]); tmp509 = tmp510[tmp511];  _aether.logStatement([{ofs: 4624, row: 165, col: 23}, {ofs: 4643, row: 165, col: 42}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 4620, row: 165, col: 19}, {ofs: 4643, row: 165, col: 42}]); tmp507 = tmp508 < tmp509;  _aether.logStatement([{ofs: 4620, row: 165, col: 19}, {ofs: 4643, row: 165, col: 42}], _aether._userInfo, false);\n            tmp522: {\n                while (tmp507) {\n                    tmp523: {\n                        tmp529 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp530 = 'enemies';\n                        _aether.logStatementStart([{ofs: 4663, row: 166, col: 11}, {ofs: 4675, row: 166, col: 23}]); tmp527 = tmp529[tmp530];  _aether.logStatement([{ofs: 4663, row: 166, col: 11}, {ofs: 4675, row: 166, col: 23}], _aether._userInfo, false);\n                        tmp528 = i;\n                        _aether.logStatementStart([{ofs: 4663, row: 166, col: 11}, {ofs: 4678, row: 166, col: 26}]); tmp525 = tmp527[tmp528];  _aether.logStatement([{ofs: 4663, row: 166, col: 11}, {ofs: 4678, row: 166, col: 26}], _aether._userInfo, false);\n                        tmp526 = 'target';\n                        _aether.logStatementStart([{ofs: 4663, row: 166, col: 11}, {ofs: 4685, row: 166, col: 33}]); tmp524 = tmp525[tmp526];  _aether.logStatement([{ofs: 4663, row: 166, col: 11}, {ofs: 4685, row: 166, col: 33}], _aether._userInfo, false);\n                        if (tmp524) {\n                            tmp540 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp541 = 'enemies';\n                            _aether.logStatementStart([{ofs: 4704, row: 167, col: 15}, {ofs: 4716, row: 167, col: 27}]); tmp538 = tmp540[tmp541];  _aether.logStatement([{ofs: 4704, row: 167, col: 15}, {ofs: 4716, row: 167, col: 27}], _aether._userInfo, false);\n                            tmp539 = i;\n                            _aether.logStatementStart([{ofs: 4704, row: 167, col: 15}, {ofs: 4719, row: 167, col: 30}]); tmp536 = tmp538[tmp539];  _aether.logStatement([{ofs: 4704, row: 167, col: 15}, {ofs: 4719, row: 167, col: 30}], _aether._userInfo, false);\n                            tmp537 = 'target';\n                            _aether.logStatementStart([{ofs: 4704, row: 167, col: 15}, {ofs: 4726, row: 167, col: 37}]); tmp534 = tmp536[tmp537];  _aether.logStatement([{ofs: 4704, row: 167, col: 15}, {ofs: 4726, row: 167, col: 37}], _aether._userInfo, false);\n                            tmp535 = 'type';\n                            _aether.logStatementStart([{ofs: 4704, row: 167, col: 15}, {ofs: 4731, row: 167, col: 42}]); tmp532 = tmp534[tmp535];  _aether.logStatement([{ofs: 4704, row: 167, col: 15}, {ofs: 4731, row: 167, col: 42}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 4736, row: 167, col: 47}, {ofs: 4744, row: 167, col: 55}]); tmp533 = 'knight';  _aether.logStatement([{ofs: 4736, row: 167, col: 47}, {ofs: 4744, row: 167, col: 55}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 4704, row: 167, col: 15}, {ofs: 4744, row: 167, col: 55}]); tmp531 = tmp532 === tmp533;  _aether.logStatement([{ofs: 4704, row: 167, col: 15}, {ofs: 4744, row: 167, col: 55}], _aether._userInfo, false);\n                            if (tmp531) {\n                                _aether.logStatementStart([{ofs: 4764, row: 168, col: 16}, {ofs: 4776, row: 168, col: 28}]); tmp542 = 1;  _aether.logStatement([{ofs: 4764, row: 168, col: 16}, {ofs: 4776, row: 168, col: 28}], _aether._userInfo, false);\n                                tmp543 = tharin;\n                                tmp544 = tmp542;\n                                tharin = tmp543 + tmp544;\n                            } else {\n                                tmp554 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp555 = 'enemies';\n                                _aether.logStatementStart([{ofs: 4811, row: 170, col: 20}, {ofs: 4823, row: 170, col: 32}]); tmp552 = tmp554[tmp555];  _aether.logStatement([{ofs: 4811, row: 170, col: 20}, {ofs: 4823, row: 170, col: 32}], _aether._userInfo, false);\n                                tmp553 = i;\n                                _aether.logStatementStart([{ofs: 4811, row: 170, col: 20}, {ofs: 4826, row: 170, col: 35}]); tmp550 = tmp552[tmp553];  _aether.logStatement([{ofs: 4811, row: 170, col: 20}, {ofs: 4826, row: 170, col: 35}], _aether._userInfo, false);\n                                tmp551 = 'target';\n                                _aether.logStatementStart([{ofs: 4811, row: 170, col: 20}, {ofs: 4833, row: 170, col: 42}]); tmp548 = tmp550[tmp551];  _aether.logStatement([{ofs: 4811, row: 170, col: 20}, {ofs: 4833, row: 170, col: 42}], _aether._userInfo, false);\n                                tmp549 = 'type';\n                                _aether.logStatementStart([{ofs: 4811, row: 170, col: 20}, {ofs: 4838, row: 170, col: 47}]); tmp546 = tmp548[tmp549];  _aether.logStatement([{ofs: 4811, row: 170, col: 20}, {ofs: 4838, row: 170, col: 47}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 4843, row: 170, col: 52}, {ofs: 4849, row: 170, col: 58}]); tmp547 = 'base';  _aether.logStatement([{ofs: 4843, row: 170, col: 52}, {ofs: 4849, row: 170, col: 58}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 4811, row: 170, col: 20}, {ofs: 4849, row: 170, col: 58}]); tmp545 = tmp546 === tmp547;  _aether.logStatement([{ofs: 4811, row: 170, col: 20}, {ofs: 4849, row: 170, col: 58}], _aether._userInfo, false);\n                                if (tmp545) {\n                                    _aether.logStatementStart([{ofs: 4869, row: 171, col: 16}, {ofs: 4879, row: 171, col: 26}]); tmp556 = 1;  _aether.logStatement([{ofs: 4869, row: 171, col: 16}, {ofs: 4879, row: 171, col: 26}], _aether._userInfo, false);\n                                    tmp557 = base;\n                                    tmp558 = tmp556;\n                                    base = tmp557 + tmp558;\n                                } else {\n                                    _aether.logStatementStart([{ofs: 4929, row: 174, col: 16}, {ofs: 4940, row: 174, col: 27}]); tmp559 = 1;  _aether.logStatement([{ofs: 4929, row: 174, col: 16}, {ofs: 4940, row: 174, col: 27}], _aether._userInfo, false);\n                                    tmp560 = other;\n                                    tmp561 = tmp559;\n                                    other = tmp560 + tmp561;\n                                }\n                            }\n                        } else {\n                            tmp567 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp568 = 'enemies';\n                            _aether.logStatementStart([{ofs: 4981, row: 177, col: 16}, {ofs: 4993, row: 177, col: 28}]); tmp565 = tmp567[tmp568];  _aether.logStatement([{ofs: 4981, row: 177, col: 16}, {ofs: 4993, row: 177, col: 28}], _aether._userInfo, false);\n                            tmp566 = i;\n                            _aether.logStatementStart([{ofs: 4981, row: 177, col: 16}, {ofs: 4996, row: 177, col: 31}]); tmp563 = tmp565[tmp566];  _aether.logStatement([{ofs: 4981, row: 177, col: 16}, {ofs: 4996, row: 177, col: 31}], _aether._userInfo, false);\n                            tmp564 = 'action';\n                            _aether.logStatementStart([{ofs: 4981, row: 177, col: 16}, {ofs: 5003, row: 177, col: 38}]); tmp562 = tmp563[tmp564];  _aether.logStatement([{ofs: 4981, row: 177, col: 16}, {ofs: 5003, row: 177, col: 38}], _aether._userInfo, false);\n                            if (tmp562) {\n                                _aether.logStatementStart([{ofs: 5019, row: 178, col: 12}, {ofs: 5030, row: 178, col: 23}]); tmp569 = 1;  _aether.logStatement([{ofs: 5019, row: 178, col: 12}, {ofs: 5030, row: 178, col: 23}], _aether._userInfo, false);\n                                tmp570 = other;\n                                tmp571 = tmp569;\n                                other = tmp570 + tmp571;\n                            } else {\n                                ;\n                            }\n                        }\n                    }\n                    tmp520 = i;\n                    tmp521 = 1;\n                    i = tmp520 + tmp521;\n                    tmp514 = i;\n                    tmp518 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp519 = 'enemies';\n                    _aether.logStatementStart([{ofs: 4624, row: 165, col: 23}, {ofs: 4636, row: 165, col: 35}]); tmp516 = tmp518[tmp519];  _aether.logStatement([{ofs: 4624, row: 165, col: 23}, {ofs: 4636, row: 165, col: 35}], _aether._userInfo, false);\n                    tmp517 = 'length';\n                    _aether.logStatementStart([{ofs: 4624, row: 165, col: 23}, {ofs: 4643, row: 165, col: 42}]); tmp515 = tmp516[tmp517];  _aether.logStatement([{ofs: 4624, row: 165, col: 23}, {ofs: 4643, row: 165, col: 42}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 4620, row: 165, col: 19}, {ofs: 4643, row: 165, col: 42}]); tmp507 = tmp514 < tmp515;  _aether.logStatement([{ofs: 4620, row: 165, col: 19}, {ofs: 4643, row: 165, col: 42}], _aether._userInfo, false);\n                }\n            }\n            tmp575 = base;\n            _aether.logStatementStart([{ofs: 5061, row: 181, col: 14}, {ofs: 5062, row: 181, col: 15}]); tmp576 = 0;  _aether.logStatement([{ofs: 5061, row: 181, col: 14}, {ofs: 5062, row: 181, col: 15}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 5054, row: 181, col: 7}, {ofs: 5062, row: 181, col: 15}]); tmp574 = tmp575 > tmp576;  _aether.logStatement([{ofs: 5054, row: 181, col: 7}, {ofs: 5062, row: 181, col: 15}], _aether._userInfo, false);\n            if (tmp574) {\n                tmp577 = tharin;\n                _aether.logStatementStart([{ofs: 5077, row: 181, col: 30}, {ofs: 5078, row: 181, col: 31}]); tmp578 = 0;  _aether.logStatement([{ofs: 5077, row: 181, col: 30}, {ofs: 5078, row: 181, col: 31}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 5066, row: 181, col: 19}, {ofs: 5078, row: 181, col: 31}]); tmp573 = tmp577 === tmp578;  _aether.logStatement([{ofs: 5066, row: 181, col: 19}, {ofs: 5078, row: 181, col: 31}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 5054, row: 181, col: 7}, {ofs: 5078, row: 181, col: 31}]); tmp573 = tmp574;  _aether.logStatement([{ofs: 5054, row: 181, col: 7}, {ofs: 5078, row: 181, col: 31}], _aether._userInfo, false);\n            }\n            if (tmp573) {\n                tmp579 = other;\n                _aether.logStatementStart([{ofs: 5092, row: 181, col: 45}, {ofs: 5093, row: 181, col: 46}]); tmp580 = 0;  _aether.logStatement([{ofs: 5092, row: 181, col: 45}, {ofs: 5093, row: 181, col: 46}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 5082, row: 181, col: 35}, {ofs: 5093, row: 181, col: 46}]); tmp572 = tmp579 === tmp580;  _aether.logStatement([{ofs: 5082, row: 181, col: 35}, {ofs: 5093, row: 181, col: 46}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 5054, row: 181, col: 7}, {ofs: 5093, row: 181, col: 46}]); tmp572 = tmp573;  _aether.logStatement([{ofs: 5054, row: 181, col: 7}, {ofs: 5093, row: 181, col: 46}], _aether._userInfo, false);\n            }\n            if (tmp572) {\n                _aether.logStatementStart([{ofs: 5112, row: 182, col: 15}, {ofs: 5113, row: 182, col: 16}]); tmp581 = 1;  _aether.logStatement([{ofs: 5112, row: 182, col: 15}, {ofs: 5113, row: 182, col: 16}], _aether._userInfo, false);\n                return _aether.restoreAPIClone(_aether, tmp581);\n            } else {\n                tmp585 = tharin;\n                _aether.logStatementStart([{ofs: 5142, row: 184, col: 21}, {ofs: 5143, row: 184, col: 22}]); tmp586 = 0;  _aether.logStatement([{ofs: 5142, row: 184, col: 21}, {ofs: 5143, row: 184, col: 22}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 5133, row: 184, col: 12}, {ofs: 5143, row: 184, col: 22}]); tmp584 = tmp585 > tmp586;  _aether.logStatement([{ofs: 5133, row: 184, col: 12}, {ofs: 5143, row: 184, col: 22}], _aether._userInfo, false);\n                if (tmp584) {\n                    tmp587 = base;\n                    _aether.logStatementStart([{ofs: 5156, row: 184, col: 35}, {ofs: 5157, row: 184, col: 36}]); tmp588 = 0;  _aether.logStatement([{ofs: 5156, row: 184, col: 35}, {ofs: 5157, row: 184, col: 36}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 5147, row: 184, col: 26}, {ofs: 5157, row: 184, col: 36}]); tmp583 = tmp587 === tmp588;  _aether.logStatement([{ofs: 5147, row: 184, col: 26}, {ofs: 5157, row: 184, col: 36}], _aether._userInfo, false);\n                } else {\n                    _aether.logStatementStart([{ofs: 5133, row: 184, col: 12}, {ofs: 5157, row: 184, col: 36}]); tmp583 = tmp584;  _aether.logStatement([{ofs: 5133, row: 184, col: 12}, {ofs: 5157, row: 184, col: 36}], _aether._userInfo, false);\n                }\n                if (tmp583) {\n                    tmp589 = other;\n                    _aether.logStatementStart([{ofs: 5171, row: 184, col: 50}, {ofs: 5172, row: 184, col: 51}]); tmp590 = 0;  _aether.logStatement([{ofs: 5171, row: 184, col: 50}, {ofs: 5172, row: 184, col: 51}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 5161, row: 184, col: 40}, {ofs: 5172, row: 184, col: 51}]); tmp582 = tmp589 === tmp590;  _aether.logStatement([{ofs: 5161, row: 184, col: 40}, {ofs: 5172, row: 184, col: 51}], _aether._userInfo, false);\n                } else {\n                    _aether.logStatementStart([{ofs: 5133, row: 184, col: 12}, {ofs: 5172, row: 184, col: 51}]); tmp582 = tmp583;  _aether.logStatement([{ofs: 5133, row: 184, col: 12}, {ofs: 5172, row: 184, col: 51}], _aether._userInfo, false);\n                }\n                if (tmp582) {\n                    _aether.logStatementStart([{ofs: 5191, row: 185, col: 15}, {ofs: 5192, row: 185, col: 16}]); tmp591 = 2;  _aether.logStatement([{ofs: 5191, row: 185, col: 15}, {ofs: 5192, row: 185, col: 16}], _aether._userInfo, false);\n                    return _aether.restoreAPIClone(_aether, tmp591);\n                } else {\n                    tmp595 = tharin;\n                    _aether.logStatementStart([{ofs: 5221, row: 187, col: 21}, {ofs: 5222, row: 187, col: 22}]); tmp596 = 0;  _aether.logStatement([{ofs: 5221, row: 187, col: 21}, {ofs: 5222, row: 187, col: 22}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 5212, row: 187, col: 12}, {ofs: 5222, row: 187, col: 22}]); tmp594 = tmp595 > tmp596;  _aether.logStatement([{ofs: 5212, row: 187, col: 12}, {ofs: 5222, row: 187, col: 22}], _aether._userInfo, false);\n                    if (tmp594) {\n                        tmp597 = base;\n                        _aether.logStatementStart([{ofs: 5233, row: 187, col: 33}, {ofs: 5234, row: 187, col: 34}]); tmp598 = 0;  _aether.logStatement([{ofs: 5233, row: 187, col: 33}, {ofs: 5234, row: 187, col: 34}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5226, row: 187, col: 26}, {ofs: 5234, row: 187, col: 34}]); tmp593 = tmp597 > tmp598;  _aether.logStatement([{ofs: 5226, row: 187, col: 26}, {ofs: 5234, row: 187, col: 34}], _aether._userInfo, false);\n                    } else {\n                        _aether.logStatementStart([{ofs: 5212, row: 187, col: 12}, {ofs: 5234, row: 187, col: 34}]); tmp593 = tmp594;  _aether.logStatement([{ofs: 5212, row: 187, col: 12}, {ofs: 5234, row: 187, col: 34}], _aether._userInfo, false);\n                    }\n                    if (tmp593) {\n                        tmp599 = other;\n                        _aether.logStatementStart([{ofs: 5248, row: 187, col: 48}, {ofs: 5249, row: 187, col: 49}]); tmp600 = 0;  _aether.logStatement([{ofs: 5248, row: 187, col: 48}, {ofs: 5249, row: 187, col: 49}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5238, row: 187, col: 38}, {ofs: 5249, row: 187, col: 49}]); tmp592 = tmp599 === tmp600;  _aether.logStatement([{ofs: 5238, row: 187, col: 38}, {ofs: 5249, row: 187, col: 49}], _aether._userInfo, false);\n                    } else {\n                        _aether.logStatementStart([{ofs: 5212, row: 187, col: 12}, {ofs: 5249, row: 187, col: 49}]); tmp592 = tmp593;  _aether.logStatement([{ofs: 5212, row: 187, col: 12}, {ofs: 5249, row: 187, col: 49}], _aether._userInfo, false);\n                    }\n                    if (tmp592) {\n                        _aether.logStatementStart([{ofs: 5268, row: 188, col: 15}, {ofs: 5269, row: 188, col: 16}]); tmp601 = 3;  _aether.logStatement([{ofs: 5268, row: 188, col: 15}, {ofs: 5269, row: 188, col: 16}], _aether._userInfo, false);\n                        return _aether.restoreAPIClone(_aether, tmp601);\n                    } else {\n                        tmp604 = other;\n                        _aether.logStatementStart([{ofs: 5297, row: 190, col: 20}, {ofs: 5298, row: 190, col: 21}]); tmp605 = 0;  _aether.logStatement([{ofs: 5297, row: 190, col: 20}, {ofs: 5298, row: 190, col: 21}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 5289, row: 190, col: 12}, {ofs: 5298, row: 190, col: 21}]); tmp603 = tmp604 > tmp605;  _aether.logStatement([{ofs: 5289, row: 190, col: 12}, {ofs: 5298, row: 190, col: 21}], _aether._userInfo, false);\n                        if (tmp603) {\n                            tmp607 = tharin;\n                            _aether.logStatementStart([{ofs: 5312, row: 190, col: 35}, {ofs: 5313, row: 190, col: 36}]); tmp608 = 0;  _aether.logStatement([{ofs: 5312, row: 190, col: 35}, {ofs: 5313, row: 190, col: 36}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 5303, row: 190, col: 26}, {ofs: 5313, row: 190, col: 36}]); tmp606 = tmp607 > tmp608;  _aether.logStatement([{ofs: 5303, row: 190, col: 26}, {ofs: 5313, row: 190, col: 36}], _aether._userInfo, false);\n                            if (tmp606) {\n                                _aether.logStatementStart([{ofs: 5303, row: 190, col: 26}, {ofs: 5325, row: 190, col: 48}]); tmp602 = tmp606;  _aether.logStatement([{ofs: 5303, row: 190, col: 26}, {ofs: 5325, row: 190, col: 48}], _aether._userInfo, false);\n                            } else {\n                                tmp609 = base;\n                                _aether.logStatementStart([{ofs: 5324, row: 190, col: 47}, {ofs: 5325, row: 190, col: 48}]); tmp610 = 0;  _aether.logStatement([{ofs: 5324, row: 190, col: 47}, {ofs: 5325, row: 190, col: 48}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 5317, row: 190, col: 40}, {ofs: 5325, row: 190, col: 48}]); tmp602 = tmp609 > tmp610;  _aether.logStatement([{ofs: 5317, row: 190, col: 40}, {ofs: 5325, row: 190, col: 48}], _aether._userInfo, false);\n                            }\n                        } else {\n                            _aether.logStatementStart([{ofs: 5289, row: 190, col: 12}, {ofs: 5326, row: 190, col: 49}]); tmp602 = tmp603;  _aether.logStatement([{ofs: 5289, row: 190, col: 12}, {ofs: 5326, row: 190, col: 49}], _aether._userInfo, false);\n                        }\n                        if (tmp602) {\n                            _aether.logStatementStart([{ofs: 5345, row: 191, col: 15}, {ofs: 5346, row: 191, col: 16}]); tmp611 = 4;  _aether.logStatement([{ofs: 5345, row: 191, col: 15}, {ofs: 5346, row: 191, col: 16}], _aether._userInfo, false);\n                            return _aether.restoreAPIClone(_aether, tmp611);\n                        } else {\n                            tmp615 = other;\n                            _aether.logStatementStart([{ofs: 5374, row: 193, col: 20}, {ofs: 5375, row: 193, col: 21}]); tmp616 = 0;  _aether.logStatement([{ofs: 5374, row: 193, col: 20}, {ofs: 5375, row: 193, col: 21}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 5366, row: 193, col: 12}, {ofs: 5375, row: 193, col: 21}]); tmp614 = tmp615 > tmp616;  _aether.logStatement([{ofs: 5366, row: 193, col: 12}, {ofs: 5375, row: 193, col: 21}], _aether._userInfo, false);\n                            if (tmp614) {\n                                tmp617 = tharin;\n                                _aether.logStatementStart([{ofs: 5390, row: 193, col: 36}, {ofs: 5391, row: 193, col: 37}]); tmp618 = 0;  _aether.logStatement([{ofs: 5390, row: 193, col: 36}, {ofs: 5391, row: 193, col: 37}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 5379, row: 193, col: 25}, {ofs: 5391, row: 193, col: 37}]); tmp613 = tmp617 === tmp618;  _aether.logStatement([{ofs: 5379, row: 193, col: 25}, {ofs: 5391, row: 193, col: 37}], _aether._userInfo, false);\n                            } else {\n                                _aether.logStatementStart([{ofs: 5366, row: 193, col: 12}, {ofs: 5391, row: 193, col: 37}]); tmp613 = tmp614;  _aether.logStatement([{ofs: 5366, row: 193, col: 12}, {ofs: 5391, row: 193, col: 37}], _aether._userInfo, false);\n                            }\n                            if (tmp613) {\n                                tmp619 = base;\n                                _aether.logStatementStart([{ofs: 5404, row: 193, col: 50}, {ofs: 5405, row: 193, col: 51}]); tmp620 = 0;  _aether.logStatement([{ofs: 5404, row: 193, col: 50}, {ofs: 5405, row: 193, col: 51}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 5395, row: 193, col: 41}, {ofs: 5405, row: 193, col: 51}]); tmp612 = tmp619 === tmp620;  _aether.logStatement([{ofs: 5395, row: 193, col: 41}, {ofs: 5405, row: 193, col: 51}], _aether._userInfo, false);\n                            } else {\n                                _aether.logStatementStart([{ofs: 5366, row: 193, col: 12}, {ofs: 5405, row: 193, col: 51}]); tmp612 = tmp613;  _aether.logStatement([{ofs: 5366, row: 193, col: 12}, {ofs: 5405, row: 193, col: 51}], _aether._userInfo, false);\n                            }\n                            if (tmp612) {\n                                _aether.logStatementStart([{ofs: 5424, row: 194, col: 15}, {ofs: 5425, row: 194, col: 16}]); tmp621 = 5;  _aether.logStatement([{ofs: 5424, row: 194, col: 15}, {ofs: 5425, row: 194, col: 16}], _aether._userInfo, false);\n                                return _aether.restoreAPIClone(_aether, tmp621);\n                            } else {\n                                ;\n                            }\n                        }\n                    }\n                }\n            }\n            _aether.logStatementStart([{ofs: 5561, row: 199, col: 11}, {ofs: 5562, row: 199, col: 12}]); tmp622 = 0;  _aether.logStatement([{ofs: 5561, row: 199, col: 11}, {ofs: 5562, row: 199, col: 12}], _aether._userInfo, false);\n            return _aether.restoreAPIClone(_aether, tmp622);\n        };  _aether.logStatement([{ofs: 4240, row: 151, col: 0}, {ofs: 5566, row: 200, col: 2}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 4240, row: 151, col: 0}, {ofs: 5565, row: 200, col: 1}]); tmp494[tmp495] = tmp496;  _aether.logStatement([{ofs: 4240, row: 151, col: 0}, {ofs: 5565, row: 200, col: 1}], _aether._userInfo, false);\n        tmp623 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp624 = 'friends';\n        tmp626 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp627 = 'getFriends';\n        _aether.logStatementStart([{ofs: 5568, row: 202, col: 0}, {ofs: 5601, row: 202, col: 33}]); tmp625 = _aether.createAPIClone(_aether, tmp626[tmp627]());  _aether.logStatement([{ofs: 5568, row: 202, col: 0}, {ofs: 5601, row: 202, col: 33}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 5568, row: 202, col: 0}, {ofs: 5600, row: 202, col: 32}]); tmp623[tmp624] = tmp625;  _aether.logStatement([{ofs: 5568, row: 202, col: 0}, {ofs: 5600, row: 202, col: 32}], _aether._userInfo, false);\n        tmp628 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp629 = 'enemies';\n        tmp631 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp632 = 'getEnemies';\n        _aether.logStatementStart([{ofs: 5602, row: 203, col: 0}, {ofs: 5635, row: 203, col: 33}]); tmp630 = _aether.createAPIClone(_aether, tmp631[tmp632]());  _aether.logStatement([{ofs: 5602, row: 203, col: 0}, {ofs: 5635, row: 203, col: 33}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 5602, row: 203, col: 0}, {ofs: 5634, row: 203, col: 32}]); tmp628[tmp629] = tmp630;  _aether.logStatement([{ofs: 5602, row: 203, col: 0}, {ofs: 5634, row: 203, col: 32}], _aether._userInfo, false);\n        tmp633 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp634 = 'terrifyClumpMinSize';\n        _aether.logStatementStart([{ofs: 5826, row: 211, col: 0}, {ofs: 5855, row: 211, col: 29}]); tmp635 = 3;  _aether.logStatement([{ofs: 5826, row: 211, col: 0}, {ofs: 5855, row: 211, col: 29}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 5826, row: 211, col: 0}, {ofs: 5854, row: 211, col: 28}]); tmp633[tmp634] = tmp635;  _aether.logStatement([{ofs: 5826, row: 211, col: 0}, {ofs: 5854, row: 211, col: 28}], _aether._userInfo, false);\n        tmp638 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp639 = 'enemyBase';\n        _aether.logStatementStart([{ofs: 6007, row: 217, col: 4}, {ofs: 6021, row: 217, col: 18}]); tmp637 = tmp638[tmp639];  _aether.logStatement([{ofs: 6007, row: 217, col: 4}, {ofs: 6021, row: 217, col: 18}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 6006, row: 217, col: 3}, {ofs: 6021, row: 217, col: 18}]); tmp636 = !tmp637;  _aether.logStatement([{ofs: 6006, row: 217, col: 3}, {ofs: 6021, row: 217, col: 18}], _aether._userInfo, false);\n        if (tmp636) {\n            tmp640 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp641 = 'enemyBase';\n            tmp643 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp644 = 'getEnemyBase';\n            _aether.logStatementStart([{ofs: 6029, row: 218, col: 4}, {ofs: 6066, row: 218, col: 41}]); tmp642 = _aether.createAPIClone(_aether, tmp643[tmp644]());  _aether.logStatement([{ofs: 6029, row: 218, col: 4}, {ofs: 6066, row: 218, col: 41}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 6029, row: 218, col: 4}, {ofs: 6065, row: 218, col: 40}]); tmp640[tmp641] = tmp642;  _aether.logStatement([{ofs: 6029, row: 218, col: 4}, {ofs: 6065, row: 218, col: 40}], _aether._userInfo, false);\n        } else {\n            ;\n        }\n        tmp647 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp648 = 'enemyHero';\n        _aether.logStatementStart([{ofs: 6073, row: 220, col: 4}, {ofs: 6087, row: 220, col: 18}]); tmp646 = tmp647[tmp648];  _aether.logStatement([{ofs: 6073, row: 220, col: 4}, {ofs: 6087, row: 220, col: 18}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 6072, row: 220, col: 3}, {ofs: 6087, row: 220, col: 18}]); tmp645 = !tmp646;  _aether.logStatement([{ofs: 6072, row: 220, col: 3}, {ofs: 6087, row: 220, col: 18}], _aether._userInfo, false);\n        if (tmp645) {\n            tmp649 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp650 = 'enemyHero';\n            tmp652 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp653 = 'getEnemyHero';\n            _aether.logStatementStart([{ofs: 6095, row: 221, col: 4}, {ofs: 6132, row: 221, col: 41}]); tmp651 = _aether.createAPIClone(_aether, tmp652[tmp653]());  _aether.logStatement([{ofs: 6095, row: 221, col: 4}, {ofs: 6132, row: 221, col: 41}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 6095, row: 221, col: 4}, {ofs: 6131, row: 221, col: 40}]); tmp649[tmp650] = tmp651;  _aether.logStatement([{ofs: 6095, row: 221, col: 4}, {ofs: 6131, row: 221, col: 40}], _aether._userInfo, false);\n        } else {\n            ;\n        }\n        tmp660 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp661 = 'enemies';\n        _aether.logStatementStart([{ofs: 6231, row: 225, col: 3}, {ofs: 6243, row: 225, col: 15}]); tmp658 = tmp660[tmp661];  _aether.logStatement([{ofs: 6231, row: 225, col: 3}, {ofs: 6243, row: 225, col: 15}], _aether._userInfo, false);\n        tmp659 = 'length';\n        _aether.logStatementStart([{ofs: 6231, row: 225, col: 3}, {ofs: 6250, row: 225, col: 22}]); tmp656 = tmp658[tmp659];  _aether.logStatement([{ofs: 6231, row: 225, col: 3}, {ofs: 6250, row: 225, col: 22}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 6255, row: 225, col: 27}, {ofs: 6256, row: 225, col: 28}]); tmp657 = 2;  _aether.logStatement([{ofs: 6255, row: 225, col: 27}, {ofs: 6256, row: 225, col: 28}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 6231, row: 225, col: 3}, {ofs: 6256, row: 225, col: 28}]); tmp655 = tmp656 === tmp657;  _aether.logStatement([{ofs: 6231, row: 225, col: 3}, {ofs: 6256, row: 225, col: 28}], _aether._userInfo, false);\n        if (tmp655) {\n            tmp669 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp670 = 'enemies';\n            _aether.logStatementStart([{ofs: 6261, row: 225, col: 33}, {ofs: 6273, row: 225, col: 45}]); tmp667 = tmp669[tmp670];  _aether.logStatement([{ofs: 6261, row: 225, col: 33}, {ofs: 6273, row: 225, col: 45}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 6274, row: 225, col: 46}, {ofs: 6275, row: 225, col: 47}]); tmp668 = 1;  _aether.logStatement([{ofs: 6274, row: 225, col: 46}, {ofs: 6275, row: 225, col: 47}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 6261, row: 225, col: 33}, {ofs: 6276, row: 225, col: 48}]); tmp665 = tmp667[tmp668];  _aether.logStatement([{ofs: 6261, row: 225, col: 33}, {ofs: 6276, row: 225, col: 48}], _aether._userInfo, false);\n            tmp666 = 'type';\n            _aether.logStatementStart([{ofs: 6261, row: 225, col: 33}, {ofs: 6281, row: 225, col: 53}]); tmp663 = tmp665[tmp666];  _aether.logStatement([{ofs: 6261, row: 225, col: 33}, {ofs: 6281, row: 225, col: 53}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 6286, row: 225, col: 58}, {ofs: 6296, row: 225, col: 68}]); tmp664 = 'munchkin';  _aether.logStatement([{ofs: 6286, row: 225, col: 58}, {ofs: 6296, row: 225, col: 68}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 6261, row: 225, col: 33}, {ofs: 6296, row: 225, col: 68}]); tmp662 = tmp663 === tmp664;  _aether.logStatement([{ofs: 6261, row: 225, col: 33}, {ofs: 6296, row: 225, col: 68}], _aether._userInfo, false);\n            if (tmp662) {\n                _aether.logStatementStart([{ofs: 6261, row: 225, col: 33}, {ofs: 6334, row: 225, col: 106}]); tmp654 = tmp662;  _aether.logStatement([{ofs: 6261, row: 225, col: 33}, {ofs: 6334, row: 225, col: 106}], _aether._userInfo, false);\n            } else {\n                tmp677 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp678 = 'enemies';\n                _aether.logStatementStart([{ofs: 6300, row: 225, col: 72}, {ofs: 6312, row: 225, col: 84}]); tmp675 = tmp677[tmp678];  _aether.logStatement([{ofs: 6300, row: 225, col: 72}, {ofs: 6312, row: 225, col: 84}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 6313, row: 225, col: 85}, {ofs: 6314, row: 225, col: 86}]); tmp676 = 1;  _aether.logStatement([{ofs: 6313, row: 225, col: 85}, {ofs: 6314, row: 225, col: 86}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 6300, row: 225, col: 72}, {ofs: 6315, row: 225, col: 87}]); tmp673 = tmp675[tmp676];  _aether.logStatement([{ofs: 6300, row: 225, col: 72}, {ofs: 6315, row: 225, col: 87}], _aether._userInfo, false);\n                tmp674 = 'type';\n                _aether.logStatementStart([{ofs: 6300, row: 225, col: 72}, {ofs: 6320, row: 225, col: 92}]); tmp671 = tmp673[tmp674];  _aether.logStatement([{ofs: 6300, row: 225, col: 72}, {ofs: 6320, row: 225, col: 92}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 6325, row: 225, col: 97}, {ofs: 6334, row: 225, col: 106}]); tmp672 = 'thrower';  _aether.logStatement([{ofs: 6325, row: 225, col: 97}, {ofs: 6334, row: 225, col: 106}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 6300, row: 225, col: 72}, {ofs: 6334, row: 225, col: 106}]); tmp654 = tmp671 === tmp672;  _aether.logStatement([{ofs: 6300, row: 225, col: 72}, {ofs: 6334, row: 225, col: 106}], _aether._userInfo, false);\n            }\n        } else {\n            _aether.logStatementStart([{ofs: 6231, row: 225, col: 3}, {ofs: 6335, row: 225, col: 107}]); tmp654 = tmp655;  _aether.logStatement([{ofs: 6231, row: 225, col: 3}, {ofs: 6335, row: 225, col: 107}], _aether._userInfo, false);\n        }\n        if (tmp654) {\n            tmp679 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp680 = 'baseRace';\n            _aether.logStatementStart([{ofs: 6343, row: 226, col: 4}, {ofs: 6364, row: 226, col: 25}]); tmp681 = true;  _aether.logStatement([{ofs: 6343, row: 226, col: 4}, {ofs: 6364, row: 226, col: 25}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 6343, row: 226, col: 4}, {ofs: 6363, row: 226, col: 24}]); tmp679[tmp680] = tmp681;  _aether.logStatement([{ofs: 6343, row: 226, col: 4}, {ofs: 6363, row: 226, col: 24}], _aether._userInfo, false);\n            tmp682 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp683 = 'notHeroFirst';\n            _aether.logStatementStart([{ofs: 6369, row: 227, col: 4}, {ofs: 6394, row: 227, col: 29}]); tmp684 = true;  _aether.logStatement([{ofs: 6369, row: 227, col: 4}, {ofs: 6394, row: 227, col: 29}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 6369, row: 227, col: 4}, {ofs: 6393, row: 227, col: 28}]); tmp682[tmp683] = tmp684;  _aether.logStatement([{ofs: 6369, row: 227, col: 4}, {ofs: 6393, row: 227, col: 28}], _aether._userInfo, false);\n        } else {\n            ;\n        }\n        tmp688 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp689 = 'notHeroFirst';\n        _aether.logStatementStart([{ofs: 6400, row: 229, col: 3}, {ofs: 6417, row: 229, col: 20}]); tmp687 = tmp688[tmp689];  _aether.logStatement([{ofs: 6400, row: 229, col: 3}, {ofs: 6417, row: 229, col: 20}], _aether._userInfo, false);\n        if (tmp687) {\n            tmp694 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp695 = 'enemies';\n            _aether.logStatementStart([{ofs: 6421, row: 229, col: 24}, {ofs: 6433, row: 229, col: 36}]); tmp692 = tmp694[tmp695];  _aether.logStatement([{ofs: 6421, row: 229, col: 24}, {ofs: 6433, row: 229, col: 36}], _aether._userInfo, false);\n            tmp693 = 'length';\n            _aether.logStatementStart([{ofs: 6421, row: 229, col: 24}, {ofs: 6440, row: 229, col: 43}]); tmp690 = tmp692[tmp693];  _aether.logStatement([{ofs: 6421, row: 229, col: 24}, {ofs: 6440, row: 229, col: 43}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 6445, row: 229, col: 48}, {ofs: 6446, row: 229, col: 49}]); tmp691 = 3;  _aether.logStatement([{ofs: 6445, row: 229, col: 48}, {ofs: 6446, row: 229, col: 49}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 6421, row: 229, col: 24}, {ofs: 6446, row: 229, col: 49}]); tmp686 = tmp690 === tmp691;  _aether.logStatement([{ofs: 6421, row: 229, col: 24}, {ofs: 6446, row: 229, col: 49}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 6400, row: 229, col: 3}, {ofs: 6446, row: 229, col: 49}]); tmp686 = tmp687;  _aether.logStatement([{ofs: 6400, row: 229, col: 3}, {ofs: 6446, row: 229, col: 49}], _aether._userInfo, false);\n        }\n        if (tmp686) {\n            tmp703 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp704 = 'enemies';\n            _aether.logStatementStart([{ofs: 6451, row: 229, col: 54}, {ofs: 6463, row: 229, col: 66}]); tmp701 = tmp703[tmp704];  _aether.logStatement([{ofs: 6451, row: 229, col: 54}, {ofs: 6463, row: 229, col: 66}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 6464, row: 229, col: 67}, {ofs: 6465, row: 229, col: 68}]); tmp702 = 1;  _aether.logStatement([{ofs: 6464, row: 229, col: 67}, {ofs: 6465, row: 229, col: 68}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 6451, row: 229, col: 54}, {ofs: 6466, row: 229, col: 69}]); tmp699 = tmp701[tmp702];  _aether.logStatement([{ofs: 6451, row: 229, col: 54}, {ofs: 6466, row: 229, col: 69}], _aether._userInfo, false);\n            tmp700 = 'type';\n            _aether.logStatementStart([{ofs: 6451, row: 229, col: 54}, {ofs: 6471, row: 229, col: 74}]); tmp697 = tmp699[tmp700];  _aether.logStatement([{ofs: 6451, row: 229, col: 54}, {ofs: 6471, row: 229, col: 74}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 6476, row: 229, col: 79}, {ofs: 6486, row: 229, col: 89}]); tmp698 = 'munchkin';  _aether.logStatement([{ofs: 6476, row: 229, col: 79}, {ofs: 6486, row: 229, col: 89}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 6451, row: 229, col: 54}, {ofs: 6486, row: 229, col: 89}]); tmp696 = tmp697 === tmp698;  _aether.logStatement([{ofs: 6451, row: 229, col: 54}, {ofs: 6486, row: 229, col: 89}], _aether._userInfo, false);\n            if (tmp696) {\n                _aether.logStatementStart([{ofs: 6451, row: 229, col: 54}, {ofs: 6524, row: 229, col: 127}]); tmp685 = tmp696;  _aether.logStatement([{ofs: 6451, row: 229, col: 54}, {ofs: 6524, row: 229, col: 127}], _aether._userInfo, false);\n            } else {\n                tmp711 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp712 = 'enemies';\n                _aether.logStatementStart([{ofs: 6490, row: 229, col: 93}, {ofs: 6502, row: 229, col: 105}]); tmp709 = tmp711[tmp712];  _aether.logStatement([{ofs: 6490, row: 229, col: 93}, {ofs: 6502, row: 229, col: 105}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 6503, row: 229, col: 106}, {ofs: 6504, row: 229, col: 107}]); tmp710 = 1;  _aether.logStatement([{ofs: 6503, row: 229, col: 106}, {ofs: 6504, row: 229, col: 107}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 6490, row: 229, col: 93}, {ofs: 6505, row: 229, col: 108}]); tmp707 = tmp709[tmp710];  _aether.logStatement([{ofs: 6490, row: 229, col: 93}, {ofs: 6505, row: 229, col: 108}], _aether._userInfo, false);\n                tmp708 = 'type';\n                _aether.logStatementStart([{ofs: 6490, row: 229, col: 93}, {ofs: 6510, row: 229, col: 113}]); tmp705 = tmp707[tmp708];  _aether.logStatement([{ofs: 6490, row: 229, col: 93}, {ofs: 6510, row: 229, col: 113}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 6515, row: 229, col: 118}, {ofs: 6524, row: 229, col: 127}]); tmp706 = 'thrower';  _aether.logStatement([{ofs: 6515, row: 229, col: 118}, {ofs: 6524, row: 229, col: 127}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 6490, row: 229, col: 93}, {ofs: 6524, row: 229, col: 127}]); tmp685 = tmp705 === tmp706;  _aether.logStatement([{ofs: 6490, row: 229, col: 93}, {ofs: 6524, row: 229, col: 127}], _aether._userInfo, false);\n            }\n        } else {\n            _aether.logStatementStart([{ofs: 6400, row: 229, col: 3}, {ofs: 6525, row: 229, col: 128}]); tmp685 = tmp686;  _aether.logStatement([{ofs: 6400, row: 229, col: 3}, {ofs: 6525, row: 229, col: 128}], _aether._userInfo, false);\n        }\n        if (tmp685) {\n            tmp713 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp714 = 'notHeroSecond';\n            _aether.logStatementStart([{ofs: 6808, row: 235, col: 4}, {ofs: 6834, row: 235, col: 30}]); tmp715 = true;  _aether.logStatement([{ofs: 6808, row: 235, col: 4}, {ofs: 6834, row: 235, col: 30}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 6808, row: 235, col: 4}, {ofs: 6833, row: 235, col: 29}]); tmp713[tmp714] = tmp715;  _aether.logStatement([{ofs: 6808, row: 235, col: 4}, {ofs: 6833, row: 235, col: 29}], _aether._userInfo, false);\n        } else {\n            ;\n        }\n        tmp721 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp722 = 'earlyJump';\n        _aether.logStatementStart([{ofs: 7003, row: 243, col: 4}, {ofs: 7017, row: 243, col: 18}]); tmp720 = tmp721[tmp722];  _aether.logStatement([{ofs: 7003, row: 243, col: 4}, {ofs: 7017, row: 243, col: 18}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 7002, row: 243, col: 3}, {ofs: 7017, row: 243, col: 18}]); tmp719 = !tmp720;  _aether.logStatement([{ofs: 7002, row: 243, col: 3}, {ofs: 7017, row: 243, col: 18}], _aether._userInfo, false);\n        if (tmp719) {\n            tmp723 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp724 = 'enemyHero';\n            _aether.logStatementStart([{ofs: 7021, row: 243, col: 22}, {ofs: 7035, row: 243, col: 36}]); tmp718 = tmp723[tmp724];  _aether.logStatement([{ofs: 7021, row: 243, col: 22}, {ofs: 7035, row: 243, col: 36}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 7002, row: 243, col: 3}, {ofs: 7035, row: 243, col: 36}]); tmp718 = tmp719;  _aether.logStatement([{ofs: 7002, row: 243, col: 3}, {ofs: 7035, row: 243, col: 36}], _aether._userInfo, false);\n        }\n        if (tmp718) {\n            tmp727 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp728 = 'enemyHero';\n            _aether.logStatementStart([{ofs: 7039, row: 243, col: 40}, {ofs: 7053, row: 243, col: 54}]); tmp725 = tmp727[tmp728];  _aether.logStatement([{ofs: 7039, row: 243, col: 40}, {ofs: 7053, row: 243, col: 54}], _aether._userInfo, false);\n            tmp726 = 'action';\n            _aether.logStatementStart([{ofs: 7039, row: 243, col: 40}, {ofs: 7060, row: 243, col: 61}]); tmp717 = tmp725[tmp726];  _aether.logStatement([{ofs: 7039, row: 243, col: 40}, {ofs: 7060, row: 243, col: 61}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 7002, row: 243, col: 3}, {ofs: 7060, row: 243, col: 61}]); tmp717 = tmp718;  _aether.logStatement([{ofs: 7002, row: 243, col: 3}, {ofs: 7060, row: 243, col: 61}], _aether._userInfo, false);\n        }\n        if (tmp717) {\n            tmp731 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp732 = 'now';\n            _aether.logStatementStart([{ofs: 7064, row: 243, col: 65}, {ofs: 7074, row: 243, col: 75}]); tmp729 = _aether.createAPIClone(_aether, tmp731[tmp732]());  _aether.logStatement([{ofs: 7064, row: 243, col: 65}, {ofs: 7074, row: 243, col: 75}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7078, row: 243, col: 79}, {ofs: 7079, row: 243, col: 80}]); tmp730 = 1;  _aether.logStatement([{ofs: 7078, row: 243, col: 79}, {ofs: 7079, row: 243, col: 80}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7064, row: 243, col: 65}, {ofs: 7079, row: 243, col: 80}]); tmp716 = tmp729 <= tmp730;  _aether.logStatement([{ofs: 7064, row: 243, col: 65}, {ofs: 7079, row: 243, col: 80}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 7002, row: 243, col: 3}, {ofs: 7079, row: 243, col: 80}]); tmp716 = tmp717;  _aether.logStatement([{ofs: 7002, row: 243, col: 3}, {ofs: 7079, row: 243, col: 80}], _aether._userInfo, false);\n        }\n        if (tmp716) {\n            tmp733 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp734 = 'say';\n            _aether.logStatementStart([{ofs: 7096, row: 244, col: 13}, {ofs: 7107, row: 244, col: 24}]); tmp735 = 'follow me';  _aether.logStatement([{ofs: 7096, row: 244, col: 13}, {ofs: 7107, row: 244, col: 24}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7087, row: 244, col: 4}, {ofs: 7108, row: 244, col: 25}]); tmp736 = _aether.createAPIClone(_aether, tmp733[tmp734](_aether.restoreAPIClone(_aether, tmp735)));  _aether.logStatement([{ofs: 7087, row: 244, col: 4}, {ofs: 7108, row: 244, col: 25}], _aether._userInfo, false);\n            tmp742 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp743 = 'enemyHero';\n            _aether.logStatementStart([{ofs: 7117, row: 245, col: 7}, {ofs: 7131, row: 245, col: 21}]); tmp740 = tmp742[tmp743];  _aether.logStatement([{ofs: 7117, row: 245, col: 7}, {ofs: 7131, row: 245, col: 21}], _aether._userInfo, false);\n            tmp741 = 'action';\n            _aether.logStatementStart([{ofs: 7117, row: 245, col: 7}, {ofs: 7138, row: 245, col: 28}]); tmp738 = tmp740[tmp741];  _aether.logStatement([{ofs: 7117, row: 245, col: 7}, {ofs: 7138, row: 245, col: 28}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7143, row: 245, col: 33}, {ofs: 7149, row: 245, col: 39}]); tmp739 = 'jump';  _aether.logStatement([{ofs: 7143, row: 245, col: 33}, {ofs: 7149, row: 245, col: 39}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7117, row: 245, col: 7}, {ofs: 7149, row: 245, col: 39}]); tmp737 = tmp738 === tmp739;  _aether.logStatement([{ofs: 7117, row: 245, col: 7}, {ofs: 7149, row: 245, col: 39}], _aether._userInfo, false);\n            if (tmp737) {\n                tmp744 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp745 = 'earlyJump';\n                _aether.logStatementStart([{ofs: 7161, row: 246, col: 8}, {ofs: 7183, row: 246, col: 30}]); tmp746 = true;  _aether.logStatement([{ofs: 7161, row: 246, col: 8}, {ofs: 7183, row: 246, col: 30}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 7161, row: 246, col: 8}, {ofs: 7182, row: 246, col: 29}]); tmp744[tmp745] = tmp746;  _aether.logStatement([{ofs: 7161, row: 246, col: 8}, {ofs: 7182, row: 246, col: 29}], _aether._userInfo, false);\n                tmp747 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp748 = 'baseRace';\n                _aether.logStatementStart([{ofs: 7192, row: 247, col: 8}, {ofs: 7213, row: 247, col: 29}]); tmp749 = true;  _aether.logStatement([{ofs: 7192, row: 247, col: 8}, {ofs: 7213, row: 247, col: 29}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 7192, row: 247, col: 8}, {ofs: 7212, row: 247, col: 28}]); tmp747[tmp748] = tmp749;  _aether.logStatement([{ofs: 7192, row: 247, col: 8}, {ofs: 7212, row: 247, col: 28}], _aether._userInfo, false);\n            } else {\n                ;\n            }\n            _aether.logCallEnd(); return;\n        } else {\n            ;\n        }\n        tmp758 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp759 = 'midJump';\n        _aether.logStatementStart([{ofs: 7265, row: 253, col: 4}, {ofs: 7277, row: 253, col: 16}]); tmp757 = tmp758[tmp759];  _aether.logStatement([{ofs: 7265, row: 253, col: 4}, {ofs: 7277, row: 253, col: 16}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 7264, row: 253, col: 3}, {ofs: 7277, row: 253, col: 16}]); tmp756 = !tmp757;  _aether.logStatement([{ofs: 7264, row: 253, col: 3}, {ofs: 7277, row: 253, col: 16}], _aether._userInfo, false);\n        if (tmp756) {\n            tmp762 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp763 = 'getCooldown';\n            _aether.logStatementStart([{ofs: 7298, row: 253, col: 37}, {ofs: 7307, row: 253, col: 46}]); tmp764 = 'terrify';  _aether.logStatement([{ofs: 7298, row: 253, col: 37}, {ofs: 7307, row: 253, col: 46}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7281, row: 253, col: 20}, {ofs: 7308, row: 253, col: 47}]); tmp760 = _aether.createAPIClone(_aether, tmp762[tmp763](_aether.restoreAPIClone(_aether, tmp764)));  _aether.logStatement([{ofs: 7281, row: 253, col: 20}, {ofs: 7308, row: 253, col: 47}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7313, row: 253, col: 52}, {ofs: 7314, row: 253, col: 53}]); tmp761 = 0;  _aether.logStatement([{ofs: 7313, row: 253, col: 52}, {ofs: 7314, row: 253, col: 53}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7281, row: 253, col: 20}, {ofs: 7314, row: 253, col: 53}]); tmp755 = tmp760 === tmp761;  _aether.logStatement([{ofs: 7281, row: 253, col: 20}, {ofs: 7314, row: 253, col: 53}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 7264, row: 253, col: 3}, {ofs: 7314, row: 253, col: 53}]); tmp755 = tmp756;  _aether.logStatement([{ofs: 7264, row: 253, col: 3}, {ofs: 7314, row: 253, col: 53}], _aether._userInfo, false);\n        }\n        if (tmp755) {\n            tmp765 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp766 = 'enemyHero';\n            _aether.logStatementStart([{ofs: 7318, row: 253, col: 57}, {ofs: 7332, row: 253, col: 71}]); tmp754 = tmp765[tmp766];  _aether.logStatement([{ofs: 7318, row: 253, col: 57}, {ofs: 7332, row: 253, col: 71}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 7264, row: 253, col: 3}, {ofs: 7332, row: 253, col: 71}]); tmp754 = tmp755;  _aether.logStatement([{ofs: 7264, row: 253, col: 3}, {ofs: 7332, row: 253, col: 71}], _aether._userInfo, false);\n        }\n        if (tmp754) {\n            tmp769 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp770 = 'enemyHero';\n            _aether.logStatementStart([{ofs: 7336, row: 253, col: 75}, {ofs: 7350, row: 253, col: 89}]); tmp767 = tmp769[tmp770];  _aether.logStatement([{ofs: 7336, row: 253, col: 75}, {ofs: 7350, row: 253, col: 89}], _aether._userInfo, false);\n            tmp768 = 'action';\n            _aether.logStatementStart([{ofs: 7336, row: 253, col: 75}, {ofs: 7357, row: 253, col: 96}]); tmp753 = tmp767[tmp768];  _aether.logStatement([{ofs: 7336, row: 253, col: 75}, {ofs: 7357, row: 253, col: 96}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 7264, row: 253, col: 3}, {ofs: 7357, row: 253, col: 96}]); tmp753 = tmp754;  _aether.logStatement([{ofs: 7264, row: 253, col: 3}, {ofs: 7357, row: 253, col: 96}], _aether._userInfo, false);\n        }\n        if (tmp753) {\n            tmp775 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp776 = 'enemyHero';\n            _aether.logStatementStart([{ofs: 7361, row: 253, col: 100}, {ofs: 7375, row: 253, col: 114}]); tmp773 = tmp775[tmp776];  _aether.logStatement([{ofs: 7361, row: 253, col: 100}, {ofs: 7375, row: 253, col: 114}], _aether._userInfo, false);\n            tmp774 = 'action';\n            _aether.logStatementStart([{ofs: 7361, row: 253, col: 100}, {ofs: 7382, row: 253, col: 121}]); tmp771 = tmp773[tmp774];  _aether.logStatement([{ofs: 7361, row: 253, col: 100}, {ofs: 7382, row: 253, col: 121}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7387, row: 253, col: 126}, {ofs: 7393, row: 253, col: 132}]); tmp772 = 'jump';  _aether.logStatement([{ofs: 7387, row: 253, col: 126}, {ofs: 7393, row: 253, col: 132}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7361, row: 253, col: 100}, {ofs: 7393, row: 253, col: 132}]); tmp752 = tmp771 === tmp772;  _aether.logStatement([{ofs: 7361, row: 253, col: 100}, {ofs: 7393, row: 253, col: 132}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 7264, row: 253, col: 3}, {ofs: 7393, row: 253, col: 132}]); tmp752 = tmp753;  _aether.logStatement([{ofs: 7264, row: 253, col: 3}, {ofs: 7393, row: 253, col: 132}], _aether._userInfo, false);\n        }\n        if (tmp752) {\n            tmp779 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp780 = 'distance';\n            tmp782 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp783 = 'enemyHero';\n            _aether.logStatementStart([{ofs: 7411, row: 253, col: 150}, {ofs: 7425, row: 253, col: 164}]); tmp781 = tmp782[tmp783];  _aether.logStatement([{ofs: 7411, row: 253, col: 150}, {ofs: 7425, row: 253, col: 164}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7397, row: 253, col: 136}, {ofs: 7426, row: 253, col: 165}]); tmp777 = _aether.createAPIClone(_aether, tmp779[tmp780](_aether.restoreAPIClone(_aether, tmp781)));  _aether.logStatement([{ofs: 7397, row: 253, col: 136}, {ofs: 7426, row: 253, col: 165}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7430, row: 253, col: 169}, {ofs: 7432, row: 253, col: 171}]); tmp778 = 30;  _aether.logStatement([{ofs: 7430, row: 253, col: 169}, {ofs: 7432, row: 253, col: 171}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7397, row: 253, col: 136}, {ofs: 7432, row: 253, col: 171}]); tmp751 = tmp777 >= tmp778;  _aether.logStatement([{ofs: 7397, row: 253, col: 136}, {ofs: 7432, row: 253, col: 171}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 7264, row: 253, col: 3}, {ofs: 7432, row: 253, col: 171}]); tmp751 = tmp752;  _aether.logStatement([{ofs: 7264, row: 253, col: 3}, {ofs: 7432, row: 253, col: 171}], _aether._userInfo, false);\n        }\n        if (tmp751) {\n            tmp786 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp787 = 'now';\n            _aether.logStatementStart([{ofs: 7436, row: 253, col: 175}, {ofs: 7446, row: 253, col: 185}]); tmp784 = _aether.createAPIClone(_aether, tmp786[tmp787]());  _aether.logStatement([{ofs: 7436, row: 253, col: 175}, {ofs: 7446, row: 253, col: 185}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7449, row: 253, col: 188}, {ofs: 7450, row: 253, col: 189}]); tmp785 = 2;  _aether.logStatement([{ofs: 7449, row: 253, col: 188}, {ofs: 7450, row: 253, col: 189}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7436, row: 253, col: 175}, {ofs: 7450, row: 253, col: 189}]); tmp750 = tmp784 > tmp785;  _aether.logStatement([{ofs: 7436, row: 253, col: 175}, {ofs: 7450, row: 253, col: 189}], _aether._userInfo, false);\n        } else {\n            _aether.logStatementStart([{ofs: 7264, row: 253, col: 3}, {ofs: 7450, row: 253, col: 189}]); tmp750 = tmp751;  _aether.logStatement([{ofs: 7264, row: 253, col: 3}, {ofs: 7450, row: 253, col: 189}], _aether._userInfo, false);\n        }\n        if (tmp750) {\n            tmp788 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp789 = 'midJump';\n            _aether.logStatementStart([{ofs: 7458, row: 254, col: 4}, {ofs: 7478, row: 254, col: 24}]); tmp790 = true;  _aether.logStatement([{ofs: 7458, row: 254, col: 4}, {ofs: 7478, row: 254, col: 24}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7458, row: 254, col: 4}, {ofs: 7477, row: 254, col: 23}]); tmp788[tmp789] = tmp790;  _aether.logStatement([{ofs: 7458, row: 254, col: 4}, {ofs: 7477, row: 254, col: 23}], _aether._userInfo, false);\n        } else {\n            ;\n        }\n        tmp793 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp794 = 'baseRace';\n        _aether.logStatementStart([{ofs: 7490, row: 257, col: 4}, {ofs: 7503, row: 257, col: 17}]); tmp792 = tmp793[tmp794];  _aether.logStatement([{ofs: 7490, row: 257, col: 4}, {ofs: 7503, row: 257, col: 17}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 7489, row: 257, col: 3}, {ofs: 7503, row: 257, col: 17}]); tmp791 = !tmp792;  _aether.logStatement([{ofs: 7489, row: 257, col: 3}, {ofs: 7503, row: 257, col: 17}], _aether._userInfo, false);\n        if (tmp791) {\n            tmp795 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp796 = 'baseRace';\n            tmp798 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp799 = 'isOpponentBaseRushing';\n            _aether.logStatementStart([{ofs: 7511, row: 258, col: 4}, {ofs: 7556, row: 258, col: 49}]); tmp797 = _aether.createAPIClone(_aether, tmp798[tmp799]());  _aether.logStatement([{ofs: 7511, row: 258, col: 4}, {ofs: 7556, row: 258, col: 49}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7511, row: 258, col: 4}, {ofs: 7555, row: 258, col: 48}]); tmp795[tmp796] = tmp797;  _aether.logStatement([{ofs: 7511, row: 258, col: 4}, {ofs: 7555, row: 258, col: 48}], _aether._userInfo, false);\n        } else {\n            ;\n        }\n        tmp803 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp804 = 'startedRushing';\n        _aether.logStatementStart([{ofs: 7564, row: 261, col: 4}, {ofs: 7583, row: 261, col: 23}]); tmp802 = tmp803[tmp804];  _aether.logStatement([{ofs: 7564, row: 261, col: 4}, {ofs: 7583, row: 261, col: 23}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 7563, row: 261, col: 3}, {ofs: 7583, row: 261, col: 23}]); tmp801 = !tmp802;  _aether.logStatement([{ofs: 7563, row: 261, col: 3}, {ofs: 7583, row: 261, col: 23}], _aether._userInfo, false);\n        if (tmp801) {\n            tmp806 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp807 = 'baseRace';\n            _aether.logStatementStart([{ofs: 7588, row: 261, col: 28}, {ofs: 7601, row: 261, col: 41}]); tmp805 = tmp806[tmp807];  _aether.logStatement([{ofs: 7588, row: 261, col: 28}, {ofs: 7601, row: 261, col: 41}], _aether._userInfo, false);\n            if (tmp805) {\n                _aether.logStatementStart([{ofs: 7588, row: 261, col: 28}, {ofs: 7619, row: 261, col: 59}]); tmp800 = tmp805;  _aether.logStatement([{ofs: 7588, row: 261, col: 28}, {ofs: 7619, row: 261, col: 59}], _aether._userInfo, false);\n            } else {\n                tmp808 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp809 = 'earlyJump';\n                _aether.logStatementStart([{ofs: 7605, row: 261, col: 45}, {ofs: 7619, row: 261, col: 59}]); tmp800 = tmp808[tmp809];  _aether.logStatement([{ofs: 7605, row: 261, col: 45}, {ofs: 7619, row: 261, col: 59}], _aether._userInfo, false);\n            }\n        } else {\n            _aether.logStatementStart([{ofs: 7563, row: 261, col: 3}, {ofs: 7620, row: 261, col: 60}]); tmp800 = tmp801;  _aether.logStatement([{ofs: 7563, row: 261, col: 3}, {ofs: 7620, row: 261, col: 60}], _aether._userInfo, false);\n        }\n        if (tmp800) {\n            tmp815 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp816 = 'friends';\n            _aether.logStatementStart([{ofs: 7631, row: 262, col: 7}, {ofs: 7643, row: 262, col: 19}]); tmp813 = tmp815[tmp816];  _aether.logStatement([{ofs: 7631, row: 262, col: 7}, {ofs: 7643, row: 262, col: 19}], _aether._userInfo, false);\n            tmp814 = 'length';\n            _aether.logStatementStart([{ofs: 7631, row: 262, col: 7}, {ofs: 7650, row: 262, col: 26}]); tmp811 = tmp813[tmp814];  _aether.logStatement([{ofs: 7631, row: 262, col: 7}, {ofs: 7650, row: 262, col: 26}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7654, row: 262, col: 30}, {ofs: 7655, row: 262, col: 31}]); tmp812 = 2;  _aether.logStatement([{ofs: 7654, row: 262, col: 30}, {ofs: 7655, row: 262, col: 31}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 7631, row: 262, col: 7}, {ofs: 7655, row: 262, col: 31}]); tmp810 = tmp811 >= tmp812;  _aether.logStatement([{ofs: 7631, row: 262, col: 7}, {ofs: 7655, row: 262, col: 31}], _aether._userInfo, false);\n            if (tmp810) {\n                tmp820 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp821 = 'getCooldown';\n                _aether.logStatementStart([{ofs: 7724, row: 263, col: 28}, {ofs: 7732, row: 263, col: 36}]); tmp822 = 'warcry';  _aether.logStatement([{ofs: 7724, row: 263, col: 28}, {ofs: 7732, row: 263, col: 36}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 7707, row: 263, col: 11}, {ofs: 7733, row: 263, col: 37}]); tmp818 = _aether.createAPIClone(_aether, tmp820[tmp821](_aether.restoreAPIClone(_aether, tmp822)));  _aether.logStatement([{ofs: 7707, row: 263, col: 11}, {ofs: 7733, row: 263, col: 37}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 7738, row: 263, col: 42}, {ofs: 7739, row: 263, col: 43}]); tmp819 = 0;  _aether.logStatement([{ofs: 7738, row: 263, col: 42}, {ofs: 7739, row: 263, col: 43}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 7707, row: 263, col: 11}, {ofs: 7739, row: 263, col: 43}]); tmp817 = tmp818 === tmp819;  _aether.logStatement([{ofs: 7707, row: 263, col: 11}, {ofs: 7739, row: 263, col: 43}], _aether._userInfo, false);\n                if (tmp817) {\n                    tmp823 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp824 = 'determineSayAndAction';\n                    _aether.logStatementStart([{ofs: 7755, row: 264, col: 12}, {ofs: 7783, row: 264, col: 40}]); tmp825 = _aether.createAPIClone(_aether, tmp823[tmp824]());  _aether.logStatement([{ofs: 7755, row: 264, col: 12}, {ofs: 7783, row: 264, col: 40}], _aether._userInfo, false);\n                    tmp826 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp827 = 'warcry';\n                    _aether.logStatementStart([{ofs: 7797, row: 265, col: 12}, {ofs: 7810, row: 265, col: 25}]); tmp828 = _aether.createAPIClone(_aether, tmp826[tmp827]());  _aether.logStatement([{ofs: 7797, row: 265, col: 12}, {ofs: 7810, row: 265, col: 25}], _aether._userInfo, false);\n                    tmp829 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp830 = 'startedRushing';\n                    _aether.logStatementStart([{ofs: 7824, row: 266, col: 12}, {ofs: 7851, row: 266, col: 39}]); tmp831 = true;  _aether.logStatement([{ofs: 7824, row: 266, col: 12}, {ofs: 7851, row: 266, col: 39}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 7824, row: 266, col: 12}, {ofs: 7850, row: 266, col: 38}]); tmp829[tmp830] = tmp831;  _aether.logStatement([{ofs: 7824, row: 266, col: 12}, {ofs: 7850, row: 266, col: 38}], _aether._userInfo, false);\n                    _aether.logCallEnd(); return;\n                } else {\n                    ;\n                }\n            } else {\n                tmp832 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp833 = 'say';\n                _aether.logStatementStart([{ofs: 7955, row: 271, col: 17}, {ofs: 7966, row: 271, col: 28}]); tmp834 = 'follow me';  _aether.logStatement([{ofs: 7955, row: 271, col: 17}, {ofs: 7966, row: 271, col: 28}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 7946, row: 271, col: 8}, {ofs: 7967, row: 271, col: 29}]); tmp835 = _aether.createAPIClone(_aether, tmp832[tmp833](_aether.restoreAPIClone(_aether, tmp834)));  _aether.logStatement([{ofs: 7946, row: 271, col: 8}, {ofs: 7967, row: 271, col: 29}], _aether._userInfo, false);\n                tmp836 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp837 = 'shield';\n                _aether.logStatementStart([{ofs: 7977, row: 272, col: 8}, {ofs: 7990, row: 272, col: 21}]); tmp838 = _aether.createAPIClone(_aether, tmp836[tmp837]());  _aether.logStatement([{ofs: 7977, row: 272, col: 8}, {ofs: 7990, row: 272, col: 21}], _aether._userInfo, false);\n                _aether.logCallEnd(); return;\n            }\n        } else {\n            tmp841 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp842 = 'startedRushing';\n            _aether.logStatementStart([{ofs: 8025, row: 276, col: 9}, {ofs: 8044, row: 276, col: 28}]); tmp840 = tmp841[tmp842];  _aether.logStatement([{ofs: 8025, row: 276, col: 9}, {ofs: 8044, row: 276, col: 28}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8024, row: 276, col: 8}, {ofs: 8044, row: 276, col: 28}]); tmp839 = !tmp840;  _aether.logStatement([{ofs: 8024, row: 276, col: 8}, {ofs: 8044, row: 276, col: 28}], _aether._userInfo, false);\n            if (tmp839) {\n                tmp848 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp849 = 'friends';\n                _aether.logStatementStart([{ofs: 8055, row: 277, col: 7}, {ofs: 8067, row: 277, col: 19}]); tmp846 = tmp848[tmp849];  _aether.logStatement([{ofs: 8055, row: 277, col: 7}, {ofs: 8067, row: 277, col: 19}], _aether._userInfo, false);\n                tmp847 = 'length';\n                _aether.logStatementStart([{ofs: 8055, row: 277, col: 7}, {ofs: 8074, row: 277, col: 26}]); tmp844 = tmp846[tmp847];  _aether.logStatement([{ofs: 8055, row: 277, col: 7}, {ofs: 8074, row: 277, col: 26}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 8078, row: 277, col: 30}, {ofs: 8079, row: 277, col: 31}]); tmp845 = 3;  _aether.logStatement([{ofs: 8078, row: 277, col: 30}, {ofs: 8079, row: 277, col: 31}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 8055, row: 277, col: 7}, {ofs: 8079, row: 277, col: 31}]); tmp843 = tmp844 >= tmp845;  _aether.logStatement([{ofs: 8055, row: 277, col: 7}, {ofs: 8079, row: 277, col: 31}], _aether._userInfo, false);\n                if (tmp843) {\n                    tmp853 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp854 = 'getCooldown';\n                    _aether.logStatementStart([{ofs: 8147, row: 278, col: 28}, {ofs: 8155, row: 278, col: 36}]); tmp855 = 'warcry';  _aether.logStatement([{ofs: 8147, row: 278, col: 28}, {ofs: 8155, row: 278, col: 36}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 8130, row: 278, col: 11}, {ofs: 8156, row: 278, col: 37}]); tmp851 = _aether.createAPIClone(_aether, tmp853[tmp854](_aether.restoreAPIClone(_aether, tmp855)));  _aether.logStatement([{ofs: 8130, row: 278, col: 11}, {ofs: 8156, row: 278, col: 37}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 8161, row: 278, col: 42}, {ofs: 8162, row: 278, col: 43}]); tmp852 = 0;  _aether.logStatement([{ofs: 8161, row: 278, col: 42}, {ofs: 8162, row: 278, col: 43}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 8130, row: 278, col: 11}, {ofs: 8162, row: 278, col: 43}]); tmp850 = tmp851 === tmp852;  _aether.logStatement([{ofs: 8130, row: 278, col: 11}, {ofs: 8162, row: 278, col: 43}], _aether._userInfo, false);\n                    if (tmp850) {\n                        tmp856 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp857 = 'determineSayAndAction';\n                        _aether.logStatementStart([{ofs: 8178, row: 279, col: 12}, {ofs: 8206, row: 279, col: 40}]); tmp858 = _aether.createAPIClone(_aether, tmp856[tmp857]());  _aether.logStatement([{ofs: 8178, row: 279, col: 12}, {ofs: 8206, row: 279, col: 40}], _aether._userInfo, false);\n                        tmp859 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp860 = 'warcry';\n                        _aether.logStatementStart([{ofs: 8220, row: 280, col: 12}, {ofs: 8233, row: 280, col: 25}]); tmp861 = _aether.createAPIClone(_aether, tmp859[tmp860]());  _aether.logStatement([{ofs: 8220, row: 280, col: 12}, {ofs: 8233, row: 280, col: 25}], _aether._userInfo, false);\n                        tmp862 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp863 = 'startedRushing';\n                        _aether.logStatementStart([{ofs: 8247, row: 281, col: 12}, {ofs: 8274, row: 281, col: 39}]); tmp864 = true;  _aether.logStatement([{ofs: 8247, row: 281, col: 12}, {ofs: 8274, row: 281, col: 39}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 8247, row: 281, col: 12}, {ofs: 8273, row: 281, col: 38}]); tmp862[tmp863] = tmp864;  _aether.logStatement([{ofs: 8247, row: 281, col: 12}, {ofs: 8273, row: 281, col: 38}], _aether._userInfo, false);\n                        _aether.logCallEnd(); return;\n                    } else {\n                        ;\n                    }\n                } else {\n                    tmp865 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp866 = 'say';\n                    _aether.logStatementStart([{ofs: 8379, row: 286, col: 17}, {ofs: 8390, row: 286, col: 28}]); tmp867 = 'follow me';  _aether.logStatement([{ofs: 8379, row: 286, col: 17}, {ofs: 8390, row: 286, col: 28}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 8370, row: 286, col: 8}, {ofs: 8391, row: 286, col: 29}]); tmp868 = _aether.createAPIClone(_aether, tmp865[tmp866](_aether.restoreAPIClone(_aether, tmp867)));  _aether.logStatement([{ofs: 8370, row: 286, col: 8}, {ofs: 8391, row: 286, col: 29}], _aether._userInfo, false);\n                    tmp869 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp870 = 'shield';\n                    _aether.logStatementStart([{ofs: 8401, row: 287, col: 8}, {ofs: 8414, row: 287, col: 21}]); tmp871 = _aether.createAPIClone(_aether, tmp869[tmp870]());  _aether.logStatement([{ofs: 8401, row: 287, col: 8}, {ofs: 8414, row: 287, col: 21}], _aether._userInfo, false);\n                    _aether.logCallEnd(); return;\n                }\n            } else {\n                ;\n            }\n        }\n        tmp875 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp876 = 'getCooldown';\n        _aether.logStatementStart([{ofs: 8461, row: 292, col: 20}, {ofs: 8470, row: 292, col: 29}]); tmp877 = 'terrify';  _aether.logStatement([{ofs: 8461, row: 292, col: 20}, {ofs: 8470, row: 292, col: 29}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 8444, row: 292, col: 3}, {ofs: 8471, row: 292, col: 30}]); tmp873 = _aether.createAPIClone(_aether, tmp875[tmp876](_aether.restoreAPIClone(_aether, tmp877)));  _aether.logStatement([{ofs: 8444, row: 292, col: 3}, {ofs: 8471, row: 292, col: 30}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 8476, row: 292, col: 35}, {ofs: 8477, row: 292, col: 36}]); tmp874 = 0;  _aether.logStatement([{ofs: 8476, row: 292, col: 35}, {ofs: 8477, row: 292, col: 36}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 8444, row: 292, col: 3}, {ofs: 8477, row: 292, col: 36}]); tmp872 = tmp873 === tmp874;  _aether.logStatement([{ofs: 8444, row: 292, col: 3}, {ofs: 8477, row: 292, col: 36}], _aether._userInfo, false);\n        if (tmp872) {\n            tmp886 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp887 = 'earlyJump';\n            _aether.logStatementStart([{ofs: 8494, row: 294, col: 8}, {ofs: 8508, row: 294, col: 22}]); tmp885 = tmp886[tmp887];  _aether.logStatement([{ofs: 8494, row: 294, col: 8}, {ofs: 8508, row: 294, col: 22}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 8493, row: 294, col: 7}, {ofs: 8508, row: 294, col: 22}]); tmp884 = !tmp885;  _aether.logStatement([{ofs: 8493, row: 294, col: 7}, {ofs: 8508, row: 294, col: 22}], _aether._userInfo, false);\n            if (tmp884) {\n                tmp889 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp890 = 'lateJump';\n                _aether.logStatementStart([{ofs: 8513, row: 294, col: 27}, {ofs: 8526, row: 294, col: 40}]); tmp888 = tmp889[tmp890];  _aether.logStatement([{ofs: 8513, row: 294, col: 27}, {ofs: 8526, row: 294, col: 40}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 8512, row: 294, col: 26}, {ofs: 8526, row: 294, col: 40}]); tmp883 = !tmp888;  _aether.logStatement([{ofs: 8512, row: 294, col: 26}, {ofs: 8526, row: 294, col: 40}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 8493, row: 294, col: 7}, {ofs: 8526, row: 294, col: 40}]); tmp883 = tmp884;  _aether.logStatement([{ofs: 8493, row: 294, col: 7}, {ofs: 8526, row: 294, col: 40}], _aether._userInfo, false);\n            }\n            if (tmp883) {\n                tmp891 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp892 = 'enemyHero';\n                _aether.logStatementStart([{ofs: 8530, row: 294, col: 44}, {ofs: 8544, row: 294, col: 58}]); tmp882 = tmp891[tmp892];  _aether.logStatement([{ofs: 8530, row: 294, col: 44}, {ofs: 8544, row: 294, col: 58}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 8493, row: 294, col: 7}, {ofs: 8544, row: 294, col: 58}]); tmp882 = tmp883;  _aether.logStatement([{ofs: 8493, row: 294, col: 7}, {ofs: 8544, row: 294, col: 58}], _aether._userInfo, false);\n            }\n            if (tmp882) {\n                tmp895 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp896 = 'enemyHero';\n                _aether.logStatementStart([{ofs: 8548, row: 294, col: 62}, {ofs: 8562, row: 294, col: 76}]); tmp893 = tmp895[tmp896];  _aether.logStatement([{ofs: 8548, row: 294, col: 62}, {ofs: 8562, row: 294, col: 76}], _aether._userInfo, false);\n                tmp894 = 'action';\n                _aether.logStatementStart([{ofs: 8548, row: 294, col: 62}, {ofs: 8569, row: 294, col: 83}]); tmp881 = tmp893[tmp894];  _aether.logStatement([{ofs: 8548, row: 294, col: 62}, {ofs: 8569, row: 294, col: 83}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 8493, row: 294, col: 7}, {ofs: 8569, row: 294, col: 83}]); tmp881 = tmp882;  _aether.logStatement([{ofs: 8493, row: 294, col: 7}, {ofs: 8569, row: 294, col: 83}], _aether._userInfo, false);\n            }\n            if (tmp881) {\n                tmp901 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp902 = 'enemyHero';\n                _aether.logStatementStart([{ofs: 8573, row: 294, col: 87}, {ofs: 8587, row: 294, col: 101}]); tmp899 = tmp901[tmp902];  _aether.logStatement([{ofs: 8573, row: 294, col: 87}, {ofs: 8587, row: 294, col: 101}], _aether._userInfo, false);\n                tmp900 = 'action';\n                _aether.logStatementStart([{ofs: 8573, row: 294, col: 87}, {ofs: 8594, row: 294, col: 108}]); tmp897 = tmp899[tmp900];  _aether.logStatement([{ofs: 8573, row: 294, col: 87}, {ofs: 8594, row: 294, col: 108}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 8599, row: 294, col: 113}, {ofs: 8605, row: 294, col: 119}]); tmp898 = 'jump';  _aether.logStatement([{ofs: 8599, row: 294, col: 113}, {ofs: 8605, row: 294, col: 119}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 8573, row: 294, col: 87}, {ofs: 8605, row: 294, col: 119}]); tmp880 = tmp897 === tmp898;  _aether.logStatement([{ofs: 8573, row: 294, col: 87}, {ofs: 8605, row: 294, col: 119}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 8493, row: 294, col: 7}, {ofs: 8605, row: 294, col: 119}]); tmp880 = tmp881;  _aether.logStatement([{ofs: 8493, row: 294, col: 7}, {ofs: 8605, row: 294, col: 119}], _aether._userInfo, false);\n            }\n            if (tmp880) {\n                tmp905 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp906 = 'distance';\n                tmp908 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp909 = 'enemyHero';\n                _aether.logStatementStart([{ofs: 8623, row: 294, col: 137}, {ofs: 8637, row: 294, col: 151}]); tmp907 = tmp908[tmp909];  _aether.logStatement([{ofs: 8623, row: 294, col: 137}, {ofs: 8637, row: 294, col: 151}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 8609, row: 294, col: 123}, {ofs: 8638, row: 294, col: 152}]); tmp903 = _aether.createAPIClone(_aether, tmp905[tmp906](_aether.restoreAPIClone(_aether, tmp907)));  _aether.logStatement([{ofs: 8609, row: 294, col: 123}, {ofs: 8638, row: 294, col: 152}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 8642, row: 294, col: 156}, {ofs: 8644, row: 294, col: 158}]); tmp904 = 20;  _aether.logStatement([{ofs: 8642, row: 294, col: 156}, {ofs: 8644, row: 294, col: 158}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 8609, row: 294, col: 123}, {ofs: 8644, row: 294, col: 158}]); tmp879 = tmp903 <= tmp904;  _aether.logStatement([{ofs: 8609, row: 294, col: 123}, {ofs: 8644, row: 294, col: 158}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 8493, row: 294, col: 7}, {ofs: 8644, row: 294, col: 158}]); tmp879 = tmp880;  _aether.logStatement([{ofs: 8493, row: 294, col: 7}, {ofs: 8644, row: 294, col: 158}], _aether._userInfo, false);\n            }\n            if (tmp879) {\n                tmp912 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp913 = 'now';\n                _aether.logStatementStart([{ofs: 8648, row: 294, col: 162}, {ofs: 8658, row: 294, col: 172}]); tmp910 = _aether.createAPIClone(_aether, tmp912[tmp913]());  _aether.logStatement([{ofs: 8648, row: 294, col: 162}, {ofs: 8658, row: 294, col: 172}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 8661, row: 294, col: 175}, {ofs: 8662, row: 294, col: 176}]); tmp911 = 1;  _aether.logStatement([{ofs: 8661, row: 294, col: 175}, {ofs: 8662, row: 294, col: 176}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 8648, row: 294, col: 162}, {ofs: 8662, row: 294, col: 176}]); tmp878 = tmp910 > tmp911;  _aether.logStatement([{ofs: 8648, row: 294, col: 162}, {ofs: 8662, row: 294, col: 176}], _aether._userInfo, false);\n            } else {\n                _aether.logStatementStart([{ofs: 8493, row: 294, col: 7}, {ofs: 8662, row: 294, col: 176}]); tmp878 = tmp879;  _aether.logStatement([{ofs: 8493, row: 294, col: 7}, {ofs: 8662, row: 294, col: 176}], _aether._userInfo, false);\n            }\n            if (tmp878) {\n                tmp914 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp915 = 'lateJump';\n                _aether.logStatementStart([{ofs: 8674, row: 295, col: 8}, {ofs: 8695, row: 295, col: 29}]); tmp916 = true;  _aether.logStatement([{ofs: 8674, row: 295, col: 8}, {ofs: 8695, row: 295, col: 29}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 8674, row: 295, col: 8}, {ofs: 8694, row: 295, col: 28}]); tmp914[tmp915] = tmp916;  _aether.logStatement([{ofs: 8674, row: 295, col: 8}, {ofs: 8694, row: 295, col: 28}], _aether._userInfo, false);\n                tmp917 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp918 = 'move';\n                tmp924 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp925 = 'pos';\n                _aether.logStatementStart([{ofs: 8717, row: 296, col: 21}, {ofs: 8725, row: 296, col: 29}]); tmp922 = tmp924[tmp925];  _aether.logStatement([{ofs: 8717, row: 296, col: 21}, {ofs: 8725, row: 296, col: 29}], _aether._userInfo, false);\n                tmp923 = 'x';\n                _aether.logStatementStart([{ofs: 8717, row: 296, col: 21}, {ofs: 8727, row: 296, col: 31}]); tmp920 = tmp922[tmp923];  _aether.logStatement([{ofs: 8717, row: 296, col: 21}, {ofs: 8727, row: 296, col: 31}], _aether._userInfo, false);\n                tmp930 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp931 = 'pos';\n                _aether.logStatementStart([{ofs: 8731, row: 296, col: 35}, {ofs: 8739, row: 296, col: 43}]); tmp928 = tmp930[tmp931];  _aether.logStatement([{ofs: 8731, row: 296, col: 35}, {ofs: 8739, row: 296, col: 43}], _aether._userInfo, false);\n                tmp929 = 'y';\n                _aether.logStatementStart([{ofs: 8731, row: 296, col: 35}, {ofs: 8741, row: 296, col: 45}]); tmp926 = tmp928[tmp929];  _aether.logStatement([{ofs: 8731, row: 296, col: 35}, {ofs: 8741, row: 296, col: 45}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 8742, row: 296, col: 46}, {ofs: 8743, row: 296, col: 47}]); tmp927 = 1;  _aether.logStatement([{ofs: 8742, row: 296, col: 46}, {ofs: 8743, row: 296, col: 47}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 8731, row: 296, col: 35}, {ofs: 8743, row: 296, col: 47}]); tmp921 = tmp926 - tmp927;  _aether.logStatement([{ofs: 8731, row: 296, col: 35}, {ofs: 8743, row: 296, col: 47}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 8714, row: 296, col: 18}, {ofs: 8744, row: 296, col: 48}]); tmp919 = {\n                    x: tmp920,\n                    y: tmp921\n                };  _aether.logStatement([{ofs: 8714, row: 296, col: 18}, {ofs: 8744, row: 296, col: 48}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 8704, row: 296, col: 8}, {ofs: 8745, row: 296, col: 49}]); tmp932 = _aether.createAPIClone(_aether, tmp917[tmp918](_aether.restoreAPIClone(_aether, tmp919)));  _aether.logStatement([{ofs: 8704, row: 296, col: 8}, {ofs: 8745, row: 296, col: 49}], _aether._userInfo, false);\n                _aether.logCallEnd(); return;\n            } else {\n                tmp934 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp935 = 'lateJump';\n                _aether.logStatementStart([{ofs: 8781, row: 299, col: 12}, {ofs: 8794, row: 299, col: 25}]); tmp933 = tmp934[tmp935];  _aether.logStatement([{ofs: 8781, row: 299, col: 12}, {ofs: 8794, row: 299, col: 25}], _aether._userInfo, false);\n                if (tmp933) {\n                    tmp939 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp940 = 'enemyHero';\n                    _aether.logStatementStart([{ofs: 8809, row: 300, col: 11}, {ofs: 8823, row: 300, col: 25}]); tmp938 = tmp939[tmp940];  _aether.logStatement([{ofs: 8809, row: 300, col: 11}, {ofs: 8823, row: 300, col: 25}], _aether._userInfo, false);\n                    if (tmp938) {\n                        tmp943 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp944 = 'distance';\n                        tmp946 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp947 = 'enemyHero';\n                        _aether.logStatementStart([{ofs: 8841, row: 300, col: 43}, {ofs: 8855, row: 300, col: 57}]); tmp945 = tmp946[tmp947];  _aether.logStatement([{ofs: 8841, row: 300, col: 43}, {ofs: 8855, row: 300, col: 57}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 8827, row: 300, col: 29}, {ofs: 8856, row: 300, col: 58}]); tmp941 = _aether.createAPIClone(_aether, tmp943[tmp944](_aether.restoreAPIClone(_aether, tmp945)));  _aether.logStatement([{ofs: 8827, row: 300, col: 29}, {ofs: 8856, row: 300, col: 58}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 8860, row: 300, col: 62}, {ofs: 8862, row: 300, col: 64}]); tmp942 = 10;  _aether.logStatement([{ofs: 8860, row: 300, col: 62}, {ofs: 8862, row: 300, col: 64}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 8827, row: 300, col: 29}, {ofs: 8862, row: 300, col: 64}]); tmp937 = tmp941 >= tmp942;  _aether.logStatement([{ofs: 8827, row: 300, col: 29}, {ofs: 8862, row: 300, col: 64}], _aether._userInfo, false);\n                    } else {\n                        _aether.logStatementStart([{ofs: 8809, row: 300, col: 11}, {ofs: 8862, row: 300, col: 64}]); tmp937 = tmp938;  _aether.logStatement([{ofs: 8809, row: 300, col: 11}, {ofs: 8862, row: 300, col: 64}], _aether._userInfo, false);\n                    }\n                    if (tmp937) {\n                        tmp952 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp953 = 'pos';\n                        _aether.logStatementStart([{ofs: 8866, row: 300, col: 68}, {ofs: 8874, row: 300, col: 76}]); tmp950 = tmp952[tmp953];  _aether.logStatement([{ofs: 8866, row: 300, col: 68}, {ofs: 8874, row: 300, col: 76}], _aether._userInfo, false);\n                        tmp951 = 'x';\n                        _aether.logStatementStart([{ofs: 8866, row: 300, col: 68}, {ofs: 8876, row: 300, col: 78}]); tmp948 = tmp950[tmp951];  _aether.logStatement([{ofs: 8866, row: 300, col: 68}, {ofs: 8876, row: 300, col: 78}], _aether._userInfo, false);\n                        tmp958 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp959 = 'enemyHero';\n                        _aether.logStatementStart([{ofs: 8879, row: 300, col: 81}, {ofs: 8893, row: 300, col: 95}]); tmp956 = tmp958[tmp959];  _aether.logStatement([{ofs: 8879, row: 300, col: 81}, {ofs: 8893, row: 300, col: 95}], _aether._userInfo, false);\n                        tmp957 = 'pos';\n                        _aether.logStatementStart([{ofs: 8879, row: 300, col: 81}, {ofs: 8897, row: 300, col: 99}]); tmp954 = tmp956[tmp957];  _aether.logStatement([{ofs: 8879, row: 300, col: 81}, {ofs: 8897, row: 300, col: 99}], _aether._userInfo, false);\n                        tmp955 = 'x';\n                        _aether.logStatementStart([{ofs: 8879, row: 300, col: 81}, {ofs: 8899, row: 300, col: 101}]); tmp949 = tmp954[tmp955];  _aether.logStatement([{ofs: 8879, row: 300, col: 81}, {ofs: 8899, row: 300, col: 101}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 8866, row: 300, col: 68}, {ofs: 8899, row: 300, col: 101}]); tmp936 = tmp948 > tmp949;  _aether.logStatement([{ofs: 8866, row: 300, col: 68}, {ofs: 8899, row: 300, col: 101}], _aether._userInfo, false);\n                    } else {\n                        _aether.logStatementStart([{ofs: 8809, row: 300, col: 11}, {ofs: 8899, row: 300, col: 101}]); tmp936 = tmp937;  _aether.logStatement([{ofs: 8809, row: 300, col: 11}, {ofs: 8899, row: 300, col: 101}], _aether._userInfo, false);\n                    }\n                    if (tmp936) {\n                        tmp960 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp961 = 'terrifyTargets';\n                        tmp963 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp964 = 'getTerrifyTargets';\n                        _aether.logStatementStart([{ofs: 8915, row: 301, col: 12}, {ofs: 8962, row: 301, col: 59}]); tmp962 = _aether.createAPIClone(_aether, tmp963[tmp964]());  _aether.logStatement([{ofs: 8915, row: 301, col: 12}, {ofs: 8962, row: 301, col: 59}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 8915, row: 301, col: 12}, {ofs: 8961, row: 301, col: 58}]); tmp960[tmp961] = tmp962;  _aether.logStatement([{ofs: 8915, row: 301, col: 12}, {ofs: 8961, row: 301, col: 58}], _aether._userInfo, false);\n                        tmp965 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp966 = 'terrify';\n                        _aether.logStatementStart([{ofs: 8975, row: 302, col: 12}, {ofs: 8989, row: 302, col: 26}]); tmp967 = _aether.createAPIClone(_aether, tmp965[tmp966]());  _aether.logStatement([{ofs: 8975, row: 302, col: 12}, {ofs: 8989, row: 302, col: 26}], _aether._userInfo, false);\n                        _aether.logCallEnd(); return;\n                    } else {\n                        ;\n                    }\n                } else {\n                    ;\n                }\n            }\n            tmp972 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp973 = 'health';\n            _aether.logStatementStart([{ofs: 9284, row: 312, col: 7}, {ofs: 9295, row: 312, col: 18}]); tmp970 = tmp972[tmp973];  _aether.logStatement([{ofs: 9284, row: 312, col: 7}, {ofs: 9295, row: 312, col: 18}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 9299, row: 312, col: 22}, {ofs: 9302, row: 312, col: 25}]); tmp971 = 100;  _aether.logStatement([{ofs: 9299, row: 312, col: 22}, {ofs: 9302, row: 312, col: 25}], _aether._userInfo, false);\n            _aether.logStatementStart([{ofs: 9284, row: 312, col: 7}, {ofs: 9302, row: 312, col: 25}]); tmp969 = tmp970 <= tmp971;  _aether.logStatement([{ofs: 9284, row: 312, col: 7}, {ofs: 9302, row: 312, col: 25}], _aether._userInfo, false);\n            if (tmp969) {\n                _aether.logStatementStart([{ofs: 9284, row: 312, col: 7}, {ofs: 9342, row: 312, col: 65}]); tmp968 = tmp969;  _aether.logStatement([{ofs: 9284, row: 312, col: 7}, {ofs: 9342, row: 312, col: 65}], _aether._userInfo, false);\n            } else {\n                tmp977 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp978 = 'now';\n                _aether.logStatementStart([{ofs: 9307, row: 312, col: 30}, {ofs: 9317, row: 312, col: 40}]); tmp975 = _aether.createAPIClone(_aether, tmp977[tmp978]());  _aether.logStatement([{ofs: 9307, row: 312, col: 30}, {ofs: 9317, row: 312, col: 40}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 9320, row: 312, col: 43}, {ofs: 9322, row: 312, col: 45}]); tmp976 = 10;  _aether.logStatement([{ofs: 9320, row: 312, col: 43}, {ofs: 9322, row: 312, col: 45}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 9307, row: 312, col: 30}, {ofs: 9322, row: 312, col: 45}]); tmp974 = tmp975 > tmp976;  _aether.logStatement([{ofs: 9307, row: 312, col: 30}, {ofs: 9322, row: 312, col: 45}], _aether._userInfo, false);\n                if (tmp974) {\n                    tmp983 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp984 = 'pos';\n                    _aether.logStatementStart([{ofs: 9326, row: 312, col: 49}, {ofs: 9334, row: 312, col: 57}]); tmp981 = tmp983[tmp984];  _aether.logStatement([{ofs: 9326, row: 312, col: 49}, {ofs: 9334, row: 312, col: 57}], _aether._userInfo, false);\n                    tmp982 = 'x';\n                    _aether.logStatementStart([{ofs: 9326, row: 312, col: 49}, {ofs: 9336, row: 312, col: 59}]); tmp979 = tmp981[tmp982];  _aether.logStatement([{ofs: 9326, row: 312, col: 49}, {ofs: 9336, row: 312, col: 59}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 9339, row: 312, col: 62}, {ofs: 9341, row: 312, col: 64}]); tmp980 = 65;  _aether.logStatement([{ofs: 9339, row: 312, col: 62}, {ofs: 9341, row: 312, col: 64}], _aether._userInfo, false);\n                    _aether.logStatementStart([{ofs: 9326, row: 312, col: 49}, {ofs: 9341, row: 312, col: 64}]); tmp968 = tmp979 > tmp980;  _aether.logStatement([{ofs: 9326, row: 312, col: 49}, {ofs: 9341, row: 312, col: 64}], _aether._userInfo, false);\n                } else {\n                    _aether.logStatementStart([{ofs: 9307, row: 312, col: 30}, {ofs: 9341, row: 312, col: 64}]); tmp968 = tmp974;  _aether.logStatement([{ofs: 9307, row: 312, col: 30}, {ofs: 9341, row: 312, col: 64}], _aether._userInfo, false);\n                }\n            }\n            if (tmp968) {\n                tmp985 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp986 = 'determineSayAndAction';\n                _aether.logStatementStart([{ofs: 9354, row: 313, col: 8}, {ofs: 9382, row: 313, col: 36}]); tmp987 = _aether.createAPIClone(_aether, tmp985[tmp986]());  _aether.logStatement([{ofs: 9354, row: 313, col: 8}, {ofs: 9382, row: 313, col: 36}], _aether._userInfo, false);\n                tmp988 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp989 = 'terrifyTargets';\n                tmp991 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp992 = 'getTerrifyTargets';\n                _aether.logStatementStart([{ofs: 9392, row: 314, col: 8}, {ofs: 9439, row: 314, col: 55}]); tmp990 = _aether.createAPIClone(_aether, tmp991[tmp992]());  _aether.logStatement([{ofs: 9392, row: 314, col: 8}, {ofs: 9439, row: 314, col: 55}], _aether._userInfo, false);\n                _aether.logStatementStart([{ofs: 9392, row: 314, col: 8}, {ofs: 9438, row: 314, col: 54}]); tmp988[tmp989] = tmp990;  _aether.logStatement([{ofs: 9392, row: 314, col: 8}, {ofs: 9438, row: 314, col: 54}], _aether._userInfo, false);\n                tmp993 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp994 = 'terrify';\n                _aether.logStatementStart([{ofs: 9448, row: 315, col: 8}, {ofs: 9462, row: 315, col: 22}]); tmp995 = _aether.createAPIClone(_aether, tmp993[tmp994]());  _aether.logStatement([{ofs: 9448, row: 315, col: 8}, {ofs: 9462, row: 315, col: 22}], _aether._userInfo, false);\n                _aether.logCallEnd(); return;\n            } else {\n                tmp997 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                tmp998 = 'earlyJump';\n                _aether.logStatementStart([{ofs: 9498, row: 318, col: 12}, {ofs: 9512, row: 318, col: 26}]); tmp996 = tmp997[tmp998];  _aether.logStatement([{ofs: 9498, row: 318, col: 12}, {ofs: 9512, row: 318, col: 26}], _aether._userInfo, false);\n                if (tmp996) {\n                    tmp1002 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp1003 = 'enemyHero';\n                    _aether.logStatementStart([{ofs: 9903, row: 324, col: 11}, {ofs: 9917, row: 324, col: 25}]); tmp1001 = tmp1002[tmp1003];  _aether.logStatement([{ofs: 9903, row: 324, col: 11}, {ofs: 9917, row: 324, col: 25}], _aether._userInfo, false);\n                    if (tmp1001) {\n                        tmp1006 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp1007 = 'doesOpponentHaveRanged';\n                        _aether.logStatementStart([{ofs: 9921, row: 324, col: 29}, {ofs: 9950, row: 324, col: 58}]); tmp1004 = _aether.createAPIClone(_aether, tmp1006[tmp1007]());  _aether.logStatement([{ofs: 9921, row: 324, col: 29}, {ofs: 9950, row: 324, col: 58}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 9955, row: 324, col: 63}, {ofs: 9956, row: 324, col: 64}]); tmp1005 = 1;  _aether.logStatement([{ofs: 9955, row: 324, col: 63}, {ofs: 9956, row: 324, col: 64}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 9921, row: 324, col: 29}, {ofs: 9956, row: 324, col: 64}]); tmp1000 = tmp1004 === tmp1005;  _aether.logStatement([{ofs: 9921, row: 324, col: 29}, {ofs: 9956, row: 324, col: 64}], _aether._userInfo, false);\n                    } else {\n                        _aether.logStatementStart([{ofs: 9903, row: 324, col: 11}, {ofs: 9956, row: 324, col: 64}]); tmp1000 = tmp1001;  _aether.logStatement([{ofs: 9903, row: 324, col: 11}, {ofs: 9956, row: 324, col: 64}], _aether._userInfo, false);\n                    }\n                    if (tmp1000) {\n                        tmp1010 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp1011 = 'distance';\n                        tmp1013 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp1014 = 'enemyHero';\n                        _aether.logStatementStart([{ofs: 9974, row: 324, col: 82}, {ofs: 9988, row: 324, col: 96}]); tmp1012 = tmp1013[tmp1014];  _aether.logStatement([{ofs: 9974, row: 324, col: 82}, {ofs: 9988, row: 324, col: 96}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 9960, row: 324, col: 68}, {ofs: 9989, row: 324, col: 97}]); tmp1008 = _aether.createAPIClone(_aether, tmp1010[tmp1011](_aether.restoreAPIClone(_aether, tmp1012)));  _aether.logStatement([{ofs: 9960, row: 324, col: 68}, {ofs: 9989, row: 324, col: 97}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 9993, row: 324, col: 101}, {ofs: 9997, row: 324, col: 105}]); tmp1009 = 16.5;  _aether.logStatement([{ofs: 9993, row: 324, col: 101}, {ofs: 9997, row: 324, col: 105}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 9960, row: 324, col: 68}, {ofs: 9997, row: 324, col: 105}]); tmp999 = tmp1008 <= tmp1009;  _aether.logStatement([{ofs: 9960, row: 324, col: 68}, {ofs: 9997, row: 324, col: 105}], _aether._userInfo, false);\n                    } else {\n                        _aether.logStatementStart([{ofs: 9903, row: 324, col: 11}, {ofs: 9997, row: 324, col: 105}]); tmp999 = tmp1000;  _aether.logStatement([{ofs: 9903, row: 324, col: 11}, {ofs: 9997, row: 324, col: 105}], _aether._userInfo, false);\n                    }\n                    if (tmp999) {\n                        tmp1015 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp1016 = 'determineSayAndAction';\n                        _aether.logStatementStart([{ofs: 10013, row: 325, col: 12}, {ofs: 10041, row: 325, col: 40}]); tmp1017 = _aether.createAPIClone(_aether, tmp1015[tmp1016]());  _aether.logStatement([{ofs: 10013, row: 325, col: 12}, {ofs: 10041, row: 325, col: 40}], _aether._userInfo, false);\n                        tmp1018 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp1019 = 'terrifyTargets';\n                        tmp1021 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp1022 = 'getTerrifyTargets';\n                        _aether.logStatementStart([{ofs: 10055, row: 326, col: 12}, {ofs: 10102, row: 326, col: 59}]); tmp1020 = _aether.createAPIClone(_aether, tmp1021[tmp1022]());  _aether.logStatement([{ofs: 10055, row: 326, col: 12}, {ofs: 10102, row: 326, col: 59}], _aether._userInfo, false);\n                        _aether.logStatementStart([{ofs: 10055, row: 326, col: 12}, {ofs: 10101, row: 326, col: 58}]); tmp1018[tmp1019] = tmp1020;  _aether.logStatement([{ofs: 10055, row: 326, col: 12}, {ofs: 10101, row: 326, col: 58}], _aether._userInfo, false);\n                        tmp1023 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp1024 = 'terrify';\n                        _aether.logStatementStart([{ofs: 10115, row: 327, col: 12}, {ofs: 10129, row: 327, col: 26}]); tmp1025 = _aether.createAPIClone(_aether, tmp1023[tmp1024]());  _aether.logStatement([{ofs: 10115, row: 327, col: 12}, {ofs: 10129, row: 327, col: 26}], _aether._userInfo, false);\n                        _aether.logCallEnd(); return;\n                    } else {\n                        tmp1029 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp1030 = 'enemyHero';\n                        _aether.logStatementStart([{ofs: 10367, row: 334, col: 16}, {ofs: 10381, row: 334, col: 30}]); tmp1028 = tmp1029[tmp1030];  _aether.logStatement([{ofs: 10367, row: 334, col: 16}, {ofs: 10381, row: 334, col: 30}], _aether._userInfo, false);\n                        if (tmp1028) {\n                            tmp1033 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp1034 = 'doesOpponentHaveRanged';\n                            _aether.logStatementStart([{ofs: 10385, row: 334, col: 34}, {ofs: 10414, row: 334, col: 63}]); tmp1031 = _aether.createAPIClone(_aether, tmp1033[tmp1034]());  _aether.logStatement([{ofs: 10385, row: 334, col: 34}, {ofs: 10414, row: 334, col: 63}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 10419, row: 334, col: 68}, {ofs: 10420, row: 334, col: 69}]); tmp1032 = 2;  _aether.logStatement([{ofs: 10419, row: 334, col: 68}, {ofs: 10420, row: 334, col: 69}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 10385, row: 334, col: 34}, {ofs: 10420, row: 334, col: 69}]); tmp1027 = tmp1031 === tmp1032;  _aether.logStatement([{ofs: 10385, row: 334, col: 34}, {ofs: 10420, row: 334, col: 69}], _aether._userInfo, false);\n                        } else {\n                            _aether.logStatementStart([{ofs: 10367, row: 334, col: 16}, {ofs: 10420, row: 334, col: 69}]); tmp1027 = tmp1028;  _aether.logStatement([{ofs: 10367, row: 334, col: 16}, {ofs: 10420, row: 334, col: 69}], _aether._userInfo, false);\n                        }\n                        if (tmp1027) {\n                            tmp1037 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp1038 = 'distance';\n                            tmp1040 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp1041 = 'enemyHero';\n                            _aether.logStatementStart([{ofs: 10438, row: 334, col: 87}, {ofs: 10452, row: 334, col: 101}]); tmp1039 = tmp1040[tmp1041];  _aether.logStatement([{ofs: 10438, row: 334, col: 87}, {ofs: 10452, row: 334, col: 101}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 10424, row: 334, col: 73}, {ofs: 10453, row: 334, col: 102}]); tmp1035 = _aether.createAPIClone(_aether, tmp1037[tmp1038](_aether.restoreAPIClone(_aether, tmp1039)));  _aether.logStatement([{ofs: 10424, row: 334, col: 73}, {ofs: 10453, row: 334, col: 102}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 10457, row: 334, col: 106}, {ofs: 10459, row: 334, col: 108}]); tmp1036 = 12;  _aether.logStatement([{ofs: 10457, row: 334, col: 106}, {ofs: 10459, row: 334, col: 108}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 10424, row: 334, col: 73}, {ofs: 10459, row: 334, col: 108}]); tmp1026 = tmp1035 <= tmp1036;  _aether.logStatement([{ofs: 10424, row: 334, col: 73}, {ofs: 10459, row: 334, col: 108}], _aether._userInfo, false);\n                        } else {\n                            _aether.logStatementStart([{ofs: 10367, row: 334, col: 16}, {ofs: 10459, row: 334, col: 108}]); tmp1026 = tmp1027;  _aether.logStatement([{ofs: 10367, row: 334, col: 16}, {ofs: 10459, row: 334, col: 108}], _aether._userInfo, false);\n                        }\n                        if (tmp1026) {\n                            tmp1042 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp1043 = 'determineSayAndAction';\n                            _aether.logStatementStart([{ofs: 10475, row: 335, col: 12}, {ofs: 10503, row: 335, col: 40}]); tmp1044 = _aether.createAPIClone(_aether, tmp1042[tmp1043]());  _aether.logStatement([{ofs: 10475, row: 335, col: 12}, {ofs: 10503, row: 335, col: 40}], _aether._userInfo, false);\n                            tmp1045 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp1046 = 'terrifyTargets';\n                            tmp1048 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp1049 = 'getTerrifyTargets';\n                            _aether.logStatementStart([{ofs: 10517, row: 336, col: 12}, {ofs: 10564, row: 336, col: 59}]); tmp1047 = _aether.createAPIClone(_aether, tmp1048[tmp1049]());  _aether.logStatement([{ofs: 10517, row: 336, col: 12}, {ofs: 10564, row: 336, col: 59}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 10517, row: 336, col: 12}, {ofs: 10563, row: 336, col: 58}]); tmp1045[tmp1046] = tmp1047;  _aether.logStatement([{ofs: 10517, row: 336, col: 12}, {ofs: 10563, row: 336, col: 58}], _aether._userInfo, false);\n                            tmp1050 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp1051 = 'terrify';\n                            _aether.logStatementStart([{ofs: 10577, row: 337, col: 12}, {ofs: 10591, row: 337, col: 26}]); tmp1052 = _aether.createAPIClone(_aether, tmp1050[tmp1051]());  _aether.logStatement([{ofs: 10577, row: 337, col: 12}, {ofs: 10591, row: 337, col: 26}], _aether._userInfo, false);\n                            _aether.logCallEnd(); return;\n                        } else {\n                            tmp1056 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp1057 = 'enemyHero';\n                            _aether.logStatementStart([{ofs: 10639, row: 340, col: 16}, {ofs: 10653, row: 340, col: 30}]); tmp1055 = tmp1056[tmp1057];  _aether.logStatement([{ofs: 10639, row: 340, col: 16}, {ofs: 10653, row: 340, col: 30}], _aether._userInfo, false);\n                            if (tmp1055) {\n                                tmp1060 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp1061 = 'doesOpponentHaveRanged';\n                                _aether.logStatementStart([{ofs: 10657, row: 340, col: 34}, {ofs: 10686, row: 340, col: 63}]); tmp1058 = _aether.createAPIClone(_aether, tmp1060[tmp1061]());  _aether.logStatement([{ofs: 10657, row: 340, col: 34}, {ofs: 10686, row: 340, col: 63}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 10691, row: 340, col: 68}, {ofs: 10692, row: 340, col: 69}]); tmp1059 = 3;  _aether.logStatement([{ofs: 10691, row: 340, col: 68}, {ofs: 10692, row: 340, col: 69}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 10657, row: 340, col: 34}, {ofs: 10692, row: 340, col: 69}]); tmp1054 = tmp1058 === tmp1059;  _aether.logStatement([{ofs: 10657, row: 340, col: 34}, {ofs: 10692, row: 340, col: 69}], _aether._userInfo, false);\n                            } else {\n                                _aether.logStatementStart([{ofs: 10639, row: 340, col: 16}, {ofs: 10692, row: 340, col: 69}]); tmp1054 = tmp1055;  _aether.logStatement([{ofs: 10639, row: 340, col: 16}, {ofs: 10692, row: 340, col: 69}], _aether._userInfo, false);\n                            }\n                            if (tmp1054) {\n                                tmp1064 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp1065 = 'distance';\n                                tmp1067 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp1068 = 'enemyHero';\n                                _aether.logStatementStart([{ofs: 10710, row: 340, col: 87}, {ofs: 10724, row: 340, col: 101}]); tmp1066 = tmp1067[tmp1068];  _aether.logStatement([{ofs: 10710, row: 340, col: 87}, {ofs: 10724, row: 340, col: 101}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 10696, row: 340, col: 73}, {ofs: 10725, row: 340, col: 102}]); tmp1062 = _aether.createAPIClone(_aether, tmp1064[tmp1065](_aether.restoreAPIClone(_aether, tmp1066)));  _aether.logStatement([{ofs: 10696, row: 340, col: 73}, {ofs: 10725, row: 340, col: 102}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 10729, row: 340, col: 106}, {ofs: 10731, row: 340, col: 108}]); tmp1063 = 12;  _aether.logStatement([{ofs: 10729, row: 340, col: 106}, {ofs: 10731, row: 340, col: 108}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 10696, row: 340, col: 73}, {ofs: 10731, row: 340, col: 108}]); tmp1053 = tmp1062 <= tmp1063;  _aether.logStatement([{ofs: 10696, row: 340, col: 73}, {ofs: 10731, row: 340, col: 108}], _aether._userInfo, false);\n                            } else {\n                                _aether.logStatementStart([{ofs: 10639, row: 340, col: 16}, {ofs: 10731, row: 340, col: 108}]); tmp1053 = tmp1054;  _aether.logStatement([{ofs: 10639, row: 340, col: 16}, {ofs: 10731, row: 340, col: 108}], _aether._userInfo, false);\n                            }\n                            if (tmp1053) {\n                                tmp1069 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp1070 = 'determineSayAndAction';\n                                _aether.logStatementStart([{ofs: 10747, row: 341, col: 12}, {ofs: 10775, row: 341, col: 40}]); tmp1071 = _aether.createAPIClone(_aether, tmp1069[tmp1070]());  _aether.logStatement([{ofs: 10747, row: 341, col: 12}, {ofs: 10775, row: 341, col: 40}], _aether._userInfo, false);\n                                tmp1072 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp1073 = 'terrifyTargets';\n                                tmp1075 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp1076 = 'getTerrifyTargets';\n                                _aether.logStatementStart([{ofs: 10789, row: 342, col: 12}, {ofs: 10836, row: 342, col: 59}]); tmp1074 = _aether.createAPIClone(_aether, tmp1075[tmp1076]());  _aether.logStatement([{ofs: 10789, row: 342, col: 12}, {ofs: 10836, row: 342, col: 59}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 10789, row: 342, col: 12}, {ofs: 10835, row: 342, col: 58}]); tmp1072[tmp1073] = tmp1074;  _aether.logStatement([{ofs: 10789, row: 342, col: 12}, {ofs: 10835, row: 342, col: 58}], _aether._userInfo, false);\n                                tmp1077 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp1078 = 'terrify';\n                                _aether.logStatementStart([{ofs: 10849, row: 343, col: 12}, {ofs: 10863, row: 343, col: 26}]); tmp1079 = _aether.createAPIClone(_aether, tmp1077[tmp1078]());  _aether.logStatement([{ofs: 10849, row: 343, col: 12}, {ofs: 10863, row: 343, col: 26}], _aether._userInfo, false);\n                                _aether.logCallEnd(); return;\n                            } else {\n                                ;\n                            }\n                        }\n                    }\n                } else {\n                    tmp1081 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                    tmp1082 = 'recalculateBaseRace';\n                    _aether.logStatementStart([{ofs: 10913, row: 347, col: 12}, {ofs: 10939, row: 347, col: 38}]); tmp1080 = _aether.createAPIClone(_aether, tmp1081[tmp1082]());  _aether.logStatement([{ofs: 10913, row: 347, col: 12}, {ofs: 10939, row: 347, col: 38}], _aether._userInfo, false);\n                    if (tmp1080) {\n                        tmp1085 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp1086 = 'enemyHero';\n                        _aether.logStatementStart([{ofs: 10954, row: 348, col: 11}, {ofs: 10968, row: 348, col: 25}]); tmp1084 = tmp1085[tmp1086];  _aether.logStatement([{ofs: 10954, row: 348, col: 11}, {ofs: 10968, row: 348, col: 25}], _aether._userInfo, false);\n                        if (tmp1084) {\n                            tmp1089 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp1090 = 'distance';\n                            tmp1092 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp1093 = 'enemyHero';\n                            _aether.logStatementStart([{ofs: 10986, row: 348, col: 43}, {ofs: 11000, row: 348, col: 57}]); tmp1091 = tmp1092[tmp1093];  _aether.logStatement([{ofs: 10986, row: 348, col: 43}, {ofs: 11000, row: 348, col: 57}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 10972, row: 348, col: 29}, {ofs: 11001, row: 348, col: 58}]); tmp1087 = _aether.createAPIClone(_aether, tmp1089[tmp1090](_aether.restoreAPIClone(_aether, tmp1091)));  _aether.logStatement([{ofs: 10972, row: 348, col: 29}, {ofs: 11001, row: 348, col: 58}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 11005, row: 348, col: 62}, {ofs: 11007, row: 348, col: 64}]); tmp1088 = 17;  _aether.logStatement([{ofs: 11005, row: 348, col: 62}, {ofs: 11007, row: 348, col: 64}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 10972, row: 348, col: 29}, {ofs: 11007, row: 348, col: 64}]); tmp1083 = tmp1087 <= tmp1088;  _aether.logStatement([{ofs: 10972, row: 348, col: 29}, {ofs: 11007, row: 348, col: 64}], _aether._userInfo, false);\n                        } else {\n                            _aether.logStatementStart([{ofs: 10954, row: 348, col: 11}, {ofs: 11007, row: 348, col: 64}]); tmp1083 = tmp1084;  _aether.logStatement([{ofs: 10954, row: 348, col: 11}, {ofs: 11007, row: 348, col: 64}], _aether._userInfo, false);\n                        }\n                        if (tmp1083) {\n                            tmp1094 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp1095 = 'determineSayAndAction';\n                            _aether.logStatementStart([{ofs: 11023, row: 349, col: 12}, {ofs: 11051, row: 349, col: 40}]); tmp1096 = _aether.createAPIClone(_aether, tmp1094[tmp1095]());  _aether.logStatement([{ofs: 11023, row: 349, col: 12}, {ofs: 11051, row: 349, col: 40}], _aether._userInfo, false);\n                            tmp1097 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp1098 = 'terrifyTargets';\n                            tmp1100 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp1101 = 'getTerrifyTargets';\n                            _aether.logStatementStart([{ofs: 11065, row: 350, col: 12}, {ofs: 11112, row: 350, col: 59}]); tmp1099 = _aether.createAPIClone(_aether, tmp1100[tmp1101]());  _aether.logStatement([{ofs: 11065, row: 350, col: 12}, {ofs: 11112, row: 350, col: 59}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 11065, row: 350, col: 12}, {ofs: 11111, row: 350, col: 58}]); tmp1097[tmp1098] = tmp1099;  _aether.logStatement([{ofs: 11065, row: 350, col: 12}, {ofs: 11111, row: 350, col: 58}], _aether._userInfo, false);\n                            tmp1102 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp1103 = 'terrify';\n                            _aether.logStatementStart([{ofs: 11125, row: 351, col: 12}, {ofs: 11139, row: 351, col: 26}]); tmp1104 = _aether.createAPIClone(_aether, tmp1102[tmp1103]());  _aether.logStatement([{ofs: 11125, row: 351, col: 12}, {ofs: 11139, row: 351, col: 26}], _aether._userInfo, false);\n                            _aether.logCallEnd(); return;\n                        } else {\n                            ;\n                        }\n                    } else {\n                        tmp1107 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                        tmp1108 = 'baseRace';\n                        _aether.logStatementStart([{ofs: 11189, row: 355, col: 12}, {ofs: 11202, row: 355, col: 25}]); tmp1106 = tmp1107[tmp1108];  _aether.logStatement([{ofs: 11189, row: 355, col: 12}, {ofs: 11202, row: 355, col: 25}], _aether._userInfo, false);\n                        if (tmp1106) {\n                            tmp1111 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp1112 = 'now';\n                            _aether.logStatementStart([{ofs: 11206, row: 355, col: 29}, {ofs: 11216, row: 355, col: 39}]); tmp1109 = _aether.createAPIClone(_aether, tmp1111[tmp1112]());  _aether.logStatement([{ofs: 11206, row: 355, col: 29}, {ofs: 11216, row: 355, col: 39}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 11220, row: 355, col: 43}, {ofs: 11221, row: 355, col: 44}]); tmp1110 = 6;  _aether.logStatement([{ofs: 11220, row: 355, col: 43}, {ofs: 11221, row: 355, col: 44}], _aether._userInfo, false);\n                            _aether.logStatementStart([{ofs: 11206, row: 355, col: 29}, {ofs: 11221, row: 355, col: 44}]); tmp1105 = tmp1109 <= tmp1110;  _aether.logStatement([{ofs: 11206, row: 355, col: 29}, {ofs: 11221, row: 355, col: 44}], _aether._userInfo, false);\n                        } else {\n                            _aether.logStatementStart([{ofs: 11189, row: 355, col: 12}, {ofs: 11221, row: 355, col: 44}]); tmp1105 = tmp1106;  _aether.logStatement([{ofs: 11189, row: 355, col: 12}, {ofs: 11221, row: 355, col: 44}], _aether._userInfo, false);\n                        }\n                        if (tmp1105) {\n                            tmp1115 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp1116 = 'isOpponentHeroRushing';\n                            _aether.logStatementStart([{ofs: 11236, row: 356, col: 11}, {ofs: 11262, row: 356, col: 37}]); tmp1114 = tmp1115[tmp1116];  _aether.logStatement([{ofs: 11236, row: 356, col: 11}, {ofs: 11262, row: 356, col: 37}], _aether._userInfo, false);\n                            if (tmp1114) {\n                                tmp1119 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp1120 = 'doesOpponentHaveRanged';\n                                _aether.logStatementStart([{ofs: 11266, row: 356, col: 41}, {ofs: 11295, row: 356, col: 70}]); tmp1117 = _aether.createAPIClone(_aether, tmp1119[tmp1120]());  _aether.logStatement([{ofs: 11266, row: 356, col: 41}, {ofs: 11295, row: 356, col: 70}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 11300, row: 356, col: 75}, {ofs: 11301, row: 356, col: 76}]); tmp1118 = 1;  _aether.logStatement([{ofs: 11300, row: 356, col: 75}, {ofs: 11301, row: 356, col: 76}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 11266, row: 356, col: 41}, {ofs: 11301, row: 356, col: 76}]); tmp1113 = tmp1117 === tmp1118;  _aether.logStatement([{ofs: 11266, row: 356, col: 41}, {ofs: 11301, row: 356, col: 76}], _aether._userInfo, false);\n                            } else {\n                                _aether.logStatementStart([{ofs: 11236, row: 356, col: 11}, {ofs: 11301, row: 356, col: 76}]); tmp1113 = tmp1114;  _aether.logStatement([{ofs: 11236, row: 356, col: 11}, {ofs: 11301, row: 356, col: 76}], _aether._userInfo, false);\n                            }\n                            if (tmp1113) {\n                                tmp1123 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp1124 = 'enemyHero';\n                                _aether.logStatementStart([{ofs: 11360, row: 358, col: 15}, {ofs: 11374, row: 358, col: 29}]); tmp1122 = tmp1123[tmp1124];  _aether.logStatement([{ofs: 11360, row: 358, col: 15}, {ofs: 11374, row: 358, col: 29}], _aether._userInfo, false);\n                                if (tmp1122) {\n                                    tmp1127 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                    tmp1128 = 'distance';\n                                    tmp1130 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                    tmp1131 = 'enemyHero';\n                                    _aether.logStatementStart([{ofs: 11392, row: 358, col: 47}, {ofs: 11406, row: 358, col: 61}]); tmp1129 = tmp1130[tmp1131];  _aether.logStatement([{ofs: 11392, row: 358, col: 47}, {ofs: 11406, row: 358, col: 61}], _aether._userInfo, false);\n                                    _aether.logStatementStart([{ofs: 11378, row: 358, col: 33}, {ofs: 11407, row: 358, col: 62}]); tmp1125 = _aether.createAPIClone(_aether, tmp1127[tmp1128](_aether.restoreAPIClone(_aether, tmp1129)));  _aether.logStatement([{ofs: 11378, row: 358, col: 33}, {ofs: 11407, row: 358, col: 62}], _aether._userInfo, false);\n                                    _aether.logStatementStart([{ofs: 11411, row: 358, col: 66}, {ofs: 11412, row: 358, col: 67}]); tmp1126 = 5;  _aether.logStatement([{ofs: 11411, row: 358, col: 66}, {ofs: 11412, row: 358, col: 67}], _aether._userInfo, false);\n                                    _aether.logStatementStart([{ofs: 11378, row: 358, col: 33}, {ofs: 11412, row: 358, col: 67}]); tmp1121 = tmp1125 <= tmp1126;  _aether.logStatement([{ofs: 11378, row: 358, col: 33}, {ofs: 11412, row: 358, col: 67}], _aether._userInfo, false);\n                                } else {\n                                    _aether.logStatementStart([{ofs: 11360, row: 358, col: 15}, {ofs: 11412, row: 358, col: 67}]); tmp1121 = tmp1122;  _aether.logStatement([{ofs: 11360, row: 358, col: 15}, {ofs: 11412, row: 358, col: 67}], _aether._userInfo, false);\n                                }\n                                if (tmp1121) {\n                                    tmp1132 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                    tmp1133 = 'determineSayAndAction';\n                                    _aether.logStatementStart([{ofs: 11432, row: 359, col: 16}, {ofs: 11460, row: 359, col: 44}]); tmp1134 = _aether.createAPIClone(_aether, tmp1132[tmp1133]());  _aether.logStatement([{ofs: 11432, row: 359, col: 16}, {ofs: 11460, row: 359, col: 44}], _aether._userInfo, false);\n                                    tmp1135 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                    tmp1136 = 'terrifyTargets';\n                                    tmp1138 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                    tmp1139 = 'getTerrifyTargets';\n                                    _aether.logStatementStart([{ofs: 11478, row: 360, col: 16}, {ofs: 11525, row: 360, col: 63}]); tmp1137 = _aether.createAPIClone(_aether, tmp1138[tmp1139]());  _aether.logStatement([{ofs: 11478, row: 360, col: 16}, {ofs: 11525, row: 360, col: 63}], _aether._userInfo, false);\n                                    _aether.logStatementStart([{ofs: 11478, row: 360, col: 16}, {ofs: 11524, row: 360, col: 62}]); tmp1135[tmp1136] = tmp1137;  _aether.logStatement([{ofs: 11478, row: 360, col: 16}, {ofs: 11524, row: 360, col: 62}], _aether._userInfo, false);\n                                    tmp1140 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                    tmp1141 = 'terrify';\n                                    _aether.logStatementStart([{ofs: 11542, row: 361, col: 16}, {ofs: 11556, row: 361, col: 30}]); tmp1142 = _aether.createAPIClone(_aether, tmp1140[tmp1141]());  _aether.logStatement([{ofs: 11542, row: 361, col: 16}, {ofs: 11556, row: 361, col: 30}], _aether._userInfo, false);\n                                    _aether.logCallEnd(); return;\n                                } else {\n                                    ;\n                                }\n                            } else {\n                                ;\n                            }\n                            tmp1145 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp1146 = 'isOpponentHeroRushing';\n                            _aether.logStatementStart([{ofs: 11673, row: 366, col: 11}, {ofs: 11699, row: 366, col: 37}]); tmp1144 = tmp1145[tmp1146];  _aether.logStatement([{ofs: 11673, row: 366, col: 11}, {ofs: 11699, row: 366, col: 37}], _aether._userInfo, false);\n                            if (tmp1144) {\n                                tmp1149 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp1150 = 'doesOpponentHaveRanged';\n                                _aether.logStatementStart([{ofs: 11703, row: 366, col: 41}, {ofs: 11732, row: 366, col: 70}]); tmp1147 = _aether.createAPIClone(_aether, tmp1149[tmp1150]());  _aether.logStatement([{ofs: 11703, row: 366, col: 41}, {ofs: 11732, row: 366, col: 70}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 11735, row: 366, col: 73}, {ofs: 11736, row: 366, col: 74}]); tmp1148 = 1;  _aether.logStatement([{ofs: 11735, row: 366, col: 73}, {ofs: 11736, row: 366, col: 74}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 11703, row: 366, col: 41}, {ofs: 11736, row: 366, col: 74}]); tmp1143 = tmp1147 > tmp1148;  _aether.logStatement([{ofs: 11703, row: 366, col: 41}, {ofs: 11736, row: 366, col: 74}], _aether._userInfo, false);\n                            } else {\n                                _aether.logStatementStart([{ofs: 11673, row: 366, col: 11}, {ofs: 11736, row: 366, col: 74}]); tmp1143 = tmp1144;  _aether.logStatement([{ofs: 11673, row: 366, col: 11}, {ofs: 11736, row: 366, col: 74}], _aether._userInfo, false);\n                            }\n                            if (tmp1143) {\n                                tmp1153 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp1154 = 'enemyHero';\n                                _aether.logStatementStart([{ofs: 11755, row: 367, col: 15}, {ofs: 11769, row: 367, col: 29}]); tmp1152 = tmp1153[tmp1154];  _aether.logStatement([{ofs: 11755, row: 367, col: 15}, {ofs: 11769, row: 367, col: 29}], _aether._userInfo, false);\n                                if (tmp1152) {\n                                    tmp1157 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                    tmp1158 = 'distance';\n                                    tmp1160 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                    tmp1161 = 'enemyHero';\n                                    _aether.logStatementStart([{ofs: 11787, row: 367, col: 47}, {ofs: 11801, row: 367, col: 61}]); tmp1159 = tmp1160[tmp1161];  _aether.logStatement([{ofs: 11787, row: 367, col: 47}, {ofs: 11801, row: 367, col: 61}], _aether._userInfo, false);\n                                    _aether.logStatementStart([{ofs: 11773, row: 367, col: 33}, {ofs: 11802, row: 367, col: 62}]); tmp1155 = _aether.createAPIClone(_aether, tmp1157[tmp1158](_aether.restoreAPIClone(_aether, tmp1159)));  _aether.logStatement([{ofs: 11773, row: 367, col: 33}, {ofs: 11802, row: 367, col: 62}], _aether._userInfo, false);\n                                    _aether.logStatementStart([{ofs: 11806, row: 367, col: 66}, {ofs: 11808, row: 367, col: 68}]); tmp1156 = 17;  _aether.logStatement([{ofs: 11806, row: 367, col: 66}, {ofs: 11808, row: 367, col: 68}], _aether._userInfo, false);\n                                    _aether.logStatementStart([{ofs: 11773, row: 367, col: 33}, {ofs: 11808, row: 367, col: 68}]); tmp1151 = tmp1155 <= tmp1156;  _aether.logStatement([{ofs: 11773, row: 367, col: 33}, {ofs: 11808, row: 367, col: 68}], _aether._userInfo, false);\n                                } else {\n                                    _aether.logStatementStart([{ofs: 11755, row: 367, col: 15}, {ofs: 11808, row: 367, col: 68}]); tmp1151 = tmp1152;  _aether.logStatement([{ofs: 11755, row: 367, col: 15}, {ofs: 11808, row: 367, col: 68}], _aether._userInfo, false);\n                                }\n                                if (tmp1151) {\n                                    tmp1162 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                    tmp1163 = 'determineSayAndAction';\n                                    _aether.logStatementStart([{ofs: 11828, row: 368, col: 16}, {ofs: 11856, row: 368, col: 44}]); tmp1164 = _aether.createAPIClone(_aether, tmp1162[tmp1163]());  _aether.logStatement([{ofs: 11828, row: 368, col: 16}, {ofs: 11856, row: 368, col: 44}], _aether._userInfo, false);\n                                    tmp1165 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                    tmp1166 = 'terrifyTargets';\n                                    tmp1168 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                    tmp1169 = 'getTerrifyTargets';\n                                    _aether.logStatementStart([{ofs: 11874, row: 369, col: 16}, {ofs: 11921, row: 369, col: 63}]); tmp1167 = _aether.createAPIClone(_aether, tmp1168[tmp1169]());  _aether.logStatement([{ofs: 11874, row: 369, col: 16}, {ofs: 11921, row: 369, col: 63}], _aether._userInfo, false);\n                                    _aether.logStatementStart([{ofs: 11874, row: 369, col: 16}, {ofs: 11920, row: 369, col: 62}]); tmp1165[tmp1166] = tmp1167;  _aether.logStatement([{ofs: 11874, row: 369, col: 16}, {ofs: 11920, row: 369, col: 62}], _aether._userInfo, false);\n                                    tmp1170 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                    tmp1171 = 'terrify';\n                                    _aether.logStatementStart([{ofs: 11938, row: 370, col: 16}, {ofs: 11952, row: 370, col: 30}]); tmp1172 = _aether.createAPIClone(_aether, tmp1170[tmp1171]());  _aether.logStatement([{ofs: 11938, row: 370, col: 16}, {ofs: 11952, row: 370, col: 30}], _aether._userInfo, false);\n                                    _aether.logCallEnd(); return;\n                                } else {\n                                    ;\n                                }\n                            } else {\n                                tmp1176 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp1177 = 'enemyHero';\n                                _aether.logStatementStart([{ofs: 12019, row: 375, col: 16}, {ofs: 12033, row: 375, col: 30}]); tmp1175 = tmp1176[tmp1177];  _aether.logStatement([{ofs: 12019, row: 375, col: 16}, {ofs: 12033, row: 375, col: 30}], _aether._userInfo, false);\n                                if (tmp1175) {\n                                    tmp1180 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                    tmp1181 = 'enemyHero';\n                                    _aether.logStatementStart([{ofs: 12037, row: 375, col: 34}, {ofs: 12051, row: 375, col: 48}]); tmp1178 = tmp1180[tmp1181];  _aether.logStatement([{ofs: 12037, row: 375, col: 34}, {ofs: 12051, row: 375, col: 48}], _aether._userInfo, false);\n                                    tmp1179 = 'target';\n                                    _aether.logStatementStart([{ofs: 12037, row: 375, col: 34}, {ofs: 12058, row: 375, col: 55}]); tmp1174 = tmp1178[tmp1179];  _aether.logStatement([{ofs: 12037, row: 375, col: 34}, {ofs: 12058, row: 375, col: 55}], _aether._userInfo, false);\n                                } else {\n                                    _aether.logStatementStart([{ofs: 12019, row: 375, col: 16}, {ofs: 12058, row: 375, col: 55}]); tmp1174 = tmp1175;  _aether.logStatement([{ofs: 12019, row: 375, col: 16}, {ofs: 12058, row: 375, col: 55}], _aether._userInfo, false);\n                                }\n                                if (tmp1174) {\n                                    tmp1188 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                    tmp1189 = 'enemyHero';\n                                    _aether.logStatementStart([{ofs: 12062, row: 375, col: 59}, {ofs: 12076, row: 375, col: 73}]); tmp1186 = tmp1188[tmp1189];  _aether.logStatement([{ofs: 12062, row: 375, col: 59}, {ofs: 12076, row: 375, col: 73}], _aether._userInfo, false);\n                                    tmp1187 = 'target';\n                                    _aether.logStatementStart([{ofs: 12062, row: 375, col: 59}, {ofs: 12083, row: 375, col: 80}]); tmp1184 = tmp1186[tmp1187];  _aether.logStatement([{ofs: 12062, row: 375, col: 59}, {ofs: 12083, row: 375, col: 80}], _aether._userInfo, false);\n                                    tmp1185 = 'type';\n                                    _aether.logStatementStart([{ofs: 12062, row: 375, col: 59}, {ofs: 12088, row: 375, col: 85}]); tmp1182 = tmp1184[tmp1185];  _aether.logStatement([{ofs: 12062, row: 375, col: 59}, {ofs: 12088, row: 375, col: 85}], _aether._userInfo, false);\n                                    _aether.logStatementStart([{ofs: 12092, row: 375, col: 89}, {ofs: 12098, row: 375, col: 95}]); tmp1183 = 'base';  _aether.logStatement([{ofs: 12092, row: 375, col: 89}, {ofs: 12098, row: 375, col: 95}], _aether._userInfo, false);\n                                    _aether.logStatementStart([{ofs: 12062, row: 375, col: 59}, {ofs: 12098, row: 375, col: 95}]); tmp1173 = tmp1182 != tmp1183;  _aether.logStatement([{ofs: 12062, row: 375, col: 59}, {ofs: 12098, row: 375, col: 95}], _aether._userInfo, false);\n                                } else {\n                                    _aether.logStatementStart([{ofs: 12019, row: 375, col: 16}, {ofs: 12098, row: 375, col: 95}]); tmp1173 = tmp1174;  _aether.logStatement([{ofs: 12019, row: 375, col: 16}, {ofs: 12098, row: 375, col: 95}], _aether._userInfo, false);\n                                }\n                                if (tmp1173) {\n                                    tmp1192 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                    tmp1193 = 'enemyHero';\n                                    _aether.logStatementStart([{ofs: 12117, row: 376, col: 15}, {ofs: 12131, row: 376, col: 29}]); tmp1191 = tmp1192[tmp1193];  _aether.logStatement([{ofs: 12117, row: 376, col: 15}, {ofs: 12131, row: 376, col: 29}], _aether._userInfo, false);\n                                    if (tmp1191) {\n                                        tmp1196 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                        tmp1197 = 'distance';\n                                        tmp1199 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                        tmp1200 = 'enemyHero';\n                                        _aether.logStatementStart([{ofs: 12149, row: 376, col: 47}, {ofs: 12163, row: 376, col: 61}]); tmp1198 = tmp1199[tmp1200];  _aether.logStatement([{ofs: 12149, row: 376, col: 47}, {ofs: 12163, row: 376, col: 61}], _aether._userInfo, false);\n                                        _aether.logStatementStart([{ofs: 12135, row: 376, col: 33}, {ofs: 12164, row: 376, col: 62}]); tmp1194 = _aether.createAPIClone(_aether, tmp1196[tmp1197](_aether.restoreAPIClone(_aether, tmp1198)));  _aether.logStatement([{ofs: 12135, row: 376, col: 33}, {ofs: 12164, row: 376, col: 62}], _aether._userInfo, false);\n                                        _aether.logStatementStart([{ofs: 12168, row: 376, col: 66}, {ofs: 12170, row: 376, col: 68}]); tmp1195 = 18;  _aether.logStatement([{ofs: 12168, row: 376, col: 66}, {ofs: 12170, row: 376, col: 68}], _aether._userInfo, false);\n                                        _aether.logStatementStart([{ofs: 12135, row: 376, col: 33}, {ofs: 12170, row: 376, col: 68}]); tmp1190 = tmp1194 <= tmp1195;  _aether.logStatement([{ofs: 12135, row: 376, col: 33}, {ofs: 12170, row: 376, col: 68}], _aether._userInfo, false);\n                                    } else {\n                                        _aether.logStatementStart([{ofs: 12117, row: 376, col: 15}, {ofs: 12170, row: 376, col: 68}]); tmp1190 = tmp1191;  _aether.logStatement([{ofs: 12117, row: 376, col: 15}, {ofs: 12170, row: 376, col: 68}], _aether._userInfo, false);\n                                    }\n                                    if (tmp1190) {\n                                        tmp1201 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                        tmp1202 = 'determineSayAndAction';\n                                        _aether.logStatementStart([{ofs: 12190, row: 377, col: 16}, {ofs: 12218, row: 377, col: 44}]); tmp1203 = _aether.createAPIClone(_aether, tmp1201[tmp1202]());  _aether.logStatement([{ofs: 12190, row: 377, col: 16}, {ofs: 12218, row: 377, col: 44}], _aether._userInfo, false);\n                                        tmp1204 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                        tmp1205 = 'terrifyTargets';\n                                        tmp1207 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                        tmp1208 = 'getTerrifyTargets';\n                                        _aether.logStatementStart([{ofs: 12236, row: 378, col: 16}, {ofs: 12283, row: 378, col: 63}]); tmp1206 = _aether.createAPIClone(_aether, tmp1207[tmp1208]());  _aether.logStatement([{ofs: 12236, row: 378, col: 16}, {ofs: 12283, row: 378, col: 63}], _aether._userInfo, false);\n                                        _aether.logStatementStart([{ofs: 12236, row: 378, col: 16}, {ofs: 12282, row: 378, col: 62}]); tmp1204[tmp1205] = tmp1206;  _aether.logStatement([{ofs: 12236, row: 378, col: 16}, {ofs: 12282, row: 378, col: 62}], _aether._userInfo, false);\n                                        tmp1209 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                        tmp1210 = 'terrify';\n                                        _aether.logStatementStart([{ofs: 12300, row: 379, col: 16}, {ofs: 12314, row: 379, col: 30}]); tmp1211 = _aether.createAPIClone(_aether, tmp1209[tmp1210]());  _aether.logStatement([{ofs: 12300, row: 379, col: 16}, {ofs: 12314, row: 379, col: 30}], _aether._userInfo, false);\n                                        _aether.logCallEnd(); return;\n                                    } else {\n                                        ;\n                                    }\n                                } else {\n                                    tmp1215 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                    tmp1216 = 'enemyHero';\n                                    _aether.logStatementStart([{ofs: 12380, row: 383, col: 16}, {ofs: 12394, row: 383, col: 30}]); tmp1214 = tmp1215[tmp1216];  _aether.logStatement([{ofs: 12380, row: 383, col: 16}, {ofs: 12394, row: 383, col: 30}], _aether._userInfo, false);\n                                    if (tmp1214) {\n                                        tmp1219 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                        tmp1220 = 'distance';\n                                        tmp1222 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                        tmp1223 = 'enemyHero';\n                                        _aether.logStatementStart([{ofs: 12412, row: 383, col: 48}, {ofs: 12426, row: 383, col: 62}]); tmp1221 = tmp1222[tmp1223];  _aether.logStatement([{ofs: 12412, row: 383, col: 48}, {ofs: 12426, row: 383, col: 62}], _aether._userInfo, false);\n                                        _aether.logStatementStart([{ofs: 12398, row: 383, col: 34}, {ofs: 12427, row: 383, col: 63}]); tmp1217 = _aether.createAPIClone(_aether, tmp1219[tmp1220](_aether.restoreAPIClone(_aether, tmp1221)));  _aether.logStatement([{ofs: 12398, row: 383, col: 34}, {ofs: 12427, row: 383, col: 63}], _aether._userInfo, false);\n                                        _aether.logStatementStart([{ofs: 12431, row: 383, col: 67}, {ofs: 12433, row: 383, col: 69}]); tmp1218 = 10;  _aether.logStatement([{ofs: 12431, row: 383, col: 67}, {ofs: 12433, row: 383, col: 69}], _aether._userInfo, false);\n                                        _aether.logStatementStart([{ofs: 12398, row: 383, col: 34}, {ofs: 12433, row: 383, col: 69}]); tmp1213 = tmp1217 >= tmp1218;  _aether.logStatement([{ofs: 12398, row: 383, col: 34}, {ofs: 12433, row: 383, col: 69}], _aether._userInfo, false);\n                                    } else {\n                                        _aether.logStatementStart([{ofs: 12380, row: 383, col: 16}, {ofs: 12433, row: 383, col: 69}]); tmp1213 = tmp1214;  _aether.logStatement([{ofs: 12380, row: 383, col: 16}, {ofs: 12433, row: 383, col: 69}], _aether._userInfo, false);\n                                    }\n                                    if (tmp1213) {\n                                        tmp1228 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                        tmp1229 = 'pos';\n                                        _aether.logStatementStart([{ofs: 12437, row: 383, col: 73}, {ofs: 12445, row: 383, col: 81}]); tmp1226 = tmp1228[tmp1229];  _aether.logStatement([{ofs: 12437, row: 383, col: 73}, {ofs: 12445, row: 383, col: 81}], _aether._userInfo, false);\n                                        tmp1227 = 'x';\n                                        _aether.logStatementStart([{ofs: 12437, row: 383, col: 73}, {ofs: 12447, row: 383, col: 83}]); tmp1224 = tmp1226[tmp1227];  _aether.logStatement([{ofs: 12437, row: 383, col: 73}, {ofs: 12447, row: 383, col: 83}], _aether._userInfo, false);\n                                        tmp1234 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                        tmp1235 = 'enemyHero';\n                                        _aether.logStatementStart([{ofs: 12450, row: 383, col: 86}, {ofs: 12464, row: 383, col: 100}]); tmp1232 = tmp1234[tmp1235];  _aether.logStatement([{ofs: 12450, row: 383, col: 86}, {ofs: 12464, row: 383, col: 100}], _aether._userInfo, false);\n                                        tmp1233 = 'pos';\n                                        _aether.logStatementStart([{ofs: 12450, row: 383, col: 86}, {ofs: 12468, row: 383, col: 104}]); tmp1230 = tmp1232[tmp1233];  _aether.logStatement([{ofs: 12450, row: 383, col: 86}, {ofs: 12468, row: 383, col: 104}], _aether._userInfo, false);\n                                        tmp1231 = 'x';\n                                        _aether.logStatementStart([{ofs: 12450, row: 383, col: 86}, {ofs: 12470, row: 383, col: 106}]); tmp1225 = tmp1230[tmp1231];  _aether.logStatement([{ofs: 12450, row: 383, col: 86}, {ofs: 12470, row: 383, col: 106}], _aether._userInfo, false);\n                                        _aether.logStatementStart([{ofs: 12437, row: 383, col: 73}, {ofs: 12470, row: 383, col: 106}]); tmp1212 = tmp1224 > tmp1225;  _aether.logStatement([{ofs: 12437, row: 383, col: 73}, {ofs: 12470, row: 383, col: 106}], _aether._userInfo, false);\n                                    } else {\n                                        _aether.logStatementStart([{ofs: 12380, row: 383, col: 16}, {ofs: 12470, row: 383, col: 106}]); tmp1212 = tmp1213;  _aether.logStatement([{ofs: 12380, row: 383, col: 16}, {ofs: 12470, row: 383, col: 106}], _aether._userInfo, false);\n                                    }\n                                    if (tmp1212) {\n                                        tmp1236 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                        tmp1237 = 'determineSayAndAction';\n                                        _aether.logStatementStart([{ofs: 12486, row: 384, col: 12}, {ofs: 12514, row: 384, col: 40}]); tmp1238 = _aether.createAPIClone(_aether, tmp1236[tmp1237]());  _aether.logStatement([{ofs: 12486, row: 384, col: 12}, {ofs: 12514, row: 384, col: 40}], _aether._userInfo, false);\n                                        tmp1239 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                        tmp1240 = 'terrifyTargets';\n                                        tmp1242 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                        tmp1243 = 'getTerrifyTargets';\n                                        _aether.logStatementStart([{ofs: 12528, row: 385, col: 12}, {ofs: 12575, row: 385, col: 59}]); tmp1241 = _aether.createAPIClone(_aether, tmp1242[tmp1243]());  _aether.logStatement([{ofs: 12528, row: 385, col: 12}, {ofs: 12575, row: 385, col: 59}], _aether._userInfo, false);\n                                        _aether.logStatementStart([{ofs: 12528, row: 385, col: 12}, {ofs: 12574, row: 385, col: 58}]); tmp1239[tmp1240] = tmp1241;  _aether.logStatement([{ofs: 12528, row: 385, col: 12}, {ofs: 12574, row: 385, col: 58}], _aether._userInfo, false);\n                                        tmp1244 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                        tmp1245 = 'terrify';\n                                        _aether.logStatementStart([{ofs: 12588, row: 386, col: 12}, {ofs: 12602, row: 386, col: 26}]); tmp1246 = _aether.createAPIClone(_aether, tmp1244[tmp1245]());  _aether.logStatement([{ofs: 12588, row: 386, col: 12}, {ofs: 12602, row: 386, col: 26}], _aether._userInfo, false);\n                                        _aether.logCallEnd(); return;\n                                    } else {\n                                        ;\n                                    }\n                                }\n                            }\n                        } else {\n                            tmp1247 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                            tmp1248 = 'findTerrifyUnit';\n                            _aether.logStatementStart([{ofs: 12659, row: 391, col: 8}, {ofs: 12694, row: 391, col: 43}]); tUnit = _aether.createAPIClone(_aether, tmp1247[tmp1248]());  _aether.logStatement([{ofs: 12659, row: 391, col: 8}, {ofs: 12694, row: 391, col: 43}], _aether._userInfo, false);\n                            tmp1249 = tUnit;\n                            if (tmp1249) {\n                                tmp1250 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp1251 = 'determineSayAndAction';\n                                _aether.logStatementStart([{ofs: 12727, row: 393, col: 12}, {ofs: 12755, row: 393, col: 40}]); tmp1252 = _aether.createAPIClone(_aether, tmp1250[tmp1251]());  _aether.logStatement([{ofs: 12727, row: 393, col: 12}, {ofs: 12755, row: 393, col: 40}], _aether._userInfo, false);\n                                tmp1253 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp1254 = 'terrifyTargets';\n                                tmp1256 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp1257 = 'getTerrifyTargets';\n                                _aether.logStatementStart([{ofs: 12769, row: 394, col: 12}, {ofs: 12816, row: 394, col: 59}]); tmp1255 = _aether.createAPIClone(_aether, tmp1256[tmp1257]());  _aether.logStatement([{ofs: 12769, row: 394, col: 12}, {ofs: 12816, row: 394, col: 59}], _aether._userInfo, false);\n                                _aether.logStatementStart([{ofs: 12769, row: 394, col: 12}, {ofs: 12815, row: 394, col: 58}]); tmp1253[tmp1254] = tmp1255;  _aether.logStatement([{ofs: 12769, row: 394, col: 12}, {ofs: 12815, row: 394, col: 58}], _aether._userInfo, false);\n                                tmp1258 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n                                tmp1259 = 'terrify';\n                                _aether.logStatementStart([{ofs: 12829, row: 395, col: 12}, {ofs: 12843, row: 395, col: 26}]); tmp1260 = _aether.createAPIClone(_aether, tmp1258[tmp1259]());  _aether.logStatement([{ofs: 12829, row: 395, col: 12}, {ofs: 12843, row: 395, col: 26}], _aether._userInfo, false);\n                                _aether.logCallEnd(); return;\n                            } else {\n                                ;\n                            }\n                        }\n                    }\n                }\n            }\n        } else {\n            ;\n        }\n        tmp1264 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp1265 = 'getCooldown';\n        _aether.logStatementStart([{ofs: 12925, row: 402, col: 20}, {ofs: 12933, row: 402, col: 28}]); tmp1266 = 'warcry';  _aether.logStatement([{ofs: 12925, row: 402, col: 20}, {ofs: 12933, row: 402, col: 28}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 12908, row: 402, col: 3}, {ofs: 12934, row: 402, col: 29}]); tmp1262 = _aether.createAPIClone(_aether, tmp1264[tmp1265](_aether.restoreAPIClone(_aether, tmp1266)));  _aether.logStatement([{ofs: 12908, row: 402, col: 3}, {ofs: 12934, row: 402, col: 29}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 12939, row: 402, col: 34}, {ofs: 12940, row: 402, col: 35}]); tmp1263 = 0;  _aether.logStatement([{ofs: 12939, row: 402, col: 34}, {ofs: 12940, row: 402, col: 35}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 12908, row: 402, col: 3}, {ofs: 12940, row: 402, col: 35}]); tmp1261 = tmp1262 === tmp1263;  _aether.logStatement([{ofs: 12908, row: 402, col: 3}, {ofs: 12940, row: 402, col: 35}], _aether._userInfo, false);\n        if (tmp1261) {\n            tmp1267 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp1268 = 'determineSayAndAction';\n            _aether.logStatementStart([{ofs: 12948, row: 403, col: 4}, {ofs: 12976, row: 403, col: 32}]); tmp1269 = _aether.createAPIClone(_aether, tmp1267[tmp1268]());  _aether.logStatement([{ofs: 12948, row: 403, col: 4}, {ofs: 12976, row: 403, col: 32}], _aether._userInfo, false);\n            tmp1270 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n            tmp1271 = 'warcry';\n            _aether.logStatementStart([{ofs: 12982, row: 404, col: 4}, {ofs: 12995, row: 404, col: 17}]); tmp1272 = _aether.createAPIClone(_aether, tmp1270[tmp1271]());  _aether.logStatement([{ofs: 12982, row: 404, col: 4}, {ofs: 12995, row: 404, col: 17}], _aether._userInfo, false);\n            _aether.logCallEnd(); return;\n        } else {\n            ;\n        }\n        tmp1273 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp1274 = 'determineSayAndAction';\n        _aether.logStatementStart([{ofs: 13012, row: 408, col: 0}, {ofs: 13040, row: 408, col: 28}]); tmp1275 = _aether.createAPIClone(_aether, tmp1273[tmp1274]());  _aether.logStatement([{ofs: 13012, row: 408, col: 0}, {ofs: 13040, row: 408, col: 28}], _aether._userInfo, false);\n        _aether.logCallEnd(); return;\n    };\n    tmp0 = 'chooseAction';\n    __global[tmp0] = tmp1;\n}(this));"
         },
         "programmable-librarian": {
-          "chooseAction": "..."
+          "chooseAction": "var __interceptThis=(function(){var G=this;return function($this,sandbox){if($this==G){return sandbox;}return $this;};})();\nreturn (function (__global) {\n    var tmp0, tmp1;\n    tmp1 = function () {\n        'use strict'; _aether.logCallStart(_aether._userInfo); var friends, enemies, enemy, friend, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8, tmp9, tmp10, tmp11, tmp12, tmp13, tmp14, tmp15, tmp16;  for(var __argIndexer = 0; __argIndexer < arguments.length; ++__argIndexer) arguments[__argIndexer] = _aether.createAPIClone(_aether, arguments[__argIndexer]);\n        _aether.logCallEnd(); return;\n        _aether.logCallEnd(); return;\n        tmp2 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp3 = 'getFriends';\n        _aether.logStatementStart([{ofs: 380, row: 8, col: 0}, {ofs: 412, row: 8, col: 32}]); friends = _aether.createAPIClone(_aether, tmp2[tmp3]());  _aether.logStatement([{ofs: 380, row: 8, col: 0}, {ofs: 412, row: 8, col: 32}], _aether._userInfo, false);\n        tmp4 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp5 = 'getEnemies';\n        _aether.logStatementStart([{ofs: 413, row: 9, col: 0}, {ofs: 445, row: 9, col: 32}]); enemies = _aether.createAPIClone(_aether, tmp4[tmp5]());  _aether.logStatement([{ofs: 413, row: 9, col: 0}, {ofs: 445, row: 9, col: 32}], _aether._userInfo, false);\n        tmp9 = enemies;\n        tmp10 = 'length';\n        _aether.logStatementStart([{ofs: 450, row: 10, col: 4}, {ofs: 464, row: 10, col: 18}]); tmp7 = tmp9[tmp10];  _aether.logStatement([{ofs: 450, row: 10, col: 4}, {ofs: 464, row: 10, col: 18}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 469, row: 10, col: 23}, {ofs: 470, row: 10, col: 24}]); tmp8 = 0;  _aether.logStatement([{ofs: 469, row: 10, col: 23}, {ofs: 470, row: 10, col: 24}], _aether._userInfo, false);\n        _aether.logStatementStart([{ofs: 450, row: 10, col: 4}, {ofs: 470, row: 10, col: 24}]); tmp6 = tmp7 === tmp8;  _aether.logStatement([{ofs: 450, row: 10, col: 4}, {ofs: 470, row: 10, col: 24}], _aether._userInfo, false);\n        if (tmp6) {\n            _aether.logCallEnd(); return;\n        } else {\n            ;\n        }\n        tmp11 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp12 = 'getNearest';\n        tmp13 = enemies;\n        _aether.logStatementStart([{ofs: 515, row: 11, col: 0}, {ofs: 552, row: 11, col: 37}]); enemy = _aether.createAPIClone(_aether, tmp11[tmp12](_aether.restoreAPIClone(_aether, tmp13)));  _aether.logStatement([{ofs: 515, row: 11, col: 0}, {ofs: 552, row: 11, col: 37}], _aether._userInfo, false);\n        tmp14 = _aether.createAPIClone(_aether, __interceptThis(this, __global));\n        tmp15 = 'getNearest';\n        tmp16 = friends;\n        _aether.logStatementStart([{ofs: 553, row: 12, col: 0}, {ofs: 591, row: 12, col: 38}]); friend = _aether.createAPIClone(_aether, tmp14[tmp15](_aether.restoreAPIClone(_aether, tmp16)));  _aether.logStatement([{ofs: 553, row: 12, col: 0}, {ofs: 591, row: 12, col: 38}], _aether._userInfo, false);\n    };\n    tmp0 = 'chooseAction';\n    __global[tmp0] = tmp1;\n}(this));"
         },
         "ogre-base": {
           "chooseAction": "if(!this.builtHero) {\n    //var hero = 'ironjaw';  // An unstoppable, jumping melee hero.\n    var hero = 'yugargen';  // A shrinking, growing, poisonous spellcaster.\n    this.builtHero = this.build(hero);\n    return;\n}\n\nvar enemies = this.getEnemies();\nvar buildOrder = null;\nvar nearest = null;\nvar nearestX = 0;\nvar enemy;\nvar inCommand = this.built[0].health <= 0 || this.built[0].action == 'move';\nvar hasHero = false;\nvar archerCount = 0;\nfor(var i = 0; i < enemies.length; ++i) {\n    enemy = enemies[i];\n    if(enemy.type == 'librarian') {\n        buildOrder = ['thrower', 'munchkin'];\n        this.say(\"Destroy \" + enemy.id, {target: enemy});\n        hasHero = true;\n        break;\n    }\n    if(enemy.type == 'knight') {\n        buildOrder = ['thrower', 'thrower', 'thrower', 'thrower', 'munchkin', 'thrower', 'thrower'];\n        if(enemy.action != 'shield' && (enemy.pos.x > 40 || enemy.health < 130)) {\n            this.say(\"Slay \" + enemy.id, {target: enemy});\n            hasHero = true;\n        }\n    }\n    if(enemy.type == 'archer')\n        ++archerCount;\n    if(enemy.pos.x > nearestX && (enemy.type != 'knight' || enemy.action != 'shield')) {\n        nearest = enemy;\n        nearestX = enemy.pos.x;\n    }\n}\nif(nearest && enemy != nearest && inCommand && hasHero) {\n    this.say(\"I guess let's fight kill \" + nearest.id, {target: nearest});\n}\nif(!buildOrder)\n    buildOrder = ['munchkin', 'thrower', 'munchkin'];\nif(archerCount > 1)\n    buildOrder = ['munchkin', 'thrower'];\nvar type = buildOrder[this.built.length % buildOrder.length];\nthis.build(type);\n"
@@ -567,294 +731,28 @@ responses =
           "chooseAction": "var enemies = this.getEnemies();\nvar enemy = this.getNearest(enemies);\nif(!enemy) return;\n\n\n\nif(this.now() < 12.00) {\n    //if(this.now() > 5 && this.now() < 8)\n    //    this.say(\"Move to\", {targetPos: {x: 76, y: 48}});\n    //else if(this.now() < 5)\n        this.say(\"Defend!\", {targetPos: {x: 60, y: 33}});\n    //this.say(\"Defend!\");\n\n    if(this.distance({x:enemy.pos.x, y:enemy.pos.y}) < 6)\n        this.attack(enemy);\n    else\n        this.move({x: 65, y: 32});\n    return;\n}\n\n\n\nthis.say(\"Attack!\");\nif(!this.getCooldown('stomp')) {\n    this.say(\"BaaaDOOOSH!!!\");\n    this.stomp();\n    return;\n}\nif(!this.getCooldown('throw') && enemy.type != 'soldier' && this.pos.x < 48) {\n    this.throw(enemy);\n    return;\n}\nfor(var i = 0; i < enemies.length; ++i) {\n    enemy = enemies[i];\n    if(this.distance(enemy) > 30) continue;\n    if (enemy.type === 'librarian' || enemy.type === 'tharin' || enemy.type === 'archer') {\n        if(!this.getCooldown('jump')) {\n            var diff = Vector.subtract(enemy.pos, this.pos);\n            diff = Vector.multiply(Vector.normalize(diff), 30);\n            var to = Vector.add(this.pos, diff);\n            this.jumpTo(to);\n            this.say(\"Obliterate \" + enemy.id, {target: enemy});\n        }\n        else if(!this.getCooldown('stomp')) {\n            this.say(\"BaDOOSH\");\n            this.stomp();\n        }\n        else {\n            this.attack(enemy);\n        }\n        return;\n    }\n}\n\nenemy = this.getNearest(enemies);\nif (enemy && this.distance(enemy) < 20) {\n    this.attack(enemy);\n}\nelse {\n    this.move({x: 10, y: 30});\n}"
         }
       },
+      "teamSpells": {
+        "ogres": [
+          "programmable-brawler/chooseAction",
+          "programmable-shaman/chooseAction",
+          "ogre-base/chooseAction"
+        ],
+        "humans": [
+          "programmable-librarian/chooseAction",
+          "programmable-tharin/chooseAction",
+          "human-base/chooseAction"
+        ]
+      },
       "submittedCodeLanguage": "javascript",
       "playtime": 1786,
       "codeLanguage": "javascript"
     }
   ]
 
-employersResponse = [
-  {
-    "_id": "52af5b805c813fc5b9000006",
-    "levelID": "gridmancer",
-    "levelName": "Gridmancer",
-    "code": {
-      "captain-anya": {
-        "plan": "// Fill the empty space with the minimum number of rectangles.\nvar grid = this.getNavGrid().grid;\nvar tileSize = 4;\nvar rects = {};\n\nfunction coordString(x, y) { return x+','+y; }\nfunction fourRectsHere(x, y) { return rects[coordString(x-tileSize,y)] && rects[coordString(x,y-tileSize)] && rects[coordString(x-tileSize,y-tileSize)] && rects[coordString(x,y)]; }\n\nfor(var y = 0; y < grid.length; y += tileSize) {\n    for(var x = 0; x < grid[0].length; x += tileSize) {\n        var occupied = grid[y][x].length > 0;\n        if(!occupied) {\n            var xcord = x + tileSize / 2;\n            var ycord = y + tileSize / 2;\n            this.addRect(xcord, ycord, tileSize, tileSize);\n            rects[coordString(xcord,ycord)] = true;\n            var coord = coordString(xcord,ycord);\n            // this.say(coord);\n            if (fourRectsHere(xcord,ycord)) {\n                delete rects[coordString(xcord,ycord)];\n                delete rects[coordString(xcord-tileSize, ycord)];\n                delete rects[coordString(xcord-tileSize, ycord-tileSize)];\n                delete rects[coordString(xcord, ycord-tileSize)];\n                this.removeRect(xcord, ycord);\n                this.removeRect(xcord - tileSize, ycord);\n                this.removeRect(xcord, ycord - tileSize);\n                this.removeRect(xcord - tileSize, ycord - tileSize);\n                this.addRect(x, y, tileSize*2, tileSize*2);\n            }\n            this.wait(0.1);\n        }\n    }\n}\n"
-      },
-      "thoktar": {
-        "plan": "# Fill the empty space with the minimum number of rectangles.\n# (Rectangles should not overlap each other or walls.)\n# The grid size is 1 meter, but the smallest wall/floor tile is 4 meters.\n# Check the blue guide button at the top for more info.\n# Make sure to sign up on the home page to save your code.\n\ngrid = self.getNavGrid().grid\ntileSize = 4\nfor y in range(0,grid.length,tileSize):\n    for x in range(0,grid[0].length,tileSize):\n        occupied = grid[y][x].length > 0\n        if not occupied:\n            self.addRect(x + tileSize / 2, y + tileSize / 2, tileSize, tileSize)\n            self.wait()  # Hover over the timeline to help debug!\n\n\n"
-      }
-    },
-    "submittedCodeLanguage": "javascript",
-    "playtime": 138,
-    "codeLanguage": "python"
-  },
-  {
-    "_id": "53026594cd9f9595b818d651",
-    "team": "me",
-    "levelID": "brawlwood",
-    "levelName": "Brawlwood",
-    "submitted": false,
-    "code": {
-      "programmable-artillery": {
-        "chooseAction": "// This code is shared across all your Artillery.\n// Artillery are expensive, slow, and deadly, with high\n// area-of-effect damage that hurts foes and friends alike.\n\nvar targetEnemy, enemy;\nvar enemies = this.getEnemies();\nfor(var i = 0; i < enemies.length; ++i) {\n    enemy = enemies[i];\n    if(enemy.type === 'munchkin') {\n        targetEnemy = enemy;\n        break;\n    }\n}\n\nif(!targetEnemy)\n    targetEnemy = this.getNearestEnemy();\nif(targetEnemy)\n    this.attackXY(targetEnemy.pos.x, targetEnemy.pos.y);\nelse\n    this.move({x: 70, y: 70});",
-        "hear": "// When the artillery hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here."
-      },
-      "programmable-soldier": {
-        "chooseAction": "// This code is shared across all your Soldiers.\n// Soldiers are low damage, high health melee units.\n\nvar enemy = this.getNearestEnemy();\nif(enemy && enemy.type != 'burl')\n    this.attack(enemy);\nelse {\n    this.move({x: 70, y: 70});\n}",
-        "hear": "// When the soldier hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here."
-      },
-      "s-arrow-tower": {
-        "chooseAction": "// This code is shared by both your Arrow Towers.\n// Don't let your towers die lest the ogres claim 250 gold!\n\nvar enemy = this.getNearestEnemy();\nif(enemy && this.distance(enemy) < this.attackRange) {\n    this.say(\"Die, \" + enemy.id + \".\");\n    this.attack(enemy);\n}"
-      },
-      "programmable-archer": {
-        "chooseAction": "// This code is shared across all your Archers.\n// Archers are vulnerable but deadly ranged units.\n\nvar enemy = this.getNearestEnemy();\nif(enemy) {\n    this.attack(enemy);\n}\nelse\n    this.move({x: 70, y: 70});",
-        "hear": "// When the archer hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here."
-      },
-      "human-base": {
-        "chooseAction": "// This is the code for your base. Decide which unit to build each frame.\n// Units you build will go into the this.built array.\n// If you don't have enough gold, this.build() won't build anything.\n// You start with 100 gold and receive 2 gold per second.\n// Kill enemies, especially towers and brawlers, to earn more gold.\n// Destroy the enemy base within 90 seconds!\n\nvar type = 'soldier';\nif(this.built.length === 4)\n    type = 'artillery';\nelse if(this.built.length % 3 === 1)\n    type = 'archer';\n\n// if(this.gold >= this.buildables[type].goldCost) {\n    //this.say('Unit #' + this.built.length + ' will be a ' + type);\n    this.build(type);\n// }",
-        "hear": "// When the base hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here."
-      }
-    },
-    "submittedCodeLanguage": "javascript",
-    "playtime": 0,
-    "codeLanguage": "javascript"
-  },
-  {
-    "_id": "5317530cc269d400000543c7",
-    "submitted": false,
-    "code": {
-      "muul": {
-        "chooseAction": "..."
-      },
-      "nazgareth": {
-        "chooseAction": "// Shamans are spellcasters with a weak magic attack\n// plus two useful spells: 'regen' and 'shrink'.\n\nvar enemy = this.getNearestEnemy();\nif (!enemy)\n    this.move({x: 10, y: 25});\nelse if (!enemy.hasEffect('shrink')) {\n    this.castShrink(enemy);\n    if(this.distance(enemy) <= 30)\n        this.say(\"Shrink, vile \" + enemy.type + \" \" + enemy.id);\n}\nelse {\n    this.attack(enemy);\n}"
-      },
-      "ironjaw": {
-        "chooseAction": "var enemies = this.getEnemies();\nvar enemy = this.getNearest(enemies);\nif (enemy) {\n    if(!this.getCooldown('jump')) {\n        this.jumpTo(enemy.pos);\n        this.say(\"Hi \" + enemy.type + \" \" + enemy.id);\n    }\n    else {\n        this.attack(enemy);\n    }\n}\nelse {\n    this.move({x: 10, y: 30});\n}"
-      },
-      "programmable-shaman": {
-        "hear": "// When the shaman hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here.",
-        "chooseAction": "// This code is shared across all your Shamans.\n// Shamans are expensive spellcasters with a weak magic attack\n// plus two crippling spells: 'slow' and 'shrink'.\n\nvar enemy = this.getNearestEnemy();\nif (!enemy)\n    this.move({x: 10, y: 10});\nelse if (!enemy.hasEffect('shrink')) {\n    this.castShrink(enemy);\n    if(this.distance(enemy) <= 30)\n        this.say(\"Shrink, vile \" + enemy.type + \" \" + enemy.id);\n}\nelse {\n    this.attack(enemy);\n}"
-      },
-      "programmable-thrower": {
-        "hear": "// When the thrower hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here.",
-        "chooseAction": "// This code is shared across all your Throwers.\n// You can use this.buildIndex to have Throwers do different things.\n// Throwers are vulnerable but deadly ranged units.\n\nvar enemy = this.getNearestEnemy();\nif (enemy) {\n    this.attack(enemy);\n}\nelse {\n    this.move({x: 10, y: 10});\n}"
-      },
-      "programmable-munchkin": {
-        "hear": "// When the munchkin hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here.",
-        "chooseAction": "// This code is shared across all your Munchkins.\n// You can use this.buildIndex to have Munchkins do different things.\n// Munchkins are weak but cheap, fast melee units.\n\nvar enemy = this.getNearestEnemy();\nif (enemy && enemy.type !== 'burl') {\n    this.attack(enemy);\n}\nelse {\n    this.move({x: 10, y: 10});\n}"
-      },
-      "ogre-base": {
-        "hear": "// When the base hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here.",
-        "chooseAction": "// This is the code for your base. Decide which unit to build each frame.\n// Units you build will go into the this.built array.\n// Destroy the enemy base within 90 seconds!\n// Check out the Guide at the top for more info.\n\nif(!this.builtHero) {\n    // Choose your hero!\n    // var heroType = 'brawler';\n    var heroType = 'shaman';\n    this.builtHero = this.build(heroType);\n    return;\n}\n\nvar buildOrder = ['munchkin', 'munchkin', 'thrower'];\nvar type = buildOrder[this.built.length % buildOrder.length];\n//this.say('Unit #' + this.built.length + ' will be a ' + type);\nthis.build(type);"
-      },
-      "poult": {
-        "chooseAction": "// Shamans are spellcasters with a weak magic attack\n// plus two useful spells: 'regen' and 'shrink'.\n\nvar enemy = this.getNearestEnemy();\nif (!enemy)\n    this.move({x: 10, y: 25});\nelse if (!enemy.hasEffect('shrink')) {\n    this.castShrink(enemy);\n    if(this.distance(enemy) <= 30)\n        this.say(\"Shrink, vile \" + enemy.type + \" \" + enemy.id);\n}\nelse {\n    this.attack(enemy);\n}"
-      },
-      "aoliantak": {
-        "chooseAction": "..."
-      },
-      "programmable-brawler": {
-        "chooseAction": "var enemies = this.getEnemies();\nvar enemy = this.getNearest(enemies);\nif (enemy) {\n    if(!this.getCooldown('jump')) {\n        this.jumpTo(enemy.pos);\n        this.say(\"Hi \" + enemy.type + \" \" + enemy.id);\n    }\n    else {\n        this.attack(enemy);\n    }\n}\nelse {\n    this.move({x: 10, y: 30});\n}"
-      }
-    },
-    "levelID": "dungeon-arena",
-    "levelName": "Dungeon Arena",
-    "submittedCodeLanguage": "javascript",
-    "playtime": 0,
-    "codeLanguage": "javascript"
-  },
-  {
-    "_id": "5358429413f1278605f03ab8",
-    "team": "ogres",
-    "levelID": "greed",
-    "levelName": "Greed",
-    "code": {
-      "ogre-base": {
-        "chooseAction": "// This code runs once per frame. Build units and command peons!\n// Destroy the human base within 180 seconds.\n// Run over 4000 statements per call and chooseAction will run less often.\n// Check out the green Guide button at the top for more info.\n\nvar base = this;\n\n/////// 1. Command peons to grab coins and gems. ///////\n// You can only command peons, not fighting units.\n// You win by gathering gold more efficiently to make a larger army.\n// Click on a unit to see its API.\nvar items = base.getItems();\nvar peons = base.getByType('peon');\nfor (var peonIndex = 0; peonIndex < peons.length; peonIndex++) {\n    var peon = peons[peonIndex];\n    var item = peon.getNearest(items);\n    if (item)\n        base.command(peon, 'move', item.pos);\n}\n\n\n/////// 2. Decide which unit to build this frame. ///////\n// Peons can gather gold; other units auto-attack the enemy base.\n// You can only build one unit per frame, if you have enough gold.\nvar type;\nif (base.built.length === 0)\n    type = 'peon';\nelse\n    type = 'ogre';\nif (base.gold >= base.buildables[type].goldCost)\n    base.build(type);\n\n\n// 'peon': Peons gather gold and do not fight.\n// 'munchkin': Light melee unit.\n// 'ogre': Heavy melee unit.\n// 'shaman': Support spellcaster.\n// 'fangrider': High damage ranged attacker.\n// 'brawler': Mythically expensive super melee unit.\n// See the buildables documentation below for costs and the guide for more info."
-      },
-      "well": {
-        "chooseAction": "if(!this.inventorySystem) this.inventorySystem = this.world.getSystem('Inventory');\n// Cap at 120 coins for rendering performance reasons.\n// As many as ~420 by stalemate with default code, but one greedy collector -> ~70 tops.\nif(this.inventorySystem.collectables.length < 120) {\n    var x = Math.random();\n    var type = 'silver';\n    if (x < 0.05) type = 'gem';\n    else if (x < 0.15) type = 'gold';\n    else if (x < 0.35) type = 'copper';\n    this.build(type);\n}\n\nif(!this.causeFall) this.causeFall = function causeFall(target) {\n    target.addEffect({name: 'fall', duration: 1.5, reverts: false, factor: 0.1, targetProperty: 'scaleFactor'}, this);\n    target.maxAcceleration = 0;\n    target.addCurrentEvent('fall');\n    target.fellAt = this.now();\n};\n\nfor (var i = 0; i < this.inventorySystem.collectors.length; ++i) {\n    var thang = this.inventorySystem.collectors[i];\n    if ((thang.type == 'peasant' || thang.type == 'peon') &&\n        (thang.pos.x < -3 || thang.pos.x > 88 || thang.pos.y < -5 || thang.pos.y > 80)) {\n        if (thang.maxAcceleration)\n            this.causeFall(thang);\n        else if (thang.fellAt && thang.fellAt + 1.25 < this.now()) {\n            thang.setExists(false);\n            thang.fellAt = null;\n        }\n    }\n}"
-      }
-    },
-    "totalScore": 16.724090931727677,
-    "submitted": true,
-    "submittedCodeLanguage": "javascript",
-    "playtime": 3837,
-    "codeLanguage": "javascript"
-  },
-  {
-    "_id": "53177f6da508f6e7b3463fef",
-    "team": "humans",
-    "levelID": "dungeon-arena",
-    "levelName": "Dungeon Arena",
-    "submitted": true,
-    "totalScore": 11.782554190268042,
-    "code": {
-      "hushbaum-1": {
-        "chooseAction": "..."
-      },
-      "librarian": {
-        "chooseAction": "..."
-      },
-      "tharin-1": {
-        "chooseAction": "var friends = this.getFriends();\nvar nearest = this.getNearest(friends);\nif(this.distance(nearest) > 5) {\n    this.move(nearest.pos);\n}\nelse {\n    this.warcry();\n}"
-      },
-      "hushbaum": {
-        "chooseAction": "var enemy = this.getNearestEnemy();\nif (enemy) {\n    if (!enemy.hasEffect('slow')) {\n        this.say(\"Not so fast, \" + enemy.type + \" \" + enemy.id);\n        this.castSlow(enemy);\n    }\n    else {\n        this.attack(enemy);\n    }\n}\nelse {\n    this.move({x: 70, y: 30});\n}\n"
-      },
-      "anya": {
-        "chooseAction": "var enemy = this.getNearestEnemy();\nif (enemy)\n    this.attack(enemy);"
-      },
-      "tharin": {
-        "chooseAction": "var enemies = this.getEnemies();\nvar enemy = this.getNearest(enemies);\nif (!this.getCooldown('warcry')) {\n    this.warcry();\n}\nelse if (enemy) {\n    this.attack(enemy);\n}\nelse {\n    this.move({x: 10, y: 30});\n}\n"
-      },
-      "programmable-librarian": {
-        "chooseAction": "// The Librarian is a spellcaster with a fireball attack\n// plus three useful spells: 'slow', 'regen', and 'haste'.\n// Slow makes a target move and attack at half speed for 5s.\n// Regen makes a target heal 10 hp/s for 10s.\n// Haste speeds up a target by 4x for 5s, once per match.\n\nvar friends = this.getFriends();\nvar enemies = this.getEnemies();\nif (enemies.length === 0) return;  // Chill if all enemies are dead.\nvar enemy = this.getNearest(enemies);\nvar friend = this.getNearest(friends);\n\n// Which one do you do at any given time? Only the last called action happens.\n//if(this.canCast('slow', enemy)) this.castSlow(enemy);\n//if(this.canCast('regen', friend)) this.castRegen(friend);\n//if(this.canCast('haste', friend)) this.castHaste(friend);\n//this.attack(enemy);\n\n// You can also command your troops with this.say():\n//this.say(\"Defend!\", {targetPos: {x: 30, y: 30}}));\n//this.say(\"Attack!\", {target: enemy});\n//this.say(\"Move!\", {targetPos: {x: 50, y: 40});"
-      },
-      "programmable-tharin": {
-        "chooseAction": "// Tharin is a melee fighter with shield, warcry, and terrify skills.\n// this.shield() lets him take one-third damage while defending.\n// this.warcry() gives allies within 10m 30% haste for 5s, every 10s.\n// this.terrify() sends foes within 30m fleeing for 5s, once per match.\n\nvar friends = this.getFriends();\nvar enemies = this.getEnemies();\nif (enemies.length === 0) return;  // Chill if all enemies are dead.\nvar enemy = this.getNearest(enemies);\nvar friend = this.getNearest(friends);\n\n// Which one do you do at any given time? Only the last called action happens.\n//if(!this.getCooldown('warcry')) this.warcry();\n//if(!this.getCooldown('terrify')) this.terrify();\n//this.shield();\n//this.attack(enemy);\n\n// You can also command your troops with this.say():\n//this.say(\"Defend!\", {targetPos: {x: 30, y: 30}}));\n//this.say(\"Attack!\", {target: enemy});\n//this.say(\"Move!\", {targetPos: {x: 40, y: 40});\n\n// You can store state on this across frames:\n//this.lastHealth = this.health;"
-      },
-      "human-base": {
-        "chooseAction": "// This is the code for your base. Decide which unit to build each frame.\n// Units you build will go into the this.built array.\n// Destroy the enemy base within 60 seconds!\n// Check out the Guide at the top for more info.\n\n// CHOOSE YOUR HERO! You can only build one hero.\nvar hero;\n//hero = 'tharin';  // A fierce knight with battlecry abilities.\n//hero = 'hushbaum';  // A fiery spellcaster hero.\n\nif(hero && !this.builtHero) {\n    this.builtHero = this.build(hero);\n    return;\n}\n\n// Soldiers are hard-to-kill, low damage melee units with 2s build cooldown.\n// Archers are fragile but deadly ranged units with 2.5s build cooldown.\nvar buildOrder = ['soldier', 'archer', 'soldier', 'soldier', 'archer'];\nvar type = buildOrder[this.built.length % buildOrder.length];\n//this.say('Unit #' + this.built.length + ' will be a ' + type);\nthis.build(type);"
-      }
-    },
-    "submittedCodeLanguage": "javascript",
-    "playtime": 1,
-    "codeLanguage": "javascript"
-  },
-  {
-    "_id": "5318b6aa7aeef7843bba3357",
-    "team": "ogres",
-    "levelID": "dungeon-arena",
-    "levelName": "Dungeon Arena",
-    "submitted": true,
-    "totalScore": 34.28623946920249,
-    "code": {
-      "human-base": {
-        "chooseAction": "// This is the code for your base. Decide which unit to build each frame.\n// Units you build will go into the this.built array.\n// Destroy the enemy base within 60 seconds!\n// Check out the Guide at the top for more info.\n\n// CHOOSE YOUR HERO! You can only build one hero.\nvar hero;\nhero = 'tharin';  // A fierce knight with battlecry abilities.\n//hero = 'hushbaum';  // A fiery spellcaster hero.\n\nif(hero && !this.builtHero) {\n    this.builtHero = this.build(hero);\n    return;\n}\n\n// Soldiers are hard-to-kill, low damage melee units with 2s build cooldown.\n// Archers are fragile but deadly ranged units with 2.5s build cooldown.\nvar type;\nif (this.built.length > 50) {\n    type = this.built.length & 1 ? 'archer' : 'soldier';\n} else {\n    type = 'soldier';\n}\n//this.say('Unit #' + this.built.length + ' will be a ' + type);\nthis.build(type);"
-      },
-      "programmable-tharin": {
-        "chooseAction": "var enemies = this.getEnemies();\nvar target = enemies[0];\n\nif (this.now() < 0.2) {\n    this.attack(target);\n    this.say(\"attack\", {target: target});\n    return;\n}\n\nthis.say(\"attack\", {target: target});\nthis.attack(target);\nif (this.pos.x > 40 && !this.getCooldown('terrify')) {\n    this.terrify();\n    return;\n} else if (!this.getCooldown('warcry')) {\n    this.warcry();\n}\nthis.say(\"attack\", {target: target});"
-      },
-      "programmable-librarian": {
-        "chooseAction": "// The Librarian is a spellcaster with a fireball attack\n// plus three useful spells: 'slow', 'regen', and 'haste'.\n// Slow makes a target move and attack at half speed for 5s.\n// Regen makes a target heal 10 hp/s for 10s.\n// Haste speeds up a target by 4x for 5s, once per match.\n\nvar friends = this.getFriends();\nvar enemies = this.getEnemies();\nif (enemies.length === 0) return;  // Chill if all enemies are dead.\nvar enemy = this.getNearest(enemies);\nvar friend = this.getNearest(friends);\n\n// Which one do you do at any given time? Only the last called action happens.\n//if(this.canCast('slow', enemy)) this.castSlow(enemy);\n//if(this.canCast('regen', friend)) this.castRegen(friend);\n//if(this.canCast('haste', friend)) this.castHaste(friend);\n//this.attack(enemy);\n\n// You can also command your troops with this.say():\n//this.say(\"Defend!\", {targetPos: {x: 30, y: 30}}));\n//this.say(\"Attack!\", {target: enemy});\n//this.say(\"Move!\", {targetPos: {x: 50, y: 40});"
-      },
-      "programmable-shaman": {
-        "chooseAction": "// Shamans are spellcasters with a weak magic attack\n// and three spells: 'shrink', 'grow', and 'poison-cloud'.\n// Shrink: target has 2/3 health, 1.5x speed for 5s.\n// Grow: target has double health, half speed for 5s.\n// Once per match, she can cast poison cloud, which does\n// 5 poison dps for 10s to enemies in a 10m radius.\n\nvar friends = this.getFriends();\nvar enemies = this.getEnemies();\nif (enemies.length === 0) return;  // Chill if all enemies are dead.\nvar enemy = this.getNearest(enemies);\nvar friend = this.getNearest(friends);\n\n// Which one do you do at any given time? Only the last called action happens.\nif(this.canCast('shrink', enemy)) this.castShrink(enemy);\n// if(this.canCast('grow', friend)) this.castGrow(friend);\n//if(this.canCast('poison-cloud', enemy)) this.castPoisonCloud(enemy);\n// this.attack(enemy);\n\n// You can also command your troops with this.say():\n//this.say(\"Defend!\", {targetPos: {x: 60, y: 30}}));\n//this.say(\"Attack!\", {target: enemy});\n//this.say(\"Move!\", {targetPos: {x: 50, y: 40}); "
-      },
-      "programmable-brawler": {
-        "chooseAction": "// The Brawler is a huge melee hero with mighty mass.\n// this.throw() hurls an enemy behind him.\n// this.jumpTo() leaps to a target within 20m every 10s.\n// this.stomp() knocks everyone away, once per match.\n\nvar friends = this.getFriends();\nvar enemies = this.getEnemies();\nif (enemies.length === 0) return;  // Chill if all enemies are dead.\nvar enemy = this.getNearest(enemies);\nvar friend = this.getNearest(friends);\n\n// Which one do you do at any given time? Only the last called action happens.\nif(!this.getCooldown('jump')) this.jumpTo(enemy.pos);\n// if(!this.getCooldown('stomp')) return this.stomp();\n// if(!this.getCooldown('throw')) this.throw(enemy);\n// this.attack(enemy);\n\n// You can also command your troops with this.say():\n//this.say(\"Defend!\", {targetPos: {x: 60, y: 30}}));\n//this.say(\"Attack!\", {target: enemy});\n//this.say(\"Move!\", {targetPos: {x: 50, y: 40});\n\n// You can store state on this across frames:\n//this.lastHealth = this.health;"
-      },
-      "ironjaw": {
-        "chooseAction": "// var enemies = this.getEnemies();\n// var enemy = this.getNearest(enemies);\n// if (enemy) {\n//     if(!this.getCooldown('jump')) {\n//         this.jumpTo(enemy.pos);\n//         this.say(\"Hi \" + enemy.type + \" \" + enemy.id);\n//     }\n//     else {\n//         this.attack(enemy);\n//     }\n// }\n// else {\n//     this.move({x: 10, y: 30});\n// }"
-      },
-      "nazgareth": {
-        "chooseAction": "// // Shamans are spellcasters with a weak magic attack\n// // plus two useful spells: 'regen' and 'shrink'.\n\n// var enemy = this.getNearestEnemy();\n// if (!enemy)\n//     this.move({x: 10, y: 25});\n// else if (!enemy.hasEffect('shrink')) {\n//     this.castShrink(enemy);\n//     if(this.distance(enemy) <= 30)\n//         this.say(\"Shrink, vile \" + enemy.type + \" \" + enemy.id);\n// }\n// else {\n//     this.attack(enemy);\n// }"
-      },
-      "ogre-base": {
-        "chooseAction": "// This is the code for your base. Decide which unit to build each frame.\n// Units you build will go into the this.built array.\n// Destroy the enemy base within 60 seconds!\n// Check out the Guide at the top for more info.\n\n// Choose your hero! You can only build one hero.\nvar hero;\n// hero = 'ironjaw';  // A leaping juggernaut hero, type 'brawler'.\nhero = 'yugargen';  // A devious spellcaster hero, type 'shaman'.\nif(hero && !this.builtHero) {\n    this.builtHero = this.build(hero);\n    return;\n}\n\n// Munchkins are weak melee units with 1.25s build cooldown.\n// Throwers are fragile, deadly ranged units with 2.5s build cooldown.\nvar buildOrder = ['munchkin', 'munchkin', 'munchkin', 'thrower'];\nvar type = buildOrder[this.built.length % buildOrder.length];\n//this.say('Unit #' + this.built.length + ' will be a ' + type);\nthis.build(type);"
-      },
-      "muul": {
-        "chooseAction": "..."
-      }
-    },
-    "submittedCodeLanguage": "javascript",
-    "playtime": 0,
-    "codeLanguage": "javascript"
-  },
-  {
-    "_id": "52fd11c8e5c2b9000060bd48",
-    "team": "ogres",
-    "levelID": "brawlwood",
-    "levelName": "Brawlwood",
-    "submitted": true,
-    "totalScore": -10.697956636178176,
-    "code": {
-      "ogre-base": {
-        "hear": "// When the base hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here.",
-        "chooseAction": "// This is the code for your base. Decide which unit to build each frame.\n// Units you build will go into the this.built array.\n// If you don't have enough gold, this.build() won't build anything.\n// You start with 100 gold and receive 2 gold per second.\n// Kill enemies, especially towers and brawlers, to earn more gold.\n// Destroy the enemy base within 90 seconds!\n// Check out the Guide just up and to the left for more info.\n\n// var type = 'munchkin';\n// if(this.built.length % 5 === 3)\n    type = 'shaman';\n// else if(this.built.length % 3 === 1)\n//     type = 'thrower';\n\n//this.say('Unit #' + this.built.length + ' will be a ' + type);\nthis.build(type);\n"
-      },
-      "programmable-munchkin": {
-        "hear": "// When the munchkin hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here.",
-        "chooseAction": "// This code is shared across all your Munchkins.\n// You can use this.buildIndex to have Munchkins do different things.\n// Munchkins are weak but cheap, fast melee units.\n\nvar enemy = this.getNearestEnemy();\nif (enemy && enemy.type !== 'burl') {\n    this.attack(enemy);\n}\nelse {\n    this.move({x: 10, y: 10});\n}"
-      },
-      "programmable-thrower": {
-        "hear": "// When the thrower hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here.",
-        "chooseAction": "// This code is shared across all your Throwers.\n// You can use this.buildIndex to have Throwers do different things.\n// Throwers are vulnerable but deadly ranged units.\n\nvar enemy = this.getNearestEnemy();\nif (enemy) {\n    this.attack(enemy);\n}\nelse {\n    this.move({x: 10, y: 10});\n}"
-      },
-      "n-beam-tower": {
-        "chooseAction": "// This code is shared by both your Beam Towers.\n// Don't let your towers die lest the humans claim 250 gold!\n// You probably don't need to change this basic strategy.\n\nvar enemy = this.getNearestEnemy();\nif (enemy && this.distance(enemy) < this.attackRange) {\n    this.say(\"Die, \" + enemy.id + \"!\");\n    this.attack(enemy);\n}"
-      },
-      "programmable-shaman": {
-        "hear": "// When the shaman hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here.",
-        "chooseAction": "// This code is shared across all your Shamans.\n// Shamans are expensive spellcasters with a weak magic attack\n// plus two crippling spells: 'slow' and 'shrink'.\n\nvar enemy = this.getNearestEnemy();\nif (!enemy)\n    this.move({x: 10, y: 10});\nelse if (!enemy.hasEffect('shrink')) {\n    this.castShrink(enemy);\n    if(this.distance(enemy) <= 30)\n        this.say(\"Shrink, vile \" + enemy.type + \" \" + enemy.id);\n}\nelse {\n    this.attack(enemy);\n}"
-      }
-    },
-    "submittedCodeLanguage": "javascript",
-    "playtime": 0,
-    "codeLanguage": "javascript"
-  },
-  {
-    "_id": "53570b7a1bfa9bba14b5e045",
-    "team": "humans",
-    "levelID": "greed",
-    "levelName": "Greed",
-    "code": {
-      "well": {
-        "chooseAction": "if(!this.inventorySystem) this.inventorySystem = this.world.getSystem('Inventory');\n// Cap at 120 coins for rendering performance reasons.\n// As many as ~420 by stalemate with default code, but one greedy collector -> ~70 tops.\nif(this.inventorySystem.collectables.length < 120) {\n    var x = Math.random();\n    var type = 'silver';\n    if (x < 0.05) type = 'gem';\n    else if (x < 0.15) type = 'gold';\n    else if (x < 0.35) type = 'copper';\n    this.build(type);\n}\n\nif(!this.causeFall) this.causeFall = function causeFall(target) {\n    target.addEffect({name: 'fall', duration: 1.5, reverts: false, factor: 0.1, targetProperty: 'scaleFactor'}, this);\n    target.maxAcceleration = 0;\n    target.addCurrentEvent('fall');\n    target.fellAt = this.now();\n};\n\nfor (var i = 0; i < this.inventorySystem.collectors.length; ++i) {\n    var thang = this.inventorySystem.collectors[i];\n    if ((thang.type == 'peasant' || thang.type == 'peon') &&\n        (thang.pos.x < -3 || thang.pos.x > 88 || thang.pos.y < -5 || thang.pos.y > 80)) {\n        if (thang.maxAcceleration)\n            this.causeFall(thang);\n        else if (thang.fellAt && thang.fellAt + 1.25 < this.now()) {\n            thang.setExists(false);\n            thang.fellAt = null;\n        }\n    }\n}"
-      },
-      "human-base": {
-        "chooseAction": "// This code runs once per frame. Build units and command peons!\n// Destroy the human base within 180 seconds.\n// Run over 4000 statements per call and chooseAction will run less often.\n// Check out the green Guide button at the top for more info.\n\nvar base = this;\n\n/////// 1. Command peons to grab coins and gems. ///////\n// You can only command peons, not fighting units.\n// You win by gathering gold more efficiently to make a larger army.\n// Click on a unit to see its API.\nvar items = base.getItems();\nvar peons = base.getByType('peasant');\nfor (var peonIndex = 0; peonIndex < peons.length; peonIndex++) {\n    var peon = peons[peonIndex];\n    var item = peon.getNearest(items);\n    if (item)\n        base.command(peon, 'move', item.pos);\n}\n\n\n/////// 2. Decide which unit to build this frame. ///////\n// Peons can gather gold; other units auto-attack the enemy base.\n// You can only build one unit per frame, if you have enough gold.\nvar type;\nif (base.built.length === 0)\n    type = 'peasant';\nelse\n    type = 'soldier';\nif (base.gold >= base.buildables[type].goldCost)\n    base.build(type);\n\n\n// 'peon': Peons gather gold and do not fight.\n// 'munchkin': Light melee unit.\n// 'ogre': Heavy melee unit.\n// 'shaman': Support spellcaster.\n// 'fangrider': High damage ranged attacker.\n// 'brawler': Mythically expensive super melee unit.\n// See the buildables documentation below for costs and the guide for more info."
-      }
-    },
-    "submitted": true,
-    "totalScore": 29.46867296924995,
-    "submittedCodeLanguage": "javascript",
-    "playtime": 6295,
-    "codeLanguage": "javascript"
-  },
-  {
-    "_id": "52fd11adae7dc8000099b788",
-    "team": "humans",
-    "levelID": "brawlwood",
-    "levelName": "Brawlwood",
-    "submitted": true,
-    "totalScore": 14.50139221733582,
-    "code": {
-      "programmable-artillery": {
-        "chooseAction": "// This code is shared across all your Artillery.\n// Artillery are expensive, slow, and deadly, with high\n// area-of-effect damage that hurts foes and friends alike.\n\nvar targetEnemy, enemy;\nvar enemies = this.getEnemies();\nfor(var i = 0; i < enemies.length; ++i) {\n    enemy = enemies[i];\n    if(enemy.type === 'munchkin') {\n        targetEnemy = enemy;\n        break;\n    }\n}\n\nif(!targetEnemy)\n    targetEnemy = this.getNearestEnemy();\nif(targetEnemy)\n    this.attackXY(targetEnemy.pos.x, targetEnemy.pos.y);\nelse\n    this.move({x: 70, y: 70});",
-        "hear": "// When the artillery hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here."
-      },
-      "programmable-soldier": {
-        "chooseAction": "// This code is shared across all your Soldiers.\n// Soldiers are basic, fast melee units.\n\nvar enemy = this.getNearestEnemy();\nif(enemy && enemy.type != 'burl')\n    this.attack(enemy);\nelse {\n    var targetPos = {x: 70, y: 70};\n    if(this.now() < 10)\n        targetPos = {x: 40, y: 40};\n    this.move(targetPos);\n}",
-        "hear": "// When the soldier hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here."
-      },
-      "programmable-archer": {
-        "chooseAction": "// This code is shared across all your Archers.\n// Archers are vulnerable but deadly ranged units.\n\nif(this.lastEnemy && !this.lastEnemy.dead) {\n    this.attack(this.lastEnemy);\n    return;\n}\n\nvar enemy = this.getNearestEnemy();\nif(enemy) {\n    this.attack(enemy);\n    if(this.distance(enemy) < this.attackRange) {\n        this.lastEnemy = enemy;\n    }\n}\nelse\n    this.move({x: 70, y: 70});",
-        "hear": "// When the archer hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here."
-      },
-      "human-base": {
-        "chooseAction": "// This is the code for your base. Decide which unit to build each frame.\n// Units you build will go into the this.built array.\n// If you don't have enough gold, this.build() won't build anything.\n// You start with 100 gold and receive 2 gold per second.\n// Kill enemies, especially towers and brawlers, to earn more gold.\n// Destroy the enemy base within 90 seconds!\n\nvar type = 'soldier';\nif(this.built.length === 4)\n    type = 'artillery';\nelse if(this.built.length % 3 === 1)\n    type = 'archer';\n\n\nif(this.gold >= this.buildables[type].goldCost) {\n    //this.say('Unit #' + this.built.length + ' will be a ' + type);\n    this.build(type);\n}",
-        "hear": "// When the base hears a say() message, this hear() method will be called.\nif(speaker.team !== this.team) return;\n\n// You can add code to respond to the message here."
-      },
-      "s-arrow-tower": {
-        "chooseAction": "// This code is shared by both your Arrow Towers.\n// Don't let your towers die lest the ogres claim 250 gold!\n\nvar enemy = this.getNearestEnemy();\nif(enemy && this.distance(enemy) < this.attackRange) {\n    this.say(\"Die, \" + enemy.id + \".\");\n    this.attack(enemy);\n}"
-      }
-    },
-    "submittedCodeLanguage": "javascript",
-    "playtime": 0,
-    "codeLanguage": "javascript"
-  }
-]
-
 module.exports = ->
   me.isAdmin = -> false
   me.set('permissions', ['employer'])
   v = new ProfileView({}, 'joe')
-  jasmine.Ajax.requests.mostRecent()
   for url, responseBody of responses
     requests = jasmine.Ajax.requests.filter(url)
     if not requests.length
@@ -862,5 +760,5 @@ module.exports = ->
       continue
     request = requests[0]
     request.response({status: 200, responseText: JSON.stringify(responseBody)})
-#  v.$el = v.$el.find('.main-content-area')
+  #  v.$el = v.$el.find('.main-content-area')
   v