^{END}{UP}{UP}{UP}{UP}{UP}{END}{ENTER}
        str = "c4.Test()";
        {
            int i = 2;
            Console.WriteLine(str);
            {
                c1 a = new c1(i); a.goo(i);
            }
            double d = 1.1;
            {
                sbyte sb = 1;
                c1 a = new c1(i + (i + i));
                a.goo(sb);
                {
                    a.goo(d);
                }
            }

            // Nested Scopes
            {
                object o = i;
                bool b = false;
                if (!b)
                {
                    byte b1 = 1;
                    string s = "    This is a test";
                    while (!b)
                    {
                        if (true) b = true;
                        Console.WriteLine(s);
                        while (b)
                        {
                            if (true) b = false;
                            object oo = i;
                            bool bb = b;
                            if (!bb)
                            {
                                if (!false) bb = true;
                                byte b11 = b1;
                                string ss = s;
                                if (bb)
                                {
                                    Console.WriteLine(ss);
                                    if (bb != b)
                                    {
                                        object ooo = i;
                                        bool bbb = bb;
                                        if (bbb == true)
                                        {
                                            byte b111 = b11;
                                            string sss = ss;
                                            while (bbb)
                                            {
                                                Console.WriteLine(sss);
                                                bbb = false;

                                                // Method Calls - Ref, Paramarrays
                                                // Overloaded Abstract Methods
                                                long l = i;
                                                c4 c = new c4();
                                                c.abst(ref s, 1, i);
                                                c.abst(ref s, new int[] { 1, i, i });
                                                c.abst(ref s, c.abst(ref s, l, l), l, l, l);

                                                // Method Calls - Ref, Paramarrays
                                                // Overloaded Virtual Methods
                                                c1 a = new c4();
                                                c.virt(i, c, new c2<string>[] { c.virt(i, ref a), new c4() });
                                                c.virt(c.virt(i, ref a), c.virt(ref i, c, c.virt(i, ref a)));
                                                c.virt(c.abst(ref s, l, l), c.abst(ref s, new long[] { 1, i, l }));
                                                c.virt(i, ref a);
                                                c.virt(ref i, new c4(), new c4(), new c2<string>());
                                                c.virt(new int[] { 1, 2, 3 });
                                                c.virt(new Exception[] { });
                                                c.virt(new c1[] { new c4(), new c2<string>() });

                                                if (true) continue;
                                            }
                                        }
                                        else if (bbb != true)
                                        {
                                            Console.WriteLine("Error - Should not have reached here");
                                            o = i;
                                            return (bool)o;
                                        }
                                        else if (bbb == false)
                                        {
                                            Console.WriteLine("Error - Should not have reached here");
                                            o = i;
                                            return (bool)o;

                                        }
                                        else
                                        {
                                            Console.WriteLine("Error - Should not have reached here");
                                            o = b;
                                            return (bool)o;
                                        }
                                    }
                                }
                                else if (!b)
                                {
                                    Console.WriteLine("Error - Should not have reached here");
                                    object o1 = b;
                                    return (bool)o1;
                                }
                                else
                                {
                                    Console.WriteLine("Error - Should not have reached here");
                                    object o1 = b;
                                    return (bool)o1;
                                }
                            }
                            else if (!bb)
                            {
                                Console.WriteLine("Error - Should not have reached here");
                                o = b;
                                return (bool)o;
                            }
                            else
                            {
                                Console.WriteLine("Error - Should not have reached here");
                                object o1 = b;
                                return (bool)o1;
                            }
                            while (b != false)
                            {
                                b = false; break;
                            }
                            break;
                        }
                        while (b != true)
                        {
                            b = true; continue;
                        }
                    }
                }
                else if (b)
                {
                    Console.WriteLine("Error - Should not have reached here");
                    return b;
                }
                else
                {
                    Console.WriteLine("Error - Should not have reached here");
                    return (bool)b != true;
                }
            }
        }

        us = 0;
        sh = 1; 
        cc = new c5();
        Console.WriteLine("c5.test");
        {
            uint ui = 1; object o = ui;
            int i = sh; bool b = false; us = 1;
            // Nested Scopes
            if (true)
            {
                byte b1 = 1; long l = i; string s1 = ""; string s = "" ;
                float f = 1.2f; o = f; l = ui;
                c4 c = new c4();
                c.goo(sh); this.bar(sh);
                if (b == false)
                {
                    double d = f; s1 = s;
                }
                if (b1 >= l)
                {
                    uint ui1 = 1; o = ui1;
                    i = sh; b = false; us = 1;
                    while (i != 1000)
                    {
                        byte b11 = 1; long l1 = i; string s11 = s1;
                        float f1 = 1.2f; o = f1; l1 = ui1;
                        c.goo(b);
                        b11 = (byte)l1;

                        if (!false)
                        {
                            double d1 = f1; s1 = s;
                            c.goo(b1);
                        }
                        if (i != 1000)
                        {
                            uint ui2 = 1; o = ui2;
                            i = sh; b = false; us = 1;
                            {
                                long l2 = i; string s12 = s11;
                                o = f1; l2 = ui1;
                                if (i <= 1000) break;
                            }
                        }
                        if (i <= 1000) i = 1000;
                        return false;
                    }
                }
            }
        }
^{END}