/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: local_storage.proto

package com.alipay.sofa.jraft.entity;

public final class LocalStorageOutter {
    private LocalStorageOutter() {
    }

    public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {
    }

    public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) {
        registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry);
    }

    public interface ConfigurationPBMetaOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.ConfigurationPBMeta)
                                                 com.google.protobuf.MessageOrBuilder {

        /**
         * <code>repeated string peers = 1;</code>
         */
        java.util.List<java.lang.String> getPeersList();

        /**
         * <code>repeated string peers = 1;</code>
         */
        int getPeersCount();

        /**
         * <code>repeated string peers = 1;</code>
         */
        java.lang.String getPeers(int index);

        /**
         * <code>repeated string peers = 1;</code>
         */
        com.google.protobuf.ByteString getPeersBytes(int index);

        /**
         * <code>repeated string old_peers = 2;</code>
         */
        java.util.List<java.lang.String> getOldPeersList();

        /**
         * <code>repeated string old_peers = 2;</code>
         */
        int getOldPeersCount();

        /**
         * <code>repeated string old_peers = 2;</code>
         */
        java.lang.String getOldPeers(int index);

        /**
         * <code>repeated string old_peers = 2;</code>
         */
        com.google.protobuf.ByteString getOldPeersBytes(int index);
    }

    /**
     * Protobuf type {@code jraft.ConfigurationPBMeta}
     */
    public static final class ConfigurationPBMeta extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.ConfigurationPBMeta)
                                                                                                ConfigurationPBMetaOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use ConfigurationPBMeta.newBuilder() to construct.
        private ConfigurationPBMeta(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
            super(builder);
        }

        private ConfigurationPBMeta() {
            peers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
            oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        }

        @java.lang.Override
        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private ConfigurationPBMeta(com.google.protobuf.CodedInputStream input,
                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                        case 10: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                                peers_ = new com.google.protobuf.LazyStringArrayList();
                                mutable_bitField0_ |= 0x00000001;
                            }
                            peers_.add(bs);
                            break;
                        }
                        case 18: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                                oldPeers_ = new com.google.protobuf.LazyStringArrayList();
                                mutable_bitField0_ |= 0x00000002;
                            }
                            oldPeers_.add(bs);
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                    peers_ = peers_.getUnmodifiableView();
                }
                if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                    oldPeers_ = oldPeers_.getUnmodifiableView();
                }
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_ConfigurationPBMeta_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_ConfigurationPBMeta_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta.class,
                    com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta.Builder.class);
        }

        public static final int                    PEERS_FIELD_NUMBER = 1;
        private com.google.protobuf.LazyStringList peers_;

        /**
         * <code>repeated string peers = 1;</code>
         */
        public com.google.protobuf.ProtocolStringList getPeersList() {
            return peers_;
        }

        /**
         * <code>repeated string peers = 1;</code>
         */
        public int getPeersCount() {
            return peers_.size();
        }

        /**
         * <code>repeated string peers = 1;</code>
         */
        public java.lang.String getPeers(int index) {
            return peers_.get(index);
        }

        /**
         * <code>repeated string peers = 1;</code>
         */
        public com.google.protobuf.ByteString getPeersBytes(int index) {
            return peers_.getByteString(index);
        }

        public static final int                    OLD_PEERS_FIELD_NUMBER = 2;
        private com.google.protobuf.LazyStringList oldPeers_;

        /**
         * <code>repeated string old_peers = 2;</code>
         */
        public com.google.protobuf.ProtocolStringList getOldPeersList() {
            return oldPeers_;
        }

        /**
         * <code>repeated string old_peers = 2;</code>
         */
        public int getOldPeersCount() {
            return oldPeers_.size();
        }

        /**
         * <code>repeated string old_peers = 2;</code>
         */
        public java.lang.String getOldPeers(int index) {
            return oldPeers_.get(index);
        }

        /**
         * <code>repeated string old_peers = 2;</code>
         */
        public com.google.protobuf.ByteString getOldPeersBytes(int index) {
            return oldPeers_.getByteString(index);
        }

        private byte memoizedIsInitialized = -1;

        public final boolean isInitialized() {
            byte isInitialized = memoizedIsInitialized;
            if (isInitialized == 1)
                return true;
            if (isInitialized == 0)
                return false;

            memoizedIsInitialized = 1;
            return true;
        }

        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            for (int i = 0; i < peers_.size(); i++) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 1, peers_.getRaw(i));
            }
            for (int i = 0; i < oldPeers_.size(); i++) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, oldPeers_.getRaw(i));
            }
            unknownFields.writeTo(output);
        }

        public int getSerializedSize() {
            int size = memoizedSize;
            if (size != -1)
                return size;

            size = 0;
            {
                int dataSize = 0;
                for (int i = 0; i < peers_.size(); i++) {
                    dataSize += computeStringSizeNoTag(peers_.getRaw(i));
                }
                size += dataSize;
                size += 1 * getPeersList().size();
            }
            {
                int dataSize = 0;
                for (int i = 0; i < oldPeers_.size(); i++) {
                    dataSize += computeStringSizeNoTag(oldPeers_.getRaw(i));
                }
                size += dataSize;
                size += 1 * getOldPeersList().size();
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta other = (com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta) obj;

            boolean result = true;
            result = result && getPeersList().equals(other.getPeersList());
            result = result && getOldPeersList().equals(other.getOldPeersList());
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (getPeersCount() > 0) {
                hash = (37 * hash) + PEERS_FIELD_NUMBER;
                hash = (53 * hash) + getPeersList().hashCode();
            }
            if (getOldPeersCount() > 0) {
                hash = (37 * hash) + OLD_PEERS_FIELD_NUMBER;
                hash = (53 * hash) + getOldPeersList().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta parseFrom(java.nio.ByteBuffer data)
                                                                                                                             throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta parseFrom(java.nio.ByteBuffer data,
                                                                                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta parseFrom(com.google.protobuf.ByteString data)
                                                                                                                                        throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta parseFrom(com.google.protobuf.ByteString data,
                                                                                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta parseFrom(byte[] data)
                                                                                                                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta parseFrom(byte[] data,
                                                                                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta parseFrom(java.io.InputStream input)
                                                                                                                              throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta parseFrom(java.io.InputStream input,
                                                                                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta parseDelimitedFrom(java.io.InputStream input)
                                                                                                                                       throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta parseDelimitedFrom(java.io.InputStream input,
                                                                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                         throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input,
                extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                               throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta parseFrom(com.google.protobuf.CodedInputStream input,
                                                                                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry);
        }

        public Builder newBuilderForType() {
            return newBuilder();
        }

        public static Builder newBuilder() {
            return DEFAULT_INSTANCE.toBuilder();
        }

        public static Builder newBuilder(com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta prototype) {
            return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
        }

        public Builder toBuilder() {
            return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
        }

        @java.lang.Override
        protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
        }

        /**
         * Protobuf type {@code jraft.ConfigurationPBMeta}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.ConfigurationPBMeta)
                                                                                                         com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMetaOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_ConfigurationPBMeta_descriptor;
            }

            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_ConfigurationPBMeta_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(
                        com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta.class,
                        com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

            private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                super(parent);
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            public Builder clear() {
                super.clear();
                peers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000001);
                oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000002);
                return this;
            }

            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_ConfigurationPBMeta_descriptor;
            }

            public com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta.getDefaultInstance();
            }

            public com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta build() {
                com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            public com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta buildPartial() {
                com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta result = new com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta(
                    this);
                int from_bitField0_ = bitField0_;
                if (((bitField0_ & 0x00000001) == 0x00000001)) {
                    peers_ = peers_.getUnmodifiableView();
                    bitField0_ = (bitField0_ & ~0x00000001);
                }
                result.peers_ = peers_;
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                    oldPeers_ = oldPeers_.getUnmodifiableView();
                    bitField0_ = (bitField0_ & ~0x00000002);
                }
                result.oldPeers_ = oldPeers_;
                onBuilt();
                return result;
            }

            public Builder clone() {
                return (Builder) super.clone();
            }

            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
                return (Builder) super.setField(field, value);
            }

            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
                return (Builder) super.clearField(field);
            }

            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
                return (Builder) super.clearOneof(oneof);
            }

            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index,
                                            java.lang.Object value) {
                return (Builder) super.setRepeatedField(field, index, value);
            }

            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
                                            java.lang.Object value) {
                return (Builder) super.addRepeatedField(field, value);
            }

            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta) {
                    return mergeFrom((com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta other) {
                if (other == com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta.getDefaultInstance())
                    return this;
                if (!other.peers_.isEmpty()) {
                    if (peers_.isEmpty()) {
                        peers_ = other.peers_;
                        bitField0_ = (bitField0_ & ~0x00000001);
                    } else {
                        ensurePeersIsMutable();
                        peers_.addAll(other.peers_);
                    }
                    onChanged();
                }
                if (!other.oldPeers_.isEmpty()) {
                    if (oldPeers_.isEmpty()) {
                        oldPeers_ = other.oldPeers_;
                        bitField0_ = (bitField0_ & ~0x00000002);
                    } else {
                        ensureOldPeersIsMutable();
                        oldPeers_.addAll(other.oldPeers_);
                    }
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            public final boolean isInitialized() {
                return true;
            }

            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta) e
                        .getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int                                bitField0_;

            private com.google.protobuf.LazyStringList peers_ = com.google.protobuf.LazyStringArrayList.EMPTY;

            private void ensurePeersIsMutable() {
                if (!((bitField0_ & 0x00000001) == 0x00000001)) {
                    peers_ = new com.google.protobuf.LazyStringArrayList(peers_);
                    bitField0_ |= 0x00000001;
                }
            }

            /**
             * <code>repeated string peers = 1;</code>
             */
            public com.google.protobuf.ProtocolStringList getPeersList() {
                return peers_.getUnmodifiableView();
            }

            /**
             * <code>repeated string peers = 1;</code>
             */
            public int getPeersCount() {
                return peers_.size();
            }

            /**
             * <code>repeated string peers = 1;</code>
             */
            public java.lang.String getPeers(int index) {
                return peers_.get(index);
            }

            /**
             * <code>repeated string peers = 1;</code>
             */
            public com.google.protobuf.ByteString getPeersBytes(int index) {
                return peers_.getByteString(index);
            }

            /**
             * <code>repeated string peers = 1;</code>
             */
            public Builder setPeers(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensurePeersIsMutable();
                peers_.set(index, value);
                onChanged();
                return this;
            }

            /**
             * <code>repeated string peers = 1;</code>
             */
            public Builder addPeers(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensurePeersIsMutable();
                peers_.add(value);
                onChanged();
                return this;
            }

            /**
             * <code>repeated string peers = 1;</code>
             */
            public Builder addAllPeers(java.lang.Iterable<java.lang.String> values) {
                ensurePeersIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, peers_);
                onChanged();
                return this;
            }

            /**
             * <code>repeated string peers = 1;</code>
             */
            public Builder clearPeers() {
                peers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000001);
                onChanged();
                return this;
            }

            /**
             * <code>repeated string peers = 1;</code>
             */
            public Builder addPeersBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensurePeersIsMutable();
                peers_.add(value);
                onChanged();
                return this;
            }

            private com.google.protobuf.LazyStringList oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;

            private void ensureOldPeersIsMutable() {
                if (!((bitField0_ & 0x00000002) == 0x00000002)) {
                    oldPeers_ = new com.google.protobuf.LazyStringArrayList(oldPeers_);
                    bitField0_ |= 0x00000002;
                }
            }

            /**
             * <code>repeated string old_peers = 2;</code>
             */
            public com.google.protobuf.ProtocolStringList getOldPeersList() {
                return oldPeers_.getUnmodifiableView();
            }

            /**
             * <code>repeated string old_peers = 2;</code>
             */
            public int getOldPeersCount() {
                return oldPeers_.size();
            }

            /**
             * <code>repeated string old_peers = 2;</code>
             */
            public java.lang.String getOldPeers(int index) {
                return oldPeers_.get(index);
            }

            /**
             * <code>repeated string old_peers = 2;</code>
             */
            public com.google.protobuf.ByteString getOldPeersBytes(int index) {
                return oldPeers_.getByteString(index);
            }

            /**
             * <code>repeated string old_peers = 2;</code>
             */
            public Builder setOldPeers(int index, java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOldPeersIsMutable();
                oldPeers_.set(index, value);
                onChanged();
                return this;
            }

            /**
             * <code>repeated string old_peers = 2;</code>
             */
            public Builder addOldPeers(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOldPeersIsMutable();
                oldPeers_.add(value);
                onChanged();
                return this;
            }

            /**
             * <code>repeated string old_peers = 2;</code>
             */
            public Builder addAllOldPeers(java.lang.Iterable<java.lang.String> values) {
                ensureOldPeersIsMutable();
                com.google.protobuf.AbstractMessageLite.Builder.addAll(values, oldPeers_);
                onChanged();
                return this;
            }

            /**
             * <code>repeated string old_peers = 2;</code>
             */
            public Builder clearOldPeers() {
                oldPeers_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                bitField0_ = (bitField0_ & ~0x00000002);
                onChanged();
                return this;
            }

            /**
             * <code>repeated string old_peers = 2;</code>
             */
            public Builder addOldPeersBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                ensureOldPeersIsMutable();
                oldPeers_.add(value);
                onChanged();
                return this;
            }

            public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
                return super.setUnknownFields(unknownFields);
            }

            public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
                return super.mergeUnknownFields(unknownFields);
            }

            // @@protoc_insertion_point(builder_scope:jraft.ConfigurationPBMeta)
        }

        // @@protoc_insertion_point(class_scope:jraft.ConfigurationPBMeta)
        private static final com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta();
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

        @java.lang.Deprecated
        public static final com.google.protobuf.Parser<ConfigurationPBMeta> PARSER = new com.google.protobuf.AbstractParser<ConfigurationPBMeta>() {
                                                                                       public ConfigurationPBMeta parsePartialFrom(com.google.protobuf.CodedInputStream input,
                                                                                                                                   com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                                               throws com.google.protobuf.InvalidProtocolBufferException {
                                                                                           return new ConfigurationPBMeta(
                                                                                               input, extensionRegistry);
                                                                                       }
                                                                                   };

        public static com.google.protobuf.Parser<ConfigurationPBMeta> parser() {
            return PARSER;
        }

        @java.lang.Override
        public com.google.protobuf.Parser<ConfigurationPBMeta> getParserForType() {
            return PARSER;
        }

        public com.alipay.sofa.jraft.entity.LocalStorageOutter.ConfigurationPBMeta getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    public interface LogPBMetaOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.LogPBMeta)
                                       com.google.protobuf.MessageOrBuilder {

        /**
         * <code>required int64 first_log_index = 1;</code>
         */
        boolean hasFirstLogIndex();

        /**
         * <code>required int64 first_log_index = 1;</code>
         */
        long getFirstLogIndex();
    }

    /**
     * Protobuf type {@code jraft.LogPBMeta}
     */
    public static final class LogPBMeta extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.LogPBMeta)
                                                                                      LogPBMetaOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use LogPBMeta.newBuilder() to construct.
        private LogPBMeta(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
            super(builder);
        }

        private LogPBMeta() {
            firstLogIndex_ = 0L;
        }

        @java.lang.Override
        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private LogPBMeta(com.google.protobuf.CodedInputStream input,
                          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                      throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                        case 8: {
                            bitField0_ |= 0x00000001;
                            firstLogIndex_ = input.readInt64();
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_LogPBMeta_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_LogPBMeta_fieldAccessorTable
                .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta.class,
                    com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta.Builder.class);
        }

        private int             bitField0_;
        public static final int FIRST_LOG_INDEX_FIELD_NUMBER = 1;
        private long            firstLogIndex_;

        /**
         * <code>required int64 first_log_index = 1;</code>
         */
        public boolean hasFirstLogIndex() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
        }

        /**
         * <code>required int64 first_log_index = 1;</code>
         */
        public long getFirstLogIndex() {
            return firstLogIndex_;
        }

        private byte memoizedIsInitialized = -1;

        public final boolean isInitialized() {
            byte isInitialized = memoizedIsInitialized;
            if (isInitialized == 1)
                return true;
            if (isInitialized == 0)
                return false;

            if (!hasFirstLogIndex()) {
                memoizedIsInitialized = 0;
                return false;
            }
            memoizedIsInitialized = 1;
            return true;
        }

        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                output.writeInt64(1, firstLogIndex_);
            }
            unknownFields.writeTo(output);
        }

        public int getSerializedSize() {
            int size = memoizedSize;
            if (size != -1)
                return size;

            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                size += com.google.protobuf.CodedOutputStream.computeInt64Size(1, firstLogIndex_);
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta other = (com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta) obj;

            boolean result = true;
            result = result && (hasFirstLogIndex() == other.hasFirstLogIndex());
            if (hasFirstLogIndex()) {
                result = result && (getFirstLogIndex() == other.getFirstLogIndex());
            }
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (hasFirstLogIndex()) {
                hash = (37 * hash) + FIRST_LOG_INDEX_FIELD_NUMBER;
                hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getFirstLogIndex());
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta parseFrom(java.nio.ByteBuffer data)
                                                                                                                   throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta parseFrom(java.nio.ByteBuffer data,
                                                                                          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                      throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta parseFrom(com.google.protobuf.ByteString data)
                                                                                                                              throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta parseFrom(com.google.protobuf.ByteString data,
                                                                                          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                      throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta parseFrom(byte[] data)
                                                                                                      throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta parseFrom(byte[] data,
                                                                                          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                      throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta parseFrom(java.io.InputStream input)
                                                                                                                    throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta parseFrom(java.io.InputStream input,
                                                                                          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                      throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta parseDelimitedFrom(java.io.InputStream input)
                                                                                                                             throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta parseDelimitedFrom(java.io.InputStream input,
                                                                                                   com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                               throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input,
                extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                     throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta parseFrom(com.google.protobuf.CodedInputStream input,
                                                                                          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                      throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry);
        }

        public Builder newBuilderForType() {
            return newBuilder();
        }

        public static Builder newBuilder() {
            return DEFAULT_INSTANCE.toBuilder();
        }

        public static Builder newBuilder(com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta prototype) {
            return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
        }

        public Builder toBuilder() {
            return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
        }

        @java.lang.Override
        protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
        }

        /**
         * Protobuf type {@code jraft.LogPBMeta}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.LogPBMeta)
                                                                                                         com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMetaOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_LogPBMeta_descriptor;
            }

            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_LogPBMeta_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta.class,
                        com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

            private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                super(parent);
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            public Builder clear() {
                super.clear();
                firstLogIndex_ = 0L;
                bitField0_ = (bitField0_ & ~0x00000001);
                return this;
            }

            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_LogPBMeta_descriptor;
            }

            public com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta.getDefaultInstance();
            }

            public com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta build() {
                com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            public com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta buildPartial() {
                com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta result = new com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta(
                    this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                    to_bitField0_ |= 0x00000001;
                }
                result.firstLogIndex_ = firstLogIndex_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
            }

            public Builder clone() {
                return (Builder) super.clone();
            }

            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
                return (Builder) super.setField(field, value);
            }

            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
                return (Builder) super.clearField(field);
            }

            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
                return (Builder) super.clearOneof(oneof);
            }

            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index,
                                            java.lang.Object value) {
                return (Builder) super.setRepeatedField(field, index, value);
            }

            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
                                            java.lang.Object value) {
                return (Builder) super.addRepeatedField(field, value);
            }

            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta) {
                    return mergeFrom((com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta other) {
                if (other == com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta.getDefaultInstance())
                    return this;
                if (other.hasFirstLogIndex()) {
                    setFirstLogIndex(other.getFirstLogIndex());
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            public final boolean isInitialized() {
                if (!hasFirstLogIndex()) {
                    return false;
                }
                return true;
            }

            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta) e
                        .getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int  bitField0_;

            private long firstLogIndex_;

            /**
             * <code>required int64 first_log_index = 1;</code>
             */
            public boolean hasFirstLogIndex() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
            }

            /**
             * <code>required int64 first_log_index = 1;</code>
             */
            public long getFirstLogIndex() {
                return firstLogIndex_;
            }

            /**
             * <code>required int64 first_log_index = 1;</code>
             */
            public Builder setFirstLogIndex(long value) {
                bitField0_ |= 0x00000001;
                firstLogIndex_ = value;
                onChanged();
                return this;
            }

            /**
             * <code>required int64 first_log_index = 1;</code>
             */
            public Builder clearFirstLogIndex() {
                bitField0_ = (bitField0_ & ~0x00000001);
                firstLogIndex_ = 0L;
                onChanged();
                return this;
            }

            public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
                return super.setUnknownFields(unknownFields);
            }

            public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
                return super.mergeUnknownFields(unknownFields);
            }

            // @@protoc_insertion_point(builder_scope:jraft.LogPBMeta)
        }

        // @@protoc_insertion_point(class_scope:jraft.LogPBMeta)
        private static final com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta();
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

        @java.lang.Deprecated
        public static final com.google.protobuf.Parser<LogPBMeta> PARSER = new com.google.protobuf.AbstractParser<LogPBMeta>() {
                                                                             public LogPBMeta parsePartialFrom(com.google.protobuf.CodedInputStream input,
                                                                                                               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                           throws com.google.protobuf.InvalidProtocolBufferException {
                                                                                 return new LogPBMeta(input,
                                                                                     extensionRegistry);
                                                                             }
                                                                         };

        public static com.google.protobuf.Parser<LogPBMeta> parser() {
            return PARSER;
        }

        @java.lang.Override
        public com.google.protobuf.Parser<LogPBMeta> getParserForType() {
            return PARSER;
        }

        public com.alipay.sofa.jraft.entity.LocalStorageOutter.LogPBMeta getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    public interface StablePBMetaOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.StablePBMeta)
                                          com.google.protobuf.MessageOrBuilder {

        /**
         * <code>required int64 term = 1;</code>
         */
        boolean hasTerm();

        /**
         * <code>required int64 term = 1;</code>
         */
        long getTerm();

        /**
         * <code>required string votedfor = 2;</code>
         */
        boolean hasVotedfor();

        /**
         * <code>required string votedfor = 2;</code>
         */
        java.lang.String getVotedfor();

        /**
         * <code>required string votedfor = 2;</code>
         */
        com.google.protobuf.ByteString getVotedforBytes();
    }

    /**
     * Protobuf type {@code jraft.StablePBMeta}
     */
    public static final class StablePBMeta extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.StablePBMeta)
                                                                                         StablePBMetaOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use StablePBMeta.newBuilder() to construct.
        private StablePBMeta(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
            super(builder);
        }

        private StablePBMeta() {
            term_ = 0L;
            votedfor_ = "";
        }

        @java.lang.Override
        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private StablePBMeta(com.google.protobuf.CodedInputStream input,
                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                         throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                        case 8: {
                            bitField0_ |= 0x00000001;
                            term_ = input.readInt64();
                            break;
                        }
                        case 18: {
                            com.google.protobuf.ByteString bs = input.readBytes();
                            bitField0_ |= 0x00000002;
                            votedfor_ = bs;
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_StablePBMeta_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_StablePBMeta_fieldAccessorTable
                .ensureFieldAccessorsInitialized(com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta.class,
                    com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta.Builder.class);
        }

        private int             bitField0_;
        public static final int TERM_FIELD_NUMBER = 1;
        private long            term_;

        /**
         * <code>required int64 term = 1;</code>
         */
        public boolean hasTerm() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
        }

        /**
         * <code>required int64 term = 1;</code>
         */
        public long getTerm() {
            return term_;
        }

        public static final int           VOTEDFOR_FIELD_NUMBER = 2;
        private volatile java.lang.Object votedfor_;

        /**
         * <code>required string votedfor = 2;</code>
         */
        public boolean hasVotedfor() {
            return ((bitField0_ & 0x00000002) == 0x00000002);
        }

        /**
         * <code>required string votedfor = 2;</code>
         */
        public java.lang.String getVotedfor() {
            java.lang.Object ref = votedfor_;
            if (ref instanceof java.lang.String) {
                return (java.lang.String) ref;
            } else {
                com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                java.lang.String s = bs.toStringUtf8();
                if (bs.isValidUtf8()) {
                    votedfor_ = s;
                }
                return s;
            }
        }

        /**
         * <code>required string votedfor = 2;</code>
         */
        public com.google.protobuf.ByteString getVotedforBytes() {
            java.lang.Object ref = votedfor_;
            if (ref instanceof java.lang.String) {
                com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
                votedfor_ = b;
                return b;
            } else {
                return (com.google.protobuf.ByteString) ref;
            }
        }

        private byte memoizedIsInitialized = -1;

        public final boolean isInitialized() {
            byte isInitialized = memoizedIsInitialized;
            if (isInitialized == 1)
                return true;
            if (isInitialized == 0)
                return false;

            if (!hasTerm()) {
                memoizedIsInitialized = 0;
                return false;
            }
            if (!hasVotedfor()) {
                memoizedIsInitialized = 0;
                return false;
            }
            memoizedIsInitialized = 1;
            return true;
        }

        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                output.writeInt64(1, term_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                com.google.protobuf.GeneratedMessageV3.writeString(output, 2, votedfor_);
            }
            unknownFields.writeTo(output);
        }

        public int getSerializedSize() {
            int size = memoizedSize;
            if (size != -1)
                return size;

            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                size += com.google.protobuf.CodedOutputStream.computeInt64Size(1, term_);
            }
            if (((bitField0_ & 0x00000002) == 0x00000002)) {
                size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, votedfor_);
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta other = (com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta) obj;

            boolean result = true;
            result = result && (hasTerm() == other.hasTerm());
            if (hasTerm()) {
                result = result && (getTerm() == other.getTerm());
            }
            result = result && (hasVotedfor() == other.hasVotedfor());
            if (hasVotedfor()) {
                result = result && getVotedfor().equals(other.getVotedfor());
            }
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (hasTerm()) {
                hash = (37 * hash) + TERM_FIELD_NUMBER;
                hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getTerm());
            }
            if (hasVotedfor()) {
                hash = (37 * hash) + VOTEDFOR_FIELD_NUMBER;
                hash = (53 * hash) + getVotedfor().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta parseFrom(java.nio.ByteBuffer data)
                                                                                                                      throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta parseFrom(java.nio.ByteBuffer data,
                                                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                         throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta parseFrom(com.google.protobuf.ByteString data)
                                                                                                                                 throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta parseFrom(com.google.protobuf.ByteString data,
                                                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                         throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta parseFrom(byte[] data)
                                                                                                         throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta parseFrom(byte[] data,
                                                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                         throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta parseFrom(java.io.InputStream input)
                                                                                                                       throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta parseFrom(java.io.InputStream input,
                                                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                         throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta parseDelimitedFrom(java.io.InputStream input)
                                                                                                                                throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta parseDelimitedFrom(java.io.InputStream input,
                                                                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                  throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input,
                extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                        throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta parseFrom(com.google.protobuf.CodedInputStream input,
                                                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                         throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry);
        }

        public Builder newBuilderForType() {
            return newBuilder();
        }

        public static Builder newBuilder() {
            return DEFAULT_INSTANCE.toBuilder();
        }

        public static Builder newBuilder(com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta prototype) {
            return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
        }

        public Builder toBuilder() {
            return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
        }

        @java.lang.Override
        protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
        }

        /**
         * Protobuf type {@code jraft.StablePBMeta}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.StablePBMeta)
                                                                                                         com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMetaOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_StablePBMeta_descriptor;
            }

            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_StablePBMeta_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(
                        com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta.class,
                        com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

            private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                super(parent);
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                }
            }

            public Builder clear() {
                super.clear();
                term_ = 0L;
                bitField0_ = (bitField0_ & ~0x00000001);
                votedfor_ = "";
                bitField0_ = (bitField0_ & ~0x00000002);
                return this;
            }

            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_StablePBMeta_descriptor;
            }

            public com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta.getDefaultInstance();
            }

            public com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta build() {
                com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            public com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta buildPartial() {
                com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta result = new com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta(
                    this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                    to_bitField0_ |= 0x00000001;
                }
                result.term_ = term_;
                if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                    to_bitField0_ |= 0x00000002;
                }
                result.votedfor_ = votedfor_;
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
            }

            public Builder clone() {
                return (Builder) super.clone();
            }

            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
                return (Builder) super.setField(field, value);
            }

            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
                return (Builder) super.clearField(field);
            }

            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
                return (Builder) super.clearOneof(oneof);
            }

            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index,
                                            java.lang.Object value) {
                return (Builder) super.setRepeatedField(field, index, value);
            }

            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
                                            java.lang.Object value) {
                return (Builder) super.addRepeatedField(field, value);
            }

            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta) {
                    return mergeFrom((com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta other) {
                if (other == com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta.getDefaultInstance())
                    return this;
                if (other.hasTerm()) {
                    setTerm(other.getTerm());
                }
                if (other.hasVotedfor()) {
                    bitField0_ |= 0x00000002;
                    votedfor_ = other.votedfor_;
                    onChanged();
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            public final boolean isInitialized() {
                if (!hasTerm()) {
                    return false;
                }
                if (!hasVotedfor()) {
                    return false;
                }
                return true;
            }

            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta) e
                        .getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int  bitField0_;

            private long term_;

            /**
             * <code>required int64 term = 1;</code>
             */
            public boolean hasTerm() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
            }

            /**
             * <code>required int64 term = 1;</code>
             */
            public long getTerm() {
                return term_;
            }

            /**
             * <code>required int64 term = 1;</code>
             */
            public Builder setTerm(long value) {
                bitField0_ |= 0x00000001;
                term_ = value;
                onChanged();
                return this;
            }

            /**
             * <code>required int64 term = 1;</code>
             */
            public Builder clearTerm() {
                bitField0_ = (bitField0_ & ~0x00000001);
                term_ = 0L;
                onChanged();
                return this;
            }

            private java.lang.Object votedfor_ = "";

            /**
             * <code>required string votedfor = 2;</code>
             */
            public boolean hasVotedfor() {
                return ((bitField0_ & 0x00000002) == 0x00000002);
            }

            /**
             * <code>required string votedfor = 2;</code>
             */
            public java.lang.String getVotedfor() {
                java.lang.Object ref = votedfor_;
                if (!(ref instanceof java.lang.String)) {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        votedfor_ = s;
                    }
                    return s;
                } else {
                    return (java.lang.String) ref;
                }
            }

            /**
             * <code>required string votedfor = 2;</code>
             */
            public com.google.protobuf.ByteString getVotedforBytes() {
                java.lang.Object ref = votedfor_;
                if (ref instanceof String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    votedfor_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            /**
             * <code>required string votedfor = 2;</code>
             */
            public Builder setVotedfor(java.lang.String value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                votedfor_ = value;
                onChanged();
                return this;
            }

            /**
             * <code>required string votedfor = 2;</code>
             */
            public Builder clearVotedfor() {
                bitField0_ = (bitField0_ & ~0x00000002);
                votedfor_ = getDefaultInstance().getVotedfor();
                onChanged();
                return this;
            }

            /**
             * <code>required string votedfor = 2;</code>
             */
            public Builder setVotedforBytes(com.google.protobuf.ByteString value) {
                if (value == null) {
                    throw new NullPointerException();
                }
                bitField0_ |= 0x00000002;
                votedfor_ = value;
                onChanged();
                return this;
            }

            public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
                return super.setUnknownFields(unknownFields);
            }

            public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
                return super.mergeUnknownFields(unknownFields);
            }

            // @@protoc_insertion_point(builder_scope:jraft.StablePBMeta)
        }

        // @@protoc_insertion_point(class_scope:jraft.StablePBMeta)
        private static final com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta();
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

        @java.lang.Deprecated
        public static final com.google.protobuf.Parser<StablePBMeta> PARSER = new com.google.protobuf.AbstractParser<StablePBMeta>() {
                                                                                public StablePBMeta parsePartialFrom(com.google.protobuf.CodedInputStream input,
                                                                                                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                                 throws com.google.protobuf.InvalidProtocolBufferException {
                                                                                    return new StablePBMeta(input,
                                                                                        extensionRegistry);
                                                                                }
                                                                            };

        public static com.google.protobuf.Parser<StablePBMeta> parser() {
            return PARSER;
        }

        @java.lang.Override
        public com.google.protobuf.Parser<StablePBMeta> getParserForType() {
            return PARSER;
        }

        public com.alipay.sofa.jraft.entity.LocalStorageOutter.StablePBMeta getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    public interface LocalSnapshotPbMetaOrBuilder extends
    // @@protoc_insertion_point(interface_extends:jraft.LocalSnapshotPbMeta)
                                                 com.google.protobuf.MessageOrBuilder {

        /**
         * <code>optional .jraft.SnapshotMeta meta = 1;</code>
         */
        boolean hasMeta();

        /**
         * <code>optional .jraft.SnapshotMeta meta = 1;</code>
         */
        com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta getMeta();

        /**
         * <code>optional .jraft.SnapshotMeta meta = 1;</code>
         */
        com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMetaOrBuilder getMetaOrBuilder();

        /**
         * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
         */
        java.util.List<com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File> getFilesList();

        /**
         * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
         */
        com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File getFiles(int index);

        /**
         * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
         */
        int getFilesCount();

        /**
         * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
         */
        java.util.List<? extends com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.FileOrBuilder> getFilesOrBuilderList();

        /**
         * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
         */
        com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.FileOrBuilder getFilesOrBuilder(int index);
    }

    /**
     * Protobuf type {@code jraft.LocalSnapshotPbMeta}
     */
    public static final class LocalSnapshotPbMeta extends com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:jraft.LocalSnapshotPbMeta)
                                                                                                LocalSnapshotPbMetaOrBuilder {
        private static final long serialVersionUID = 0L;

        // Use LocalSnapshotPbMeta.newBuilder() to construct.
        private LocalSnapshotPbMeta(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
            super(builder);
        }

        private LocalSnapshotPbMeta() {
            files_ = java.util.Collections.emptyList();
        }

        @java.lang.Override
        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private LocalSnapshotPbMeta(com.google.protobuf.CodedInputStream input,
                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                throws com.google.protobuf.InvalidProtocolBufferException {
            this();
            if (extensionRegistry == null) {
                throw new java.lang.NullPointerException();
            }
            int mutable_bitField0_ = 0;
            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                .newBuilder();
            try {
                boolean done = false;
                while (!done) {
                    int tag = input.readTag();
                    switch (tag) {
                        case 0:
                            done = true;
                            break;
                        default: {
                            if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                done = true;
                            }
                            break;
                        }
                        case 10: {
                            com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta.Builder subBuilder = null;
                            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                                subBuilder = meta_.toBuilder();
                            }
                            meta_ = input.readMessage(com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta.PARSER,
                                extensionRegistry);
                            if (subBuilder != null) {
                                subBuilder.mergeFrom(meta_);
                                meta_ = subBuilder.buildPartial();
                            }
                            bitField0_ |= 0x00000001;
                            break;
                        }
                        case 18: {
                            if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                                files_ = new java.util.ArrayList<com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File>();
                                mutable_bitField0_ |= 0x00000002;
                            }
                            files_.add(input.readMessage(
                                com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File.PARSER,
                                extensionRegistry));
                            break;
                        }
                    }
                }
            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                throw e.setUnfinishedMessage(this);
            } catch (java.io.IOException e) {
                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
            } finally {
                if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                    files_ = java.util.Collections.unmodifiableList(files_);
                }
                this.unknownFields = unknownFields.build();
                makeExtensionsImmutable();
            }
        }

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
            return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_LocalSnapshotPbMeta_descriptor;
        }

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
            return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_LocalSnapshotPbMeta_fieldAccessorTable
                .ensureFieldAccessorsInitialized(
                    com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.class,
                    com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.Builder.class);
        }

        public interface FileOrBuilder extends
        // @@protoc_insertion_point(interface_extends:jraft.LocalSnapshotPbMeta.File)
                                      com.google.protobuf.MessageOrBuilder {

            /**
             * <code>required string name = 1;</code>
             */
            boolean hasName();

            /**
             * <code>required string name = 1;</code>
             */
            java.lang.String getName();

            /**
             * <code>required string name = 1;</code>
             */
            com.google.protobuf.ByteString getNameBytes();

            /**
             * <code>optional .jraft.LocalFileMeta meta = 2;</code>
             */
            boolean hasMeta();

            /**
             * <code>optional .jraft.LocalFileMeta meta = 2;</code>
             */
            com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta getMeta();

            /**
             * <code>optional .jraft.LocalFileMeta meta = 2;</code>
             */
            com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMetaOrBuilder getMetaOrBuilder();
        }

        /**
         * Protobuf type {@code jraft.LocalSnapshotPbMeta.File}
         */
        public static final class File extends com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:jraft.LocalSnapshotPbMeta.File)
                                                                                     FileOrBuilder {
            private static final long serialVersionUID = 0L;

            // Use File.newBuilder() to construct.
            private File(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
                super(builder);
            }

            private File() {
                name_ = "";
            }

            @java.lang.Override
            public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
                return this.unknownFields;
            }

            private File(com.google.protobuf.CodedInputStream input,
                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
                this();
                if (extensionRegistry == null) {
                    throw new java.lang.NullPointerException();
                }
                int mutable_bitField0_ = 0;
                com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet
                    .newBuilder();
                try {
                    boolean done = false;
                    while (!done) {
                        int tag = input.readTag();
                        switch (tag) {
                            case 0:
                                done = true;
                                break;
                            default: {
                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
                                    done = true;
                                }
                                break;
                            }
                            case 10: {
                                com.google.protobuf.ByteString bs = input.readBytes();
                                bitField0_ |= 0x00000001;
                                name_ = bs;
                                break;
                            }
                            case 18: {
                                com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta.Builder subBuilder = null;
                                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                                    subBuilder = meta_.toBuilder();
                                }
                                meta_ = input.readMessage(
                                    com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta.PARSER,
                                    extensionRegistry);
                                if (subBuilder != null) {
                                    subBuilder.mergeFrom(meta_);
                                    meta_ = subBuilder.buildPartial();
                                }
                                bitField0_ |= 0x00000002;
                                break;
                            }
                        }
                    }
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    throw e.setUnfinishedMessage(this);
                } catch (java.io.IOException e) {
                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
                } finally {
                    this.unknownFields = unknownFields.build();
                    makeExtensionsImmutable();
                }
            }

            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_LocalSnapshotPbMeta_File_descriptor;
            }

            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_LocalSnapshotPbMeta_File_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(
                        com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File.class,
                        com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File.Builder.class);
            }

            private int                       bitField0_;
            public static final int           NAME_FIELD_NUMBER = 1;
            private volatile java.lang.Object name_;

            /**
             * <code>required string name = 1;</code>
             */
            public boolean hasName() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
            }

            /**
             * <code>required string name = 1;</code>
             */
            public java.lang.String getName() {
                java.lang.Object ref = name_;
                if (ref instanceof java.lang.String) {
                    return (java.lang.String) ref;
                } else {
                    com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                    java.lang.String s = bs.toStringUtf8();
                    if (bs.isValidUtf8()) {
                        name_ = s;
                    }
                    return s;
                }
            }

            /**
             * <code>required string name = 1;</code>
             */
            public com.google.protobuf.ByteString getNameBytes() {
                java.lang.Object ref = name_;
                if (ref instanceof java.lang.String) {
                    com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                        .copyFromUtf8((java.lang.String) ref);
                    name_ = b;
                    return b;
                } else {
                    return (com.google.protobuf.ByteString) ref;
                }
            }

            public static final int                                                META_FIELD_NUMBER = 2;
            private com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta meta_;

            /**
             * <code>optional .jraft.LocalFileMeta meta = 2;</code>
             */
            public boolean hasMeta() {
                return ((bitField0_ & 0x00000002) == 0x00000002);
            }

            /**
             * <code>optional .jraft.LocalFileMeta meta = 2;</code>
             */
            public com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta getMeta() {
                return meta_ == null ? com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta
                    .getDefaultInstance() : meta_;
            }

            /**
             * <code>optional .jraft.LocalFileMeta meta = 2;</code>
             */
            public com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMetaOrBuilder getMetaOrBuilder() {
                return meta_ == null ? com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta
                    .getDefaultInstance() : meta_;
            }

            private byte memoizedIsInitialized = -1;

            public final boolean isInitialized() {
                byte isInitialized = memoizedIsInitialized;
                if (isInitialized == 1)
                    return true;
                if (isInitialized == 0)
                    return false;

                if (!hasName()) {
                    memoizedIsInitialized = 0;
                    return false;
                }
                memoizedIsInitialized = 1;
                return true;
            }

            public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
                if (((bitField0_ & 0x00000001) == 0x00000001)) {
                    com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
                }
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                    output.writeMessage(2, getMeta());
                }
                unknownFields.writeTo(output);
            }

            public int getSerializedSize() {
                int size = memoizedSize;
                if (size != -1)
                    return size;

                size = 0;
                if (((bitField0_ & 0x00000001) == 0x00000001)) {
                    size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
                }
                if (((bitField0_ & 0x00000002) == 0x00000002)) {
                    size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getMeta());
                }
                size += unknownFields.getSerializedSize();
                memoizedSize = size;
                return size;
            }

            @java.lang.Override
            public boolean equals(final java.lang.Object obj) {
                if (obj == this) {
                    return true;
                }
                if (!(obj instanceof com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File)) {
                    return super.equals(obj);
                }
                com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File other = (com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File) obj;

                boolean result = true;
                result = result && (hasName() == other.hasName());
                if (hasName()) {
                    result = result && getName().equals(other.getName());
                }
                result = result && (hasMeta() == other.hasMeta());
                if (hasMeta()) {
                    result = result && getMeta().equals(other.getMeta());
                }
                result = result && unknownFields.equals(other.unknownFields);
                return result;
            }

            @java.lang.Override
            public int hashCode() {
                if (memoizedHashCode != 0) {
                    return memoizedHashCode;
                }
                int hash = 41;
                hash = (19 * hash) + getDescriptor().hashCode();
                if (hasName()) {
                    hash = (37 * hash) + NAME_FIELD_NUMBER;
                    hash = (53 * hash) + getName().hashCode();
                }
                if (hasMeta()) {
                    hash = (37 * hash) + META_FIELD_NUMBER;
                    hash = (53 * hash) + getMeta().hashCode();
                }
                hash = (29 * hash) + unknownFields.hashCode();
                memoizedHashCode = hash;
                return hash;
            }

            public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File parseFrom(java.nio.ByteBuffer data)
                                                                                                                                      throws com.google.protobuf.InvalidProtocolBufferException {
                return PARSER.parseFrom(data);
            }

            public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File parseFrom(java.nio.ByteBuffer data,
                                                                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                         throws com.google.protobuf.InvalidProtocolBufferException {
                return PARSER.parseFrom(data, extensionRegistry);
            }

            public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File parseFrom(com.google.protobuf.ByteString data)
                                                                                                                                                 throws com.google.protobuf.InvalidProtocolBufferException {
                return PARSER.parseFrom(data);
            }

            public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File parseFrom(com.google.protobuf.ByteString data,
                                                                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                         throws com.google.protobuf.InvalidProtocolBufferException {
                return PARSER.parseFrom(data, extensionRegistry);
            }

            public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File parseFrom(byte[] data)
                                                                                                                         throws com.google.protobuf.InvalidProtocolBufferException {
                return PARSER.parseFrom(data);
            }

            public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File parseFrom(byte[] data,
                                                                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                         throws com.google.protobuf.InvalidProtocolBufferException {
                return PARSER.parseFrom(data, extensionRegistry);
            }

            public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File parseFrom(java.io.InputStream input)
                                                                                                                                       throws java.io.IOException {
                return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
            }

            public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File parseFrom(java.io.InputStream input,
                                                                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                         throws java.io.IOException {
                return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry);
            }

            public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File parseDelimitedFrom(java.io.InputStream input)
                                                                                                                                                throws java.io.IOException {
                return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
            }

            public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File parseDelimitedFrom(java.io.InputStream input,
                                                                                                                      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                                  throws java.io.IOException {
                return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input,
                    extensionRegistry);
            }

            public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                                        throws java.io.IOException {
                return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
            }

            public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File parseFrom(com.google.protobuf.CodedInputStream input,
                                                                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                         throws java.io.IOException {
                return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry);
            }

            public Builder newBuilderForType() {
                return newBuilder();
            }

            public static Builder newBuilder() {
                return DEFAULT_INSTANCE.toBuilder();
            }

            public static Builder newBuilder(com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File prototype) {
                return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
            }

            public Builder toBuilder() {
                return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
            }

            @java.lang.Override
            protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                Builder builder = new Builder(parent);
                return builder;
            }

            /**
             * Protobuf type {@code jraft.LocalSnapshotPbMeta.File}
             */
            public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
                                                                                                             implements
                                                                                                             // @@protoc_insertion_point(builder_implements:jraft.LocalSnapshotPbMeta.File)
                                                                                                             com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.FileOrBuilder {
                public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                    return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_LocalSnapshotPbMeta_File_descriptor;
                }

                protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                    return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_LocalSnapshotPbMeta_File_fieldAccessorTable
                        .ensureFieldAccessorsInitialized(
                            com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File.class,
                            com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File.Builder.class);
                }

                // Construct using com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File.newBuilder()
                private Builder() {
                    maybeForceBuilderInitialization();
                }

                private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                    super(parent);
                    maybeForceBuilderInitialization();
                }

                private void maybeForceBuilderInitialization() {
                    if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                        getMetaFieldBuilder();
                    }
                }

                public Builder clear() {
                    super.clear();
                    name_ = "";
                    bitField0_ = (bitField0_ & ~0x00000001);
                    if (metaBuilder_ == null) {
                        meta_ = null;
                    } else {
                        metaBuilder_.clear();
                    }
                    bitField0_ = (bitField0_ & ~0x00000002);
                    return this;
                }

                public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                    return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_LocalSnapshotPbMeta_File_descriptor;
                }

                public com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File getDefaultInstanceForType() {
                    return com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File
                        .getDefaultInstance();
                }

                public com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File build() {
                    com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File result = buildPartial();
                    if (!result.isInitialized()) {
                        throw newUninitializedMessageException(result);
                    }
                    return result;
                }

                public com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File buildPartial() {
                    com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File result = new com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File(
                        this);
                    int from_bitField0_ = bitField0_;
                    int to_bitField0_ = 0;
                    if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                        to_bitField0_ |= 0x00000001;
                    }
                    result.name_ = name_;
                    if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
                        to_bitField0_ |= 0x00000002;
                    }
                    if (metaBuilder_ == null) {
                        result.meta_ = meta_;
                    } else {
                        result.meta_ = metaBuilder_.build();
                    }
                    result.bitField0_ = to_bitField0_;
                    onBuilt();
                    return result;
                }

                public Builder clone() {
                    return (Builder) super.clone();
                }

                public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
                    return (Builder) super.setField(field, value);
                }

                public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
                    return (Builder) super.clearField(field);
                }

                public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
                    return (Builder) super.clearOneof(oneof);
                }

                public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index,
                                                java.lang.Object value) {
                    return (Builder) super.setRepeatedField(field, index, value);
                }

                public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                java.lang.Object value) {
                    return (Builder) super.addRepeatedField(field, value);
                }

                public Builder mergeFrom(com.google.protobuf.Message other) {
                    if (other instanceof com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File) {
                        return mergeFrom((com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File) other);
                    } else {
                        super.mergeFrom(other);
                        return this;
                    }
                }

                public Builder mergeFrom(com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File other) {
                    if (other == com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File
                        .getDefaultInstance())
                        return this;
                    if (other.hasName()) {
                        bitField0_ |= 0x00000001;
                        name_ = other.name_;
                        onChanged();
                    }
                    if (other.hasMeta()) {
                        mergeMeta(other.getMeta());
                    }
                    this.mergeUnknownFields(other.unknownFields);
                    onChanged();
                    return this;
                }

                public final boolean isInitialized() {
                    if (!hasName()) {
                        return false;
                    }
                    return true;
                }

                public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                     throws java.io.IOException {
                    com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File parsedMessage = null;
                    try {
                        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                        parsedMessage = (com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File) e
                            .getUnfinishedMessage();
                        throw e.unwrapIOException();
                    } finally {
                        if (parsedMessage != null) {
                            mergeFrom(parsedMessage);
                        }
                    }
                    return this;
                }

                private int              bitField0_;

                private java.lang.Object name_ = "";

                /**
                 * <code>required string name = 1;</code>
                 */
                public boolean hasName() {
                    return ((bitField0_ & 0x00000001) == 0x00000001);
                }

                /**
                 * <code>required string name = 1;</code>
                 */
                public java.lang.String getName() {
                    java.lang.Object ref = name_;
                    if (!(ref instanceof java.lang.String)) {
                        com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
                        java.lang.String s = bs.toStringUtf8();
                        if (bs.isValidUtf8()) {
                            name_ = s;
                        }
                        return s;
                    } else {
                        return (java.lang.String) ref;
                    }
                }

                /**
                 * <code>required string name = 1;</code>
                 */
                public com.google.protobuf.ByteString getNameBytes() {
                    java.lang.Object ref = name_;
                    if (ref instanceof String) {
                        com.google.protobuf.ByteString b = com.google.protobuf.ByteString
                            .copyFromUtf8((java.lang.String) ref);
                        name_ = b;
                        return b;
                    } else {
                        return (com.google.protobuf.ByteString) ref;
                    }
                }

                /**
                 * <code>required string name = 1;</code>
                 */
                public Builder setName(java.lang.String value) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    bitField0_ |= 0x00000001;
                    name_ = value;
                    onChanged();
                    return this;
                }

                /**
                 * <code>required string name = 1;</code>
                 */
                public Builder clearName() {
                    bitField0_ = (bitField0_ & ~0x00000001);
                    name_ = getDefaultInstance().getName();
                    onChanged();
                    return this;
                }

                /**
                 * <code>required string name = 1;</code>
                 */
                public Builder setNameBytes(com.google.protobuf.ByteString value) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    bitField0_ |= 0x00000001;
                    name_ = value;
                    onChanged();
                    return this;
                }

                private com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta                                                                                                                                                                                            meta_ = null;
                private com.google.protobuf.SingleFieldBuilderV3<com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta, com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta.Builder, com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMetaOrBuilder> metaBuilder_;

                /**
                 * <code>optional .jraft.LocalFileMeta meta = 2;</code>
                 */
                public boolean hasMeta() {
                    return ((bitField0_ & 0x00000002) == 0x00000002);
                }

                /**
                 * <code>optional .jraft.LocalFileMeta meta = 2;</code>
                 */
                public com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta getMeta() {
                    if (metaBuilder_ == null) {
                        return meta_ == null ? com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta
                            .getDefaultInstance() : meta_;
                    } else {
                        return metaBuilder_.getMessage();
                    }
                }

                /**
                 * <code>optional .jraft.LocalFileMeta meta = 2;</code>
                 */
                public Builder setMeta(com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta value) {
                    if (metaBuilder_ == null) {
                        if (value == null) {
                            throw new NullPointerException();
                        }
                        meta_ = value;
                        onChanged();
                    } else {
                        metaBuilder_.setMessage(value);
                    }
                    bitField0_ |= 0x00000002;
                    return this;
                }

                /**
                 * <code>optional .jraft.LocalFileMeta meta = 2;</code>
                 */
                public Builder setMeta(com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta.Builder builderForValue) {
                    if (metaBuilder_ == null) {
                        meta_ = builderForValue.build();
                        onChanged();
                    } else {
                        metaBuilder_.setMessage(builderForValue.build());
                    }
                    bitField0_ |= 0x00000002;
                    return this;
                }

                /**
                 * <code>optional .jraft.LocalFileMeta meta = 2;</code>
                 */
                public Builder mergeMeta(com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta value) {
                    if (metaBuilder_ == null) {
                        if (((bitField0_ & 0x00000002) == 0x00000002)
                            && meta_ != null
                            && meta_ != com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta
                                .getDefaultInstance()) {
                            meta_ = com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta.newBuilder(meta_)
                                .mergeFrom(value).buildPartial();
                        } else {
                            meta_ = value;
                        }
                        onChanged();
                    } else {
                        metaBuilder_.mergeFrom(value);
                    }
                    bitField0_ |= 0x00000002;
                    return this;
                }

                /**
                 * <code>optional .jraft.LocalFileMeta meta = 2;</code>
                 */
                public Builder clearMeta() {
                    if (metaBuilder_ == null) {
                        meta_ = null;
                        onChanged();
                    } else {
                        metaBuilder_.clear();
                    }
                    bitField0_ = (bitField0_ & ~0x00000002);
                    return this;
                }

                /**
                 * <code>optional .jraft.LocalFileMeta meta = 2;</code>
                 */
                public com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta.Builder getMetaBuilder() {
                    bitField0_ |= 0x00000002;
                    onChanged();
                    return getMetaFieldBuilder().getBuilder();
                }

                /**
                 * <code>optional .jraft.LocalFileMeta meta = 2;</code>
                 */
                public com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMetaOrBuilder getMetaOrBuilder() {
                    if (metaBuilder_ != null) {
                        return metaBuilder_.getMessageOrBuilder();
                    } else {
                        return meta_ == null ? com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta
                            .getDefaultInstance() : meta_;
                    }
                }

                /**
                 * <code>optional .jraft.LocalFileMeta meta = 2;</code>
                 */
                private com.google.protobuf.SingleFieldBuilderV3<com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta, com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta.Builder, com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMetaOrBuilder> getMetaFieldBuilder() {
                    if (metaBuilder_ == null) {
                        metaBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta, com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMeta.Builder, com.alipay.sofa.jraft.entity.LocalFileMetaOutter.LocalFileMetaOrBuilder>(
                            getMeta(), getParentForChildren(), isClean());
                        meta_ = null;
                    }
                    return metaBuilder_;
                }

                public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
                    return super.setUnknownFields(unknownFields);
                }

                public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
                    return super.mergeUnknownFields(unknownFields);
                }

                // @@protoc_insertion_point(builder_scope:jraft.LocalSnapshotPbMeta.File)
            }

            // @@protoc_insertion_point(class_scope:jraft.LocalSnapshotPbMeta.File)
            private static final com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File DEFAULT_INSTANCE;
            static {
                DEFAULT_INSTANCE = new com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File();
            }

            public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File getDefaultInstance() {
                return DEFAULT_INSTANCE;
            }

            @java.lang.Deprecated
            public static final com.google.protobuf.Parser<File> PARSER = new com.google.protobuf.AbstractParser<File>() {
                                                                            public File parsePartialFrom(com.google.protobuf.CodedInputStream input,
                                                                                                         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                     throws com.google.protobuf.InvalidProtocolBufferException {
                                                                                return new File(input,
                                                                                    extensionRegistry);
                                                                            }
                                                                        };

            public static com.google.protobuf.Parser<File> parser() {
                return PARSER;
            }

            @java.lang.Override
            public com.google.protobuf.Parser<File> getParserForType() {
                return PARSER;
            }

            public com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File getDefaultInstanceForType() {
                return DEFAULT_INSTANCE;
            }

        }

        private int                                                  bitField0_;
        public static final int                                      META_FIELD_NUMBER = 1;
        private com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta meta_;

        /**
         * <code>optional .jraft.SnapshotMeta meta = 1;</code>
         */
        public boolean hasMeta() {
            return ((bitField0_ & 0x00000001) == 0x00000001);
        }

        /**
         * <code>optional .jraft.SnapshotMeta meta = 1;</code>
         */
        public com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta getMeta() {
            return meta_ == null ? com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta.getDefaultInstance() : meta_;
        }

        /**
         * <code>optional .jraft.SnapshotMeta meta = 1;</code>
         */
        public com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMetaOrBuilder getMetaOrBuilder() {
            return meta_ == null ? com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta.getDefaultInstance() : meta_;
        }

        public static final int                                                                          FILES_FIELD_NUMBER = 2;
        private java.util.List<com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File> files_;

        /**
         * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
         */
        public java.util.List<com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File> getFilesList() {
            return files_;
        }

        /**
         * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
         */
        public java.util.List<? extends com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.FileOrBuilder> getFilesOrBuilderList() {
            return files_;
        }

        /**
         * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
         */
        public int getFilesCount() {
            return files_.size();
        }

        /**
         * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
         */
        public com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File getFiles(int index) {
            return files_.get(index);
        }

        /**
         * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
         */
        public com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.FileOrBuilder getFilesOrBuilder(int index) {
            return files_.get(index);
        }

        private byte memoizedIsInitialized = -1;

        public final boolean isInitialized() {
            byte isInitialized = memoizedIsInitialized;
            if (isInitialized == 1)
                return true;
            if (isInitialized == 0)
                return false;

            if (hasMeta()) {
                if (!getMeta().isInitialized()) {
                    memoizedIsInitialized = 0;
                    return false;
                }
            }
            for (int i = 0; i < getFilesCount(); i++) {
                if (!getFiles(i).isInitialized()) {
                    memoizedIsInitialized = 0;
                    return false;
                }
            }
            memoizedIsInitialized = 1;
            return true;
        }

        public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                output.writeMessage(1, getMeta());
            }
            for (int i = 0; i < files_.size(); i++) {
                output.writeMessage(2, files_.get(i));
            }
            unknownFields.writeTo(output);
        }

        public int getSerializedSize() {
            int size = memoizedSize;
            if (size != -1)
                return size;

            size = 0;
            if (((bitField0_ & 0x00000001) == 0x00000001)) {
                size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getMeta());
            }
            for (int i = 0; i < files_.size(); i++) {
                size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, files_.get(i));
            }
            size += unknownFields.getSerializedSize();
            memoizedSize = size;
            return size;
        }

        @java.lang.Override
        public boolean equals(final java.lang.Object obj) {
            if (obj == this) {
                return true;
            }
            if (!(obj instanceof com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta)) {
                return super.equals(obj);
            }
            com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta other = (com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta) obj;

            boolean result = true;
            result = result && (hasMeta() == other.hasMeta());
            if (hasMeta()) {
                result = result && getMeta().equals(other.getMeta());
            }
            result = result && getFilesList().equals(other.getFilesList());
            result = result && unknownFields.equals(other.unknownFields);
            return result;
        }

        @java.lang.Override
        public int hashCode() {
            if (memoizedHashCode != 0) {
                return memoizedHashCode;
            }
            int hash = 41;
            hash = (19 * hash) + getDescriptor().hashCode();
            if (hasMeta()) {
                hash = (37 * hash) + META_FIELD_NUMBER;
                hash = (53 * hash) + getMeta().hashCode();
            }
            if (getFilesCount() > 0) {
                hash = (37 * hash) + FILES_FIELD_NUMBER;
                hash = (53 * hash) + getFilesList().hashCode();
            }
            hash = (29 * hash) + unknownFields.hashCode();
            memoizedHashCode = hash;
            return hash;
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta parseFrom(java.nio.ByteBuffer data)
                                                                                                                             throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta parseFrom(java.nio.ByteBuffer data,
                                                                                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta parseFrom(com.google.protobuf.ByteString data)
                                                                                                                                        throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta parseFrom(com.google.protobuf.ByteString data,
                                                                                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta parseFrom(byte[] data)
                                                                                                                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta parseFrom(byte[] data,
                                                                                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                throws com.google.protobuf.InvalidProtocolBufferException {
            return PARSER.parseFrom(data, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta parseFrom(java.io.InputStream input)
                                                                                                                              throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta parseFrom(java.io.InputStream input,
                                                                                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta parseDelimitedFrom(java.io.InputStream input)
                                                                                                                                       throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta parseDelimitedFrom(java.io.InputStream input,
                                                                                                             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                         throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input,
                extensionRegistry);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta parseFrom(com.google.protobuf.CodedInputStream input)
                                                                                                                                               throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta parseFrom(com.google.protobuf.CodedInputStream input,
                                                                                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                throws java.io.IOException {
            return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry);
        }

        public Builder newBuilderForType() {
            return newBuilder();
        }

        public static Builder newBuilder() {
            return DEFAULT_INSTANCE.toBuilder();
        }

        public static Builder newBuilder(com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta prototype) {
            return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
        }

        public Builder toBuilder() {
            return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
        }

        @java.lang.Override
        protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
            Builder builder = new Builder(parent);
            return builder;
        }

        /**
         * Protobuf type {@code jraft.LocalSnapshotPbMeta}
         */
        public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
                                                                                                         implements
                                                                                                         // @@protoc_insertion_point(builder_implements:jraft.LocalSnapshotPbMeta)
                                                                                                         com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMetaOrBuilder {
            public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
                return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_LocalSnapshotPbMeta_descriptor;
            }

            protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() {
                return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_LocalSnapshotPbMeta_fieldAccessorTable
                    .ensureFieldAccessorsInitialized(
                        com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.class,
                        com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.Builder.class);
            }

            // Construct using com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.newBuilder()
            private Builder() {
                maybeForceBuilderInitialization();
            }

            private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                super(parent);
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
                    getMetaFieldBuilder();
                    getFilesFieldBuilder();
                }
            }

            public Builder clear() {
                super.clear();
                if (metaBuilder_ == null) {
                    meta_ = null;
                } else {
                    metaBuilder_.clear();
                }
                bitField0_ = (bitField0_ & ~0x00000001);
                if (filesBuilder_ == null) {
                    files_ = java.util.Collections.emptyList();
                    bitField0_ = (bitField0_ & ~0x00000002);
                } else {
                    filesBuilder_.clear();
                }
                return this;
            }

            public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
                return com.alipay.sofa.jraft.entity.LocalStorageOutter.internal_static_jraft_LocalSnapshotPbMeta_descriptor;
            }

            public com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta getDefaultInstanceForType() {
                return com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.getDefaultInstance();
            }

            public com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta build() {
                com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta result = buildPartial();
                if (!result.isInitialized()) {
                    throw newUninitializedMessageException(result);
                }
                return result;
            }

            public com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta buildPartial() {
                com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta result = new com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta(
                    this);
                int from_bitField0_ = bitField0_;
                int to_bitField0_ = 0;
                if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
                    to_bitField0_ |= 0x00000001;
                }
                if (metaBuilder_ == null) {
                    result.meta_ = meta_;
                } else {
                    result.meta_ = metaBuilder_.build();
                }
                if (filesBuilder_ == null) {
                    if (((bitField0_ & 0x00000002) == 0x00000002)) {
                        files_ = java.util.Collections.unmodifiableList(files_);
                        bitField0_ = (bitField0_ & ~0x00000002);
                    }
                    result.files_ = files_;
                } else {
                    result.files_ = filesBuilder_.build();
                }
                result.bitField0_ = to_bitField0_;
                onBuilt();
                return result;
            }

            public Builder clone() {
                return (Builder) super.clone();
            }

            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
                return (Builder) super.setField(field, value);
            }

            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
                return (Builder) super.clearField(field);
            }

            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
                return (Builder) super.clearOneof(oneof);
            }

            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index,
                                            java.lang.Object value) {
                return (Builder) super.setRepeatedField(field, index, value);
            }

            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field,
                                            java.lang.Object value) {
                return (Builder) super.addRepeatedField(field, value);
            }

            public Builder mergeFrom(com.google.protobuf.Message other) {
                if (other instanceof com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta) {
                    return mergeFrom((com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta) other);
                } else {
                    super.mergeFrom(other);
                    return this;
                }
            }

            public Builder mergeFrom(com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta other) {
                if (other == com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.getDefaultInstance())
                    return this;
                if (other.hasMeta()) {
                    mergeMeta(other.getMeta());
                }
                if (filesBuilder_ == null) {
                    if (!other.files_.isEmpty()) {
                        if (files_.isEmpty()) {
                            files_ = other.files_;
                            bitField0_ = (bitField0_ & ~0x00000002);
                        } else {
                            ensureFilesIsMutable();
                            files_.addAll(other.files_);
                        }
                        onChanged();
                    }
                } else {
                    if (!other.files_.isEmpty()) {
                        if (filesBuilder_.isEmpty()) {
                            filesBuilder_.dispose();
                            filesBuilder_ = null;
                            files_ = other.files_;
                            bitField0_ = (bitField0_ & ~0x00000002);
                            filesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getFilesFieldBuilder()
                                : null;
                        } else {
                            filesBuilder_.addAllMessages(other.files_);
                        }
                    }
                }
                this.mergeUnknownFields(other.unknownFields);
                onChanged();
                return this;
            }

            public final boolean isInitialized() {
                if (hasMeta()) {
                    if (!getMeta().isInitialized()) {
                        return false;
                    }
                }
                for (int i = 0; i < getFilesCount(); i++) {
                    if (!getFiles(i).isInitialized()) {
                        return false;
                    }
                }
                return true;
            }

            public Builder mergeFrom(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                 throws java.io.IOException {
                com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta parsedMessage = null;
                try {
                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
                    parsedMessage = (com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta) e
                        .getUnfinishedMessage();
                    throw e.unwrapIOException();
                } finally {
                    if (parsedMessage != null) {
                        mergeFrom(parsedMessage);
                    }
                }
                return this;
            }

            private int                                                                                                                                                                                                                         bitField0_;

            private com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta                                                                                                                                                                        meta_ = null;
            private com.google.protobuf.SingleFieldBuilderV3<com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta, com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta.Builder, com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMetaOrBuilder> metaBuilder_;

            /**
             * <code>optional .jraft.SnapshotMeta meta = 1;</code>
             */
            public boolean hasMeta() {
                return ((bitField0_ & 0x00000001) == 0x00000001);
            }

            /**
             * <code>optional .jraft.SnapshotMeta meta = 1;</code>
             */
            public com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta getMeta() {
                if (metaBuilder_ == null) {
                    return meta_ == null ? com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta.getDefaultInstance()
                        : meta_;
                } else {
                    return metaBuilder_.getMessage();
                }
            }

            /**
             * <code>optional .jraft.SnapshotMeta meta = 1;</code>
             */
            public Builder setMeta(com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta value) {
                if (metaBuilder_ == null) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    meta_ = value;
                    onChanged();
                } else {
                    metaBuilder_.setMessage(value);
                }
                bitField0_ |= 0x00000001;
                return this;
            }

            /**
             * <code>optional .jraft.SnapshotMeta meta = 1;</code>
             */
            public Builder setMeta(com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta.Builder builderForValue) {
                if (metaBuilder_ == null) {
                    meta_ = builderForValue.build();
                    onChanged();
                } else {
                    metaBuilder_.setMessage(builderForValue.build());
                }
                bitField0_ |= 0x00000001;
                return this;
            }

            /**
             * <code>optional .jraft.SnapshotMeta meta = 1;</code>
             */
            public Builder mergeMeta(com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta value) {
                if (metaBuilder_ == null) {
                    if (((bitField0_ & 0x00000001) == 0x00000001) && meta_ != null
                        && meta_ != com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta.getDefaultInstance()) {
                        meta_ = com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta.newBuilder(meta_).mergeFrom(value)
                            .buildPartial();
                    } else {
                        meta_ = value;
                    }
                    onChanged();
                } else {
                    metaBuilder_.mergeFrom(value);
                }
                bitField0_ |= 0x00000001;
                return this;
            }

            /**
             * <code>optional .jraft.SnapshotMeta meta = 1;</code>
             */
            public Builder clearMeta() {
                if (metaBuilder_ == null) {
                    meta_ = null;
                    onChanged();
                } else {
                    metaBuilder_.clear();
                }
                bitField0_ = (bitField0_ & ~0x00000001);
                return this;
            }

            /**
             * <code>optional .jraft.SnapshotMeta meta = 1;</code>
             */
            public com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta.Builder getMetaBuilder() {
                bitField0_ |= 0x00000001;
                onChanged();
                return getMetaFieldBuilder().getBuilder();
            }

            /**
             * <code>optional .jraft.SnapshotMeta meta = 1;</code>
             */
            public com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMetaOrBuilder getMetaOrBuilder() {
                if (metaBuilder_ != null) {
                    return metaBuilder_.getMessageOrBuilder();
                } else {
                    return meta_ == null ? com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta.getDefaultInstance()
                        : meta_;
                }
            }

            /**
             * <code>optional .jraft.SnapshotMeta meta = 1;</code>
             */
            private com.google.protobuf.SingleFieldBuilderV3<com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta, com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta.Builder, com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMetaOrBuilder> getMetaFieldBuilder() {
                if (metaBuilder_ == null) {
                    metaBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta, com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMeta.Builder, com.alipay.sofa.jraft.entity.RaftOutter.SnapshotMetaOrBuilder>(
                        getMeta(), getParentForChildren(), isClean());
                    meta_ = null;
                }
                return metaBuilder_;
            }

            private java.util.List<com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File> files_ = java.util.Collections
                                                                                                                        .emptyList();

            private void ensureFilesIsMutable() {
                if (!((bitField0_ & 0x00000002) == 0x00000002)) {
                    files_ = new java.util.ArrayList<com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File>(
                        files_);
                    bitField0_ |= 0x00000002;
                }
            }

            private com.google.protobuf.RepeatedFieldBuilderV3<com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File, com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File.Builder, com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.FileOrBuilder> filesBuilder_;

            /**
             * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
             */
            public java.util.List<com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File> getFilesList() {
                if (filesBuilder_ == null) {
                    return java.util.Collections.unmodifiableList(files_);
                } else {
                    return filesBuilder_.getMessageList();
                }
            }

            /**
             * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
             */
            public int getFilesCount() {
                if (filesBuilder_ == null) {
                    return files_.size();
                } else {
                    return filesBuilder_.getCount();
                }
            }

            /**
             * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
             */
            public com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File getFiles(int index) {
                if (filesBuilder_ == null) {
                    return files_.get(index);
                } else {
                    return filesBuilder_.getMessage(index);
                }
            }

            /**
             * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
             */
            public Builder setFiles(int index,
                                    com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File value) {
                if (filesBuilder_ == null) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    ensureFilesIsMutable();
                    files_.set(index, value);
                    onChanged();
                } else {
                    filesBuilder_.setMessage(index, value);
                }
                return this;
            }

            /**
             * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
             */
            public Builder setFiles(int index,
                                    com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File.Builder builderForValue) {
                if (filesBuilder_ == null) {
                    ensureFilesIsMutable();
                    files_.set(index, builderForValue.build());
                    onChanged();
                } else {
                    filesBuilder_.setMessage(index, builderForValue.build());
                }
                return this;
            }

            /**
             * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
             */
            public Builder addFiles(com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File value) {
                if (filesBuilder_ == null) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    ensureFilesIsMutable();
                    files_.add(value);
                    onChanged();
                } else {
                    filesBuilder_.addMessage(value);
                }
                return this;
            }

            /**
             * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
             */
            public Builder addFiles(int index,
                                    com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File value) {
                if (filesBuilder_ == null) {
                    if (value == null) {
                        throw new NullPointerException();
                    }
                    ensureFilesIsMutable();
                    files_.add(index, value);
                    onChanged();
                } else {
                    filesBuilder_.addMessage(index, value);
                }
                return this;
            }

            /**
             * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
             */
            public Builder addFiles(com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File.Builder builderForValue) {
                if (filesBuilder_ == null) {
                    ensureFilesIsMutable();
                    files_.add(builderForValue.build());
                    onChanged();
                } else {
                    filesBuilder_.addMessage(builderForValue.build());
                }
                return this;
            }

            /**
             * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
             */
            public Builder addFiles(int index,
                                    com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File.Builder builderForValue) {
                if (filesBuilder_ == null) {
                    ensureFilesIsMutable();
                    files_.add(index, builderForValue.build());
                    onChanged();
                } else {
                    filesBuilder_.addMessage(index, builderForValue.build());
                }
                return this;
            }

            /**
             * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
             */
            public Builder addAllFiles(java.lang.Iterable<? extends com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File> values) {
                if (filesBuilder_ == null) {
                    ensureFilesIsMutable();
                    com.google.protobuf.AbstractMessageLite.Builder.addAll(values, files_);
                    onChanged();
                } else {
                    filesBuilder_.addAllMessages(values);
                }
                return this;
            }

            /**
             * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
             */
            public Builder clearFiles() {
                if (filesBuilder_ == null) {
                    files_ = java.util.Collections.emptyList();
                    bitField0_ = (bitField0_ & ~0x00000002);
                    onChanged();
                } else {
                    filesBuilder_.clear();
                }
                return this;
            }

            /**
             * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
             */
            public Builder removeFiles(int index) {
                if (filesBuilder_ == null) {
                    ensureFilesIsMutable();
                    files_.remove(index);
                    onChanged();
                } else {
                    filesBuilder_.remove(index);
                }
                return this;
            }

            /**
             * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
             */
            public com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File.Builder getFilesBuilder(int index) {
                return getFilesFieldBuilder().getBuilder(index);
            }

            /**
             * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
             */
            public com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.FileOrBuilder getFilesOrBuilder(int index) {
                if (filesBuilder_ == null) {
                    return files_.get(index);
                } else {
                    return filesBuilder_.getMessageOrBuilder(index);
                }
            }

            /**
             * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
             */
            public java.util.List<? extends com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.FileOrBuilder> getFilesOrBuilderList() {
                if (filesBuilder_ != null) {
                    return filesBuilder_.getMessageOrBuilderList();
                } else {
                    return java.util.Collections.unmodifiableList(files_);
                }
            }

            /**
             * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
             */
            public com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File.Builder addFilesBuilder() {
                return getFilesFieldBuilder().addBuilder(
                    com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File.getDefaultInstance());
            }

            /**
             * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
             */
            public com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File.Builder addFilesBuilder(int index) {
                return getFilesFieldBuilder().addBuilder(index,
                    com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File.getDefaultInstance());
            }

            /**
             * <code>repeated .jraft.LocalSnapshotPbMeta.File files = 2;</code>
             */
            public java.util.List<com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File.Builder> getFilesBuilderList() {
                return getFilesFieldBuilder().getBuilderList();
            }

            private com.google.protobuf.RepeatedFieldBuilderV3<com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File, com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File.Builder, com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.FileOrBuilder> getFilesFieldBuilder() {
                if (filesBuilder_ == null) {
                    filesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File, com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.File.Builder, com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta.FileOrBuilder>(
                        files_, ((bitField0_ & 0x00000002) == 0x00000002), getParentForChildren(), isClean());
                    files_ = null;
                }
                return filesBuilder_;
            }

            public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
                return super.setUnknownFields(unknownFields);
            }

            public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
                return super.mergeUnknownFields(unknownFields);
            }

            // @@protoc_insertion_point(builder_scope:jraft.LocalSnapshotPbMeta)
        }

        // @@protoc_insertion_point(class_scope:jraft.LocalSnapshotPbMeta)
        private static final com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta DEFAULT_INSTANCE;
        static {
            DEFAULT_INSTANCE = new com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta();
        }

        public static com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta getDefaultInstance() {
            return DEFAULT_INSTANCE;
        }

        @java.lang.Deprecated
        public static final com.google.protobuf.Parser<LocalSnapshotPbMeta> PARSER = new com.google.protobuf.AbstractParser<LocalSnapshotPbMeta>() {
                                                                                       public LocalSnapshotPbMeta parsePartialFrom(com.google.protobuf.CodedInputStream input,
                                                                                                                                   com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                                                                                                                                                                               throws com.google.protobuf.InvalidProtocolBufferException {
                                                                                           return new LocalSnapshotPbMeta(
                                                                                               input, extensionRegistry);
                                                                                       }
                                                                                   };

        public static com.google.protobuf.Parser<LocalSnapshotPbMeta> parser() {
            return PARSER;
        }

        @java.lang.Override
        public com.google.protobuf.Parser<LocalSnapshotPbMeta> getParserForType() {
            return PARSER;
        }

        public com.alipay.sofa.jraft.entity.LocalStorageOutter.LocalSnapshotPbMeta getDefaultInstanceForType() {
            return DEFAULT_INSTANCE;
        }

    }

    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_ConfigurationPBMeta_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_ConfigurationPBMeta_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_LogPBMeta_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_LogPBMeta_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_StablePBMeta_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_StablePBMeta_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_LocalSnapshotPbMeta_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_LocalSnapshotPbMeta_fieldAccessorTable;
    private static final com.google.protobuf.Descriptors.Descriptor                internal_static_jraft_LocalSnapshotPbMeta_File_descriptor;
    private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_jraft_LocalSnapshotPbMeta_File_fieldAccessorTable;

    public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
        return descriptor;
    }

    private static com.google.protobuf.Descriptors.FileDescriptor descriptor;
    static {
        java.lang.String[] descriptorData = { "\n\023local_storage.proto\022\005jraft\032\nraft.proto"
                                              + "\032\025local_file_meta.proto\"7\n\023Configuration"
                                              + "PBMeta\022\r\n\005peers\030\001 \003(\t\022\021\n\told_peers\030\002 \003(\t"
                                              + "\"$\n\tLogPBMeta\022\027\n\017first_log_index\030\001 \002(\003\"."
                                              + "\n\014StablePBMeta\022\014\n\004term\030\001 \002(\003\022\020\n\010votedfor"
                                              + "\030\002 \002(\t\"\242\001\n\023LocalSnapshotPbMeta\022!\n\004meta\030\001"
                                              + " \001(\0132\023.jraft.SnapshotMeta\022.\n\005files\030\002 \003(\013"
                                              + "2\037.jraft.LocalSnapshotPbMeta.File\0328\n\004Fil"
                                              + "e\022\014\n\004name\030\001 \002(\t\022\"\n\004meta\030\002 \001(\0132\024.jraft.Lo"
                                              + "calFileMetaB2\n\034com.alipay.sofa.jraft.ent"
                                              + "ityB\022LocalStorageOutter" };
        com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
            public com.google.protobuf.ExtensionRegistry assignDescriptors(com.google.protobuf.Descriptors.FileDescriptor root) {
                descriptor = root;
                return null;
            }
        };
        com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
            descriptorData,
            new com.google.protobuf.Descriptors.FileDescriptor[] {
            com.alipay.sofa.jraft.entity.RaftOutter.getDescriptor(),
            com.alipay.sofa.jraft.entity.LocalFileMetaOutter.getDescriptor(), }, assigner);
        internal_static_jraft_ConfigurationPBMeta_descriptor = getDescriptor().getMessageTypes().get(0);
        internal_static_jraft_ConfigurationPBMeta_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_ConfigurationPBMeta_descriptor, new java.lang.String[] { "Peers", "OldPeers", });
        internal_static_jraft_LogPBMeta_descriptor = getDescriptor().getMessageTypes().get(1);
        internal_static_jraft_LogPBMeta_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_LogPBMeta_descriptor, new java.lang.String[] { "FirstLogIndex", });
        internal_static_jraft_StablePBMeta_descriptor = getDescriptor().getMessageTypes().get(2);
        internal_static_jraft_StablePBMeta_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_StablePBMeta_descriptor, new java.lang.String[] { "Term", "Votedfor", });
        internal_static_jraft_LocalSnapshotPbMeta_descriptor = getDescriptor().getMessageTypes().get(3);
        internal_static_jraft_LocalSnapshotPbMeta_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_LocalSnapshotPbMeta_descriptor, new java.lang.String[] { "Meta", "Files", });
        internal_static_jraft_LocalSnapshotPbMeta_File_descriptor = internal_static_jraft_LocalSnapshotPbMeta_descriptor
            .getNestedTypes().get(0);
        internal_static_jraft_LocalSnapshotPbMeta_File_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
            internal_static_jraft_LocalSnapshotPbMeta_File_descriptor, new java.lang.String[] { "Name", "Meta", });
        com.alipay.sofa.jraft.entity.RaftOutter.getDescriptor();
        com.alipay.sofa.jraft.entity.LocalFileMetaOutter.getDescriptor();
    }

    // @@protoc_insertion_point(outer_class_scope)
}
