  // ConsoleWorm.js.Extensions.ToInt32
  function AQAABpFwgjy_bIHQi4RKemg(b)
  {
    var c;

    c = UwYABmSW1T2ATLja0J2eog(b);
    return c;
  };

  // ConsoleWorm.js.Extensions.Times
  function AgAABpFwgjy_bIHQi4RKemg(b, c)
  {
    var d, e;


    for (d = 0; (d < b); d++)
    {
      c.Invoke();
    }

  };

  // ConsoleWorm.js.Extensions.IsEqual
  function AwAABpFwgjy_bIHQi4RKemg(b, c)
  {
    var d, e;

    e = (b.X == c.X);

    if (!e)
    {
      d = 0;
      return d;
    }

    e = (b.Y == c.Y);

    if (!e)
    {
      d = 0;
      return d;
    }

    d = 1;
    return d;
  };

  // ConsoleWorm.js.Extensions.IsZero
  function BAAABpFwgjy_bIHQi4RKemg(b)
  {
    var c, d;

    d = !b.X;

    if (!d)
    {
      c = 0;
      return c;
    }

    d = !b.Y;

    if (!d)
    {
      c = 0;
      return c;
    }

    c = 1;
    return c;
  };

  // ConsoleWorm.js.Extensions.Random
  function BQAABpFwgjy_bIHQi4RKemg(b)
  {
    var c;

    c = new ctor$_5wYABgVHFzWfbQL2_bFGF2Q()._6QYABgVHFzWfbQL2_bFGF2Q(b);
    return c;
  };

  // ConsoleWorm.js.Extensions.AtInterval
  function BgAABpFwgjy_bIHQi4RKemg(b, c)
  {
    var d;

    d = /* DOMCreateType */new aDEstYpnuje3Ol5CwXB4yg();
    d.h = c;
    new ctor$hgQABg5KmD2FcvTl_aR0BtQ(new ctor$cAMABpV05Dqjc7p5I4hd_bA(d, '_AtInterval_b__0'), b, b);
  };

  // ConsoleWorm.js.Extensions.ToWindowText
  function BwAABpFwgjy_bIHQi4RKemg(b, c)
  {
    var d;

    d = !_2AQABvL0xDeEIFyRpSeBJA(c);

    if (!d)
    {
      window.document.title = b.ywQABk08bjujqKTD_a1XgDA();
      return;
    }

    window.document.title = _6QQABvL0xDeEIFyRpSeBJA(b.ywQABk08bjujqKTD_a1XgDA(), ' - ', c);
  };

  // ConsoleWorm.js.Extensions.ToWindowText
  function CAAABpFwgjy_bIHQi4RKemg(b)
  {
    BwAABpFwgjy_bIHQi4RKemg(b, null);
  };

  // ConsoleWorm.js.Worm
  function _7elH3gPrlDaJ0brIIlrkvw() { };
  _7elH3gPrlDaJ0brIIlrkvw.TypeName = 'Worm';
  var type$_7elH3gPrlDaJ0brIIlrkvw = _7elH3gPrlDaJ0brIIlrkvw.prototype;
  type$_7elH3gPrlDaJ0brIIlrkvw = _7elH3gPrlDaJ0brIIlrkvw.prototype =   {
    constructor: _7elH3gPrlDaJ0brIIlrkvw,
    Location: null,
    GetZoom: null,
    Wrapper: null,
    Vector: null,
    Parts: null,
    _Canvas_k__BackingField: null
  }
;
  var basector$_7elH3gPrlDaJ0brIIlrkvw = $ctor$(null, null, type$_7elH3gPrlDaJ0brIIlrkvw);
  // ConsoleWorm.js.Worm..ctor
  type$_7elH3gPrlDaJ0brIIlrkvw.DwAABgPrlDaJ0brIIlrkvw = function ()
  {
    var a = this;

    a.Vector = new ctor$_2wMABg8FGzuBoWcC2pdXnw(1, 0);
    a.Parts = new ctor$PgMABmNRDzK21Hwq8LFOog();
  };
  var ctor$DwAABgPrlDaJ0brIIlrkvw = $ctor$(null, 'DwAABgPrlDaJ0brIIlrkvw', type$_7elH3gPrlDaJ0brIIlrkvw);

  // ConsoleWorm.js.Worm.GrowToVector
  type$_7elH3gPrlDaJ0brIIlrkvw.CQAABgPrlDaJ0brIIlrkvw = function ()
  {
    var a = this, b;

    b = a.CgAABgPrlDaJ0brIIlrkvw(a.Vector);
    return b;
  };

  // ConsoleWorm.js.Worm.GrowTo
  type$_7elH3gPrlDaJ0brIIlrkvw.CgAABgPrlDaJ0brIIlrkvw = function (b)
  {
    var a = this, c, d, e;

    c = a.Wrapper.Invoke(_4QMABg8FGzuBoWcC2pdXnw(a.Location, b));
    d = new ctor$EAAABhN1PDuvFHs1vsU5lQ();
    d.Location = c;
    d.GetZoom = a.GetZoom;
    a.Parts.RwMABmNRDzK21Hwq8LFOog(d.EQAABhN1PDuvFHs1vsU5lQ(a.CwAABgPrlDaJ0brIIlrkvw()));
    a.Location = c;
    e = a;
    return e;
  };

  // ConsoleWorm.js.Worm.get_Canvas
  type$_7elH3gPrlDaJ0brIIlrkvw.CwAABgPrlDaJ0brIIlrkvw = function ()
  {
    return this._Canvas_k__BackingField;
  };

  // ConsoleWorm.js.Worm.set_Canvas
  type$_7elH3gPrlDaJ0brIIlrkvw.DAAABgPrlDaJ0brIIlrkvw = function (b)
  {
    var a = this;

    a._Canvas_k__BackingField = b;
  };

  // ConsoleWorm.js.Worm.Grow
  type$_7elH3gPrlDaJ0brIIlrkvw.DQAABgPrlDaJ0brIIlrkvw = function ()
  {
    var a = this, b;

    b = a.CgAABgPrlDaJ0brIIlrkvw(new ctor$_2wMABg8FGzuBoWcC2pdXnw(0, 0));
    return b;
  };

  // ConsoleWorm.js.Worm.Shrink
  type$_7elH3gPrlDaJ0brIIlrkvw.DgAABgPrlDaJ0brIIlrkvw = function ()
  {
    var a = this, b, c;

    b = OwAABjSbPjCXz4sutgMqyg(a.Parts);
    c = !(b == null);

    if (!c)
    {
      return;
    }

    a.Parts.TgMABmNRDzK21Hwq8LFOog(b);
    b.EgAABhN1PDuvFHs1vsU5lQ();
  };

  // ConsoleWorm.js.Worm+Part
  function M7y_aqxN1PDuvFHs1vsU5lQ() { };
  M7y_aqxN1PDuvFHs1vsU5lQ.TypeName = 'Part';
  var type$M7y_aqxN1PDuvFHs1vsU5lQ = M7y_aqxN1PDuvFHs1vsU5lQ.prototype;
  type$M7y_aqxN1PDuvFHs1vsU5lQ = M7y_aqxN1PDuvFHs1vsU5lQ.prototype =   {
    constructor: M7y_aqxN1PDuvFHs1vsU5lQ,
    Location: null,
    GetZoom: null,
    Control: null
  }
;
  var basector$M7y_aqxN1PDuvFHs1vsU5lQ = $ctor$(null, null, type$M7y_aqxN1PDuvFHs1vsU5lQ);
  // ConsoleWorm.js.Worm+Part..ctor
  type$M7y_aqxN1PDuvFHs1vsU5lQ.EAAABhN1PDuvFHs1vsU5lQ = function ()
  {
    var a = this;

    a.Control = __bAYABpARaTWiOIchWxOyPA();
    a.Control.style.backgroundColor = EAYABmbtLz_aix9PDXWVKxw(GwYABmbtLz_aix9PDXWVKxw());
  };
  var ctor$EAAABhN1PDuvFHs1vsU5lQ = $ctor$(null, 'EAAABhN1PDuvFHs1vsU5lQ', type$M7y_aqxN1PDuvFHs1vsU5lQ);

  // ConsoleWorm.js.Worm+Part.AttachTo
  type$M7y_aqxN1PDuvFHs1vsU5lQ.EQAABhN1PDuvFHs1vsU5lQ = function (b)
  {
    var a = this, c, d;

    c = a.GetZoom.Invoke();
    qQAABv95Uz6VlReIhv_at9Q(a.Control.style, (a.Location.X * c), (a.Location.Y * c), c, c);
    dAUABs6qoDSZlDZ_budHRPg(a.Control, b);
    d = a;
    return d;
  };

  // ConsoleWorm.js.Worm+Part.Dispose
  type$M7y_aqxN1PDuvFHs1vsU5lQ.EgAABhN1PDuvFHs1vsU5lQ = function ()
  {
    var a = this;

    PQAABhKe0TCbmAkIJwsGQw(a.Control);
  };

  // ConsoleWorm.js.Apple
  function J7TtMHkcYzOg24fVIIUKKw() { };
  J7TtMHkcYzOg24fVIIUKKw.TypeName = 'Apple';
  var type$J7TtMHkcYzOg24fVIIUKKw = J7TtMHkcYzOg24fVIIUKKw.prototype;
  type$J7TtMHkcYzOg24fVIIUKKw = J7TtMHkcYzOg24fVIIUKKw.prototype =   {
    constructor: J7TtMHkcYzOg24fVIIUKKw,
    GetRandomLocation: null,
    Location: null,
    GetZoom: null,
    Control: null
  }
;
  var basector$J7TtMHkcYzOg24fVIIUKKw = $ctor$(null, null, type$J7TtMHkcYzOg24fVIIUKKw);
  // ConsoleWorm.js.Apple..ctor
  type$J7TtMHkcYzOg24fVIIUKKw.EwAABnkcYzOg24fVIIUKKw = function ()
  {
    var a = this;

    a.Control = __bAYABpARaTWiOIchWxOyPA();
    a.Control.style.backgroundColor = EAYABmbtLz_aix9PDXWVKxw(GgYABmbtLz_aix9PDXWVKxw());
  };
  var ctor$EwAABnkcYzOg24fVIIUKKw = $ctor$(null, 'EwAABnkcYzOg24fVIIUKKw', type$J7TtMHkcYzOg24fVIIUKKw);

  // ConsoleWorm.js.Apple.MoveToRandomLocation
  type$J7TtMHkcYzOg24fVIIUKKw.FAAABnkcYzOg24fVIIUKKw = function ()
  {
    var a = this, b;

    a.Location = a.GetRandomLocation.Invoke();
    a.FgAABnkcYzOg24fVIIUKKw();
    b = a;
    return b;
  };

  // ConsoleWorm.js.Apple.AttachTo
  type$J7TtMHkcYzOg24fVIIUKKw.FQAABnkcYzOg24fVIIUKKw = function (b)
  {
    var a = this, c;

    a.FgAABnkcYzOg24fVIIUKKw();
    dAUABs6qoDSZlDZ_budHRPg(a.Control, b);
    c = a;
    return c;
  };

  // ConsoleWorm.js.Apple.MoveToLocation
  type$J7TtMHkcYzOg24fVIIUKKw.FgAABnkcYzOg24fVIIUKKw = function ()
  {
    var a = this, b;

    b = a.GetZoom.Invoke();
    qQAABv95Uz6VlReIhv_at9Q(a.Control.style, (a.Location.X * b), (a.Location.Y * b), b, b);
  };

  // ConsoleWorm.js.Apple.Dispose
  type$J7TtMHkcYzOg24fVIIUKKw.FwAABnkcYzOg24fVIIUKKw = function ()
  {
    var a = this;

    PQAABhKe0TCbmAkIJwsGQw(a.Control);
  };

  // ConsoleWorm.js.Class1
  function Ut5SMjDusTC9252cneBigQ() { };
  Ut5SMjDusTC9252cneBigQ.TypeName = 'Class1';
  var type$Ut5SMjDusTC9252cneBigQ = Ut5SMjDusTC9252cneBigQ.prototype;
  var DgAABDDusTC9252cneBigQ = null;
  var DwAABDDusTC9252cneBigQ = null;
  var EAAABDDusTC9252cneBigQ = null;
  var basector$Ut5SMjDusTC9252cneBigQ = $ctor$(null, null, type$Ut5SMjDusTC9252cneBigQ);
  // ConsoleWorm.js.Class1..ctor
  type$Ut5SMjDusTC9252cneBigQ.GAAABjDusTC9252cneBigQ = function ()
  {
    var a = this, b, c, d, e, f, g;

    f = /* DOMCreateType */new SQTIr6wdED25P6yhuDHM_bQ();
    CAAABpFwgjy_bIHQi4RKemg(_0gQABpUPAz2EsCaY7obt2w(new ctor$_2wUABoYZKz2xuVQa5rhZdQ(type$Ut5SMjDusTC9252cneBigQ)));
    f.canvas = __bAYABpARaTWiOIchWxOyPA();
    qQAABv95Uz6VlReIhv_at9Q(f.canvas.style, 0, 0, EQQABrjx6zSi_bmqfNf80FQ(window), EAQABrjx6zSi_bmqfNf80FQ(window));
    f.canvas.style.backgroundColor = EAYABmbtLz_aix9PDXWVKxw(FwYABmbtLz_aix9PDXWVKxw());
    cwUABs6qoDSZlDZ_budHRPg(f.canvas);
    f.canvas.style.position = 'relative';
    f.zoom = 12;
    f.RoomWidth = new ctor$eAAABgXc8DeeJNEXTbCZRg(f, '__ctor_b__4');
    f.RoomHeight = new ctor$eAAABgXc8DeeJNEXTbCZRg(f, '__ctor_b__5');
    f.GetRandomLocation = new ctor$eAAABgXc8DeeJNEXTbCZRg(f, '__ctor_b__6');
    f.CreateApple = new ctor$eAAABgXc8DeeJNEXTbCZRg(f, '__ctor_b__7');
    c = new ctor$PgMABmNRDzK21Hwq8LFOog();
    c.RwMABmNRDzK21Hwq8LFOog(f.CreateApple.Invoke());
    f.apples = c;
    AgAABpFwgjy_bIHQi4RKemg(4, new ctor$GQcABuIOAjCGY233gTLnoA(f, '__ctor_b__9'));
    f.apples.RgMABmNRDzK21Hwq8LFOog(new ctor$FQcABqxHBjm_bYkzeYiSokw(f, '__ctor_b__a'));
    b = new ctor$fAAABgB9Cj_aRt_ajitmsgbQ(f, '__ctor_b__b');
    d = new ctor$DwAABgPrlDaJ0brIIlrkvw();
    d.Wrapper = b;
    e = new ctor$_2gMABg8FGzuBoWcC2pdXnw();
    e.X = 4;
    e.Y = 8;
    d.Location = e;
    d.GetZoom = new ctor$eAAABgXc8DeeJNEXTbCZRg(f, '__ctor_b__c');
    d.DAAABgPrlDaJ0brIIlrkvw(f.canvas);
    d.Vector = new ctor$_2wMABg8FGzuBoWcC2pdXnw(0, 1);
    f.worm = d.DQAABgPrlDaJ0brIIlrkvw().CQAABgPrlDaJ0brIIlrkvw().CQAABgPrlDaJ0brIIlrkvw();
    BgAABpFwgjy_bIHQi4RKemg(100, new ctor$FQcABqxHBjm_bYkzeYiSokw(f, '__ctor_b__d'));
    g = [
      new ctor$HwAABi8DdTuEE_a_axEs5jRg(38, new ctor$_2wMABg8FGzuBoWcC2pdXnw(0, -1)),
      new ctor$HwAABi8DdTuEE_a_axEs5jRg(37, new ctor$_2wMABg8FGzuBoWcC2pdXnw(-1, 0)),
      new ctor$HwAABi8DdTuEE_a_axEs5jRg(39, new ctor$_2wMABg8FGzuBoWcC2pdXnw(1, 0)),
      new ctor$HwAABi8DdTuEE_a_axEs5jRg(40, new ctor$_2wMABg8FGzuBoWcC2pdXnw(0, 1))
    ];
    f.map = g;
    RQUABgfGzj_aYPjLl7eXK2A(document, new ctor$cAMABpV05Dqjc7p5I4hd_bA(f, '__ctor_b__f'));
  };
  var ctor$GAAABjDusTC9252cneBigQ = $ctor$(null, 'GAAABjDusTC9252cneBigQ', type$Ut5SMjDusTC9252cneBigQ);

  // ConsoleWorm.js.Class1.<.cctor>b__15
  function GgAABjDusTC9252cneBigQ(b)
  {
    var c;


    if (!(DwAABDDusTC9252cneBigQ))
    {
      DwAABDDusTC9252cneBigQ = new ctor$fAAABgB9Cj_aRt_ajitmsgbQ(null, 'GwAABjDusTC9252cneBigQ');
    }

    c = DwAABDDusTC9252cneBigQ;
    c.Invoke(c.Invoke(document.body).parentNode);

    if (!(EAAABDDusTC9252cneBigQ))
    {
      EAAABDDusTC9252cneBigQ = new ctor$dAMABgQfTzmb4VjMtYiFiw(null, 'HAAABjDusTC9252cneBigQ');
    }

    kgQABg5KmD2FcvTl_aR0BtQ(EAAABDDusTC9252cneBigQ);
  };

  // ConsoleWorm.js.Class1.<.cctor>b__16
  function GwAABjDusTC9252cneBigQ(b)
  {
    var c, d;

    d = !(b == null);

    if (!d)
    {
      c = b;
      return c;
    }

    b.style.overflow = 'hidden';
    b.style.margin = '0px';
    b.style.padding = '0px';
    c = b;
    return c;
  };

  // ConsoleWorm.js.Class1.<.cctor>b__17
  function HAAABjDusTC9252cneBigQ()
  {
    new ctor$GAAABjDusTC9252cneBigQ();
  };

  // Closure type
  function aDEstYpnuje3Ol5CwXB4yg() {}  type$aDEstYpnuje3Ol5CwXB4yg = aDEstYpnuje3Ol5CwXB4yg.prototype =   {
    constructor: aDEstYpnuje3Ol5CwXB4yg,
    h: null
  }
;
  // ConsoleWorm.js.Extensions+<>c__DisplayClass1.<AtInterval>b__0
  type$aDEstYpnuje3Ol5CwXB4yg._AtInterval_b__0 = function (b)
  {
    var a = this;

    a.h.Invoke(b);
  };

  // Anonymous type
  function UgNRyS8DdTuEE_a_axEs5jRg() {}  type$UgNRyS8DdTuEE_a_axEs5jRg = UgNRyS8DdTuEE_a_axEs5jRg.prototype =   {
    constructor: UgNRyS8DdTuEE_a_axEs5jRg,
    _KeyCode_i__Field: null,
    _Point_i__Field: null
  }
;
  // <>f__AnonymousType0`2.get_KeyCode
  type$UgNRyS8DdTuEE_a_axEs5jRg.get_KeyCode = function ()
  {
    return this._KeyCode_i__Field;
  };

  // <>f__AnonymousType0`2.get_Point
  type$UgNRyS8DdTuEE_a_axEs5jRg.get_Point = function ()
  {
    return this._Point_i__Field;
  };

  // <>f__AnonymousType0`2.ToString
  type$UgNRyS8DdTuEE_a_axEs5jRg.toString /* <>f__AnonymousType0`2.ToString */ = function ()
  {
    var a = this, b, c;

    b = new ctor$_4wYABgu7ATmIDh7OeBhYLQ();
    b._5AYABgu7ATmIDh7OeBhYLQ('{ KeyCode = ');
    b._5QYABgu7ATmIDh7OeBhYLQ(a._KeyCode_i__Field);
    b._5AYABgu7ATmIDh7OeBhYLQ(', Point = ');
    b._5QYABgu7ATmIDh7OeBhYLQ(a._Point_i__Field);
    b._5AYABgu7ATmIDh7OeBhYLQ(' }');
    c = (b+'');
    return c;
  };
    UgNRyS8DdTuEE_a_axEs5jRg.prototype.toString /* System.Object.ToString */ = UgNRyS8DdTuEE_a_axEs5jRg.prototype.toString /* <>f__AnonymousType0`2.ToString */;

  // <>f__AnonymousType0`2.Equals
  type$UgNRyS8DdTuEE_a_axEs5jRg.Equals = function (b)
  {
    throw 'Not implemented, Equals';
  };
    UgNRyS8DdTuEE_a_axEs5jRg.prototype.AwAABnwCHD6Y1dqcmGKqIQ = UgNRyS8DdTuEE_a_axEs5jRg.prototype.Equals;

  // <>f__AnonymousType0`2.GetHashCode
  type$UgNRyS8DdTuEE_a_axEs5jRg.GetHashCode = function ()
  {
    throw 'Not implemented, GetHashCode';
  };
    UgNRyS8DdTuEE_a_axEs5jRg.prototype.BwAABnwCHD6Y1dqcmGKqIQ = UgNRyS8DdTuEE_a_axEs5jRg.prototype.GetHashCode;

  // <>f__AnonymousType0`2..ctor
  type$UgNRyS8DdTuEE_a_axEs5jRg.HwAABi8DdTuEE_a_axEs5jRg = function (b, c)
  {
    var a = this;

    a._KeyCode_i__Field = b;
    a._Point_i__Field = c;
  };
  var ctor$HwAABi8DdTuEE_a_axEs5jRg = $ctor$(null, 'HwAABi8DdTuEE_a_axEs5jRg', type$UgNRyS8DdTuEE_a_axEs5jRg);
  // Closure type
  function SQTIr6wdED25P6yhuDHM_bQ() {}  type$SQTIr6wdED25P6yhuDHM_bQ = SQTIr6wdED25P6yhuDHM_bQ.prototype =   {
    constructor: SQTIr6wdED25P6yhuDHM_bQ,
    canvas: null,
    zoom: 0,
    RoomWidth: null,
    RoomHeight: null,
    GetRandomLocation: null,
    CreateApple: null,
    apples: null,
    worm: null,
    map: null
  }
;
  // ConsoleWorm.js.Class1+<>c__DisplayClass11.<.ctor>b__4
  type$SQTIr6wdED25P6yhuDHM_bQ.__ctor_b__4 = function ()
  {
    return AQAABpFwgjy_bIHQi4RKemg((EQQABrjx6zSi_bmqfNf80FQ(window) / this.zoom));
  };

  // ConsoleWorm.js.Class1+<>c__DisplayClass11.<.ctor>b__5
  type$SQTIr6wdED25P6yhuDHM_bQ.__ctor_b__5 = function ()
  {
    return AQAABpFwgjy_bIHQi4RKemg((EAQABrjx6zSi_bmqfNf80FQ(window) / this.zoom));
  };

  // ConsoleWorm.js.Class1+<>c__DisplayClass11.<.ctor>b__6
  type$SQTIr6wdED25P6yhuDHM_bQ.__ctor_b__6 = function ()
  {
    return new ctor$_2wMABg8FGzuBoWcC2pdXnw(BQAABpFwgjy_bIHQi4RKemg(this.RoomWidth.Invoke()), BQAABpFwgjy_bIHQi4RKemg(this.RoomWidth.Invoke()));
  };

  // ConsoleWorm.js.Class1+<>c__DisplayClass11.<.ctor>b__7
  type$SQTIr6wdED25P6yhuDHM_bQ.__ctor_b__7 = function ()
  {
    var a = this, b, c;

    b = new ctor$EwAABnkcYzOg24fVIIUKKw();
    b.GetRandomLocation = a.GetRandomLocation;
    b.GetZoom = new ctor$eAAABgXc8DeeJNEXTbCZRg(a, '__ctor_b__8');
    c = b.FAAABnkcYzOg24fVIIUKKw();
    return c;
  };

  // ConsoleWorm.js.Class1+<>c__DisplayClass11.<.ctor>b__9
  type$SQTIr6wdED25P6yhuDHM_bQ.__ctor_b__9 = function ()
  {
    var a = this;

    a.apples.RwMABmNRDzK21Hwq8LFOog(a.CreateApple.Invoke());
  };

  // ConsoleWorm.js.Class1+<>c__DisplayClass11.<.ctor>b__a
  type$SQTIr6wdED25P6yhuDHM_bQ.__ctor_b__a = function (b)
  {
    var a = this;

    b.FQAABnkcYzOg24fVIIUKKw(a.canvas);
  };

  // ConsoleWorm.js.Class1+<>c__DisplayClass11.<.ctor>b__b
  type$SQTIr6wdED25P6yhuDHM_bQ.__ctor_b__b = function (b)
  {
    return new ctor$_2wMABg8FGzuBoWcC2pdXnw(((b.X + this.RoomWidth.Invoke()) % this.RoomWidth.Invoke()), ((b.Y + this.RoomHeight.Invoke()) % this.RoomHeight.Invoke()));
  };

  // ConsoleWorm.js.Class1+<>c__DisplayClass11.<.ctor>b__c
  type$SQTIr6wdED25P6yhuDHM_bQ.__ctor_b__c = function ()
  {
    return this.zoom;
  };

  // ConsoleWorm.js.Class1+<>c__DisplayClass11.<.ctor>b__d
  type$SQTIr6wdED25P6yhuDHM_bQ.__ctor_b__d = function (b)
  {
    var a = this, c, d, e, f, g;

    a.worm.CQAABgPrlDaJ0brIIlrkvw();
    c = QQAABjSbPjCXz4sutgMqyg(LgAABjSbPjCXz4sutgMqyg(a.apples, new ctor$fAAABgB9Cj_aRt_ajitmsgbQ(a, '__ctor_b__e')));
    e = !(c.length > 0);

    if (!e)
    {
      f = c;

      for (g = 0; (g < f.length); g++)
      {
        d = f[g];
        d.FAAABnkcYzOg24fVIIUKKw();
      }

      return;
    }

    a.worm.DgAABgPrlDaJ0brIIlrkvw();
  };

  // ConsoleWorm.js.Class1+<>c__DisplayClass11.<.ctor>b__f
  type$SQTIr6wdED25P6yhuDHM_bQ.__ctor_b__f = function (b)
  {
    var a = this, c, d, e;

    d = /* DOMCreateType */new QYeVmQ7HUjCH4eURV8cUBQ();
    d.CS___8__locals12 = a;
    d.ev = b;
    c = PwAABjSbPjCXz4sutgMqyg(a.map, new ctor$fAAABgB9Cj_aRt_ajitmsgbQ(d, '__ctor_b__10'));
    e = (c == null);

    if (!e)
    {
      e = !BAAABpFwgjy_bIHQi4RKemg(_4QMABg8FGzuBoWcC2pdXnw(a.worm.Vector, c.get_Point()));

      if (!e)
      {
        return;
      }

      a.worm.Vector = c.get_Point();
    }

  };

  // ConsoleWorm.js.Class1+<>c__DisplayClass11.<.ctor>b__8
  type$SQTIr6wdED25P6yhuDHM_bQ.__ctor_b__8 = function ()
  {
    return this.zoom;
  };

  // ConsoleWorm.js.Class1+<>c__DisplayClass11.<.ctor>b__e
  type$SQTIr6wdED25P6yhuDHM_bQ.__ctor_b__e = function (b)
  {
    return AwAABpFwgjy_bIHQi4RKemg(b.Location, this.worm.Location);
  };

  // Closure type
  function QYeVmQ7HUjCH4eURV8cUBQ() {}  type$QYeVmQ7HUjCH4eURV8cUBQ = QYeVmQ7HUjCH4eURV8cUBQ.prototype =   {
    constructor: QYeVmQ7HUjCH4eURV8cUBQ,
    CS___8__locals12: null,
    ev: null
  }
;
  // ConsoleWorm.js.Class1+<>c__DisplayClass11+<>c__DisplayClass13.<.ctor>b__10
  type$QYeVmQ7HUjCH4eURV8cUBQ.__ctor_b__10 = function (b)
  {
    return (b.get_KeyCode() == fgUABrF0EjOLfe7UKH0oAg(this.ev));
  };

  (function()
  {

    if (!(DgAABDDusTC9252cneBigQ))
    {
      DgAABDDusTC9252cneBigQ = new ctor$FQcABqxHBjm_bYkzeYiSokw(null, 'GgAABjDusTC9252cneBigQ');
    }

    dgUABs6qoDSZlDZ_budHRPg(_0gQABpUPAz2EsCaY7obt2w(new ctor$_2wUABoYZKz2xuVQa5rhZdQ(type$Ut5SMjDusTC9252cneBigQ)), DgAABDDusTC9252cneBigQ);
  }
  )();

