| Index: third_party/protobuf/csharp/src/Google.Protobuf.JsonDump/Program.cs | 
| diff --git a/third_party/protobuf/csharp/src/Google.Protobuf.JsonDump/Program.cs b/third_party/protobuf/csharp/src/Google.Protobuf.JsonDump/Program.cs | 
| index e8a6073e2bcb6b6f47dafb1f67f31de9b4a8671a..296b2f3f1ed5c6b5631d24671e3e24818ad59464 100644 | 
| --- a/third_party/protobuf/csharp/src/Google.Protobuf.JsonDump/Program.cs | 
| +++ b/third_party/protobuf/csharp/src/Google.Protobuf.JsonDump/Program.cs | 
| @@ -1,72 +1,73 @@ | 
| -#region Copyright notice and license | 
| -// Protocol Buffers - Google's data interchange format | 
| -// Copyright 2008 Google Inc.  All rights reserved. | 
| -// https://developers.google.com/protocol-buffers/ | 
| -// | 
| -// Redistribution and use in source and binary forms, with or without | 
| -// modification, are permitted provided that the following conditions are | 
| -// met: | 
| -// | 
| -//     * Redistributions of source code must retain the above copyright | 
| -// notice, this list of conditions and the following disclaimer. | 
| -//     * Redistributions in binary form must reproduce the above | 
| -// copyright notice, this list of conditions and the following disclaimer | 
| -// in the documentation and/or other materials provided with the | 
| -// distribution. | 
| -//     * Neither the name of Google Inc. nor the names of its | 
| -// contributors may be used to endorse or promote products derived from | 
| -// this software without specific prior written permission. | 
| -// | 
| -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | 
| -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | 
| -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | 
| -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | 
| -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | 
| -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 
| -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 
| -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 
| -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
| -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 
| -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
| -#endregion | 
| - | 
| -using System; | 
| -using System.IO; | 
| - | 
| -namespace Google.Protobuf.ProtoDump | 
| -{ | 
| -    /// <summary> | 
| -    /// Small utility to load a binary message and dump it in JSON format. | 
| -    /// </summary> | 
| -    internal class Program | 
| -    { | 
| -        private static int Main(string[] args) | 
| -        { | 
| -            if (args.Length != 2) | 
| -            { | 
| -                Console.Error.WriteLine("Usage: Google.Protobuf.JsonDump <descriptor type name> <input data>"); | 
| -                Console.Error.WriteLine("The descriptor type name is the fully-qualified message name,"); | 
| -                Console.Error.WriteLine("including assembly e.g. ProjectNamespace.Message,Company.Project"); | 
| -                return 1; | 
| -            } | 
| -            Type type = Type.GetType(args[0]); | 
| -            if (type == null) | 
| -            { | 
| -                Console.Error.WriteLine("Unable to load type {0}.", args[0]); | 
| -                return 1; | 
| -            } | 
| -            if (!typeof(IMessage).IsAssignableFrom(type)) | 
| -            { | 
| -                Console.Error.WriteLine("Type {0} doesn't implement IMessage.", args[0]); | 
| -                return 1; | 
| -            } | 
| -            IMessage message = (IMessage) Activator.CreateInstance(type); | 
| -            using (var input = File.OpenRead(args[1])) | 
| -            { | 
| -                message.MergeFrom(input); | 
| -            } | 
| -            Console.WriteLine(message); | 
| -            return 0; | 
| -        } | 
| -    } | 
| +#region Copyright notice and license | 
| +// Protocol Buffers - Google's data interchange format | 
| +// Copyright 2008 Google Inc.  All rights reserved. | 
| +// https://developers.google.com/protocol-buffers/ | 
| +// | 
| +// Redistribution and use in source and binary forms, with or without | 
| +// modification, are permitted provided that the following conditions are | 
| +// met: | 
| +// | 
| +//     * Redistributions of source code must retain the above copyright | 
| +// notice, this list of conditions and the following disclaimer. | 
| +//     * Redistributions in binary form must reproduce the above | 
| +// copyright notice, this list of conditions and the following disclaimer | 
| +// in the documentation and/or other materials provided with the | 
| +// distribution. | 
| +//     * Neither the name of Google Inc. nor the names of its | 
| +// contributors may be used to endorse or promote products derived from | 
| +// this software without specific prior written permission. | 
| +// | 
| +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | 
| +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | 
| +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | 
| +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | 
| +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | 
| +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 
| +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 
| +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 
| +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
| +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 
| +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
| +#endregion | 
| + | 
| +using System; | 
| +using System.IO; | 
| +using System.Reflection; | 
| + | 
| +namespace Google.Protobuf.ProtoDump | 
| +{ | 
| +    /// <summary> | 
| +    /// Small utility to load a binary message and dump it in JSON format. | 
| +    /// </summary> | 
| +    internal class Program | 
| +    { | 
| +        private static int Main(string[] args) | 
| +        { | 
| +            if (args.Length != 2) | 
| +            { | 
| +                Console.Error.WriteLine("Usage: Google.Protobuf.JsonDump <descriptor type name> <input data>"); | 
| +                Console.Error.WriteLine("The descriptor type name is the fully-qualified message name,"); | 
| +                Console.Error.WriteLine("including assembly e.g. ProjectNamespace.Message,Company.Project"); | 
| +                return 1; | 
| +            } | 
| +            Type type = Type.GetType(args[0]); | 
| +            if (type == null) | 
| +            { | 
| +                Console.Error.WriteLine("Unable to load type {0}.", args[0]); | 
| +                return 1; | 
| +            } | 
| +            if (!typeof(IMessage).GetTypeInfo().IsAssignableFrom(type)) | 
| +            { | 
| +                Console.Error.WriteLine("Type {0} doesn't implement IMessage.", args[0]); | 
| +                return 1; | 
| +            } | 
| +            IMessage message = (IMessage) Activator.CreateInstance(type); | 
| +            using (var input = File.OpenRead(args[1])) | 
| +            { | 
| +                message.MergeFrom(input); | 
| +            } | 
| +            Console.WriteLine(message); | 
| +            return 0; | 
| +        } | 
| +    } | 
| } | 
|  |