  var Wk4S5GYMokW9hjOERIvEwg = {Name:{Name:"ScriptCoreLib.Query",FullName:"ScriptCoreLib.Query, Version\x3d3.5.4435.23588, Culture\x3dneutral, PublicKeyToken\x3dnull"}};
  // ScriptCoreLib.Shared.BCLImplementation.System.Linq.__DefinedError.ArgumentOutOfRange
  function kAAABjmrrT_axh8KSPkRu9Q(b)
  {
    var c;

    c = NQcABh20mDuxDBcz4r7ZkQ(RgoABpsWqDaU6r2n8iDVRQ('ArgumentOutOfRange: ', b));
    return c;
  };

  // ScriptCoreLib.Shared.BCLImplementation.System.Linq.__DefinedError.ArgumentNull
  function kQAABjmrrT_axh8KSPkRu9Q(b)
  {
    var c;

    c = NQcABh20mDuxDBcz4r7ZkQ(RgoABpsWqDaU6r2n8iDVRQ('ArgumentNull: ', b));
    return c;
  };

  // ScriptCoreLib.Shared.BCLImplementation.System.Linq.__DefinedError.NoElements
  function kgAABjmrrT_axh8KSPkRu9Q()
  {
    var b;

    b = NQcABh20mDuxDBcz4r7ZkQ('Sequence contains no elements');
    return b;
  };

  // ScriptCoreLib.Shared.BCLImplementation.System.Linq.__DefinedError.MoreThanOneElement
  function kwAABjmrrT_axh8KSPkRu9Q()
  {
    var b;

    b = NQcABh20mDuxDBcz4r7ZkQ('Sequence contains more than one element');
    return b;
  };

  // ScriptCoreLib.Shared.BCLImplementation.System.Linq.__DefinedError.NotImplemented
  function lAAABjmrrT_axh8KSPkRu9Q()
  {
    throw NQcABh20mDuxDBcz4r7ZkQ('The method or operation is not implemented.');
  };

  // delegate: () => T
  // ScriptCoreLib.Shared.BCLImplementation.System.__Func`1
  function w0PmEVFmNjqPFAFznSoELg(){};
  w0PmEVFmNjqPFAFznSoELg.TypeName = "Func_1";
  w0PmEVFmNjqPFAFznSoELg.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$w0PmEVFmNjqPFAFznSoELg = w0PmEVFmNjqPFAFznSoELg.prototype = new g1upm3Rg3zSx5vDXEP44fg();
  type$w0PmEVFmNjqPFAFznSoELg.constructor = w0PmEVFmNjqPFAFznSoELg;
  type$w0PmEVFmNjqPFAFznSoELg.IsExtensionMethod = false;
  type$w0PmEVFmNjqPFAFznSoELg.AsExtensionMethod = function ()
  {
    this.IsExtensionMethod = true;
    return this;
  };
  type$w0PmEVFmNjqPFAFznSoELg.tQAABlFmNjqPFAFznSoELg = type$g1upm3Rg3zSx5vDXEP44fg.CxYABnRg3zSx5vDXEP44fg;
  var ctor$tQAABlFmNjqPFAFznSoELg = $ctor$(basector$g1upm3Rg3zSx5vDXEP44fg, 'tQAABlFmNjqPFAFznSoELg', type$w0PmEVFmNjqPFAFznSoELg);
  type$w0PmEVFmNjqPFAFznSoELg.Invoke = function ()
  {
    var _ = void(0);
    for (var _i = 0; _i < this.list.length; _i++)
    {
      var _f = this.list[_i];
      var _arguments = Array.prototype.slice.call(arguments).slice(0);
      if(_f.IsExtensionMethod) _arguments.splice(0, 0, _f.Target);
      var _target = _f.IsExtensionMethod ? window : _f.Target;
      _ = _target[_f.Method].apply(_target, _arguments);
    }
    return _;
  };

  // delegate: (arg0) => TResult
  // ScriptCoreLib.Shared.BCLImplementation.System.__Func`2
  function RoEEtk06_bTuIwW5Gm2dAhQ(){};
  RoEEtk06_bTuIwW5Gm2dAhQ.TypeName = "Func_2";
  RoEEtk06_bTuIwW5Gm2dAhQ.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$RoEEtk06_bTuIwW5Gm2dAhQ = RoEEtk06_bTuIwW5Gm2dAhQ.prototype = new g1upm3Rg3zSx5vDXEP44fg();
  type$RoEEtk06_bTuIwW5Gm2dAhQ.constructor = RoEEtk06_bTuIwW5Gm2dAhQ;
  type$RoEEtk06_bTuIwW5Gm2dAhQ.IsExtensionMethod = false;
  type$RoEEtk06_bTuIwW5Gm2dAhQ.AsExtensionMethod = function ()
  {
    this.IsExtensionMethod = true;
    return this;
  };
  type$RoEEtk06_bTuIwW5Gm2dAhQ.uQAABk06_bTuIwW5Gm2dAhQ = type$g1upm3Rg3zSx5vDXEP44fg.CxYABnRg3zSx5vDXEP44fg;
  var ctor$uQAABk06_bTuIwW5Gm2dAhQ = $ctor$(basector$g1upm3Rg3zSx5vDXEP44fg, 'uQAABk06_bTuIwW5Gm2dAhQ', type$RoEEtk06_bTuIwW5Gm2dAhQ);
  type$RoEEtk06_bTuIwW5Gm2dAhQ.Invoke = function (b)
  {
    var _ = void(0);
    for (var _i = 0; _i < this.list.length; _i++)
    {
      var _f = this.list[_i];
      var _arguments = Array.prototype.slice.call(arguments).slice(0);
      if(_f.IsExtensionMethod) _arguments.splice(0, 0, _f.Target);
      var _target = _f.IsExtensionMethod ? window : _f.Target;
      _ = _target[_f.Method].apply(_target, _arguments);
    }
    return _;
  };

  // delegate: (arg0, arg1) => TResult
  // ScriptCoreLib.Shared.BCLImplementation.System.__Func`3
  function Ga1lSbiGdjqO_bQaeO7VZFQ(){};
  Ga1lSbiGdjqO_bQaeO7VZFQ.TypeName = "Func_3";
  Ga1lSbiGdjqO_bQaeO7VZFQ.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$Ga1lSbiGdjqO_bQaeO7VZFQ = Ga1lSbiGdjqO_bQaeO7VZFQ.prototype = new g1upm3Rg3zSx5vDXEP44fg();
  type$Ga1lSbiGdjqO_bQaeO7VZFQ.constructor = Ga1lSbiGdjqO_bQaeO7VZFQ;
  type$Ga1lSbiGdjqO_bQaeO7VZFQ.IsExtensionMethod = false;
  type$Ga1lSbiGdjqO_bQaeO7VZFQ.AsExtensionMethod = function ()
  {
    this.IsExtensionMethod = true;
    return this;
  };
  type$Ga1lSbiGdjqO_bQaeO7VZFQ.vQAABriGdjqO_bQaeO7VZFQ = type$g1upm3Rg3zSx5vDXEP44fg.CxYABnRg3zSx5vDXEP44fg;
  var ctor$vQAABriGdjqO_bQaeO7VZFQ = $ctor$(basector$g1upm3Rg3zSx5vDXEP44fg, 'vQAABriGdjqO_bQaeO7VZFQ', type$Ga1lSbiGdjqO_bQaeO7VZFQ);
  type$Ga1lSbiGdjqO_bQaeO7VZFQ.Invoke = function (b, c)
  {
    var _ = void(0);
    for (var _i = 0; _i < this.list.length; _i++)
    {
      var _f = this.list[_i];
      var _arguments = Array.prototype.slice.call(arguments).slice(0);
      if(_f.IsExtensionMethod) _arguments.splice(0, 0, _f.Target);
      var _target = _f.IsExtensionMethod ? window : _f.Target;
      _ = _target[_f.Method].apply(_target, _arguments);
    }
    return _;
  };

  // delegate: (arg0, arg1, arg2) => TResult
  // ScriptCoreLib.Shared.BCLImplementation.System.__Func`4
  function yd1C_aPv5zT_azC45jKLbmOw(){};
  yd1C_aPv5zT_azC45jKLbmOw.TypeName = "Func_4";
  yd1C_aPv5zT_azC45jKLbmOw.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$yd1C_aPv5zT_azC45jKLbmOw = yd1C_aPv5zT_azC45jKLbmOw.prototype = new g1upm3Rg3zSx5vDXEP44fg();
  type$yd1C_aPv5zT_azC45jKLbmOw.constructor = yd1C_aPv5zT_azC45jKLbmOw;
  type$yd1C_aPv5zT_azC45jKLbmOw.IsExtensionMethod = false;
  type$yd1C_aPv5zT_azC45jKLbmOw.AsExtensionMethod = function ()
  {
    this.IsExtensionMethod = true;
    return this;
  };
  type$yd1C_aPv5zT_azC45jKLbmOw.wQAABvv5zT_azC45jKLbmOw = type$g1upm3Rg3zSx5vDXEP44fg.CxYABnRg3zSx5vDXEP44fg;
  var ctor$wQAABvv5zT_azC45jKLbmOw = $ctor$(basector$g1upm3Rg3zSx5vDXEP44fg, 'wQAABvv5zT_azC45jKLbmOw', type$yd1C_aPv5zT_azC45jKLbmOw);
  type$yd1C_aPv5zT_azC45jKLbmOw.Invoke = function (b, c, d)
  {
    var _ = void(0);
    for (var _i = 0; _i < this.list.length; _i++)
    {
      var _f = this.list[_i];
      var _arguments = Array.prototype.slice.call(arguments).slice(0);
      if(_f.IsExtensionMethod) _arguments.splice(0, 0, _f.Target);
      var _target = _f.IsExtensionMethod ? window : _f.Target;
      _ = _target[_f.Method].apply(_target, _arguments);
    }
    return _;
  };

  // delegate: (arg0, arg1, arg2, arg3) => TResult
  // ScriptCoreLib.Shared.BCLImplementation.System.__Func`5
  function _1YTTIEYbJTaAiW2eBbgxPg(){};
  _1YTTIEYbJTaAiW2eBbgxPg.TypeName = "Func_5";
  _1YTTIEYbJTaAiW2eBbgxPg.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$_1YTTIEYbJTaAiW2eBbgxPg = _1YTTIEYbJTaAiW2eBbgxPg.prototype = new g1upm3Rg3zSx5vDXEP44fg();
  type$_1YTTIEYbJTaAiW2eBbgxPg.constructor = _1YTTIEYbJTaAiW2eBbgxPg;
  type$_1YTTIEYbJTaAiW2eBbgxPg.IsExtensionMethod = false;
  type$_1YTTIEYbJTaAiW2eBbgxPg.AsExtensionMethod = function ()
  {
    this.IsExtensionMethod = true;
    return this;
  };
  type$_1YTTIEYbJTaAiW2eBbgxPg.xQAABkYbJTaAiW2eBbgxPg = type$g1upm3Rg3zSx5vDXEP44fg.CxYABnRg3zSx5vDXEP44fg;
  var ctor$xQAABkYbJTaAiW2eBbgxPg = $ctor$(basector$g1upm3Rg3zSx5vDXEP44fg, 'xQAABkYbJTaAiW2eBbgxPg', type$_1YTTIEYbJTaAiW2eBbgxPg);
  type$_1YTTIEYbJTaAiW2eBbgxPg.Invoke = function (b, c, d, e)
  {
    var _ = void(0);
    for (var _i = 0; _i < this.list.length; _i++)
    {
      var _f = this.list[_i];
      var _arguments = Array.prototype.slice.call(arguments).slice(0);
      if(_f.IsExtensionMethod) _arguments.splice(0, 0, _f.Target);
      var _target = _f.IsExtensionMethod ? window : _f.Target;
      _ = _target[_f.Method].apply(_target, _arguments);
    }
    return _;
  };

  // ScriptCoreLib.Shared.Lambda.BindingListWithEvents`1
  function _4EOZ99_anizClbIzCpFmnkg(){};
  _4EOZ99_anizClbIzCpFmnkg.TypeName = "BindingListWithEvents_1";
  _4EOZ99_anizClbIzCpFmnkg.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$_4EOZ99_anizClbIzCpFmnkg = _4EOZ99_anizClbIzCpFmnkg.prototype;
  type$_4EOZ99_anizClbIzCpFmnkg.constructor = _4EOZ99_anizClbIzCpFmnkg;
  type$_4EOZ99_anizClbIzCpFmnkg.InternalList = null;
  type$_4EOZ99_anizClbIzCpFmnkg.Removed = null;
  type$_4EOZ99_anizClbIzCpFmnkg.Added = null;
  type$_4EOZ99_anizClbIzCpFmnkg.InternalDispose = null;
  var basector$_4EOZ99_anizClbIzCpFmnkg = $ctor$(null, null, type$_4EOZ99_anizClbIzCpFmnkg);
  // ScriptCoreLib.Shared.Lambda.BindingListWithEvents`1..ctor
  type$_4EOZ99_anizClbIzCpFmnkg.zgAABt_anizClbIzCpFmnkg = function (b)
  {
    var a = this, c, d;

    d = /* DOMCreateType */new IlclxXvYrT2Jhc4oN4D0Mw();
    d.source = b;
    d.__4__this = a;
    c = /* DOMCreateType */new __aSF6ZVT3djSQK7JDMjOWJg();
    c.CS___8__locals3 = d;
    a.InternalList = d.source;
    c.cache = new ctor$bxUABkaD4z_a2whoejWFgQA();
    c.cache.cRUABkaD4z_a2whoejWFgQA(d.source);
    c.h = null;
    a.InternalDispose = new ctor$wBYABk0OxjS1LNcuSVqN0Q(c, '__ctor_b__0');
    c.h = new ctor$_6BQABpa9FTO24spPe0uOiw(c, '__ctor_b__1');
    d.source.zxQABk_bJOjKzqp0tqvAKug(c.h);
  };
  var ctor$zgAABt_anizClbIzCpFmnkg = $ctor$(null, 'zgAABt_anizClbIzCpFmnkg', type$_4EOZ99_anizClbIzCpFmnkg);

  // ScriptCoreLib.Shared.Lambda.BindingListWithEvents`1.get_Source
  type$_4EOZ99_anizClbIzCpFmnkg.yQAABt_anizClbIzCpFmnkg = function ()
  {
    var a = this, b;

    b = a.InternalList;
    return b;
  };

  // ScriptCoreLib.Shared.Lambda.BindingListWithEvents`1.add_Removed
  type$_4EOZ99_anizClbIzCpFmnkg.ygAABt_anizClbIzCpFmnkg = function (b)
  {
    var a = this, c, d, e, f;

    a.Removed = tAgABryOqj6XtSTDGu8Mcg(a.Removed, b);
  };

  // ScriptCoreLib.Shared.Lambda.BindingListWithEvents`1.remove_Removed
  type$_4EOZ99_anizClbIzCpFmnkg.ywAABt_anizClbIzCpFmnkg = function (b)
  {
    var a = this, c, d, e, f;

    a.Removed = tggABryOqj6XtSTDGu8Mcg(a.Removed, b);
  };

  // ScriptCoreLib.Shared.Lambda.BindingListWithEvents`1.add_Added
  type$_4EOZ99_anizClbIzCpFmnkg.zAAABt_anizClbIzCpFmnkg = function (b)
  {
    var a = this, c, d, e, f;

    a.Added = tAgABryOqj6XtSTDGu8Mcg(a.Added, b);
  };

  // ScriptCoreLib.Shared.Lambda.BindingListWithEvents`1.remove_Added
  type$_4EOZ99_anizClbIzCpFmnkg.zQAABt_anizClbIzCpFmnkg = function (b)
  {
    var a = this, c, d, e, f;

    a.Added = tggABryOqj6XtSTDGu8Mcg(a.Added, b);
  };

  // ScriptCoreLib.Shared.Lambda.BindingListWithEvents`1.Dispose
  type$_4EOZ99_anizClbIzCpFmnkg.zwAABt_anizClbIzCpFmnkg = function ()
  {
    var a = this, b;

    b = (a.InternalDispose == null);

    if (!b)
    {
      a.InternalDispose.Invoke();
      a.InternalDispose = null;
    }

  };

  // System.IDisposable
  // ScriptCoreLib.Shared.Lambda.BindingListWithEvents`1
  (function (i)  {
    i.__bAEABq_bUDz_aWf_aXPRTEtLA = i.zwAABt_anizClbIzCpFmnkg;
  }
  )(type$_4EOZ99_anizClbIzCpFmnkg);
  var UQAABFd8NT24si0NEtJjHA = null;
  var UgAABFd8NT24si0NEtJjHA = null;
  var UwAABFd8NT24si0NEtJjHA = null;
  var VAAABFd8NT24si0NEtJjHA = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.<ToFlags>b__55
  function QgEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    e = !(b == null);

    if (!e)
    {
      d = 0;
      return d;
    }

    d = (1 << ((c + 1) & 31));
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.<WhereCounter>b__69
  function QwEABld8NT24si0NEtJjHA()
  {
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.<WhereCounter>b__6e
  function RAEABld8NT24si0NEtJjHA(b)
  {
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.<ConcatToLines>b__87
  function RQEABld8NT24si0NEtJjHA(b)
  {
    return RgoABpsWqDaU6r2n8iDVRQ(b, DhUABj82lDONirpG9SqtZA());
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ToFiltered
  function BgEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new Uny_bBlmB2zmx0yy6ra1xjg();
    d.source = b;
    d.filter = c;
    e = new ctor$wBYABk0OxjS1LNcuSVqN0Q(d, '_ToFiltered_b__66');
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.WhereCounter
  function BwEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f;

    d = /* DOMCreateType */new a_b3A18clHz6NyLlVtYSVkQ();
    d.handler = b;
    d.filter = c;
    f = !(d.handler == null);

    if (!f)
    {

      if (!(UwAABFd8NT24si0NEtJjHA))
      {
        UwAABFd8NT24si0NEtJjHA = new ctor$wBYABk0OxjS1LNcuSVqN0Q(null, 'QwEABld8NT24si0NEtJjHA');
      }

      e = UwAABFd8NT24si0NEtJjHA;
      return e;
    }

    d.i = 0;
    e = new ctor$wBYABk0OxjS1LNcuSVqN0Q(d, '_WhereCounter_b__6a');
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.WhereCounter
  function CAEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f;

    d = /* DOMCreateType */new iJBm6yVO1T2Voi8mnhx8zA();
    d.handler = b;
    d.filter = c;
    f = !(d.handler == null);

    if (!f)
    {
      e = new ctor$xBYABprwDDG20eOlCofu_aA(null, 'RAEABld8NT24si0NEtJjHA');
      return e;
    }

    d.i = 0;
    e = new ctor$xBYABprwDDG20eOlCofu_aA(d, '_WhereCounter_b__6f');
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.WhereCounter
  function CQEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new QAlWdjNh4TeEP7r1b_a1_bMA();
    d.counter = c;
    e = BwEABld8NT24si0NEtJjHA(b, new ctor$uQAABk06_bTuIwW5Gm2dAhQ(d, '_WhereCounter_b__72'));
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.WhereCounter
  function CgEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new _5lQop9mSpjmzAewvZ5tmHg();
    d.counter = c;
    e = CAEABld8NT24si0NEtJjHA(b, new ctor$uQAABk06_bTuIwW5Gm2dAhQ(d, '_WhereCounter_b__75'));
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.AllWithPrevious
  function CwEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g, h, i, j;

    d = void(0);
    e = 0;
    f = 1;
    i = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (i._6wEABu7N0xGI6ACQJ1TEOg())
      {
        g = i.__bQEABrYmRzSu_anO2U_bk1MA();
        j = !e;

        if (!j)
        {
          f = c.Invoke(d, g);
          j = f;

          if (!j)
          {
            break;
          }

        }

        e = 1;
        d = g;
      }
    }
    finally
    {
      j = (i == null);

      if (!j)
      {
        i.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    h = f;
    return h;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.AddRange
  function DAEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g;

    e = c;

    for (f = 0; (f < e.length); f++)
    {
      d = e[f];
      b.ER8ABnTAkDm_aGe9ZbsQrAQ(d);
    }

  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Times
  function DQEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;


    for (d = 0; (d < b); d++)
    {
      c.Invoke();
    }

  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Times
  function DgEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;


    for (d = 0; (d < b); d++)
    {
      c.Invoke(d);
    }

  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Times
  function DwEABld8NT24si0NEtJjHA(b, c)
  {
    dQEABt6iSDG8lMkOlPTy_aw(tgEABo6jCDaH_ab0PgaBeQQ(0, b), c);
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Times
  function EAEABld8NT24si0NEtJjHA(b, c)
  {
    var d;

    d = /* DOMCreateType */new co_boUZabXj6cFhkMTVnf_bw();
    d.HandlerWithSignalNext = c;
    dQEABt6iSDG8lMkOlPTy_aw(tgEABo6jCDaH_ab0PgaBeQQ(0, b), new ctor$yBYABjoCmjq8bkwO1HbMkw(d, '_Times_b__78'));
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Take
  function EQEABld8NT24si0NEtJjHA(b)
  {
    var c, d;

    d = !b._6wEABu7N0xGI6ACQJ1TEOg();

    if (!d)
    {
      c = b.__bQEABrYmRzSu_anO2U_bk1MA();
      return c;
    }

    throw NQcABh20mDuxDBcz4r7ZkQ('source is empty');
    return c;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Take
  function EgEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g;

    d = new Array(c);

    for (e = 0; (e < c); e++)
    {
      d[e] = EQEABld8NT24si0NEtJjHA(b);
    }

    f = d;
    return f;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.TakeOrDefault
  function EwEABld8NT24si0NEtJjHA(b)
  {
    var c, d, e;

    c = void(0);
    e = !b._6wEABu7N0xGI6ACQJ1TEOg();

    if (!e)
    {
      c = b.__bQEABrYmRzSu_anO2U_bk1MA();
    }

    d = c;
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Combine
  function FAEABld8NT24si0NEtJjHA(b)
  {
    var c, d;

    c = /* DOMCreateType */new KM2wMIZyODyhparCPIC99Q();
    c.source = b;
    d = new ctor$xBYABprwDDG20eOlCofu_aA(c, '_Combine_b__7b');
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.And
  function FQEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new GvLg0uN_bQzWF_a1BnJS9QEw();
    d.a = b;
    d.b = c;
    e = new ctor$tQAABlFmNjqPFAFznSoELg(d, '_And_b__7e');
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Or
  function FgEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new XRnr0UhSIj6Pm3fXaFyYQg();
    d.a = b;
    d.b = c;
    e = new ctor$tQAABlFmNjqPFAFznSoELg(d, '_Or_b__81');
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ToArray
  function FwEABld8NT24si0NEtJjHA(b, c)
  {
    var d;

    d = qwEABo6jCDaH_ab0PgaBeQQ(ygEABo6jCDaH_ab0PgaBeQQ(b, c));
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.WhereNot
  function GAEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new _5SIZAMGqQzWUsJ1PkNXS9Q();
    d.filter = c;
    e = zQEABo6jCDaH_ab0PgaBeQQ(b, new ctor$uQAABk06_bTuIwW5Gm2dAhQ(d, '_WhereNot_b__84'));
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ConcatToLines
  function GQEABld8NT24si0NEtJjHA(b)
  {
    var c;


    if (!(VAAABFd8NT24si0NEtJjHA))
    {
      VAAABFd8NT24si0NEtJjHA = new ctor$uQAABk06_bTuIwW5Gm2dAhQ(null, 'RQEABld8NT24si0NEtJjHA');
    }

    c = GgEABld8NT24si0NEtJjHA(ygEABo6jCDaH_ab0PgaBeQQ(b, VAAABFd8NT24si0NEtJjHA));
    return c;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Concat
  function GgEABld8NT24si0NEtJjHA(b)
  {
    var c;

    c = QQoABpsWqDaU6r2n8iDVRQ(qwEABo6jCDaH_ab0PgaBeQQ(wgEABo6jCDaH_ab0PgaBeQQ(b)));
    return c;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Count
  function GwEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g;

    d = PAoABpsWqDaU6r2n8iDVRQ(b, c);
    e = 0;
    while (!(d < 0))
    {
      e++;
      d = PQoABpsWqDaU6r2n8iDVRQ(b, c, (d + PgoABpsWqDaU6r2n8iDVRQ(c)));
    }
    f = e;
    return f;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ConcatSingle
  function HAEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    e = [
      c
    ];
    d = xwEABo6jCDaH_ab0PgaBeQQ(b, e);
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Replace
  function HQEABld8NT24si0NEtJjHA(b, c, d)
  {
    var e, f, g, h;

    h = [
      c
    ];
    e = h;
    h = [
      d
    ];
    f = h;
    g = HgEABld8NT24si0NEtJjHA(b, e, f);
    return g;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Replace
  function HgEABld8NT24si0NEtJjHA(b, c, d)
  {
    var e, f;

    e = /* DOMCreateType */new Pm5E_bEDOCzW9wbch3sKWYQ();
    e.remove = c;
    f = xwEABo6jCDaH_ab0PgaBeQQ(zQEABo6jCDaH_ab0PgaBeQQ(b, new ctor$uQAABk06_bTuIwW5Gm2dAhQ(e, '_Replace_b__89')), d);
    return f;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Split
  function HwEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g, h, i, j;

    d = new ctor$bxUABkaD4z_a2whoejWFgQA();
    e = PgoABpsWqDaU6r2n8iDVRQ(b);

    for (f = 0; (f < e); f += c)
    {
      g = c;
      h = (e - f);
      j = !(h < g);

      if (!j)
      {
        h = g;
      }

      d.chUABkaD4z_a2whoejWFgQA(WQoABpsWqDaU6r2n8iDVRQ(b, f, g));
    }

    i = d.dBUABkaD4z_a2whoejWFgQA();
    return i;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Split
  function IAEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g, h, i, j;

    d = new ctor$bxUABkaD4z_a2whoejWFgQA();

    for (e = 0; (e < b.length); e += c)
    {
      f = new Array(c);

      for (g = 0; (g < c); g++)
      {
        h = (e + g);
        j = !(h < b.length);

        if (!j)
        {
          f[g] = b[h];
        }

      }

      d.chUABkaD4z_a2whoejWFgQA(f);
    }

    i = d.dBUABkaD4z_a2whoejWFgQA();
    return i;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Apply
  function IQEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    e = (b == null);

    if (!e)
    {
      c.Invoke(b);
    }

    d = b;
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Apply
  function IgEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new ogT7xpQBVzWEXp4uTwI3FQ();
    d.e = b;
    d.HandlerWithRetry = c;
    d.Retry = null;
    d.Retry = new ctor$wBYABk0OxjS1LNcuSVqN0Q(d, '_Apply_b__8c');
    d.Retry.Invoke();
    e = d.e;
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Do
  function IwEABld8NT24si0NEtJjHA(b)
  {
    var c, d, e;

    d = b.sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (d._6wEABu7N0xGI6ACQJ1TEOg())
      {
        c = d.__bQEABrYmRzSu_anO2U_bk1MA();
        e = (c == null);

        if (!e)
        {
          c.Invoke();
        }

      }
    }
    finally
    {
      e = (d == null);

      if (!e)
      {
        d.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.AtModulus
  function JAEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = qwEABo6jCDaH_ab0PgaBeQQ(b);
    e = d[(c % d.length)];
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.AtOrDefault
  function JQEABld8NT24si0NEtJjHA(b, c, d)
  {
    var e, f, g, h, i, j;

    e = 0;
    f = d;
    i = b.sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (i._6wEABu7N0xGI6ACQJ1TEOg())
      {
        g = i.__bQEABrYmRzSu_anO2U_bk1MA();
        j = !(e == c);

        if (!j)
        {
          f = g;
          break;
        }

        e++;
      }
    }
    finally
    {
      j = (i == null);

      if (!j)
      {
        i.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    h = f;
    return h;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Previous
  function JgEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g, h, i;

    d = ogEABo6jCDaH_ab0PgaBeQQ(b);
    e = void(0);
    h = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (h._6wEABu7N0xGI6ACQJ1TEOg())
      {
        f = h.__bQEABrYmRzSu_anO2U_bk1MA();
        i = !c.Invoke(f);

        if (!i)
        {
          e = d;
          break;
        }

        d = f;
      }
    }
    finally
    {
      i = (h == null);

      if (!i)
      {
        h.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    g = e;
    return g;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Next
  function JwEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g, h, i;

    d = ogEABo6jCDaH_ab0PgaBeQQ(b);
    e = void(0);
    h = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (h._6wEABu7N0xGI6ACQJ1TEOg())
      {
        f = h.__bQEABrYmRzSu_anO2U_bk1MA();
        i = !c.Invoke(d);

        if (!i)
        {
          e = f;
          break;
        }

        d = f;
      }
    }
    finally
    {
      i = (h == null);

      if (!i)
      {
        h.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    g = e;
    return g;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Max
  function KAEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    e = !(b > c);

    if (!e)
    {
      d = b;
      return d;
    }

    d = c;
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Min
  function KQEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    e = !(b < c);

    if (!e)
    {
      d = b;
      return d;
    }

    d = c;
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Min
  function KgEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    e = !(b < c);

    if (!e)
    {
      d = b;
      return d;
    }

    d = c;
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Max
  function KwEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    e = !(b > c);

    if (!e)
    {
      d = b;
      return d;
    }

    d = c;
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.AsCyclic
  function LAEABld8NT24si0NEtJjHA(b)
  {
    var c, d;

    c = /* DOMCreateType */new MDU8YYFIUjeN1dpwZTlFgQ();
    c.f = b;
    c.done = null;
    c.done = new ctor$wBYABk0OxjS1LNcuSVqN0Q(c, '_AsCyclic_b__8f');
    d = c.done;
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.AsParamsAction
  function LQEABld8NT24si0NEtJjHA(b)
  {
    var c, d;

    c = /* DOMCreateType */new yZNKXeEUNji_aF67xtLQwoQ();
    c.f = b;
    d = new ctor$KwIABl7s3zqtiCFU18W08Q(c, '_AsParamsAction_b__92');
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.AsNegative
  function LgEABld8NT24si0NEtJjHA(b)
  {
    var c, d;

    c = /* DOMCreateType */new EwM_b_aVw5SzyUSDp0FJSOxA();
    c.f = b;
    d = new ctor$uQAABk06_bTuIwW5Gm2dAhQ(c, '_AsNegative_b__95');
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.AsAction
  function LwEABld8NT24si0NEtJjHA(b)
  {
    var c, d;

    c = /* DOMCreateType */new PUekzernPDejF8Ar_b3I1Lg();
    c.f = b;
    d = new ctor$xBYABprwDDG20eOlCofu_aA(c, '_AsAction_b__98');
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.WithOffset
  function MAEABld8NT24si0NEtJjHA(b, c, d)
  {
    var e, f;

    e = /* DOMCreateType */new YyjrZ6H41jiHy4SyznJbvg();
    e.f = b;
    e.x = c;
    e.y = d;
    f = new ctor$yBYABjoCmjq8bkwO1HbMkw(e, '_WithOffset_b__9b');
    return f;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.WithOffset
  function MQEABld8NT24si0NEtJjHA(b, c, d)
  {
    var e, f;

    e = /* DOMCreateType */new YZ6EFZiwJDS7OIvFXmRA5A();
    e.f = b;
    e.x = c;
    e.y = d;
    f = new ctor$vQAABriGdjqO_bQaeO7VZFQ(e, '_WithOffset_b__9e');
    return f;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.With
  function MgEABld8NT24si0NEtJjHA(b, c, d)
  {
    var e, f;

    e = /* DOMCreateType */new dmQt9WVtMTO5ZFe4g0Q5Dg();
    e.f = b;
    e.fx = c;
    e.fy = d;
    f = new ctor$vQAABriGdjqO_bQaeO7VZFQ(e, '_With_b__a1');
    return f;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Y
  function MwEABld8NT24si0NEtJjHA(b)
  {
    var c, d, e;

    c = /* DOMCreateType */new RA0BU36z_bT29dRo9nWf8xg();
    c.le = b;
    c.me = null;
    e = new ctor$uQAABk06_bTuIwW5Gm2dAhQ(c, '_Y_b__a4');
    c.me = new ctor$uQAABk06_bTuIwW5Gm2dAhQ(c, '_Y_b__a4');
    d = e;
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Y
  function NAEABld8NT24si0NEtJjHA(b)
  {
    var c, d, e;

    c = /* DOMCreateType */new Abk3J68_aYzW0_b75YvY_aPpQ();
    c.le = b;
    c.me = null;
    e = new ctor$vQAABriGdjqO_bQaeO7VZFQ(c, '_Y_b__a7');
    c.me = new ctor$vQAABriGdjqO_bQaeO7VZFQ(c, '_Y_b__a7');
    d = e;
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Y
  function NQEABld8NT24si0NEtJjHA(b)
  {
    var c, d, e;

    c = /* DOMCreateType */new Z4G7uumhiT_aSMM0fKcpSJg();
    c.le = b;
    c.me = null;
    e = new ctor$xBYABprwDDG20eOlCofu_aA(c, '_Y_b__aa');
    c.me = new ctor$xBYABprwDDG20eOlCofu_aA(c, '_Y_b__aa');
    d = e;
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Y
  function NgEABld8NT24si0NEtJjHA(b)
  {
    var c, d, e;

    c = /* DOMCreateType */new xOekMYkeTD2q_bAla71f4og();
    c.le = b;
    c.me = null;
    e = new ctor$yBYABjoCmjq8bkwO1HbMkw(c, '_Y_b__ad');
    c.me = new ctor$yBYABjoCmjq8bkwO1HbMkw(c, '_Y_b__ad');
    d = e;
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Aggregate
  function NwEABld8NT24si0NEtJjHA(b, c)
  {
    var d;

    c.Invoke(b);
    d = b;
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Randomize
  function OAEABld8NT24si0NEtJjHA(b)
  {
    var c, d, e, f, g;

    c = rAEABo6jCDaH_ab0PgaBeQQ(b);
    d = new ctor$bxUABkaD4z_a2whoejWFgQA();
    g = !(UgAABFd8NT24si0NEtJjHA == null);

    if (!g)
    {
      UgAABFd8NT24si0NEtJjHA = new ctor$FhYABpMoUTSFZoF5ucbulg();
    }

    while ((c.dxUABkaD4z_a2whoejWFgQA() > 0))
    {
      e = (UgAABFd8NT24si0NEtJjHA.GxYABpMoUTSFZoF5ucbulg() % c.dxUABkaD4z_a2whoejWFgQA());
      d.chUABkaD4z_a2whoejWFgQA(c.dhUABkaD4z_a2whoejWFgQA(e));
      c.eRUABkaD4z_a2whoejWFgQA(e);
    }
    f = d;
    return f;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.RandomIndex
  function OQEABld8NT24si0NEtJjHA(b)
  {
    var c, d;

    c = qwEABo6jCDaH_ab0PgaBeQQ(b);
    d = _9wAABld8NT24si0NEtJjHA(c.length);
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Random
  function OgEABld8NT24si0NEtJjHA(b)
  {
    var c;

    c = pAEABo6jCDaH_ab0PgaBeQQ(OAEABld8NT24si0NEtJjHA(b));
    return c;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Random
  function OwEABld8NT24si0NEtJjHA(b, c)
  {
    var d;

    d = pAEABo6jCDaH_ab0PgaBeQQ(OAEABld8NT24si0NEtJjHA(zQEABo6jCDaH_ab0PgaBeQQ(b, c)));
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Geomean
  function PAEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g, h, i;

    d = 1;
    e = 0;
    h = ygEABo6jCDaH_ab0PgaBeQQ(b, c).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (h._6wEABu7N0xGI6ACQJ1TEOg())
      {
        f = h.__bQEABrYmRzSu_anO2U_bk1MA();
        e++;
        d *= f;
      }
    }
    finally
    {
      i = (h == null);

      if (!i)
      {
        h.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    g = zxUABuZEHT_aKgf0BKjPkdw(d, (1 / e));
    return g;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.MatrixMultiplication
  function PQEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f;

    d = /* DOMCreateType */new _2GO8XPsqnjuHE90tY1VuRA();
    d.y = c;
    f = (b.length == d.y.length);

    if (!f)
    {
      throw NgcABh20mDuxDBcz4r7ZkQ();
    }

    e = vQEABo6jCDaH_ab0PgaBeQQ(yQEABo6jCDaH_ab0PgaBeQQ(b, new ctor$vQAABriGdjqO_bQaeO7VZFQ(d, '_MatrixMultiplication_b__b0')));
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Product
  function PgEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g, h;

    d = 1;
    g = ygEABo6jCDaH_ab0PgaBeQQ(b, c).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (g._6wEABu7N0xGI6ACQJ1TEOg())
      {
        e = g.__bQEABrYmRzSu_anO2U_bk1MA();
        d *= e;
      }
    }
    finally
    {
      h = (g == null);

      if (!h)
      {
        g.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    f = d;
    return f;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.<ToFlaggable>b__2
  function PwEABld8NT24si0NEtJjHA(b)
  {
    return !b.SkipAtNextIteration;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.<ToFlaggable>b__3
  function QAEABld8NT24si0NEtJjHA(b)
  {
    return !b.Stream.SkipElements;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.<ForEachNewOrExistingItem>b__2a
  function QQEABld8NT24si0NEtJjHA(b)
  {
    b.Invoke();
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ToConcatStream
  function _0AAABld8NT24si0NEtJjHA(b)
  {
    var c, d;

    c = new ctor$SgEABriiRTaIq6lydFDtUw();
    c.Source = b;
    d = c;
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ToFlaggable
  function _0QAABld8NT24si0NEtJjHA(b)
  {
    var c, d, e;

    d = /* DOMCreateType */new SReNhk6LCzmwG6Z8kN7aCw();
    d.s = new ctor$UQEABshaxDWSoxBCTeBJLw();
    c = FwEABld8NT24si0NEtJjHA(b, new ctor$uQAABk06_bTuIwW5Gm2dAhQ(d, '_ToFlaggable_b__1'));
    e = zQEABo6jCDaH_ab0PgaBeQQ(zQEABo6jCDaH_ab0PgaBeQQ(c, new ctor$uQAABk06_bTuIwW5Gm2dAhQ(null, 'PwEABld8NT24si0NEtJjHA')), new ctor$uQAABk06_bTuIwW5Gm2dAhQ(null, 'QAEABld8NT24si0NEtJjHA'));
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.FixParam
  function _0gAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new RP_at2fVgVTyXMPJJ8qWVWQ();
    d.f = b;
    d.a = c;
    e = new ctor$KwIABl7s3zqtiCFU18W08Q(d, '_FixParam_b__6');
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.FixParam
  function _0wAABld8NT24si0NEtJjHA(b, c)
  {
    var d;

    d = _0gAABld8NT24si0NEtJjHA(c, b);
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.FixParam
  function _1AAABld8NT24si0NEtJjHA(b, c)
  {
    var d;

    d = _1QAABld8NT24si0NEtJjHA(c, b);
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.FixParam
  function _1QAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new AfBoWfaONDWeAUpTRyRpPw();
    d.f = b;
    d.a = c;
    e = new ctor$wBYABk0OxjS1LNcuSVqN0Q(d, '_FixParam_b__9');
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.FixParam
  function _1gAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new QjuuFI74gzCfNKjCAOj56A();
    d.f = b;
    d.a = c;
    e = new ctor$tQAABlFmNjqPFAFznSoELg(d, '_FixParam_b__c');
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.FixParam
  function _1wAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new ewjZL2vxWTOiUOm9uq1VOg();
    d.f = b;
    d.b = c;
    e = new ctor$uQAABk06_bTuIwW5Gm2dAhQ(d, '_FixParam_b__f');
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.FixFirstParam
  function _2AAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new IbZXj_aJM6Tei7MUUiRrY1w();
    d.f = b;
    d.a = c;
    e = new ctor$uQAABk06_bTuIwW5Gm2dAhQ(d, '_FixFirstParam_b__12');
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.FixFirstParam
  function _2QAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new yBmgfjjTCDe9rp3aenixIA();
    d.f = b;
    d.a = c;
    e = new ctor$xBYABprwDDG20eOlCofu_aA(d, '_FixFirstParam_b__15');
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.FixLastParam
  function _2gAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new zfT_bURemHjWzTZU2gQESqQ();
    d.f = b;
    d.b = c;
    e = new ctor$uQAABk06_bTuIwW5Gm2dAhQ(d, '_FixLastParam_b__18');
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.FixLastParamToIndex
  function _2wAABld8NT24si0NEtJjHA(b)
  {
    var c, d;

    c = /* DOMCreateType */new _1OR8C0xGFz_aRlzFHf6Ke2A();
    c.f = b;
    d = new ctor$KwIABl7s3zqtiCFU18W08Q(c, '_FixLastParamToIndex_b__1b');
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.FixLastParam
  function _3AAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new Ker8soxihTmYX77_bYkfgSA();
    d.f = b;
    d.c = c;
    e = new ctor$vQAABriGdjqO_bQaeO7VZFQ(d, '_FixLastParam_b__1e');
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.FixLastParam
  function _3QAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new UX_an3NdjizWg0VsfBcYxXg();
    d.f = b;
    d.d = c;
    e = new ctor$wQAABvv5zT_azC45jKLbmOw(d, '_FixLastParam_b__21');
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.FixLastParam
  function _3gAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new Wdfe2hnP4jCMBiPIztBSFQ();
    d.f = b;
    d.c = c;
    e = new ctor$yBYABjoCmjq8bkwO1HbMkw(d, '_FixLastParam_b__24');
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.FixLastParam
  function _3wAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new __b9PuYGD9WTeS_aerLkvXyNQ();
    d.f = b;
    d.d = c;
    e = new ctor$zBYABsGwbT_auFf3i5YQTBA(d, '_FixLastParam_b__27');
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ForEach
  function _4AAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g, h;

    g = !(b == null);

    if (!g)
    {
      throw sBQABnHDaDqkS8IeFcu5Cw('array');
    }

    g = !(c == null);

    if (!g)
    {
      throw sBQABnHDaDqkS8IeFcu5Cw('action');
    }

    d = 0;
    h = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (h._6wEABu7N0xGI6ACQJ1TEOg())
      {
        e = h.__bQEABrYmRzSu_anO2U_bk1MA();
        c.Invoke(e, d);
        d++;
      }
    }
    finally
    {
      g = (h == null);

      if (!g)
      {
        h.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    f = b;
    return f;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ForEach
  function _4QAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g, h;

    d = c.sAIABnMeWzaNooAKOmFm5g();
    try
    {
      g = b.sAIABnMeWzaNooAKOmFm5g();
      try
      {
        while (g._6wEABu7N0xGI6ACQJ1TEOg())
        {
          e = g.__bQEABrYmRzSu_anO2U_bk1MA();
          h = !d._6wEABu7N0xGI6ACQJ1TEOg();

          if (!h)
          {
            d.__bQEABrYmRzSu_anO2U_bk1MA().Invoke(e);
          }

        }
      }
      finally
      {
        h = (g == null);

        if (!h)
        {
          g.__bAEABq_bUDz_aWf_aXPRTEtLA();
        }

      }
    }
    finally
    {
      h = (d == null);

      if (!h)
      {
        d.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    f = b;
    return f;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ForEach
  function _4gAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g;

    f = !(b == null);

    if (!f)
    {
      throw sBQABnHDaDqkS8IeFcu5Cw('array');
    }

    f = !(c == null);

    if (!f)
    {
      throw sBQABnHDaDqkS8IeFcu5Cw('action');
    }

    g = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (g._6wEABu7N0xGI6ACQJ1TEOg())
      {
        d = g.__bQEABrYmRzSu_anO2U_bk1MA();
        c.Invoke(d);
      }
    }
    finally
    {
      f = (g == null);

      if (!f)
      {
        g.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    e = b;
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ForEachReversed
  function _4wAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g;

    d = qwEABo6jCDaH_ab0PgaBeQQ(b);

    for (e = (d.length - 1); !(e < 0); e--)
    {
      c.Invoke(d[e]);
    }

    f = b;
    return f;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ForEachWithPrevious
  function _5AAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g, h;

    d = void(0);
    e = 0;
    g = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (g._6wEABu7N0xGI6ACQJ1TEOg())
      {
        f = g.__bQEABrYmRzSu_anO2U_bk1MA();
        h = !e;

        if (!h)
        {
          c.Invoke(d, f);
        }

        e = 1;
        d = f;
      }
    }
    finally
    {
      h = (g == null);

      if (!h)
      {
        g.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ForEachNewOrExistingItem
  function _5QAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f;

    e = /* DOMCreateType */new WyuLU88PFzyWwIUEM5otPQ();
    e.HandlerWithDelayedWork = c;
    e.LazyLoad = new ctor$cAEABn6dTTmVtsTdMWBbqg();
    d = cQEABt6iSDG8lMkOlPTy_aw(e.LazyLoad, new ctor$xBYABprwDDG20eOlCofu_aA(null, 'QQEABld8NT24si0NEtJjHA'));
    d.Invoke();
    f = _5gAABld8NT24si0NEtJjHA(b, new ctor$yBYABjoCmjq8bkwO1HbMkw(e, '_ForEachNewOrExistingItem_b__2b'));
    return f;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ForEachNewOrExistingItem
  function _5gAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new oL5gJG5v6DuV_bqmenqkvBA();
    d.source = b;
    d.handler = c;
    _4AAABld8NT24si0NEtJjHA(d.source, d.handler);
    d.source.zxQABk_bJOjKzqp0tqvAKug(new ctor$_6BQABpa9FTO24spPe0uOiw(d, '_ForEachNewOrExistingItem_b__2f'));
    e = d.source;
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ForEachNewOrExistingItem
  function _5wAABld8NT24si0NEtJjHA(b, c)
  {
    var d;

    _4gAABld8NT24si0NEtJjHA(_6AAABld8NT24si0NEtJjHA(b, c), c);
    d = b;
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ForEachNewItem
  function _6AAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new uok_bOIrI7TqwMdahUmeshQ();
    d.source = b;
    d.handler = c;
    d.source.zxQABk_bJOjKzqp0tqvAKug(new ctor$_6BQABpa9FTO24spPe0uOiw(d, '_ForEachNewItem_b__32'));
    e = d.source;
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ForEachItemDeleted
  function _6QAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new pgwJzi5jKD20zuqNxsiBdg();
    d.source = b;
    d.handler = c;
    d.cache = new ctor$bxUABkaD4z_a2whoejWFgQA();
    d.cache.cRUABkaD4z_a2whoejWFgQA(d.source);
    d.source.zxQABk_bJOjKzqp0tqvAKug(new ctor$_6BQABpa9FTO24spPe0uOiw(d, '_ForEachItemDeleted_b__35'));
    e = d.source;
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.WithEvents
  function _6gAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new KYdphJ7TGD2RUSoayoFPZw();
    d.handler = c;
    e = _6wAABld8NT24si0NEtJjHA(b, new ctor$vQAABriGdjqO_bQaeO7VZFQ(d, '_WithEvents_b__38'));
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.WithEvents
  function _6wAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g;

    f = /* DOMCreateType */new DkcfGwE4sTiCB31P0AfvPg();
    f.handler = c;
    d = _7AAABld8NT24si0NEtJjHA(b);
    f.c = new ctor$bxUABkaD4z_a2whoejWFgQA();
    e = new ctor$yBYABjoCmjq8bkwO1HbMkw(f, '_WithEvents_b__3e');
    d.zAAABt_anizClbIzCpFmnkg(e);
    d.ygAABt_anizClbIzCpFmnkg(new ctor$yBYABjoCmjq8bkwO1HbMkw(f, '_WithEvents_b__3f'));
    _4AAABld8NT24si0NEtJjHA(b, e);
    g = d;
    return g;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.WithEvents
  function _7AAABld8NT24si0NEtJjHA(b)
  {
    var c;

    c = new ctor$zgAABt_anizClbIzCpFmnkg(b);
    return c;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ForEachItemDeleted
  function _7QAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new v1EHD_aU1nzGQ70HvlUSMCA();
    d.source = b;
    d.handler = c;
    d.cache = new ctor$bxUABkaD4z_a2whoejWFgQA();
    d.cache.cRUABkaD4z_a2whoejWFgQA(d.source);
    d.h = null;
    d.Dispose = new ctor$wBYABk0OxjS1LNcuSVqN0Q(d, '_ForEachItemDeleted_b__42');
    d.h = new ctor$_6BQABpa9FTO24spPe0uOiw(d, '_ForEachItemDeleted_b__43');
    d.source.zxQABk_bJOjKzqp0tqvAKug(d.h);
    e = d.source;
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.InvokeAsParams
  function _7gAABld8NT24si0NEtJjHA(b, c, d)
  {
    var e;

    e = /* DOMCreateType */new zOTB2y9xuz2FrCR0KfRamA();
    e.e = b;
    e.selector = c;
    _4AAABld8NT24si0NEtJjHA(d, new ctor$yBYABjoCmjq8bkwO1HbMkw(e, '_InvokeAsParams_b__46'));
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.InvokeAsParams
  function _7wAABld8NT24si0NEtJjHA(b, c, d)
  {
    var e;

    e = /* DOMCreateType */new lA0TRHB4NzSPqkaeMkChXg();
    e.e = b;
    e.selector = c;
    _4AAABld8NT24si0NEtJjHA(d, new ctor$yBYABjoCmjq8bkwO1HbMkw(e, '_InvokeAsParams_b__49'));
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Dispose
  function _8AAABld8NT24si0NEtJjHA(b)
  {
    var c, d, e, f;

    d = b;

    for (e = 0; (e < d.length); e++)
    {
      c = d[e];
      c.__bAEABq_bUDz_aWf_aXPRTEtLA();
    }

  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.IndexOf
  function _8QAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g, h, i;

    d = -1;
    e = -1;
    h = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (h._6wEABu7N0xGI6ACQJ1TEOg())
      {
        f = h.__bQEABrYmRzSu_anO2U_bk1MA();
        e++;
        i = !c.Invoke(f);

        if (!i)
        {
          d = e;
          break;
        }

      }
    }
    finally
    {
      i = (h == null);

      if (!i)
      {
        h.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    g = d;
    return g;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.MirrorTo
  function _8gAABld8NT24si0NEtJjHA(b, c)
  {
    var d;

    d = /* DOMCreateType */new i0AS3J1S4DuiVMHDgMgneA();
    d.source = b;
    d.mirror = c;
    _5wAABld8NT24si0NEtJjHA(d.source, new ctor$xBYABprwDDG20eOlCofu_aA(d, '_MirrorTo_b__4c'));
    _6QAABld8NT24si0NEtJjHA(d.source, new ctor$xBYABprwDDG20eOlCofu_aA(d, '_MirrorTo_b__4d'));
    _5wAABld8NT24si0NEtJjHA(d.mirror, new ctor$xBYABprwDDG20eOlCofu_aA(d, '_MirrorTo_b__4e'));
    _6QAABld8NT24si0NEtJjHA(d.mirror, new ctor$xBYABprwDDG20eOlCofu_aA(d, '_MirrorTo_b__4f'));
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ToRange
  function _8wAABld8NT24si0NEtJjHA(b)
  {
    var c;

    c = tgEABo6jCDaH_ab0PgaBeQQ(0, b);
    return c;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.AttachTo
  function _9AAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new _1xPbyFTBhTGwsziJff739Q();
    d.target = c;
    _5wAABld8NT24si0NEtJjHA(b, new ctor$xBYABprwDDG20eOlCofu_aA(d.target, 'uRQABiPmKDK1qZ70wL0DGg'));
    _6QAABld8NT24si0NEtJjHA(b, new ctor$xBYABprwDDG20eOlCofu_aA(d, '_AttachTo_b__52'));
    e = b;
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Remove
  function _9QAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g, h, i;

    d = qwEABo6jCDaH_ab0PgaBeQQ(zQEABo6jCDaH_ab0PgaBeQQ(b, c));
    g = d;

    for (h = 0; (h < g.length); h++)
    {
      e = g[h];
      b.vBQABiPmKDK1qZ70wL0DGg(e);
    }

    f = b;
    return f;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ToFlags
  function _9gAABld8NT24si0NEtJjHA(b)
  {
    var c, d;

    c = vAEABo6jCDaH_ab0PgaBeQQ(yQEABo6jCDaH_ab0PgaBeQQ(b, new ctor$vQAABriGdjqO_bQaeO7VZFQ(null, 'QgEABld8NT24si0NEtJjHA')));
    d = c;
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Random
  function _9wAABld8NT24si0NEtJjHA(b)
  {
    var c;

    c = UQAABFd8NT24si0NEtJjHA.GRYABpMoUTSFZoF5ucbulg(b);
    return c;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Split
  function __aAAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    e = [
      c
    ];
    d = WwoABpsWqDaU6r2n8iDVRQ(b, e, 0);
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Split
  function __aQAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g, h, i;

    d = new ctor$bxUABkaD4z_a2whoejWFgQA();
    e = new ctor$HBYABqs_a3TCbkgZaEzn95Q();
    f = new ctor$_3xIABiMbyz2MLPIGW_ajOfg(b);
    try
    {
      g = f._3RIABpWteD_aswNSVa2oB8w();
      while (!(g == null))
      {
        i = !c.Invoke(g);

        if (!i)
        {
          d.chUABkaD4z_a2whoejWFgQA((e+''));
          e = new ctor$HBYABqs_a3TCbkgZaEzn95Q();
        }
        else
        {
          e.JRYABqs_a3TCbkgZaEzn95Q(g);
        }

        g = f._3RIABpWteD_aswNSVa2oB8w();
      }
      d.chUABkaD4z_a2whoejWFgQA((e+''));
      e = null;
    }
    finally
    {
      i = (f == null);

      if (!i)
      {
        f.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    h = d.dBUABkaD4z_a2whoejWFgQA();
    return h;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.AsEnumerable
  function __agAABld8NT24si0NEtJjHA(b)
  {
    var c, d;

    c = /* DOMCreateType */new RYo4vmL9qzGMNVWN9cnLHA();
    c.e = b;
    d = ygEABo6jCDaH_ab0PgaBeQQ(tgEABo6jCDaH_ab0PgaBeQQ(0, PgoABpsWqDaU6r2n8iDVRQ(c.e)), new ctor$uQAABk06_bTuIwW5Gm2dAhQ(c, '_AsEnumerable_b__56'));
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.InvokeAsEnumerable
  function __awAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f;

    e = wgEABo6jCDaH_ab0PgaBeQQ(c).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (e._6wEABu7N0xGI6ACQJ1TEOg())
      {
        d = e.__bQEABrYmRzSu_anO2U_bk1MA();
        b.Invoke(d);
      }
    }
    finally
    {
      f = (e == null);

      if (!f)
      {
        e.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.InvokeAsParams
  function __bAAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g;

    e = c;

    for (f = 0; (f < e.length); f++)
    {
      d = e[f];
      b.Invoke(d);
    }

  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.WhereListChanged
  function __bQAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new CK0tprkXqji6FWLejj1zsg();
    d.h = c;
    
    d.c = __bgAABld8NT24si0NEtJjHA(b, new ctor$wBYABk0OxjS1LNcuSVqN0Q(d, '_WhereListChanged_b__59'));
    e = new ctor$tQAABlFmNjqPFAFznSoELg(d, '_WhereListChanged_b__5a');
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.WhereListChanged
  function __bgAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e, f, g, h, i, j;

    e = null;
    f = /* DOMCreateType */new bwr0HOxBJjWqG8vnvAIIvw();
    f.h = c;
    f.dirty = 1;
    h = b;

    for (i = 0; (i < h.length); i++)
    {
      d = h[i];

      if (!e)
      {
        e = new ctor$_6BQABpa9FTO24spPe0uOiw(f, '_WhereListChanged_b__5d');
      }

      d.jxIABlS7FDWOiDAPgzDRQw(e);
    }

    g = new ctor$wBYABk0OxjS1LNcuSVqN0Q(f, '_WhereListChanged_b__5e');
    return g;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.WhereListChanged
  function __bwAABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new _8aWik8_burTy0C65RBz_bA0w();
    d.h = c;
    d.dirty = 1;
    b.jxIABlS7FDWOiDAPgzDRQw(new ctor$_6BQABpa9FTO24spPe0uOiw(d, '_WhereListChanged_b__62'));
    e = new ctor$wBYABk0OxjS1LNcuSVqN0Q(d, '_WhereListChanged_b__63');
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.ToDefault
  function AAEABld8NT24si0NEtJjHA(b)
  {
    var c, d;

    d = void(0);
    c = d;
    return c;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.Add
  function AQEABld8NT24si0NEtJjHA(b, c)
  {
    b.LgcABvCJyz2rxVAqPJCPoA(c.bRUABiSJcjGABn2zK7o7rQ(), c.bhUABiSJcjGABn2zK7o7rQ());
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.DistinctAddTo
  function AgEABld8NT24si0NEtJjHA(b, c)
  {
    var d, e;

    e = !c.Ex8ABnTAkDm_aGe9ZbsQrAQ(b);

    if (!e)
    {
      d = b;
      return d;
    }

    c.ER8ABnTAkDm_aGe9ZbsQrAQ(b);
    d = b;
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.AddTo
  function AwEABld8NT24si0NEtJjHA(b, c)
  {
    var d;

    c.ER8ABnTAkDm_aGe9ZbsQrAQ(b);
    d = b;
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.RemoveFrom
  function BAEABld8NT24si0NEtJjHA(b, c)
  {
    var d;

    c.FR8ABnTAkDm_aGe9ZbsQrAQ(b);
    d = b;
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions.RemoveAll
  function BQEABld8NT24si0NEtJjHA(b)
  {
    var c, d, e, f;

    d = qwEABo6jCDaH_ab0PgaBeQQ(b);

    for (e = 0; (e < d.length); e++)
    {
      c = d[e];
      b.FR8ABnTAkDm_aGe9ZbsQrAQ(c);
    }

  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+ConcatStream`1
  function jFDvD7iiRTaIq6lydFDtUw(){};
  jFDvD7iiRTaIq6lydFDtUw.TypeName = "ConcatStream_1";
  jFDvD7iiRTaIq6lydFDtUw.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$jFDvD7iiRTaIq6lydFDtUw = jFDvD7iiRTaIq6lydFDtUw.prototype;
  type$jFDvD7iiRTaIq6lydFDtUw.constructor = jFDvD7iiRTaIq6lydFDtUw;
  type$jFDvD7iiRTaIq6lydFDtUw.Source = null;
  type$jFDvD7iiRTaIq6lydFDtUw.Queue = null;
  var basector$jFDvD7iiRTaIq6lydFDtUw = $ctor$(null, null, type$jFDvD7iiRTaIq6lydFDtUw);
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+ConcatStream`1..ctor
  type$jFDvD7iiRTaIq6lydFDtUw.SgEABriiRTaIq6lydFDtUw = function ()
  {
    var a = this;

    a.Queue = new ctor$WxIABtDkdjKV6uuTXeDGyg();
  };
  var ctor$SgEABriiRTaIq6lydFDtUw = jFDvD7iiRTaIq6lydFDtUw.ctor = $ctor$(null, 'SgEABriiRTaIq6lydFDtUw', type$jFDvD7iiRTaIq6lydFDtUw);

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+ConcatStream`1.Add
  type$jFDvD7iiRTaIq6lydFDtUw.Add = function (b)
  {
    var a = this;

    a.Queue.XRIABtDkdjKV6uuTXeDGyg(b);
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+ConcatStream`1.GetEnumerator
  type$jFDvD7iiRTaIq6lydFDtUw.GetEnumerator = function ()
  {
    var a = this, b;

    b = new ctor$SwEABuz_atTCjCifUm3o_bUw(a.Source.sAIABnMeWzaNooAKOmFm5g(), a.Queue);
    return b;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+ConcatStream`1.System.Collections.IEnumerable.GetEnumerator
  type$jFDvD7iiRTaIq6lydFDtUw.System_Collections_IEnumerable_GetEnumerator = function ()
  {
    var a = this, b;

    b = a.GetEnumerator();
    return b;
  };

  // 
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+ConcatStream`1
  (function (i)  {
    i.sAIABnMeWzaNooAKOmFm5g = i.GetEnumerator;
    // System.Collections.IEnumerable
    i.VQEABu7N0xGI6ACQJ1TEOg = i.System_Collections_IEnumerable_GetEnumerator;
  }
  )(type$jFDvD7iiRTaIq6lydFDtUw);
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+ConcatStream`1+Enumerator
  function PXWxjOz_atTCjCifUm3o_bUw(){};
  PXWxjOz_atTCjCifUm3o_bUw.TypeName = "Enumerator";
  PXWxjOz_atTCjCifUm3o_bUw.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$PXWxjOz_atTCjCifUm3o_bUw = PXWxjOz_atTCjCifUm3o_bUw.prototype;
  type$PXWxjOz_atTCjCifUm3o_bUw.constructor = PXWxjOz_atTCjCifUm3o_bUw;
  type$PXWxjOz_atTCjCifUm3o_bUw.Source = null;
  type$PXWxjOz_atTCjCifUm3o_bUw.Queue = null;
  type$PXWxjOz_atTCjCifUm3o_bUw.InternalCurrent = null;
  var basector$PXWxjOz_atTCjCifUm3o_bUw = $ctor$(null, null, type$PXWxjOz_atTCjCifUm3o_bUw);
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+ConcatStream`1+Enumerator..ctor
  type$PXWxjOz_atTCjCifUm3o_bUw.SwEABuz_atTCjCifUm3o_bUw = function (b, c)
  {
    var a = this;

    a.Source = b;
    a.Queue = c;
  };
  var ctor$SwEABuz_atTCjCifUm3o_bUw = $ctor$(null, 'SwEABuz_atTCjCifUm3o_bUw', type$PXWxjOz_atTCjCifUm3o_bUw);

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+ConcatStream`1+Enumerator.get_Current
  type$PXWxjOz_atTCjCifUm3o_bUw.TAEABuz_atTCjCifUm3o_bUw = function ()
  {
    var a = this, b;

    b = a.InternalCurrent;
    return b;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+ConcatStream`1+Enumerator.Dispose
  type$PXWxjOz_atTCjCifUm3o_bUw.TQEABuz_atTCjCifUm3o_bUw = function ()
  {
    var a = this;

  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+ConcatStream`1+Enumerator.System.Collections.IEnumerator.get_Current
  type$PXWxjOz_atTCjCifUm3o_bUw.TgEABuz_atTCjCifUm3o_bUw = function ()
  {
    var a = this, b;

    b = a.TAEABuz_atTCjCifUm3o_bUw();
    return b;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+ConcatStream`1+Enumerator.MoveNext
  type$PXWxjOz_atTCjCifUm3o_bUw.TwEABuz_atTCjCifUm3o_bUw = function ()
  {
    var a = this, b, c;

    
    c = !a.Source._6wEABu7N0xGI6ACQJ1TEOg();

    if (!c)
    {
      a.InternalCurrent = a.Source.__bQEABrYmRzSu_anO2U_bk1MA();
      b = 1;
      return b;
    }

    c = !(a.Queue.XhIABtDkdjKV6uuTXeDGyg() > 0);

    if (!c)
    {
      a.InternalCurrent = a.Queue.YhIABtDkdjKV6uuTXeDGyg();
      b = 1;
      return b;
    }

    b = 0;
    return b;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+ConcatStream`1+Enumerator.Reset
  type$PXWxjOz_atTCjCifUm3o_bUw.UAEABuz_atTCjCifUm3o_bUw = function ()
  {
    var a = this;

    throw _0hUABgW6xj6lZ8OoWLi9AQ();
  };

  // 
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+ConcatStream`1+Enumerator
  (function (i)  {
    i.__bQEABrYmRzSu_anO2U_bk1MA = i.TAEABuz_atTCjCifUm3o_bUw;
    // System.IDisposable
    i.__bAEABq_bUDz_aWf_aXPRTEtLA = i.TQEABuz_atTCjCifUm3o_bUw;
    // System.Collections.IEnumerator
    i._6wEABu7N0xGI6ACQJ1TEOg = i.TwEABuz_atTCjCifUm3o_bUw;
    i._7AEABu7N0xGI6ACQJ1TEOg = i.TgEABuz_atTCjCifUm3o_bUw;
    i._7QEABu7N0xGI6ACQJ1TEOg = i.UAEABuz_atTCjCifUm3o_bUw;
  }
  )(type$PXWxjOz_atTCjCifUm3o_bUw);
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+FlaggableStream
  function _4rNLqMhaxDWSoxBCTeBJLw(){};
  _4rNLqMhaxDWSoxBCTeBJLw.TypeName = "FlaggableStream";
  _4rNLqMhaxDWSoxBCTeBJLw.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$_4rNLqMhaxDWSoxBCTeBJLw = _4rNLqMhaxDWSoxBCTeBJLw.prototype;
  type$_4rNLqMhaxDWSoxBCTeBJLw.constructor = _4rNLqMhaxDWSoxBCTeBJLw;
  type$_4rNLqMhaxDWSoxBCTeBJLw.SkipElements = false;
  var basector$_4rNLqMhaxDWSoxBCTeBJLw = $ctor$(null, null, type$_4rNLqMhaxDWSoxBCTeBJLw);
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+FlaggableStream..ctor
  type$_4rNLqMhaxDWSoxBCTeBJLw.UQEABshaxDWSoxBCTeBJLw = function ()
  {
    var a = this;

  };
  var ctor$UQEABshaxDWSoxBCTeBJLw = _4rNLqMhaxDWSoxBCTeBJLw.ctor = $ctor$(null, 'UQEABshaxDWSoxBCTeBJLw', type$_4rNLqMhaxDWSoxBCTeBJLw);

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+FlaggableElement`1
  function OGlhIt1JbjaXvqj0Gft6Jg(){};
  OGlhIt1JbjaXvqj0Gft6Jg.TypeName = "FlaggableElement_1";
  OGlhIt1JbjaXvqj0Gft6Jg.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$OGlhIt1JbjaXvqj0Gft6Jg = OGlhIt1JbjaXvqj0Gft6Jg.prototype;
  type$OGlhIt1JbjaXvqj0Gft6Jg.constructor = OGlhIt1JbjaXvqj0Gft6Jg;
  type$OGlhIt1JbjaXvqj0Gft6Jg.Current = null;
  type$OGlhIt1JbjaXvqj0Gft6Jg.Stream = null;
  type$OGlhIt1JbjaXvqj0Gft6Jg.SkipAtNextIteration = false;
  var basector$OGlhIt1JbjaXvqj0Gft6Jg = $ctor$(null, null, type$OGlhIt1JbjaXvqj0Gft6Jg);
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+FlaggableElement`1..ctor
  type$OGlhIt1JbjaXvqj0Gft6Jg.UgEABt1JbjaXvqj0Gft6Jg = function (b, c)
  {
    var a = this;

    a.Current = b;
    a.Stream = c;
  };
  var ctor$UgEABt1JbjaXvqj0Gft6Jg = $ctor$(null, 'UgEABt1JbjaXvqj0Gft6Jg', type$OGlhIt1JbjaXvqj0Gft6Jg);

  // ScriptCoreLib.Shared.Lambda.CyclicEnumeratorExtensions.ToCyclicAction
  function UwEABmAYAj_aAM_byUgmKuCQ(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new q9_bwwtTobTSgXH82inWS_bA();
    d.handler = c;
    d.e = VAEABmAYAj_aAM_byUgmKuCQ(b);
    e = new ctor$wBYABk0OxjS1LNcuSVqN0Q(d, '_ToCyclicAction_b__0');
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.CyclicEnumeratorExtensions.AsCyclicEnumerator
  function VAEABmAYAj_aAM_byUgmKuCQ(b)
  {
    var c;

    c = VQEABmAYAj_aAM_byUgmKuCQ(b).sAIABnMeWzaNooAKOmFm5g();
    return c;
  };

  // ScriptCoreLib.Shared.Lambda.CyclicEnumeratorExtensions.AsCyclicEnumerable
  function VQEABmAYAj_aAM_byUgmKuCQ(b)
  {
    var c, d;

    c = /* DOMCreateType */new lMC9sGlSxj_aPCB6jDr5ZPQ();
    c.source = b;
    d = new ctor$VwEABu5MljuLO0WTPu3uXA(new ctor$tQAABlFmNjqPFAFznSoELg(c, '_AsCyclicEnumerable_b__3'));
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.CyclicEnumeratorExtensions.AsCyclicEnumerable
  function VgEABmAYAj_aAM_byUgmKuCQ(b)
  {
    var c;

    c = new ctor$VwEABu5MljuLO0WTPu3uXA(b);
    return c;
  };

  // ScriptCoreLib.Shared.Lambda.CyclicEnumerator`1
  function IfemO_a5MljuLO0WTPu3uXA(){};
  IfemO_a5MljuLO0WTPu3uXA.TypeName = "CyclicEnumerator_1";
  IfemO_a5MljuLO0WTPu3uXA.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$IfemO_a5MljuLO0WTPu3uXA = IfemO_a5MljuLO0WTPu3uXA.prototype;
  type$IfemO_a5MljuLO0WTPu3uXA.constructor = IfemO_a5MljuLO0WTPu3uXA;
  type$IfemO_a5MljuLO0WTPu3uXA.Stream = null;
  type$IfemO_a5MljuLO0WTPu3uXA.GetSource = null;
  var basector$IfemO_a5MljuLO0WTPu3uXA = $ctor$(null, null, type$IfemO_a5MljuLO0WTPu3uXA);
  // ScriptCoreLib.Shared.Lambda.CyclicEnumerator`1..ctor
  type$IfemO_a5MljuLO0WTPu3uXA.VwEABu5MljuLO0WTPu3uXA = function (b)
  {
    var a = this;

    a.GetSource = b;
  };
  var ctor$VwEABu5MljuLO0WTPu3uXA = $ctor$(null, 'VwEABu5MljuLO0WTPu3uXA', type$IfemO_a5MljuLO0WTPu3uXA);

  // ScriptCoreLib.Shared.Lambda.CyclicEnumerator`1.get_Current
  type$IfemO_a5MljuLO0WTPu3uXA.WAEABu5MljuLO0WTPu3uXA = function ()
  {
    var a = this, b;

    b = a.Stream.__bQEABrYmRzSu_anO2U_bk1MA();
    return b;
  };

  // ScriptCoreLib.Shared.Lambda.CyclicEnumerator`1.Dispose
  type$IfemO_a5MljuLO0WTPu3uXA.WQEABu5MljuLO0WTPu3uXA = function ()
  {
    var a = this, b;

    b = (a.Stream == null);

    if (!b)
    {
      a.Stream.__bAEABq_bUDz_aWf_aXPRTEtLA();
    }

  };

  // ScriptCoreLib.Shared.Lambda.CyclicEnumerator`1.System.Collections.IEnumerator.get_Current
  type$IfemO_a5MljuLO0WTPu3uXA.WgEABu5MljuLO0WTPu3uXA = function ()
  {
    var a = this, b;

    b = a.Stream.__bQEABrYmRzSu_anO2U_bk1MA();
    return b;
  };

  // ScriptCoreLib.Shared.Lambda.CyclicEnumerator`1.MoveNext
  type$IfemO_a5MljuLO0WTPu3uXA.WwEABu5MljuLO0WTPu3uXA = function ()
  {
    var a = this, b, c, d;

    d = !(a.Stream == null);

    if (!d)
    {
      b = a.GetSource.Invoke();
      d = !(b == null);

      if (!d)
      {
        c = 0;
        return c;
      }

      a.Stream = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    }

    d = !a.Stream._6wEABu7N0xGI6ACQJ1TEOg();

    if (!d)
    {
      c = 1;
      return c;
    }

    b = a.GetSource.Invoke();
    d = !(b == null);

    if (!d)
    {
      c = 0;
      return c;
    }

    a.Stream = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    d = !a.Stream._6wEABu7N0xGI6ACQJ1TEOg();

    if (!d)
    {
      c = 1;
      return c;
    }

    c = 0;
    return c;
  };

  // ScriptCoreLib.Shared.Lambda.CyclicEnumerator`1.Reset
  type$IfemO_a5MljuLO0WTPu3uXA.XAEABu5MljuLO0WTPu3uXA = function ()
  {
    var a = this;

    throw _0hUABgW6xj6lZ8OoWLi9AQ();
  };

  // ScriptCoreLib.Shared.Lambda.CyclicEnumerator`1.GetEnumerator
  type$IfemO_a5MljuLO0WTPu3uXA.XQEABu5MljuLO0WTPu3uXA = function ()
  {
    var a = this, b;

    b = new ctor$VwEABu5MljuLO0WTPu3uXA(a.GetSource);
    return b;
  };

  // ScriptCoreLib.Shared.Lambda.CyclicEnumerator`1.System.Collections.IEnumerable.GetEnumerator
  type$IfemO_a5MljuLO0WTPu3uXA.XgEABu5MljuLO0WTPu3uXA = function ()
  {
    var a = this, b;

    b = a.XQEABu5MljuLO0WTPu3uXA();
    return b;
  };

  // 
  // ScriptCoreLib.Shared.Lambda.CyclicEnumerator`1
  (function (i)  {
    i.__bQEABrYmRzSu_anO2U_bk1MA = i.WAEABu5MljuLO0WTPu3uXA;
    // System.IDisposable
    i.__bAEABq_bUDz_aWf_aXPRTEtLA = i.WQEABu5MljuLO0WTPu3uXA;
    // System.Collections.IEnumerator
    i._6wEABu7N0xGI6ACQJ1TEOg = i.WwEABu5MljuLO0WTPu3uXA;
    i._7AEABu7N0xGI6ACQJ1TEOg = i.WgEABu5MljuLO0WTPu3uXA;
    i._7QEABu7N0xGI6ACQJ1TEOg = i.XAEABu5MljuLO0WTPu3uXA;
    // 
    i.sAIABnMeWzaNooAKOmFm5g = i.XQEABu5MljuLO0WTPu3uXA;
    // System.Collections.IEnumerable
    i.VQEABu7N0xGI6ACQJ1TEOg = i.XgEABu5MljuLO0WTPu3uXA;
  }
  )(type$IfemO_a5MljuLO0WTPu3uXA);
  // ScriptCoreLib.Shared.Lambda.Future
  function xDKZBbE8lDKo4XwNBTAkCg(){};
  xDKZBbE8lDKo4XwNBTAkCg.TypeName = "Future";
  xDKZBbE8lDKo4XwNBTAkCg.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$xDKZBbE8lDKo4XwNBTAkCg = xDKZBbE8lDKo4XwNBTAkCg.prototype;
  type$xDKZBbE8lDKo4XwNBTAkCg.constructor = xDKZBbE8lDKo4XwNBTAkCg;
  type$xDKZBbE8lDKo4XwNBTAkCg._Continue = null;
  var basector$xDKZBbE8lDKo4XwNBTAkCg = $ctor$(null, null, type$xDKZBbE8lDKo4XwNBTAkCg);
  // ScriptCoreLib.Shared.Lambda.Future..ctor
  type$xDKZBbE8lDKo4XwNBTAkCg.YwEABrE8lDKo4XwNBTAkCg = function ()
  {
    var a = this;

    a.ZAEABrE8lDKo4XwNBTAkCg(null);
  };
  var ctor$YwEABrE8lDKo4XwNBTAkCg = xDKZBbE8lDKo4XwNBTAkCg.ctor = $ctor$(null, 'YwEABrE8lDKo4XwNBTAkCg', type$xDKZBbE8lDKo4XwNBTAkCg);

  // ScriptCoreLib.Shared.Lambda.Future..ctor
  type$xDKZBbE8lDKo4XwNBTAkCg.ZAEABrE8lDKo4XwNBTAkCg = function (b)
  {
    var a = this, c;

    a._Continue = new ctor$bxUABkaD4z_a2whoejWFgQA();
    c = (b == null);

    if (!c)
    {
      cwEABt6iSDG8lMkOlPTy_aw(a, b);
    }

  };
  var ctor$ZAEABrE8lDKo4XwNBTAkCg = $ctor$(null, 'ZAEABrE8lDKo4XwNBTAkCg', type$xDKZBbE8lDKo4XwNBTAkCg);

  // ScriptCoreLib.Shared.Lambda.Future.InternalContinue
  type$xDKZBbE8lDKo4XwNBTAkCg.YAEABrE8lDKo4XwNBTAkCg = function (b)
  {
    var a = this, c;

    c = !(b == null);

    if (!c)
    {
      return;
    }

    c = (a._Continue == null);

    if (!c)
    {
      a._Continue.chUABkaD4z_a2whoejWFgQA(b);
      return;
    }

    b.Invoke();
  };

  // ScriptCoreLib.Shared.Lambda.Future.get_CanSignal
  type$xDKZBbE8lDKo4XwNBTAkCg.YQEABrE8lDKo4XwNBTAkCg = function ()
  {
    var a = this, b;

    b = !(a._Continue == null);
    return b;
  };

  // ScriptCoreLib.Shared.Lambda.Future.Signal
  type$xDKZBbE8lDKo4XwNBTAkCg.YgEABrE8lDKo4XwNBTAkCg = function ()
  {
    var a = this, b, c;

    c = !a.YQEABrE8lDKo4XwNBTAkCg();

    if (!c)
    {
      b = a._Continue;
      a._Continue = null;
      IwEABld8NT24si0NEtJjHA(b);
      b.fBUABkaD4z_a2whoejWFgQA();
    }

  };

  // ScriptCoreLib.Shared.Lambda.Future.Dispose
  type$xDKZBbE8lDKo4XwNBTAkCg.ZQEABrE8lDKo4XwNBTAkCg = function ()
  {
    var a = this;

    a.YgEABrE8lDKo4XwNBTAkCg();
  };

  // ScriptCoreLib.Shared.Lambda.Future.op_Implicit
  function ZgEABrE8lDKo4XwNBTAkCg(b)
  {
    var c;

    c = new ctor$xBYABprwDDG20eOlCofu_aA(b, 'cwEABt6iSDG8lMkOlPTy_aw').AsExtensionMethod();
    return c;
  };

  // ScriptCoreLib.Shared.Lambda.IFutureContinue
  // ScriptCoreLib.Shared.Lambda.Future
  (function (i)  {
    i.XwEABp7VWD613rhesAF0uQ = i.YAEABrE8lDKo4XwNBTAkCg;
    // System.IDisposable
    i.__bAEABq_bUDz_aWf_aXPRTEtLA = i.ZQEABrE8lDKo4XwNBTAkCg;
  }
  )(type$xDKZBbE8lDKo4XwNBTAkCg);
  // ScriptCoreLib.Shared.Lambda.Future`1
  function LSw3Kz44sDuzJPBkMyeBig(){};
  LSw3Kz44sDuzJPBkMyeBig.TypeName = "Future_1";
  LSw3Kz44sDuzJPBkMyeBig.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$LSw3Kz44sDuzJPBkMyeBig = LSw3Kz44sDuzJPBkMyeBig.prototype = new xDKZBbE8lDKo4XwNBTAkCg();
  type$LSw3Kz44sDuzJPBkMyeBig.constructor = LSw3Kz44sDuzJPBkMyeBig;
  type$LSw3Kz44sDuzJPBkMyeBig._Value = null;
  var basector$LSw3Kz44sDuzJPBkMyeBig = $ctor$(basector$xDKZBbE8lDKo4XwNBTAkCg, null, type$LSw3Kz44sDuzJPBkMyeBig);
  // ScriptCoreLib.Shared.Lambda.Future`1..ctor
  type$LSw3Kz44sDuzJPBkMyeBig.awEABj44sDuzJPBkMyeBig = function ()
  {
    var a = this;

    a.YwEABrE8lDKo4XwNBTAkCg();
  };
  var ctor$awEABj44sDuzJPBkMyeBig = LSw3Kz44sDuzJPBkMyeBig.ctor = $ctor$(basector$xDKZBbE8lDKo4XwNBTAkCg, 'awEABj44sDuzJPBkMyeBig', type$LSw3Kz44sDuzJPBkMyeBig);

  // ScriptCoreLib.Shared.Lambda.Future`1.get_Value
  type$LSw3Kz44sDuzJPBkMyeBig.ZwEABj44sDuzJPBkMyeBig = function ()
  {
    var a = this, b;

    b = a._Value;
    return b;
  };

  // ScriptCoreLib.Shared.Lambda.Future`1.set_Value
  type$LSw3Kz44sDuzJPBkMyeBig.aAEABj44sDuzJPBkMyeBig = function (b)
  {
    var a = this, c;

    c = a.YQEABrE8lDKo4XwNBTAkCg();

    if (!c)
    {
      throw NQcABh20mDuxDBcz4r7ZkQ('Value can be set only once\u0021');
    }

    a._Value = b;
    a.YgEABrE8lDKo4XwNBTAkCg();
  };

  // ScriptCoreLib.Shared.Lambda.Future`1.Continue
  type$LSw3Kz44sDuzJPBkMyeBig.aQEABj44sDuzJPBkMyeBig = function (b)
  {
    var a = this, c, d, e;

    c = null;
    d = /* DOMCreateType */new ryNos07xTzylDppgKD7beQ();
    d.e = b;
    d.__4__this = a;
    e = !a.YQEABrE8lDKo4XwNBTAkCg();

    if (!e)
    {

      if (!c)
      {
        c = new ctor$wBYABk0OxjS1LNcuSVqN0Q(d, '_Continue_b__0');
      }

      cwEABt6iSDG8lMkOlPTy_aw(a, c);
      return;
    }

    d.e.Invoke(a.ZwEABj44sDuzJPBkMyeBig());
  };

  // ScriptCoreLib.Shared.Lambda.Future`1.op_Implicit
  function agEABj44sDuzJPBkMyeBig(b)
  {
    var c, d;

    c = /* DOMCreateType */new DsWPB_azbtTSdQub3MQClrw();
    c.e = b;
    d = new ctor$xBYABprwDDG20eOlCofu_aA(c, '_op_Implicit_b__4');
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.IFutureContinue
  // ScriptCoreLib.Shared.Lambda.Future`1
  (function (i)  {
    i.XwEABp7VWD613rhesAF0uQ = i.YAEABrE8lDKo4XwNBTAkCg;
    // System.IDisposable
    i.__bAEABq_bUDz_aWf_aXPRTEtLA = i.ZQEABrE8lDKo4XwNBTAkCg;
  }
  )(type$LSw3Kz44sDuzJPBkMyeBig);
  // ScriptCoreLib.Shared.Lambda.FutureAction`1
  function uMhHrmp2qTm6w3w8fDfNLw(){};
  uMhHrmp2qTm6w3w8fDfNLw.TypeName = "FutureAction_1";
  uMhHrmp2qTm6w3w8fDfNLw.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$uMhHrmp2qTm6w3w8fDfNLw = uMhHrmp2qTm6w3w8fDfNLw.prototype = new LSw3Kz44sDuzJPBkMyeBig();
  type$uMhHrmp2qTm6w3w8fDfNLw.constructor = uMhHrmp2qTm6w3w8fDfNLw;
  var basector$uMhHrmp2qTm6w3w8fDfNLw = $ctor$(basector$LSw3Kz44sDuzJPBkMyeBig, null, type$uMhHrmp2qTm6w3w8fDfNLw);
  // ScriptCoreLib.Shared.Lambda.FutureAction`1..ctor
  type$uMhHrmp2qTm6w3w8fDfNLw.bwEABmp2qTm6w3w8fDfNLw = function ()
  {
    var a = this;

    a.awEABj44sDuzJPBkMyeBig();
  };
  var ctor$bwEABmp2qTm6w3w8fDfNLw = uMhHrmp2qTm6w3w8fDfNLw.ctor = $ctor$(basector$LSw3Kz44sDuzJPBkMyeBig, 'bwEABmp2qTm6w3w8fDfNLw', type$uMhHrmp2qTm6w3w8fDfNLw);

  // ScriptCoreLib.Shared.Lambda.FutureAction`1.Continue
  type$uMhHrmp2qTm6w3w8fDfNLw.bAEABmp2qTm6w3w8fDfNLw = function (b)
  {
    var a = this, c;

    c = /* DOMCreateType */new E9vHIHPu6z_auOnsTJZuYpQ();
    c.e = b;
    a.aQEABj44sDuzJPBkMyeBig(new ctor$xBYABprwDDG20eOlCofu_aA(c, '_Continue_b__0'));
  };

  // ScriptCoreLib.Shared.Lambda.FutureAction`1.op_Implicit
  function bQEABmp2qTm6w3w8fDfNLw(b)
  {
    var c;

    c = new ctor$xBYABprwDDG20eOlCofu_aA(b, 'bAEABmp2qTm6w3w8fDfNLw');
    return c;
  };

  // ScriptCoreLib.Shared.Lambda.FutureAction`1.get_Item
  type$uMhHrmp2qTm6w3w8fDfNLw.bgEABmp2qTm6w3w8fDfNLw = function (b)
  {
    var a = this, c, d;

    c = /* DOMCreateType */new LEHgZ8JdZjO0lO3n7VUwzw();
    c.e = b;
    c.__4__this = a;
    d = new ctor$wBYABk0OxjS1LNcuSVqN0Q(c, '_get_Item_b__3');
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.IFutureContinue
  // ScriptCoreLib.Shared.Lambda.FutureAction`1
  (function (i)  {
    i.XwEABp7VWD613rhesAF0uQ = i.YAEABrE8lDKo4XwNBTAkCg;
    // System.IDisposable
    i.__bAEABq_bUDz_aWf_aXPRTEtLA = i.ZQEABrE8lDKo4XwNBTAkCg;
  }
  )(type$uMhHrmp2qTm6w3w8fDfNLw);
  // ScriptCoreLib.Shared.Lambda.FutureStream
  function NGzZ9n6dTTmVtsTdMWBbqg(){};
  NGzZ9n6dTTmVtsTdMWBbqg.TypeName = "FutureStream";
  NGzZ9n6dTTmVtsTdMWBbqg.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$NGzZ9n6dTTmVtsTdMWBbqg = NGzZ9n6dTTmVtsTdMWBbqg.prototype;
  type$NGzZ9n6dTTmVtsTdMWBbqg.constructor = NGzZ9n6dTTmVtsTdMWBbqg;
  type$NGzZ9n6dTTmVtsTdMWBbqg.Gate = null;
  var basector$NGzZ9n6dTTmVtsTdMWBbqg = $ctor$(null, null, type$NGzZ9n6dTTmVtsTdMWBbqg);
  // ScriptCoreLib.Shared.Lambda.FutureStream..ctor
  type$NGzZ9n6dTTmVtsTdMWBbqg.cAEABn6dTTmVtsTdMWBbqg = function ()
  {
    var a = this;

    a.Gate = new ctor$YwEABrE8lDKo4XwNBTAkCg();
  };
  var ctor$cAEABn6dTTmVtsTdMWBbqg = NGzZ9n6dTTmVtsTdMWBbqg.ctor = $ctor$(null, 'cAEABn6dTTmVtsTdMWBbqg', type$NGzZ9n6dTTmVtsTdMWBbqg);

  var YwAABN6iSDG8lMkOlPTy_aw = null;
  var ZAAABN6iSDG8lMkOlPTy_aw = null;
  var ZQAABN6iSDG8lMkOlPTy_aw = null;
  // ScriptCoreLib.Shared.Lambda.FutureExtensions.ForEach
  function dQEABt6iSDG8lMkOlPTy_aw(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new CYHBXbeFIjO3iCE259mcOw();
    d.handler = c;
    e = dwEABt6iSDG8lMkOlPTy_aw(b, null, new ctor$zBYABsGwbT_auFf3i5YQTBA(d, '_ForEach_b__c'), null);
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.FutureExtensions.Continue
  function cQEABt6iSDG8lMkOlPTy_aw(b, c)
  {
    var d, e, f, g;

    e = /* DOMCreateType */new pdF8W_bSiyDu4d3M00zIcNw();
    e.PublishSignalNext = c;
    g = !(b == null);

    if (!g)
    {

      if (!(YwAABN6iSDG8lMkOlPTy_aw))
      {
        YwAABN6iSDG8lMkOlPTy_aw = new ctor$wBYABk0OxjS1LNcuSVqN0Q(null, 'eQEABt6iSDG8lMkOlPTy_aw');
      }

      e.PublishSignalNext.Invoke(YwAABN6iSDG8lMkOlPTy_aw);

      if (!(ZAAABN6iSDG8lMkOlPTy_aw))
      {
        ZAAABN6iSDG8lMkOlPTy_aw = new ctor$wBYABk0OxjS1LNcuSVqN0Q(null, 'egEABt6iSDG8lMkOlPTy_aw');
      }

      f = ZAAABN6iSDG8lMkOlPTy_aw;
      return f;
    }

    e.Next = new ctor$YwEABrE8lDKo4XwNBTAkCg();
    d = b.Gate;
    b.Gate = e.Next;
    cwEABt6iSDG8lMkOlPTy_aw(d, new ctor$wBYABk0OxjS1LNcuSVqN0Q(e, '_Continue_b__2'));
    f = new ctor$wBYABk0OxjS1LNcuSVqN0Q(d, 'YgEABrE8lDKo4XwNBTAkCg');
    return f;
  };

  // ScriptCoreLib.Shared.Lambda.FutureExtensions.Continue
  function cgEABt6iSDG8lMkOlPTy_aw(b, c)
  {

    if (!(ZQAABN6iSDG8lMkOlPTy_aw))
    {
      ZQAABN6iSDG8lMkOlPTy_aw = new ctor$yBYABjoCmjq8bkwO1HbMkw(null, 'ewEABt6iSDG8lMkOlPTy_aw');
    }

    dQEABt6iSDG8lMkOlPTy_aw(b, ZQAABN6iSDG8lMkOlPTy_aw).Invoke(c);
  };

  // ScriptCoreLib.Shared.Lambda.FutureExtensions.Continue
  function cwEABt6iSDG8lMkOlPTy_aw(b, c)
  {
    var d;

    d = (b == null);

    if (!d)
    {
      b.XwEABp7VWD613rhesAF0uQ(c);
      return;
    }

    c.Invoke();
  };

  // ScriptCoreLib.Shared.Lambda.FutureExtensions.ForEach
  function dAEABt6iSDG8lMkOlPTy_aw(b, c, d, e)
  {
    var f, g;

    f = /* DOMCreateType */new IEQYsuKrWjCO6WCZZUo_apw();
    f.handler = d;
    g = dwEABt6iSDG8lMkOlPTy_aw(b, c, new ctor$zBYABsGwbT_auFf3i5YQTBA(f, '_ForEach_b__9'), e);
    return g;
  };

  // ScriptCoreLib.Shared.Lambda.FutureExtensions.ForEach
  function dgEABt6iSDG8lMkOlPTy_aw(b, c)
  {
    var d;

    d = dwEABt6iSDG8lMkOlPTy_aw(b, null, c, null);
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.FutureExtensions.ForEach
  function dwEABt6iSDG8lMkOlPTy_aw(b, c, d, e)
  {
    var f, g, h, i;

    g = /* DOMCreateType */new ZAAuhhJRpzq2lvq5lQDY_bQ();
    g.source = b;
    g.handler = d;
    g.done = e;
    g.c = new ctor$cAEABn6dTTmVtsTdMWBbqg();
    g.e = null;
    g.i = -1;
    g.r = new ctor$YwEABrE8lDKo4XwNBTAkCg();
    g.MoveNext = null;
    g.MoveNext = new ctor$xBYABprwDDG20eOlCofu_aA(g, '_ForEach_b__f');
    f = cQEABt6iSDG8lMkOlPTy_aw(g.c, new ctor$xBYABprwDDG20eOlCofu_aA(g, '_ForEach_b__10'));
    i = (c == null);

    if (!i)
    {
      c.Invoke(f);
    }
    else
    {
      f.Invoke();
    }

    h = new ctor$xBYABprwDDG20eOlCofu_aA(g.r, 'cwEABt6iSDG8lMkOlPTy_aw').AsExtensionMethod();
    return h;
  };

  // ScriptCoreLib.Shared.Lambda.FutureExtensions.While
  function eAEABt6iSDG8lMkOlPTy_aw(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new aeemrqpI2DKZKtxrX3EcOQ();
    d.e = b;
    d.condition = c;
    d.c = new ctor$cAEABn6dTTmVtsTdMWBbqg();
    d.r = new ctor$YwEABrE8lDKo4XwNBTAkCg();
    d.MoveNext = null;
    d.MoveNext = new ctor$xBYABprwDDG20eOlCofu_aA(d, '_While_b__13');
    cQEABt6iSDG8lMkOlPTy_aw(d.c, d.MoveNext).Invoke();
    e = new ctor$xBYABprwDDG20eOlCofu_aA(d.r, 'cwEABt6iSDG8lMkOlPTy_aw').AsExtensionMethod();
    return e;
  };

  // ScriptCoreLib.Shared.Lambda.FutureExtensions.<Continue>b__0
  function eQEABt6iSDG8lMkOlPTy_aw()
  {
  };

  // ScriptCoreLib.Shared.Lambda.FutureExtensions.<Continue>b__1
  function egEABt6iSDG8lMkOlPTy_aw()
  {
  };

  // ScriptCoreLib.Shared.Lambda.FutureExtensions.<Continue>b__7
  function ewEABt6iSDG8lMkOlPTy_aw(b, c)
  {
    cwEABt6iSDG8lMkOlPTy_aw(b, c);
  };

  // ScriptCoreLib.Shared.Lambda.FutureLock
  function ixWVgIx2JTCr6ArNmYMojQ(){};
  ixWVgIx2JTCr6ArNmYMojQ.TypeName = "FutureLock";
  ixWVgIx2JTCr6ArNmYMojQ.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$ixWVgIx2JTCr6ArNmYMojQ = ixWVgIx2JTCr6ArNmYMojQ.prototype;
  type$ixWVgIx2JTCr6ArNmYMojQ.constructor = ixWVgIx2JTCr6ArNmYMojQ;
  type$ixWVgIx2JTCr6ArNmYMojQ.Lock = null;
  type$ixWVgIx2JTCr6ArNmYMojQ.ToBeReleased = null;
  type$ixWVgIx2JTCr6ArNmYMojQ.Released = null;
  type$ixWVgIx2JTCr6ArNmYMojQ.Acquired = null;
  type$ixWVgIx2JTCr6ArNmYMojQ.Pending = null;
  var basector$ixWVgIx2JTCr6ArNmYMojQ = $ctor$(null, null, type$ixWVgIx2JTCr6ArNmYMojQ);
  // ScriptCoreLib.Shared.Lambda.FutureLock..ctor
  type$ixWVgIx2JTCr6ArNmYMojQ.igEABox2JTCr6ArNmYMojQ = function ()
  {
    var a = this;

    a.ToBeReleased = new ctor$WxIABtDkdjKV6uuTXeDGyg();
  };
  var ctor$igEABox2JTCr6ArNmYMojQ = ixWVgIx2JTCr6ArNmYMojQ.ctor = $ctor$(null, 'igEABox2JTCr6ArNmYMojQ', type$ixWVgIx2JTCr6ArNmYMojQ);

  // ScriptCoreLib.Shared.Lambda.FutureLock.InternalContinue
  type$ixWVgIx2JTCr6ArNmYMojQ.fAEABox2JTCr6ArNmYMojQ = function (b)
  {
    var a = this;

    a.fQEABox2JTCr6ArNmYMojQ(b);
  };

  // ScriptCoreLib.Shared.Lambda.FutureLock.Continue
  type$ixWVgIx2JTCr6ArNmYMojQ.fQEABox2JTCr6ArNmYMojQ = function (b)
  {
    var a = this;

    cwEABt6iSDG8lMkOlPTy_aw(a.Lock, b);
  };

  // ScriptCoreLib.Shared.Lambda.FutureLock.get_IsAcquired
  type$ixWVgIx2JTCr6ArNmYMojQ.fgEABox2JTCr6ArNmYMojQ = function ()
  {
    var a = this, b;

    b = (a.ToBeReleased.XhIABtDkdjKV6uuTXeDGyg() > 0);
    return b;
  };

  // ScriptCoreLib.Shared.Lambda.FutureLock.Acquire
  type$ixWVgIx2JTCr6ArNmYMojQ.fwEABox2JTCr6ArNmYMojQ = function ()
  {
    var a = this, b, c;

    c = (a.Lock == null);

    if (!c)
    {
      throw NQcABh20mDuxDBcz4r7ZkQ('Cannot acquire this lock without waiting');
    }

    a.Lock = new ctor$YwEABrE8lDKo4XwNBTAkCg();
    a.ToBeReleased.XRIABtDkdjKV6uuTXeDGyg(new ctor$wBYABk0OxjS1LNcuSVqN0Q(a.Lock, 'YgEABrE8lDKo4XwNBTAkCg'));
    c = (a.Acquired == null);

    if (!c)
    {
      a.Acquired.Invoke();
    }

    b = a;
    return b;
  };

  // ScriptCoreLib.Shared.Lambda.FutureLock.Acquire
  type$ixWVgIx2JTCr6ArNmYMojQ.gAEABox2JTCr6ArNmYMojQ = function (b)
  {
    var a = this, c, d, e;

    d = /* DOMCreateType */new JmU4w9v70DerJVRNAfaSHw();
    d.e = b;
    d.__4__this = a;
    c = a.Lock;
    a.Lock = new ctor$YwEABrE8lDKo4XwNBTAkCg();
    a.ToBeReleased.XRIABtDkdjKV6uuTXeDGyg(new ctor$wBYABk0OxjS1LNcuSVqN0Q(a.Lock, 'YgEABrE8lDKo4XwNBTAkCg'));
    e = (a.Pending == null);

    if (!e)
    {
      a.Pending.Invoke();
    }

    cwEABt6iSDG8lMkOlPTy_aw(c, new ctor$wBYABk0OxjS1LNcuSVqN0Q(d, '_Acquire_b__0'));
  };

  // ScriptCoreLib.Shared.Lambda.FutureLock.Acquire
  type$ixWVgIx2JTCr6ArNmYMojQ.gQEABox2JTCr6ArNmYMojQ = function (b, c)
  {
    var a = this, d, e;

    d = /* DOMCreateType */new yDIvLGUHRTOduV_bNj_b7y9A();
    d.e = b;
    d.dependencies = c;
    d.__4__this = a;
    d.u = a.Lock;
    a.Lock = new ctor$YwEABrE8lDKo4XwNBTAkCg();
    a.ToBeReleased.XRIABtDkdjKV6uuTXeDGyg(new ctor$wBYABk0OxjS1LNcuSVqN0Q(a.Lock, 'YgEABrE8lDKo4XwNBTAkCg'));
    e = (a.Pending == null);

    if (!e)
    {
      a.Pending.Invoke();
    }

    cgEABt6iSDG8lMkOlPTy_aw(d.dependencies, new ctor$wBYABk0OxjS1LNcuSVqN0Q(d, '_Acquire_b__3'));
  };

  // ScriptCoreLib.Shared.Lambda.FutureLock.get_Item
  type$ixWVgIx2JTCr6ArNmYMojQ.ggEABox2JTCr6ArNmYMojQ = function (b)
  {
    var a = this, c, d;

    c = /* DOMCreateType */new vwZq_bnQRczys_bLqdQ8lRcw();
    c.dependencies = b;
    c.__4__this = a;
    d = new ctor$xBYABprwDDG20eOlCofu_aA(c, '_get_Item_b__8');
    return d;
  };

  // ScriptCoreLib.Shared.Lambda.FutureLock.Release
  type$ixWVgIx2JTCr6ArNmYMojQ.gwEABox2JTCr6ArNmYMojQ = function ()
  {
    var a = this, b;

    b = !(a.ToBeReleased.XhIABtDkdjKV6uuTXeDGyg() > 0);

    if (!b)
    {
      b = (a.Released == null);

      if (!b)
      {
        a.Released.Invoke();
      }

      a.ToBeReleased.YhIABtDkdjKV6uuTXeDGyg().Invoke();
      return;
    }

    throw NQcABh20mDuxDBcz4r7ZkQ('This lock is not yet acquired');
  };

  // ScriptCoreLib.Shared.Lambda.FutureLock.add_Released
  type$ixWVgIx2JTCr6ArNmYMojQ.hAEABox2JTCr6ArNmYMojQ = function (b)
  {
    var a = this, c, d, e, f;

    a.Released = tAgABryOqj6XtSTDGu8Mcg(a.Released, b);
  };

  // ScriptCoreLib.Shared.Lambda.FutureLock.remove_Released
  type$ixWVgIx2JTCr6ArNmYMojQ.hQEABox2JTCr6ArNmYMojQ = function (b)
  {
    var a = this, c, d, e, f;

    a.Released = tggABryOqj6XtSTDGu8Mcg(a.Released, b);
  };

  // ScriptCoreLib.Shared.Lambda.FutureLock.add_Acquired
  type$ixWVgIx2JTCr6ArNmYMojQ.hgEABox2JTCr6ArNmYMojQ = function (b)
  {
    var a = this, c, d, e, f;

    a.Acquired = tAgABryOqj6XtSTDGu8Mcg(a.Acquired, b);
  };

  // ScriptCoreLib.Shared.Lambda.FutureLock.remove_Acquired
  type$ixWVgIx2JTCr6ArNmYMojQ.hwEABox2JTCr6ArNmYMojQ = function (b)
  {
    var a = this, c, d, e, f;

    a.Acquired = tggABryOqj6XtSTDGu8Mcg(a.Acquired, b);
  };

  // ScriptCoreLib.Shared.Lambda.FutureLock.add_Pending
  type$ixWVgIx2JTCr6ArNmYMojQ.iAEABox2JTCr6ArNmYMojQ = function (b)
  {
    var a = this, c, d, e, f;

    a.Pending = tAgABryOqj6XtSTDGu8Mcg(a.Pending, b);
  };

  // ScriptCoreLib.Shared.Lambda.FutureLock.remove_Pending
  type$ixWVgIx2JTCr6ArNmYMojQ.iQEABox2JTCr6ArNmYMojQ = function (b)
  {
    var a = this, c, d, e, f;

    a.Pending = tggABryOqj6XtSTDGu8Mcg(a.Pending, b);
  };

  // ScriptCoreLib.Shared.Lambda.IFutureContinue
  // ScriptCoreLib.Shared.Lambda.FutureLock
  (function (i)  {
    i.XwEABp7VWD613rhesAF0uQ = i.fAEABox2JTCr6ArNmYMojQ;
  }
  )(type$ixWVgIx2JTCr6ArNmYMojQ);
  // ScriptCoreLib.Shared.Lambda.PackedInt32
  function abqJhmfVuzicfC2edyfQEg(){};
  abqJhmfVuzicfC2edyfQEg.TypeName = "PackedInt32";
  abqJhmfVuzicfC2edyfQEg.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$abqJhmfVuzicfC2edyfQEg = abqJhmfVuzicfC2edyfQEg.prototype;
  type$abqJhmfVuzicfC2edyfQEg.constructor = abqJhmfVuzicfC2edyfQEg;
  type$abqJhmfVuzicfC2edyfQEg.BitsPerElement = 0;
  type$abqJhmfVuzicfC2edyfQEg.Elements = null;
  var basector$abqJhmfVuzicfC2edyfQEg = $ctor$(null, null, type$abqJhmfVuzicfC2edyfQEg);
  // ScriptCoreLib.Shared.Lambda.PackedInt32..ctor
  type$abqJhmfVuzicfC2edyfQEg.iwEABmfVuzicfC2edyfQEg = function (b)
  {
    var a = this;

    a.BitsPerElement = b;
    a.Elements = new Array(_7xQABrQf9DK8BRnc_agtVfA(vRUABuZEHT_aKgf0BKjPkdw((32 / b))));
    a.jQEABmfVuzicfC2edyfQEg(0);
  };
  var ctor$iwEABmfVuzicfC2edyfQEg = $ctor$(null, 'iwEABmfVuzicfC2edyfQEg', type$abqJhmfVuzicfC2edyfQEg);

  // ScriptCoreLib.Shared.Lambda.PackedInt32.Pop
  type$abqJhmfVuzicfC2edyfQEg.jAEABmfVuzicfC2edyfQEg = function ()
  {
    var a = this;

    a.jQEABmfVuzicfC2edyfQEg((a.jgEABmfVuzicfC2edyfQEg() >> (a.BitsPerElement & 31)));
  };

  // ScriptCoreLib.Shared.Lambda.PackedInt32.set_Value
  type$abqJhmfVuzicfC2edyfQEg.jQEABmfVuzicfC2edyfQEg = function (b)
  {
    var a = this, c, d, e;

    c = ((1 << (a.BitsPerElement & 31)) - 1);

    for (d = 0; (d < a.Elements.length); d++)
    {
      a.Elements[d] = (b & c);
      b = (b >> (a.BitsPerElement & 31));
    }

  };

  // ScriptCoreLib.Shared.Lambda.PackedInt32.get_Value
  type$abqJhmfVuzicfC2edyfQEg.jgEABmfVuzicfC2edyfQEg = function ()
  {
    var a = this, b, c, d, e, f;

    b = ((1 << (a.BitsPerElement & 31)) - 1);
    c = 0;

    for (d = (a.Elements.length - 1); !(d < 0); d--)
    {
      c = (c << (a.BitsPerElement & 31));
      c += (a.Elements[d] & b);
    }

    e = c;
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.SelectMany
  function xQEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e;

    e = !(b == null);

    if (!e)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    e = !(c == null);

    if (!e)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('selector');
    }

    d = xgEABo6jCDaH_ab0PgaBeQQ(b, c);
    return d;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.SelectManyIterator
  function xgEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e;

    d = new ctor$_6gEABq_aNTTy9fGbVOtR35g(-2);
    d.__3__source = wgEABo6jCDaH_ab0PgaBeQQ(b);
    d.__3__selector = c;
    e = d;
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Concat
  function xwEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e;

    e = !(b == null);

    if (!e)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('first');
    }

    e = !(c == null);

    if (!e)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('second');
    }

    d = yAEABo6jCDaH_ab0PgaBeQQ(b, c);
    return d;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.ConcatIterator
  function yAEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e;

    d = new ctor$_8gEABgkOKj2boceAkZKEKw(-2);
    d.__3__first = wgEABo6jCDaH_ab0PgaBeQQ(b);
    d.__3__second = wgEABo6jCDaH_ab0PgaBeQQ(c);
    e = d;
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Select
  var yQEABo6jCDaH_ab0PgaBeQQ = function () { return zAEABo6jCDaH_ab0PgaBeQQ.apply(null, arguments); };
  // ScriptCoreLib.Shared.Query.__Enumerable.Select
  var ygEABo6jCDaH_ab0PgaBeQQ = function () { return ywEABo6jCDaH_ab0PgaBeQQ.apply(null, arguments); };
  // ScriptCoreLib.Shared.Query.__Enumerable.SelectIterator
  function ywEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e;

    d = new ctor$__agEABuwjpjKB6e9zfp3bbw(-2);
    d._3_source = b;
    d._3_selector = c;
    e = d;
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.SelectIterator
  function zAEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e;

    d = new ctor$AgIABuM81DGvKAD9Hu23vQ(-2);
    d._3_source = b;
    d._3_selector = c;
    e = d;
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Where
  function zQEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e;

    e = !(c == null);

    if (!e)
    {
      throw sBQABnHDaDqkS8IeFcu5Cw('predicate');
    }

    e = !(b == null);

    if (!e)
    {
      throw sBQABnHDaDqkS8IeFcu5Cw('source');
    }

    d = zgEABo6jCDaH_ab0PgaBeQQ(wgEABo6jCDaH_ab0PgaBeQQ(b), c);
    return d;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.WhereIterator
  function zgEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e;

    d = new ctor$CgIABjCCgTC_bz41DwIA6Ew(-2);
    d._3_source = b;
    d._3_predicate = c;
    e = d;
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.ElementAtOrDefault
  function jwEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e, f, g, h, i;

    d = void(0);
    e = -1;
    h = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (h._6wEABu7N0xGI6ACQJ1TEOg())
      {
        f = h.__bQEABrYmRzSu_anO2U_bk1MA();
        e++;
        i = !(e == c);

        if (!i)
        {
          d = f;
          break;
        }

      }
    }
    finally
    {
      i = (h == null);

      if (!i)
      {
        h.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    g = d;
    return g;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.SkipWhile
  function kAEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e;

    d = /* DOMCreateType */new rBFUwVEI5TW9QJjyUHpmXQ();
    d.predicate = c;
    d._Where = 0;
    e = zQEABo6jCDaH_ab0PgaBeQQ(b, new ctor$uQAABk06_bTuIwW5Gm2dAhQ(d, '_SkipWhile_b__0'));
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Average
  function kQEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d;

    d = kgEABo6jCDaH_ab0PgaBeQQ(ygEABo6jCDaH_ab0PgaBeQQ(b, c));
    return d;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Average
  function kgEABo6jCDaH_ab0PgaBeQQ(b)
  {
    var c, d, e, f, g, h;

    g = !(b == null);

    if (!g)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    c = 0;
    d = 0;
    h = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (h._6wEABu7N0xGI6ACQJ1TEOg())
      {
        e = h.__bQEABrYmRzSu_anO2U_bk1MA();
        c += e;
        d += 1;
      }
    }
    finally
    {
      g = (h == null);

      if (!g)
      {
        h.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    g = (d > 0);

    if (!g)
    {
      throw kgAABjmrrT_axh8KSPkRu9Q();
    }

    f = (c / d);
    return f;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Max
  function kwEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e, f, g, h, i, j;

    d = 0;
    e = 0;
    i = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (i._6wEABu7N0xGI6ACQJ1TEOg())
      {
        f = i.__bQEABrYmRzSu_anO2U_bk1MA();
        g = c.Invoke(f);
        j = !e;

        if (!j)
        {
          j = !(d < g);

          if (!j)
          {
            d = g;
          }

        }
        else
        {
          e = 1;
          d = g;
        }

      }
    }
    finally
    {
      j = (i == null);

      if (!j)
      {
        i.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    j = e;

    if (!j)
    {
      throw kgAABjmrrT_axh8KSPkRu9Q();
    }

    h = d;
    return h;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Max
  function lAEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e, f, g, h, i, j;

    d = 0;
    e = 0;
    i = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (i._6wEABu7N0xGI6ACQJ1TEOg())
      {
        f = i.__bQEABrYmRzSu_anO2U_bk1MA();
        g = c.Invoke(f);
        j = !e;

        if (!j)
        {
          j = !(d < g);

          if (!j)
          {
            d = g;
          }

        }
        else
        {
          e = 1;
          d = g;
        }

      }
    }
    finally
    {
      j = (i == null);

      if (!j)
      {
        i.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    j = e;

    if (!j)
    {
      throw kgAABjmrrT_axh8KSPkRu9Q();
    }

    h = d;
    return h;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Min
  function lQEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e, f, g, h, i, j;

    d = 0;
    e = 0;
    i = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (i._6wEABu7N0xGI6ACQJ1TEOg())
      {
        f = i.__bQEABrYmRzSu_anO2U_bk1MA();
        g = c.Invoke(f);
        j = !e;

        if (!j)
        {
          j = !(d > g);

          if (!j)
          {
            d = g;
          }

        }
        else
        {
          e = 1;
          d = g;
        }

      }
    }
    finally
    {
      j = (i == null);

      if (!j)
      {
        i.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    j = e;

    if (!j)
    {
      throw kgAABjmrrT_axh8KSPkRu9Q();
    }

    h = d;
    return h;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Min
  function lgEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e, f, g, h, i, j;

    d = 0;
    e = 0;
    i = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (i._6wEABu7N0xGI6ACQJ1TEOg())
      {
        f = i.__bQEABrYmRzSu_anO2U_bk1MA();
        g = c.Invoke(f);
        j = !e;

        if (!j)
        {
          j = !(d > g);

          if (!j)
          {
            d = g;
          }

        }
        else
        {
          e = 1;
          d = g;
        }

      }
    }
    finally
    {
      j = (i == null);

      if (!j)
      {
        i.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    j = e;

    if (!j)
    {
      throw kgAABjmrrT_axh8KSPkRu9Q();
    }

    h = d;
    return h;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Reverse
  function lwEABo6jCDaH_ab0PgaBeQQ(b)
  {
    var c, d;

    c = rAEABo6jCDaH_ab0PgaBeQQ(b);
    c.hRUABkaD4z_a2whoejWFgQA();
    d = c;
    return d;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Any
  function mAEABo6jCDaH_ab0PgaBeQQ(b)
  {
    var c, d, e, f, g;

    f = !(b == null);

    if (!f)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    c = 0;
    g = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (g._6wEABu7N0xGI6ACQJ1TEOg())
      {
        d = g.__bQEABrYmRzSu_anO2U_bk1MA();
        c = 1;
        break;
      }
    }
    finally
    {
      f = (g == null);

      if (!f)
      {
        g.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    e = c;
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Any
  function mQEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e, f, g, h;

    g = !(b == null);

    if (!g)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    g = !(c == null);

    if (!g)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('predicate');
    }

    d = 0;
    h = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (h._6wEABu7N0xGI6ACQJ1TEOg())
      {
        e = h.__bQEABrYmRzSu_anO2U_bk1MA();
        g = !c.Invoke(e);

        if (!g)
        {
          d = 1;
          break;
        }

      }
    }
    finally
    {
      g = (h == null);

      if (!g)
      {
        h.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    f = d;
    return f;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.All
  function mgEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e, f, g, h;

    g = !(b == null);

    if (!g)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    g = !(c == null);

    if (!g)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('predicate');
    }

    d = 1;
    h = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (h._6wEABu7N0xGI6ACQJ1TEOg())
      {
        e = h.__bQEABrYmRzSu_anO2U_bk1MA();
        g = c.Invoke(e);

        if (!g)
        {
          d = 0;
          break;
        }

      }
    }
    finally
    {
      g = (h == null);

      if (!g)
      {
        h.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    f = d;
    return f;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Contains
  function mwEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e, f, g, h;

    g = !(b == null);

    if (!g)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    d = 0;
    h = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (h._6wEABu7N0xGI6ACQJ1TEOg())
      {
        e = h.__bQEABrYmRzSu_anO2U_bk1MA();
        g = !DxYABvE0rDSZJidVUY9Z5Q(e, c);

        if (!g)
        {
          d = 1;
          break;
        }

      }
    }
    finally
    {
      g = (h == null);

      if (!g)
      {
        h.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    f = d;
    return f;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Min
  function nAEABo6jCDaH_ab0PgaBeQQ(b)
  {
    var c, d, e, f, g, h;

    g = !(b == null);

    if (!g)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    c = 0;
    d = 0;
    h = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (h._6wEABu7N0xGI6ACQJ1TEOg())
      {
        e = h.__bQEABrYmRzSu_anO2U_bk1MA();
        g = !d;

        if (!g)
        {
          g = !(e < c);

          if (!g)
          {
            c = e;
          }

          continue;
        }

        c = e;
        d = 1;
      }
    }
    finally
    {
      g = (h == null);

      if (!g)
      {
        h.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    g = d;

    if (!g)
    {
      throw kgAABjmrrT_axh8KSPkRu9Q();
    }

    f = c;
    return f;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Max
  function nQEABo6jCDaH_ab0PgaBeQQ(b)
  {
    var c, d, e, f, g, h;

    g = !(b == null);

    if (!g)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    c = 0;
    d = 0;
    h = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (h._6wEABu7N0xGI6ACQJ1TEOg())
      {
        e = h.__bQEABrYmRzSu_anO2U_bk1MA();
        g = !d;

        if (!g)
        {
          g = !(e > c);

          if (!g)
          {
            c = e;
          }

          continue;
        }

        c = e;
        d = 1;
      }
    }
    finally
    {
      g = (h == null);

      if (!g)
      {
        h.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    g = d;

    if (!g)
    {
      throw kgAABjmrrT_axh8KSPkRu9Q();
    }

    f = c;
    return f;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Count
  function ngEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e, f, g, h;

    d = 0;
    g = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (g._6wEABu7N0xGI6ACQJ1TEOg())
      {
        e = g.__bQEABrYmRzSu_anO2U_bk1MA();
        h = !c.Invoke(e);

        if (!h)
        {
          d++;
        }

      }
    }
    finally
    {
      h = (g == null);

      if (!h)
      {
        g.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    f = d;
    return f;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Count
  function nwEABo6jCDaH_ab0PgaBeQQ(b)
  {
    var c, d, e, f, g;

    c = 0;
    f = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (f._6wEABu7N0xGI6ACQJ1TEOg())
      {
        d = f.__bQEABrYmRzSu_anO2U_bk1MA();
        c++;
      }
    }
    finally
    {
      g = (f == null);

      if (!g)
      {
        f.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    e = c;
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.ElementAt
  function oAEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e, f, g, h, i;

    d = -1;
    e = void(0);
    h = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (h._6wEABu7N0xGI6ACQJ1TEOg())
      {
        f = h.__bQEABrYmRzSu_anO2U_bk1MA();
        d++;
        i = !(d == c);

        if (!i)
        {
          e = f;
          break;
        }

      }
    }
    finally
    {
      i = (h == null);

      if (!i)
      {
        h.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    g = e;
    return g;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.LastOrDefault
  function oQEABo6jCDaH_ab0PgaBeQQ(b)
  {
    var c, d, e, f, g;

    f = !(b == null);

    if (!f)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    c = void(0);
    g = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (g._6wEABu7N0xGI6ACQJ1TEOg())
      {
        d = g.__bQEABrYmRzSu_anO2U_bk1MA();
        c = d;
      }
    }
    finally
    {
      f = (g == null);

      if (!f)
      {
        g.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    e = c;
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Last
  function ogEABo6jCDaH_ab0PgaBeQQ(b)
  {
    var c, d, e, f;

    f = !(b == null);

    if (!f)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    d = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      f = !d._6wEABu7N0xGI6ACQJ1TEOg();

      if (!f)
      {
        c = d.__bQEABrYmRzSu_anO2U_bk1MA();
        while (d._6wEABu7N0xGI6ACQJ1TEOg())
        {
          c = d.__bQEABrYmRzSu_anO2U_bk1MA();
        }
      }
      else
      {
        throw kgAABjmrrT_axh8KSPkRu9Q();
      }

    }
    finally
    {
      f = (d == null);

      if (!f)
      {
        d.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    e = c;
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.First
  function owEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d;

    d = pAEABo6jCDaH_ab0PgaBeQQ(zQEABo6jCDaH_ab0PgaBeQQ(b, c));
    return d;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.First
  function pAEABo6jCDaH_ab0PgaBeQQ(b)
  {
    var c, d, e, f;

    f = !(b == null);

    if (!f)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    d = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      f = !d._6wEABu7N0xGI6ACQJ1TEOg();

      if (!f)
      {
        c = d.__bQEABrYmRzSu_anO2U_bk1MA();
      }
      else
      {
        throw kgAABjmrrT_axh8KSPkRu9Q();
      }

    }
    finally
    {
      f = (d == null);

      if (!f)
      {
        d.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    e = c;
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.FirstOrDefault
  function pQEABo6jCDaH_ab0PgaBeQQ(b)
  {
    var c, d, e, f;

    f = !(b == null);

    if (!f)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    c = void(0);
    d = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      f = !d._6wEABu7N0xGI6ACQJ1TEOg();

      if (!f)
      {
        c = d.__bQEABrYmRzSu_anO2U_bk1MA();
      }

    }
    finally
    {
      f = (d == null);

      if (!f)
      {
        d.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    e = c;
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.FirstOrDefault
  function pgEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e, f, g, h;

    g = !(b == null);

    if (!g)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    g = !(c == null);

    if (!g)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('predicate');
    }

    d = void(0);
    h = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (h._6wEABu7N0xGI6ACQJ1TEOg())
      {
        e = h.__bQEABrYmRzSu_anO2U_bk1MA();
        g = !c.Invoke(e);

        if (!g)
        {
          d = e;
          break;
        }

      }
    }
    finally
    {
      g = (h == null);

      if (!g)
      {
        h.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    f = d;
    return f;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Single
  function pwEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d;

    d = qAEABo6jCDaH_ab0PgaBeQQ(zQEABo6jCDaH_ab0PgaBeQQ(b, c));
    return d;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Single
  function qAEABo6jCDaH_ab0PgaBeQQ(b)
  {
    var c, d, e, f;

    f = !(b == null);

    if (!f)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    d = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      f = d._6wEABu7N0xGI6ACQJ1TEOg();

      if (!f)
      {
        throw kgAABjmrrT_axh8KSPkRu9Q();
      }

      c = d.__bQEABrYmRzSu_anO2U_bk1MA();
      f = !d._6wEABu7N0xGI6ACQJ1TEOg();

      if (!f)
      {
        throw kwAABjmrrT_axh8KSPkRu9Q();
      }

    }
    finally
    {
      f = (d == null);

      if (!f)
      {
        d.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    e = c;
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.SingleOrDefault
  function qQEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d;

    d = qgEABo6jCDaH_ab0PgaBeQQ(zQEABo6jCDaH_ab0PgaBeQQ(b, c));
    return d;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.SingleOrDefault
  function qgEABo6jCDaH_ab0PgaBeQQ(b)
  {
    var c, d, e, f;

    f = !(b == null);

    if (!f)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    c = void(0);
    d = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      f = !d._6wEABu7N0xGI6ACQJ1TEOg();

      if (!f)
      {
        c = d.__bQEABrYmRzSu_anO2U_bk1MA();
      }

    }
    finally
    {
      f = (d == null);

      if (!f)
      {
        d.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    e = c;
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.ToArray
  function qwEABo6jCDaH_ab0PgaBeQQ(b)
  {
    var c;

    c = rAEABo6jCDaH_ab0PgaBeQQ(b).dBUABkaD4z_a2whoejWFgQA();
    return c;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.ToList
  function rAEABo6jCDaH_ab0PgaBeQQ(b)
  {
    var c, d;

    d = !(b == null);

    if (!d)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    c = new ctor$cBUABkaD4z_a2whoejWFgQA(b);
    return c;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Aggregate
  function rQEABo6jCDaH_ab0PgaBeQQ(b, c, d)
  {
    var e, f, g, h, i;

    e = c;
    h = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (h._6wEABu7N0xGI6ACQJ1TEOg())
      {
        f = h.__bQEABrYmRzSu_anO2U_bk1MA();
        e = d.Invoke(e, f);
      }
    }
    finally
    {
      i = (h == null);

      if (!i)
      {
        h.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    g = e;
    return g;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.OrderBy
  function rgEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d;

    d = new ctor$GQIABsrJ4TS7hkmfeorG9g(b, c, null, 0);
    return d;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.OrderByDescending
  function rwEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d;

    d = new ctor$GQIABsrJ4TS7hkmfeorG9g(b, c, null, 1);
    return d;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.OrderByDescending
  function sAEABo6jCDaH_ab0PgaBeQQ(b, c, d)
  {
    var e;

    e = new ctor$GQIABsrJ4TS7hkmfeorG9g(b, c, d, 1);
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.OrderBy
  function sQEABo6jCDaH_ab0PgaBeQQ(b, c, d)
  {
    var e;

    e = new ctor$GQIABsrJ4TS7hkmfeorG9g(b, c, d, 0);
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.ThenBy
  function sgEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e;

    e = !(b == null);

    if (!e)
    {
      throw iQoABmMBPj6mGZdcDTSSEg('source');
    }

    d = b._4QQABjj0njK9JUKNqwYIpw(c, null, 0);
    return d;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.ThenBy
  function swEABo6jCDaH_ab0PgaBeQQ(b, c, d)
  {
    var e, f;

    f = !(b == null);

    if (!f)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    e = b._4QQABjj0njK9JUKNqwYIpw(c, d, 0);
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.ThenByDescending
  function tAEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e;

    e = !(b == null);

    if (!e)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    d = b._4QQABjj0njK9JUKNqwYIpw(c, null, 1);
    return d;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.ThenByDescending
  function tQEABo6jCDaH_ab0PgaBeQQ(b, c, d)
  {
    var e, f;

    f = !(b == null);

    if (!f)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    e = b._4QQABjj0njK9JUKNqwYIpw(c, d, 1);
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Range
  function tgEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e, f;

    d = ((b + c) - 1);
    f = !(c < 0);

    if (!f)
    {
    }
    else
    {
      f = (d > 2147483647);

      if (!f)
      {
        e = twEABo6jCDaH_ab0PgaBeQQ(b, c);
        return e;
      }

    }

    throw kAAABjmrrT_axh8KSPkRu9Q('count');
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.RangeIterator
  function twEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e;

    d = new ctor$zwEABtkWGD_ai_a3nDe0zAtQ(-2);
    d.__3__start = b;
    d.__3__count = c;
    e = d;
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Take
  function uAEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e;

    e = !(b == null);

    if (!e)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    d = uQEABo6jCDaH_ab0PgaBeQQ(b, c);
    return d;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.TakeIterator
  function uQEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e;

    d = new ctor$_1wEABngIhzaWDIf0iwXCoQ(-2);
    d.__3__source = b;
    d.__3__count = c;
    e = d;
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Sum
  function ugEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e, f, g, h;

    d = 0;
    g = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (g._6wEABu7N0xGI6ACQJ1TEOg())
      {
        e = g.__bQEABrYmRzSu_anO2U_bk1MA();
        d += c.Invoke(e);
      }
    }
    finally
    {
      h = (g == null);

      if (!h)
      {
        g.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    f = d;
    return f;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Sum
  function uwEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d, e, f, g, h;

    d = 0;
    g = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (g._6wEABu7N0xGI6ACQJ1TEOg())
      {
        e = g.__bQEABrYmRzSu_anO2U_bk1MA();
        d += c.Invoke(e);
      }
    }
    finally
    {
      h = (g == null);

      if (!h)
      {
        g.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    f = d;
    return f;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Sum
  function vAEABo6jCDaH_ab0PgaBeQQ(b)
  {
    var c, d, e, f, g;

    c = 0;
    f = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (f._6wEABu7N0xGI6ACQJ1TEOg())
      {
        d = f.__bQEABrYmRzSu_anO2U_bk1MA();
        c += d;
      }
    }
    finally
    {
      g = (f == null);

      if (!g)
      {
        f.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    e = c;
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.Sum
  function vQEABo6jCDaH_ab0PgaBeQQ(b)
  {
    var c, d, e, f, g;

    c = 0;
    f = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (f._6wEABu7N0xGI6ACQJ1TEOg())
      {
        d = f.__bQEABrYmRzSu_anO2U_bk1MA();
        c += d;
      }
    }
    finally
    {
      g = (f == null);

      if (!g)
      {
        f.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    e = c;
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.ToDictionary
  function vgEABo6jCDaH_ab0PgaBeQQ(b, c)
  {
    var d;

    d = wQEABo6jCDaH_ab0PgaBeQQ(b, c, PwIABoteVzujhsBhSIn3RA(), null);
    return d;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.ToDictionary
  function vwEABo6jCDaH_ab0PgaBeQQ(b, c, d)
  {
    var e;

    e = wQEABo6jCDaH_ab0PgaBeQQ(b, c, PwIABoteVzujhsBhSIn3RA(), d);
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.ToDictionary
  function wAEABo6jCDaH_ab0PgaBeQQ(b, c, d)
  {
    var e;

    e = wQEABo6jCDaH_ab0PgaBeQQ(b, c, d, null);
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.ToDictionary
  function wQEABo6jCDaH_ab0PgaBeQQ(b, c, d, e)
  {
    var f, g, h, i, j;

    i = !(b == null);

    if (!i)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    i = !(c == null);

    if (!i)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('keySelector');
    }

    i = !(d == null);

    if (!i)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('elementSelector');
    }

    f = new ctor$SxUABsp2IDu2WtaYdTS1rw(e);
    j = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (j._6wEABu7N0xGI6ACQJ1TEOg())
      {
        g = j.__bQEABrYmRzSu_anO2U_bk1MA();
        f.TBUABsp2IDu2WtaYdTS1rw(c.Invoke(g), d.Invoke(g));
      }
    }
    finally
    {
      i = (j == null);

      if (!i)
      {
        j.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    h = f;
    return h;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.AsEnumerable
  function wgEABo6jCDaH_ab0PgaBeQQ(b)
  {
    var c;

    c = gBIABtcQ_aD_aFSQQnu4bgcg(b);
    return c;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.SelectMany
  function wwEABo6jCDaH_ab0PgaBeQQ(b, c, d)
  {
    var e, f;

    f = !(b == null);

    if (!f)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('source');
    }

    f = !(c == null);

    if (!f)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('collectionSelector');
    }

    f = !(d == null);

    if (!f)
    {
      throw kQAABjmrrT_axh8KSPkRu9Q('resultSelector');
    }

    e = xAEABo6jCDaH_ab0PgaBeQQ(b, c, d);
    return e;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable.SelectManyIterator
  function xAEABo6jCDaH_ab0PgaBeQQ(b, c, d)
  {
    var e, f;

    e = new ctor$_4AEABvjSeT2WdiXkjVi1wQ(-2);
    e.__3__source = b;
    e.__3__collectionSelector = c;
    e.__3__resultSelector = d;
    f = e;
    return f;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_RangeIterator_d__91
  function EbW89dkWGD_ai_a3nDe0zAtQ(){};
  EbW89dkWGD_ai_a3nDe0zAtQ.TypeName = "_RangeIterator_d__91";
  EbW89dkWGD_ai_a3nDe0zAtQ.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$EbW89dkWGD_ai_a3nDe0zAtQ = EbW89dkWGD_ai_a3nDe0zAtQ.prototype;
  type$EbW89dkWGD_ai_a3nDe0zAtQ.constructor = EbW89dkWGD_ai_a3nDe0zAtQ;
  type$EbW89dkWGD_ai_a3nDe0zAtQ.__1__state = 0;
  type$EbW89dkWGD_ai_a3nDe0zAtQ.__3__start = 0;
  type$EbW89dkWGD_ai_a3nDe0zAtQ.__3__count = 0;
  type$EbW89dkWGD_ai_a3nDe0zAtQ.start = 0;
  type$EbW89dkWGD_ai_a3nDe0zAtQ.count = 0;
  type$EbW89dkWGD_ai_a3nDe0zAtQ.__2__current = 0;
  type$EbW89dkWGD_ai_a3nDe0zAtQ._i_5__92 = 0;
  var basector$EbW89dkWGD_ai_a3nDe0zAtQ = $ctor$(null, null, type$EbW89dkWGD_ai_a3nDe0zAtQ);
  // ScriptCoreLib.Shared.Query.__Enumerable+_RangeIterator_d__91..ctor
  type$EbW89dkWGD_ai_a3nDe0zAtQ.zwEABtkWGD_ai_a3nDe0zAtQ = function (b)
  {
    var a = this;

    a.__1__state = b;
  };
  var ctor$zwEABtkWGD_ai_a3nDe0zAtQ = $ctor$(null, 'zwEABtkWGD_ai_a3nDe0zAtQ', type$EbW89dkWGD_ai_a3nDe0zAtQ);

  // ScriptCoreLib.Shared.Query.__Enumerable+_RangeIterator_d__91.GetEnumerator
  type$EbW89dkWGD_ai_a3nDe0zAtQ.GetEnumerator = function ()
  {
    var a = this, b, c, d;

    b = null;
    d = !(a.__1__state == -2);

    if (!d)
    {
      a.__1__state = 0;
      b = a;
    }
    else
    {
      b = new ctor$zwEABtkWGD_ai_a3nDe0zAtQ(0);
    }

    b.start = a.__3__start;
    b.count = a.__3__count;
    c = b;
    return c;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_RangeIterator_d__91.System.Collections.IEnumerable.GetEnumerator
  type$EbW89dkWGD_ai_a3nDe0zAtQ.System_Collections_IEnumerable_GetEnumerator = function ()
  {
    var a = this, b;

    b = a.GetEnumerator();
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_RangeIterator_d__91.get_Current
  type$EbW89dkWGD_ai_a3nDe0zAtQ.get_Current = function ()
  {
    var a = this, b;

    b = a.__2__current;
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_RangeIterator_d__91.Dispose
  type$EbW89dkWGD_ai_a3nDe0zAtQ.Dispose = function ()
  {
    var a = this;

  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_RangeIterator_d__91.System.Collections.IEnumerator.get_Current
  type$EbW89dkWGD_ai_a3nDe0zAtQ.System_Collections_IEnumerator_get_Current = function ()
  {
    var a = this, b;

    b = new Number(a.get_Current());
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_RangeIterator_d__91.Reset
  type$EbW89dkWGD_ai_a3nDe0zAtQ.Reset = function ()
  {
    var a = this;

    throw lAAABjmrrT_axh8KSPkRu9Q();
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_RangeIterator_d__91.MoveNext
  type$EbW89dkWGD_ai_a3nDe0zAtQ.MoveNext = function ()
  {
    var a = this, b, c;

    c = !!a.__1__state;

    if (!c)
    {
      a.__1__state = -1;
      a._i_5__92 = 0;
    }
    else
    {
      c = !(a.__1__state == 1);

      if (!c)
      {
        a.__1__state = -1;
        a._i_5__92 = (a._i_5__92 + 1);
      }
      else
      {
        b = 0;
        return b;
      }

    }

    c = !(a._i_5__92 < a.count);

    if (!c)
    {
      a.__2__current = (a.start + a._i_5__92);
      a.__1__state = 1;
      b = 1;
      return b;
    }

    b = 0;
    return b;
  };

  // System.Collections.Generic.IEnumerable`1[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
  // ScriptCoreLib.Shared.Query.__Enumerable+_RangeIterator_d__91
  (function (i)  {
    i.sAIABnMeWzaNooAKOmFm5g = i.GetEnumerator;
    // System.Collections.IEnumerable
    i.VQEABu7N0xGI6ACQJ1TEOg = i.System_Collections_IEnumerable_GetEnumerator;
    // System.Collections.Generic.IEnumerator`1[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
    i.__bQEABrYmRzSu_anO2U_bk1MA = i.get_Current;
    // System.IDisposable
    i.__bAEABq_bUDz_aWf_aXPRTEtLA = i.Dispose;
    // System.Collections.IEnumerator
    i._6wEABu7N0xGI6ACQJ1TEOg = i.MoveNext;
    i._7AEABu7N0xGI6ACQJ1TEOg = i.System_Collections_IEnumerator_get_Current;
    i._7QEABu7N0xGI6ACQJ1TEOg = i.Reset;
  }
  )(type$EbW89dkWGD_ai_a3nDe0zAtQ);
  // ScriptCoreLib.Shared.Query.__Enumerable+_TakeIterator_d__40`1
  function DUTvM3gIhzaWDIf0iwXCoQ(){};
  DUTvM3gIhzaWDIf0iwXCoQ.TypeName = "_TakeIterator_d__40_1";
  DUTvM3gIhzaWDIf0iwXCoQ.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$DUTvM3gIhzaWDIf0iwXCoQ = DUTvM3gIhzaWDIf0iwXCoQ.prototype;
  type$DUTvM3gIhzaWDIf0iwXCoQ.constructor = DUTvM3gIhzaWDIf0iwXCoQ;
  type$DUTvM3gIhzaWDIf0iwXCoQ.__1__state = 0;
  type$DUTvM3gIhzaWDIf0iwXCoQ.__2__current = null;
  type$DUTvM3gIhzaWDIf0iwXCoQ.__3__count = 0;
  type$DUTvM3gIhzaWDIf0iwXCoQ.__3__source = null;
  type$DUTvM3gIhzaWDIf0iwXCoQ.__7__wrap42 = null;
  type$DUTvM3gIhzaWDIf0iwXCoQ._element_5__41 = null;
  type$DUTvM3gIhzaWDIf0iwXCoQ.count = 0;
  type$DUTvM3gIhzaWDIf0iwXCoQ.source = null;
  var basector$DUTvM3gIhzaWDIf0iwXCoQ = $ctor$(null, null, type$DUTvM3gIhzaWDIf0iwXCoQ);
  // ScriptCoreLib.Shared.Query.__Enumerable+_TakeIterator_d__40`1..ctor
  type$DUTvM3gIhzaWDIf0iwXCoQ._1wEABngIhzaWDIf0iwXCoQ = function (b)
  {
    var a = this;

    a.__1__state = b;
  };
  var ctor$_1wEABngIhzaWDIf0iwXCoQ = $ctor$(null, '_1wEABngIhzaWDIf0iwXCoQ', type$DUTvM3gIhzaWDIf0iwXCoQ);

  // ScriptCoreLib.Shared.Query.__Enumerable+_TakeIterator_d__40`1.GetEnumerator
  type$DUTvM3gIhzaWDIf0iwXCoQ.GetEnumerator = function ()
  {
    var a = this, b, c, d;

    b = null;
    d = !(a.__1__state == -2);

    if (!d)
    {
      a.__1__state = 0;
      b = a;
    }
    else
    {
      b = new ctor$_1wEABngIhzaWDIf0iwXCoQ(0);
    }

    b.source = a.__3__source;
    b.count = a.__3__count;
    c = b;
    return c;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_TakeIterator_d__40`1.System.Collections.IEnumerable.GetEnumerator
  type$DUTvM3gIhzaWDIf0iwXCoQ.System_Collections_IEnumerable_GetEnumerator = function ()
  {
    var a = this, b;

    b = a.GetEnumerator();
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_TakeIterator_d__40`1.get_Current
  type$DUTvM3gIhzaWDIf0iwXCoQ.get_Current = function ()
  {
    var a = this, b;

    b = a.__2__current;
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_TakeIterator_d__40`1.Dispose
  type$DUTvM3gIhzaWDIf0iwXCoQ.Dispose = function ()
  {
    var a = this;

    a.__m__Finally43();
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_TakeIterator_d__40`1.System.Collections.IEnumerator.get_Current
  type$DUTvM3gIhzaWDIf0iwXCoQ.System_Collections_IEnumerator_get_Current = function ()
  {
    var a = this, b;

    b = a.get_Current();
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_TakeIterator_d__40`1.Reset
  type$DUTvM3gIhzaWDIf0iwXCoQ.Reset = function ()
  {
    var a = this;

    throw lAAABjmrrT_axh8KSPkRu9Q();
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_TakeIterator_d__40`1.MoveNext
  type$DUTvM3gIhzaWDIf0iwXCoQ.MoveNext = function ()
  {
    var a = this, b, c;

    c = (a.__1__state && !(a.__1__state == 2));

    if (!c)
    {
      c = !!a.__1__state;

      if (!c)
      {
        a.__1__state = -1;
        c = (a.count > 0);

        if (!c)
        {
          a.__m__Finally43();
          b = 0;
          return b;
        }

        a.__7__wrap42 = wgEABo6jCDaH_ab0PgaBeQQ(a.source).sAIABnMeWzaNooAKOmFm5g();
      }
      else
      {
        c = !(a.__1__state == 2);

        if (!c)
        {
          a.__1__state = 1;
          a.count = (a.count - 1);
          c = !!a.count;

          if (!c)
          {
            a.__m__Finally43();
            b = 0;
            return b;
          }

        }

      }

      c = !a.__7__wrap42._6wEABu7N0xGI6ACQJ1TEOg();

      if (!c)
      {
        a._element_5__41 = a.__7__wrap42.__bQEABrYmRzSu_anO2U_bk1MA();
        a.__2__current = a._element_5__41;
        a.__1__state = 2;
        b = 1;
        return b;
      }

    }

    b = 0;
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_TakeIterator_d__40`1.__m__Finally43
  type$DUTvM3gIhzaWDIf0iwXCoQ.__m__Finally43 = function ()
  {
    var a = this, b;

    a.__1__state = -1;
    b = (a.__7__wrap42 == null);

    if (!b)
    {
      a.__7__wrap42.__bAEABq_bUDz_aWf_aXPRTEtLA();
    }

  };

  // 
  // ScriptCoreLib.Shared.Query.__Enumerable+_TakeIterator_d__40`1
  (function (i)  {
    i.sAIABnMeWzaNooAKOmFm5g = i.GetEnumerator;
    // System.Collections.IEnumerable
    i.VQEABu7N0xGI6ACQJ1TEOg = i.System_Collections_IEnumerable_GetEnumerator;
    // 
    i.__bQEABrYmRzSu_anO2U_bk1MA = i.get_Current;
    // System.IDisposable
    i.__bAEABq_bUDz_aWf_aXPRTEtLA = i.Dispose;
    // System.Collections.IEnumerator
    i._6wEABu7N0xGI6ACQJ1TEOg = i.MoveNext;
    i._7AEABu7N0xGI6ACQJ1TEOg = i.System_Collections_IEnumerator_get_Current;
    i._7QEABu7N0xGI6ACQJ1TEOg = i.Reset;
  }
  )(type$DUTvM3gIhzaWDIf0iwXCoQ);
  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__37`3
  function MfnaC_bjSeT2WdiXkjVi1wQ(){};
  MfnaC_bjSeT2WdiXkjVi1wQ.TypeName = "_SelectManyIterator_d__37_3";
  MfnaC_bjSeT2WdiXkjVi1wQ.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$MfnaC_bjSeT2WdiXkjVi1wQ = MfnaC_bjSeT2WdiXkjVi1wQ.prototype;
  type$MfnaC_bjSeT2WdiXkjVi1wQ.constructor = MfnaC_bjSeT2WdiXkjVi1wQ;
  type$MfnaC_bjSeT2WdiXkjVi1wQ.__1__state = 0;
  type$MfnaC_bjSeT2WdiXkjVi1wQ.__2__current = null;
  type$MfnaC_bjSeT2WdiXkjVi1wQ.__3__collectionSelector = null;
  type$MfnaC_bjSeT2WdiXkjVi1wQ.__3__resultSelector = null;
  type$MfnaC_bjSeT2WdiXkjVi1wQ.__3__source = null;
  type$MfnaC_bjSeT2WdiXkjVi1wQ.__7__wrap3a = null;
  type$MfnaC_bjSeT2WdiXkjVi1wQ.__7__wrap3c = null;
  type$MfnaC_bjSeT2WdiXkjVi1wQ._element_5__38 = null;
  type$MfnaC_bjSeT2WdiXkjVi1wQ._subElement_5__39 = null;
  type$MfnaC_bjSeT2WdiXkjVi1wQ.collectionSelector = null;
  type$MfnaC_bjSeT2WdiXkjVi1wQ.resultSelector = null;
  type$MfnaC_bjSeT2WdiXkjVi1wQ.source = null;
  var basector$MfnaC_bjSeT2WdiXkjVi1wQ = $ctor$(null, null, type$MfnaC_bjSeT2WdiXkjVi1wQ);
  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__37`3..ctor
  type$MfnaC_bjSeT2WdiXkjVi1wQ._4AEABvjSeT2WdiXkjVi1wQ = function (b)
  {
    var a = this;

    a.__1__state = b;
  };
  var ctor$_4AEABvjSeT2WdiXkjVi1wQ = $ctor$(null, '_4AEABvjSeT2WdiXkjVi1wQ', type$MfnaC_bjSeT2WdiXkjVi1wQ);

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__37`3.System.Collections.Generic.IEnumerable<TResult>.GetEnumerator
  type$MfnaC_bjSeT2WdiXkjVi1wQ.System_Collections_Generic_IEnumerable_TResult__GetEnumerator = function ()
  {
    var a = this, b, c, d;

    b = null;
    d = !(a.__1__state == -2);

    if (!d)
    {
      a.__1__state = 0;
      b = a;
    }
    else
    {
      b = new ctor$_4AEABvjSeT2WdiXkjVi1wQ(0);
    }

    b.source = a.__3__source;
    b.collectionSelector = a.__3__collectionSelector;
    b.resultSelector = a.__3__resultSelector;
    c = b;
    return c;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__37`3.System.Collections.IEnumerable.GetEnumerator
  type$MfnaC_bjSeT2WdiXkjVi1wQ.System_Collections_IEnumerable_GetEnumerator = function ()
  {
    var a = this, b;

    b = a.sAIABnMeWzaNooAKOmFm5g();
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__37`3.System.Collections.IEnumerator.Reset
  type$MfnaC_bjSeT2WdiXkjVi1wQ.System_Collections_IEnumerator_Reset = function ()
  {
    var a = this;

    throw HBUABqul7j2GPUP5_apHFMQ();
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__37`3.__m__Finally3b
  type$MfnaC_bjSeT2WdiXkjVi1wQ.__m__Finally3b = function ()
  {
    var a = this, b;

    a.__1__state = -1;
    b = (a.__7__wrap3a == null);

    if (!b)
    {
      a.__7__wrap3a.__bAEABq_bUDz_aWf_aXPRTEtLA();
    }

  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__37`3.__m__Finally3d
  type$MfnaC_bjSeT2WdiXkjVi1wQ.__m__Finally3d = function ()
  {
    var a = this, b;

    a.__1__state = 1;
    b = (a.__7__wrap3c == null);

    if (!b)
    {
      a.__7__wrap3c.__bAEABq_bUDz_aWf_aXPRTEtLA();
    }

  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__37`3.System.IDisposable.Dispose
  type$MfnaC_bjSeT2WdiXkjVi1wQ.System_IDisposable_Dispose = function ()
  {
    var a = this;

    try
    {
      a.__m__Finally3d();
    }
    finally
    {
      a.__m__Finally3b();
    }
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__37`3.System.Collections.Generic.IEnumerator<TResult>.get_Current
  type$MfnaC_bjSeT2WdiXkjVi1wQ.System_Collections_Generic_IEnumerator_TResult__get_Current = function ()
  {
    var a = this, b;

    b = a.__2__current;
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__37`3.System.Collections.IEnumerator.get_Current
  type$MfnaC_bjSeT2WdiXkjVi1wQ.System_Collections_IEnumerator_get_Current = function ()
  {
    var a = this, b;

    b = a.__2__current;
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__37`3.MoveNext
  type$MfnaC_bjSeT2WdiXkjVi1wQ.MoveNext = function ()
  {
    var a = this, b, c, d, e, f;

    try
    {
      b = 0;
      c = !a.__1__state;
      d = (a.__1__state == 3);
      f = (!c && !d);

      if (!f)
      {
        f = !d;

        if (!f)
        {
          b = 1;
        }

        f = (!b && !c);

        if (!f)
        {
          f = b;

          if (!f)
          {
            a.__1__state = -1;
            a.__7__wrap3a = wgEABo6jCDaH_ab0PgaBeQQ(a.source).sAIABnMeWzaNooAKOmFm5g();
            a.__1__state = 1;
          }

          while ((b || a.__7__wrap3a._6wEABu7N0xGI6ACQJ1TEOg()))
          {
            f = b;

            if (!f)
            {
              a._element_5__38 = a.__7__wrap3a.__bQEABrYmRzSu_anO2U_bk1MA();
              a.__7__wrap3c = wgEABo6jCDaH_ab0PgaBeQQ(a.collectionSelector.Invoke(a._element_5__38)).sAIABnMeWzaNooAKOmFm5g();
            }

            b = 0;
            a.__1__state = 2;
            while (a.__7__wrap3c._6wEABu7N0xGI6ACQJ1TEOg())
            {
              a._subElement_5__39 = a.__7__wrap3c.__bQEABrYmRzSu_anO2U_bk1MA();
              a.__2__current = a.resultSelector.Invoke(a._element_5__38, a._subElement_5__39);
              a.__1__state = 3;
              e = 1;
              return e;
            }
            a.__m__Finally3d();
          }
          a.__m__Finally3b();
        }

      }

      e = 0;
    }
    catch (__exc)
    {
      a.__bAEABq_bUDz_aWf_aXPRTEtLA();
      throw __exc;
    }
    return e;
  };

  // 
  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__37`3
  (function (i)  {
    i.sAIABnMeWzaNooAKOmFm5g = i.System_Collections_Generic_IEnumerable_TResult__GetEnumerator;
    // System.Collections.IEnumerable
    i.VQEABu7N0xGI6ACQJ1TEOg = i.System_Collections_IEnumerable_GetEnumerator;
    // 
    i.__bQEABrYmRzSu_anO2U_bk1MA = i.System_Collections_Generic_IEnumerator_TResult__get_Current;
    // System.IDisposable
    i.__bAEABq_bUDz_aWf_aXPRTEtLA = i.System_IDisposable_Dispose;
    // System.Collections.IEnumerator
    i._6wEABu7N0xGI6ACQJ1TEOg = i.MoveNext;
    i._7AEABu7N0xGI6ACQJ1TEOg = i.System_Collections_IEnumerator_get_Current;
    i._7QEABu7N0xGI6ACQJ1TEOg = i.System_Collections_IEnumerator_Reset;
  }
  )(type$MfnaC_bjSeT2WdiXkjVi1wQ);
  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__16`2
  function xa4SD6_aNTTy9fGbVOtR35g(){};
  xa4SD6_aNTTy9fGbVOtR35g.TypeName = "_SelectManyIterator_d__16_2";
  xa4SD6_aNTTy9fGbVOtR35g.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$xa4SD6_aNTTy9fGbVOtR35g = xa4SD6_aNTTy9fGbVOtR35g.prototype;
  type$xa4SD6_aNTTy9fGbVOtR35g.constructor = xa4SD6_aNTTy9fGbVOtR35g;
  type$xa4SD6_aNTTy9fGbVOtR35g.__1__state = 0;
  type$xa4SD6_aNTTy9fGbVOtR35g.__2__current = null;
  type$xa4SD6_aNTTy9fGbVOtR35g.__3__source = null;
  type$xa4SD6_aNTTy9fGbVOtR35g.__3__selector = null;
  type$xa4SD6_aNTTy9fGbVOtR35g.__7__wrap19 = null;
  type$xa4SD6_aNTTy9fGbVOtR35g.__7__wrap1a = null;
  type$xa4SD6_aNTTy9fGbVOtR35g.source = null;
  type$xa4SD6_aNTTy9fGbVOtR35g.selector = null;
  var basector$xa4SD6_aNTTy9fGbVOtR35g = $ctor$(null, null, type$xa4SD6_aNTTy9fGbVOtR35g);
  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__16`2..ctor
  type$xa4SD6_aNTTy9fGbVOtR35g._6gEABq_aNTTy9fGbVOtR35g = function (b)
  {
    var a = this;

    a.__1__state = b;
  };
  var ctor$_6gEABq_aNTTy9fGbVOtR35g = $ctor$(null, '_6gEABq_aNTTy9fGbVOtR35g', type$xa4SD6_aNTTy9fGbVOtR35g);

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__16`2.GetEnumerator
  type$xa4SD6_aNTTy9fGbVOtR35g.GetEnumerator = function ()
  {
    var a = this, b, c, d;

    b = null;
    d = !(a.__1__state == -2);

    if (!d)
    {
      a.__1__state = 0;
      b = a;
    }
    else
    {
      b = new ctor$_6gEABq_aNTTy9fGbVOtR35g(0);
    }

    b.source = a.__3__source;
    b.selector = a.__3__selector;
    c = b;
    return c;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__16`2.System.Collections.IEnumerable.GetEnumerator
  type$xa4SD6_aNTTy9fGbVOtR35g.System_Collections_IEnumerable_GetEnumerator = function ()
  {
    var a = this, b;

    b = a.sAIABnMeWzaNooAKOmFm5g();
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__16`2.get_Current
  type$xa4SD6_aNTTy9fGbVOtR35g.get_Current = function ()
  {
    var a = this, b;

    b = a.__2__current;
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__16`2.Dispose
  type$xa4SD6_aNTTy9fGbVOtR35g.Dispose = function ()
  {
    var a = this, b;

    try
    {
      a.__1__state = 1;
      b = (a.__7__wrap1a == null);

      if (!b)
      {
        a.__7__wrap1a.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
    finally
    {
      a.__1__state = -1;
      b = (a.__7__wrap19 == null);

      if (!b)
      {
        a.__7__wrap19.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__16`2.System.Collections.IEnumerator.get_Current
  type$xa4SD6_aNTTy9fGbVOtR35g.System_Collections_IEnumerator_get_Current = function ()
  {
    var a = this, b;

    b = a.get_Current();
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__16`2.MoveNext
  type$xa4SD6_aNTTy9fGbVOtR35g.MoveNext = function ()
  {
    var a = this, b, c, d;

    b = 0;
    d = !a.__1__state;

    if (!d)
    {
      d = !(a.__1__state == 3);

      if (!d)
      {
        b = 1;
      }
      else
      {
        c = 0;
        return c;
      }

    }

    d = b;

    if (!d)
    {
      a.__1__state = -1;
      a.__7__wrap19 = a.source.sAIABnMeWzaNooAKOmFm5g();
      a.__1__state = 1;
    }

    while ((b || a.__7__wrap19._6wEABu7N0xGI6ACQJ1TEOg()))
    {
      d = b;

      if (!d)
      {
        a.__7__wrap1a = wgEABo6jCDaH_ab0PgaBeQQ(a.selector.Invoke(a.__7__wrap19.__bQEABrYmRzSu_anO2U_bk1MA())).sAIABnMeWzaNooAKOmFm5g();
        a.__1__state = 2;
      }
      else
      {
        b = 0;
        a.__1__state = 2;
      }

      while (a.__7__wrap1a._6wEABu7N0xGI6ACQJ1TEOg())
      {
        a.__2__current = a.__7__wrap1a.__bQEABrYmRzSu_anO2U_bk1MA();
        a.__1__state = 3;
        c = 1;
        return c;
      }
      a.__1__state = 1;
    }
    a.__1__state = -1;
    c = 0;
    return c;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__16`2.Reset
  type$xa4SD6_aNTTy9fGbVOtR35g.Reset = function ()
  {
    var a = this;

    throw NQcABh20mDuxDBcz4r7ZkQ('The method or operation is not implemented.');
  };

  // 
  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectManyIterator_d__16`2
  (function (i)  {
    i.sAIABnMeWzaNooAKOmFm5g = i.GetEnumerator;
    // System.Collections.IEnumerable
    i.VQEABu7N0xGI6ACQJ1TEOg = i.System_Collections_IEnumerable_GetEnumerator;
    // 
    i.__bQEABrYmRzSu_anO2U_bk1MA = i.get_Current;
    // System.IDisposable
    i.__bAEABq_bUDz_aWf_aXPRTEtLA = i.Dispose;
    // System.Collections.IEnumerator
    i._6wEABu7N0xGI6ACQJ1TEOg = i.MoveNext;
    i._7AEABu7N0xGI6ACQJ1TEOg = i.System_Collections_IEnumerator_get_Current;
    i._7QEABu7N0xGI6ACQJ1TEOg = i.Reset;
  }
  )(type$xa4SD6_aNTTy9fGbVOtR35g);
  // ScriptCoreLib.Shared.Query.__Enumerable+_ConcatIterator_d__5b`1
  function ung8kQkOKj2boceAkZKEKw(){};
  ung8kQkOKj2boceAkZKEKw.TypeName = "_ConcatIterator_d__5b_1";
  ung8kQkOKj2boceAkZKEKw.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$ung8kQkOKj2boceAkZKEKw = ung8kQkOKj2boceAkZKEKw.prototype;
  type$ung8kQkOKj2boceAkZKEKw.constructor = ung8kQkOKj2boceAkZKEKw;
  type$ung8kQkOKj2boceAkZKEKw.__1__state = 0;
  type$ung8kQkOKj2boceAkZKEKw.__2__current = null;
  type$ung8kQkOKj2boceAkZKEKw.__3__first = null;
  type$ung8kQkOKj2boceAkZKEKw.__3__second = null;
  type$ung8kQkOKj2boceAkZKEKw.__7__wrap5e = null;
  type$ung8kQkOKj2boceAkZKEKw.__7__wrap5f = null;
  type$ung8kQkOKj2boceAkZKEKw._element_5__5c = null;
  type$ung8kQkOKj2boceAkZKEKw._element_5__5d = null;
  type$ung8kQkOKj2boceAkZKEKw.first = null;
  type$ung8kQkOKj2boceAkZKEKw.second = null;
  var basector$ung8kQkOKj2boceAkZKEKw = $ctor$(null, null, type$ung8kQkOKj2boceAkZKEKw);
  // ScriptCoreLib.Shared.Query.__Enumerable+_ConcatIterator_d__5b`1..ctor
  type$ung8kQkOKj2boceAkZKEKw._8gEABgkOKj2boceAkZKEKw = function (b)
  {
    var a = this;

    a.__1__state = b;
  };
  var ctor$_8gEABgkOKj2boceAkZKEKw = $ctor$(null, '_8gEABgkOKj2boceAkZKEKw', type$ung8kQkOKj2boceAkZKEKw);

  // ScriptCoreLib.Shared.Query.__Enumerable+_ConcatIterator_d__5b`1.GetEnumerator
  type$ung8kQkOKj2boceAkZKEKw.GetEnumerator = function ()
  {
    var a = this, b, c, d;

    b = null;
    d = !(a.__1__state == -2);

    if (!d)
    {
      a.__1__state = 0;
      b = a;
    }
    else
    {
      b = new ctor$_8gEABgkOKj2boceAkZKEKw(0);
    }

    b.first = a.__3__first;
    b.second = a.__3__second;
    c = b;
    return c;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_ConcatIterator_d__5b`1.System.Collections.IEnumerable.GetEnumerator
  type$ung8kQkOKj2boceAkZKEKw.System_Collections_IEnumerable_GetEnumerator = function ()
  {
    var a = this, b;

    b = a.GetEnumerator();
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_ConcatIterator_d__5b`1.get_Current
  type$ung8kQkOKj2boceAkZKEKw.get_Current = function ()
  {
    var a = this, b;

    b = a.__2__current;
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_ConcatIterator_d__5b`1.Dispose
  type$ung8kQkOKj2boceAkZKEKw.Dispose = function ()
  {
    var a = this, b;

    a.__1__state = -1;
    b = (a.__7__wrap5e == null);

    if (!b)
    {
      a.__7__wrap5e.__bAEABq_bUDz_aWf_aXPRTEtLA();
    }

    a.__1__state = -1;
    b = (a.__7__wrap5f == null);

    if (!b)
    {
      a.__7__wrap5f.__bAEABq_bUDz_aWf_aXPRTEtLA();
    }

  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_ConcatIterator_d__5b`1.System.Collections.IEnumerator.get_Current
  type$ung8kQkOKj2boceAkZKEKw.System_Collections_IEnumerator_get_Current = function ()
  {
    var a = this, b;

    b = a.get_Current();
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_ConcatIterator_d__5b`1.MoveNext
  type$ung8kQkOKj2boceAkZKEKw.MoveNext = function ()
  {
    var a = this, b, c;

    c = (a.__1__state && ((a.__1__state == 2) ? 0 : !(a.__1__state == 4)));

    if (!c)
    {
      c = (a.__1__state == 4);

      if (!c)
      {
        c = !!a.__1__state;

        if (!c)
        {
          a.__1__state = -1;
          a.__7__wrap5e = a.first.sAIABnMeWzaNooAKOmFm5g();
          a.__1__state = 1;
        }
        else
        {
          a.__1__state = 1;
        }

        while (a.__7__wrap5e._6wEABu7N0xGI6ACQJ1TEOg())
        {
          a._element_5__5c = a.__7__wrap5e.__bQEABrYmRzSu_anO2U_bk1MA();
          a.__2__current = a._element_5__5c;
          a.__1__state = 2;
          b = 1;
          return b;
        }
        a.__1__state = -1;
        a.__7__wrap5f = a.second.sAIABnMeWzaNooAKOmFm5g();
        a.__1__state = 3;
      }
      else
      {
        a.__1__state = 3;
      }

      while (a.__7__wrap5f._6wEABu7N0xGI6ACQJ1TEOg())
      {
        a._element_5__5d = a.__7__wrap5f.__bQEABrYmRzSu_anO2U_bk1MA();
        a.__2__current = a._element_5__5d;
        a.__1__state = 4;
        b = 1;
        return b;
      }
    }

    b = 0;
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_ConcatIterator_d__5b`1.Reset
  type$ung8kQkOKj2boceAkZKEKw.Reset = function ()
  {
    var a = this;

    throw NQcABh20mDuxDBcz4r7ZkQ('The method or operation is not implemented.');
  };

  // 
  // ScriptCoreLib.Shared.Query.__Enumerable+_ConcatIterator_d__5b`1
  (function (i)  {
    i.sAIABnMeWzaNooAKOmFm5g = i.GetEnumerator;
    // System.Collections.IEnumerable
    i.VQEABu7N0xGI6ACQJ1TEOg = i.System_Collections_IEnumerable_GetEnumerator;
    // 
    i.__bQEABrYmRzSu_anO2U_bk1MA = i.get_Current;
    // System.IDisposable
    i.__bAEABq_bUDz_aWf_aXPRTEtLA = i.Dispose;
    // System.Collections.IEnumerator
    i._6wEABu7N0xGI6ACQJ1TEOg = i.MoveNext;
    i._7AEABu7N0xGI6ACQJ1TEOg = i.System_Collections_IEnumerator_get_Current;
    i._7QEABu7N0xGI6ACQJ1TEOg = i.Reset;
  }
  )(type$ung8kQkOKj2boceAkZKEKw);
  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__b`2
  function ecDu2_awjpjKB6e9zfp3bbw(){};
  ecDu2_awjpjKB6e9zfp3bbw.TypeName = "_SelectIterator_d__b_2";
  ecDu2_awjpjKB6e9zfp3bbw.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$ecDu2_awjpjKB6e9zfp3bbw = ecDu2_awjpjKB6e9zfp3bbw.prototype;
  type$ecDu2_awjpjKB6e9zfp3bbw.constructor = ecDu2_awjpjKB6e9zfp3bbw;
  type$ecDu2_awjpjKB6e9zfp3bbw._1_state = 0;
  type$ecDu2_awjpjKB6e9zfp3bbw._2_current = null;
  type$ecDu2_awjpjKB6e9zfp3bbw._3_source = null;
  type$ecDu2_awjpjKB6e9zfp3bbw._3_selector = null;
  type$ecDu2_awjpjKB6e9zfp3bbw._e_5 = null;
  type$ecDu2_awjpjKB6e9zfp3bbw._7_wrap = null;
  type$ecDu2_awjpjKB6e9zfp3bbw.source = null;
  type$ecDu2_awjpjKB6e9zfp3bbw.selector = null;
  var basector$ecDu2_awjpjKB6e9zfp3bbw = $ctor$(null, null, type$ecDu2_awjpjKB6e9zfp3bbw);
  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__b`2..ctor
  type$ecDu2_awjpjKB6e9zfp3bbw.__agEABuwjpjKB6e9zfp3bbw = function (b)
  {
    var a = this;

    a._1_state = b;
  };
  var ctor$__agEABuwjpjKB6e9zfp3bbw = $ctor$(null, '__agEABuwjpjKB6e9zfp3bbw', type$ecDu2_awjpjKB6e9zfp3bbw);

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__b`2.Dispose
  type$ecDu2_awjpjKB6e9zfp3bbw.Dispose = function ()
  {
    var a = this, b;

    b = !(a._1_state == 1);

    if (!b)
    {
      return;
    }

    b = !(a._1_state == 2);

    if (!b)
    {
      return;
    }

    a._1_state = -1;
    b = (a._7_wrap == null);

    if (!b)
    {
      a._7_wrap.__bAEABq_bUDz_aWf_aXPRTEtLA();
    }

  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__b`2.System.Collections.Generic.IEnumerable<S>.GetEnumerator
  type$ecDu2_awjpjKB6e9zfp3bbw.System_Collections_Generic_IEnumerable_S__GetEnumerator = function ()
  {
    var a = this, b, c, d;

    b = null;
    d = !(a._1_state == -2);

    if (!d)
    {
      a._1_state = 0;
      b = a;
    }
    else
    {
      b = new ctor$__agEABuwjpjKB6e9zfp3bbw(0);
    }

    b.source = a._3_source;
    b.selector = a._3_selector;
    c = b;
    return c;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__b`2.get_Current
  type$ecDu2_awjpjKB6e9zfp3bbw.get_Current = function ()
  {
    var a = this, b;

    b = a._2_current;
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__b`2.MoveNext
  type$ecDu2_awjpjKB6e9zfp3bbw.MoveNext = function ()
  {
    var a = this, b, c;

    c = (a._1_state && !(a._1_state == 2));

    if (!c)
    {
      c = !!a._1_state;

      if (!c)
      {
        a._1_state = -1;
        a._7_wrap = wgEABo6jCDaH_ab0PgaBeQQ(a.source).sAIABnMeWzaNooAKOmFm5g();
      }

      a._1_state = 1;
      while (a._7_wrap._6wEABu7N0xGI6ACQJ1TEOg())
      {
        a._e_5 = a._7_wrap.__bQEABrYmRzSu_anO2U_bk1MA();
        a._2_current = a.selector.Invoke(a._e_5);
        a._1_state = 2;
        b = 1;
        return b;
      }
      a._1_state = -1;
    }

    b = 0;
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__b`2.System.Collections.IEnumerator.get_Current
  type$ecDu2_awjpjKB6e9zfp3bbw.System_Collections_IEnumerator_get_Current = function ()
  {
    var a = this, b;

    b = a.get_Current();
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__b`2.Reset
  type$ecDu2_awjpjKB6e9zfp3bbw.Reset = function ()
  {
    var a = this;

    throw NQcABh20mDuxDBcz4r7ZkQ('The method or operation is not implemented.');
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__b`2.System.Collections.IEnumerable.GetEnumerator
  type$ecDu2_awjpjKB6e9zfp3bbw.System_Collections_IEnumerable_GetEnumerator = function ()
  {
    var a = this, b;

    b = a.sAIABnMeWzaNooAKOmFm5g();
    return b;
  };

  // 
  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__b`2
  (function (i)  {
    i.sAIABnMeWzaNooAKOmFm5g = i.System_Collections_Generic_IEnumerable_S__GetEnumerator;
    // System.Collections.IEnumerable
    i.VQEABu7N0xGI6ACQJ1TEOg = i.System_Collections_IEnumerable_GetEnumerator;
    // 
    i.__bQEABrYmRzSu_anO2U_bk1MA = i.get_Current;
    // System.IDisposable
    i.__bAEABq_bUDz_aWf_aXPRTEtLA = i.Dispose;
    // System.Collections.IEnumerator
    i._6wEABu7N0xGI6ACQJ1TEOg = i.MoveNext;
    i._7AEABu7N0xGI6ACQJ1TEOg = i.System_Collections_IEnumerator_get_Current;
    i._7QEABu7N0xGI6ACQJ1TEOg = i.Reset;
  }
  )(type$ecDu2_awjpjKB6e9zfp3bbw);
  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__13`2
  function PU19ZuM81DGvKAD9Hu23vQ(){};
  PU19ZuM81DGvKAD9Hu23vQ.TypeName = "_SelectIterator_d__13_2";
  PU19ZuM81DGvKAD9Hu23vQ.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$PU19ZuM81DGvKAD9Hu23vQ = PU19ZuM81DGvKAD9Hu23vQ.prototype;
  type$PU19ZuM81DGvKAD9Hu23vQ.constructor = PU19ZuM81DGvKAD9Hu23vQ;
  type$PU19ZuM81DGvKAD9Hu23vQ._1_state = 0;
  type$PU19ZuM81DGvKAD9Hu23vQ._2_current = null;
  type$PU19ZuM81DGvKAD9Hu23vQ._3_source = null;
  type$PU19ZuM81DGvKAD9Hu23vQ._3_selector = null;
  type$PU19ZuM81DGvKAD9Hu23vQ._e_5 = null;
  type$PU19ZuM81DGvKAD9Hu23vQ._7_wrap = null;
  type$PU19ZuM81DGvKAD9Hu23vQ.source = null;
  type$PU19ZuM81DGvKAD9Hu23vQ.selector = null;
  type$PU19ZuM81DGvKAD9Hu23vQ._index = 0;
  var basector$PU19ZuM81DGvKAD9Hu23vQ = $ctor$(null, null, type$PU19ZuM81DGvKAD9Hu23vQ);
  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__13`2..ctor
  type$PU19ZuM81DGvKAD9Hu23vQ.AgIABuM81DGvKAD9Hu23vQ = function (b)
  {
    var a = this;

    a._1_state = b;
  };
  var ctor$AgIABuM81DGvKAD9Hu23vQ = $ctor$(null, 'AgIABuM81DGvKAD9Hu23vQ', type$PU19ZuM81DGvKAD9Hu23vQ);

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__13`2.Dispose
  type$PU19ZuM81DGvKAD9Hu23vQ.Dispose = function ()
  {
    var a = this, b;

    b = !(a._1_state == 1);

    if (!b)
    {
      return;
    }

    b = !(a._1_state == 2);

    if (!b)
    {
      return;
    }

    a._1_state = -1;
    b = (a._7_wrap == null);

    if (!b)
    {
      a._7_wrap.__bAEABq_bUDz_aWf_aXPRTEtLA();
    }

  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__13`2.System.Collections.Generic.IEnumerable<S>.GetEnumerator
  type$PU19ZuM81DGvKAD9Hu23vQ.System_Collections_Generic_IEnumerable_S__GetEnumerator = function ()
  {
    var a = this, b, c, d;

    b = null;
    d = !(a._1_state == -2);

    if (!d)
    {
      a._1_state = 0;
      b = a;
    }
    else
    {
      b = new ctor$AgIABuM81DGvKAD9Hu23vQ(0);
    }

    b.source = a._3_source;
    b.selector = a._3_selector;
    c = b;
    return c;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__13`2.get_Current
  type$PU19ZuM81DGvKAD9Hu23vQ.get_Current = function ()
  {
    var a = this, b;

    b = a._2_current;
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__13`2.MoveNext
  type$PU19ZuM81DGvKAD9Hu23vQ.MoveNext = function ()
  {
    var a = this, b, c;

    c = (a._1_state && !(a._1_state == 2));

    if (!c)
    {
      c = !!a._1_state;

      if (!c)
      {
        a._1_state = -1;
        a._index = -1;
        a._7_wrap = wgEABo6jCDaH_ab0PgaBeQQ(a.source).sAIABnMeWzaNooAKOmFm5g();
      }

      a._1_state = 1;
      while (a._7_wrap._6wEABu7N0xGI6ACQJ1TEOg())
      {
        a._e_5 = a._7_wrap.__bQEABrYmRzSu_anO2U_bk1MA();
        a._index = (a._index + 1);
        a._2_current = a.selector.Invoke(a._e_5, a._index);
        a._1_state = 2;
        b = 1;
        return b;
      }
      a._1_state = -1;
    }

    b = 0;
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__13`2.System.Collections.IEnumerator.get_Current
  type$PU19ZuM81DGvKAD9Hu23vQ.System_Collections_IEnumerator_get_Current = function ()
  {
    var a = this, b;

    b = a.get_Current();
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__13`2.Reset
  type$PU19ZuM81DGvKAD9Hu23vQ.Reset = function ()
  {
    var a = this;

    throw NQcABh20mDuxDBcz4r7ZkQ('The method or operation is not implemented.');
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__13`2.System.Collections.IEnumerable.GetEnumerator
  type$PU19ZuM81DGvKAD9Hu23vQ.System_Collections_IEnumerable_GetEnumerator = function ()
  {
    var a = this, b;

    b = a.sAIABnMeWzaNooAKOmFm5g();
    return b;
  };

  // 
  // ScriptCoreLib.Shared.Query.__Enumerable+_SelectIterator_d__13`2
  (function (i)  {
    i.sAIABnMeWzaNooAKOmFm5g = i.System_Collections_Generic_IEnumerable_S__GetEnumerator;
    // System.Collections.IEnumerable
    i.VQEABu7N0xGI6ACQJ1TEOg = i.System_Collections_IEnumerable_GetEnumerator;
    // 
    i.__bQEABrYmRzSu_anO2U_bk1MA = i.get_Current;
    // System.IDisposable
    i.__bAEABq_bUDz_aWf_aXPRTEtLA = i.Dispose;
    // System.Collections.IEnumerator
    i._6wEABu7N0xGI6ACQJ1TEOg = i.MoveNext;
    i._7AEABu7N0xGI6ACQJ1TEOg = i.System_Collections_IEnumerator_get_Current;
    i._7QEABu7N0xGI6ACQJ1TEOg = i.Reset;
  }
  )(type$PU19ZuM81DGvKAD9Hu23vQ);
  // ScriptCoreLib.Shared.Query.__Enumerable+_WhereIterator_d__0`1
  function MqNcMzCCgTC_bz41DwIA6Ew(){};
  MqNcMzCCgTC_bz41DwIA6Ew.TypeName = "_WhereIterator_d__0_1";
  MqNcMzCCgTC_bz41DwIA6Ew.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$MqNcMzCCgTC_bz41DwIA6Ew = MqNcMzCCgTC_bz41DwIA6Ew.prototype;
  type$MqNcMzCCgTC_bz41DwIA6Ew.constructor = MqNcMzCCgTC_bz41DwIA6Ew;
  type$MqNcMzCCgTC_bz41DwIA6Ew._1_state = 0;
  type$MqNcMzCCgTC_bz41DwIA6Ew._3_source = null;
  type$MqNcMzCCgTC_bz41DwIA6Ew._3_predicate = null;
  type$MqNcMzCCgTC_bz41DwIA6Ew.source = null;
  type$MqNcMzCCgTC_bz41DwIA6Ew.predicate = null;
  type$MqNcMzCCgTC_bz41DwIA6Ew._2_current = null;
  type$MqNcMzCCgTC_bz41DwIA6Ew._e_5 = null;
  type$MqNcMzCCgTC_bz41DwIA6Ew._7_wrap = null;
  var basector$MqNcMzCCgTC_bz41DwIA6Ew = $ctor$(null, null, type$MqNcMzCCgTC_bz41DwIA6Ew);
  // ScriptCoreLib.Shared.Query.__Enumerable+_WhereIterator_d__0`1..ctor
  type$MqNcMzCCgTC_bz41DwIA6Ew.CgIABjCCgTC_bz41DwIA6Ew = function (b)
  {
    var a = this;

    a._1_state = b;
  };
  var ctor$CgIABjCCgTC_bz41DwIA6Ew = $ctor$(null, 'CgIABjCCgTC_bz41DwIA6Ew', type$MqNcMzCCgTC_bz41DwIA6Ew);

  // ScriptCoreLib.Shared.Query.__Enumerable+_WhereIterator_d__0`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator
  type$MqNcMzCCgTC_bz41DwIA6Ew.System_Collections_Generic_IEnumerable_T__GetEnumerator = function ()
  {
    var a = this, b, c, d;

    b = null;
    d = !(a._1_state == -2);

    if (!d)
    {
      a._1_state = 0;
      b = a;
    }
    else
    {
      b = new ctor$CgIABjCCgTC_bz41DwIA6Ew(0);
    }

    b.source = a._3_source;
    b.predicate = a._3_predicate;
    c = b;
    return c;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_WhereIterator_d__0`1.get_Current
  type$MqNcMzCCgTC_bz41DwIA6Ew.get_Current = function ()
  {
    var a = this, b;

    b = a._2_current;
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_WhereIterator_d__0`1.System.Collections.IEnumerable.GetEnumerator
  type$MqNcMzCCgTC_bz41DwIA6Ew.System_Collections_IEnumerable_GetEnumerator = function ()
  {
    var a = this, b;

    b = a.sAIABnMeWzaNooAKOmFm5g();
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_WhereIterator_d__0`1.System.Collections.IEnumerator.get_Current
  type$MqNcMzCCgTC_bz41DwIA6Ew.System_Collections_IEnumerator_get_Current = function ()
  {
    var a = this, b;

    b = a.get_Current();
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_WhereIterator_d__0`1.Reset
  type$MqNcMzCCgTC_bz41DwIA6Ew.Reset = function ()
  {
    var a = this;

    throw lAAABjmrrT_axh8KSPkRu9Q();
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_WhereIterator_d__0`1.MoveNext
  type$MqNcMzCCgTC_bz41DwIA6Ew.MoveNext = function ()
  {
    var a = this, b, c;

    c = (a._1_state && !(a._1_state == 2));

    if (!c)
    {
      c = !!a._1_state;

      if (!c)
      {
        a._1_state = -1;
        a._7_wrap = a.source.sAIABnMeWzaNooAKOmFm5g();
      }

      a._1_state = 1;
      while (a._7_wrap._6wEABu7N0xGI6ACQJ1TEOg())
      {
        a._e_5 = a._7_wrap.__bQEABrYmRzSu_anO2U_bk1MA();
        c = a.predicate.Invoke(a._e_5);

        if (!c)
        {
          continue;
        }

        a._2_current = a._e_5;
        a._1_state = 2;
        b = 1;
        return b;
      }
      a._1_state = -1;
    }

    b = 0;
    return b;
  };

  // ScriptCoreLib.Shared.Query.__Enumerable+_WhereIterator_d__0`1.Dispose
  type$MqNcMzCCgTC_bz41DwIA6Ew.Dispose = function ()
  {
    var a = this, b;

    b = !(a._1_state == 1);

    if (!b)
    {
      return;
    }

    b = !(a._1_state == 2);

    if (!b)
    {
      return;
    }

    a._1_state = -1;
    b = (a._7_wrap == null);

    if (!b)
    {
      a._7_wrap.__bAEABq_bUDz_aWf_aXPRTEtLA();
    }

  };

  // 
  // ScriptCoreLib.Shared.Query.__Enumerable+_WhereIterator_d__0`1
  (function (i)  {
    i.sAIABnMeWzaNooAKOmFm5g = i.System_Collections_Generic_IEnumerable_T__GetEnumerator;
    // System.Collections.IEnumerable
    i.VQEABu7N0xGI6ACQJ1TEOg = i.System_Collections_IEnumerable_GetEnumerator;
    // 
    i.__bQEABrYmRzSu_anO2U_bk1MA = i.get_Current;
    // System.IDisposable
    i.__bAEABq_bUDz_aWf_aXPRTEtLA = i.Dispose;
    // System.Collections.IEnumerator
    i._6wEABu7N0xGI6ACQJ1TEOg = i.MoveNext;
    i._7AEABu7N0xGI6ACQJ1TEOg = i.System_Collections_IEnumerator_get_Current;
    i._7QEABu7N0xGI6ACQJ1TEOg = i.Reset;
  }
  )(type$MqNcMzCCgTC_bz41DwIA6Ew);
  // ScriptCoreLib.Shared.Query.OrderedEnumerable`1
  function LigCaz5aCza8lDbMwG0inA(){};
  LigCaz5aCza8lDbMwG0inA.TypeName = "OrderedEnumerable_1";
  LigCaz5aCza8lDbMwG0inA.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$LigCaz5aCza8lDbMwG0inA = LigCaz5aCza8lDbMwG0inA.prototype;
  type$LigCaz5aCza8lDbMwG0inA.constructor = LigCaz5aCza8lDbMwG0inA;
  type$LigCaz5aCza8lDbMwG0inA.prev = null;
  type$LigCaz5aCza8lDbMwG0inA.next = null;
  type$LigCaz5aCza8lDbMwG0inA.source = null;
  var basector$LigCaz5aCza8lDbMwG0inA = $ctor$(null, null, type$LigCaz5aCza8lDbMwG0inA);
  // ScriptCoreLib.Shared.Query.OrderedEnumerable`1..ctor
  type$LigCaz5aCza8lDbMwG0inA.FwIABj5aCza8lDbMwG0inA = function ()
  {
    var a = this;

  };
  var ctor$FwIABj5aCza8lDbMwG0inA = LigCaz5aCza8lDbMwG0inA.ctor = $ctor$(null, 'FwIABj5aCza8lDbMwG0inA', type$LigCaz5aCza8lDbMwG0inA);

  // ScriptCoreLib.Shared.Query.OrderedEnumerable`1.Clone
  type$LigCaz5aCza8lDbMwG0inA.EgIABj5aCza8lDbMwG0inA = function ()
  {
throw new Error('abstract method');  };

  // ScriptCoreLib.Shared.Query.OrderedEnumerable`1.Compare
  type$LigCaz5aCza8lDbMwG0inA.EwIABj5aCza8lDbMwG0inA = function (b, c)
  {
throw new Error('abstract method');  };

  // ScriptCoreLib.Shared.Query.OrderedEnumerable`1.CreateOrderedEnumerable
  type$LigCaz5aCza8lDbMwG0inA.FAIABj5aCza8lDbMwG0inA = function (b, c, d)
  {
    var a = this, e, f, g, h, i, j, k;

    i = new ctor$GAIABsrJ4TS7hkmfeorG9g();
    i.keySelector = b;
    i.comparer = c;
    i.descending = d;
    i.source = null;
    e = i;
    k = !(c == null);

    if (!k)
    {
      e.comparer = HgIABvK2MDe9KGcVV9lrRA();
    }
    else
    {
      e.comparer = c;
    }

    f = e;
    g = a;
    while (!(g == null))
    {
      h = g.EgIABj5aCza8lDbMwG0inA();
      f.prev = h;
      h.next = f;
      g = g.prev;
      f = f.prev;
    }
    j = e;
    return j;
  };

  // ScriptCoreLib.Shared.Query.OrderedEnumerable`1.GetEnumerator
  type$LigCaz5aCza8lDbMwG0inA.FQIABj5aCza8lDbMwG0inA = function ()
  {
    var a = this, b, c, d, e;

    c = /* DOMCreateType */new bQok8qBpyjey92Qy3LBOCg();

    for (c.p = a; !(c.p.prev == null); c.p = c.p.prev)
    {
    }

    b = qwEABo6jCDaH_ab0PgaBeQQ(c.p.source);
    AhUABttQXjOcV_aJRrp6HUA(b, new ctor$BxUABlP0Bzmcji4Ut_aid5Q(c, '_GetEnumerator_b__1'));
    d = wgEABo6jCDaH_ab0PgaBeQQ(b).sAIABnMeWzaNooAKOmFm5g();
    return d;
  };

  // ScriptCoreLib.Shared.Query.OrderedEnumerable`1.System.Collections.IEnumerable.GetEnumerator
  type$LigCaz5aCza8lDbMwG0inA.FgIABj5aCza8lDbMwG0inA = function ()
  {
    var a = this, b;

    b = a.FQIABj5aCza8lDbMwG0inA();
    return b;
  };

  // 
  // ScriptCoreLib.Shared.Query.OrderedEnumerable`1
  (function (i)  {
    i._4QQABjj0njK9JUKNqwYIpw = i.FAIABj5aCza8lDbMwG0inA;
    // 
    i.sAIABnMeWzaNooAKOmFm5g = i.FQIABj5aCza8lDbMwG0inA;
    // System.Collections.IEnumerable
    i.VQEABu7N0xGI6ACQJ1TEOg = i.FgIABj5aCza8lDbMwG0inA;
  }
  )(type$LigCaz5aCza8lDbMwG0inA);
  // ScriptCoreLib.Shared.Query.OrderedEnumerable`2
  function _7VevusrJ4TS7hkmfeorG9g(){};
  _7VevusrJ4TS7hkmfeorG9g.TypeName = "OrderedEnumerable_2";
  _7VevusrJ4TS7hkmfeorG9g.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$_7VevusrJ4TS7hkmfeorG9g = _7VevusrJ4TS7hkmfeorG9g.prototype = new LigCaz5aCza8lDbMwG0inA();
  type$_7VevusrJ4TS7hkmfeorG9g.constructor = _7VevusrJ4TS7hkmfeorG9g;
  type$_7VevusrJ4TS7hkmfeorG9g.keySelector = null;
  type$_7VevusrJ4TS7hkmfeorG9g.comparer = null;
  type$_7VevusrJ4TS7hkmfeorG9g.descending = false;
  var basector$_7VevusrJ4TS7hkmfeorG9g = $ctor$(basector$LigCaz5aCza8lDbMwG0inA, null, type$_7VevusrJ4TS7hkmfeorG9g);
  // ScriptCoreLib.Shared.Query.OrderedEnumerable`2..ctor
  type$_7VevusrJ4TS7hkmfeorG9g.GAIABsrJ4TS7hkmfeorG9g = function ()
  {
    var a = this;

    a.FwIABj5aCza8lDbMwG0inA();
  };
  var ctor$GAIABsrJ4TS7hkmfeorG9g = _7VevusrJ4TS7hkmfeorG9g.ctor = $ctor$(basector$LigCaz5aCza8lDbMwG0inA, 'GAIABsrJ4TS7hkmfeorG9g', type$_7VevusrJ4TS7hkmfeorG9g);

  // ScriptCoreLib.Shared.Query.OrderedEnumerable`2..ctor
  type$_7VevusrJ4TS7hkmfeorG9g.GQIABsrJ4TS7hkmfeorG9g = function (b, c, d, e)
  {
    var a = this, f;

    a.FwIABj5aCza8lDbMwG0inA();
    a.keySelector = c;
    f = !(d == null);

    if (!f)
    {
      a.comparer = HgIABvK2MDe9KGcVV9lrRA();
    }
    else
    {
      a.comparer = d;
    }

    a.descending = e;
    a.source = b;
  };
  var ctor$GQIABsrJ4TS7hkmfeorG9g = $ctor$(basector$LigCaz5aCza8lDbMwG0inA, 'GQIABsrJ4TS7hkmfeorG9g', type$_7VevusrJ4TS7hkmfeorG9g);

  // ScriptCoreLib.Shared.Query.OrderedEnumerable`2.Clone
  type$_7VevusrJ4TS7hkmfeorG9g.GgIABsrJ4TS7hkmfeorG9g = function ()
  {
    var a = this, b, c;

    b = new ctor$GAIABsrJ4TS7hkmfeorG9g();
    b.keySelector = a.keySelector;
    b.comparer = a.comparer;
    b.descending = a.descending;
    b.source = a.source;
    c = b;
    return c;
  };
    _7VevusrJ4TS7hkmfeorG9g.prototype.EgIABj5aCza8lDbMwG0inA = _7VevusrJ4TS7hkmfeorG9g.prototype.GgIABsrJ4TS7hkmfeorG9g;

  // ScriptCoreLib.Shared.Query.OrderedEnumerable`2.Compare
  type$_7VevusrJ4TS7hkmfeorG9g.GwIABsrJ4TS7hkmfeorG9g = function (b, c)
  {
    var a = this, d, e;

    e = !a.descending;

    if (!e)
    {
      d = a.comparer._6AEABpf0qD_arJIdqFekolg(a.keySelector.Invoke(c), a.keySelector.Invoke(b));
      return d;
    }

    d = a.comparer._6AEABpf0qD_arJIdqFekolg(a.keySelector.Invoke(b), a.keySelector.Invoke(c));
    return d;
  };
    _7VevusrJ4TS7hkmfeorG9g.prototype.EwIABj5aCza8lDbMwG0inA = _7VevusrJ4TS7hkmfeorG9g.prototype.GwIABsrJ4TS7hkmfeorG9g;

  // 
  // ScriptCoreLib.Shared.Query.OrderedEnumerable`2
  (function (i)  {
    i._4QQABjj0njK9JUKNqwYIpw = i.FAIABj5aCza8lDbMwG0inA;
    // 
    i.sAIABnMeWzaNooAKOmFm5g = i.FQIABj5aCza8lDbMwG0inA;
    // System.Collections.IEnumerable
    i.VQEABu7N0xGI6ACQJ1TEOg = i.FgIABj5aCza8lDbMwG0inA;
  }
  )(type$_7VevusrJ4TS7hkmfeorG9g);
  // ScriptCoreLib.JavaScript.Query.DefaultComparer`1
  function q7t87uSLIDS69Q3y0RH8Rg(){};
  q7t87uSLIDS69Q3y0RH8Rg.TypeName = "DefaultComparer_1";
  q7t87uSLIDS69Q3y0RH8Rg.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$q7t87uSLIDS69Q3y0RH8Rg = q7t87uSLIDS69Q3y0RH8Rg.prototype;
  type$q7t87uSLIDS69Q3y0RH8Rg.constructor = q7t87uSLIDS69Q3y0RH8Rg;
  var basector$q7t87uSLIDS69Q3y0RH8Rg = $ctor$(null, null, type$q7t87uSLIDS69Q3y0RH8Rg);
  // ScriptCoreLib.JavaScript.Query.DefaultComparer`1..ctor
  type$q7t87uSLIDS69Q3y0RH8Rg.HQIABuSLIDS69Q3y0RH8Rg = function ()
  {
    var a = this;

  };
  var ctor$HQIABuSLIDS69Q3y0RH8Rg = q7t87uSLIDS69Q3y0RH8Rg.ctor = $ctor$(null, 'HQIABuSLIDS69Q3y0RH8Rg', type$q7t87uSLIDS69Q3y0RH8Rg);

  // ScriptCoreLib.JavaScript.Query.DefaultComparer`1.Compare
  type$q7t87uSLIDS69Q3y0RH8Rg.HAIABuSLIDS69Q3y0RH8Rg = function (b, c)
  {
    var a = this, d, e, f;

    d = -2;
    f = !TQcABrSeVTeYMu3OmGjftg(PAcABrSeVTeYMu3OmGjftg(b));

    if (!f)
    {
      d = awcABrSeVTeYMu3OmGjftg(b, c);
    }

    f = !XAcABrSeVTeYMu3OmGjftg(PAcABrSeVTeYMu3OmGjftg(b));

    if (!f)
    {
      d = awcABrSeVTeYMu3OmGjftg(b, c);
    }

    f = !WwcABrSeVTeYMu3OmGjftg(PAcABrSeVTeYMu3OmGjftg(b));

    if (!f)
    {
      d = awcABrSeVTeYMu3OmGjftg(b, c);
    }

    f = !(d == -2);

    if (!f)
    {
      throw HBUABqul7j2GPUP5_apHFMQ();
    }

    e = d;
    return e;
  };

  // 
  // ScriptCoreLib.JavaScript.Query.DefaultComparer`1
  (function (i)  {
    i._6AEABpf0qD_arJIdqFekolg = i.HAIABuSLIDS69Q3y0RH8Rg;
  }
  )(type$q7t87uSLIDS69Q3y0RH8Rg);
  // ScriptCoreLib.JavaScript.Query.LocalInternalEnumerableImplementation.GetDefaultComparer
  function HgIABvK2MDe9KGcVV9lrRA()
  {
    var b;

    b = new ctor$HQIABuSLIDS69Q3y0RH8Rg();
    return b;
  };

  // delegate: (e) => Func`2
  // ScriptCoreLib.Shared.Lambda.YFunc`2
  function mAyVDBnacjqTRny7mbqBAQ(){};
  mAyVDBnacjqTRny7mbqBAQ.TypeName = "YFunc_2";
  mAyVDBnacjqTRny7mbqBAQ.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$mAyVDBnacjqTRny7mbqBAQ = mAyVDBnacjqTRny7mbqBAQ.prototype = new g1upm3Rg3zSx5vDXEP44fg();
  type$mAyVDBnacjqTRny7mbqBAQ.constructor = mAyVDBnacjqTRny7mbqBAQ;
  type$mAyVDBnacjqTRny7mbqBAQ.IsExtensionMethod = false;
  type$mAyVDBnacjqTRny7mbqBAQ.AsExtensionMethod = function ()
  {
    this.IsExtensionMethod = true;
    return this;
  };
  type$mAyVDBnacjqTRny7mbqBAQ.HwIABhnacjqTRny7mbqBAQ = type$g1upm3Rg3zSx5vDXEP44fg.CxYABnRg3zSx5vDXEP44fg;
  var ctor$HwIABhnacjqTRny7mbqBAQ = $ctor$(basector$g1upm3Rg3zSx5vDXEP44fg, 'HwIABhnacjqTRny7mbqBAQ', type$mAyVDBnacjqTRny7mbqBAQ);
  type$mAyVDBnacjqTRny7mbqBAQ.Invoke = function (b)
  {
    var _ = void(0);
    for (var _i = 0; _i < this.list.length; _i++)
    {
      var _f = this.list[_i];
      var _arguments = Array.prototype.slice.call(arguments).slice(0);
      if(_f.IsExtensionMethod) _arguments.splice(0, 0, _f.Target);
      var _target = _f.IsExtensionMethod ? window : _f.Target;
      _ = _target[_f.Method].apply(_target, _arguments);
    }
    return _;
  };

  // delegate: (e) => Func`3
  // ScriptCoreLib.Shared.Lambda.YFunc`3
  function _04sIUvwRKTK2Vp8rj1PJaA(){};
  _04sIUvwRKTK2Vp8rj1PJaA.TypeName = "YFunc_3";
  _04sIUvwRKTK2Vp8rj1PJaA.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$_04sIUvwRKTK2Vp8rj1PJaA = _04sIUvwRKTK2Vp8rj1PJaA.prototype = new g1upm3Rg3zSx5vDXEP44fg();
  type$_04sIUvwRKTK2Vp8rj1PJaA.constructor = _04sIUvwRKTK2Vp8rj1PJaA;
  type$_04sIUvwRKTK2Vp8rj1PJaA.IsExtensionMethod = false;
  type$_04sIUvwRKTK2Vp8rj1PJaA.AsExtensionMethod = function ()
  {
    this.IsExtensionMethod = true;
    return this;
  };
  type$_04sIUvwRKTK2Vp8rj1PJaA.IwIABvwRKTK2Vp8rj1PJaA = type$g1upm3Rg3zSx5vDXEP44fg.CxYABnRg3zSx5vDXEP44fg;
  var ctor$IwIABvwRKTK2Vp8rj1PJaA = $ctor$(basector$g1upm3Rg3zSx5vDXEP44fg, 'IwIABvwRKTK2Vp8rj1PJaA', type$_04sIUvwRKTK2Vp8rj1PJaA);
  type$_04sIUvwRKTK2Vp8rj1PJaA.Invoke = function (b)
  {
    var _ = void(0);
    for (var _i = 0; _i < this.list.length; _i++)
    {
      var _f = this.list[_i];
      var _arguments = Array.prototype.slice.call(arguments).slice(0);
      if(_f.IsExtensionMethod) _arguments.splice(0, 0, _f.Target);
      var _target = _f.IsExtensionMethod ? window : _f.Target;
      _ = _target[_f.Method].apply(_target, _arguments);
    }
    return _;
  };

  // delegate: (a, b) => Void
  // ScriptCoreLib.Shared.Lambda.ParamsAction`2
  function filiK4V0Zjm1yev2oq71yA(){};
  filiK4V0Zjm1yev2oq71yA.TypeName = "ParamsAction_2";
  filiK4V0Zjm1yev2oq71yA.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$filiK4V0Zjm1yev2oq71yA = filiK4V0Zjm1yev2oq71yA.prototype = new g1upm3Rg3zSx5vDXEP44fg();
  type$filiK4V0Zjm1yev2oq71yA.constructor = filiK4V0Zjm1yev2oq71yA;
  type$filiK4V0Zjm1yev2oq71yA.IsExtensionMethod = false;
  type$filiK4V0Zjm1yev2oq71yA.AsExtensionMethod = function ()
  {
    this.IsExtensionMethod = true;
    return this;
  };
  type$filiK4V0Zjm1yev2oq71yA.JwIABoV0Zjm1yev2oq71yA = type$g1upm3Rg3zSx5vDXEP44fg.CxYABnRg3zSx5vDXEP44fg;
  var ctor$JwIABoV0Zjm1yev2oq71yA = $ctor$(basector$g1upm3Rg3zSx5vDXEP44fg, 'JwIABoV0Zjm1yev2oq71yA', type$filiK4V0Zjm1yev2oq71yA);
  type$filiK4V0Zjm1yev2oq71yA.Invoke = function (b, c)
  {
    for (var _i = 0; _i < this.list.length; _i++)
    {
      var _f = this.list[_i];
      var _arguments = Array.prototype.slice.call(arguments).slice(0);
      if(_f.IsExtensionMethod) _arguments.splice(0, 0, _f.Target);
      var _target = _f.IsExtensionMethod ? window : _f.Target;
      _target[_f.Method].apply(_target, _arguments);
    }
  };

  // delegate: (a) => Void
  // ScriptCoreLib.Shared.Lambda.ParamsAction`1
  function YVHcol7s3zqtiCFU18W08Q(){};
  YVHcol7s3zqtiCFU18W08Q.TypeName = "ParamsAction_1";
  YVHcol7s3zqtiCFU18W08Q.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$YVHcol7s3zqtiCFU18W08Q = YVHcol7s3zqtiCFU18W08Q.prototype = new g1upm3Rg3zSx5vDXEP44fg();
  type$YVHcol7s3zqtiCFU18W08Q.constructor = YVHcol7s3zqtiCFU18W08Q;
  type$YVHcol7s3zqtiCFU18W08Q.IsExtensionMethod = false;
  type$YVHcol7s3zqtiCFU18W08Q.AsExtensionMethod = function ()
  {
    this.IsExtensionMethod = true;
    return this;
  };
  type$YVHcol7s3zqtiCFU18W08Q.KwIABl7s3zqtiCFU18W08Q = type$g1upm3Rg3zSx5vDXEP44fg.CxYABnRg3zSx5vDXEP44fg;
  var ctor$KwIABl7s3zqtiCFU18W08Q = $ctor$(basector$g1upm3Rg3zSx5vDXEP44fg, 'KwIABl7s3zqtiCFU18W08Q', type$YVHcol7s3zqtiCFU18W08Q);
  type$YVHcol7s3zqtiCFU18W08Q.Invoke = function (b)
  {
    for (var _i = 0; _i < this.list.length; _i++)
    {
      var _f = this.list[_i];
      var _arguments = Array.prototype.slice.call(arguments).slice(0);
      if(_f.IsExtensionMethod) _arguments.splice(0, 0, _f.Target);
      var _target = _f.IsExtensionMethod ? window : _f.Target;
      _target[_f.Method].apply(_target, _arguments);
    }
  };

  // delegate: (a, b) => TReturn
  // ScriptCoreLib.Shared.Lambda.ParamsFunc`3
  function _4ytRMSCm8ze1_aDT5cLGn3Q(){};
  _4ytRMSCm8ze1_aDT5cLGn3Q.TypeName = "ParamsFunc_3";
  _4ytRMSCm8ze1_aDT5cLGn3Q.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$_4ytRMSCm8ze1_aDT5cLGn3Q = _4ytRMSCm8ze1_aDT5cLGn3Q.prototype = new g1upm3Rg3zSx5vDXEP44fg();
  type$_4ytRMSCm8ze1_aDT5cLGn3Q.constructor = _4ytRMSCm8ze1_aDT5cLGn3Q;
  type$_4ytRMSCm8ze1_aDT5cLGn3Q.IsExtensionMethod = false;
  type$_4ytRMSCm8ze1_aDT5cLGn3Q.AsExtensionMethod = function ()
  {
    this.IsExtensionMethod = true;
    return this;
  };
  type$_4ytRMSCm8ze1_aDT5cLGn3Q.LwIABiCm8ze1_aDT5cLGn3Q = type$g1upm3Rg3zSx5vDXEP44fg.CxYABnRg3zSx5vDXEP44fg;
  var ctor$LwIABiCm8ze1_aDT5cLGn3Q = $ctor$(basector$g1upm3Rg3zSx5vDXEP44fg, 'LwIABiCm8ze1_aDT5cLGn3Q', type$_4ytRMSCm8ze1_aDT5cLGn3Q);
  type$_4ytRMSCm8ze1_aDT5cLGn3Q.Invoke = function (b, c)
  {
    var _ = void(0);
    for (var _i = 0; _i < this.list.length; _i++)
    {
      var _f = this.list[_i];
      var _arguments = Array.prototype.slice.call(arguments).slice(0);
      if(_f.IsExtensionMethod) _arguments.splice(0, 0, _f.Target);
      var _target = _f.IsExtensionMethod ? window : _f.Target;
      _ = _target[_f.Method].apply(_target, _arguments);
    }
    return _;
  };

  // delegate: (a) => TReturn
  // ScriptCoreLib.Shared.Lambda.ParamsFunc`2
  function ms8LHsfYkDGpVWQqZ_aLA5A(){};
  ms8LHsfYkDGpVWQqZ_aLA5A.TypeName = "ParamsFunc_2";
  ms8LHsfYkDGpVWQqZ_aLA5A.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$ms8LHsfYkDGpVWQqZ_aLA5A = ms8LHsfYkDGpVWQqZ_aLA5A.prototype = new g1upm3Rg3zSx5vDXEP44fg();
  type$ms8LHsfYkDGpVWQqZ_aLA5A.constructor = ms8LHsfYkDGpVWQqZ_aLA5A;
  type$ms8LHsfYkDGpVWQqZ_aLA5A.IsExtensionMethod = false;
  type$ms8LHsfYkDGpVWQqZ_aLA5A.AsExtensionMethod = function ()
  {
    this.IsExtensionMethod = true;
    return this;
  };
  type$ms8LHsfYkDGpVWQqZ_aLA5A.MwIABsfYkDGpVWQqZ_aLA5A = type$g1upm3Rg3zSx5vDXEP44fg.CxYABnRg3zSx5vDXEP44fg;
  var ctor$MwIABsfYkDGpVWQqZ_aLA5A = $ctor$(basector$g1upm3Rg3zSx5vDXEP44fg, 'MwIABsfYkDGpVWQqZ_aLA5A', type$ms8LHsfYkDGpVWQqZ_aLA5A);
  type$ms8LHsfYkDGpVWQqZ_aLA5A.Invoke = function (b)
  {
    var _ = void(0);
    for (var _i = 0; _i < this.list.length; _i++)
    {
      var _f = this.list[_i];
      var _arguments = Array.prototype.slice.call(arguments).slice(0);
      if(_f.IsExtensionMethod) _arguments.splice(0, 0, _f.Target);
      var _target = _f.IsExtensionMethod ? window : _f.Target;
      _ = _target[_f.Method].apply(_target, _arguments);
    }
    return _;
  };

  // delegate: (e) => Action`1
  // ScriptCoreLib.Shared.Lambda.YAction`1
  function i8bWpuKu1jSbXsT53arDXw(){};
  i8bWpuKu1jSbXsT53arDXw.TypeName = "YAction_1";
  i8bWpuKu1jSbXsT53arDXw.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$i8bWpuKu1jSbXsT53arDXw = i8bWpuKu1jSbXsT53arDXw.prototype = new g1upm3Rg3zSx5vDXEP44fg();
  type$i8bWpuKu1jSbXsT53arDXw.constructor = i8bWpuKu1jSbXsT53arDXw;
  type$i8bWpuKu1jSbXsT53arDXw.IsExtensionMethod = false;
  type$i8bWpuKu1jSbXsT53arDXw.AsExtensionMethod = function ()
  {
    this.IsExtensionMethod = true;
    return this;
  };
  type$i8bWpuKu1jSbXsT53arDXw.NwIABuKu1jSbXsT53arDXw = type$g1upm3Rg3zSx5vDXEP44fg.CxYABnRg3zSx5vDXEP44fg;
  var ctor$NwIABuKu1jSbXsT53arDXw = $ctor$(basector$g1upm3Rg3zSx5vDXEP44fg, 'NwIABuKu1jSbXsT53arDXw', type$i8bWpuKu1jSbXsT53arDXw);
  type$i8bWpuKu1jSbXsT53arDXw.Invoke = function (b)
  {
    var _ = void(0);
    for (var _i = 0; _i < this.list.length; _i++)
    {
      var _f = this.list[_i];
      var _arguments = Array.prototype.slice.call(arguments).slice(0);
      if(_f.IsExtensionMethod) _arguments.splice(0, 0, _f.Target);
      var _target = _f.IsExtensionMethod ? window : _f.Target;
      _ = _target[_f.Method].apply(_target, _arguments);
    }
    return _;
  };

  // delegate: (e) => Action`2
  // ScriptCoreLib.Shared.Lambda.YAction`2
  function r00LGXPehTiklxzPaCrfuw(){};
  r00LGXPehTiklxzPaCrfuw.TypeName = "YAction_2";
  r00LGXPehTiklxzPaCrfuw.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$r00LGXPehTiklxzPaCrfuw = r00LGXPehTiklxzPaCrfuw.prototype = new g1upm3Rg3zSx5vDXEP44fg();
  type$r00LGXPehTiklxzPaCrfuw.constructor = r00LGXPehTiklxzPaCrfuw;
  type$r00LGXPehTiklxzPaCrfuw.IsExtensionMethod = false;
  type$r00LGXPehTiklxzPaCrfuw.AsExtensionMethod = function ()
  {
    this.IsExtensionMethod = true;
    return this;
  };
  type$r00LGXPehTiklxzPaCrfuw.OwIABnPehTiklxzPaCrfuw = type$g1upm3Rg3zSx5vDXEP44fg.CxYABnRg3zSx5vDXEP44fg;
  var ctor$OwIABnPehTiklxzPaCrfuw = $ctor$(basector$g1upm3Rg3zSx5vDXEP44fg, 'OwIABnPehTiklxzPaCrfuw', type$r00LGXPehTiklxzPaCrfuw);
  type$r00LGXPehTiklxzPaCrfuw.Invoke = function (b)
  {
    var _ = void(0);
    for (var _i = 0; _i < this.list.length; _i++)
    {
      var _f = this.list[_i];
      var _arguments = Array.prototype.slice.call(arguments).slice(0);
      if(_f.IsExtensionMethod) _arguments.splice(0, 0, _f.Target);
      var _target = _f.IsExtensionMethod ? window : _f.Target;
      _ = _target[_f.Method].apply(_target, _arguments);
    }
    return _;
  };

  // ScriptCoreLib.Shared.Lambda.IdentityFunction`1
  function UWEI5oteVzujhsBhSIn3RA(){};
  UWEI5oteVzujhsBhSIn3RA.TypeName = "IdentityFunction_1";
  UWEI5oteVzujhsBhSIn3RA.Assembly = Wk4S5GYMokW9hjOERIvEwg;
  var type$UWEI5oteVzujhsBhSIn3RA = UWEI5oteVzujhsBhSIn3RA.prototype;
  type$UWEI5oteVzujhsBhSIn3RA.constructor = UWEI5oteVzujhsBhSIn3RA;
  var uQAABIteVzujhsBhSIn3RA = null;
  var basector$UWEI5oteVzujhsBhSIn3RA = $ctor$(null, null, type$UWEI5oteVzujhsBhSIn3RA);
  // ScriptCoreLib.Shared.Lambda.IdentityFunction`1..ctor
  type$UWEI5oteVzujhsBhSIn3RA.QAIABoteVzujhsBhSIn3RA = function ()
  {
    var a = this;

  };
  var ctor$QAIABoteVzujhsBhSIn3RA = UWEI5oteVzujhsBhSIn3RA.ctor = $ctor$(null, 'QAIABoteVzujhsBhSIn3RA', type$UWEI5oteVzujhsBhSIn3RA);

  // ScriptCoreLib.Shared.Lambda.IdentityFunction`1.get_Instance
  function PwIABoteVzujhsBhSIn3RA()
  {
    var b;


    if (!(uQAABIteVzujhsBhSIn3RA))
    {
      uQAABIteVzujhsBhSIn3RA = new ctor$uQAABk06_bTuIwW5Gm2dAhQ(null, 'QQIABoteVzujhsBhSIn3RA');
    }

    b = uQAABIteVzujhsBhSIn3RA;
    return b;
  };

  // ScriptCoreLib.Shared.Lambda.IdentityFunction`1.<get_Instance>b__0
  function QQIABoteVzujhsBhSIn3RA(b)
  {
    return b;
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.BindingListWithEvents`1+<>c__DisplayClass2
  function IlclxXvYrT2Jhc4oN4D0Mw() {}  var type$IlclxXvYrT2Jhc4oN4D0Mw = IlclxXvYrT2Jhc4oN4D0Mw.prototype;
  type$IlclxXvYrT2Jhc4oN4D0Mw.constructor = IlclxXvYrT2Jhc4oN4D0Mw;
  type$IlclxXvYrT2Jhc4oN4D0Mw.__4__this = null;
  type$IlclxXvYrT2Jhc4oN4D0Mw.source = null;
  // Closure type for ScriptCoreLib.Shared.Lambda.BindingListWithEvents`1+<>c__DisplayClass4
  function __aSF6ZVT3djSQK7JDMjOWJg() {}  var type$__aSF6ZVT3djSQK7JDMjOWJg = __aSF6ZVT3djSQK7JDMjOWJg.prototype;
  type$__aSF6ZVT3djSQK7JDMjOWJg.constructor = __aSF6ZVT3djSQK7JDMjOWJg;
  type$__aSF6ZVT3djSQK7JDMjOWJg.CS___8__locals3 = null;
  type$__aSF6ZVT3djSQK7JDMjOWJg.cache = null;
  type$__aSF6ZVT3djSQK7JDMjOWJg.h = null;
  // ScriptCoreLib.Shared.Lambda.BindingListWithEvents`1+<>c__DisplayClass4.<.ctor>b__0
  type$__aSF6ZVT3djSQK7JDMjOWJg.__ctor_b__0 = function ()
  {
    var a = this;

    a.CS___8__locals3.source._0BQABk_bJOjKzqp0tqvAKug(a.h);
    a.h = null;
    a.cache.fBUABkaD4z_a2whoejWFgQA();
    a.cache = null;
    a.CS___8__locals3.__4__this.InternalList = null;
  };

  // ScriptCoreLib.Shared.Lambda.BindingListWithEvents`1+<>c__DisplayClass4.<.ctor>b__1
  type$__aSF6ZVT3djSQK7JDMjOWJg.__ctor_b__1 = function (b, c)
  {
    var a = this, d, e;

    e = !(c._5RQABuj7QDSSbiD_ao8GsBA() == 1);

    if (!e)
    {
      d = a.CS___8__locals3.source.whQABiPmKDK1qZ70wL0DGg(c._5hQABuj7QDSSbiD_ao8GsBA());
      a.cache.chUABkaD4z_a2whoejWFgQA(d);
      e = (a.CS___8__locals3.__4__this.Added == null);

      if (!e)
      {
        a.CS___8__locals3.__4__this.Added.Invoke(d, c._5hQABuj7QDSSbiD_ao8GsBA());
      }

      return;
    }

    e = !(c._5RQABuj7QDSSbiD_ao8GsBA() == 2);

    if (!e)
    {
      d = a.cache.dhUABkaD4z_a2whoejWFgQA(c._5hQABuj7QDSSbiD_ao8GsBA());
      a.cache.eRUABkaD4z_a2whoejWFgQA(c._5hQABuj7QDSSbiD_ao8GsBA());
      e = (a.CS___8__locals3.__4__this.Removed == null);

      if (!e)
      {
        a.CS___8__locals3.__4__this.Removed.Invoke(d, c._5hQABuj7QDSSbiD_ao8GsBA());
      }

    }

  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass4`1
  function SReNhk6LCzmwG6Z8kN7aCw() {}  var type$SReNhk6LCzmwG6Z8kN7aCw = SReNhk6LCzmwG6Z8kN7aCw.prototype;
  type$SReNhk6LCzmwG6Z8kN7aCw.constructor = SReNhk6LCzmwG6Z8kN7aCw;
  type$SReNhk6LCzmwG6Z8kN7aCw.s = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass4`1.<ToFlaggable>b__1
  type$SReNhk6LCzmwG6Z8kN7aCw._ToFlaggable_b__1 = function (b)
  {
    return new ctor$UgEABt1JbjaXvqj0Gft6Jg(b, this.s);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass7`2
  function RP_at2fVgVTyXMPJJ8qWVWQ() {}  var type$RP_at2fVgVTyXMPJJ8qWVWQ = RP_at2fVgVTyXMPJJ8qWVWQ.prototype;
  type$RP_at2fVgVTyXMPJJ8qWVWQ.constructor = RP_at2fVgVTyXMPJJ8qWVWQ;
  type$RP_at2fVgVTyXMPJJ8qWVWQ.f = null;
  type$RP_at2fVgVTyXMPJJ8qWVWQ.a = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass7`2.<FixParam>b__6
  type$RP_at2fVgVTyXMPJJ8qWVWQ._FixParam_b__6 = function (b)
  {
    var a = this;

    a.f.Invoke(a.a, b);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClassa`1
  function AfBoWfaONDWeAUpTRyRpPw() {}  var type$AfBoWfaONDWeAUpTRyRpPw = AfBoWfaONDWeAUpTRyRpPw.prototype;
  type$AfBoWfaONDWeAUpTRyRpPw.constructor = AfBoWfaONDWeAUpTRyRpPw;
  type$AfBoWfaONDWeAUpTRyRpPw.f = null;
  type$AfBoWfaONDWeAUpTRyRpPw.a = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClassa`1.<FixParam>b__9
  type$AfBoWfaONDWeAUpTRyRpPw._FixParam_b__9 = function ()
  {
    var a = this;

    a.f.Invoke(a.a);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClassd`2
  function QjuuFI74gzCfNKjCAOj56A() {}  var type$QjuuFI74gzCfNKjCAOj56A = QjuuFI74gzCfNKjCAOj56A.prototype;
  type$QjuuFI74gzCfNKjCAOj56A.constructor = QjuuFI74gzCfNKjCAOj56A;
  type$QjuuFI74gzCfNKjCAOj56A.f = null;
  type$QjuuFI74gzCfNKjCAOj56A.a = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClassd`2.<FixParam>b__c
  type$QjuuFI74gzCfNKjCAOj56A._FixParam_b__c = function ()
  {
    return this.f.Invoke(this.a);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass10`3
  function ewjZL2vxWTOiUOm9uq1VOg() {}  var type$ewjZL2vxWTOiUOm9uq1VOg = ewjZL2vxWTOiUOm9uq1VOg.prototype;
  type$ewjZL2vxWTOiUOm9uq1VOg.constructor = ewjZL2vxWTOiUOm9uq1VOg;
  type$ewjZL2vxWTOiUOm9uq1VOg.f = null;
  type$ewjZL2vxWTOiUOm9uq1VOg.b = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass10`3.<FixParam>b__f
  type$ewjZL2vxWTOiUOm9uq1VOg._FixParam_b__f = function (b)
  {
    return this.f.Invoke(b, this.b);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass13`3
  function IbZXj_aJM6Tei7MUUiRrY1w() {}  var type$IbZXj_aJM6Tei7MUUiRrY1w = IbZXj_aJM6Tei7MUUiRrY1w.prototype;
  type$IbZXj_aJM6Tei7MUUiRrY1w.constructor = IbZXj_aJM6Tei7MUUiRrY1w;
  type$IbZXj_aJM6Tei7MUUiRrY1w.f = null;
  type$IbZXj_aJM6Tei7MUUiRrY1w.a = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass13`3.<FixFirstParam>b__12
  type$IbZXj_aJM6Tei7MUUiRrY1w._FixFirstParam_b__12 = function (b)
  {
    return this.f.Invoke(this.a, b);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass16`2
  function yBmgfjjTCDe9rp3aenixIA() {}  var type$yBmgfjjTCDe9rp3aenixIA = yBmgfjjTCDe9rp3aenixIA.prototype;
  type$yBmgfjjTCDe9rp3aenixIA.constructor = yBmgfjjTCDe9rp3aenixIA;
  type$yBmgfjjTCDe9rp3aenixIA.f = null;
  type$yBmgfjjTCDe9rp3aenixIA.a = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass16`2.<FixFirstParam>b__15
  type$yBmgfjjTCDe9rp3aenixIA._FixFirstParam_b__15 = function (b)
  {
    var a = this;

    a.f.Invoke(a.a, b);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass19`3
  function zfT_bURemHjWzTZU2gQESqQ() {}  var type$zfT_bURemHjWzTZU2gQESqQ = zfT_bURemHjWzTZU2gQESqQ.prototype;
  type$zfT_bURemHjWzTZU2gQESqQ.constructor = zfT_bURemHjWzTZU2gQESqQ;
  type$zfT_bURemHjWzTZU2gQESqQ.f = null;
  type$zfT_bURemHjWzTZU2gQESqQ.b = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass19`3.<FixLastParam>b__18
  type$zfT_bURemHjWzTZU2gQESqQ._FixLastParam_b__18 = function (b)
  {
    return this.f.Invoke(b, this.b);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass1c`1
  function _1OR8C0xGFz_aRlzFHf6Ke2A() {}  var type$_1OR8C0xGFz_aRlzFHf6Ke2A = _1OR8C0xGFz_aRlzFHf6Ke2A.prototype;
  type$_1OR8C0xGFz_aRlzFHf6Ke2A.constructor = _1OR8C0xGFz_aRlzFHf6Ke2A;
  type$_1OR8C0xGFz_aRlzFHf6Ke2A.f = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass1c`1.<FixLastParamToIndex>b__1b
  type$_1OR8C0xGFz_aRlzFHf6Ke2A._FixLastParamToIndex_b__1b = function (b)
  {
    var a = this;

    _4AAABld8NT24si0NEtJjHA(b, a.f);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass1f`4
  function Ker8soxihTmYX77_bYkfgSA() {}  var type$Ker8soxihTmYX77_bYkfgSA = Ker8soxihTmYX77_bYkfgSA.prototype;
  type$Ker8soxihTmYX77_bYkfgSA.constructor = Ker8soxihTmYX77_bYkfgSA;
  type$Ker8soxihTmYX77_bYkfgSA.f = null;
  type$Ker8soxihTmYX77_bYkfgSA.c = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass1f`4.<FixLastParam>b__1e
  type$Ker8soxihTmYX77_bYkfgSA._FixLastParam_b__1e = function (b, c)
  {
    return this.f.Invoke(b, c, this.c);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass22`5
  function UX_an3NdjizWg0VsfBcYxXg() {}  var type$UX_an3NdjizWg0VsfBcYxXg = UX_an3NdjizWg0VsfBcYxXg.prototype;
  type$UX_an3NdjizWg0VsfBcYxXg.constructor = UX_an3NdjizWg0VsfBcYxXg;
  type$UX_an3NdjizWg0VsfBcYxXg.f = null;
  type$UX_an3NdjizWg0VsfBcYxXg.d = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass22`5.<FixLastParam>b__21
  type$UX_an3NdjizWg0VsfBcYxXg._FixLastParam_b__21 = function (b, c, d)
  {
    return this.f.Invoke(b, c, d, this.d);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass25`3
  function Wdfe2hnP4jCMBiPIztBSFQ() {}  var type$Wdfe2hnP4jCMBiPIztBSFQ = Wdfe2hnP4jCMBiPIztBSFQ.prototype;
  type$Wdfe2hnP4jCMBiPIztBSFQ.constructor = Wdfe2hnP4jCMBiPIztBSFQ;
  type$Wdfe2hnP4jCMBiPIztBSFQ.f = null;
  type$Wdfe2hnP4jCMBiPIztBSFQ.c = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass25`3.<FixLastParam>b__24
  type$Wdfe2hnP4jCMBiPIztBSFQ._FixLastParam_b__24 = function (b, c)
  {
    var a = this;

    a.f.Invoke(b, c, a.c);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass28`4
  function __b9PuYGD9WTeS_aerLkvXyNQ() {}  var type$__b9PuYGD9WTeS_aerLkvXyNQ = __b9PuYGD9WTeS_aerLkvXyNQ.prototype;
  type$__b9PuYGD9WTeS_aerLkvXyNQ.constructor = __b9PuYGD9WTeS_aerLkvXyNQ;
  type$__b9PuYGD9WTeS_aerLkvXyNQ.f = null;
  type$__b9PuYGD9WTeS_aerLkvXyNQ.d = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass28`4.<FixLastParam>b__27
  type$__b9PuYGD9WTeS_aerLkvXyNQ._FixLastParam_b__27 = function (b, c, d)
  {
    var a = this;

    a.f.Invoke(b, c, d, a.d);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass2d`1
  function WyuLU88PFzyWwIUEM5otPQ() {}  var type$WyuLU88PFzyWwIUEM5otPQ = WyuLU88PFzyWwIUEM5otPQ.prototype;
  type$WyuLU88PFzyWwIUEM5otPQ.constructor = WyuLU88PFzyWwIUEM5otPQ;
  type$WyuLU88PFzyWwIUEM5otPQ.LazyLoad = null;
  type$WyuLU88PFzyWwIUEM5otPQ.HandlerWithDelayedWork = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass2d`1.<ForEachNewOrExistingItem>b__2b
  type$WyuLU88PFzyWwIUEM5otPQ._ForEachNewOrExistingItem_b__2b = function (b, c)
  {
    var a = this;

    a.HandlerWithDelayedWork.Invoke(b, c, new ctor$xBYABprwDDG20eOlCofu_aA(a, '_ForEachNewOrExistingItem_b__2c'));
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass2d`1.<ForEachNewOrExistingItem>b__2c
  type$WyuLU88PFzyWwIUEM5otPQ._ForEachNewOrExistingItem_b__2c = function (b)
  {
    var a = this;

    cQEABt6iSDG8lMkOlPTy_aw(a.LazyLoad, b);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass30`1
  function oL5gJG5v6DuV_bqmenqkvBA() {}  var type$oL5gJG5v6DuV_bqmenqkvBA = oL5gJG5v6DuV_bqmenqkvBA.prototype;
  type$oL5gJG5v6DuV_bqmenqkvBA.constructor = oL5gJG5v6DuV_bqmenqkvBA;
  type$oL5gJG5v6DuV_bqmenqkvBA.source = null;
  type$oL5gJG5v6DuV_bqmenqkvBA.handler = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass30`1.<ForEachNewOrExistingItem>b__2f
  type$oL5gJG5v6DuV_bqmenqkvBA._ForEachNewOrExistingItem_b__2f = function (b, c)
  {
    var a = this, d;

    d = !(c._5RQABuj7QDSSbiD_ao8GsBA() == 1);

    if (!d)
    {
      a.handler.Invoke(a.source.whQABiPmKDK1qZ70wL0DGg(c._5hQABuj7QDSSbiD_ao8GsBA()), c._5hQABuj7QDSSbiD_ao8GsBA());
    }

  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass33`1
  function uok_bOIrI7TqwMdahUmeshQ() {}  var type$uok_bOIrI7TqwMdahUmeshQ = uok_bOIrI7TqwMdahUmeshQ.prototype;
  type$uok_bOIrI7TqwMdahUmeshQ.constructor = uok_bOIrI7TqwMdahUmeshQ;
  type$uok_bOIrI7TqwMdahUmeshQ.source = null;
  type$uok_bOIrI7TqwMdahUmeshQ.handler = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass33`1.<ForEachNewItem>b__32
  type$uok_bOIrI7TqwMdahUmeshQ._ForEachNewItem_b__32 = function (b, c)
  {
    var a = this, d;

    d = !(c._5RQABuj7QDSSbiD_ao8GsBA() == 1);

    if (!d)
    {
      a.handler.Invoke(a.source.whQABiPmKDK1qZ70wL0DGg(c._5hQABuj7QDSSbiD_ao8GsBA()));
    }

  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass36`1
  function pgwJzi5jKD20zuqNxsiBdg() {}  var type$pgwJzi5jKD20zuqNxsiBdg = pgwJzi5jKD20zuqNxsiBdg.prototype;
  type$pgwJzi5jKD20zuqNxsiBdg.constructor = pgwJzi5jKD20zuqNxsiBdg;
  type$pgwJzi5jKD20zuqNxsiBdg.cache = null;
  type$pgwJzi5jKD20zuqNxsiBdg.source = null;
  type$pgwJzi5jKD20zuqNxsiBdg.handler = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass36`1.<ForEachItemDeleted>b__35
  type$pgwJzi5jKD20zuqNxsiBdg._ForEachItemDeleted_b__35 = function (b, c)
  {
    var a = this, d, e;

    e = !(c._5RQABuj7QDSSbiD_ao8GsBA() == 1);

    if (!e)
    {
      a.cache.chUABkaD4z_a2whoejWFgQA(a.source.whQABiPmKDK1qZ70wL0DGg(c._5hQABuj7QDSSbiD_ao8GsBA()));
      return;
    }

    e = !(c._5RQABuj7QDSSbiD_ao8GsBA() == 2);

    if (!e)
    {
      d = a.cache.dhUABkaD4z_a2whoejWFgQA(c._5hQABuj7QDSSbiD_ao8GsBA());
      a.cache.eRUABkaD4z_a2whoejWFgQA(c._5hQABuj7QDSSbiD_ao8GsBA());
      a.handler.Invoke(d);
    }

  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass3a`1
  function KYdphJ7TGD2RUSoayoFPZw() {}  var type$KYdphJ7TGD2RUSoayoFPZw = KYdphJ7TGD2RUSoayoFPZw.prototype;
  type$KYdphJ7TGD2RUSoayoFPZw.constructor = KYdphJ7TGD2RUSoayoFPZw;
  type$KYdphJ7TGD2RUSoayoFPZw.handler = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass3a`1.<WithEvents>b__38
  type$KYdphJ7TGD2RUSoayoFPZw._WithEvents_b__38 = function (b, c)
  {
    var a = this, d, e;

    d = /* DOMCreateType */new cE5lXjMsEjqkpz7UaSrHIg();
    d.CS___8__locals3b = a;
    d.h = a.handler.Invoke(b);
    e = new ctor$yBYABjoCmjq8bkwO1HbMkw(d, '_WithEvents_b__39');
    return e;
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass3a`1+<>c__DisplayClass3c
  function cE5lXjMsEjqkpz7UaSrHIg() {}  var type$cE5lXjMsEjqkpz7UaSrHIg = cE5lXjMsEjqkpz7UaSrHIg.prototype;
  type$cE5lXjMsEjqkpz7UaSrHIg.constructor = cE5lXjMsEjqkpz7UaSrHIg;
  type$cE5lXjMsEjqkpz7UaSrHIg.CS___8__locals3b = null;
  type$cE5lXjMsEjqkpz7UaSrHIg.h = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass3a`1+<>c__DisplayClass3c.<WithEvents>b__39
  type$cE5lXjMsEjqkpz7UaSrHIg._WithEvents_b__39 = function (b, c)
  {
    var a = this;

    a.h.Invoke();
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass40`1
  function DkcfGwE4sTiCB31P0AfvPg() {}  var type$DkcfGwE4sTiCB31P0AfvPg = DkcfGwE4sTiCB31P0AfvPg.prototype;
  type$DkcfGwE4sTiCB31P0AfvPg.constructor = DkcfGwE4sTiCB31P0AfvPg;
  type$DkcfGwE4sTiCB31P0AfvPg.c = null;
  type$DkcfGwE4sTiCB31P0AfvPg.handler = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass40`1.<WithEvents>b__3e
  type$DkcfGwE4sTiCB31P0AfvPg._WithEvents_b__3e = function (b, c)
  {
    var a = this;

    a.c.chUABkaD4z_a2whoejWFgQA(a.handler.Invoke(b, c));
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass40`1.<WithEvents>b__3f
  type$DkcfGwE4sTiCB31P0AfvPg._WithEvents_b__3f = function (b, c)
  {
    var a = this, d;

    d = a.c.dhUABkaD4z_a2whoejWFgQA(c);
    a.c.eRUABkaD4z_a2whoejWFgQA(c);
    d.Invoke(b, c);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass44`1
  function v1EHD_aU1nzGQ70HvlUSMCA() {}  var type$v1EHD_aU1nzGQ70HvlUSMCA = v1EHD_aU1nzGQ70HvlUSMCA.prototype;
  type$v1EHD_aU1nzGQ70HvlUSMCA.constructor = v1EHD_aU1nzGQ70HvlUSMCA;
  type$v1EHD_aU1nzGQ70HvlUSMCA.cache = null;
  type$v1EHD_aU1nzGQ70HvlUSMCA.h = null;
  type$v1EHD_aU1nzGQ70HvlUSMCA.Dispose = null;
  type$v1EHD_aU1nzGQ70HvlUSMCA.source = null;
  type$v1EHD_aU1nzGQ70HvlUSMCA.handler = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass44`1.<ForEachItemDeleted>b__42
  type$v1EHD_aU1nzGQ70HvlUSMCA._ForEachItemDeleted_b__42 = function ()
  {
    var a = this;

    a.source._0BQABk_bJOjKzqp0tqvAKug(a.h);
    a.h = null;
    a.cache.fBUABkaD4z_a2whoejWFgQA();
    a.cache = null;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass44`1.<ForEachItemDeleted>b__43
  type$v1EHD_aU1nzGQ70HvlUSMCA._ForEachItemDeleted_b__43 = function (b, c)
  {
    var a = this, d, e;

    e = !(c._5RQABuj7QDSSbiD_ao8GsBA() == 1);

    if (!e)
    {
      a.cache.chUABkaD4z_a2whoejWFgQA(a.source.whQABiPmKDK1qZ70wL0DGg(c._5hQABuj7QDSSbiD_ao8GsBA()));
      return;
    }

    e = !(c._5RQABuj7QDSSbiD_ao8GsBA() == 2);

    if (!e)
    {
      d = a.cache.dhUABkaD4z_a2whoejWFgQA(c._5hQABuj7QDSSbiD_ao8GsBA());
      a.cache.eRUABkaD4z_a2whoejWFgQA(c._5hQABuj7QDSSbiD_ao8GsBA());
      a.handler.Invoke(d, a.Dispose);
    }

  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass47`2
  function zOTB2y9xuz2FrCR0KfRamA() {}  var type$zOTB2y9xuz2FrCR0KfRamA = zOTB2y9xuz2FrCR0KfRamA.prototype;
  type$zOTB2y9xuz2FrCR0KfRamA.constructor = zOTB2y9xuz2FrCR0KfRamA;
  type$zOTB2y9xuz2FrCR0KfRamA.e = null;
  type$zOTB2y9xuz2FrCR0KfRamA.selector = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass47`2.<InvokeAsParams>b__46
  type$zOTB2y9xuz2FrCR0KfRamA._InvokeAsParams_b__46 = function (b, c)
  {
    var a = this;

    a.e.Invoke(b, a.selector.Invoke(c));
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass4a`2
  function lA0TRHB4NzSPqkaeMkChXg() {}  var type$lA0TRHB4NzSPqkaeMkChXg = lA0TRHB4NzSPqkaeMkChXg.prototype;
  type$lA0TRHB4NzSPqkaeMkChXg.constructor = lA0TRHB4NzSPqkaeMkChXg;
  type$lA0TRHB4NzSPqkaeMkChXg.e = null;
  type$lA0TRHB4NzSPqkaeMkChXg.selector = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass4a`2.<InvokeAsParams>b__49
  type$lA0TRHB4NzSPqkaeMkChXg._InvokeAsParams_b__49 = function (b, c)
  {
    var a = this;

    a.e.Invoke(b, a.selector.Invoke(b, c));
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass50`1
  function i0AS3J1S4DuiVMHDgMgneA() {}  var type$i0AS3J1S4DuiVMHDgMgneA = i0AS3J1S4DuiVMHDgMgneA.prototype;
  type$i0AS3J1S4DuiVMHDgMgneA.constructor = i0AS3J1S4DuiVMHDgMgneA;
  type$i0AS3J1S4DuiVMHDgMgneA.source = null;
  type$i0AS3J1S4DuiVMHDgMgneA.mirror = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass50`1.<MirrorTo>b__4c
  type$i0AS3J1S4DuiVMHDgMgneA._MirrorTo_b__4c = function (b)
  {
    var a = this, c;

    c = a.mirror.xBQABiPmKDK1qZ70wL0DGg(b);

    if (!c)
    {
      a.mirror.uRQABiPmKDK1qZ70wL0DGg(b);
    }

  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass50`1.<MirrorTo>b__4d
  type$i0AS3J1S4DuiVMHDgMgneA._MirrorTo_b__4d = function (b)
  {
    var a = this, c;

    c = a.mirror.xBQABiPmKDK1qZ70wL0DGg(b);

    if (!c)
    {
      a.mirror.vBQABiPmKDK1qZ70wL0DGg(b);
    }

  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass50`1.<MirrorTo>b__4e
  type$i0AS3J1S4DuiVMHDgMgneA._MirrorTo_b__4e = function (b)
  {
    var a = this, c;

    c = a.source.xBQABiPmKDK1qZ70wL0DGg(b);

    if (!c)
    {
      a.source.uRQABiPmKDK1qZ70wL0DGg(b);
    }

  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass50`1.<MirrorTo>b__4f
  type$i0AS3J1S4DuiVMHDgMgneA._MirrorTo_b__4f = function (b)
  {
    var a = this, c;

    c = a.source.xBQABiPmKDK1qZ70wL0DGg(b);

    if (!c)
    {
      a.source.vBQABiPmKDK1qZ70wL0DGg(b);
    }

  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass53`1
  function _1xPbyFTBhTGwsziJff739Q() {}  var type$_1xPbyFTBhTGwsziJff739Q = _1xPbyFTBhTGwsziJff739Q.prototype;
  type$_1xPbyFTBhTGwsziJff739Q.constructor = _1xPbyFTBhTGwsziJff739Q;
  type$_1xPbyFTBhTGwsziJff739Q.target = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass53`1.<AttachTo>b__52
  type$_1xPbyFTBhTGwsziJff739Q._AttachTo_b__52 = function (b)
  {
    var a = this;

    a.target.vBQABiPmKDK1qZ70wL0DGg(b);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass57
  function RYo4vmL9qzGMNVWN9cnLHA() {}  var type$RYo4vmL9qzGMNVWN9cnLHA = RYo4vmL9qzGMNVWN9cnLHA.prototype;
  type$RYo4vmL9qzGMNVWN9cnLHA.constructor = RYo4vmL9qzGMNVWN9cnLHA;
  type$RYo4vmL9qzGMNVWN9cnLHA.e = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass57.<AsEnumerable>b__56
  type$RYo4vmL9qzGMNVWN9cnLHA._AsEnumerable_b__56 = function (b)
  {
    return PwoABpsWqDaU6r2n8iDVRQ(this.e, b);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass5b`1
  function CK0tprkXqji6FWLejj1zsg() {}  var type$CK0tprkXqji6FWLejj1zsg = CK0tprkXqji6FWLejj1zsg.prototype;
  type$CK0tprkXqji6FWLejj1zsg.constructor = CK0tprkXqji6FWLejj1zsg;
  type$CK0tprkXqji6FWLejj1zsg.r = null;
  type$CK0tprkXqji6FWLejj1zsg.c = null;
  type$CK0tprkXqji6FWLejj1zsg.h = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass5b`1.<WhereListChanged>b__59
  type$CK0tprkXqji6FWLejj1zsg._WhereListChanged_b__59 = function ()
  {
    var a = this;

    a.r = a.h.Invoke();
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass5b`1.<WhereListChanged>b__5a
  type$CK0tprkXqji6FWLejj1zsg._WhereListChanged_b__5a = function ()
  {
    var a = this, b;

    a.c.Invoke();
    b = a.r;
    return b;
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass60
  function bwr0HOxBJjWqG8vnvAIIvw() {}  var type$bwr0HOxBJjWqG8vnvAIIvw = bwr0HOxBJjWqG8vnvAIIvw.prototype;
  type$bwr0HOxBJjWqG8vnvAIIvw.constructor = bwr0HOxBJjWqG8vnvAIIvw;
  type$bwr0HOxBJjWqG8vnvAIIvw.dirty = false;
  type$bwr0HOxBJjWqG8vnvAIIvw.h = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass60.<WhereListChanged>b__5d
  type$bwr0HOxBJjWqG8vnvAIIvw._WhereListChanged_b__5d = function (b, c)
  {
    var a = this;

    a.dirty = 1;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass60.<WhereListChanged>b__5e
  type$bwr0HOxBJjWqG8vnvAIIvw._WhereListChanged_b__5e = function ()
  {
    var a = this, b;

    b = !a.dirty;

    if (!b)
    {
      a.dirty = 0;
      a.h.Invoke();
    }

  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass64
  function _8aWik8_burTy0C65RBz_bA0w() {}  var type$_8aWik8_burTy0C65RBz_bA0w = _8aWik8_burTy0C65RBz_bA0w.prototype;
  type$_8aWik8_burTy0C65RBz_bA0w.constructor = _8aWik8_burTy0C65RBz_bA0w;
  type$_8aWik8_burTy0C65RBz_bA0w.dirty = false;
  type$_8aWik8_burTy0C65RBz_bA0w.h = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass64.<WhereListChanged>b__62
  type$_8aWik8_burTy0C65RBz_bA0w._WhereListChanged_b__62 = function (b, c)
  {
    var a = this;

    a.dirty = 1;
  };

  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass64.<WhereListChanged>b__63
  type$_8aWik8_burTy0C65RBz_bA0w._WhereListChanged_b__63 = function ()
  {
    var a = this, b;

    b = !a.dirty;

    if (!b)
    {
      a.dirty = 0;
      a.h.Invoke();
    }

  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass67
  function Uny_bBlmB2zmx0yy6ra1xjg() {}  var type$Uny_bBlmB2zmx0yy6ra1xjg = Uny_bBlmB2zmx0yy6ra1xjg.prototype;
  type$Uny_bBlmB2zmx0yy6ra1xjg.constructor = Uny_bBlmB2zmx0yy6ra1xjg;
  type$Uny_bBlmB2zmx0yy6ra1xjg.source = null;
  type$Uny_bBlmB2zmx0yy6ra1xjg.filter = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass67.<ToFiltered>b__66
  type$Uny_bBlmB2zmx0yy6ra1xjg._ToFiltered_b__66 = function ()
  {
    var a = this, b;

    b = !a.filter.Invoke();

    if (!b)
    {
      a.source.Invoke();
    }

  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass6c
  function a_b3A18clHz6NyLlVtYSVkQ() {}  var type$a_b3A18clHz6NyLlVtYSVkQ = a_b3A18clHz6NyLlVtYSVkQ.prototype;
  type$a_b3A18clHz6NyLlVtYSVkQ.constructor = a_b3A18clHz6NyLlVtYSVkQ;
  type$a_b3A18clHz6NyLlVtYSVkQ.i = 0;
  type$a_b3A18clHz6NyLlVtYSVkQ.handler = null;
  type$a_b3A18clHz6NyLlVtYSVkQ.filter = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass6c.<WhereCounter>b__6a
  type$a_b3A18clHz6NyLlVtYSVkQ._WhereCounter_b__6a = function ()
  {
    var a = this, b;

    b = !a.filter.Invoke(a.i);

    if (!b)
    {
      a.handler.Invoke();
    }

    a.i = (a.i + 1);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass70`1
  function iJBm6yVO1T2Voi8mnhx8zA() {}  var type$iJBm6yVO1T2Voi8mnhx8zA = iJBm6yVO1T2Voi8mnhx8zA.prototype;
  type$iJBm6yVO1T2Voi8mnhx8zA.constructor = iJBm6yVO1T2Voi8mnhx8zA;
  type$iJBm6yVO1T2Voi8mnhx8zA.i = 0;
  type$iJBm6yVO1T2Voi8mnhx8zA.handler = null;
  type$iJBm6yVO1T2Voi8mnhx8zA.filter = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass70`1.<WhereCounter>b__6f
  type$iJBm6yVO1T2Voi8mnhx8zA._WhereCounter_b__6f = function (b)
  {
    var a = this, c;

    c = !a.filter.Invoke(a.i);

    if (!c)
    {
      a.handler.Invoke(b);
    }

    a.i = (a.i + 1);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass73
  function QAlWdjNh4TeEP7r1b_a1_bMA() {}  var type$QAlWdjNh4TeEP7r1b_a1_bMA = QAlWdjNh4TeEP7r1b_a1_bMA.prototype;
  type$QAlWdjNh4TeEP7r1b_a1_bMA.constructor = QAlWdjNh4TeEP7r1b_a1_bMA;
  type$QAlWdjNh4TeEP7r1b_a1_bMA.counter = 0;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass73.<WhereCounter>b__72
  type$QAlWdjNh4TeEP7r1b_a1_bMA._WhereCounter_b__72 = function (b)
  {
    return (b == this.counter);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass76`1
  function _5lQop9mSpjmzAewvZ5tmHg() {}  var type$_5lQop9mSpjmzAewvZ5tmHg = _5lQop9mSpjmzAewvZ5tmHg.prototype;
  type$_5lQop9mSpjmzAewvZ5tmHg.constructor = _5lQop9mSpjmzAewvZ5tmHg;
  type$_5lQop9mSpjmzAewvZ5tmHg.counter = 0;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass76`1.<WhereCounter>b__75
  type$_5lQop9mSpjmzAewvZ5tmHg._WhereCounter_b__75 = function (b)
  {
    return (b == this.counter);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass79
  function co_boUZabXj6cFhkMTVnf_bw() {}  var type$co_boUZabXj6cFhkMTVnf_bw = co_boUZabXj6cFhkMTVnf_bw.prototype;
  type$co_boUZabXj6cFhkMTVnf_bw.constructor = co_boUZabXj6cFhkMTVnf_bw;
  type$co_boUZabXj6cFhkMTVnf_bw.HandlerWithSignalNext = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass79.<Times>b__78
  type$co_boUZabXj6cFhkMTVnf_bw._Times_b__78 = function (b, c)
  {
    var a = this;

    a.HandlerWithSignalNext.Invoke(c);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass7c`1
  function KM2wMIZyODyhparCPIC99Q() {}  var type$KM2wMIZyODyhparCPIC99Q = KM2wMIZyODyhparCPIC99Q.prototype;
  type$KM2wMIZyODyhparCPIC99Q.constructor = KM2wMIZyODyhparCPIC99Q;
  type$KM2wMIZyODyhparCPIC99Q.source = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass7c`1.<Combine>b__7b
  type$KM2wMIZyODyhparCPIC99Q._Combine_b__7b = function (b)
  {
    var a = this, c, d, e;

    d = a.source.sAIABnMeWzaNooAKOmFm5g();
    try
    {
      while (d._6wEABu7N0xGI6ACQJ1TEOg())
      {
        c = d.__bQEABrYmRzSu_anO2U_bk1MA();
        c.Invoke(b);
      }
    }
    finally
    {
      e = (d == null);

      if (!e)
      {
        d.__bAEABq_bUDz_aWf_aXPRTEtLA();
      }

    }
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass7f
  function GvLg0uN_bQzWF_a1BnJS9QEw() {}  var type$GvLg0uN_bQzWF_a1BnJS9QEw = GvLg0uN_bQzWF_a1BnJS9QEw.prototype;
  type$GvLg0uN_bQzWF_a1BnJS9QEw.constructor = GvLg0uN_bQzWF_a1BnJS9QEw;
  type$GvLg0uN_bQzWF_a1BnJS9QEw.a = null;
  type$GvLg0uN_bQzWF_a1BnJS9QEw.b = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass7f.<And>b__7e
  type$GvLg0uN_bQzWF_a1BnJS9QEw._And_b__7e = function ()
  {
    var a = this, b;

    b = (a.a.Invoke() && a.b.Invoke());
    return b;
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass82
  function XRnr0UhSIj6Pm3fXaFyYQg() {}  var type$XRnr0UhSIj6Pm3fXaFyYQg = XRnr0UhSIj6Pm3fXaFyYQg.prototype;
  type$XRnr0UhSIj6Pm3fXaFyYQg.constructor = XRnr0UhSIj6Pm3fXaFyYQg;
  type$XRnr0UhSIj6Pm3fXaFyYQg.a = null;
  type$XRnr0UhSIj6Pm3fXaFyYQg.b = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass82.<Or>b__81
  type$XRnr0UhSIj6Pm3fXaFyYQg._Or_b__81 = function ()
  {
    var a = this, b;

    b = (a.a.Invoke() || a.b.Invoke());
    return b;
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass85`1
  function _5SIZAMGqQzWUsJ1PkNXS9Q() {}  var type$_5SIZAMGqQzWUsJ1PkNXS9Q = _5SIZAMGqQzWUsJ1PkNXS9Q.prototype;
  type$_5SIZAMGqQzWUsJ1PkNXS9Q.constructor = _5SIZAMGqQzWUsJ1PkNXS9Q;
  type$_5SIZAMGqQzWUsJ1PkNXS9Q.filter = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass85`1.<WhereNot>b__84
  type$_5SIZAMGqQzWUsJ1PkNXS9Q._WhereNot_b__84 = function (b)
  {
    return !this.filter.Invoke(b);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass8a`1
  function Pm5E_bEDOCzW9wbch3sKWYQ() {}  var type$Pm5E_bEDOCzW9wbch3sKWYQ = Pm5E_bEDOCzW9wbch3sKWYQ.prototype;
  type$Pm5E_bEDOCzW9wbch3sKWYQ.constructor = Pm5E_bEDOCzW9wbch3sKWYQ;
  type$Pm5E_bEDOCzW9wbch3sKWYQ.remove = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass8a`1.<Replace>b__89
  type$Pm5E_bEDOCzW9wbch3sKWYQ._Replace_b__89 = function (b)
  {
    return !mwEABo6jCDaH_ab0PgaBeQQ(this.remove, b);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass8d`1
  function ogT7xpQBVzWEXp4uTwI3FQ() {}  var type$ogT7xpQBVzWEXp4uTwI3FQ = ogT7xpQBVzWEXp4uTwI3FQ.prototype;
  type$ogT7xpQBVzWEXp4uTwI3FQ.constructor = ogT7xpQBVzWEXp4uTwI3FQ;
  type$ogT7xpQBVzWEXp4uTwI3FQ.Retry = null;
  type$ogT7xpQBVzWEXp4uTwI3FQ.e = null;
  type$ogT7xpQBVzWEXp4uTwI3FQ.HandlerWithRetry = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass8d`1.<Apply>b__8c
  type$ogT7xpQBVzWEXp4uTwI3FQ._Apply_b__8c = function ()
  {
    var a = this, b;

    b = (a.e == null);

    if (!b)
    {
      a.HandlerWithRetry.Invoke(a.e, a.Retry);
    }

  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass90
  function MDU8YYFIUjeN1dpwZTlFgQ() {}  var type$MDU8YYFIUjeN1dpwZTlFgQ = MDU8YYFIUjeN1dpwZTlFgQ.prototype;
  type$MDU8YYFIUjeN1dpwZTlFgQ.constructor = MDU8YYFIUjeN1dpwZTlFgQ;
  type$MDU8YYFIUjeN1dpwZTlFgQ.done = null;
  type$MDU8YYFIUjeN1dpwZTlFgQ.f = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass90.<AsCyclic>b__8f
  type$MDU8YYFIUjeN1dpwZTlFgQ._AsCyclic_b__8f = function ()
  {
    var a = this;

    a.f.Invoke(a.done);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass93`1
  function yZNKXeEUNji_aF67xtLQwoQ() {}  var type$yZNKXeEUNji_aF67xtLQwoQ = yZNKXeEUNji_aF67xtLQwoQ.prototype;
  type$yZNKXeEUNji_aF67xtLQwoQ.constructor = yZNKXeEUNji_aF67xtLQwoQ;
  type$yZNKXeEUNji_aF67xtLQwoQ.f = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass93`1.<AsParamsAction>b__92
  type$yZNKXeEUNji_aF67xtLQwoQ._AsParamsAction_b__92 = function (b)
  {
    var a = this, c, d, e, f;

    d = b;

    for (e = 0; (e < d.length); e++)
    {
      c = d[e];
      a.f.Invoke(c);
    }

  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass96`1
  function EwM_b_aVw5SzyUSDp0FJSOxA() {}  var type$EwM_b_aVw5SzyUSDp0FJSOxA = EwM_b_aVw5SzyUSDp0FJSOxA.prototype;
  type$EwM_b_aVw5SzyUSDp0FJSOxA.constructor = EwM_b_aVw5SzyUSDp0FJSOxA;
  type$EwM_b_aVw5SzyUSDp0FJSOxA.f = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass96`1.<AsNegative>b__95
  type$EwM_b_aVw5SzyUSDp0FJSOxA._AsNegative_b__95 = function (b)
  {
    return !this.f.Invoke(b);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass99`2
  function PUekzernPDejF8Ar_b3I1Lg() {}  var type$PUekzernPDejF8Ar_b3I1Lg = PUekzernPDejF8Ar_b3I1Lg.prototype;
  type$PUekzernPDejF8Ar_b3I1Lg.constructor = PUekzernPDejF8Ar_b3I1Lg;
  type$PUekzernPDejF8Ar_b3I1Lg.f = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass99`2.<AsAction>b__98
  type$PUekzernPDejF8Ar_b3I1Lg._AsAction_b__98 = function (b)
  {
    var a = this;

    a.f.Invoke(b);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass9c
  function YyjrZ6H41jiHy4SyznJbvg() {}  var type$YyjrZ6H41jiHy4SyznJbvg = YyjrZ6H41jiHy4SyznJbvg.prototype;
  type$YyjrZ6H41jiHy4SyznJbvg.constructor = YyjrZ6H41jiHy4SyznJbvg;
  type$YyjrZ6H41jiHy4SyznJbvg.f = null;
  type$YyjrZ6H41jiHy4SyznJbvg.x = 0;
  type$YyjrZ6H41jiHy4SyznJbvg.y = 0;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass9c.<WithOffset>b__9b
  type$YyjrZ6H41jiHy4SyznJbvg._WithOffset_b__9b = function (b, c)
  {
    var a = this;

    a.f.Invoke((b + a.x), (c + a.y));
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass9f`1
  function YZ6EFZiwJDS7OIvFXmRA5A() {}  var type$YZ6EFZiwJDS7OIvFXmRA5A = YZ6EFZiwJDS7OIvFXmRA5A.prototype;
  type$YZ6EFZiwJDS7OIvFXmRA5A.constructor = YZ6EFZiwJDS7OIvFXmRA5A;
  type$YZ6EFZiwJDS7OIvFXmRA5A.f = null;
  type$YZ6EFZiwJDS7OIvFXmRA5A.x = 0;
  type$YZ6EFZiwJDS7OIvFXmRA5A.y = 0;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClass9f`1.<WithOffset>b__9e
  type$YZ6EFZiwJDS7OIvFXmRA5A._WithOffset_b__9e = function (b, c)
  {
    return this.f.Invoke((b + this.x), (c + this.y));
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClassa2`1
  function dmQt9WVtMTO5ZFe4g0Q5Dg() {}  var type$dmQt9WVtMTO5ZFe4g0Q5Dg = dmQt9WVtMTO5ZFe4g0Q5Dg.prototype;
  type$dmQt9WVtMTO5ZFe4g0Q5Dg.constructor = dmQt9WVtMTO5ZFe4g0Q5Dg;
  type$dmQt9WVtMTO5ZFe4g0Q5Dg.f = null;
  type$dmQt9WVtMTO5ZFe4g0Q5Dg.fx = null;
  type$dmQt9WVtMTO5ZFe4g0Q5Dg.fy = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClassa2`1.<With>b__a1
  type$dmQt9WVtMTO5ZFe4g0Q5Dg._With_b__a1 = function (b, c)
  {
    return this.f.Invoke(this.fx.Invoke(b), this.fy.Invoke(c));
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClassa5`2
  function RA0BU36z_bT29dRo9nWf8xg() {}  var type$RA0BU36z_bT29dRo9nWf8xg = RA0BU36z_bT29dRo9nWf8xg.prototype;
  type$RA0BU36z_bT29dRo9nWf8xg.constructor = RA0BU36z_bT29dRo9nWf8xg;
  type$RA0BU36z_bT29dRo9nWf8xg.me = null;
  type$RA0BU36z_bT29dRo9nWf8xg.le = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClassa5`2.<Y>b__a4
  type$RA0BU36z_bT29dRo9nWf8xg._Y_b__a4 = function (b)
  {
    return this.le.Invoke(this.me).Invoke(b);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClassa8`3
  function Abk3J68_aYzW0_b75YvY_aPpQ() {}  var type$Abk3J68_aYzW0_b75YvY_aPpQ = Abk3J68_aYzW0_b75YvY_aPpQ.prototype;
  type$Abk3J68_aYzW0_b75YvY_aPpQ.constructor = Abk3J68_aYzW0_b75YvY_aPpQ;
  type$Abk3J68_aYzW0_b75YvY_aPpQ.me = null;
  type$Abk3J68_aYzW0_b75YvY_aPpQ.le = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClassa8`3.<Y>b__a7
  type$Abk3J68_aYzW0_b75YvY_aPpQ._Y_b__a7 = function (b, c)
  {
    return this.le.Invoke(this.me).Invoke(b, c);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClassab`1
  function Z4G7uumhiT_aSMM0fKcpSJg() {}  var type$Z4G7uumhiT_aSMM0fKcpSJg = Z4G7uumhiT_aSMM0fKcpSJg.prototype;
  type$Z4G7uumhiT_aSMM0fKcpSJg.constructor = Z4G7uumhiT_aSMM0fKcpSJg;
  type$Z4G7uumhiT_aSMM0fKcpSJg.me = null;
  type$Z4G7uumhiT_aSMM0fKcpSJg.le = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClassab`1.<Y>b__aa
  type$Z4G7uumhiT_aSMM0fKcpSJg._Y_b__aa = function (b)
  {
    var a = this;

    a.le.Invoke(a.me).Invoke(b);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClassae`2
  function xOekMYkeTD2q_bAla71f4og() {}  var type$xOekMYkeTD2q_bAla71f4og = xOekMYkeTD2q_bAla71f4og.prototype;
  type$xOekMYkeTD2q_bAla71f4og.constructor = xOekMYkeTD2q_bAla71f4og;
  type$xOekMYkeTD2q_bAla71f4og.me = null;
  type$xOekMYkeTD2q_bAla71f4og.le = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClassae`2.<Y>b__ad
  type$xOekMYkeTD2q_bAla71f4og._Y_b__ad = function (b, c)
  {
    var a = this;

    a.le.Invoke(a.me).Invoke(b, c);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClassb1
  function _2GO8XPsqnjuHE90tY1VuRA() {}  var type$_2GO8XPsqnjuHE90tY1VuRA = _2GO8XPsqnjuHE90tY1VuRA.prototype;
  type$_2GO8XPsqnjuHE90tY1VuRA.constructor = _2GO8XPsqnjuHE90tY1VuRA;
  type$_2GO8XPsqnjuHE90tY1VuRA.y = null;
  // ScriptCoreLib.Shared.Lambda.LambdaExtensions+<>c__DisplayClassb1.<MatrixMultiplication>b__b0
  type$_2GO8XPsqnjuHE90tY1VuRA._MatrixMultiplication_b__b0 = function (b, c)
  {
    return (b * this.y[c]);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.CyclicEnumeratorExtensions+<>c__DisplayClass1`1
  function q9_bwwtTobTSgXH82inWS_bA() {}  var type$q9_bwwtTobTSgXH82inWS_bA = q9_bwwtTobTSgXH82inWS_bA.prototype;
  type$q9_bwwtTobTSgXH82inWS_bA.constructor = q9_bwwtTobTSgXH82inWS_bA;
  type$q9_bwwtTobTSgXH82inWS_bA.e = null;
  type$q9_bwwtTobTSgXH82inWS_bA.handler = null;
  // ScriptCoreLib.Shared.Lambda.CyclicEnumeratorExtensions+<>c__DisplayClass1`1.<ToCyclicAction>b__0
  type$q9_bwwtTobTSgXH82inWS_bA._ToCyclicAction_b__0 = function ()
  {
    var a = this, b;

    b = !a.e._6wEABu7N0xGI6ACQJ1TEOg();

    if (!b)
    {
      a.handler.Invoke(a.e.__bQEABrYmRzSu_anO2U_bk1MA());
    }

  };

  // Closure type for ScriptCoreLib.Shared.Lambda.CyclicEnumeratorExtensions+<>c__DisplayClass4`1
  function lMC9sGlSxj_aPCB6jDr5ZPQ() {}  var type$lMC9sGlSxj_aPCB6jDr5ZPQ = lMC9sGlSxj_aPCB6jDr5ZPQ.prototype;
  type$lMC9sGlSxj_aPCB6jDr5ZPQ.constructor = lMC9sGlSxj_aPCB6jDr5ZPQ;
  type$lMC9sGlSxj_aPCB6jDr5ZPQ.source = null;
  // ScriptCoreLib.Shared.Lambda.CyclicEnumeratorExtensions+<>c__DisplayClass4`1.<AsCyclicEnumerable>b__3
  type$lMC9sGlSxj_aPCB6jDr5ZPQ._AsCyclicEnumerable_b__3 = function ()
  {
    return this.source;
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.Future`1+<>c__DisplayClass2
  function ryNos07xTzylDppgKD7beQ() {}  var type$ryNos07xTzylDppgKD7beQ = ryNos07xTzylDppgKD7beQ.prototype;
  type$ryNos07xTzylDppgKD7beQ.constructor = ryNos07xTzylDppgKD7beQ;
  type$ryNos07xTzylDppgKD7beQ.__4__this = null;
  type$ryNos07xTzylDppgKD7beQ.e = null;
  // ScriptCoreLib.Shared.Lambda.Future`1+<>c__DisplayClass2.<Continue>b__0
  type$ryNos07xTzylDppgKD7beQ._Continue_b__0 = function ()
  {
    var a = this;

    a.e.Invoke(a.__4__this.ZwEABj44sDuzJPBkMyeBig());
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.Future`1+<>c__DisplayClass5
  function DsWPB_azbtTSdQub3MQClrw() {}  var type$DsWPB_azbtTSdQub3MQClrw = DsWPB_azbtTSdQub3MQClrw.prototype;
  type$DsWPB_azbtTSdQub3MQClrw.constructor = DsWPB_azbtTSdQub3MQClrw;
  type$DsWPB_azbtTSdQub3MQClrw.e = null;
  // ScriptCoreLib.Shared.Lambda.Future`1+<>c__DisplayClass5.<op_Implicit>b__4
  type$DsWPB_azbtTSdQub3MQClrw._op_Implicit_b__4 = function (b)
  {
    var a = this;

    a.e.aAEABj44sDuzJPBkMyeBig(b);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.FutureAction`1+<>c__DisplayClass1
  function E9vHIHPu6z_auOnsTJZuYpQ() {}  var type$E9vHIHPu6z_auOnsTJZuYpQ = E9vHIHPu6z_auOnsTJZuYpQ.prototype;
  type$E9vHIHPu6z_auOnsTJZuYpQ.constructor = E9vHIHPu6z_auOnsTJZuYpQ;
  type$E9vHIHPu6z_auOnsTJZuYpQ.e = null;
  // ScriptCoreLib.Shared.Lambda.FutureAction`1+<>c__DisplayClass1.<Continue>b__0
  type$E9vHIHPu6z_auOnsTJZuYpQ._Continue_b__0 = function (b)
  {
    var a = this;

    b.Invoke(a.e);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.FutureAction`1+<>c__DisplayClass4
  function LEHgZ8JdZjO0lO3n7VUwzw() {}  var type$LEHgZ8JdZjO0lO3n7VUwzw = LEHgZ8JdZjO0lO3n7VUwzw.prototype;
  type$LEHgZ8JdZjO0lO3n7VUwzw.constructor = LEHgZ8JdZjO0lO3n7VUwzw;
  type$LEHgZ8JdZjO0lO3n7VUwzw.__4__this = null;
  type$LEHgZ8JdZjO0lO3n7VUwzw.e = null;
  // ScriptCoreLib.Shared.Lambda.FutureAction`1+<>c__DisplayClass4.<get_Item>b__3
  type$LEHgZ8JdZjO0lO3n7VUwzw._get_Item_b__3 = function ()
  {
    var a = this;

    a.__4__this.bAEABmp2qTm6w3w8fDfNLw(a.e);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.FutureExtensions+<>c__DisplayClass5
  function pdF8W_bSiyDu4d3M00zIcNw() {}  var type$pdF8W_bSiyDu4d3M00zIcNw = pdF8W_bSiyDu4d3M00zIcNw.prototype;
  type$pdF8W_bSiyDu4d3M00zIcNw.constructor = pdF8W_bSiyDu4d3M00zIcNw;
  type$pdF8W_bSiyDu4d3M00zIcNw.Next = null;
  type$pdF8W_bSiyDu4d3M00zIcNw.PublishSignalNext = null;
  // ScriptCoreLib.Shared.Lambda.FutureExtensions+<>c__DisplayClass5.<Continue>b__2
  type$pdF8W_bSiyDu4d3M00zIcNw._Continue_b__2 = function ()
  {
    var a = this;

    a.PublishSignalNext.Invoke(new ctor$wBYABk0OxjS1LNcuSVqN0Q(a.Next, 'YgEABrE8lDKo4XwNBTAkCg'));
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.FutureExtensions+<>c__DisplayClassa`1
  function IEQYsuKrWjCO6WCZZUo_apw() {}  var type$IEQYsuKrWjCO6WCZZUo_apw = IEQYsuKrWjCO6WCZZUo_apw.prototype;
  type$IEQYsuKrWjCO6WCZZUo_apw.constructor = IEQYsuKrWjCO6WCZZUo_apw;
  type$IEQYsuKrWjCO6WCZZUo_apw.handler = null;
  // ScriptCoreLib.Shared.Lambda.FutureExtensions+<>c__DisplayClassa`1.<ForEach>b__9
  type$IEQYsuKrWjCO6WCZZUo_apw._ForEach_b__9 = function (b, c, d)
  {
    var a = this;

    a.handler.Invoke(b, d);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.FutureExtensions+<>c__DisplayClassd`1
  function CYHBXbeFIjO3iCE259mcOw() {}  var type$CYHBXbeFIjO3iCE259mcOw = CYHBXbeFIjO3iCE259mcOw.prototype;
  type$CYHBXbeFIjO3iCE259mcOw.constructor = CYHBXbeFIjO3iCE259mcOw;
  type$CYHBXbeFIjO3iCE259mcOw.handler = null;
  // ScriptCoreLib.Shared.Lambda.FutureExtensions+<>c__DisplayClassd`1.<ForEach>b__c
  type$CYHBXbeFIjO3iCE259mcOw._ForEach_b__c = function (b, c, d)
  {
    var a = this;

    a.handler.Invoke(b, d);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.FutureExtensions+<>c__DisplayClass11`1
  function ZAAuhhJRpzq2lvq5lQDY_bQ() {}  var type$ZAAuhhJRpzq2lvq5lQDY_bQ = ZAAuhhJRpzq2lvq5lQDY_bQ.prototype;
  type$ZAAuhhJRpzq2lvq5lQDY_bQ.constructor = ZAAuhhJRpzq2lvq5lQDY_bQ;
  type$ZAAuhhJRpzq2lvq5lQDY_bQ.c = null;
  type$ZAAuhhJRpzq2lvq5lQDY_bQ.e = null;
  type$ZAAuhhJRpzq2lvq5lQDY_bQ.i = 0;
  type$ZAAuhhJRpzq2lvq5lQDY_bQ.r = null;
  type$ZAAuhhJRpzq2lvq5lQDY_bQ.MoveNext = null;
  type$ZAAuhhJRpzq2lvq5lQDY_bQ.source = null;
  type$ZAAuhhJRpzq2lvq5lQDY_bQ.handler = null;
  type$ZAAuhhJRpzq2lvq5lQDY_bQ.done = null;
  // ScriptCoreLib.Shared.Lambda.FutureExtensions+<>c__DisplayClass11`1.<ForEach>b__f
  type$ZAAuhhJRpzq2lvq5lQDY_bQ._ForEach_b__f = function (b)
  {
    var a = this, c;

    c = !a.e._6wEABu7N0xGI6ACQJ1TEOg();

    if (!c)
    {
      a.i = (a.i + 1);
      cQEABt6iSDG8lMkOlPTy_aw(a.c, a.MoveNext);
      a.handler.Invoke(a.e.__bQEABrYmRzSu_anO2U_bk1MA(), a.i, b);
      return;
    }

    a.e.__bAEABq_bUDz_aWf_aXPRTEtLA();
    a.e = null;
    a.c = null;
    a.MoveNext = null;
    c = (a.done == null);

    if (!c)
    {
      a.done.Invoke();
    }

    a.r.YgEABrE8lDKo4XwNBTAkCg();
  };

  // ScriptCoreLib.Shared.Lambda.FutureExtensions+<>c__DisplayClass11`1.<ForEach>b__10
  type$ZAAuhhJRpzq2lvq5lQDY_bQ._ForEach_b__10 = function (b)
  {
    var a = this;

    a.e = wgEABo6jCDaH_ab0PgaBeQQ(a.source).sAIABnMeWzaNooAKOmFm5g();
    a.MoveNext.Invoke(b);
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.FutureExtensions+<>c__DisplayClass14
  function aeemrqpI2DKZKtxrX3EcOQ() {}  var type$aeemrqpI2DKZKtxrX3EcOQ = aeemrqpI2DKZKtxrX3EcOQ.prototype;
  type$aeemrqpI2DKZKtxrX3EcOQ.constructor = aeemrqpI2DKZKtxrX3EcOQ;
  type$aeemrqpI2DKZKtxrX3EcOQ.c = null;
  type$aeemrqpI2DKZKtxrX3EcOQ.r = null;
  type$aeemrqpI2DKZKtxrX3EcOQ.MoveNext = null;
  type$aeemrqpI2DKZKtxrX3EcOQ.e = null;
  type$aeemrqpI2DKZKtxrX3EcOQ.condition = null;
  // ScriptCoreLib.Shared.Lambda.FutureExtensions+<>c__DisplayClass14.<While>b__13
  type$aeemrqpI2DKZKtxrX3EcOQ._While_b__13 = function (b)
  {
    var a = this, c;

    c = !a.condition.Invoke();

    if (!c)
    {
      cQEABt6iSDG8lMkOlPTy_aw(a.c, a.MoveNext);
      a.e.Invoke(b);
      return;
    }

    a.r.YgEABrE8lDKo4XwNBTAkCg();
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.FutureLock+<>c__DisplayClass1
  function JmU4w9v70DerJVRNAfaSHw() {}  var type$JmU4w9v70DerJVRNAfaSHw = JmU4w9v70DerJVRNAfaSHw.prototype;
  type$JmU4w9v70DerJVRNAfaSHw.constructor = JmU4w9v70DerJVRNAfaSHw;
  type$JmU4w9v70DerJVRNAfaSHw.__4__this = null;
  type$JmU4w9v70DerJVRNAfaSHw.e = null;
  // ScriptCoreLib.Shared.Lambda.FutureLock+<>c__DisplayClass1.<Acquire>b__0
  type$JmU4w9v70DerJVRNAfaSHw._Acquire_b__0 = function ()
  {
    var a = this, b;

    b = (a.__4__this.Acquired == null);

    if (!b)
    {
      a.__4__this.Acquired.Invoke();
    }

    a.e.Invoke();
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.FutureLock+<>c__DisplayClass6
  function yDIvLGUHRTOduV_bNj_b7y9A() {}  var type$yDIvLGUHRTOduV_bNj_b7y9A = yDIvLGUHRTOduV_bNj_b7y9A.prototype;
  type$yDIvLGUHRTOduV_bNj_b7y9A.constructor = yDIvLGUHRTOduV_bNj_b7y9A;
  type$yDIvLGUHRTOduV_bNj_b7y9A.u = null;
  type$yDIvLGUHRTOduV_bNj_b7y9A.__4__this = null;
  type$yDIvLGUHRTOduV_bNj_b7y9A.e = null;
  type$yDIvLGUHRTOduV_bNj_b7y9A.dependencies = null;
  // ScriptCoreLib.Shared.Lambda.FutureLock+<>c__DisplayClass6.<Acquire>b__3
  type$yDIvLGUHRTOduV_bNj_b7y9A._Acquire_b__3 = function ()
  {
    var a = this;

    cwEABt6iSDG8lMkOlPTy_aw(a.u, new ctor$wBYABk0OxjS1LNcuSVqN0Q(a, '_Acquire_b__4'));
  };

  // ScriptCoreLib.Shared.Lambda.FutureLock+<>c__DisplayClass6.<Acquire>b__4
  type$yDIvLGUHRTOduV_bNj_b7y9A._Acquire_b__4 = function ()
  {
    var a = this;

    cgEABt6iSDG8lMkOlPTy_aw(a.dependencies, new ctor$wBYABk0OxjS1LNcuSVqN0Q(a, '_Acquire_b__5'));
  };

  // ScriptCoreLib.Shared.Lambda.FutureLock+<>c__DisplayClass6.<Acquire>b__5
  type$yDIvLGUHRTOduV_bNj_b7y9A._Acquire_b__5 = function ()
  {
    var a = this, b;

    b = (a.__4__this.Acquired == null);

    if (!b)
    {
      a.__4__this.Acquired.Invoke();
    }

    a.e.Invoke();
  };

  // Closure type for ScriptCoreLib.Shared.Lambda.FutureLock+<>c__DisplayClass9
  function vwZq_bnQRczys_bLqdQ8lRcw() {}  var type$vwZq_bnQRczys_bLqdQ8lRcw = vwZq_bnQRczys_bLqdQ8lRcw.prototype;
  type$vwZq_bnQRczys_bLqdQ8lRcw.constructor = vwZq_bnQRczys_bLqdQ8lRcw;
  type$vwZq_bnQRczys_bLqdQ8lRcw.__4__this = null;
  type$vwZq_bnQRczys_bLqdQ8lRcw.dependencies = null;
  // ScriptCoreLib.Shared.Lambda.FutureLock+<>c__DisplayClass9.<get_Item>b__8
  type$vwZq_bnQRczys_bLqdQ8lRcw._get_Item_b__8 = function (b)
  {
    var a = this;

    a.__4__this.gQEABox2JTCr6ArNmYMojQ(b, a.dependencies);
  };

  // Closure type for ScriptCoreLib.Shared.Query.__Enumerable+<>c__DisplayClass1`1
  function rBFUwVEI5TW9QJjyUHpmXQ() {}  var type$rBFUwVEI5TW9QJjyUHpmXQ = rBFUwVEI5TW9QJjyUHpmXQ.prototype;
  type$rBFUwVEI5TW9QJjyUHpmXQ.constructor = rBFUwVEI5TW9QJjyUHpmXQ;
  type$rBFUwVEI5TW9QJjyUHpmXQ._Where = false;
  type$rBFUwVEI5TW9QJjyUHpmXQ.predicate = null;
  // ScriptCoreLib.Shared.Query.__Enumerable+<>c__DisplayClass1`1.<SkipWhile>b__0
  type$rBFUwVEI5TW9QJjyUHpmXQ._SkipWhile_b__0 = function (b)
  {
    var a = this, c, d, e;

    c = a._Where;
    e = a._Where;

    if (!e)
    {
      e = !a.predicate.Invoke(b);

      if (!e)
      {
        a._Where = 1;
      }

    }

    d = c;
    return d;
  };

  // Closure type for ScriptCoreLib.Shared.Query.OrderedEnumerable`1+<>c__DisplayClass2
  function bQok8qBpyjey92Qy3LBOCg() {}  var type$bQok8qBpyjey92Qy3LBOCg = bQok8qBpyjey92Qy3LBOCg.prototype;
  type$bQok8qBpyjey92Qy3LBOCg.constructor = bQok8qBpyjey92Qy3LBOCg;
  type$bQok8qBpyjey92Qy3LBOCg.p = null;
  // ScriptCoreLib.Shared.Query.OrderedEnumerable`1+<>c__DisplayClass2.<GetEnumerator>b__1
  type$bQok8qBpyjey92Qy3LBOCg._GetEnumerator_b__1 = function (b, c)
  {
    var a = this, d, e, f, g;

    d = 0;
    e = a.p;
    while (!(e == null))
    {
      d = e.EwIABj5aCza8lDbMwG0inA(b, c);
      g = !d;

      if (!g)
      {
        break;
      }

      e = e.next;
    }
    f = d;
    return f;
  };

  // Are the references up to date?
  // Are they imported in the dependency sort order?
  // reference ScriptCoreLib - TeUeVNW9LkeWIuA4f9PZwQ
  Wk4S5GYMokW9hjOERIvEwg.Types = [_4EOZ99_anizClbIzCpFmnkg,jFDvD7iiRTaIq6lydFDtUw,PXWxjOz_atTCjCifUm3o_bUw,_4rNLqMhaxDWSoxBCTeBJLw,OGlhIt1JbjaXvqj0Gft6Jg,IfemO_a5MljuLO0WTPu3uXA,xDKZBbE8lDKo4XwNBTAkCg,LSw3Kz44sDuzJPBkMyeBig,uMhHrmp2qTm6w3w8fDfNLw,NGzZ9n6dTTmVtsTdMWBbqg,ixWVgIx2JTCr6ArNmYMojQ,abqJhmfVuzicfC2edyfQEg,EbW89dkWGD_ai_a3nDe0zAtQ,DUTvM3gIhzaWDIf0iwXCoQ,MfnaC_bjSeT2WdiXkjVi1wQ,xa4SD6_aNTTy9fGbVOtR35g,ung8kQkOKj2boceAkZKEKw,ecDu2_awjpjKB6e9zfp3bbw,PU19ZuM81DGvKAD9Hu23vQ,MqNcMzCCgTC_bz41DwIA6Ew,LigCaz5aCza8lDbMwG0inA,_7VevusrJ4TS7hkmfeorG9g,q7t87uSLIDS69Q3y0RH8Rg,UWEI5oteVzujhsBhSIn3RA];
  Wk4S5GYMokW9hjOERIvEwg.References = [TeUeVNW9LkeWIuA4f9PZwQ];

  (function()
  {
    UQAABFd8NT24si0NEtJjHA = new ctor$FhYABpMoUTSFZoF5ucbulg();
  }
  )();


