/// Generated by the Protocol Buffers 3.6.0 compiler.  DO NOT EDIT!
/// Protobuf-swift version: 4.0.0
/// Source file "swift-descriptor.proto"
/// Syntax "Proto2"

import Foundation

public extension Google.Protobuf{}

public var SwiftDescriptorRootswiftFileOptions:ConcreateExtensionField {
    get {
        return Google.Protobuf.SwiftDescriptorRoot.default.SwiftDescriptorRootswiftFileOptionsStatic
    }
}
public var SwiftDescriptorRootswiftFieldOptions:ConcreateExtensionField {
    get {
        return Google.Protobuf.SwiftDescriptorRoot.default.SwiftDescriptorRootswiftFieldOptionsStatic
    }
}
public var SwiftDescriptorRootswiftMessageOptions:ConcreateExtensionField {
    get {
        return Google.Protobuf.SwiftDescriptorRoot.default.SwiftDescriptorRootswiftMessageOptionsStatic
    }
}
public var SwiftDescriptorRootswiftEnumOptions:ConcreateExtensionField {
    get {
        return Google.Protobuf.SwiftDescriptorRoot.default.SwiftDescriptorRootswiftEnumOptionsStatic
    }
}
public extension Google.Protobuf {
    public struct SwiftDescriptorRoot {
        public static let `default` = SwiftDescriptorRoot()
        var SwiftDescriptorRootswiftFileOptionsStatic:ConcreateExtensionField
        var SwiftDescriptorRootswiftFieldOptionsStatic:ConcreateExtensionField
        var SwiftDescriptorRootswiftMessageOptionsStatic:ConcreateExtensionField
        var SwiftDescriptorRootswiftEnumOptionsStatic:ConcreateExtensionField
        public var extensionRegistry:ExtensionRegistry

        init() {
            SwiftDescriptorRootswiftFileOptionsStatic = ConcreateExtensionField(type:ExtensionType.extensionTypeMessage, extendedClass:Google.Protobuf.FileOptions.self, fieldNumber: 5100987, defaultValue:Google.Protobuf.SwiftFileOptions(), messageOrGroupClass:Google.Protobuf.SwiftFileOptions.self, isRepeated:false, isPacked:false, isMessageSetWireFormat:false)
            SwiftDescriptorRootswiftFieldOptionsStatic = ConcreateExtensionField(type:ExtensionType.extensionTypeMessage, extendedClass:Google.Protobuf.FieldOptions.self, fieldNumber: 5100986, defaultValue:Google.Protobuf.SwiftFieldOptions(), messageOrGroupClass:Google.Protobuf.SwiftFieldOptions.self, isRepeated:false, isPacked:false, isMessageSetWireFormat:false)
            SwiftDescriptorRootswiftMessageOptionsStatic = ConcreateExtensionField(type:ExtensionType.extensionTypeMessage, extendedClass:Google.Protobuf.MessageOptions.self, fieldNumber: 5100985, defaultValue:Google.Protobuf.SwiftMessageOptions(), messageOrGroupClass:Google.Protobuf.SwiftMessageOptions.self, isRepeated:false, isPacked:false, isMessageSetWireFormat:false)
            SwiftDescriptorRootswiftEnumOptionsStatic = ConcreateExtensionField(type:ExtensionType.extensionTypeMessage, extendedClass:Google.Protobuf.EnumOptions.self, fieldNumber: 5100984, defaultValue:Google.Protobuf.SwiftEnumOptions(), messageOrGroupClass:Google.Protobuf.SwiftEnumOptions.self, isRepeated:false, isPacked:false, isMessageSetWireFormat:false)
            extensionRegistry = ExtensionRegistry()
            registerAllExtensions(registry: extensionRegistry)
            Google.Protobuf.DescriptorRoot.default.registerAllExtensions(registry: extensionRegistry)
        }
        public func registerAllExtensions(registry: ExtensionRegistry) {
            registry.addExtension(extensions: SwiftDescriptorRootswiftFileOptionsStatic)
            registry.addExtension(extensions: SwiftDescriptorRootswiftFieldOptionsStatic)
            registry.addExtension(extensions: SwiftDescriptorRootswiftMessageOptionsStatic)
            registry.addExtension(extensions: SwiftDescriptorRootswiftEnumOptionsStatic)
        }
        public static func swiftFileOptions() -> ConcreateExtensionField {
               return SwiftDescriptorRoot.default.SwiftDescriptorRootswiftFileOptionsStatic
        }
        public static func swiftFieldOptions() -> ConcreateExtensionField {
               return SwiftDescriptorRoot.default.SwiftDescriptorRootswiftFieldOptionsStatic
        }
        public static func swiftMessageOptions() -> ConcreateExtensionField {
               return SwiftDescriptorRoot.default.SwiftDescriptorRootswiftMessageOptionsStatic
        }
        public static func swiftEnumOptions() -> ConcreateExtensionField {
               return SwiftDescriptorRoot.default.SwiftDescriptorRootswiftEnumOptionsStatic
        }
    }



    //Enum type declaration start 

    public enum AccessControl:Int32, GeneratedEnum {
        case internalEntities = 0
        case publicEntities = 1
        public func toString() -> String {
            switch self {
            case .internalEntities: return "InternalEntities"
            case .publicEntities: return "PublicEntities"
            }
        }
        public static func fromString(_ str:String) throws -> Google.Protobuf.AccessControl {
            switch str {
            case "InternalEntities":    return .internalEntities
            case "PublicEntities":    return .publicEntities
            default: throw ProtocolBuffersError.invalidProtocolBuffer("Conversion failed.")
            }
        }
        public var debugDescription:String { return getDescription() }
        public var description:String { return getDescription() }
        private func getDescription() -> String { 
            switch self {
            case .internalEntities: return ".internalEntities"
            case .publicEntities: return ".publicEntities"
            }
        }
        public var hashValue:Int {
            return self.rawValue.hashValue
        }
        public static func ==(lhs:AccessControl, rhs:AccessControl) -> Bool {
            return lhs.hashValue == rhs.hashValue
        }
    }

    //Enum type declaration end 



    //Enum type declaration start 

    public enum RealmOverrideRepeated:Int32, GeneratedEnum {
        case `override` = 0
        case append = 1
        public func toString() -> String {
            switch self {
            case .`override`: return "OVERRIDE"
            case .append: return "APPEND"
            }
        }
        public static func fromString(_ str:String) throws -> Google.Protobuf.RealmOverrideRepeated {
            switch str {
            case "OVERRIDE":    return .`override`
            case "APPEND":    return .append
            default: throw ProtocolBuffersError.invalidProtocolBuffer("Conversion failed.")
            }
        }
        public var debugDescription:String { return getDescription() }
        public var description:String { return getDescription() }
        private func getDescription() -> String { 
            switch self {
            case .`override`: return ".`override`"
            case .append: return ".append"
            }
        }
        public var hashValue:Int {
            return self.rawValue.hashValue
        }
        public static func ==(lhs:RealmOverrideRepeated, rhs:RealmOverrideRepeated) -> Bool {
            return lhs.hashValue == rhs.hashValue
        }
    }

    //Enum type declaration end 

    final public class LinkedObject : GeneratedMessage {
        public typealias BuilderType = Google.Protobuf.LinkedObject.Builder

        public static func == (lhs: Google.Protobuf.LinkedObject, rhs: Google.Protobuf.LinkedObject) -> Bool {
            if lhs === rhs {
                return true
            }
            var fieldCheck:Bool = (lhs.hashValue == rhs.hashValue)
            fieldCheck = fieldCheck && (lhs.hasFieldName == rhs.hasFieldName) && (!lhs.hasFieldName || lhs.fieldName == rhs.fieldName)
            fieldCheck = fieldCheck && (lhs.hasFromType == rhs.hasFromType) && (!lhs.hasFromType || lhs.fromType == rhs.fromType)
            fieldCheck = fieldCheck && (lhs.hasPropertyName == rhs.hasPropertyName) && (!lhs.hasPropertyName || lhs.propertyName == rhs.propertyName)
            fieldCheck = (fieldCheck && (lhs.unknownFields == rhs.unknownFields))
            return fieldCheck
        }

        public fileprivate(set) var fieldName:String! = nil
        public fileprivate(set) var hasFieldName:Bool = false

        public fileprivate(set) var fromType:String! = nil
        public fileprivate(set) var hasFromType:Bool = false

        public fileprivate(set) var propertyName:String! = nil
        public fileprivate(set) var hasPropertyName:Bool = false

        required public init() {
            super.init()
        }
        override public func isInitialized() throws {
            if !hasFieldName {
                throw ProtocolBuffersError.invalidProtocolBuffer("Uninitialized Message \(Google.Protobuf.LinkedObject.self): field \"fieldName\" mark required")
            }
            if !hasFromType {
                throw ProtocolBuffersError.invalidProtocolBuffer("Uninitialized Message \(Google.Protobuf.LinkedObject.self): field \"fromType\" mark required")
            }
            if !hasPropertyName {
                throw ProtocolBuffersError.invalidProtocolBuffer("Uninitialized Message \(Google.Protobuf.LinkedObject.self): field \"propertyName\" mark required")
            }
        }
        override public func writeTo(codedOutputStream: CodedOutputStream) throws {
            if hasFieldName {
                try codedOutputStream.writeString(fieldNumber: 1, value:fieldName)
            }
            if hasFromType {
                try codedOutputStream.writeString(fieldNumber: 2, value:fromType)
            }
            if hasPropertyName {
                try codedOutputStream.writeString(fieldNumber: 3, value:propertyName)
            }
            try unknownFields.writeTo(codedOutputStream: codedOutputStream)
        }
        override public func serializedSize() -> Int32 {
            var serialize_size:Int32 = memoizedSerializedSize
            if serialize_size != -1 {
             return serialize_size
            }

            serialize_size = 0
            if hasFieldName {
                serialize_size += fieldName.computeStringSize(fieldNumber: 1)
            }
            if hasFromType {
                serialize_size += fromType.computeStringSize(fieldNumber: 2)
            }
            if hasPropertyName {
                serialize_size += propertyName.computeStringSize(fieldNumber: 3)
            }
            serialize_size += unknownFields.serializedSize()
            memoizedSerializedSize = serialize_size
            return serialize_size
        }
        public class func getBuilder() -> Google.Protobuf.LinkedObject.Builder {
            return Google.Protobuf.LinkedObject.classBuilder() as! Google.Protobuf.LinkedObject.Builder
        }
        public func getBuilder() -> Google.Protobuf.LinkedObject.Builder {
            return classBuilder() as! Google.Protobuf.LinkedObject.Builder
        }
        override public class func classBuilder() -> ProtocolBuffersMessageBuilder {
            return Google.Protobuf.LinkedObject.Builder()
        }
        override public func classBuilder() -> ProtocolBuffersMessageBuilder {
            return Google.Protobuf.LinkedObject.Builder()
        }
        public func toBuilder() throws -> Google.Protobuf.LinkedObject.Builder {
            return try Google.Protobuf.LinkedObject.builderWithPrototype(prototype:self)
        }
        public class func builderWithPrototype(prototype:Google.Protobuf.LinkedObject) throws -> Google.Protobuf.LinkedObject.Builder {
            return try Google.Protobuf.LinkedObject.Builder().mergeFrom(other:prototype)
        }
        override public func encode() throws -> Dictionary<String,Any> {
            try isInitialized()
            var jsonMap:Dictionary<String,Any> = Dictionary<String,Any>()
            if hasFieldName {
                jsonMap["fieldName"] = fieldName
            }
            if hasFromType {
                jsonMap["fromType"] = fromType
            }
            if hasPropertyName {
                jsonMap["propertyName"] = propertyName
            }
            return jsonMap
        }
        override class public func decode(jsonMap:Dictionary<String,Any>) throws -> Google.Protobuf.LinkedObject {
            return try Google.Protobuf.LinkedObject.Builder.decodeToBuilder(jsonMap:jsonMap).build()
        }
        override class public func fromJSON(data:Data, options: JSONSerialization.ReadingOptions = []) throws -> Google.Protobuf.LinkedObject {
            return try Google.Protobuf.LinkedObject.Builder.fromJSONToBuilder(data:data, options:options).build()
        }
        override public func getDescription(indent:String) throws -> String {
            var output = ""
            if hasFieldName {
                output += "\(indent) fieldName: \(String(describing: fieldName)) \n"
            }
            if hasFromType {
                output += "\(indent) fromType: \(String(describing: fromType)) \n"
            }
            if hasPropertyName {
                output += "\(indent) propertyName: \(String(describing: propertyName)) \n"
            }
            output += unknownFields.getDescription(indent: indent)
            return output
        }
        override public var hashValue:Int {
            get {
                var hashCode:Int = 7
                if hasFieldName {
                    hashCode = (hashCode &* 31) &+ fieldName.hashValue
                }
                if hasFromType {
                    hashCode = (hashCode &* 31) &+ fromType.hashValue
                }
                if hasPropertyName {
                    hashCode = (hashCode &* 31) &+ propertyName.hashValue
                }
                hashCode = (hashCode &* 31) &+  unknownFields.hashValue
                return hashCode
            }
        }


        //Meta information declaration start

        override public class func className() -> String {
            return "Google.Protobuf.LinkedObject"
        }
        override public func className() -> String {
            return "Google.Protobuf.LinkedObject"
        }
        //Meta information declaration end

        final public class Builder : GeneratedMessageBuilder {
            fileprivate var builderResult:Google.Protobuf.LinkedObject = Google.Protobuf.LinkedObject()
            public func getMessage() -> Google.Protobuf.LinkedObject {
                return builderResult
            }

            required override public init () {
                super.init()
            }
            public var fieldName:String {
                get {
                    return builderResult.fieldName
                }
                set (value) {
                    builderResult.hasFieldName = true
                    builderResult.fieldName = value
                }
            }
            public var hasFieldName:Bool {
                get {
                    return builderResult.hasFieldName
                }
            }
            @discardableResult
            public func setFieldName(_ value:String) -> Google.Protobuf.LinkedObject.Builder {
                self.fieldName = value
                return self
            }
            @discardableResult
            public func clearFieldName() -> Google.Protobuf.LinkedObject.Builder{
                builderResult.hasFieldName = false
                builderResult.fieldName = nil
                return self
            }
            public var fromType:String {
                get {
                    return builderResult.fromType
                }
                set (value) {
                    builderResult.hasFromType = true
                    builderResult.fromType = value
                }
            }
            public var hasFromType:Bool {
                get {
                    return builderResult.hasFromType
                }
            }
            @discardableResult
            public func setFromType(_ value:String) -> Google.Protobuf.LinkedObject.Builder {
                self.fromType = value
                return self
            }
            @discardableResult
            public func clearFromType() -> Google.Protobuf.LinkedObject.Builder{
                builderResult.hasFromType = false
                builderResult.fromType = nil
                return self
            }
            public var propertyName:String {
                get {
                    return builderResult.propertyName
                }
                set (value) {
                    builderResult.hasPropertyName = true
                    builderResult.propertyName = value
                }
            }
            public var hasPropertyName:Bool {
                get {
                    return builderResult.hasPropertyName
                }
            }
            @discardableResult
            public func setPropertyName(_ value:String) -> Google.Protobuf.LinkedObject.Builder {
                self.propertyName = value
                return self
            }
            @discardableResult
            public func clearPropertyName() -> Google.Protobuf.LinkedObject.Builder{
                builderResult.hasPropertyName = false
                builderResult.propertyName = nil
                return self
            }
            override public var internalGetResult:GeneratedMessage {
                get {
                    return builderResult
                }
            }
            @discardableResult
            override public func clear() -> Google.Protobuf.LinkedObject.Builder {
                builderResult = Google.Protobuf.LinkedObject()
                return self
            }
            override public func clone() throws -> Google.Protobuf.LinkedObject.Builder {
                return try Google.Protobuf.LinkedObject.builderWithPrototype(prototype:builderResult)
            }
            override public func build() throws -> Google.Protobuf.LinkedObject {
                try checkInitialized()
                return buildPartial()
            }
            public func buildPartial() -> Google.Protobuf.LinkedObject {
                let returnMe:Google.Protobuf.LinkedObject = builderResult
                return returnMe
            }
            @discardableResult
            public func mergeFrom(other:Google.Protobuf.LinkedObject) throws -> Google.Protobuf.LinkedObject.Builder {
                if other == Google.Protobuf.LinkedObject() {
                    return self
                }
                if other.hasFieldName {
                    fieldName = other.fieldName
                }
                if other.hasFromType {
                    fromType = other.fromType
                }
                if other.hasPropertyName {
                    propertyName = other.propertyName
                }
                try merge(unknownField: other.unknownFields)
                return self
            }
            @discardableResult
            override public func mergeFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.LinkedObject.Builder {
                return try mergeFrom(codedInputStream: codedInputStream, extensionRegistry:ExtensionRegistry())
            }
            @discardableResult
            override public func mergeFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.LinkedObject.Builder {
                let unknownFieldsBuilder:UnknownFieldSet.Builder = try UnknownFieldSet.builderWithUnknownFields(copyFrom:self.unknownFields)
                while (true) {
                    let protobufTag = try codedInputStream.readTag()
                    switch protobufTag {
                    case 0: 
                        self.unknownFields = try unknownFieldsBuilder.build()
                        return self

                    case 10:
                        fieldName = try codedInputStream.readString()

                    case 18:
                        fromType = try codedInputStream.readString()

                    case 26:
                        propertyName = try codedInputStream.readString()

                    default:
                        if (!(try parse(codedInputStream:codedInputStream, unknownFields:unknownFieldsBuilder, extensionRegistry:extensionRegistry, tag:protobufTag))) {
                            unknownFields = try unknownFieldsBuilder.build()
                            return self
                        }
                    }
                }
            }
            class override public func decodeToBuilder(jsonMap:Dictionary<String,Any>) throws -> Google.Protobuf.LinkedObject.Builder {
                let resultDecodedBuilder = Google.Protobuf.LinkedObject.Builder()
                if let jsonValueFieldName = jsonMap["fieldName"] as? String {
                    resultDecodedBuilder.fieldName = jsonValueFieldName
                }
                if let jsonValueFromType = jsonMap["fromType"] as? String {
                    resultDecodedBuilder.fromType = jsonValueFromType
                }
                if let jsonValuePropertyName = jsonMap["propertyName"] as? String {
                    resultDecodedBuilder.propertyName = jsonValuePropertyName
                }
                return resultDecodedBuilder
            }
            override class public func fromJSONToBuilder(data:Data, options: JSONSerialization.ReadingOptions = []) throws -> Google.Protobuf.LinkedObject.Builder {
                let jsonData = try JSONSerialization.jsonObject(with:data, options: options)
                guard let jsDataCast = jsonData as? Dictionary<String,Any> else {
                  throw ProtocolBuffersError.invalidProtocolBuffer("Invalid JSON data")
                }
                return try Google.Protobuf.LinkedObject.Builder.decodeToBuilder(jsonMap:jsDataCast)
            }
        }

    }

    final public class SwiftFileOptions : GeneratedMessage {
        public typealias BuilderType = Google.Protobuf.SwiftFileOptions.Builder

        public static func == (lhs: Google.Protobuf.SwiftFileOptions, rhs: Google.Protobuf.SwiftFileOptions) -> Bool {
            if lhs === rhs {
                return true
            }
            var fieldCheck:Bool = (lhs.hashValue == rhs.hashValue)
            fieldCheck = fieldCheck && (lhs.hasClassPrefix == rhs.hasClassPrefix) && (!lhs.hasClassPrefix || lhs.classPrefix == rhs.classPrefix)
            fieldCheck = fieldCheck && (lhs.hasEntitiesAccessControl == rhs.hasEntitiesAccessControl) && (!lhs.hasEntitiesAccessControl || lhs.entitiesAccessControl == rhs.entitiesAccessControl)
            fieldCheck = fieldCheck && (lhs.hasCompileForFramework == rhs.hasCompileForFramework) && (!lhs.hasCompileForFramework || lhs.compileForFramework == rhs.compileForFramework)
            fieldCheck = fieldCheck && (lhs.hasGenerateStruct == rhs.hasGenerateStruct) && (!lhs.hasGenerateStruct || lhs.generateStruct == rhs.generateStruct)
            fieldCheck = fieldCheck && (lhs.hasGenerateRealmObjects == rhs.hasGenerateRealmObjects) && (!lhs.hasGenerateRealmObjects || lhs.generateRealmObjects == rhs.generateRealmObjects)
            fieldCheck = fieldCheck && (lhs.hasGenerateReact == rhs.hasGenerateReact) && (!lhs.hasGenerateReact || lhs.generateReact == rhs.generateReact)
            fieldCheck = (fieldCheck && (lhs.unknownFields == rhs.unknownFields))
            return fieldCheck
        }

        public fileprivate(set) var classPrefix:String! = nil
        public fileprivate(set) var hasClassPrefix:Bool = false

        public fileprivate(set) var entitiesAccessControl:Google.Protobuf.AccessControl = Google.Protobuf.AccessControl.publicEntities
        public fileprivate(set) var hasEntitiesAccessControl:Bool = false
        public fileprivate(set) var compileForFramework:Bool! = true
        public fileprivate(set) var hasCompileForFramework:Bool = false

        public fileprivate(set) var generateStruct:Bool! = false
        public fileprivate(set) var hasGenerateStruct:Bool = false

        public fileprivate(set) var generateRealmObjects:Bool! = false
        public fileprivate(set) var hasGenerateRealmObjects:Bool = false

        public fileprivate(set) var generateReact:Bool! = false
        public fileprivate(set) var hasGenerateReact:Bool = false

        required public init() {
            super.init()
        }
        override public func isInitialized() throws {
        }
        override public func writeTo(codedOutputStream: CodedOutputStream) throws {
            if hasClassPrefix {
                try codedOutputStream.writeString(fieldNumber: 1, value:classPrefix)
            }
            if hasEntitiesAccessControl {
                try codedOutputStream.writeEnum(fieldNumber: 2, value:entitiesAccessControl.rawValue)
            }
            if hasCompileForFramework {
                try codedOutputStream.writeBool(fieldNumber: 3, value:compileForFramework)
            }
            if hasGenerateStruct {
                try codedOutputStream.writeBool(fieldNumber: 4, value:generateStruct)
            }
            if hasGenerateRealmObjects {
                try codedOutputStream.writeBool(fieldNumber: 5, value:generateRealmObjects)
            }
            if hasGenerateReact {
                try codedOutputStream.writeBool(fieldNumber: 6, value:generateReact)
            }
            try unknownFields.writeTo(codedOutputStream: codedOutputStream)
        }
        override public func serializedSize() -> Int32 {
            var serialize_size:Int32 = memoizedSerializedSize
            if serialize_size != -1 {
             return serialize_size
            }

            serialize_size = 0
            if hasClassPrefix {
                serialize_size += classPrefix.computeStringSize(fieldNumber: 1)
            }
            if (hasEntitiesAccessControl) {
                serialize_size += entitiesAccessControl.rawValue.computeEnumSize(fieldNumber: 2)
            }
            if hasCompileForFramework {
                serialize_size += compileForFramework.computeBoolSize(fieldNumber: 3)
            }
            if hasGenerateStruct {
                serialize_size += generateStruct.computeBoolSize(fieldNumber: 4)
            }
            if hasGenerateRealmObjects {
                serialize_size += generateRealmObjects.computeBoolSize(fieldNumber: 5)
            }
            if hasGenerateReact {
                serialize_size += generateReact.computeBoolSize(fieldNumber: 6)
            }
            serialize_size += unknownFields.serializedSize()
            memoizedSerializedSize = serialize_size
            return serialize_size
        }
        public class func getBuilder() -> Google.Protobuf.SwiftFileOptions.Builder {
            return Google.Protobuf.SwiftFileOptions.classBuilder() as! Google.Protobuf.SwiftFileOptions.Builder
        }
        public func getBuilder() -> Google.Protobuf.SwiftFileOptions.Builder {
            return classBuilder() as! Google.Protobuf.SwiftFileOptions.Builder
        }
        override public class func classBuilder() -> ProtocolBuffersMessageBuilder {
            return Google.Protobuf.SwiftFileOptions.Builder()
        }
        override public func classBuilder() -> ProtocolBuffersMessageBuilder {
            return Google.Protobuf.SwiftFileOptions.Builder()
        }
        public func toBuilder() throws -> Google.Protobuf.SwiftFileOptions.Builder {
            return try Google.Protobuf.SwiftFileOptions.builderWithPrototype(prototype:self)
        }
        public class func builderWithPrototype(prototype:Google.Protobuf.SwiftFileOptions) throws -> Google.Protobuf.SwiftFileOptions.Builder {
            return try Google.Protobuf.SwiftFileOptions.Builder().mergeFrom(other:prototype)
        }
        override public func encode() throws -> Dictionary<String,Any> {
            try isInitialized()
            var jsonMap:Dictionary<String,Any> = Dictionary<String,Any>()
            if hasClassPrefix {
                jsonMap["classPrefix"] = classPrefix
            }
            if hasEntitiesAccessControl {
                jsonMap["entitiesAccessControl"] = entitiesAccessControl.toString()
            }
            if hasCompileForFramework {
                jsonMap["compileForFramework"] = compileForFramework
            }
            if hasGenerateStruct {
                jsonMap["generateStruct"] = generateStruct
            }
            if hasGenerateRealmObjects {
                jsonMap["generateRealmObjects"] = generateRealmObjects
            }
            if hasGenerateReact {
                jsonMap["generateReact"] = generateReact
            }
            return jsonMap
        }
        override class public func decode(jsonMap:Dictionary<String,Any>) throws -> Google.Protobuf.SwiftFileOptions {
            return try Google.Protobuf.SwiftFileOptions.Builder.decodeToBuilder(jsonMap:jsonMap).build()
        }
        override class public func fromJSON(data:Data, options: JSONSerialization.ReadingOptions = []) throws -> Google.Protobuf.SwiftFileOptions {
            return try Google.Protobuf.SwiftFileOptions.Builder.fromJSONToBuilder(data:data, options:options).build()
        }
        override public func getDescription(indent:String) throws -> String {
            var output = ""
            if hasClassPrefix {
                output += "\(indent) classPrefix: \(String(describing: classPrefix)) \n"
            }
            if (hasEntitiesAccessControl) {
                output += "\(indent) entitiesAccessControl: \(entitiesAccessControl.description)\n"
            }
            if hasCompileForFramework {
                output += "\(indent) compileForFramework: \(String(describing: compileForFramework)) \n"
            }
            if hasGenerateStruct {
                output += "\(indent) generateStruct: \(String(describing: generateStruct)) \n"
            }
            if hasGenerateRealmObjects {
                output += "\(indent) generateRealmObjects: \(String(describing: generateRealmObjects)) \n"
            }
            if hasGenerateReact {
                output += "\(indent) generateReact: \(String(describing: generateReact)) \n"
            }
            output += unknownFields.getDescription(indent: indent)
            return output
        }
        override public var hashValue:Int {
            get {
                var hashCode:Int = 7
                if hasClassPrefix {
                    hashCode = (hashCode &* 31) &+ classPrefix.hashValue
                }
                if hasEntitiesAccessControl {
                     hashCode = (hashCode &* 31) &+ entitiesAccessControl.hashValue
                }
                if hasCompileForFramework {
                    hashCode = (hashCode &* 31) &+ compileForFramework.hashValue
                }
                if hasGenerateStruct {
                    hashCode = (hashCode &* 31) &+ generateStruct.hashValue
                }
                if hasGenerateRealmObjects {
                    hashCode = (hashCode &* 31) &+ generateRealmObjects.hashValue
                }
                if hasGenerateReact {
                    hashCode = (hashCode &* 31) &+ generateReact.hashValue
                }
                hashCode = (hashCode &* 31) &+  unknownFields.hashValue
                return hashCode
            }
        }


        //Meta information declaration start

        override public class func className() -> String {
            return "Google.Protobuf.SwiftFileOptions"
        }
        override public func className() -> String {
            return "Google.Protobuf.SwiftFileOptions"
        }
        //Meta information declaration end

        final public class Builder : GeneratedMessageBuilder {
            fileprivate var builderResult:Google.Protobuf.SwiftFileOptions = Google.Protobuf.SwiftFileOptions()
            public func getMessage() -> Google.Protobuf.SwiftFileOptions {
                return builderResult
            }

            required override public init () {
                super.init()
            }
            public var classPrefix:String {
                get {
                    return builderResult.classPrefix
                }
                set (value) {
                    builderResult.hasClassPrefix = true
                    builderResult.classPrefix = value
                }
            }
            public var hasClassPrefix:Bool {
                get {
                    return builderResult.hasClassPrefix
                }
            }
            @discardableResult
            public func setClassPrefix(_ value:String) -> Google.Protobuf.SwiftFileOptions.Builder {
                self.classPrefix = value
                return self
            }
            @discardableResult
            public func clearClassPrefix() -> Google.Protobuf.SwiftFileOptions.Builder{
                builderResult.hasClassPrefix = false
                builderResult.classPrefix = nil
                return self
            }
                public var entitiesAccessControl:Google.Protobuf.AccessControl {
                    get {
                        return builderResult.entitiesAccessControl
                    }
                    set (value) {
                        builderResult.hasEntitiesAccessControl = true
                        builderResult.entitiesAccessControl = value
                    }
                }
                public var hasEntitiesAccessControl:Bool{
                    get {
                        return builderResult.hasEntitiesAccessControl
                    }
                }
            @discardableResult
                public func setEntitiesAccessControl(_ value:Google.Protobuf.AccessControl) -> Google.Protobuf.SwiftFileOptions.Builder {
                  self.entitiesAccessControl = value
                  return self
                }
            @discardableResult
                public func clearEntitiesAccessControl() -> Google.Protobuf.SwiftFileOptions.Builder {
                   builderResult.hasEntitiesAccessControl = false
                   builderResult.entitiesAccessControl = .publicEntities
                   return self
                }
            public var compileForFramework:Bool {
                get {
                    return builderResult.compileForFramework
                }
                set (value) {
                    builderResult.hasCompileForFramework = true
                    builderResult.compileForFramework = value
                }
            }
            public var hasCompileForFramework:Bool {
                get {
                    return builderResult.hasCompileForFramework
                }
            }
            @discardableResult
            public func setCompileForFramework(_ value:Bool) -> Google.Protobuf.SwiftFileOptions.Builder {
                self.compileForFramework = value
                return self
            }
            @discardableResult
            public func clearCompileForFramework() -> Google.Protobuf.SwiftFileOptions.Builder{
                builderResult.hasCompileForFramework = false
                builderResult.compileForFramework = true
                return self
            }
            public var generateStruct:Bool {
                get {
                    return builderResult.generateStruct
                }
                set (value) {
                    builderResult.hasGenerateStruct = true
                    builderResult.generateStruct = value
                }
            }
            public var hasGenerateStruct:Bool {
                get {
                    return builderResult.hasGenerateStruct
                }
            }
            @discardableResult
            public func setGenerateStruct(_ value:Bool) -> Google.Protobuf.SwiftFileOptions.Builder {
                self.generateStruct = value
                return self
            }
            @discardableResult
            public func clearGenerateStruct() -> Google.Protobuf.SwiftFileOptions.Builder{
                builderResult.hasGenerateStruct = false
                builderResult.generateStruct = false
                return self
            }
            public var generateRealmObjects:Bool {
                get {
                    return builderResult.generateRealmObjects
                }
                set (value) {
                    builderResult.hasGenerateRealmObjects = true
                    builderResult.generateRealmObjects = value
                }
            }
            public var hasGenerateRealmObjects:Bool {
                get {
                    return builderResult.hasGenerateRealmObjects
                }
            }
            @discardableResult
            public func setGenerateRealmObjects(_ value:Bool) -> Google.Protobuf.SwiftFileOptions.Builder {
                self.generateRealmObjects = value
                return self
            }
            @discardableResult
            public func clearGenerateRealmObjects() -> Google.Protobuf.SwiftFileOptions.Builder{
                builderResult.hasGenerateRealmObjects = false
                builderResult.generateRealmObjects = false
                return self
            }
            public var generateReact:Bool {
                get {
                    return builderResult.generateReact
                }
                set (value) {
                    builderResult.hasGenerateReact = true
                    builderResult.generateReact = value
                }
            }
            public var hasGenerateReact:Bool {
                get {
                    return builderResult.hasGenerateReact
                }
            }
            @discardableResult
            public func setGenerateReact(_ value:Bool) -> Google.Protobuf.SwiftFileOptions.Builder {
                self.generateReact = value
                return self
            }
            @discardableResult
            public func clearGenerateReact() -> Google.Protobuf.SwiftFileOptions.Builder{
                builderResult.hasGenerateReact = false
                builderResult.generateReact = false
                return self
            }
            override public var internalGetResult:GeneratedMessage {
                get {
                    return builderResult
                }
            }
            @discardableResult
            override public func clear() -> Google.Protobuf.SwiftFileOptions.Builder {
                builderResult = Google.Protobuf.SwiftFileOptions()
                return self
            }
            override public func clone() throws -> Google.Protobuf.SwiftFileOptions.Builder {
                return try Google.Protobuf.SwiftFileOptions.builderWithPrototype(prototype:builderResult)
            }
            override public func build() throws -> Google.Protobuf.SwiftFileOptions {
                try checkInitialized()
                return buildPartial()
            }
            public func buildPartial() -> Google.Protobuf.SwiftFileOptions {
                let returnMe:Google.Protobuf.SwiftFileOptions = builderResult
                return returnMe
            }
            @discardableResult
            public func mergeFrom(other:Google.Protobuf.SwiftFileOptions) throws -> Google.Protobuf.SwiftFileOptions.Builder {
                if other == Google.Protobuf.SwiftFileOptions() {
                    return self
                }
                if other.hasClassPrefix {
                    classPrefix = other.classPrefix
                }
                if other.hasEntitiesAccessControl {
                    entitiesAccessControl = other.entitiesAccessControl
                }
                if other.hasCompileForFramework {
                    compileForFramework = other.compileForFramework
                }
                if other.hasGenerateStruct {
                    generateStruct = other.generateStruct
                }
                if other.hasGenerateRealmObjects {
                    generateRealmObjects = other.generateRealmObjects
                }
                if other.hasGenerateReact {
                    generateReact = other.generateReact
                }
                try merge(unknownField: other.unknownFields)
                return self
            }
            @discardableResult
            override public func mergeFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.SwiftFileOptions.Builder {
                return try mergeFrom(codedInputStream: codedInputStream, extensionRegistry:ExtensionRegistry())
            }
            @discardableResult
            override public func mergeFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.SwiftFileOptions.Builder {
                let unknownFieldsBuilder:UnknownFieldSet.Builder = try UnknownFieldSet.builderWithUnknownFields(copyFrom:self.unknownFields)
                while (true) {
                    let protobufTag = try codedInputStream.readTag()
                    switch protobufTag {
                    case 0: 
                        self.unknownFields = try unknownFieldsBuilder.build()
                        return self

                    case 10:
                        classPrefix = try codedInputStream.readString()

                    case 16:
                        let valueIntentitiesAccessControl = try codedInputStream.readEnum()
                        if let enumsentitiesAccessControl = Google.Protobuf.AccessControl(rawValue:valueIntentitiesAccessControl){
                            entitiesAccessControl = enumsentitiesAccessControl
                        } else {
                            try unknownFieldsBuilder.mergeVarintField(fieldNumber: 2, value:Int64(valueIntentitiesAccessControl))
                        }

                    case 24:
                        compileForFramework = try codedInputStream.readBool()

                    case 32:
                        generateStruct = try codedInputStream.readBool()

                    case 40:
                        generateRealmObjects = try codedInputStream.readBool()

                    case 48:
                        generateReact = try codedInputStream.readBool()

                    default:
                        if (!(try parse(codedInputStream:codedInputStream, unknownFields:unknownFieldsBuilder, extensionRegistry:extensionRegistry, tag:protobufTag))) {
                            unknownFields = try unknownFieldsBuilder.build()
                            return self
                        }
                    }
                }
            }
            class override public func decodeToBuilder(jsonMap:Dictionary<String,Any>) throws -> Google.Protobuf.SwiftFileOptions.Builder {
                let resultDecodedBuilder = Google.Protobuf.SwiftFileOptions.Builder()
                if let jsonValueClassPrefix = jsonMap["classPrefix"] as? String {
                    resultDecodedBuilder.classPrefix = jsonValueClassPrefix
                }
                if let jsonValueEntitiesAccessControl = jsonMap["entitiesAccessControl"] as? String {
                    resultDecodedBuilder.entitiesAccessControl = try Google.Protobuf.AccessControl.fromString(jsonValueEntitiesAccessControl)
                }
                if let jsonValueCompileForFramework = jsonMap["compileForFramework"] as? Bool {
                    resultDecodedBuilder.compileForFramework = jsonValueCompileForFramework
                }
                if let jsonValueGenerateStruct = jsonMap["generateStruct"] as? Bool {
                    resultDecodedBuilder.generateStruct = jsonValueGenerateStruct
                }
                if let jsonValueGenerateRealmObjects = jsonMap["generateRealmObjects"] as? Bool {
                    resultDecodedBuilder.generateRealmObjects = jsonValueGenerateRealmObjects
                }
                if let jsonValueGenerateReact = jsonMap["generateReact"] as? Bool {
                    resultDecodedBuilder.generateReact = jsonValueGenerateReact
                }
                return resultDecodedBuilder
            }
            override class public func fromJSONToBuilder(data:Data, options: JSONSerialization.ReadingOptions = []) throws -> Google.Protobuf.SwiftFileOptions.Builder {
                let jsonData = try JSONSerialization.jsonObject(with:data, options: options)
                guard let jsDataCast = jsonData as? Dictionary<String,Any> else {
                  throw ProtocolBuffersError.invalidProtocolBuffer("Invalid JSON data")
                }
                return try Google.Protobuf.SwiftFileOptions.Builder.decodeToBuilder(jsonMap:jsDataCast)
            }
        }

    }

    final public class SwiftMessageOptions : GeneratedMessage {
        public typealias BuilderType = Google.Protobuf.SwiftMessageOptions.Builder

        public static func == (lhs: Google.Protobuf.SwiftMessageOptions, rhs: Google.Protobuf.SwiftMessageOptions) -> Bool {
            if lhs === rhs {
                return true
            }
            var fieldCheck:Bool = (lhs.hashValue == rhs.hashValue)
            fieldCheck = fieldCheck && (lhs.hasGenerateErrorType == rhs.hasGenerateErrorType) && (!lhs.hasGenerateErrorType || lhs.generateErrorType == rhs.generateErrorType)
            fieldCheck = fieldCheck && (lhs.hasGenerateRealmObject == rhs.hasGenerateRealmObject) && (!lhs.hasGenerateRealmObject || lhs.generateRealmObject == rhs.generateRealmObject)
            fieldCheck = fieldCheck && (lhs.hasGenerateReact == rhs.hasGenerateReact) && (!lhs.hasGenerateReact || lhs.generateReact == rhs.generateReact)
            fieldCheck = fieldCheck && (lhs.hasAdditionalClassName == rhs.hasAdditionalClassName) && (!lhs.hasAdditionalClassName || lhs.additionalClassName == rhs.additionalClassName)
            fieldCheck = fieldCheck && (lhs.linkedObjects == rhs.linkedObjects)
            fieldCheck = (fieldCheck && (lhs.unknownFields == rhs.unknownFields))
            return fieldCheck
        }

        public fileprivate(set) var generateErrorType:Bool! = false
        public fileprivate(set) var hasGenerateErrorType:Bool = false

        public fileprivate(set) var generateRealmObject:Bool! = false
        public fileprivate(set) var hasGenerateRealmObject:Bool = false

        public fileprivate(set) var generateReact:Bool! = false
        public fileprivate(set) var hasGenerateReact:Bool = false

        public fileprivate(set) var additionalClassName:String! = nil
        public fileprivate(set) var hasAdditionalClassName:Bool = false

        public fileprivate(set) var linkedObjects:Array<Google.Protobuf.LinkedObject>  = Array<Google.Protobuf.LinkedObject>()
        required public init() {
            super.init()
        }
        override public func isInitialized() throws {
            for oneElementLinkedObjects in linkedObjects {
                try oneElementLinkedObjects.isInitialized()
            }
        }
        override public func writeTo(codedOutputStream: CodedOutputStream) throws {
            if hasGenerateErrorType {
                try codedOutputStream.writeBool(fieldNumber: 1, value:generateErrorType)
            }
            if hasGenerateRealmObject {
                try codedOutputStream.writeBool(fieldNumber: 2, value:generateRealmObject)
            }
            if hasGenerateReact {
                try codedOutputStream.writeBool(fieldNumber: 3, value:generateReact)
            }
            if hasAdditionalClassName {
                try codedOutputStream.writeString(fieldNumber: 4, value:additionalClassName)
            }
            for oneElementLinkedObjects in linkedObjects {
                  try codedOutputStream.writeMessage(fieldNumber: 5, value:oneElementLinkedObjects)
            }
            try unknownFields.writeTo(codedOutputStream: codedOutputStream)
        }
        override public func serializedSize() -> Int32 {
            var serialize_size:Int32 = memoizedSerializedSize
            if serialize_size != -1 {
             return serialize_size
            }

            serialize_size = 0
            if hasGenerateErrorType {
                serialize_size += generateErrorType.computeBoolSize(fieldNumber: 1)
            }
            if hasGenerateRealmObject {
                serialize_size += generateRealmObject.computeBoolSize(fieldNumber: 2)
            }
            if hasGenerateReact {
                serialize_size += generateReact.computeBoolSize(fieldNumber: 3)
            }
            if hasAdditionalClassName {
                serialize_size += additionalClassName.computeStringSize(fieldNumber: 4)
            }
            for oneElementLinkedObjects in linkedObjects {
                serialize_size += oneElementLinkedObjects.computeMessageSize(fieldNumber: 5)
            }
            serialize_size += unknownFields.serializedSize()
            memoizedSerializedSize = serialize_size
            return serialize_size
        }
        public class func getBuilder() -> Google.Protobuf.SwiftMessageOptions.Builder {
            return Google.Protobuf.SwiftMessageOptions.classBuilder() as! Google.Protobuf.SwiftMessageOptions.Builder
        }
        public func getBuilder() -> Google.Protobuf.SwiftMessageOptions.Builder {
            return classBuilder() as! Google.Protobuf.SwiftMessageOptions.Builder
        }
        override public class func classBuilder() -> ProtocolBuffersMessageBuilder {
            return Google.Protobuf.SwiftMessageOptions.Builder()
        }
        override public func classBuilder() -> ProtocolBuffersMessageBuilder {
            return Google.Protobuf.SwiftMessageOptions.Builder()
        }
        public func toBuilder() throws -> Google.Protobuf.SwiftMessageOptions.Builder {
            return try Google.Protobuf.SwiftMessageOptions.builderWithPrototype(prototype:self)
        }
        public class func builderWithPrototype(prototype:Google.Protobuf.SwiftMessageOptions) throws -> Google.Protobuf.SwiftMessageOptions.Builder {
            return try Google.Protobuf.SwiftMessageOptions.Builder().mergeFrom(other:prototype)
        }
        override public func encode() throws -> Dictionary<String,Any> {
            try isInitialized()
            var jsonMap:Dictionary<String,Any> = Dictionary<String,Any>()
            if hasGenerateErrorType {
                jsonMap["generateErrorType"] = generateErrorType
            }
            if hasGenerateRealmObject {
                jsonMap["generateRealmObject"] = generateRealmObject
            }
            if hasGenerateReact {
                jsonMap["generateReact"] = generateReact
            }
            if hasAdditionalClassName {
                jsonMap["additionalClassName"] = additionalClassName
            }
            if !linkedObjects.isEmpty {
                var jsonArrayLinkedObjects:Array<Dictionary<String,Any>> = []
                for oneValueLinkedObjects in linkedObjects {
                    let ecodedMessageLinkedObjects = try oneValueLinkedObjects.encode()
                    jsonArrayLinkedObjects.append(ecodedMessageLinkedObjects)
                }
                jsonMap["linkedObjects"] = jsonArrayLinkedObjects
            }
            return jsonMap
        }
        override class public func decode(jsonMap:Dictionary<String,Any>) throws -> Google.Protobuf.SwiftMessageOptions {
            return try Google.Protobuf.SwiftMessageOptions.Builder.decodeToBuilder(jsonMap:jsonMap).build()
        }
        override class public func fromJSON(data:Data, options: JSONSerialization.ReadingOptions = []) throws -> Google.Protobuf.SwiftMessageOptions {
            return try Google.Protobuf.SwiftMessageOptions.Builder.fromJSONToBuilder(data:data, options:options).build()
        }
        override public func getDescription(indent:String) throws -> String {
            var output = ""
            if hasGenerateErrorType {
                output += "\(indent) generateErrorType: \(String(describing: generateErrorType)) \n"
            }
            if hasGenerateRealmObject {
                output += "\(indent) generateRealmObject: \(String(describing: generateRealmObject)) \n"
            }
            if hasGenerateReact {
                output += "\(indent) generateReact: \(String(describing: generateReact)) \n"
            }
            if hasAdditionalClassName {
                output += "\(indent) additionalClassName: \(String(describing: additionalClassName)) \n"
            }
            var linkedObjectsElementIndex:Int = 0
            for oneElementLinkedObjects in linkedObjects {
                output += "\(indent) linkedObjects[\(linkedObjectsElementIndex)] {\n"
                output += try oneElementLinkedObjects.getDescription(indent: "\(indent)  ")
                output += "\(indent)}\n"
                linkedObjectsElementIndex += 1
            }
            output += unknownFields.getDescription(indent: indent)
            return output
        }
        override public var hashValue:Int {
            get {
                var hashCode:Int = 7
                if hasGenerateErrorType {
                    hashCode = (hashCode &* 31) &+ generateErrorType.hashValue
                }
                if hasGenerateRealmObject {
                    hashCode = (hashCode &* 31) &+ generateRealmObject.hashValue
                }
                if hasGenerateReact {
                    hashCode = (hashCode &* 31) &+ generateReact.hashValue
                }
                if hasAdditionalClassName {
                    hashCode = (hashCode &* 31) &+ additionalClassName.hashValue
                }
                for oneElementLinkedObjects in linkedObjects {
                    hashCode = (hashCode &* 31) &+ oneElementLinkedObjects.hashValue
                }
                hashCode = (hashCode &* 31) &+  unknownFields.hashValue
                return hashCode
            }
        }


        //Meta information declaration start

        override public class func className() -> String {
            return "Google.Protobuf.SwiftMessageOptions"
        }
        override public func className() -> String {
            return "Google.Protobuf.SwiftMessageOptions"
        }
        //Meta information declaration end

        final public class Builder : GeneratedMessageBuilder {
            fileprivate var builderResult:Google.Protobuf.SwiftMessageOptions = Google.Protobuf.SwiftMessageOptions()
            public func getMessage() -> Google.Protobuf.SwiftMessageOptions {
                return builderResult
            }

            required override public init () {
                super.init()
            }
            public var generateErrorType:Bool {
                get {
                    return builderResult.generateErrorType
                }
                set (value) {
                    builderResult.hasGenerateErrorType = true
                    builderResult.generateErrorType = value
                }
            }
            public var hasGenerateErrorType:Bool {
                get {
                    return builderResult.hasGenerateErrorType
                }
            }
            @discardableResult
            public func setGenerateErrorType(_ value:Bool) -> Google.Protobuf.SwiftMessageOptions.Builder {
                self.generateErrorType = value
                return self
            }
            @discardableResult
            public func clearGenerateErrorType() -> Google.Protobuf.SwiftMessageOptions.Builder{
                builderResult.hasGenerateErrorType = false
                builderResult.generateErrorType = false
                return self
            }
            public var generateRealmObject:Bool {
                get {
                    return builderResult.generateRealmObject
                }
                set (value) {
                    builderResult.hasGenerateRealmObject = true
                    builderResult.generateRealmObject = value
                }
            }
            public var hasGenerateRealmObject:Bool {
                get {
                    return builderResult.hasGenerateRealmObject
                }
            }
            @discardableResult
            public func setGenerateRealmObject(_ value:Bool) -> Google.Protobuf.SwiftMessageOptions.Builder {
                self.generateRealmObject = value
                return self
            }
            @discardableResult
            public func clearGenerateRealmObject() -> Google.Protobuf.SwiftMessageOptions.Builder{
                builderResult.hasGenerateRealmObject = false
                builderResult.generateRealmObject = false
                return self
            }
            public var generateReact:Bool {
                get {
                    return builderResult.generateReact
                }
                set (value) {
                    builderResult.hasGenerateReact = true
                    builderResult.generateReact = value
                }
            }
            public var hasGenerateReact:Bool {
                get {
                    return builderResult.hasGenerateReact
                }
            }
            @discardableResult
            public func setGenerateReact(_ value:Bool) -> Google.Protobuf.SwiftMessageOptions.Builder {
                self.generateReact = value
                return self
            }
            @discardableResult
            public func clearGenerateReact() -> Google.Protobuf.SwiftMessageOptions.Builder{
                builderResult.hasGenerateReact = false
                builderResult.generateReact = false
                return self
            }
            public var additionalClassName:String {
                get {
                    return builderResult.additionalClassName
                }
                set (value) {
                    builderResult.hasAdditionalClassName = true
                    builderResult.additionalClassName = value
                }
            }
            public var hasAdditionalClassName:Bool {
                get {
                    return builderResult.hasAdditionalClassName
                }
            }
            @discardableResult
            public func setAdditionalClassName(_ value:String) -> Google.Protobuf.SwiftMessageOptions.Builder {
                self.additionalClassName = value
                return self
            }
            @discardableResult
            public func clearAdditionalClassName() -> Google.Protobuf.SwiftMessageOptions.Builder{
                builderResult.hasAdditionalClassName = false
                builderResult.additionalClassName = nil
                return self
            }
            public var linkedObjects:Array<Google.Protobuf.LinkedObject> {
                get {
                    return builderResult.linkedObjects
                }
                set (value) {
                    builderResult.linkedObjects = value
                }
            }
            @discardableResult
            public func setLinkedObjects(_ value:Array<Google.Protobuf.LinkedObject>) -> Google.Protobuf.SwiftMessageOptions.Builder {
                self.linkedObjects = value
                return self
            }
            @discardableResult
            public func clearLinkedObjects() -> Google.Protobuf.SwiftMessageOptions.Builder {
                builderResult.linkedObjects.removeAll(keepingCapacity: false)
                return self
            }
            override public var internalGetResult:GeneratedMessage {
                get {
                    return builderResult
                }
            }
            @discardableResult
            override public func clear() -> Google.Protobuf.SwiftMessageOptions.Builder {
                builderResult = Google.Protobuf.SwiftMessageOptions()
                return self
            }
            override public func clone() throws -> Google.Protobuf.SwiftMessageOptions.Builder {
                return try Google.Protobuf.SwiftMessageOptions.builderWithPrototype(prototype:builderResult)
            }
            override public func build() throws -> Google.Protobuf.SwiftMessageOptions {
                try checkInitialized()
                return buildPartial()
            }
            public func buildPartial() -> Google.Protobuf.SwiftMessageOptions {
                let returnMe:Google.Protobuf.SwiftMessageOptions = builderResult
                return returnMe
            }
            @discardableResult
            public func mergeFrom(other:Google.Protobuf.SwiftMessageOptions) throws -> Google.Protobuf.SwiftMessageOptions.Builder {
                if other == Google.Protobuf.SwiftMessageOptions() {
                    return self
                }
                if other.hasGenerateErrorType {
                    generateErrorType = other.generateErrorType
                }
                if other.hasGenerateRealmObject {
                    generateRealmObject = other.generateRealmObject
                }
                if other.hasGenerateReact {
                    generateReact = other.generateReact
                }
                if other.hasAdditionalClassName {
                    additionalClassName = other.additionalClassName
                }
                if !other.linkedObjects.isEmpty  {
                     builderResult.linkedObjects += other.linkedObjects
                }
                try merge(unknownField: other.unknownFields)
                return self
            }
            @discardableResult
            override public func mergeFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.SwiftMessageOptions.Builder {
                return try mergeFrom(codedInputStream: codedInputStream, extensionRegistry:ExtensionRegistry())
            }
            @discardableResult
            override public func mergeFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.SwiftMessageOptions.Builder {
                let unknownFieldsBuilder:UnknownFieldSet.Builder = try UnknownFieldSet.builderWithUnknownFields(copyFrom:self.unknownFields)
                while (true) {
                    let protobufTag = try codedInputStream.readTag()
                    switch protobufTag {
                    case 0: 
                        self.unknownFields = try unknownFieldsBuilder.build()
                        return self

                    case 8:
                        generateErrorType = try codedInputStream.readBool()

                    case 16:
                        generateRealmObject = try codedInputStream.readBool()

                    case 24:
                        generateReact = try codedInputStream.readBool()

                    case 34:
                        additionalClassName = try codedInputStream.readString()

                    case 42:
                        let subBuilder = Google.Protobuf.LinkedObject.Builder()
                        try codedInputStream.readMessage(builder: subBuilder,extensionRegistry:extensionRegistry)
                        linkedObjects.append(subBuilder.buildPartial())

                    default:
                        if (!(try parse(codedInputStream:codedInputStream, unknownFields:unknownFieldsBuilder, extensionRegistry:extensionRegistry, tag:protobufTag))) {
                            unknownFields = try unknownFieldsBuilder.build()
                            return self
                        }
                    }
                }
            }
            class override public func decodeToBuilder(jsonMap:Dictionary<String,Any>) throws -> Google.Protobuf.SwiftMessageOptions.Builder {
                let resultDecodedBuilder = Google.Protobuf.SwiftMessageOptions.Builder()
                if let jsonValueGenerateErrorType = jsonMap["generateErrorType"] as? Bool {
                    resultDecodedBuilder.generateErrorType = jsonValueGenerateErrorType
                }
                if let jsonValueGenerateRealmObject = jsonMap["generateRealmObject"] as? Bool {
                    resultDecodedBuilder.generateRealmObject = jsonValueGenerateRealmObject
                }
                if let jsonValueGenerateReact = jsonMap["generateReact"] as? Bool {
                    resultDecodedBuilder.generateReact = jsonValueGenerateReact
                }
                if let jsonValueAdditionalClassName = jsonMap["additionalClassName"] as? String {
                    resultDecodedBuilder.additionalClassName = jsonValueAdditionalClassName
                }
                if let jsonValueLinkedObjects = jsonMap["linkedObjects"] as? Array<Dictionary<String,Any>> {
                    var jsonArrayLinkedObjects:Array<Google.Protobuf.LinkedObject> = []
                    for oneValueLinkedObjects in jsonValueLinkedObjects {
                        let messageFromStringLinkedObjects = try Google.Protobuf.LinkedObject.Builder.decodeToBuilder(jsonMap:oneValueLinkedObjects).build()

                        jsonArrayLinkedObjects.append(messageFromStringLinkedObjects)
                    }
                    resultDecodedBuilder.linkedObjects = jsonArrayLinkedObjects
                }
                return resultDecodedBuilder
            }
            override class public func fromJSONToBuilder(data:Data, options: JSONSerialization.ReadingOptions = []) throws -> Google.Protobuf.SwiftMessageOptions.Builder {
                let jsonData = try JSONSerialization.jsonObject(with:data, options: options)
                guard let jsDataCast = jsonData as? Dictionary<String,Any> else {
                  throw ProtocolBuffersError.invalidProtocolBuffer("Invalid JSON data")
                }
                return try Google.Protobuf.SwiftMessageOptions.Builder.decodeToBuilder(jsonMap:jsDataCast)
            }
        }

    }

    final public class SwiftFieldOptions : GeneratedMessage {
        public typealias BuilderType = Google.Protobuf.SwiftFieldOptions.Builder

        public static func == (lhs: Google.Protobuf.SwiftFieldOptions, rhs: Google.Protobuf.SwiftFieldOptions) -> Bool {
            if lhs === rhs {
                return true
            }
            var fieldCheck:Bool = (lhs.hashValue == rhs.hashValue)
            fieldCheck = fieldCheck && (lhs.hasRealmIndexedPropertie == rhs.hasRealmIndexedPropertie) && (!lhs.hasRealmIndexedPropertie || lhs.realmIndexedPropertie == rhs.realmIndexedPropertie)
            fieldCheck = fieldCheck && (lhs.hasRealmPrimaryKey == rhs.hasRealmPrimaryKey) && (!lhs.hasRealmPrimaryKey || lhs.realmPrimaryKey == rhs.realmPrimaryKey)
            fieldCheck = fieldCheck && (lhs.hasRealmOverridePropertie == rhs.hasRealmOverridePropertie) && (!lhs.hasRealmOverridePropertie || lhs.realmOverridePropertie == rhs.realmOverridePropertie)
            fieldCheck = (fieldCheck && (lhs.unknownFields == rhs.unknownFields))
            return fieldCheck
        }

        public fileprivate(set) var realmIndexedPropertie:Bool! = false
        public fileprivate(set) var hasRealmIndexedPropertie:Bool = false

        public fileprivate(set) var realmPrimaryKey:Bool! = false
        public fileprivate(set) var hasRealmPrimaryKey:Bool = false

        public fileprivate(set) var realmOverridePropertie:Google.Protobuf.RealmOverrideRepeated = Google.Protobuf.RealmOverrideRepeated.`override`
        public fileprivate(set) var hasRealmOverridePropertie:Bool = false
        required public init() {
            super.init()
        }
        override public func isInitialized() throws {
        }
        override public func writeTo(codedOutputStream: CodedOutputStream) throws {
            if hasRealmIndexedPropertie {
                try codedOutputStream.writeBool(fieldNumber: 1, value:realmIndexedPropertie)
            }
            if hasRealmPrimaryKey {
                try codedOutputStream.writeBool(fieldNumber: 2, value:realmPrimaryKey)
            }
            if hasRealmOverridePropertie {
                try codedOutputStream.writeEnum(fieldNumber: 3, value:realmOverridePropertie.rawValue)
            }
            try unknownFields.writeTo(codedOutputStream: codedOutputStream)
        }
        override public func serializedSize() -> Int32 {
            var serialize_size:Int32 = memoizedSerializedSize
            if serialize_size != -1 {
             return serialize_size
            }

            serialize_size = 0
            if hasRealmIndexedPropertie {
                serialize_size += realmIndexedPropertie.computeBoolSize(fieldNumber: 1)
            }
            if hasRealmPrimaryKey {
                serialize_size += realmPrimaryKey.computeBoolSize(fieldNumber: 2)
            }
            if (hasRealmOverridePropertie) {
                serialize_size += realmOverridePropertie.rawValue.computeEnumSize(fieldNumber: 3)
            }
            serialize_size += unknownFields.serializedSize()
            memoizedSerializedSize = serialize_size
            return serialize_size
        }
        public class func getBuilder() -> Google.Protobuf.SwiftFieldOptions.Builder {
            return Google.Protobuf.SwiftFieldOptions.classBuilder() as! Google.Protobuf.SwiftFieldOptions.Builder
        }
        public func getBuilder() -> Google.Protobuf.SwiftFieldOptions.Builder {
            return classBuilder() as! Google.Protobuf.SwiftFieldOptions.Builder
        }
        override public class func classBuilder() -> ProtocolBuffersMessageBuilder {
            return Google.Protobuf.SwiftFieldOptions.Builder()
        }
        override public func classBuilder() -> ProtocolBuffersMessageBuilder {
            return Google.Protobuf.SwiftFieldOptions.Builder()
        }
        public func toBuilder() throws -> Google.Protobuf.SwiftFieldOptions.Builder {
            return try Google.Protobuf.SwiftFieldOptions.builderWithPrototype(prototype:self)
        }
        public class func builderWithPrototype(prototype:Google.Protobuf.SwiftFieldOptions) throws -> Google.Protobuf.SwiftFieldOptions.Builder {
            return try Google.Protobuf.SwiftFieldOptions.Builder().mergeFrom(other:prototype)
        }
        override public func encode() throws -> Dictionary<String,Any> {
            try isInitialized()
            var jsonMap:Dictionary<String,Any> = Dictionary<String,Any>()
            if hasRealmIndexedPropertie {
                jsonMap["realmIndexedPropertie"] = realmIndexedPropertie
            }
            if hasRealmPrimaryKey {
                jsonMap["realmPrimaryKey"] = realmPrimaryKey
            }
            if hasRealmOverridePropertie {
                jsonMap["realmOverridePropertie"] = realmOverridePropertie.toString()
            }
            return jsonMap
        }
        override class public func decode(jsonMap:Dictionary<String,Any>) throws -> Google.Protobuf.SwiftFieldOptions {
            return try Google.Protobuf.SwiftFieldOptions.Builder.decodeToBuilder(jsonMap:jsonMap).build()
        }
        override class public func fromJSON(data:Data, options: JSONSerialization.ReadingOptions = []) throws -> Google.Protobuf.SwiftFieldOptions {
            return try Google.Protobuf.SwiftFieldOptions.Builder.fromJSONToBuilder(data:data, options:options).build()
        }
        override public func getDescription(indent:String) throws -> String {
            var output = ""
            if hasRealmIndexedPropertie {
                output += "\(indent) realmIndexedPropertie: \(String(describing: realmIndexedPropertie)) \n"
            }
            if hasRealmPrimaryKey {
                output += "\(indent) realmPrimaryKey: \(String(describing: realmPrimaryKey)) \n"
            }
            if (hasRealmOverridePropertie) {
                output += "\(indent) realmOverridePropertie: \(realmOverridePropertie.description)\n"
            }
            output += unknownFields.getDescription(indent: indent)
            return output
        }
        override public var hashValue:Int {
            get {
                var hashCode:Int = 7
                if hasRealmIndexedPropertie {
                    hashCode = (hashCode &* 31) &+ realmIndexedPropertie.hashValue
                }
                if hasRealmPrimaryKey {
                    hashCode = (hashCode &* 31) &+ realmPrimaryKey.hashValue
                }
                if hasRealmOverridePropertie {
                     hashCode = (hashCode &* 31) &+ realmOverridePropertie.hashValue
                }
                hashCode = (hashCode &* 31) &+  unknownFields.hashValue
                return hashCode
            }
        }


        //Meta information declaration start

        override public class func className() -> String {
            return "Google.Protobuf.SwiftFieldOptions"
        }
        override public func className() -> String {
            return "Google.Protobuf.SwiftFieldOptions"
        }
        //Meta information declaration end

        final public class Builder : GeneratedMessageBuilder {
            fileprivate var builderResult:Google.Protobuf.SwiftFieldOptions = Google.Protobuf.SwiftFieldOptions()
            public func getMessage() -> Google.Protobuf.SwiftFieldOptions {
                return builderResult
            }

            required override public init () {
                super.init()
            }
            public var realmIndexedPropertie:Bool {
                get {
                    return builderResult.realmIndexedPropertie
                }
                set (value) {
                    builderResult.hasRealmIndexedPropertie = true
                    builderResult.realmIndexedPropertie = value
                }
            }
            public var hasRealmIndexedPropertie:Bool {
                get {
                    return builderResult.hasRealmIndexedPropertie
                }
            }
            @discardableResult
            public func setRealmIndexedPropertie(_ value:Bool) -> Google.Protobuf.SwiftFieldOptions.Builder {
                self.realmIndexedPropertie = value
                return self
            }
            @discardableResult
            public func clearRealmIndexedPropertie() -> Google.Protobuf.SwiftFieldOptions.Builder{
                builderResult.hasRealmIndexedPropertie = false
                builderResult.realmIndexedPropertie = false
                return self
            }
            public var realmPrimaryKey:Bool {
                get {
                    return builderResult.realmPrimaryKey
                }
                set (value) {
                    builderResult.hasRealmPrimaryKey = true
                    builderResult.realmPrimaryKey = value
                }
            }
            public var hasRealmPrimaryKey:Bool {
                get {
                    return builderResult.hasRealmPrimaryKey
                }
            }
            @discardableResult
            public func setRealmPrimaryKey(_ value:Bool) -> Google.Protobuf.SwiftFieldOptions.Builder {
                self.realmPrimaryKey = value
                return self
            }
            @discardableResult
            public func clearRealmPrimaryKey() -> Google.Protobuf.SwiftFieldOptions.Builder{
                builderResult.hasRealmPrimaryKey = false
                builderResult.realmPrimaryKey = false
                return self
            }
                public var realmOverridePropertie:Google.Protobuf.RealmOverrideRepeated {
                    get {
                        return builderResult.realmOverridePropertie
                    }
                    set (value) {
                        builderResult.hasRealmOverridePropertie = true
                        builderResult.realmOverridePropertie = value
                    }
                }
                public var hasRealmOverridePropertie:Bool{
                    get {
                        return builderResult.hasRealmOverridePropertie
                    }
                }
            @discardableResult
                public func setRealmOverridePropertie(_ value:Google.Protobuf.RealmOverrideRepeated) -> Google.Protobuf.SwiftFieldOptions.Builder {
                  self.realmOverridePropertie = value
                  return self
                }
            @discardableResult
                public func clearRealmOverridePropertie() -> Google.Protobuf.SwiftFieldOptions.Builder {
                   builderResult.hasRealmOverridePropertie = false
                   builderResult.realmOverridePropertie = .`override`
                   return self
                }
            override public var internalGetResult:GeneratedMessage {
                get {
                    return builderResult
                }
            }
            @discardableResult
            override public func clear() -> Google.Protobuf.SwiftFieldOptions.Builder {
                builderResult = Google.Protobuf.SwiftFieldOptions()
                return self
            }
            override public func clone() throws -> Google.Protobuf.SwiftFieldOptions.Builder {
                return try Google.Protobuf.SwiftFieldOptions.builderWithPrototype(prototype:builderResult)
            }
            override public func build() throws -> Google.Protobuf.SwiftFieldOptions {
                try checkInitialized()
                return buildPartial()
            }
            public func buildPartial() -> Google.Protobuf.SwiftFieldOptions {
                let returnMe:Google.Protobuf.SwiftFieldOptions = builderResult
                return returnMe
            }
            @discardableResult
            public func mergeFrom(other:Google.Protobuf.SwiftFieldOptions) throws -> Google.Protobuf.SwiftFieldOptions.Builder {
                if other == Google.Protobuf.SwiftFieldOptions() {
                    return self
                }
                if other.hasRealmIndexedPropertie {
                    realmIndexedPropertie = other.realmIndexedPropertie
                }
                if other.hasRealmPrimaryKey {
                    realmPrimaryKey = other.realmPrimaryKey
                }
                if other.hasRealmOverridePropertie {
                    realmOverridePropertie = other.realmOverridePropertie
                }
                try merge(unknownField: other.unknownFields)
                return self
            }
            @discardableResult
            override public func mergeFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.SwiftFieldOptions.Builder {
                return try mergeFrom(codedInputStream: codedInputStream, extensionRegistry:ExtensionRegistry())
            }
            @discardableResult
            override public func mergeFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.SwiftFieldOptions.Builder {
                let unknownFieldsBuilder:UnknownFieldSet.Builder = try UnknownFieldSet.builderWithUnknownFields(copyFrom:self.unknownFields)
                while (true) {
                    let protobufTag = try codedInputStream.readTag()
                    switch protobufTag {
                    case 0: 
                        self.unknownFields = try unknownFieldsBuilder.build()
                        return self

                    case 8:
                        realmIndexedPropertie = try codedInputStream.readBool()

                    case 16:
                        realmPrimaryKey = try codedInputStream.readBool()

                    case 24:
                        let valueIntrealmOverridePropertie = try codedInputStream.readEnum()
                        if let enumsrealmOverridePropertie = Google.Protobuf.RealmOverrideRepeated(rawValue:valueIntrealmOverridePropertie){
                            realmOverridePropertie = enumsrealmOverridePropertie
                        } else {
                            try unknownFieldsBuilder.mergeVarintField(fieldNumber: 3, value:Int64(valueIntrealmOverridePropertie))
                        }

                    default:
                        if (!(try parse(codedInputStream:codedInputStream, unknownFields:unknownFieldsBuilder, extensionRegistry:extensionRegistry, tag:protobufTag))) {
                            unknownFields = try unknownFieldsBuilder.build()
                            return self
                        }
                    }
                }
            }
            class override public func decodeToBuilder(jsonMap:Dictionary<String,Any>) throws -> Google.Protobuf.SwiftFieldOptions.Builder {
                let resultDecodedBuilder = Google.Protobuf.SwiftFieldOptions.Builder()
                if let jsonValueRealmIndexedPropertie = jsonMap["realmIndexedPropertie"] as? Bool {
                    resultDecodedBuilder.realmIndexedPropertie = jsonValueRealmIndexedPropertie
                }
                if let jsonValueRealmPrimaryKey = jsonMap["realmPrimaryKey"] as? Bool {
                    resultDecodedBuilder.realmPrimaryKey = jsonValueRealmPrimaryKey
                }
                if let jsonValueRealmOverridePropertie = jsonMap["realmOverridePropertie"] as? String {
                    resultDecodedBuilder.realmOverridePropertie = try Google.Protobuf.RealmOverrideRepeated.fromString(jsonValueRealmOverridePropertie)
                }
                return resultDecodedBuilder
            }
            override class public func fromJSONToBuilder(data:Data, options: JSONSerialization.ReadingOptions = []) throws -> Google.Protobuf.SwiftFieldOptions.Builder {
                let jsonData = try JSONSerialization.jsonObject(with:data, options: options)
                guard let jsDataCast = jsonData as? Dictionary<String,Any> else {
                  throw ProtocolBuffersError.invalidProtocolBuffer("Invalid JSON data")
                }
                return try Google.Protobuf.SwiftFieldOptions.Builder.decodeToBuilder(jsonMap:jsDataCast)
            }
        }

    }

    final public class SwiftEnumOptions : GeneratedMessage {
        public typealias BuilderType = Google.Protobuf.SwiftEnumOptions.Builder

        public static func == (lhs: Google.Protobuf.SwiftEnumOptions, rhs: Google.Protobuf.SwiftEnumOptions) -> Bool {
            if lhs === rhs {
                return true
            }
            var fieldCheck:Bool = (lhs.hashValue == rhs.hashValue)
            fieldCheck = fieldCheck && (lhs.hasGenerateErrorType == rhs.hasGenerateErrorType) && (!lhs.hasGenerateErrorType || lhs.generateErrorType == rhs.generateErrorType)
            fieldCheck = fieldCheck && (lhs.hasGenerateReact == rhs.hasGenerateReact) && (!lhs.hasGenerateReact || lhs.generateReact == rhs.generateReact)
            fieldCheck = fieldCheck && (lhs.hasGenerateRealmObject == rhs.hasGenerateRealmObject) && (!lhs.hasGenerateRealmObject || lhs.generateRealmObject == rhs.generateRealmObject)
            fieldCheck = (fieldCheck && (lhs.unknownFields == rhs.unknownFields))
            return fieldCheck
        }

        public fileprivate(set) var generateErrorType:Bool! = false
        public fileprivate(set) var hasGenerateErrorType:Bool = false

        public fileprivate(set) var generateReact:Bool! = false
        public fileprivate(set) var hasGenerateReact:Bool = false

        public fileprivate(set) var generateRealmObject:Bool! = false
        public fileprivate(set) var hasGenerateRealmObject:Bool = false

        required public init() {
            super.init()
        }
        override public func isInitialized() throws {
        }
        override public func writeTo(codedOutputStream: CodedOutputStream) throws {
            if hasGenerateErrorType {
                try codedOutputStream.writeBool(fieldNumber: 1, value:generateErrorType)
            }
            if hasGenerateReact {
                try codedOutputStream.writeBool(fieldNumber: 2, value:generateReact)
            }
            if hasGenerateRealmObject {
                try codedOutputStream.writeBool(fieldNumber: 3, value:generateRealmObject)
            }
            try unknownFields.writeTo(codedOutputStream: codedOutputStream)
        }
        override public func serializedSize() -> Int32 {
            var serialize_size:Int32 = memoizedSerializedSize
            if serialize_size != -1 {
             return serialize_size
            }

            serialize_size = 0
            if hasGenerateErrorType {
                serialize_size += generateErrorType.computeBoolSize(fieldNumber: 1)
            }
            if hasGenerateReact {
                serialize_size += generateReact.computeBoolSize(fieldNumber: 2)
            }
            if hasGenerateRealmObject {
                serialize_size += generateRealmObject.computeBoolSize(fieldNumber: 3)
            }
            serialize_size += unknownFields.serializedSize()
            memoizedSerializedSize = serialize_size
            return serialize_size
        }
        public class func getBuilder() -> Google.Protobuf.SwiftEnumOptions.Builder {
            return Google.Protobuf.SwiftEnumOptions.classBuilder() as! Google.Protobuf.SwiftEnumOptions.Builder
        }
        public func getBuilder() -> Google.Protobuf.SwiftEnumOptions.Builder {
            return classBuilder() as! Google.Protobuf.SwiftEnumOptions.Builder
        }
        override public class func classBuilder() -> ProtocolBuffersMessageBuilder {
            return Google.Protobuf.SwiftEnumOptions.Builder()
        }
        override public func classBuilder() -> ProtocolBuffersMessageBuilder {
            return Google.Protobuf.SwiftEnumOptions.Builder()
        }
        public func toBuilder() throws -> Google.Protobuf.SwiftEnumOptions.Builder {
            return try Google.Protobuf.SwiftEnumOptions.builderWithPrototype(prototype:self)
        }
        public class func builderWithPrototype(prototype:Google.Protobuf.SwiftEnumOptions) throws -> Google.Protobuf.SwiftEnumOptions.Builder {
            return try Google.Protobuf.SwiftEnumOptions.Builder().mergeFrom(other:prototype)
        }
        override public func encode() throws -> Dictionary<String,Any> {
            try isInitialized()
            var jsonMap:Dictionary<String,Any> = Dictionary<String,Any>()
            if hasGenerateErrorType {
                jsonMap["generateErrorType"] = generateErrorType
            }
            if hasGenerateReact {
                jsonMap["generateReact"] = generateReact
            }
            if hasGenerateRealmObject {
                jsonMap["generateRealmObject"] = generateRealmObject
            }
            return jsonMap
        }
        override class public func decode(jsonMap:Dictionary<String,Any>) throws -> Google.Protobuf.SwiftEnumOptions {
            return try Google.Protobuf.SwiftEnumOptions.Builder.decodeToBuilder(jsonMap:jsonMap).build()
        }
        override class public func fromJSON(data:Data, options: JSONSerialization.ReadingOptions = []) throws -> Google.Protobuf.SwiftEnumOptions {
            return try Google.Protobuf.SwiftEnumOptions.Builder.fromJSONToBuilder(data:data, options:options).build()
        }
        override public func getDescription(indent:String) throws -> String {
            var output = ""
            if hasGenerateErrorType {
                output += "\(indent) generateErrorType: \(String(describing: generateErrorType)) \n"
            }
            if hasGenerateReact {
                output += "\(indent) generateReact: \(String(describing: generateReact)) \n"
            }
            if hasGenerateRealmObject {
                output += "\(indent) generateRealmObject: \(String(describing: generateRealmObject)) \n"
            }
            output += unknownFields.getDescription(indent: indent)
            return output
        }
        override public var hashValue:Int {
            get {
                var hashCode:Int = 7
                if hasGenerateErrorType {
                    hashCode = (hashCode &* 31) &+ generateErrorType.hashValue
                }
                if hasGenerateReact {
                    hashCode = (hashCode &* 31) &+ generateReact.hashValue
                }
                if hasGenerateRealmObject {
                    hashCode = (hashCode &* 31) &+ generateRealmObject.hashValue
                }
                hashCode = (hashCode &* 31) &+  unknownFields.hashValue
                return hashCode
            }
        }


        //Meta information declaration start

        override public class func className() -> String {
            return "Google.Protobuf.SwiftEnumOptions"
        }
        override public func className() -> String {
            return "Google.Protobuf.SwiftEnumOptions"
        }
        //Meta information declaration end

        final public class Builder : GeneratedMessageBuilder {
            fileprivate var builderResult:Google.Protobuf.SwiftEnumOptions = Google.Protobuf.SwiftEnumOptions()
            public func getMessage() -> Google.Protobuf.SwiftEnumOptions {
                return builderResult
            }

            required override public init () {
                super.init()
            }
            public var generateErrorType:Bool {
                get {
                    return builderResult.generateErrorType
                }
                set (value) {
                    builderResult.hasGenerateErrorType = true
                    builderResult.generateErrorType = value
                }
            }
            public var hasGenerateErrorType:Bool {
                get {
                    return builderResult.hasGenerateErrorType
                }
            }
            @discardableResult
            public func setGenerateErrorType(_ value:Bool) -> Google.Protobuf.SwiftEnumOptions.Builder {
                self.generateErrorType = value
                return self
            }
            @discardableResult
            public func clearGenerateErrorType() -> Google.Protobuf.SwiftEnumOptions.Builder{
                builderResult.hasGenerateErrorType = false
                builderResult.generateErrorType = false
                return self
            }
            public var generateReact:Bool {
                get {
                    return builderResult.generateReact
                }
                set (value) {
                    builderResult.hasGenerateReact = true
                    builderResult.generateReact = value
                }
            }
            public var hasGenerateReact:Bool {
                get {
                    return builderResult.hasGenerateReact
                }
            }
            @discardableResult
            public func setGenerateReact(_ value:Bool) -> Google.Protobuf.SwiftEnumOptions.Builder {
                self.generateReact = value
                return self
            }
            @discardableResult
            public func clearGenerateReact() -> Google.Protobuf.SwiftEnumOptions.Builder{
                builderResult.hasGenerateReact = false
                builderResult.generateReact = false
                return self
            }
            public var generateRealmObject:Bool {
                get {
                    return builderResult.generateRealmObject
                }
                set (value) {
                    builderResult.hasGenerateRealmObject = true
                    builderResult.generateRealmObject = value
                }
            }
            public var hasGenerateRealmObject:Bool {
                get {
                    return builderResult.hasGenerateRealmObject
                }
            }
            @discardableResult
            public func setGenerateRealmObject(_ value:Bool) -> Google.Protobuf.SwiftEnumOptions.Builder {
                self.generateRealmObject = value
                return self
            }
            @discardableResult
            public func clearGenerateRealmObject() -> Google.Protobuf.SwiftEnumOptions.Builder{
                builderResult.hasGenerateRealmObject = false
                builderResult.generateRealmObject = false
                return self
            }
            override public var internalGetResult:GeneratedMessage {
                get {
                    return builderResult
                }
            }
            @discardableResult
            override public func clear() -> Google.Protobuf.SwiftEnumOptions.Builder {
                builderResult = Google.Protobuf.SwiftEnumOptions()
                return self
            }
            override public func clone() throws -> Google.Protobuf.SwiftEnumOptions.Builder {
                return try Google.Protobuf.SwiftEnumOptions.builderWithPrototype(prototype:builderResult)
            }
            override public func build() throws -> Google.Protobuf.SwiftEnumOptions {
                try checkInitialized()
                return buildPartial()
            }
            public func buildPartial() -> Google.Protobuf.SwiftEnumOptions {
                let returnMe:Google.Protobuf.SwiftEnumOptions = builderResult
                return returnMe
            }
            @discardableResult
            public func mergeFrom(other:Google.Protobuf.SwiftEnumOptions) throws -> Google.Protobuf.SwiftEnumOptions.Builder {
                if other == Google.Protobuf.SwiftEnumOptions() {
                    return self
                }
                if other.hasGenerateErrorType {
                    generateErrorType = other.generateErrorType
                }
                if other.hasGenerateReact {
                    generateReact = other.generateReact
                }
                if other.hasGenerateRealmObject {
                    generateRealmObject = other.generateRealmObject
                }
                try merge(unknownField: other.unknownFields)
                return self
            }
            @discardableResult
            override public func mergeFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.SwiftEnumOptions.Builder {
                return try mergeFrom(codedInputStream: codedInputStream, extensionRegistry:ExtensionRegistry())
            }
            @discardableResult
            override public func mergeFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.SwiftEnumOptions.Builder {
                let unknownFieldsBuilder:UnknownFieldSet.Builder = try UnknownFieldSet.builderWithUnknownFields(copyFrom:self.unknownFields)
                while (true) {
                    let protobufTag = try codedInputStream.readTag()
                    switch protobufTag {
                    case 0: 
                        self.unknownFields = try unknownFieldsBuilder.build()
                        return self

                    case 8:
                        generateErrorType = try codedInputStream.readBool()

                    case 16:
                        generateReact = try codedInputStream.readBool()

                    case 24:
                        generateRealmObject = try codedInputStream.readBool()

                    default:
                        if (!(try parse(codedInputStream:codedInputStream, unknownFields:unknownFieldsBuilder, extensionRegistry:extensionRegistry, tag:protobufTag))) {
                            unknownFields = try unknownFieldsBuilder.build()
                            return self
                        }
                    }
                }
            }
            class override public func decodeToBuilder(jsonMap:Dictionary<String,Any>) throws -> Google.Protobuf.SwiftEnumOptions.Builder {
                let resultDecodedBuilder = Google.Protobuf.SwiftEnumOptions.Builder()
                if let jsonValueGenerateErrorType = jsonMap["generateErrorType"] as? Bool {
                    resultDecodedBuilder.generateErrorType = jsonValueGenerateErrorType
                }
                if let jsonValueGenerateReact = jsonMap["generateReact"] as? Bool {
                    resultDecodedBuilder.generateReact = jsonValueGenerateReact
                }
                if let jsonValueGenerateRealmObject = jsonMap["generateRealmObject"] as? Bool {
                    resultDecodedBuilder.generateRealmObject = jsonValueGenerateRealmObject
                }
                return resultDecodedBuilder
            }
            override class public func fromJSONToBuilder(data:Data, options: JSONSerialization.ReadingOptions = []) throws -> Google.Protobuf.SwiftEnumOptions.Builder {
                let jsonData = try JSONSerialization.jsonObject(with:data, options: options)
                guard let jsDataCast = jsonData as? Dictionary<String,Any> else {
                  throw ProtocolBuffersError.invalidProtocolBuffer("Invalid JSON data")
                }
                return try Google.Protobuf.SwiftEnumOptions.Builder.decodeToBuilder(jsonMap:jsDataCast)
            }
        }

    }

}
extension Google.Protobuf.LinkedObject: GeneratedMessageProtocol {
    public class func parseArrayDelimitedFrom(inputStream: InputStream) throws -> Array<Google.Protobuf.LinkedObject> {
        var mergedArray = Array<Google.Protobuf.LinkedObject>()
        while let value = try parseDelimitedFrom(inputStream: inputStream) {
          mergedArray.append(value)
        }
        return mergedArray
    }
    public class func parseDelimitedFrom(inputStream: InputStream) throws -> Google.Protobuf.LinkedObject? {
        return try Google.Protobuf.LinkedObject.Builder().mergeDelimitedFrom(inputStream: inputStream)?.build()
    }
    public class func parseFrom(data: Data) throws -> Google.Protobuf.LinkedObject {
        return try Google.Protobuf.LinkedObject.Builder().mergeFrom(data: data, extensionRegistry:Google.Protobuf.SwiftDescriptorRoot.default.extensionRegistry).build()
    }
    public class func parseFrom(data: Data, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.LinkedObject {
        return try Google.Protobuf.LinkedObject.Builder().mergeFrom(data: data, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(inputStream: InputStream) throws -> Google.Protobuf.LinkedObject {
        return try Google.Protobuf.LinkedObject.Builder().mergeFrom(inputStream: inputStream).build()
    }
    public class func parseFrom(inputStream: InputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.LinkedObject {
        return try Google.Protobuf.LinkedObject.Builder().mergeFrom(inputStream: inputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.LinkedObject {
        return try Google.Protobuf.LinkedObject.Builder().mergeFrom(codedInputStream: codedInputStream).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.LinkedObject {
        return try Google.Protobuf.LinkedObject.Builder().mergeFrom(codedInputStream: codedInputStream, extensionRegistry:extensionRegistry).build()
    }
    public subscript(key: String) -> Any? {
        switch key {
        case "fieldName": return self.fieldName
        case "fromType": return self.fromType
        case "propertyName": return self.propertyName
        default: return nil
        }
    }
}
extension Google.Protobuf.LinkedObject.Builder: GeneratedMessageBuilderProtocol {
    public typealias GeneratedMessageType = Google.Protobuf.LinkedObject
    public subscript(key: String) -> Any? {
        get { 
            switch key {
            case "fieldName": return self.fieldName
            case "fromType": return self.fromType
            case "propertyName": return self.propertyName
            default: return nil
            }
        }
        set (newSubscriptValue) { 
            switch key {
            case "fieldName":
                guard let newSubscriptValue = newSubscriptValue as? String else {
                    return
                }
                self.fieldName = newSubscriptValue
            case "fromType":
                guard let newSubscriptValue = newSubscriptValue as? String else {
                    return
                }
                self.fromType = newSubscriptValue
            case "propertyName":
                guard let newSubscriptValue = newSubscriptValue as? String else {
                    return
                }
                self.propertyName = newSubscriptValue
            default: return
            }
        }
    }
}
extension Google.Protobuf.SwiftFileOptions: GeneratedMessageProtocol {
    public class func parseArrayDelimitedFrom(inputStream: InputStream) throws -> Array<Google.Protobuf.SwiftFileOptions> {
        var mergedArray = Array<Google.Protobuf.SwiftFileOptions>()
        while let value = try parseDelimitedFrom(inputStream: inputStream) {
          mergedArray.append(value)
        }
        return mergedArray
    }
    public class func parseDelimitedFrom(inputStream: InputStream) throws -> Google.Protobuf.SwiftFileOptions? {
        return try Google.Protobuf.SwiftFileOptions.Builder().mergeDelimitedFrom(inputStream: inputStream)?.build()
    }
    public class func parseFrom(data: Data) throws -> Google.Protobuf.SwiftFileOptions {
        return try Google.Protobuf.SwiftFileOptions.Builder().mergeFrom(data: data, extensionRegistry:Google.Protobuf.SwiftDescriptorRoot.default.extensionRegistry).build()
    }
    public class func parseFrom(data: Data, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.SwiftFileOptions {
        return try Google.Protobuf.SwiftFileOptions.Builder().mergeFrom(data: data, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(inputStream: InputStream) throws -> Google.Protobuf.SwiftFileOptions {
        return try Google.Protobuf.SwiftFileOptions.Builder().mergeFrom(inputStream: inputStream).build()
    }
    public class func parseFrom(inputStream: InputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.SwiftFileOptions {
        return try Google.Protobuf.SwiftFileOptions.Builder().mergeFrom(inputStream: inputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.SwiftFileOptions {
        return try Google.Protobuf.SwiftFileOptions.Builder().mergeFrom(codedInputStream: codedInputStream).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.SwiftFileOptions {
        return try Google.Protobuf.SwiftFileOptions.Builder().mergeFrom(codedInputStream: codedInputStream, extensionRegistry:extensionRegistry).build()
    }
    public subscript(key: String) -> Any? {
        switch key {
        case "classPrefix": return self.classPrefix
        case "entitiesAccessControl": return self.entitiesAccessControl
        case "compileForFramework": return self.compileForFramework
        case "generateStruct": return self.generateStruct
        case "generateRealmObjects": return self.generateRealmObjects
        case "generateReact": return self.generateReact
        default: return nil
        }
    }
}
extension Google.Protobuf.SwiftFileOptions.Builder: GeneratedMessageBuilderProtocol {
    public typealias GeneratedMessageType = Google.Protobuf.SwiftFileOptions
    public subscript(key: String) -> Any? {
        get { 
            switch key {
            case "classPrefix": return self.classPrefix
            case "entitiesAccessControl": return self.entitiesAccessControl
            case "compileForFramework": return self.compileForFramework
            case "generateStruct": return self.generateStruct
            case "generateRealmObjects": return self.generateRealmObjects
            case "generateReact": return self.generateReact
            default: return nil
            }
        }
        set (newSubscriptValue) { 
            switch key {
            case "classPrefix":
                guard let newSubscriptValue = newSubscriptValue as? String else {
                    return
                }
                self.classPrefix = newSubscriptValue
            case "entitiesAccessControl":
                guard let newSubscriptValue = newSubscriptValue as? Google.Protobuf.AccessControl else {
                    return
                }
                self.entitiesAccessControl = newSubscriptValue
            case "compileForFramework":
                guard let newSubscriptValue = newSubscriptValue as? Bool else {
                    return
                }
                self.compileForFramework = newSubscriptValue
            case "generateStruct":
                guard let newSubscriptValue = newSubscriptValue as? Bool else {
                    return
                }
                self.generateStruct = newSubscriptValue
            case "generateRealmObjects":
                guard let newSubscriptValue = newSubscriptValue as? Bool else {
                    return
                }
                self.generateRealmObjects = newSubscriptValue
            case "generateReact":
                guard let newSubscriptValue = newSubscriptValue as? Bool else {
                    return
                }
                self.generateReact = newSubscriptValue
            default: return
            }
        }
    }
}
extension Google.Protobuf.SwiftMessageOptions: GeneratedMessageProtocol {
    public class func parseArrayDelimitedFrom(inputStream: InputStream) throws -> Array<Google.Protobuf.SwiftMessageOptions> {
        var mergedArray = Array<Google.Protobuf.SwiftMessageOptions>()
        while let value = try parseDelimitedFrom(inputStream: inputStream) {
          mergedArray.append(value)
        }
        return mergedArray
    }
    public class func parseDelimitedFrom(inputStream: InputStream) throws -> Google.Protobuf.SwiftMessageOptions? {
        return try Google.Protobuf.SwiftMessageOptions.Builder().mergeDelimitedFrom(inputStream: inputStream)?.build()
    }
    public class func parseFrom(data: Data) throws -> Google.Protobuf.SwiftMessageOptions {
        return try Google.Protobuf.SwiftMessageOptions.Builder().mergeFrom(data: data, extensionRegistry:Google.Protobuf.SwiftDescriptorRoot.default.extensionRegistry).build()
    }
    public class func parseFrom(data: Data, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.SwiftMessageOptions {
        return try Google.Protobuf.SwiftMessageOptions.Builder().mergeFrom(data: data, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(inputStream: InputStream) throws -> Google.Protobuf.SwiftMessageOptions {
        return try Google.Protobuf.SwiftMessageOptions.Builder().mergeFrom(inputStream: inputStream).build()
    }
    public class func parseFrom(inputStream: InputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.SwiftMessageOptions {
        return try Google.Protobuf.SwiftMessageOptions.Builder().mergeFrom(inputStream: inputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.SwiftMessageOptions {
        return try Google.Protobuf.SwiftMessageOptions.Builder().mergeFrom(codedInputStream: codedInputStream).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.SwiftMessageOptions {
        return try Google.Protobuf.SwiftMessageOptions.Builder().mergeFrom(codedInputStream: codedInputStream, extensionRegistry:extensionRegistry).build()
    }
    public subscript(key: String) -> Any? {
        switch key {
        case "generateErrorType": return self.generateErrorType
        case "generateRealmObject": return self.generateRealmObject
        case "generateReact": return self.generateReact
        case "additionalClassName": return self.additionalClassName
        case "linkedObjects": return self.linkedObjects
        default: return nil
        }
    }
}
extension Google.Protobuf.SwiftMessageOptions.Builder: GeneratedMessageBuilderProtocol {
    public typealias GeneratedMessageType = Google.Protobuf.SwiftMessageOptions
    public subscript(key: String) -> Any? {
        get { 
            switch key {
            case "generateErrorType": return self.generateErrorType
            case "generateRealmObject": return self.generateRealmObject
            case "generateReact": return self.generateReact
            case "additionalClassName": return self.additionalClassName
            case "linkedObjects": return self.linkedObjects
            default: return nil
            }
        }
        set (newSubscriptValue) { 
            switch key {
            case "generateErrorType":
                guard let newSubscriptValue = newSubscriptValue as? Bool else {
                    return
                }
                self.generateErrorType = newSubscriptValue
            case "generateRealmObject":
                guard let newSubscriptValue = newSubscriptValue as? Bool else {
                    return
                }
                self.generateRealmObject = newSubscriptValue
            case "generateReact":
                guard let newSubscriptValue = newSubscriptValue as? Bool else {
                    return
                }
                self.generateReact = newSubscriptValue
            case "additionalClassName":
                guard let newSubscriptValue = newSubscriptValue as? String else {
                    return
                }
                self.additionalClassName = newSubscriptValue
            case "linkedObjects":
                guard let newSubscriptValue = newSubscriptValue as? Array<Google.Protobuf.LinkedObject> else {
                    return
                }
                self.linkedObjects = newSubscriptValue
            default: return
            }
        }
    }
}
extension Google.Protobuf.SwiftFieldOptions: GeneratedMessageProtocol {
    public class func parseArrayDelimitedFrom(inputStream: InputStream) throws -> Array<Google.Protobuf.SwiftFieldOptions> {
        var mergedArray = Array<Google.Protobuf.SwiftFieldOptions>()
        while let value = try parseDelimitedFrom(inputStream: inputStream) {
          mergedArray.append(value)
        }
        return mergedArray
    }
    public class func parseDelimitedFrom(inputStream: InputStream) throws -> Google.Protobuf.SwiftFieldOptions? {
        return try Google.Protobuf.SwiftFieldOptions.Builder().mergeDelimitedFrom(inputStream: inputStream)?.build()
    }
    public class func parseFrom(data: Data) throws -> Google.Protobuf.SwiftFieldOptions {
        return try Google.Protobuf.SwiftFieldOptions.Builder().mergeFrom(data: data, extensionRegistry:Google.Protobuf.SwiftDescriptorRoot.default.extensionRegistry).build()
    }
    public class func parseFrom(data: Data, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.SwiftFieldOptions {
        return try Google.Protobuf.SwiftFieldOptions.Builder().mergeFrom(data: data, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(inputStream: InputStream) throws -> Google.Protobuf.SwiftFieldOptions {
        return try Google.Protobuf.SwiftFieldOptions.Builder().mergeFrom(inputStream: inputStream).build()
    }
    public class func parseFrom(inputStream: InputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.SwiftFieldOptions {
        return try Google.Protobuf.SwiftFieldOptions.Builder().mergeFrom(inputStream: inputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.SwiftFieldOptions {
        return try Google.Protobuf.SwiftFieldOptions.Builder().mergeFrom(codedInputStream: codedInputStream).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.SwiftFieldOptions {
        return try Google.Protobuf.SwiftFieldOptions.Builder().mergeFrom(codedInputStream: codedInputStream, extensionRegistry:extensionRegistry).build()
    }
    public subscript(key: String) -> Any? {
        switch key {
        case "realmIndexedPropertie": return self.realmIndexedPropertie
        case "realmPrimaryKey": return self.realmPrimaryKey
        case "realmOverridePropertie": return self.realmOverridePropertie
        default: return nil
        }
    }
}
extension Google.Protobuf.SwiftFieldOptions.Builder: GeneratedMessageBuilderProtocol {
    public typealias GeneratedMessageType = Google.Protobuf.SwiftFieldOptions
    public subscript(key: String) -> Any? {
        get { 
            switch key {
            case "realmIndexedPropertie": return self.realmIndexedPropertie
            case "realmPrimaryKey": return self.realmPrimaryKey
            case "realmOverridePropertie": return self.realmOverridePropertie
            default: return nil
            }
        }
        set (newSubscriptValue) { 
            switch key {
            case "realmIndexedPropertie":
                guard let newSubscriptValue = newSubscriptValue as? Bool else {
                    return
                }
                self.realmIndexedPropertie = newSubscriptValue
            case "realmPrimaryKey":
                guard let newSubscriptValue = newSubscriptValue as? Bool else {
                    return
                }
                self.realmPrimaryKey = newSubscriptValue
            case "realmOverridePropertie":
                guard let newSubscriptValue = newSubscriptValue as? Google.Protobuf.RealmOverrideRepeated else {
                    return
                }
                self.realmOverridePropertie = newSubscriptValue
            default: return
            }
        }
    }
}
extension Google.Protobuf.SwiftEnumOptions: GeneratedMessageProtocol {
    public class func parseArrayDelimitedFrom(inputStream: InputStream) throws -> Array<Google.Protobuf.SwiftEnumOptions> {
        var mergedArray = Array<Google.Protobuf.SwiftEnumOptions>()
        while let value = try parseDelimitedFrom(inputStream: inputStream) {
          mergedArray.append(value)
        }
        return mergedArray
    }
    public class func parseDelimitedFrom(inputStream: InputStream) throws -> Google.Protobuf.SwiftEnumOptions? {
        return try Google.Protobuf.SwiftEnumOptions.Builder().mergeDelimitedFrom(inputStream: inputStream)?.build()
    }
    public class func parseFrom(data: Data) throws -> Google.Protobuf.SwiftEnumOptions {
        return try Google.Protobuf.SwiftEnumOptions.Builder().mergeFrom(data: data, extensionRegistry:Google.Protobuf.SwiftDescriptorRoot.default.extensionRegistry).build()
    }
    public class func parseFrom(data: Data, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.SwiftEnumOptions {
        return try Google.Protobuf.SwiftEnumOptions.Builder().mergeFrom(data: data, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(inputStream: InputStream) throws -> Google.Protobuf.SwiftEnumOptions {
        return try Google.Protobuf.SwiftEnumOptions.Builder().mergeFrom(inputStream: inputStream).build()
    }
    public class func parseFrom(inputStream: InputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.SwiftEnumOptions {
        return try Google.Protobuf.SwiftEnumOptions.Builder().mergeFrom(inputStream: inputStream, extensionRegistry:extensionRegistry).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream) throws -> Google.Protobuf.SwiftEnumOptions {
        return try Google.Protobuf.SwiftEnumOptions.Builder().mergeFrom(codedInputStream: codedInputStream).build()
    }
    public class func parseFrom(codedInputStream: CodedInputStream, extensionRegistry:ExtensionRegistry) throws -> Google.Protobuf.SwiftEnumOptions {
        return try Google.Protobuf.SwiftEnumOptions.Builder().mergeFrom(codedInputStream: codedInputStream, extensionRegistry:extensionRegistry).build()
    }
    public subscript(key: String) -> Any? {
        switch key {
        case "generateErrorType": return self.generateErrorType
        case "generateReact": return self.generateReact
        case "generateRealmObject": return self.generateRealmObject
        default: return nil
        }
    }
}
extension Google.Protobuf.SwiftEnumOptions.Builder: GeneratedMessageBuilderProtocol {
    public typealias GeneratedMessageType = Google.Protobuf.SwiftEnumOptions
    public subscript(key: String) -> Any? {
        get { 
            switch key {
            case "generateErrorType": return self.generateErrorType
            case "generateReact": return self.generateReact
            case "generateRealmObject": return self.generateRealmObject
            default: return nil
            }
        }
        set (newSubscriptValue) { 
            switch key {
            case "generateErrorType":
                guard let newSubscriptValue = newSubscriptValue as? Bool else {
                    return
                }
                self.generateErrorType = newSubscriptValue
            case "generateReact":
                guard let newSubscriptValue = newSubscriptValue as? Bool else {
                    return
                }
                self.generateReact = newSubscriptValue
            case "generateRealmObject":
                guard let newSubscriptValue = newSubscriptValue as? Bool else {
                    return
                }
                self.generateRealmObject = newSubscriptValue
            default: return
            }
        }
    }
}

// @@protoc_insertion_point(global_scope)
