导航菜单

页面标题

页面副标题

imToken v3.28.8 - Protos.java 源代码

正在查看: imToken v3.28.8 应用的 Protos.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package org.bitcoinj.wallet;

import com.google.protobuf.AbstractMessageLite;
import com.google.protobuf.AbstractParser;
import com.google.protobuf.ByteString;
import com.google.protobuf.CodedInputStream;
import com.google.protobuf.CodedOutputStream;
import com.google.protobuf.Descriptors;
import com.google.protobuf.ExtensionRegistry;
import com.google.protobuf.ExtensionRegistryLite;
import com.google.protobuf.GeneratedMessage;
import com.google.protobuf.Internal;
import com.google.protobuf.InvalidProtocolBufferException;
import com.google.protobuf.Message;
import com.google.protobuf.MessageOrBuilder;
import com.google.protobuf.Parser;
import com.google.protobuf.ProtocolMessageEnum;
import com.google.protobuf.RepeatedFieldBuilder;
import com.google.protobuf.SingleFieldBuilder;
import com.google.protobuf.UnknownFieldSet;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectStreamException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import net.minidev.json.parser.JSONParser;
import org.bitcoinj.script.ScriptOpCodes;
import org.java_websocket.WebSocketImpl;

public final class Protos {
    private static Descriptors.FileDescriptor descriptor;
    private static final Descriptors.Descriptor internal_static_wallet_DeterministicKey_descriptor;
    private static GeneratedMessage.FieldAccessorTable internal_static_wallet_DeterministicKey_fieldAccessorTable;
    private static final Descriptors.Descriptor internal_static_wallet_EncryptedData_descriptor;
    private static GeneratedMessage.FieldAccessorTable internal_static_wallet_EncryptedData_fieldAccessorTable;
    private static final Descriptors.Descriptor internal_static_wallet_ExchangeRate_descriptor;
    private static GeneratedMessage.FieldAccessorTable internal_static_wallet_ExchangeRate_fieldAccessorTable;
    private static final Descriptors.Descriptor internal_static_wallet_Extension_descriptor;
    private static GeneratedMessage.FieldAccessorTable internal_static_wallet_Extension_fieldAccessorTable;
    private static final Descriptors.Descriptor internal_static_wallet_Key_descriptor;
    private static GeneratedMessage.FieldAccessorTable internal_static_wallet_Key_fieldAccessorTable;
    private static final Descriptors.Descriptor internal_static_wallet_PeerAddress_descriptor;
    private static GeneratedMessage.FieldAccessorTable internal_static_wallet_PeerAddress_fieldAccessorTable;
    private static final Descriptors.Descriptor internal_static_wallet_Script_descriptor;
    private static GeneratedMessage.FieldAccessorTable internal_static_wallet_Script_fieldAccessorTable;
    private static final Descriptors.Descriptor internal_static_wallet_ScryptParameters_descriptor;
    private static GeneratedMessage.FieldAccessorTable internal_static_wallet_ScryptParameters_fieldAccessorTable;
    private static final Descriptors.Descriptor internal_static_wallet_Tag_descriptor;
    private static GeneratedMessage.FieldAccessorTable internal_static_wallet_Tag_fieldAccessorTable;
    private static final Descriptors.Descriptor internal_static_wallet_TransactionConfidence_descriptor;
    private static GeneratedMessage.FieldAccessorTable internal_static_wallet_TransactionConfidence_fieldAccessorTable;
    private static final Descriptors.Descriptor internal_static_wallet_TransactionInput_descriptor;
    private static GeneratedMessage.FieldAccessorTable internal_static_wallet_TransactionInput_fieldAccessorTable;
    private static final Descriptors.Descriptor internal_static_wallet_TransactionOutput_descriptor;
    private static GeneratedMessage.FieldAccessorTable internal_static_wallet_TransactionOutput_fieldAccessorTable;
    private static final Descriptors.Descriptor internal_static_wallet_TransactionSigner_descriptor;
    private static GeneratedMessage.FieldAccessorTable internal_static_wallet_TransactionSigner_fieldAccessorTable;
    private static final Descriptors.Descriptor internal_static_wallet_Transaction_descriptor;
    private static GeneratedMessage.FieldAccessorTable internal_static_wallet_Transaction_fieldAccessorTable;
    private static final Descriptors.Descriptor internal_static_wallet_Wallet_descriptor;
    private static GeneratedMessage.FieldAccessorTable internal_static_wallet_Wallet_fieldAccessorTable;

    public interface DeterministicKeyOrBuilder extends MessageOrBuilder {
        ByteString getChainCode();

        boolean getIsFollowing();

        int getIssuedSubkeys();

        int getLookaheadSize();

        int getPath(int i);

        int getPathCount();

        List<Integer> getPathList();

        int getSigsRequiredToSpend();

        boolean hasChainCode();

        boolean hasIsFollowing();

        boolean hasIssuedSubkeys();

        boolean hasLookaheadSize();

        boolean hasSigsRequiredToSpend();
    }

    public interface EncryptedDataOrBuilder extends MessageOrBuilder {
        ByteString getEncryptedPrivateKey();

        ByteString getInitialisationVector();

        boolean hasEncryptedPrivateKey();

        boolean hasInitialisationVector();
    }

    public interface ExchangeRateOrBuilder extends MessageOrBuilder {
        long getCoinValue();

        String getFiatCurrencyCode();

        ByteString getFiatCurrencyCodeBytes();

        long getFiatValue();

        boolean hasCoinValue();

        boolean hasFiatCurrencyCode();

        boolean hasFiatValue();
    }

    public interface ExtensionOrBuilder extends MessageOrBuilder {
        ByteString getData();

        String getId();

        ByteString getIdBytes();

        boolean getMandatory();

        boolean hasData();

        boolean hasId();

        boolean hasMandatory();
    }

    public interface KeyOrBuilder extends MessageOrBuilder {
        long getCreationTimestamp();

        DeterministicKey getDeterministicKey();

        DeterministicKeyOrBuilder getDeterministicKeyOrBuilder();

        ByteString getDeterministicSeed();

        EncryptedData getEncryptedData();

        EncryptedDataOrBuilder getEncryptedDataOrBuilder();

        EncryptedData getEncryptedDeterministicSeed();

        EncryptedDataOrBuilder getEncryptedDeterministicSeedOrBuilder();

        String getLabel();

        ByteString getLabelBytes();

        ByteString getPublicKey();

        ByteString getSecretBytes();

        Key.Type getType();

        boolean hasCreationTimestamp();

        boolean hasDeterministicKey();

        boolean hasDeterministicSeed();

        boolean hasEncryptedData();

        boolean hasEncryptedDeterministicSeed();

        boolean hasLabel();

        boolean hasPublicKey();

        boolean hasSecretBytes();

        boolean hasType();
    }

    public interface PeerAddressOrBuilder extends MessageOrBuilder {
        ByteString getIpAddress();

        int getPort();

        long getServices();

        boolean hasIpAddress();

        boolean hasPort();

        boolean hasServices();
    }

    public interface ScriptOrBuilder extends MessageOrBuilder {
        long getCreationTimestamp();

        ByteString getProgram();

        boolean hasCreationTimestamp();

        boolean hasProgram();
    }

    public interface ScryptParametersOrBuilder extends MessageOrBuilder {
        long getN();

        int getP();

        int getR();

        ByteString getSalt();

        boolean hasN();

        boolean hasP();

        boolean hasR();

        boolean hasSalt();
    }

    public interface TagOrBuilder extends MessageOrBuilder {
        ByteString getData();

        String getTag();

        ByteString getTagBytes();

        boolean hasData();

        boolean hasTag();
    }

    public interface TransactionConfidenceOrBuilder extends MessageOrBuilder {
        int getAppearedAtHeight();

        PeerAddress getBroadcastBy(int i);

        int getBroadcastByCount();

        List<PeerAddress> getBroadcastByList();

        PeerAddressOrBuilder getBroadcastByOrBuilder(int i);

        List<? extends PeerAddressOrBuilder> getBroadcastByOrBuilderList();

        int getDepth();

        long getLastBroadcastedAt();

        ByteString getOverridingTransaction();

        TransactionConfidence.Source getSource();

        TransactionConfidence.Type getType();

        boolean hasAppearedAtHeight();

        boolean hasDepth();

        boolean hasLastBroadcastedAt();

        boolean hasOverridingTransaction();

        boolean hasSource();

        boolean hasType();
    }

    public interface TransactionInputOrBuilder extends MessageOrBuilder {
        ByteString getScriptBytes();

        int getSequence();

        ByteString getTransactionOutPointHash();

        int getTransactionOutPointIndex();

        long getValue();

        boolean hasScriptBytes();

        boolean hasSequence();

        boolean hasTransactionOutPointHash();

        boolean hasTransactionOutPointIndex();

        boolean hasValue();
    }

    public interface TransactionOrBuilder extends MessageOrBuilder {
        ByteString getBlockHash(int i);

        int getBlockHashCount();

        List<ByteString> getBlockHashList();

        int getBlockRelativityOffsets(int i);

        int getBlockRelativityOffsetsCount();

        List<Integer> getBlockRelativityOffsetsList();

        TransactionConfidence getConfidence();

        TransactionConfidenceOrBuilder getConfidenceOrBuilder();

        ExchangeRate getExchangeRate();

        ExchangeRateOrBuilder getExchangeRateOrBuilder();

        ByteString getHash();

        int getLockTime();

        String getMemo();

        ByteString getMemoBytes();

        Transaction.Pool getPool();

        Transaction.Purpose getPurpose();

        TransactionInput getTransactionInput(int i);

        int getTransactionInputCount();

        List<TransactionInput> getTransactionInputList();

        TransactionInputOrBuilder getTransactionInputOrBuilder(int i);

        List<? extends TransactionInputOrBuilder> getTransactionInputOrBuilderList();

        TransactionOutput getTransactionOutput(int i);

        int getTransactionOutputCount();

        List<TransactionOutput> getTransactionOutputList();

        TransactionOutputOrBuilder getTransactionOutputOrBuilder(int i);

        List<? extends TransactionOutputOrBuilder> getTransactionOutputOrBuilderList();

        long getUpdatedAt();

        int getVersion();

        boolean hasConfidence();

        boolean hasExchangeRate();

        boolean hasHash();

        boolean hasLockTime();

        boolean hasMemo();

        boolean hasPool();

        boolean hasPurpose();

        boolean hasUpdatedAt();

        boolean hasVersion();
    }

    public interface TransactionOutputOrBuilder extends MessageOrBuilder {
        ByteString getScriptBytes();

        ByteString getSpentByTransactionHash();

        int getSpentByTransactionIndex();

        long getValue();

        boolean hasScriptBytes();

        boolean hasSpentByTransactionHash();

        boolean hasSpentByTransactionIndex();

        boolean hasValue();
    }

    public interface TransactionSignerOrBuilder extends MessageOrBuilder {
        String getClassName();

        ByteString getClassNameBytes();

        ByteString getData();

        boolean hasClassName();

        boolean hasData();
    }

    public interface WalletOrBuilder extends MessageOrBuilder {
        String getDescription();

        ByteString getDescriptionBytes();

        ScryptParameters getEncryptionParameters();

        ScryptParametersOrBuilder getEncryptionParametersOrBuilder();

        Wallet.EncryptionType getEncryptionType();

        Extension getExtension(int i);

        int getExtensionCount();

        List<Extension> getExtensionList();

        ExtensionOrBuilder getExtensionOrBuilder(int i);

        List<? extends ExtensionOrBuilder> getExtensionOrBuilderList();

        Key getKey(int i);

        int getKeyCount();

        List<Key> getKeyList();

        KeyOrBuilder getKeyOrBuilder(int i);

        List<? extends KeyOrBuilder> getKeyOrBuilderList();

        long getKeyRotationTime();

        ByteString getLastSeenBlockHash();

        int getLastSeenBlockHeight();

        long getLastSeenBlockTimeSecs();

        String getNetworkIdentifier();

        ByteString getNetworkIdentifierBytes();

        Tag getTags(int i);

        int getTagsCount();

        List<Tag> getTagsList();

        TagOrBuilder getTagsOrBuilder(int i);

        List<? extends TagOrBuilder> getTagsOrBuilderList();

        Transaction getTransaction(int i);

        int getTransactionCount();

        List<Transaction> getTransactionList();

        TransactionOrBuilder getTransactionOrBuilder(int i);

        List<? extends TransactionOrBuilder> getTransactionOrBuilderList();

        TransactionSigner getTransactionSigners(int i);

        int getTransactionSignersCount();

        List<TransactionSigner> getTransactionSignersList();

        TransactionSignerOrBuilder getTransactionSignersOrBuilder(int i);

        List<? extends TransactionSignerOrBuilder> getTransactionSignersOrBuilderList();

        int getVersion();

        Script getWatchedScript(int i);

        int getWatchedScriptCount();

        List<Script> getWatchedScriptList();

        ScriptOrBuilder getWatchedScriptOrBuilder(int i);

        List<? extends ScriptOrBuilder> getWatchedScriptOrBuilderList();

        boolean hasDescription();

        boolean hasEncryptionParameters();

        boolean hasEncryptionType();

        boolean hasKeyRotationTime();

        boolean hasLastSeenBlockHash();

        boolean hasLastSeenBlockHeight();

        boolean hasLastSeenBlockTimeSecs();

        boolean hasNetworkIdentifier();

        boolean hasVersion();
    }

    public static void registerAllExtensions(ExtensionRegistry extensionRegistry) {
    }

    private Protos() {
    }

    public static final class PeerAddress extends GeneratedMessage implements PeerAddressOrBuilder {
        public static final int IP_ADDRESS_FIELD_NUMBER = 1;
        public static Parser<PeerAddress> PARSER = new AbstractParser<PeerAddress>() {
            public PeerAddress parsePartialFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
                return new PeerAddress(codedInputStream, extensionRegistryLite);
            }
        };
        public static final int PORT_FIELD_NUMBER = 2;
        public static final int SERVICES_FIELD_NUMBER = 3;
        private static final PeerAddress defaultInstance;
        private static final long serialVersionUID = 0;
        private int bitField0_;
        private ByteString ipAddress_;
        private byte memoizedIsInitialized;
        private int memoizedSerializedSize;
        private int port_;
        private long services_;
        private final UnknownFieldSet unknownFields;

        private PeerAddress(GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = builder.getUnknownFields();
        }

        private PeerAddress(boolean z) {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = UnknownFieldSet.getDefaultInstance();
        }

        public static PeerAddress getDefaultInstance() {
            return defaultInstance;
        }

        public PeerAddress m2314getDefaultInstanceForType() {
            return defaultInstance;
        }

        public final UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private PeerAddress(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            initFields();
            UnknownFieldSet.Builder newBuilder = UnknownFieldSet.newBuilder();
            boolean z = false;
            while (!z) {
                try {
                    try {
                        int readTag = codedInputStream.readTag();
                        if (readTag != 0) {
                            if (readTag == 10) {
                                this.bitField0_ |= 1;
                                this.ipAddress_ = codedInputStream.readBytes();
                            } else if (readTag == 16) {
                                this.bitField0_ |= 2;
                                this.port_ = codedInputStream.readUInt32();
                            } else if (readTag != 24) {
                                if (!parseUnknownField(codedInputStream, newBuilder, extensionRegistryLite, readTag)) {
                                }
                            } else {
                                this.bitField0_ |= 4;
                                this.services_ = codedInputStream.readUInt64();
                            }
                        }
                        z = true;
                    } catch (InvalidProtocolBufferException e) {
                        throw e.setUnfinishedMessage(this);
                    } catch (IOException e2) {
                        throw new InvalidProtocolBufferException(e2.getMessage()).setUnfinishedMessage(this);
                    }
                } finally {
                    this.unknownFields = newBuilder.build();
                    makeExtensionsImmutable();
                }
            }
        }

        public static final Descriptors.Descriptor getDescriptor() {
            return Protos.internal_static_wallet_PeerAddress_descriptor;
        }

        protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return Protos.internal_static_wallet_PeerAddress_fieldAccessorTable.ensureFieldAccessorsInitialized(PeerAddress.class, Builder.class);
        }

        static {
            PeerAddress peerAddress = new PeerAddress(true);
            defaultInstance = peerAddress;
            peerAddress.initFields();
        }

        public Parser<PeerAddress> getParserForType() {
            return PARSER;
        }

        @Override
        public boolean hasIpAddress() {
            return (this.bitField0_ & 1) == 1;
        }

        @Override
        public ByteString getIpAddress() {
            return this.ipAddress_;
        }

        @Override
        public boolean hasPort() {
            return (this.bitField0_ & 2) == 2;
        }

        @Override
        public int getPort() {
            return this.port_;
        }

        @Override
        public boolean hasServices() {
            return (this.bitField0_ & 4) == 4;
        }

        @Override
        public long getServices() {
            return this.services_;
        }

        private void initFields() {
            this.ipAddress_ = ByteString.EMPTY;
            this.port_ = 0;
            this.services_ = 0L;
        }

        public final boolean isInitialized() {
            byte b = this.memoizedIsInitialized;
            if (b == 1) {
                return true;
            }
            if (b == 0) {
                return false;
            }
            if (!hasIpAddress()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            if (!hasPort()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            if (!hasServices()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            this.memoizedIsInitialized = (byte) 1;
            return true;
        }

        public void writeTo(CodedOutputStream codedOutputStream) throws IOException {
            getSerializedSize();
            if ((this.bitField0_ & 1) == 1) {
                codedOutputStream.writeBytes(1, this.ipAddress_);
            }
            if ((this.bitField0_ & 2) == 2) {
                codedOutputStream.writeUInt32(2, this.port_);
            }
            if ((this.bitField0_ & 4) == 4) {
                codedOutputStream.writeUInt64(3, this.services_);
            }
            getUnknownFields().writeTo(codedOutputStream);
        }

        public int getSerializedSize() {
            int i = this.memoizedSerializedSize;
            if (i != -1) {
                return i;
            }
            int computeBytesSize = (this.bitField0_ & 1) == 1 ? 0 + CodedOutputStream.computeBytesSize(1, this.ipAddress_) : 0;
            if ((this.bitField0_ & 2) == 2) {
                computeBytesSize += CodedOutputStream.computeUInt32Size(2, this.port_);
            }
            if ((this.bitField0_ & 4) == 4) {
                computeBytesSize += CodedOutputStream.computeUInt64Size(3, this.services_);
            }
            int serializedSize = computeBytesSize + getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = serializedSize;
            return serializedSize;
        }

        protected Object writeReplace() throws ObjectStreamException {
            return super.writeReplace();
        }

        public static PeerAddress parseFrom(ByteString byteString) throws InvalidProtocolBufferException {
            return (PeerAddress) PARSER.parseFrom(byteString);
        }

        public static PeerAddress parseFrom(ByteString byteString, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (PeerAddress) PARSER.parseFrom(byteString, extensionRegistryLite);
        }

        public static PeerAddress parseFrom(byte[] bArr) throws InvalidProtocolBufferException {
            return (PeerAddress) PARSER.parseFrom(bArr);
        }

        public static PeerAddress parseFrom(byte[] bArr, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (PeerAddress) PARSER.parseFrom(bArr, extensionRegistryLite);
        }

        public static PeerAddress parseFrom(InputStream inputStream) throws IOException {
            return (PeerAddress) PARSER.parseFrom(inputStream);
        }

        public static PeerAddress parseFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (PeerAddress) PARSER.parseFrom(inputStream, extensionRegistryLite);
        }

        public static PeerAddress parseDelimitedFrom(InputStream inputStream) throws IOException {
            return (PeerAddress) PARSER.parseDelimitedFrom(inputStream);
        }

        public static PeerAddress parseDelimitedFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (PeerAddress) PARSER.parseDelimitedFrom(inputStream, extensionRegistryLite);
        }

        public static PeerAddress parseFrom(CodedInputStream codedInputStream) throws IOException {
            return (PeerAddress) PARSER.parseFrom(codedInputStream);
        }

        public static PeerAddress parseFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (PeerAddress) PARSER.parseFrom(codedInputStream, extensionRegistryLite);
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

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

        public static Builder newBuilder(PeerAddress peerAddress) {
            return newBuilder().mergeFrom(peerAddress);
        }

        public Builder m2319toBuilder() {
            return newBuilder(this);
        }

        public Builder newBuilderForType(GeneratedMessage.BuilderParent builderParent) {
            return new Builder(builderParent);
        }

        public static final class Builder extends GeneratedMessage.Builder<Builder> implements PeerAddressOrBuilder {
            private int bitField0_;
            private ByteString ipAddress_;
            private int port_;
            private long services_;

            public static final Descriptors.Descriptor getDescriptor() {
                return Protos.internal_static_wallet_PeerAddress_descriptor;
            }

            protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
                return Protos.internal_static_wallet_PeerAddress_fieldAccessorTable.ensureFieldAccessorsInitialized(PeerAddress.class, Builder.class);
            }

            private Builder() {
                this.ipAddress_ = ByteString.EMPTY;
                maybeForceBuilderInitialization();
            }

            private Builder(GeneratedMessage.BuilderParent builderParent) {
                super(builderParent);
                this.ipAddress_ = ByteString.EMPTY;
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                boolean unused = PeerAddress.alwaysUseFieldBuilders;
            }

            public static Builder create() {
                return new Builder();
            }

            public Builder m2328clear() {
                super.clear();
                this.ipAddress_ = ByteString.EMPTY;
                int i = this.bitField0_ & (-2);
                this.bitField0_ = i;
                this.port_ = 0;
                int i2 = i & (-3);
                this.bitField0_ = i2;
                this.services_ = 0L;
                this.bitField0_ = i2 & (-5);
                return this;
            }

            public Builder m2334clone() {
                return create().mergeFrom(m2324buildPartial());
            }

            public Descriptors.Descriptor getDescriptorForType() {
                return Protos.internal_static_wallet_PeerAddress_descriptor;
            }

            public PeerAddress m2336getDefaultInstanceForType() {
                return PeerAddress.getDefaultInstance();
            }

            public PeerAddress m2322build() {
                PeerAddress m2324buildPartial = m2324buildPartial();
                if (m2324buildPartial.isInitialized()) {
                    return m2324buildPartial;
                }
                throw newUninitializedMessageException(m2324buildPartial);
            }

            public PeerAddress m2324buildPartial() {
                PeerAddress peerAddress = new PeerAddress(this);
                int i = this.bitField0_;
                int i2 = (i & 1) != 1 ? 0 : 1;
                peerAddress.ipAddress_ = this.ipAddress_;
                if ((i & 2) == 2) {
                    i2 |= 2;
                }
                peerAddress.port_ = this.port_;
                if ((i & 4) == 4) {
                    i2 |= 4;
                }
                peerAddress.services_ = this.services_;
                peerAddress.bitField0_ = i2;
                onBuilt();
                return peerAddress;
            }

            public Builder m2340mergeFrom(Message message) {
                if (message instanceof PeerAddress) {
                    return mergeFrom((PeerAddress) message);
                }
                super.mergeFrom(message);
                return this;
            }

            public Builder mergeFrom(PeerAddress peerAddress) {
                if (peerAddress == PeerAddress.getDefaultInstance()) {
                    return this;
                }
                if (peerAddress.hasIpAddress()) {
                    setIpAddress(peerAddress.getIpAddress());
                }
                if (peerAddress.hasPort()) {
                    setPort(peerAddress.getPort());
                }
                if (peerAddress.hasServices()) {
                    setServices(peerAddress.getServices());
                }
                mergeUnknownFields(peerAddress.getUnknownFields());
                return this;
            }

            public final boolean isInitialized() {
                return hasIpAddress() && hasPort() && hasServices();
            }

            public org.bitcoinj.wallet.Protos.PeerAddress.Builder m2341mergeFrom(com.google.protobuf.CodedInputStream r3, com.google.protobuf.ExtensionRegistryLite r4) throws java.io.IOException {
                throw new UnsupportedOperationException("Method not decompiled: org.bitcoinj.wallet.Protos.PeerAddress.Builder.m2341mergeFrom(com.google.protobuf.CodedInputStream, com.google.protobuf.ExtensionRegistryLite):org.bitcoinj.wallet.Protos$PeerAddress$Builder");
            }

            @Override
            public boolean hasIpAddress() {
                return (this.bitField0_ & 1) == 1;
            }

            @Override
            public ByteString getIpAddress() {
                return this.ipAddress_;
            }

            public Builder setIpAddress(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 1;
                this.ipAddress_ = byteString;
                onChanged();
                return this;
            }

            public Builder clearIpAddress() {
                this.bitField0_ &= -2;
                this.ipAddress_ = PeerAddress.getDefaultInstance().getIpAddress();
                onChanged();
                return this;
            }

            @Override
            public boolean hasPort() {
                return (this.bitField0_ & 2) == 2;
            }

            @Override
            public int getPort() {
                return this.port_;
            }

            public Builder setPort(int i) {
                this.bitField0_ |= 2;
                this.port_ = i;
                onChanged();
                return this;
            }

            public Builder clearPort() {
                this.bitField0_ &= -3;
                this.port_ = 0;
                onChanged();
                return this;
            }

            @Override
            public boolean hasServices() {
                return (this.bitField0_ & 4) == 4;
            }

            @Override
            public long getServices() {
                return this.services_;
            }

            public Builder setServices(long j) {
                this.bitField0_ |= 4;
                this.services_ = j;
                onChanged();
                return this;
            }

            public Builder clearServices() {
                this.bitField0_ &= -5;
                this.services_ = 0L;
                onChanged();
                return this;
            }
        }
    }

    public static final class EncryptedData extends GeneratedMessage implements EncryptedDataOrBuilder {
        public static final int ENCRYPTED_PRIVATE_KEY_FIELD_NUMBER = 2;
        public static final int INITIALISATION_VECTOR_FIELD_NUMBER = 1;
        public static Parser<EncryptedData> PARSER = new AbstractParser<EncryptedData>() {
            public EncryptedData parsePartialFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
                return new EncryptedData(codedInputStream, extensionRegistryLite);
            }
        };
        private static final EncryptedData defaultInstance;
        private static final long serialVersionUID = 0;
        private int bitField0_;
        private ByteString encryptedPrivateKey_;
        private ByteString initialisationVector_;
        private byte memoizedIsInitialized;
        private int memoizedSerializedSize;
        private final UnknownFieldSet unknownFields;

        private EncryptedData(GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = builder.getUnknownFields();
        }

        private EncryptedData(boolean z) {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = UnknownFieldSet.getDefaultInstance();
        }

        public static EncryptedData getDefaultInstance() {
            return defaultInstance;
        }

        public EncryptedData m2193getDefaultInstanceForType() {
            return defaultInstance;
        }

        public final UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private EncryptedData(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            initFields();
            UnknownFieldSet.Builder newBuilder = UnknownFieldSet.newBuilder();
            boolean z = false;
            while (!z) {
                try {
                    try {
                        try {
                            int readTag = codedInputStream.readTag();
                            if (readTag != 0) {
                                if (readTag == 10) {
                                    this.bitField0_ |= 1;
                                    this.initialisationVector_ = codedInputStream.readBytes();
                                } else if (readTag != 18) {
                                    if (!parseUnknownField(codedInputStream, newBuilder, extensionRegistryLite, readTag)) {
                                    }
                                } else {
                                    this.bitField0_ |= 2;
                                    this.encryptedPrivateKey_ = codedInputStream.readBytes();
                                }
                            }
                            z = true;
                        } catch (IOException e) {
                            throw new InvalidProtocolBufferException(e.getMessage()).setUnfinishedMessage(this);
                        }
                    } catch (InvalidProtocolBufferException e2) {
                        throw e2.setUnfinishedMessage(this);
                    }
                } finally {
                    this.unknownFields = newBuilder.build();
                    makeExtensionsImmutable();
                }
            }
        }

        public static final Descriptors.Descriptor getDescriptor() {
            return Protos.internal_static_wallet_EncryptedData_descriptor;
        }

        protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return Protos.internal_static_wallet_EncryptedData_fieldAccessorTable.ensureFieldAccessorsInitialized(EncryptedData.class, Builder.class);
        }

        static {
            EncryptedData encryptedData = new EncryptedData(true);
            defaultInstance = encryptedData;
            encryptedData.initFields();
        }

        public Parser<EncryptedData> getParserForType() {
            return PARSER;
        }

        @Override
        public boolean hasInitialisationVector() {
            return (this.bitField0_ & 1) == 1;
        }

        @Override
        public ByteString getInitialisationVector() {
            return this.initialisationVector_;
        }

        @Override
        public boolean hasEncryptedPrivateKey() {
            return (this.bitField0_ & 2) == 2;
        }

        @Override
        public ByteString getEncryptedPrivateKey() {
            return this.encryptedPrivateKey_;
        }

        private void initFields() {
            this.initialisationVector_ = ByteString.EMPTY;
            this.encryptedPrivateKey_ = ByteString.EMPTY;
        }

        public final boolean isInitialized() {
            byte b = this.memoizedIsInitialized;
            if (b == 1) {
                return true;
            }
            if (b == 0) {
                return false;
            }
            if (!hasInitialisationVector()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            if (!hasEncryptedPrivateKey()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            this.memoizedIsInitialized = (byte) 1;
            return true;
        }

        public void writeTo(CodedOutputStream codedOutputStream) throws IOException {
            getSerializedSize();
            if ((this.bitField0_ & 1) == 1) {
                codedOutputStream.writeBytes(1, this.initialisationVector_);
            }
            if ((this.bitField0_ & 2) == 2) {
                codedOutputStream.writeBytes(2, this.encryptedPrivateKey_);
            }
            getUnknownFields().writeTo(codedOutputStream);
        }

        public int getSerializedSize() {
            int i = this.memoizedSerializedSize;
            if (i != -1) {
                return i;
            }
            int computeBytesSize = (this.bitField0_ & 1) == 1 ? 0 + CodedOutputStream.computeBytesSize(1, this.initialisationVector_) : 0;
            if ((this.bitField0_ & 2) == 2) {
                computeBytesSize += CodedOutputStream.computeBytesSize(2, this.encryptedPrivateKey_);
            }
            int serializedSize = computeBytesSize + getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = serializedSize;
            return serializedSize;
        }

        protected Object writeReplace() throws ObjectStreamException {
            return super.writeReplace();
        }

        public static EncryptedData parseFrom(ByteString byteString) throws InvalidProtocolBufferException {
            return (EncryptedData) PARSER.parseFrom(byteString);
        }

        public static EncryptedData parseFrom(ByteString byteString, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (EncryptedData) PARSER.parseFrom(byteString, extensionRegistryLite);
        }

        public static EncryptedData parseFrom(byte[] bArr) throws InvalidProtocolBufferException {
            return (EncryptedData) PARSER.parseFrom(bArr);
        }

        public static EncryptedData parseFrom(byte[] bArr, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (EncryptedData) PARSER.parseFrom(bArr, extensionRegistryLite);
        }

        public static EncryptedData parseFrom(InputStream inputStream) throws IOException {
            return (EncryptedData) PARSER.parseFrom(inputStream);
        }

        public static EncryptedData parseFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (EncryptedData) PARSER.parseFrom(inputStream, extensionRegistryLite);
        }

        public static EncryptedData parseDelimitedFrom(InputStream inputStream) throws IOException {
            return (EncryptedData) PARSER.parseDelimitedFrom(inputStream);
        }

        public static EncryptedData parseDelimitedFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (EncryptedData) PARSER.parseDelimitedFrom(inputStream, extensionRegistryLite);
        }

        public static EncryptedData parseFrom(CodedInputStream codedInputStream) throws IOException {
            return (EncryptedData) PARSER.parseFrom(codedInputStream);
        }

        public static EncryptedData parseFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (EncryptedData) PARSER.parseFrom(codedInputStream, extensionRegistryLite);
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

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

        public static Builder newBuilder(EncryptedData encryptedData) {
            return newBuilder().mergeFrom(encryptedData);
        }

        public Builder m2198toBuilder() {
            return newBuilder(this);
        }

        public Builder newBuilderForType(GeneratedMessage.BuilderParent builderParent) {
            return new Builder(builderParent);
        }

        public static final class Builder extends GeneratedMessage.Builder<Builder> implements EncryptedDataOrBuilder {
            private int bitField0_;
            private ByteString encryptedPrivateKey_;
            private ByteString initialisationVector_;

            public static final Descriptors.Descriptor getDescriptor() {
                return Protos.internal_static_wallet_EncryptedData_descriptor;
            }

            protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
                return Protos.internal_static_wallet_EncryptedData_fieldAccessorTable.ensureFieldAccessorsInitialized(EncryptedData.class, Builder.class);
            }

            private Builder() {
                this.initialisationVector_ = ByteString.EMPTY;
                this.encryptedPrivateKey_ = ByteString.EMPTY;
                maybeForceBuilderInitialization();
            }

            private Builder(GeneratedMessage.BuilderParent builderParent) {
                super(builderParent);
                this.initialisationVector_ = ByteString.EMPTY;
                this.encryptedPrivateKey_ = ByteString.EMPTY;
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                boolean unused = EncryptedData.alwaysUseFieldBuilders;
            }

            public static Builder create() {
                return new Builder();
            }

            public Builder m2207clear() {
                super.clear();
                this.initialisationVector_ = ByteString.EMPTY;
                this.bitField0_ &= -2;
                this.encryptedPrivateKey_ = ByteString.EMPTY;
                this.bitField0_ &= -3;
                return this;
            }

            public Builder m2213clone() {
                return create().mergeFrom(m2203buildPartial());
            }

            public Descriptors.Descriptor getDescriptorForType() {
                return Protos.internal_static_wallet_EncryptedData_descriptor;
            }

            public EncryptedData m2215getDefaultInstanceForType() {
                return EncryptedData.getDefaultInstance();
            }

            public EncryptedData m2201build() {
                EncryptedData m2203buildPartial = m2203buildPartial();
                if (m2203buildPartial.isInitialized()) {
                    return m2203buildPartial;
                }
                throw newUninitializedMessageException(m2203buildPartial);
            }

            public EncryptedData m2203buildPartial() {
                EncryptedData encryptedData = new EncryptedData(this);
                int i = this.bitField0_;
                int i2 = (i & 1) != 1 ? 0 : 1;
                encryptedData.initialisationVector_ = this.initialisationVector_;
                if ((i & 2) == 2) {
                    i2 |= 2;
                }
                encryptedData.encryptedPrivateKey_ = this.encryptedPrivateKey_;
                encryptedData.bitField0_ = i2;
                onBuilt();
                return encryptedData;
            }

            public Builder m2219mergeFrom(Message message) {
                if (message instanceof EncryptedData) {
                    return mergeFrom((EncryptedData) message);
                }
                super.mergeFrom(message);
                return this;
            }

            public Builder mergeFrom(EncryptedData encryptedData) {
                if (encryptedData == EncryptedData.getDefaultInstance()) {
                    return this;
                }
                if (encryptedData.hasInitialisationVector()) {
                    setInitialisationVector(encryptedData.getInitialisationVector());
                }
                if (encryptedData.hasEncryptedPrivateKey()) {
                    setEncryptedPrivateKey(encryptedData.getEncryptedPrivateKey());
                }
                mergeUnknownFields(encryptedData.getUnknownFields());
                return this;
            }

            public final boolean isInitialized() {
                return hasInitialisationVector() && hasEncryptedPrivateKey();
            }

            public org.bitcoinj.wallet.Protos.EncryptedData.Builder m2220mergeFrom(com.google.protobuf.CodedInputStream r3, com.google.protobuf.ExtensionRegistryLite r4) throws java.io.IOException {
                throw new UnsupportedOperationException("Method not decompiled: org.bitcoinj.wallet.Protos.EncryptedData.Builder.m2220mergeFrom(com.google.protobuf.CodedInputStream, com.google.protobuf.ExtensionRegistryLite):org.bitcoinj.wallet.Protos$EncryptedData$Builder");
            }

            @Override
            public boolean hasInitialisationVector() {
                return (this.bitField0_ & 1) == 1;
            }

            @Override
            public ByteString getInitialisationVector() {
                return this.initialisationVector_;
            }

            public Builder setInitialisationVector(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 1;
                this.initialisationVector_ = byteString;
                onChanged();
                return this;
            }

            public Builder clearInitialisationVector() {
                this.bitField0_ &= -2;
                this.initialisationVector_ = EncryptedData.getDefaultInstance().getInitialisationVector();
                onChanged();
                return this;
            }

            @Override
            public boolean hasEncryptedPrivateKey() {
                return (this.bitField0_ & 2) == 2;
            }

            @Override
            public ByteString getEncryptedPrivateKey() {
                return this.encryptedPrivateKey_;
            }

            public Builder setEncryptedPrivateKey(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 2;
                this.encryptedPrivateKey_ = byteString;
                onChanged();
                return this;
            }

            public Builder clearEncryptedPrivateKey() {
                this.bitField0_ &= -3;
                this.encryptedPrivateKey_ = EncryptedData.getDefaultInstance().getEncryptedPrivateKey();
                onChanged();
                return this;
            }
        }
    }

    public static final class DeterministicKey extends GeneratedMessage implements DeterministicKeyOrBuilder {
        public static final int CHAIN_CODE_FIELD_NUMBER = 1;
        public static final int ISFOLLOWING_FIELD_NUMBER = 5;
        public static final int ISSUED_SUBKEYS_FIELD_NUMBER = 3;
        public static final int LOOKAHEAD_SIZE_FIELD_NUMBER = 4;
        public static Parser<DeterministicKey> PARSER = new AbstractParser<DeterministicKey>() {
            public DeterministicKey parsePartialFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
                return new DeterministicKey(codedInputStream, extensionRegistryLite);
            }
        };
        public static final int PATH_FIELD_NUMBER = 2;
        public static final int SIGSREQUIREDTOSPEND_FIELD_NUMBER = 6;
        private static final DeterministicKey defaultInstance;
        private static final long serialVersionUID = 0;
        private int bitField0_;
        private ByteString chainCode_;
        private boolean isFollowing_;
        private int issuedSubkeys_;
        private int lookaheadSize_;
        private byte memoizedIsInitialized;
        private int memoizedSerializedSize;
        private List<Integer> path_;
        private int sigsRequiredToSpend_;
        private final UnknownFieldSet unknownFields;

        private DeterministicKey(GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = builder.getUnknownFields();
        }

        private DeterministicKey(boolean z) {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = UnknownFieldSet.getDefaultInstance();
        }

        public static DeterministicKey getDefaultInstance() {
            return defaultInstance;
        }

        public DeterministicKey m2163getDefaultInstanceForType() {
            return defaultInstance;
        }

        public final UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private DeterministicKey(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            initFields();
            UnknownFieldSet.Builder newBuilder = UnknownFieldSet.newBuilder();
            boolean z = false;
            int i = 0;
            while (true) {
                if (z) {
                    break;
                }
                try {
                    try {
                        try {
                            int readTag = codedInputStream.readTag();
                            if (readTag != 0) {
                                if (readTag == 10) {
                                    this.bitField0_ |= 1;
                                    this.chainCode_ = codedInputStream.readBytes();
                                } else if (readTag == 16) {
                                    if ((i & 2) != 2) {
                                        this.path_ = new ArrayList();
                                        i |= 2;
                                    }
                                    this.path_.add(Integer.valueOf(codedInputStream.readUInt32()));
                                } else if (readTag == 18) {
                                    int pushLimit = codedInputStream.pushLimit(codedInputStream.readRawVarint32());
                                    if ((i & 2) != 2 && codedInputStream.getBytesUntilLimit() > 0) {
                                        this.path_ = new ArrayList();
                                        i |= 2;
                                    }
                                    while (codedInputStream.getBytesUntilLimit() > 0) {
                                        this.path_.add(Integer.valueOf(codedInputStream.readUInt32()));
                                    }
                                    codedInputStream.popLimit(pushLimit);
                                } else if (readTag == 24) {
                                    this.bitField0_ |= 2;
                                    this.issuedSubkeys_ = codedInputStream.readUInt32();
                                } else if (readTag == 32) {
                                    this.bitField0_ |= 4;
                                    this.lookaheadSize_ = codedInputStream.readUInt32();
                                } else if (readTag == 40) {
                                    this.bitField0_ |= 8;
                                    this.isFollowing_ = codedInputStream.readBool();
                                } else if (readTag != 48) {
                                    if (!parseUnknownField(codedInputStream, newBuilder, extensionRegistryLite, readTag)) {
                                    }
                                } else {
                                    this.bitField0_ |= 16;
                                    this.sigsRequiredToSpend_ = codedInputStream.readUInt32();
                                }
                            }
                            z = true;
                        } catch (InvalidProtocolBufferException e) {
                            throw e.setUnfinishedMessage(this);
                        }
                    } catch (IOException e2) {
                        throw new InvalidProtocolBufferException(e2.getMessage()).setUnfinishedMessage(this);
                    }
                } finally {
                    if ((i & 2) == 2) {
                        this.path_ = Collections.unmodifiableList(this.path_);
                    }
                    this.unknownFields = newBuilder.build();
                    makeExtensionsImmutable();
                }
            }
        }

        public static final Descriptors.Descriptor getDescriptor() {
            return Protos.internal_static_wallet_DeterministicKey_descriptor;
        }

        protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return Protos.internal_static_wallet_DeterministicKey_fieldAccessorTable.ensureFieldAccessorsInitialized(DeterministicKey.class, Builder.class);
        }

        static {
            DeterministicKey deterministicKey = new DeterministicKey(true);
            defaultInstance = deterministicKey;
            deterministicKey.initFields();
        }

        public Parser<DeterministicKey> getParserForType() {
            return PARSER;
        }

        @Override
        public boolean hasChainCode() {
            return (this.bitField0_ & 1) == 1;
        }

        @Override
        public ByteString getChainCode() {
            return this.chainCode_;
        }

        @Override
        public List<Integer> getPathList() {
            return this.path_;
        }

        @Override
        public int getPathCount() {
            return this.path_.size();
        }

        @Override
        public int getPath(int i) {
            return this.path_.get(i).intValue();
        }

        @Override
        public boolean hasIssuedSubkeys() {
            return (this.bitField0_ & 2) == 2;
        }

        @Override
        public int getIssuedSubkeys() {
            return this.issuedSubkeys_;
        }

        @Override
        public boolean hasLookaheadSize() {
            return (this.bitField0_ & 4) == 4;
        }

        @Override
        public int getLookaheadSize() {
            return this.lookaheadSize_;
        }

        @Override
        public boolean hasIsFollowing() {
            return (this.bitField0_ & 8) == 8;
        }

        @Override
        public boolean getIsFollowing() {
            return this.isFollowing_;
        }

        @Override
        public boolean hasSigsRequiredToSpend() {
            return (this.bitField0_ & 16) == 16;
        }

        @Override
        public int getSigsRequiredToSpend() {
            return this.sigsRequiredToSpend_;
        }

        private void initFields() {
            this.chainCode_ = ByteString.EMPTY;
            this.path_ = Collections.emptyList();
            this.issuedSubkeys_ = 0;
            this.lookaheadSize_ = 0;
            this.isFollowing_ = false;
            this.sigsRequiredToSpend_ = 1;
        }

        public final boolean isInitialized() {
            byte b = this.memoizedIsInitialized;
            if (b == 1) {
                return true;
            }
            if (b == 0) {
                return false;
            }
            if (!hasChainCode()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            this.memoizedIsInitialized = (byte) 1;
            return true;
        }

        public void writeTo(CodedOutputStream codedOutputStream) throws IOException {
            getSerializedSize();
            if ((this.bitField0_ & 1) == 1) {
                codedOutputStream.writeBytes(1, this.chainCode_);
            }
            for (int i = 0; i < this.path_.size(); i++) {
                codedOutputStream.writeUInt32(2, this.path_.get(i).intValue());
            }
            if ((this.bitField0_ & 2) == 2) {
                codedOutputStream.writeUInt32(3, this.issuedSubkeys_);
            }
            if ((this.bitField0_ & 4) == 4) {
                codedOutputStream.writeUInt32(4, this.lookaheadSize_);
            }
            if ((this.bitField0_ & 8) == 8) {
                codedOutputStream.writeBool(5, this.isFollowing_);
            }
            if ((this.bitField0_ & 16) == 16) {
                codedOutputStream.writeUInt32(6, this.sigsRequiredToSpend_);
            }
            getUnknownFields().writeTo(codedOutputStream);
        }

        public int getSerializedSize() {
            int i = this.memoizedSerializedSize;
            if (i != -1) {
                return i;
            }
            int computeBytesSize = (this.bitField0_ & 1) == 1 ? CodedOutputStream.computeBytesSize(1, this.chainCode_) + 0 : 0;
            int i2 = 0;
            for (int i3 = 0; i3 < this.path_.size(); i3++) {
                i2 += CodedOutputStream.computeUInt32SizeNoTag(this.path_.get(i3).intValue());
            }
            int size = computeBytesSize + i2 + (getPathList().size() * 1);
            if ((this.bitField0_ & 2) == 2) {
                size += CodedOutputStream.computeUInt32Size(3, this.issuedSubkeys_);
            }
            if ((this.bitField0_ & 4) == 4) {
                size += CodedOutputStream.computeUInt32Size(4, this.lookaheadSize_);
            }
            if ((this.bitField0_ & 8) == 8) {
                size += CodedOutputStream.computeBoolSize(5, this.isFollowing_);
            }
            if ((this.bitField0_ & 16) == 16) {
                size += CodedOutputStream.computeUInt32Size(6, this.sigsRequiredToSpend_);
            }
            int serializedSize = size + getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = serializedSize;
            return serializedSize;
        }

        protected Object writeReplace() throws ObjectStreamException {
            return super.writeReplace();
        }

        public static DeterministicKey parseFrom(ByteString byteString) throws InvalidProtocolBufferException {
            return (DeterministicKey) PARSER.parseFrom(byteString);
        }

        public static DeterministicKey parseFrom(ByteString byteString, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (DeterministicKey) PARSER.parseFrom(byteString, extensionRegistryLite);
        }

        public static DeterministicKey parseFrom(byte[] bArr) throws InvalidProtocolBufferException {
            return (DeterministicKey) PARSER.parseFrom(bArr);
        }

        public static DeterministicKey parseFrom(byte[] bArr, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (DeterministicKey) PARSER.parseFrom(bArr, extensionRegistryLite);
        }

        public static DeterministicKey parseFrom(InputStream inputStream) throws IOException {
            return (DeterministicKey) PARSER.parseFrom(inputStream);
        }

        public static DeterministicKey parseFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (DeterministicKey) PARSER.parseFrom(inputStream, extensionRegistryLite);
        }

        public static DeterministicKey parseDelimitedFrom(InputStream inputStream) throws IOException {
            return (DeterministicKey) PARSER.parseDelimitedFrom(inputStream);
        }

        public static DeterministicKey parseDelimitedFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (DeterministicKey) PARSER.parseDelimitedFrom(inputStream, extensionRegistryLite);
        }

        public static DeterministicKey parseFrom(CodedInputStream codedInputStream) throws IOException {
            return (DeterministicKey) PARSER.parseFrom(codedInputStream);
        }

        public static DeterministicKey parseFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (DeterministicKey) PARSER.parseFrom(codedInputStream, extensionRegistryLite);
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

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

        public static Builder newBuilder(DeterministicKey deterministicKey) {
            return newBuilder().mergeFrom(deterministicKey);
        }

        public Builder m2168toBuilder() {
            return newBuilder(this);
        }

        public Builder newBuilderForType(GeneratedMessage.BuilderParent builderParent) {
            return new Builder(builderParent);
        }

        public static final class Builder extends GeneratedMessage.Builder<Builder> implements DeterministicKeyOrBuilder {
            private int bitField0_;
            private ByteString chainCode_;
            private boolean isFollowing_;
            private int issuedSubkeys_;
            private int lookaheadSize_;
            private List<Integer> path_;
            private int sigsRequiredToSpend_;

            public static final Descriptors.Descriptor getDescriptor() {
                return Protos.internal_static_wallet_DeterministicKey_descriptor;
            }

            protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
                return Protos.internal_static_wallet_DeterministicKey_fieldAccessorTable.ensureFieldAccessorsInitialized(DeterministicKey.class, Builder.class);
            }

            private Builder() {
                this.chainCode_ = ByteString.EMPTY;
                this.path_ = Collections.emptyList();
                this.sigsRequiredToSpend_ = 1;
                maybeForceBuilderInitialization();
            }

            private Builder(GeneratedMessage.BuilderParent builderParent) {
                super(builderParent);
                this.chainCode_ = ByteString.EMPTY;
                this.path_ = Collections.emptyList();
                this.sigsRequiredToSpend_ = 1;
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                boolean unused = DeterministicKey.alwaysUseFieldBuilders;
            }

            public static Builder create() {
                return new Builder();
            }

            public Builder m2177clear() {
                super.clear();
                this.chainCode_ = ByteString.EMPTY;
                this.bitField0_ &= -2;
                this.path_ = Collections.emptyList();
                int i = this.bitField0_ & (-3);
                this.bitField0_ = i;
                this.issuedSubkeys_ = 0;
                int i2 = i & (-5);
                this.bitField0_ = i2;
                this.lookaheadSize_ = 0;
                int i3 = i2 & (-9);
                this.bitField0_ = i3;
                this.isFollowing_ = false;
                int i4 = i3 & (-17);
                this.bitField0_ = i4;
                this.sigsRequiredToSpend_ = 1;
                this.bitField0_ = i4 & (-33);
                return this;
            }

            public Builder m2183clone() {
                return create().mergeFrom(m2173buildPartial());
            }

            public Descriptors.Descriptor getDescriptorForType() {
                return Protos.internal_static_wallet_DeterministicKey_descriptor;
            }

            public DeterministicKey m2185getDefaultInstanceForType() {
                return DeterministicKey.getDefaultInstance();
            }

            public DeterministicKey m2171build() {
                DeterministicKey m2173buildPartial = m2173buildPartial();
                if (m2173buildPartial.isInitialized()) {
                    return m2173buildPartial;
                }
                throw newUninitializedMessageException(m2173buildPartial);
            }

            public DeterministicKey m2173buildPartial() {
                DeterministicKey deterministicKey = new DeterministicKey(this);
                int i = this.bitField0_;
                int i2 = (i & 1) != 1 ? 0 : 1;
                deterministicKey.chainCode_ = this.chainCode_;
                if ((this.bitField0_ & 2) == 2) {
                    this.path_ = Collections.unmodifiableList(this.path_);
                    this.bitField0_ &= -3;
                }
                deterministicKey.path_ = this.path_;
                if ((i & 4) == 4) {
                    i2 |= 2;
                }
                deterministicKey.issuedSubkeys_ = this.issuedSubkeys_;
                if ((i & 8) == 8) {
                    i2 |= 4;
                }
                deterministicKey.lookaheadSize_ = this.lookaheadSize_;
                if ((i & 16) == 16) {
                    i2 |= 8;
                }
                deterministicKey.isFollowing_ = this.isFollowing_;
                if ((i & 32) == 32) {
                    i2 |= 16;
                }
                deterministicKey.sigsRequiredToSpend_ = this.sigsRequiredToSpend_;
                deterministicKey.bitField0_ = i2;
                onBuilt();
                return deterministicKey;
            }

            public Builder m2189mergeFrom(Message message) {
                if (message instanceof DeterministicKey) {
                    return mergeFrom((DeterministicKey) message);
                }
                super.mergeFrom(message);
                return this;
            }

            public Builder mergeFrom(DeterministicKey deterministicKey) {
                if (deterministicKey == DeterministicKey.getDefaultInstance()) {
                    return this;
                }
                if (deterministicKey.hasChainCode()) {
                    setChainCode(deterministicKey.getChainCode());
                }
                if (!deterministicKey.path_.isEmpty()) {
                    if (this.path_.isEmpty()) {
                        this.path_ = deterministicKey.path_;
                        this.bitField0_ &= -3;
                    } else {
                        ensurePathIsMutable();
                        this.path_.addAll(deterministicKey.path_);
                    }
                    onChanged();
                }
                if (deterministicKey.hasIssuedSubkeys()) {
                    setIssuedSubkeys(deterministicKey.getIssuedSubkeys());
                }
                if (deterministicKey.hasLookaheadSize()) {
                    setLookaheadSize(deterministicKey.getLookaheadSize());
                }
                if (deterministicKey.hasIsFollowing()) {
                    setIsFollowing(deterministicKey.getIsFollowing());
                }
                if (deterministicKey.hasSigsRequiredToSpend()) {
                    setSigsRequiredToSpend(deterministicKey.getSigsRequiredToSpend());
                }
                mergeUnknownFields(deterministicKey.getUnknownFields());
                return this;
            }

            public final boolean isInitialized() {
                return hasChainCode();
            }

            public org.bitcoinj.wallet.Protos.DeterministicKey.Builder m2190mergeFrom(com.google.protobuf.CodedInputStream r3, com.google.protobuf.ExtensionRegistryLite r4) throws java.io.IOException {
                throw new UnsupportedOperationException("Method not decompiled: org.bitcoinj.wallet.Protos.DeterministicKey.Builder.m2190mergeFrom(com.google.protobuf.CodedInputStream, com.google.protobuf.ExtensionRegistryLite):org.bitcoinj.wallet.Protos$DeterministicKey$Builder");
            }

            @Override
            public boolean hasChainCode() {
                return (this.bitField0_ & 1) == 1;
            }

            @Override
            public ByteString getChainCode() {
                return this.chainCode_;
            }

            public Builder setChainCode(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 1;
                this.chainCode_ = byteString;
                onChanged();
                return this;
            }

            public Builder clearChainCode() {
                this.bitField0_ &= -2;
                this.chainCode_ = DeterministicKey.getDefaultInstance().getChainCode();
                onChanged();
                return this;
            }

            private void ensurePathIsMutable() {
                if ((this.bitField0_ & 2) != 2) {
                    this.path_ = new ArrayList(this.path_);
                    this.bitField0_ |= 2;
                }
            }

            @Override
            public List<Integer> getPathList() {
                return Collections.unmodifiableList(this.path_);
            }

            @Override
            public int getPathCount() {
                return this.path_.size();
            }

            @Override
            public int getPath(int i) {
                return this.path_.get(i).intValue();
            }

            public Builder setPath(int i, int i2) {
                ensurePathIsMutable();
                this.path_.set(i, Integer.valueOf(i2));
                onChanged();
                return this;
            }

            public Builder addPath(int i) {
                ensurePathIsMutable();
                this.path_.add(Integer.valueOf(i));
                onChanged();
                return this;
            }

            public Builder addAllPath(Iterable<? extends Integer> iterable) {
                ensurePathIsMutable();
                AbstractMessageLite.Builder.addAll(iterable, this.path_);
                onChanged();
                return this;
            }

            public Builder clearPath() {
                this.path_ = Collections.emptyList();
                this.bitField0_ &= -3;
                onChanged();
                return this;
            }

            @Override
            public boolean hasIssuedSubkeys() {
                return (this.bitField0_ & 4) == 4;
            }

            @Override
            public int getIssuedSubkeys() {
                return this.issuedSubkeys_;
            }

            public Builder setIssuedSubkeys(int i) {
                this.bitField0_ |= 4;
                this.issuedSubkeys_ = i;
                onChanged();
                return this;
            }

            public Builder clearIssuedSubkeys() {
                this.bitField0_ &= -5;
                this.issuedSubkeys_ = 0;
                onChanged();
                return this;
            }

            @Override
            public boolean hasLookaheadSize() {
                return (this.bitField0_ & 8) == 8;
            }

            @Override
            public int getLookaheadSize() {
                return this.lookaheadSize_;
            }

            public Builder setLookaheadSize(int i) {
                this.bitField0_ |= 8;
                this.lookaheadSize_ = i;
                onChanged();
                return this;
            }

            public Builder clearLookaheadSize() {
                this.bitField0_ &= -9;
                this.lookaheadSize_ = 0;
                onChanged();
                return this;
            }

            @Override
            public boolean hasIsFollowing() {
                return (this.bitField0_ & 16) == 16;
            }

            @Override
            public boolean getIsFollowing() {
                return this.isFollowing_;
            }

            public Builder setIsFollowing(boolean z) {
                this.bitField0_ |= 16;
                this.isFollowing_ = z;
                onChanged();
                return this;
            }

            public Builder clearIsFollowing() {
                this.bitField0_ &= -17;
                this.isFollowing_ = false;
                onChanged();
                return this;
            }

            @Override
            public boolean hasSigsRequiredToSpend() {
                return (this.bitField0_ & 32) == 32;
            }

            @Override
            public int getSigsRequiredToSpend() {
                return this.sigsRequiredToSpend_;
            }

            public Builder setSigsRequiredToSpend(int i) {
                this.bitField0_ |= 32;
                this.sigsRequiredToSpend_ = i;
                onChanged();
                return this;
            }

            public Builder clearSigsRequiredToSpend() {
                this.bitField0_ &= -33;
                this.sigsRequiredToSpend_ = 1;
                onChanged();
                return this;
            }
        }
    }

    public static final class Key extends GeneratedMessage implements KeyOrBuilder {
        public static final int CREATION_TIMESTAMP_FIELD_NUMBER = 5;
        public static final int DETERMINISTIC_KEY_FIELD_NUMBER = 7;
        public static final int DETERMINISTIC_SEED_FIELD_NUMBER = 8;
        public static final int ENCRYPTED_DATA_FIELD_NUMBER = 6;
        public static final int ENCRYPTED_DETERMINISTIC_SEED_FIELD_NUMBER = 9;
        public static final int LABEL_FIELD_NUMBER = 4;
        public static Parser<Key> PARSER = new AbstractParser<Key>() {
            public Key parsePartialFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
                return new Key(codedInputStream, extensionRegistryLite);
            }
        };
        public static final int PUBLIC_KEY_FIELD_NUMBER = 3;
        public static final int SECRET_BYTES_FIELD_NUMBER = 2;
        public static final int TYPE_FIELD_NUMBER = 1;
        private static final Key defaultInstance;
        private static final long serialVersionUID = 0;
        private int bitField0_;
        private long creationTimestamp_;
        private DeterministicKey deterministicKey_;
        private ByteString deterministicSeed_;
        private EncryptedData encryptedData_;
        private EncryptedData encryptedDeterministicSeed_;
        private Object label_;
        private byte memoizedIsInitialized;
        private int memoizedSerializedSize;
        private ByteString publicKey_;
        private ByteString secretBytes_;
        private Type type_;
        private final UnknownFieldSet unknownFields;

        private Key(GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = builder.getUnknownFields();
        }

        private Key(boolean z) {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = UnknownFieldSet.getDefaultInstance();
        }

        public static Key getDefaultInstance() {
            return defaultInstance;
        }

        public Key m2283getDefaultInstanceForType() {
            return defaultInstance;
        }

        public final UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private Key(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            initFields();
            UnknownFieldSet.Builder newBuilder = UnknownFieldSet.newBuilder();
            boolean z = false;
            while (!z) {
                try {
                    try {
                        int readTag = codedInputStream.readTag();
                        if (readTag != 0) {
                            if (readTag == 8) {
                                int readEnum = codedInputStream.readEnum();
                                Type valueOf = Type.valueOf(readEnum);
                                if (valueOf == null) {
                                    newBuilder.mergeVarintField(1, readEnum);
                                } else {
                                    this.bitField0_ |= 1;
                                    this.type_ = valueOf;
                                }
                            } else if (readTag == 18) {
                                this.bitField0_ |= 2;
                                this.secretBytes_ = codedInputStream.readBytes();
                            } else if (readTag == 26) {
                                this.bitField0_ |= 8;
                                this.publicKey_ = codedInputStream.readBytes();
                            } else if (readTag == 34) {
                                ByteString readBytes = codedInputStream.readBytes();
                                this.bitField0_ |= 16;
                                this.label_ = readBytes;
                            } else if (readTag != 40) {
                                if (readTag == 50) {
                                    EncryptedData.Builder m2198toBuilder = (this.bitField0_ & 4) == 4 ? this.encryptedData_.m2198toBuilder() : null;
                                    EncryptedData encryptedData = (EncryptedData) codedInputStream.readMessage(EncryptedData.PARSER, extensionRegistryLite);
                                    this.encryptedData_ = encryptedData;
                                    if (m2198toBuilder != null) {
                                        m2198toBuilder.mergeFrom(encryptedData);
                                        this.encryptedData_ = m2198toBuilder.m2203buildPartial();
                                    }
                                    this.bitField0_ |= 4;
                                } else if (readTag == 58) {
                                    DeterministicKey.Builder m2168toBuilder = (this.bitField0_ & 64) == 64 ? this.deterministicKey_.m2168toBuilder() : null;
                                    DeterministicKey deterministicKey = (DeterministicKey) codedInputStream.readMessage(DeterministicKey.PARSER, extensionRegistryLite);
                                    this.deterministicKey_ = deterministicKey;
                                    if (m2168toBuilder != null) {
                                        m2168toBuilder.mergeFrom(deterministicKey);
                                        this.deterministicKey_ = m2168toBuilder.m2173buildPartial();
                                    }
                                    this.bitField0_ |= 64;
                                } else if (readTag == 66) {
                                    this.bitField0_ |= 128;
                                    this.deterministicSeed_ = codedInputStream.readBytes();
                                } else if (readTag != 74) {
                                    if (!parseUnknownField(codedInputStream, newBuilder, extensionRegistryLite, readTag)) {
                                    }
                                } else {
                                    EncryptedData.Builder m2198toBuilder2 = (this.bitField0_ & JSONParser.ACCEPT_TAILLING_DATA) == 256 ? this.encryptedDeterministicSeed_.m2198toBuilder() : null;
                                    EncryptedData encryptedData2 = (EncryptedData) codedInputStream.readMessage(EncryptedData.PARSER, extensionRegistryLite);
                                    this.encryptedDeterministicSeed_ = encryptedData2;
                                    if (m2198toBuilder2 != null) {
                                        m2198toBuilder2.mergeFrom(encryptedData2);
                                        this.encryptedDeterministicSeed_ = m2198toBuilder2.m2203buildPartial();
                                    }
                                    this.bitField0_ |= JSONParser.ACCEPT_TAILLING_DATA;
                                }
                            } else {
                                this.bitField0_ |= 32;
                                this.creationTimestamp_ = codedInputStream.readInt64();
                            }
                        }
                        z = true;
                    } catch (InvalidProtocolBufferException e) {
                        throw e.setUnfinishedMessage(this);
                    } catch (IOException e2) {
                        throw new InvalidProtocolBufferException(e2.getMessage()).setUnfinishedMessage(this);
                    }
                } finally {
                    this.unknownFields = newBuilder.build();
                    makeExtensionsImmutable();
                }
            }
        }

        public static final Descriptors.Descriptor getDescriptor() {
            return Protos.internal_static_wallet_Key_descriptor;
        }

        protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return Protos.internal_static_wallet_Key_fieldAccessorTable.ensureFieldAccessorsInitialized(Key.class, Builder.class);
        }

        static {
            Key key = new Key(true);
            defaultInstance = key;
            key.initFields();
        }

        public Parser<Key> getParserForType() {
            return PARSER;
        }

        public enum Type implements ProtocolMessageEnum {
            ORIGINAL(0, 1),
            ENCRYPTED_SCRYPT_AES(1, 2),
            DETERMINISTIC_MNEMONIC(2, 3),
            DETERMINISTIC_KEY(3, 4);

            public static final int DETERMINISTIC_KEY_VALUE = 4;
            public static final int DETERMINISTIC_MNEMONIC_VALUE = 3;
            public static final int ENCRYPTED_SCRYPT_AES_VALUE = 2;
            public static final int ORIGINAL_VALUE = 1;
            private final int index;
            private final int value;
            private static Internal.EnumLiteMap<Type> internalValueMap = new Internal.EnumLiteMap<Type>() {
                public Type findValueByNumber(int i) {
                    return Type.valueOf(i);
                }
            };
            private static final Type[] VALUES = values();

            public final int getNumber() {
                return this.value;
            }

            public static Type valueOf(int i) {
                if (i == 1) {
                    return ORIGINAL;
                }
                if (i == 2) {
                    return ENCRYPTED_SCRYPT_AES;
                }
                if (i == 3) {
                    return DETERMINISTIC_MNEMONIC;
                }
                if (i != 4) {
                    return null;
                }
                return DETERMINISTIC_KEY;
            }

            public static Internal.EnumLiteMap<Type> internalGetValueMap() {
                return internalValueMap;
            }

            public final Descriptors.EnumValueDescriptor getValueDescriptor() {
                return (Descriptors.EnumValueDescriptor) getDescriptor().getValues().get(this.index);
            }

            public final Descriptors.EnumDescriptor getDescriptorForType() {
                return getDescriptor();
            }

            public static final Descriptors.EnumDescriptor getDescriptor() {
                return (Descriptors.EnumDescriptor) Key.getDescriptor().getEnumTypes().get(0);
            }

            public static Type valueOf(Descriptors.EnumValueDescriptor enumValueDescriptor) {
                if (enumValueDescriptor.getType() != getDescriptor()) {
                    throw new IllegalArgumentException("EnumValueDescriptor is not for this type.");
                }
                return VALUES[enumValueDescriptor.getIndex()];
            }

            Type(int i, int i2) {
                this.index = i;
                this.value = i2;
            }
        }

        @Override
        public boolean hasType() {
            return (this.bitField0_ & 1) == 1;
        }

        @Override
        public Type getType() {
            return this.type_;
        }

        @Override
        public boolean hasSecretBytes() {
            return (this.bitField0_ & 2) == 2;
        }

        @Override
        public ByteString getSecretBytes() {
            return this.secretBytes_;
        }

        @Override
        public boolean hasEncryptedData() {
            return (this.bitField0_ & 4) == 4;
        }

        @Override
        public EncryptedData getEncryptedData() {
            return this.encryptedData_;
        }

        @Override
        public EncryptedDataOrBuilder getEncryptedDataOrBuilder() {
            return this.encryptedData_;
        }

        @Override
        public boolean hasPublicKey() {
            return (this.bitField0_ & 8) == 8;
        }

        @Override
        public ByteString getPublicKey() {
            return this.publicKey_;
        }

        @Override
        public boolean hasLabel() {
            return (this.bitField0_ & 16) == 16;
        }

        @Override
        public String getLabel() {
            Object obj = this.label_;
            if (obj instanceof String) {
                return (String) obj;
            }
            ByteString byteString = (ByteString) obj;
            String stringUtf8 = byteString.toStringUtf8();
            if (byteString.isValidUtf8()) {
                this.label_ = stringUtf8;
            }
            return stringUtf8;
        }

        @Override
        public ByteString getLabelBytes() {
            Object obj = this.label_;
            if (obj instanceof String) {
                ByteString copyFromUtf8 = ByteString.copyFromUtf8((String) obj);
                this.label_ = copyFromUtf8;
                return copyFromUtf8;
            }
            return (ByteString) obj;
        }

        @Override
        public boolean hasCreationTimestamp() {
            return (this.bitField0_ & 32) == 32;
        }

        @Override
        public long getCreationTimestamp() {
            return this.creationTimestamp_;
        }

        @Override
        public boolean hasDeterministicKey() {
            return (this.bitField0_ & 64) == 64;
        }

        @Override
        public DeterministicKey getDeterministicKey() {
            return this.deterministicKey_;
        }

        @Override
        public DeterministicKeyOrBuilder getDeterministicKeyOrBuilder() {
            return this.deterministicKey_;
        }

        @Override
        public boolean hasDeterministicSeed() {
            return (this.bitField0_ & 128) == 128;
        }

        @Override
        public ByteString getDeterministicSeed() {
            return this.deterministicSeed_;
        }

        @Override
        public boolean hasEncryptedDeterministicSeed() {
            return (this.bitField0_ & JSONParser.ACCEPT_TAILLING_DATA) == 256;
        }

        @Override
        public EncryptedData getEncryptedDeterministicSeed() {
            return this.encryptedDeterministicSeed_;
        }

        @Override
        public EncryptedDataOrBuilder getEncryptedDeterministicSeedOrBuilder() {
            return this.encryptedDeterministicSeed_;
        }

        private void initFields() {
            this.type_ = Type.ORIGINAL;
            this.secretBytes_ = ByteString.EMPTY;
            this.encryptedData_ = EncryptedData.getDefaultInstance();
            this.publicKey_ = ByteString.EMPTY;
            this.label_ = "";
            this.creationTimestamp_ = 0L;
            this.deterministicKey_ = DeterministicKey.getDefaultInstance();
            this.deterministicSeed_ = ByteString.EMPTY;
            this.encryptedDeterministicSeed_ = EncryptedData.getDefaultInstance();
        }

        public final boolean isInitialized() {
            byte b = this.memoizedIsInitialized;
            if (b == 1) {
                return true;
            }
            if (b == 0) {
                return false;
            }
            if (!hasType()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            if (hasEncryptedData() && !getEncryptedData().isInitialized()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            if (hasDeterministicKey() && !getDeterministicKey().isInitialized()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            if (hasEncryptedDeterministicSeed() && !getEncryptedDeterministicSeed().isInitialized()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            this.memoizedIsInitialized = (byte) 1;
            return true;
        }

        public void writeTo(CodedOutputStream codedOutputStream) throws IOException {
            getSerializedSize();
            if ((this.bitField0_ & 1) == 1) {
                codedOutputStream.writeEnum(1, this.type_.getNumber());
            }
            if ((this.bitField0_ & 2) == 2) {
                codedOutputStream.writeBytes(2, this.secretBytes_);
            }
            if ((this.bitField0_ & 8) == 8) {
                codedOutputStream.writeBytes(3, this.publicKey_);
            }
            if ((this.bitField0_ & 16) == 16) {
                codedOutputStream.writeBytes(4, getLabelBytes());
            }
            if ((this.bitField0_ & 32) == 32) {
                codedOutputStream.writeInt64(5, this.creationTimestamp_);
            }
            if ((this.bitField0_ & 4) == 4) {
                codedOutputStream.writeMessage(6, this.encryptedData_);
            }
            if ((this.bitField0_ & 64) == 64) {
                codedOutputStream.writeMessage(7, this.deterministicKey_);
            }
            if ((this.bitField0_ & 128) == 128) {
                codedOutputStream.writeBytes(8, this.deterministicSeed_);
            }
            if ((this.bitField0_ & JSONParser.ACCEPT_TAILLING_DATA) == 256) {
                codedOutputStream.writeMessage(9, this.encryptedDeterministicSeed_);
            }
            getUnknownFields().writeTo(codedOutputStream);
        }

        public int getSerializedSize() {
            int i = this.memoizedSerializedSize;
            if (i != -1) {
                return i;
            }
            int computeEnumSize = (this.bitField0_ & 1) == 1 ? 0 + CodedOutputStream.computeEnumSize(1, this.type_.getNumber()) : 0;
            if ((this.bitField0_ & 2) == 2) {
                computeEnumSize += CodedOutputStream.computeBytesSize(2, this.secretBytes_);
            }
            if ((this.bitField0_ & 8) == 8) {
                computeEnumSize += CodedOutputStream.computeBytesSize(3, this.publicKey_);
            }
            if ((this.bitField0_ & 16) == 16) {
                computeEnumSize += CodedOutputStream.computeBytesSize(4, getLabelBytes());
            }
            if ((this.bitField0_ & 32) == 32) {
                computeEnumSize += CodedOutputStream.computeInt64Size(5, this.creationTimestamp_);
            }
            if ((this.bitField0_ & 4) == 4) {
                computeEnumSize += CodedOutputStream.computeMessageSize(6, this.encryptedData_);
            }
            if ((this.bitField0_ & 64) == 64) {
                computeEnumSize += CodedOutputStream.computeMessageSize(7, this.deterministicKey_);
            }
            if ((this.bitField0_ & 128) == 128) {
                computeEnumSize += CodedOutputStream.computeBytesSize(8, this.deterministicSeed_);
            }
            if ((this.bitField0_ & JSONParser.ACCEPT_TAILLING_DATA) == 256) {
                computeEnumSize += CodedOutputStream.computeMessageSize(9, this.encryptedDeterministicSeed_);
            }
            int serializedSize = computeEnumSize + getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = serializedSize;
            return serializedSize;
        }

        protected Object writeReplace() throws ObjectStreamException {
            return super.writeReplace();
        }

        public static Key parseFrom(ByteString byteString) throws InvalidProtocolBufferException {
            return (Key) PARSER.parseFrom(byteString);
        }

        public static Key parseFrom(ByteString byteString, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (Key) PARSER.parseFrom(byteString, extensionRegistryLite);
        }

        public static Key parseFrom(byte[] bArr) throws InvalidProtocolBufferException {
            return (Key) PARSER.parseFrom(bArr);
        }

        public static Key parseFrom(byte[] bArr, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (Key) PARSER.parseFrom(bArr, extensionRegistryLite);
        }

        public static Key parseFrom(InputStream inputStream) throws IOException {
            return (Key) PARSER.parseFrom(inputStream);
        }

        public static Key parseFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (Key) PARSER.parseFrom(inputStream, extensionRegistryLite);
        }

        public static Key parseDelimitedFrom(InputStream inputStream) throws IOException {
            return (Key) PARSER.parseDelimitedFrom(inputStream);
        }

        public static Key parseDelimitedFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (Key) PARSER.parseDelimitedFrom(inputStream, extensionRegistryLite);
        }

        public static Key parseFrom(CodedInputStream codedInputStream) throws IOException {
            return (Key) PARSER.parseFrom(codedInputStream);
        }

        public static Key parseFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (Key) PARSER.parseFrom(codedInputStream, extensionRegistryLite);
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

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

        public static Builder newBuilder(Key key) {
            return newBuilder().mergeFrom(key);
        }

        public Builder m2288toBuilder() {
            return newBuilder(this);
        }

        public Builder newBuilderForType(GeneratedMessage.BuilderParent builderParent) {
            return new Builder(builderParent);
        }

        public static final class Builder extends GeneratedMessage.Builder<Builder> implements KeyOrBuilder {
            private int bitField0_;
            private long creationTimestamp_;
            private SingleFieldBuilder<DeterministicKey, DeterministicKey.Builder, DeterministicKeyOrBuilder> deterministicKeyBuilder_;
            private DeterministicKey deterministicKey_;
            private ByteString deterministicSeed_;
            private SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> encryptedDataBuilder_;
            private EncryptedData encryptedData_;
            private SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> encryptedDeterministicSeedBuilder_;
            private EncryptedData encryptedDeterministicSeed_;
            private Object label_;
            private ByteString publicKey_;
            private ByteString secretBytes_;
            private Type type_;

            public static final Descriptors.Descriptor getDescriptor() {
                return Protos.internal_static_wallet_Key_descriptor;
            }

            protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
                return Protos.internal_static_wallet_Key_fieldAccessorTable.ensureFieldAccessorsInitialized(Key.class, Builder.class);
            }

            private Builder() {
                this.type_ = Type.ORIGINAL;
                this.secretBytes_ = ByteString.EMPTY;
                this.encryptedData_ = EncryptedData.getDefaultInstance();
                this.publicKey_ = ByteString.EMPTY;
                this.label_ = "";
                this.deterministicKey_ = DeterministicKey.getDefaultInstance();
                this.deterministicSeed_ = ByteString.EMPTY;
                this.encryptedDeterministicSeed_ = EncryptedData.getDefaultInstance();
                maybeForceBuilderInitialization();
            }

            private Builder(GeneratedMessage.BuilderParent builderParent) {
                super(builderParent);
                this.type_ = Type.ORIGINAL;
                this.secretBytes_ = ByteString.EMPTY;
                this.encryptedData_ = EncryptedData.getDefaultInstance();
                this.publicKey_ = ByteString.EMPTY;
                this.label_ = "";
                this.deterministicKey_ = DeterministicKey.getDefaultInstance();
                this.deterministicSeed_ = ByteString.EMPTY;
                this.encryptedDeterministicSeed_ = EncryptedData.getDefaultInstance();
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                if (Key.alwaysUseFieldBuilders) {
                    getEncryptedDataFieldBuilder();
                    getDeterministicKeyFieldBuilder();
                    getEncryptedDeterministicSeedFieldBuilder();
                }
            }

            public static Builder create() {
                return new Builder();
            }

            public Builder m2297clear() {
                super.clear();
                this.type_ = Type.ORIGINAL;
                this.bitField0_ &= -2;
                this.secretBytes_ = ByteString.EMPTY;
                this.bitField0_ &= -3;
                SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> singleFieldBuilder = this.encryptedDataBuilder_;
                if (singleFieldBuilder == null) {
                    this.encryptedData_ = EncryptedData.getDefaultInstance();
                } else {
                    singleFieldBuilder.clear();
                }
                this.bitField0_ &= -5;
                this.publicKey_ = ByteString.EMPTY;
                int i = this.bitField0_ & (-9);
                this.bitField0_ = i;
                this.label_ = "";
                int i2 = i & (-17);
                this.bitField0_ = i2;
                this.creationTimestamp_ = 0L;
                this.bitField0_ = i2 & (-33);
                SingleFieldBuilder<DeterministicKey, DeterministicKey.Builder, DeterministicKeyOrBuilder> singleFieldBuilder2 = this.deterministicKeyBuilder_;
                if (singleFieldBuilder2 == null) {
                    this.deterministicKey_ = DeterministicKey.getDefaultInstance();
                } else {
                    singleFieldBuilder2.clear();
                }
                this.bitField0_ &= -65;
                this.deterministicSeed_ = ByteString.EMPTY;
                this.bitField0_ &= -129;
                SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> singleFieldBuilder3 = this.encryptedDeterministicSeedBuilder_;
                if (singleFieldBuilder3 == null) {
                    this.encryptedDeterministicSeed_ = EncryptedData.getDefaultInstance();
                } else {
                    singleFieldBuilder3.clear();
                }
                this.bitField0_ &= -257;
                return this;
            }

            public Builder m2303clone() {
                return create().mergeFrom(m2293buildPartial());
            }

            public Descriptors.Descriptor getDescriptorForType() {
                return Protos.internal_static_wallet_Key_descriptor;
            }

            public Key m2305getDefaultInstanceForType() {
                return Key.getDefaultInstance();
            }

            public Key m2291build() {
                Key m2293buildPartial = m2293buildPartial();
                if (m2293buildPartial.isInitialized()) {
                    return m2293buildPartial;
                }
                throw newUninitializedMessageException(m2293buildPartial);
            }

            public Key m2293buildPartial() {
                Key key = new Key(this);
                int i = this.bitField0_;
                int i2 = (i & 1) != 1 ? 0 : 1;
                key.type_ = this.type_;
                if ((i & 2) == 2) {
                    i2 |= 2;
                }
                key.secretBytes_ = this.secretBytes_;
                if ((i & 4) == 4) {
                    i2 |= 4;
                }
                SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> singleFieldBuilder = this.encryptedDataBuilder_;
                if (singleFieldBuilder == null) {
                    key.encryptedData_ = this.encryptedData_;
                } else {
                    key.encryptedData_ = (EncryptedData) singleFieldBuilder.build();
                }
                if ((i & 8) == 8) {
                    i2 |= 8;
                }
                key.publicKey_ = this.publicKey_;
                if ((i & 16) == 16) {
                    i2 |= 16;
                }
                key.label_ = this.label_;
                if ((i & 32) == 32) {
                    i2 |= 32;
                }
                key.creationTimestamp_ = this.creationTimestamp_;
                if ((i & 64) == 64) {
                    i2 |= 64;
                }
                SingleFieldBuilder<DeterministicKey, DeterministicKey.Builder, DeterministicKeyOrBuilder> singleFieldBuilder2 = this.deterministicKeyBuilder_;
                if (singleFieldBuilder2 == null) {
                    key.deterministicKey_ = this.deterministicKey_;
                } else {
                    key.deterministicKey_ = (DeterministicKey) singleFieldBuilder2.build();
                }
                if ((i & 128) == 128) {
                    i2 |= 128;
                }
                key.deterministicSeed_ = this.deterministicSeed_;
                if ((i & JSONParser.ACCEPT_TAILLING_DATA) == 256) {
                    i2 |= JSONParser.ACCEPT_TAILLING_DATA;
                }
                SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> singleFieldBuilder3 = this.encryptedDeterministicSeedBuilder_;
                if (singleFieldBuilder3 == null) {
                    key.encryptedDeterministicSeed_ = this.encryptedDeterministicSeed_;
                } else {
                    key.encryptedDeterministicSeed_ = (EncryptedData) singleFieldBuilder3.build();
                }
                key.bitField0_ = i2;
                onBuilt();
                return key;
            }

            public Builder m2309mergeFrom(Message message) {
                if (message instanceof Key) {
                    return mergeFrom((Key) message);
                }
                super.mergeFrom(message);
                return this;
            }

            public Builder mergeFrom(Key key) {
                if (key == Key.getDefaultInstance()) {
                    return this;
                }
                if (key.hasType()) {
                    setType(key.getType());
                }
                if (key.hasSecretBytes()) {
                    setSecretBytes(key.getSecretBytes());
                }
                if (key.hasEncryptedData()) {
                    mergeEncryptedData(key.getEncryptedData());
                }
                if (key.hasPublicKey()) {
                    setPublicKey(key.getPublicKey());
                }
                if (key.hasLabel()) {
                    this.bitField0_ |= 16;
                    this.label_ = key.label_;
                    onChanged();
                }
                if (key.hasCreationTimestamp()) {
                    setCreationTimestamp(key.getCreationTimestamp());
                }
                if (key.hasDeterministicKey()) {
                    mergeDeterministicKey(key.getDeterministicKey());
                }
                if (key.hasDeterministicSeed()) {
                    setDeterministicSeed(key.getDeterministicSeed());
                }
                if (key.hasEncryptedDeterministicSeed()) {
                    mergeEncryptedDeterministicSeed(key.getEncryptedDeterministicSeed());
                }
                mergeUnknownFields(key.getUnknownFields());
                return this;
            }

            public final boolean isInitialized() {
                if (!hasType()) {
                    return false;
                }
                if (hasEncryptedData() && !getEncryptedData().isInitialized()) {
                    return false;
                }
                if (!hasDeterministicKey() || getDeterministicKey().isInitialized()) {
                    return !hasEncryptedDeterministicSeed() || getEncryptedDeterministicSeed().isInitialized();
                }
                return false;
            }

            public org.bitcoinj.wallet.Protos.Key.Builder m2310mergeFrom(com.google.protobuf.CodedInputStream r3, com.google.protobuf.ExtensionRegistryLite r4) throws java.io.IOException {
                throw new UnsupportedOperationException("Method not decompiled: org.bitcoinj.wallet.Protos.Key.Builder.m2310mergeFrom(com.google.protobuf.CodedInputStream, com.google.protobuf.ExtensionRegistryLite):org.bitcoinj.wallet.Protos$Key$Builder");
            }

            @Override
            public boolean hasType() {
                return (this.bitField0_ & 1) == 1;
            }

            @Override
            public Type getType() {
                return this.type_;
            }

            public Builder setType(Type type) {
                if (type == null) {
                    throw null;
                }
                this.bitField0_ |= 1;
                this.type_ = type;
                onChanged();
                return this;
            }

            public Builder clearType() {
                this.bitField0_ &= -2;
                this.type_ = Type.ORIGINAL;
                onChanged();
                return this;
            }

            @Override
            public boolean hasSecretBytes() {
                return (this.bitField0_ & 2) == 2;
            }

            @Override
            public ByteString getSecretBytes() {
                return this.secretBytes_;
            }

            public Builder setSecretBytes(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 2;
                this.secretBytes_ = byteString;
                onChanged();
                return this;
            }

            public Builder clearSecretBytes() {
                this.bitField0_ &= -3;
                this.secretBytes_ = Key.getDefaultInstance().getSecretBytes();
                onChanged();
                return this;
            }

            @Override
            public boolean hasEncryptedData() {
                return (this.bitField0_ & 4) == 4;
            }

            @Override
            public EncryptedData getEncryptedData() {
                SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> singleFieldBuilder = this.encryptedDataBuilder_;
                if (singleFieldBuilder == null) {
                    return this.encryptedData_;
                }
                return (EncryptedData) singleFieldBuilder.getMessage();
            }

            public Builder setEncryptedData(EncryptedData encryptedData) {
                SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> singleFieldBuilder = this.encryptedDataBuilder_;
                if (singleFieldBuilder != null) {
                    singleFieldBuilder.setMessage(encryptedData);
                } else {
                    if (encryptedData == null) {
                        throw null;
                    }
                    this.encryptedData_ = encryptedData;
                    onChanged();
                }
                this.bitField0_ |= 4;
                return this;
            }

            public Builder setEncryptedData(EncryptedData.Builder builder) {
                SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> singleFieldBuilder = this.encryptedDataBuilder_;
                if (singleFieldBuilder == null) {
                    this.encryptedData_ = builder.m2201build();
                    onChanged();
                } else {
                    singleFieldBuilder.setMessage(builder.m2201build());
                }
                this.bitField0_ |= 4;
                return this;
            }

            public Builder mergeEncryptedData(EncryptedData encryptedData) {
                SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> singleFieldBuilder = this.encryptedDataBuilder_;
                if (singleFieldBuilder == null) {
                    if ((this.bitField0_ & 4) == 4 && this.encryptedData_ != EncryptedData.getDefaultInstance()) {
                        this.encryptedData_ = EncryptedData.newBuilder(this.encryptedData_).mergeFrom(encryptedData).m2203buildPartial();
                    } else {
                        this.encryptedData_ = encryptedData;
                    }
                    onChanged();
                } else {
                    singleFieldBuilder.mergeFrom(encryptedData);
                }
                this.bitField0_ |= 4;
                return this;
            }

            public Builder clearEncryptedData() {
                SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> singleFieldBuilder = this.encryptedDataBuilder_;
                if (singleFieldBuilder == null) {
                    this.encryptedData_ = EncryptedData.getDefaultInstance();
                    onChanged();
                } else {
                    singleFieldBuilder.clear();
                }
                this.bitField0_ &= -5;
                return this;
            }

            public EncryptedData.Builder getEncryptedDataBuilder() {
                this.bitField0_ |= 4;
                onChanged();
                return (EncryptedData.Builder) getEncryptedDataFieldBuilder().getBuilder();
            }

            @Override
            public EncryptedDataOrBuilder getEncryptedDataOrBuilder() {
                SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> singleFieldBuilder = this.encryptedDataBuilder_;
                if (singleFieldBuilder != null) {
                    return (EncryptedDataOrBuilder) singleFieldBuilder.getMessageOrBuilder();
                }
                return this.encryptedData_;
            }

            private SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> getEncryptedDataFieldBuilder() {
                if (this.encryptedDataBuilder_ == null) {
                    this.encryptedDataBuilder_ = new SingleFieldBuilder<>(getEncryptedData(), getParentForChildren(), isClean());
                    this.encryptedData_ = null;
                }
                return this.encryptedDataBuilder_;
            }

            @Override
            public boolean hasPublicKey() {
                return (this.bitField0_ & 8) == 8;
            }

            @Override
            public ByteString getPublicKey() {
                return this.publicKey_;
            }

            public Builder setPublicKey(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 8;
                this.publicKey_ = byteString;
                onChanged();
                return this;
            }

            public Builder clearPublicKey() {
                this.bitField0_ &= -9;
                this.publicKey_ = Key.getDefaultInstance().getPublicKey();
                onChanged();
                return this;
            }

            @Override
            public boolean hasLabel() {
                return (this.bitField0_ & 16) == 16;
            }

            @Override
            public String getLabel() {
                Object obj = this.label_;
                if (!(obj instanceof String)) {
                    ByteString byteString = (ByteString) obj;
                    String stringUtf8 = byteString.toStringUtf8();
                    if (byteString.isValidUtf8()) {
                        this.label_ = stringUtf8;
                    }
                    return stringUtf8;
                }
                return (String) obj;
            }

            @Override
            public ByteString getLabelBytes() {
                Object obj = this.label_;
                if (obj instanceof String) {
                    ByteString copyFromUtf8 = ByteString.copyFromUtf8((String) obj);
                    this.label_ = copyFromUtf8;
                    return copyFromUtf8;
                }
                return (ByteString) obj;
            }

            public Builder setLabel(String str) {
                if (str == null) {
                    throw null;
                }
                this.bitField0_ |= 16;
                this.label_ = str;
                onChanged();
                return this;
            }

            public Builder clearLabel() {
                this.bitField0_ &= -17;
                this.label_ = Key.getDefaultInstance().getLabel();
                onChanged();
                return this;
            }

            public Builder setLabelBytes(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 16;
                this.label_ = byteString;
                onChanged();
                return this;
            }

            @Override
            public boolean hasCreationTimestamp() {
                return (this.bitField0_ & 32) == 32;
            }

            @Override
            public long getCreationTimestamp() {
                return this.creationTimestamp_;
            }

            public Builder setCreationTimestamp(long j) {
                this.bitField0_ |= 32;
                this.creationTimestamp_ = j;
                onChanged();
                return this;
            }

            public Builder clearCreationTimestamp() {
                this.bitField0_ &= -33;
                this.creationTimestamp_ = 0L;
                onChanged();
                return this;
            }

            @Override
            public boolean hasDeterministicKey() {
                return (this.bitField0_ & 64) == 64;
            }

            @Override
            public DeterministicKey getDeterministicKey() {
                SingleFieldBuilder<DeterministicKey, DeterministicKey.Builder, DeterministicKeyOrBuilder> singleFieldBuilder = this.deterministicKeyBuilder_;
                if (singleFieldBuilder == null) {
                    return this.deterministicKey_;
                }
                return (DeterministicKey) singleFieldBuilder.getMessage();
            }

            public Builder setDeterministicKey(DeterministicKey deterministicKey) {
                SingleFieldBuilder<DeterministicKey, DeterministicKey.Builder, DeterministicKeyOrBuilder> singleFieldBuilder = this.deterministicKeyBuilder_;
                if (singleFieldBuilder != null) {
                    singleFieldBuilder.setMessage(deterministicKey);
                } else {
                    if (deterministicKey == null) {
                        throw null;
                    }
                    this.deterministicKey_ = deterministicKey;
                    onChanged();
                }
                this.bitField0_ |= 64;
                return this;
            }

            public Builder setDeterministicKey(DeterministicKey.Builder builder) {
                SingleFieldBuilder<DeterministicKey, DeterministicKey.Builder, DeterministicKeyOrBuilder> singleFieldBuilder = this.deterministicKeyBuilder_;
                if (singleFieldBuilder == null) {
                    this.deterministicKey_ = builder.m2171build();
                    onChanged();
                } else {
                    singleFieldBuilder.setMessage(builder.m2171build());
                }
                this.bitField0_ |= 64;
                return this;
            }

            public Builder mergeDeterministicKey(DeterministicKey deterministicKey) {
                SingleFieldBuilder<DeterministicKey, DeterministicKey.Builder, DeterministicKeyOrBuilder> singleFieldBuilder = this.deterministicKeyBuilder_;
                if (singleFieldBuilder == null) {
                    if ((this.bitField0_ & 64) == 64 && this.deterministicKey_ != DeterministicKey.getDefaultInstance()) {
                        this.deterministicKey_ = DeterministicKey.newBuilder(this.deterministicKey_).mergeFrom(deterministicKey).m2173buildPartial();
                    } else {
                        this.deterministicKey_ = deterministicKey;
                    }
                    onChanged();
                } else {
                    singleFieldBuilder.mergeFrom(deterministicKey);
                }
                this.bitField0_ |= 64;
                return this;
            }

            public Builder clearDeterministicKey() {
                SingleFieldBuilder<DeterministicKey, DeterministicKey.Builder, DeterministicKeyOrBuilder> singleFieldBuilder = this.deterministicKeyBuilder_;
                if (singleFieldBuilder == null) {
                    this.deterministicKey_ = DeterministicKey.getDefaultInstance();
                    onChanged();
                } else {
                    singleFieldBuilder.clear();
                }
                this.bitField0_ &= -65;
                return this;
            }

            public DeterministicKey.Builder getDeterministicKeyBuilder() {
                this.bitField0_ |= 64;
                onChanged();
                return (DeterministicKey.Builder) getDeterministicKeyFieldBuilder().getBuilder();
            }

            @Override
            public DeterministicKeyOrBuilder getDeterministicKeyOrBuilder() {
                SingleFieldBuilder<DeterministicKey, DeterministicKey.Builder, DeterministicKeyOrBuilder> singleFieldBuilder = this.deterministicKeyBuilder_;
                if (singleFieldBuilder != null) {
                    return (DeterministicKeyOrBuilder) singleFieldBuilder.getMessageOrBuilder();
                }
                return this.deterministicKey_;
            }

            private SingleFieldBuilder<DeterministicKey, DeterministicKey.Builder, DeterministicKeyOrBuilder> getDeterministicKeyFieldBuilder() {
                if (this.deterministicKeyBuilder_ == null) {
                    this.deterministicKeyBuilder_ = new SingleFieldBuilder<>(getDeterministicKey(), getParentForChildren(), isClean());
                    this.deterministicKey_ = null;
                }
                return this.deterministicKeyBuilder_;
            }

            @Override
            public boolean hasDeterministicSeed() {
                return (this.bitField0_ & 128) == 128;
            }

            @Override
            public ByteString getDeterministicSeed() {
                return this.deterministicSeed_;
            }

            public Builder setDeterministicSeed(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 128;
                this.deterministicSeed_ = byteString;
                onChanged();
                return this;
            }

            public Builder clearDeterministicSeed() {
                this.bitField0_ &= -129;
                this.deterministicSeed_ = Key.getDefaultInstance().getDeterministicSeed();
                onChanged();
                return this;
            }

            @Override
            public boolean hasEncryptedDeterministicSeed() {
                return (this.bitField0_ & JSONParser.ACCEPT_TAILLING_DATA) == 256;
            }

            @Override
            public EncryptedData getEncryptedDeterministicSeed() {
                SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> singleFieldBuilder = this.encryptedDeterministicSeedBuilder_;
                if (singleFieldBuilder == null) {
                    return this.encryptedDeterministicSeed_;
                }
                return (EncryptedData) singleFieldBuilder.getMessage();
            }

            public Builder setEncryptedDeterministicSeed(EncryptedData encryptedData) {
                SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> singleFieldBuilder = this.encryptedDeterministicSeedBuilder_;
                if (singleFieldBuilder != null) {
                    singleFieldBuilder.setMessage(encryptedData);
                } else {
                    if (encryptedData == null) {
                        throw null;
                    }
                    this.encryptedDeterministicSeed_ = encryptedData;
                    onChanged();
                }
                this.bitField0_ |= JSONParser.ACCEPT_TAILLING_DATA;
                return this;
            }

            public Builder setEncryptedDeterministicSeed(EncryptedData.Builder builder) {
                SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> singleFieldBuilder = this.encryptedDeterministicSeedBuilder_;
                if (singleFieldBuilder == null) {
                    this.encryptedDeterministicSeed_ = builder.m2201build();
                    onChanged();
                } else {
                    singleFieldBuilder.setMessage(builder.m2201build());
                }
                this.bitField0_ |= JSONParser.ACCEPT_TAILLING_DATA;
                return this;
            }

            public Builder mergeEncryptedDeterministicSeed(EncryptedData encryptedData) {
                SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> singleFieldBuilder = this.encryptedDeterministicSeedBuilder_;
                if (singleFieldBuilder == null) {
                    if ((this.bitField0_ & JSONParser.ACCEPT_TAILLING_DATA) == 256 && this.encryptedDeterministicSeed_ != EncryptedData.getDefaultInstance()) {
                        this.encryptedDeterministicSeed_ = EncryptedData.newBuilder(this.encryptedDeterministicSeed_).mergeFrom(encryptedData).m2203buildPartial();
                    } else {
                        this.encryptedDeterministicSeed_ = encryptedData;
                    }
                    onChanged();
                } else {
                    singleFieldBuilder.mergeFrom(encryptedData);
                }
                this.bitField0_ |= JSONParser.ACCEPT_TAILLING_DATA;
                return this;
            }

            public Builder clearEncryptedDeterministicSeed() {
                SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> singleFieldBuilder = this.encryptedDeterministicSeedBuilder_;
                if (singleFieldBuilder == null) {
                    this.encryptedDeterministicSeed_ = EncryptedData.getDefaultInstance();
                    onChanged();
                } else {
                    singleFieldBuilder.clear();
                }
                this.bitField0_ &= -257;
                return this;
            }

            public EncryptedData.Builder getEncryptedDeterministicSeedBuilder() {
                this.bitField0_ |= JSONParser.ACCEPT_TAILLING_DATA;
                onChanged();
                return (EncryptedData.Builder) getEncryptedDeterministicSeedFieldBuilder().getBuilder();
            }

            @Override
            public EncryptedDataOrBuilder getEncryptedDeterministicSeedOrBuilder() {
                SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> singleFieldBuilder = this.encryptedDeterministicSeedBuilder_;
                if (singleFieldBuilder != null) {
                    return (EncryptedDataOrBuilder) singleFieldBuilder.getMessageOrBuilder();
                }
                return this.encryptedDeterministicSeed_;
            }

            private SingleFieldBuilder<EncryptedData, EncryptedData.Builder, EncryptedDataOrBuilder> getEncryptedDeterministicSeedFieldBuilder() {
                if (this.encryptedDeterministicSeedBuilder_ == null) {
                    this.encryptedDeterministicSeedBuilder_ = new SingleFieldBuilder<>(getEncryptedDeterministicSeed(), getParentForChildren(), isClean());
                    this.encryptedDeterministicSeed_ = null;
                }
                return this.encryptedDeterministicSeedBuilder_;
            }
        }
    }

    public static final class Script extends GeneratedMessage implements ScriptOrBuilder {
        public static final int CREATION_TIMESTAMP_FIELD_NUMBER = 2;
        public static Parser<Script> PARSER = new AbstractParser<Script>() {
            public Script parsePartialFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
                return new Script(codedInputStream, extensionRegistryLite);
            }
        };
        public static final int PROGRAM_FIELD_NUMBER = 1;
        private static final Script defaultInstance;
        private static final long serialVersionUID = 0;
        private int bitField0_;
        private long creationTimestamp_;
        private byte memoizedIsInitialized;
        private int memoizedSerializedSize;
        private ByteString program_;
        private final UnknownFieldSet unknownFields;

        private Script(GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = builder.getUnknownFields();
        }

        private Script(boolean z) {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = UnknownFieldSet.getDefaultInstance();
        }

        public static Script getDefaultInstance() {
            return defaultInstance;
        }

        public Script m2344getDefaultInstanceForType() {
            return defaultInstance;
        }

        public final UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private Script(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            initFields();
            UnknownFieldSet.Builder newBuilder = UnknownFieldSet.newBuilder();
            boolean z = false;
            while (!z) {
                try {
                    try {
                        try {
                            int readTag = codedInputStream.readTag();
                            if (readTag != 0) {
                                if (readTag == 10) {
                                    this.bitField0_ |= 1;
                                    this.program_ = codedInputStream.readBytes();
                                } else if (readTag != 16) {
                                    if (!parseUnknownField(codedInputStream, newBuilder, extensionRegistryLite, readTag)) {
                                    }
                                } else {
                                    this.bitField0_ |= 2;
                                    this.creationTimestamp_ = codedInputStream.readInt64();
                                }
                            }
                            z = true;
                        } catch (IOException e) {
                            throw new InvalidProtocolBufferException(e.getMessage()).setUnfinishedMessage(this);
                        }
                    } catch (InvalidProtocolBufferException e2) {
                        throw e2.setUnfinishedMessage(this);
                    }
                } finally {
                    this.unknownFields = newBuilder.build();
                    makeExtensionsImmutable();
                }
            }
        }

        public static final Descriptors.Descriptor getDescriptor() {
            return Protos.internal_static_wallet_Script_descriptor;
        }

        protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return Protos.internal_static_wallet_Script_fieldAccessorTable.ensureFieldAccessorsInitialized(Script.class, Builder.class);
        }

        static {
            Script script = new Script(true);
            defaultInstance = script;
            script.initFields();
        }

        public Parser<Script> getParserForType() {
            return PARSER;
        }

        @Override
        public boolean hasProgram() {
            return (this.bitField0_ & 1) == 1;
        }

        @Override
        public ByteString getProgram() {
            return this.program_;
        }

        @Override
        public boolean hasCreationTimestamp() {
            return (this.bitField0_ & 2) == 2;
        }

        @Override
        public long getCreationTimestamp() {
            return this.creationTimestamp_;
        }

        private void initFields() {
            this.program_ = ByteString.EMPTY;
            this.creationTimestamp_ = 0L;
        }

        public final boolean isInitialized() {
            byte b = this.memoizedIsInitialized;
            if (b == 1) {
                return true;
            }
            if (b == 0) {
                return false;
            }
            if (!hasProgram()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            if (!hasCreationTimestamp()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            this.memoizedIsInitialized = (byte) 1;
            return true;
        }

        public void writeTo(CodedOutputStream codedOutputStream) throws IOException {
            getSerializedSize();
            if ((this.bitField0_ & 1) == 1) {
                codedOutputStream.writeBytes(1, this.program_);
            }
            if ((this.bitField0_ & 2) == 2) {
                codedOutputStream.writeInt64(2, this.creationTimestamp_);
            }
            getUnknownFields().writeTo(codedOutputStream);
        }

        public int getSerializedSize() {
            int i = this.memoizedSerializedSize;
            if (i != -1) {
                return i;
            }
            int computeBytesSize = (this.bitField0_ & 1) == 1 ? 0 + CodedOutputStream.computeBytesSize(1, this.program_) : 0;
            if ((this.bitField0_ & 2) == 2) {
                computeBytesSize += CodedOutputStream.computeInt64Size(2, this.creationTimestamp_);
            }
            int serializedSize = computeBytesSize + getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = serializedSize;
            return serializedSize;
        }

        protected Object writeReplace() throws ObjectStreamException {
            return super.writeReplace();
        }

        public static Script parseFrom(ByteString byteString) throws InvalidProtocolBufferException {
            return (Script) PARSER.parseFrom(byteString);
        }

        public static Script parseFrom(ByteString byteString, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (Script) PARSER.parseFrom(byteString, extensionRegistryLite);
        }

        public static Script parseFrom(byte[] bArr) throws InvalidProtocolBufferException {
            return (Script) PARSER.parseFrom(bArr);
        }

        public static Script parseFrom(byte[] bArr, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (Script) PARSER.parseFrom(bArr, extensionRegistryLite);
        }

        public static Script parseFrom(InputStream inputStream) throws IOException {
            return (Script) PARSER.parseFrom(inputStream);
        }

        public static Script parseFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (Script) PARSER.parseFrom(inputStream, extensionRegistryLite);
        }

        public static Script parseDelimitedFrom(InputStream inputStream) throws IOException {
            return (Script) PARSER.parseDelimitedFrom(inputStream);
        }

        public static Script parseDelimitedFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (Script) PARSER.parseDelimitedFrom(inputStream, extensionRegistryLite);
        }

        public static Script parseFrom(CodedInputStream codedInputStream) throws IOException {
            return (Script) PARSER.parseFrom(codedInputStream);
        }

        public static Script parseFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (Script) PARSER.parseFrom(codedInputStream, extensionRegistryLite);
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

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

        public static Builder newBuilder(Script script) {
            return newBuilder().mergeFrom(script);
        }

        public Builder m2349toBuilder() {
            return newBuilder(this);
        }

        public Builder newBuilderForType(GeneratedMessage.BuilderParent builderParent) {
            return new Builder(builderParent);
        }

        public static final class Builder extends GeneratedMessage.Builder<Builder> implements ScriptOrBuilder {
            private int bitField0_;
            private long creationTimestamp_;
            private ByteString program_;

            public static final Descriptors.Descriptor getDescriptor() {
                return Protos.internal_static_wallet_Script_descriptor;
            }

            protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
                return Protos.internal_static_wallet_Script_fieldAccessorTable.ensureFieldAccessorsInitialized(Script.class, Builder.class);
            }

            private Builder() {
                this.program_ = ByteString.EMPTY;
                maybeForceBuilderInitialization();
            }

            private Builder(GeneratedMessage.BuilderParent builderParent) {
                super(builderParent);
                this.program_ = ByteString.EMPTY;
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                boolean unused = Script.alwaysUseFieldBuilders;
            }

            public static Builder create() {
                return new Builder();
            }

            public Builder m2358clear() {
                super.clear();
                this.program_ = ByteString.EMPTY;
                int i = this.bitField0_ & (-2);
                this.bitField0_ = i;
                this.creationTimestamp_ = 0L;
                this.bitField0_ = i & (-3);
                return this;
            }

            public Builder m2364clone() {
                return create().mergeFrom(m2354buildPartial());
            }

            public Descriptors.Descriptor getDescriptorForType() {
                return Protos.internal_static_wallet_Script_descriptor;
            }

            public Script m2366getDefaultInstanceForType() {
                return Script.getDefaultInstance();
            }

            public Script m2352build() {
                Script m2354buildPartial = m2354buildPartial();
                if (m2354buildPartial.isInitialized()) {
                    return m2354buildPartial;
                }
                throw newUninitializedMessageException(m2354buildPartial);
            }

            public Script m2354buildPartial() {
                Script script = new Script(this);
                int i = this.bitField0_;
                int i2 = (i & 1) != 1 ? 0 : 1;
                script.program_ = this.program_;
                if ((i & 2) == 2) {
                    i2 |= 2;
                }
                script.creationTimestamp_ = this.creationTimestamp_;
                script.bitField0_ = i2;
                onBuilt();
                return script;
            }

            public Builder m2370mergeFrom(Message message) {
                if (message instanceof Script) {
                    return mergeFrom((Script) message);
                }
                super.mergeFrom(message);
                return this;
            }

            public Builder mergeFrom(Script script) {
                if (script == Script.getDefaultInstance()) {
                    return this;
                }
                if (script.hasProgram()) {
                    setProgram(script.getProgram());
                }
                if (script.hasCreationTimestamp()) {
                    setCreationTimestamp(script.getCreationTimestamp());
                }
                mergeUnknownFields(script.getUnknownFields());
                return this;
            }

            public final boolean isInitialized() {
                return hasProgram() && hasCreationTimestamp();
            }

            public org.bitcoinj.wallet.Protos.Script.Builder m2371mergeFrom(com.google.protobuf.CodedInputStream r3, com.google.protobuf.ExtensionRegistryLite r4) throws java.io.IOException {
                throw new UnsupportedOperationException("Method not decompiled: org.bitcoinj.wallet.Protos.Script.Builder.m2371mergeFrom(com.google.protobuf.CodedInputStream, com.google.protobuf.ExtensionRegistryLite):org.bitcoinj.wallet.Protos$Script$Builder");
            }

            @Override
            public boolean hasProgram() {
                return (this.bitField0_ & 1) == 1;
            }

            @Override
            public ByteString getProgram() {
                return this.program_;
            }

            public Builder setProgram(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 1;
                this.program_ = byteString;
                onChanged();
                return this;
            }

            public Builder clearProgram() {
                this.bitField0_ &= -2;
                this.program_ = Script.getDefaultInstance().getProgram();
                onChanged();
                return this;
            }

            @Override
            public boolean hasCreationTimestamp() {
                return (this.bitField0_ & 2) == 2;
            }

            @Override
            public long getCreationTimestamp() {
                return this.creationTimestamp_;
            }

            public Builder setCreationTimestamp(long j) {
                this.bitField0_ |= 2;
                this.creationTimestamp_ = j;
                onChanged();
                return this;
            }

            public Builder clearCreationTimestamp() {
                this.bitField0_ &= -3;
                this.creationTimestamp_ = 0L;
                onChanged();
                return this;
            }
        }
    }

    public static final class TransactionInput extends GeneratedMessage implements TransactionInputOrBuilder {
        public static Parser<TransactionInput> PARSER = new AbstractParser<TransactionInput>() {
            public TransactionInput parsePartialFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
                return new TransactionInput(codedInputStream, extensionRegistryLite);
            }
        };
        public static final int SCRIPT_BYTES_FIELD_NUMBER = 3;
        public static final int SEQUENCE_FIELD_NUMBER = 4;
        public static final int TRANSACTION_OUT_POINT_HASH_FIELD_NUMBER = 1;
        public static final int TRANSACTION_OUT_POINT_INDEX_FIELD_NUMBER = 2;
        public static final int VALUE_FIELD_NUMBER = 5;
        private static final TransactionInput defaultInstance;
        private static final long serialVersionUID = 0;
        private int bitField0_;
        private byte memoizedIsInitialized;
        private int memoizedSerializedSize;
        private ByteString scriptBytes_;
        private int sequence_;
        private ByteString transactionOutPointHash_;
        private int transactionOutPointIndex_;
        private final UnknownFieldSet unknownFields;
        private long value_;

        private TransactionInput(GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = builder.getUnknownFields();
        }

        private TransactionInput(boolean z) {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = UnknownFieldSet.getDefaultInstance();
        }

        public static TransactionInput getDefaultInstance() {
            return defaultInstance;
        }

        public TransactionInput m2498getDefaultInstanceForType() {
            return defaultInstance;
        }

        public final UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private TransactionInput(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            initFields();
            UnknownFieldSet.Builder newBuilder = UnknownFieldSet.newBuilder();
            boolean z = false;
            while (!z) {
                try {
                    try {
                        int readTag = codedInputStream.readTag();
                        if (readTag != 0) {
                            if (readTag == 10) {
                                this.bitField0_ |= 1;
                                this.transactionOutPointHash_ = codedInputStream.readBytes();
                            } else if (readTag == 16) {
                                this.bitField0_ |= 2;
                                this.transactionOutPointIndex_ = codedInputStream.readUInt32();
                            } else if (readTag == 26) {
                                this.bitField0_ |= 4;
                                this.scriptBytes_ = codedInputStream.readBytes();
                            } else if (readTag == 32) {
                                this.bitField0_ |= 8;
                                this.sequence_ = codedInputStream.readUInt32();
                            } else if (readTag != 40) {
                                if (!parseUnknownField(codedInputStream, newBuilder, extensionRegistryLite, readTag)) {
                                }
                            } else {
                                this.bitField0_ |= 16;
                                this.value_ = codedInputStream.readInt64();
                            }
                        }
                        z = true;
                    } catch (InvalidProtocolBufferException e) {
                        throw e.setUnfinishedMessage(this);
                    } catch (IOException e2) {
                        throw new InvalidProtocolBufferException(e2.getMessage()).setUnfinishedMessage(this);
                    }
                } finally {
                    this.unknownFields = newBuilder.build();
                    makeExtensionsImmutable();
                }
            }
        }

        public static final Descriptors.Descriptor getDescriptor() {
            return Protos.internal_static_wallet_TransactionInput_descriptor;
        }

        protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return Protos.internal_static_wallet_TransactionInput_fieldAccessorTable.ensureFieldAccessorsInitialized(TransactionInput.class, Builder.class);
        }

        static {
            TransactionInput transactionInput = new TransactionInput(true);
            defaultInstance = transactionInput;
            transactionInput.initFields();
        }

        public Parser<TransactionInput> getParserForType() {
            return PARSER;
        }

        @Override
        public boolean hasTransactionOutPointHash() {
            return (this.bitField0_ & 1) == 1;
        }

        @Override
        public ByteString getTransactionOutPointHash() {
            return this.transactionOutPointHash_;
        }

        @Override
        public boolean hasTransactionOutPointIndex() {
            return (this.bitField0_ & 2) == 2;
        }

        @Override
        public int getTransactionOutPointIndex() {
            return this.transactionOutPointIndex_;
        }

        @Override
        public boolean hasScriptBytes() {
            return (this.bitField0_ & 4) == 4;
        }

        @Override
        public ByteString getScriptBytes() {
            return this.scriptBytes_;
        }

        @Override
        public boolean hasSequence() {
            return (this.bitField0_ & 8) == 8;
        }

        @Override
        public int getSequence() {
            return this.sequence_;
        }

        @Override
        public boolean hasValue() {
            return (this.bitField0_ & 16) == 16;
        }

        @Override
        public long getValue() {
            return this.value_;
        }

        private void initFields() {
            this.transactionOutPointHash_ = ByteString.EMPTY;
            this.transactionOutPointIndex_ = 0;
            this.scriptBytes_ = ByteString.EMPTY;
            this.sequence_ = 0;
            this.value_ = 0L;
        }

        public final boolean isInitialized() {
            byte b = this.memoizedIsInitialized;
            if (b == 1) {
                return true;
            }
            if (b == 0) {
                return false;
            }
            if (!hasTransactionOutPointHash()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            if (!hasTransactionOutPointIndex()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            if (!hasScriptBytes()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            this.memoizedIsInitialized = (byte) 1;
            return true;
        }

        public void writeTo(CodedOutputStream codedOutputStream) throws IOException {
            getSerializedSize();
            if ((this.bitField0_ & 1) == 1) {
                codedOutputStream.writeBytes(1, this.transactionOutPointHash_);
            }
            if ((this.bitField0_ & 2) == 2) {
                codedOutputStream.writeUInt32(2, this.transactionOutPointIndex_);
            }
            if ((this.bitField0_ & 4) == 4) {
                codedOutputStream.writeBytes(3, this.scriptBytes_);
            }
            if ((this.bitField0_ & 8) == 8) {
                codedOutputStream.writeUInt32(4, this.sequence_);
            }
            if ((this.bitField0_ & 16) == 16) {
                codedOutputStream.writeInt64(5, this.value_);
            }
            getUnknownFields().writeTo(codedOutputStream);
        }

        public int getSerializedSize() {
            int i = this.memoizedSerializedSize;
            if (i != -1) {
                return i;
            }
            int computeBytesSize = (this.bitField0_ & 1) == 1 ? 0 + CodedOutputStream.computeBytesSize(1, this.transactionOutPointHash_) : 0;
            if ((this.bitField0_ & 2) == 2) {
                computeBytesSize += CodedOutputStream.computeUInt32Size(2, this.transactionOutPointIndex_);
            }
            if ((this.bitField0_ & 4) == 4) {
                computeBytesSize += CodedOutputStream.computeBytesSize(3, this.scriptBytes_);
            }
            if ((this.bitField0_ & 8) == 8) {
                computeBytesSize += CodedOutputStream.computeUInt32Size(4, this.sequence_);
            }
            if ((this.bitField0_ & 16) == 16) {
                computeBytesSize += CodedOutputStream.computeInt64Size(5, this.value_);
            }
            int serializedSize = computeBytesSize + getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = serializedSize;
            return serializedSize;
        }

        protected Object writeReplace() throws ObjectStreamException {
            return super.writeReplace();
        }

        public static TransactionInput parseFrom(ByteString byteString) throws InvalidProtocolBufferException {
            return (TransactionInput) PARSER.parseFrom(byteString);
        }

        public static TransactionInput parseFrom(ByteString byteString, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (TransactionInput) PARSER.parseFrom(byteString, extensionRegistryLite);
        }

        public static TransactionInput parseFrom(byte[] bArr) throws InvalidProtocolBufferException {
            return (TransactionInput) PARSER.parseFrom(bArr);
        }

        public static TransactionInput parseFrom(byte[] bArr, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (TransactionInput) PARSER.parseFrom(bArr, extensionRegistryLite);
        }

        public static TransactionInput parseFrom(InputStream inputStream) throws IOException {
            return (TransactionInput) PARSER.parseFrom(inputStream);
        }

        public static TransactionInput parseFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (TransactionInput) PARSER.parseFrom(inputStream, extensionRegistryLite);
        }

        public static TransactionInput parseDelimitedFrom(InputStream inputStream) throws IOException {
            return (TransactionInput) PARSER.parseDelimitedFrom(inputStream);
        }

        public static TransactionInput parseDelimitedFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (TransactionInput) PARSER.parseDelimitedFrom(inputStream, extensionRegistryLite);
        }

        public static TransactionInput parseFrom(CodedInputStream codedInputStream) throws IOException {
            return (TransactionInput) PARSER.parseFrom(codedInputStream);
        }

        public static TransactionInput parseFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (TransactionInput) PARSER.parseFrom(codedInputStream, extensionRegistryLite);
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

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

        public static Builder newBuilder(TransactionInput transactionInput) {
            return newBuilder().mergeFrom(transactionInput);
        }

        public Builder m2503toBuilder() {
            return newBuilder(this);
        }

        public Builder newBuilderForType(GeneratedMessage.BuilderParent builderParent) {
            return new Builder(builderParent);
        }

        public static final class Builder extends GeneratedMessage.Builder<Builder> implements TransactionInputOrBuilder {
            private int bitField0_;
            private ByteString scriptBytes_;
            private int sequence_;
            private ByteString transactionOutPointHash_;
            private int transactionOutPointIndex_;
            private long value_;

            public static final Descriptors.Descriptor getDescriptor() {
                return Protos.internal_static_wallet_TransactionInput_descriptor;
            }

            protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
                return Protos.internal_static_wallet_TransactionInput_fieldAccessorTable.ensureFieldAccessorsInitialized(TransactionInput.class, Builder.class);
            }

            private Builder() {
                this.transactionOutPointHash_ = ByteString.EMPTY;
                this.scriptBytes_ = ByteString.EMPTY;
                maybeForceBuilderInitialization();
            }

            private Builder(GeneratedMessage.BuilderParent builderParent) {
                super(builderParent);
                this.transactionOutPointHash_ = ByteString.EMPTY;
                this.scriptBytes_ = ByteString.EMPTY;
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                boolean unused = TransactionInput.alwaysUseFieldBuilders;
            }

            public static Builder create() {
                return new Builder();
            }

            public Builder m2512clear() {
                super.clear();
                this.transactionOutPointHash_ = ByteString.EMPTY;
                int i = this.bitField0_ & (-2);
                this.bitField0_ = i;
                this.transactionOutPointIndex_ = 0;
                this.bitField0_ = i & (-3);
                this.scriptBytes_ = ByteString.EMPTY;
                int i2 = this.bitField0_ & (-5);
                this.bitField0_ = i2;
                this.sequence_ = 0;
                int i3 = i2 & (-9);
                this.bitField0_ = i3;
                this.value_ = 0L;
                this.bitField0_ = i3 & (-17);
                return this;
            }

            public Builder m2518clone() {
                return create().mergeFrom(m2508buildPartial());
            }

            public Descriptors.Descriptor getDescriptorForType() {
                return Protos.internal_static_wallet_TransactionInput_descriptor;
            }

            public TransactionInput m2520getDefaultInstanceForType() {
                return TransactionInput.getDefaultInstance();
            }

            public TransactionInput m2506build() {
                TransactionInput m2508buildPartial = m2508buildPartial();
                if (m2508buildPartial.isInitialized()) {
                    return m2508buildPartial;
                }
                throw newUninitializedMessageException(m2508buildPartial);
            }

            public TransactionInput m2508buildPartial() {
                TransactionInput transactionInput = new TransactionInput(this);
                int i = this.bitField0_;
                int i2 = (i & 1) != 1 ? 0 : 1;
                transactionInput.transactionOutPointHash_ = this.transactionOutPointHash_;
                if ((i & 2) == 2) {
                    i2 |= 2;
                }
                transactionInput.transactionOutPointIndex_ = this.transactionOutPointIndex_;
                if ((i & 4) == 4) {
                    i2 |= 4;
                }
                transactionInput.scriptBytes_ = this.scriptBytes_;
                if ((i & 8) == 8) {
                    i2 |= 8;
                }
                transactionInput.sequence_ = this.sequence_;
                if ((i & 16) == 16) {
                    i2 |= 16;
                }
                transactionInput.value_ = this.value_;
                transactionInput.bitField0_ = i2;
                onBuilt();
                return transactionInput;
            }

            public Builder m2524mergeFrom(Message message) {
                if (message instanceof TransactionInput) {
                    return mergeFrom((TransactionInput) message);
                }
                super.mergeFrom(message);
                return this;
            }

            public Builder mergeFrom(TransactionInput transactionInput) {
                if (transactionInput == TransactionInput.getDefaultInstance()) {
                    return this;
                }
                if (transactionInput.hasTransactionOutPointHash()) {
                    setTransactionOutPointHash(transactionInput.getTransactionOutPointHash());
                }
                if (transactionInput.hasTransactionOutPointIndex()) {
                    setTransactionOutPointIndex(transactionInput.getTransactionOutPointIndex());
                }
                if (transactionInput.hasScriptBytes()) {
                    setScriptBytes(transactionInput.getScriptBytes());
                }
                if (transactionInput.hasSequence()) {
                    setSequence(transactionInput.getSequence());
                }
                if (transactionInput.hasValue()) {
                    setValue(transactionInput.getValue());
                }
                mergeUnknownFields(transactionInput.getUnknownFields());
                return this;
            }

            public final boolean isInitialized() {
                return hasTransactionOutPointHash() && hasTransactionOutPointIndex() && hasScriptBytes();
            }

            public org.bitcoinj.wallet.Protos.TransactionInput.Builder m2525mergeFrom(com.google.protobuf.CodedInputStream r3, com.google.protobuf.ExtensionRegistryLite r4) throws java.io.IOException {
                throw new UnsupportedOperationException("Method not decompiled: org.bitcoinj.wallet.Protos.TransactionInput.Builder.m2525mergeFrom(com.google.protobuf.CodedInputStream, com.google.protobuf.ExtensionRegistryLite):org.bitcoinj.wallet.Protos$TransactionInput$Builder");
            }

            @Override
            public boolean hasTransactionOutPointHash() {
                return (this.bitField0_ & 1) == 1;
            }

            @Override
            public ByteString getTransactionOutPointHash() {
                return this.transactionOutPointHash_;
            }

            public Builder setTransactionOutPointHash(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 1;
                this.transactionOutPointHash_ = byteString;
                onChanged();
                return this;
            }

            public Builder clearTransactionOutPointHash() {
                this.bitField0_ &= -2;
                this.transactionOutPointHash_ = TransactionInput.getDefaultInstance().getTransactionOutPointHash();
                onChanged();
                return this;
            }

            @Override
            public boolean hasTransactionOutPointIndex() {
                return (this.bitField0_ & 2) == 2;
            }

            @Override
            public int getTransactionOutPointIndex() {
                return this.transactionOutPointIndex_;
            }

            public Builder setTransactionOutPointIndex(int i) {
                this.bitField0_ |= 2;
                this.transactionOutPointIndex_ = i;
                onChanged();
                return this;
            }

            public Builder clearTransactionOutPointIndex() {
                this.bitField0_ &= -3;
                this.transactionOutPointIndex_ = 0;
                onChanged();
                return this;
            }

            @Override
            public boolean hasScriptBytes() {
                return (this.bitField0_ & 4) == 4;
            }

            @Override
            public ByteString getScriptBytes() {
                return this.scriptBytes_;
            }

            public Builder setScriptBytes(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 4;
                this.scriptBytes_ = byteString;
                onChanged();
                return this;
            }

            public Builder clearScriptBytes() {
                this.bitField0_ &= -5;
                this.scriptBytes_ = TransactionInput.getDefaultInstance().getScriptBytes();
                onChanged();
                return this;
            }

            @Override
            public boolean hasSequence() {
                return (this.bitField0_ & 8) == 8;
            }

            @Override
            public int getSequence() {
                return this.sequence_;
            }

            public Builder setSequence(int i) {
                this.bitField0_ |= 8;
                this.sequence_ = i;
                onChanged();
                return this;
            }

            public Builder clearSequence() {
                this.bitField0_ &= -9;
                this.sequence_ = 0;
                onChanged();
                return this;
            }

            @Override
            public boolean hasValue() {
                return (this.bitField0_ & 16) == 16;
            }

            @Override
            public long getValue() {
                return this.value_;
            }

            public Builder setValue(long j) {
                this.bitField0_ |= 16;
                this.value_ = j;
                onChanged();
                return this;
            }

            public Builder clearValue() {
                this.bitField0_ &= -17;
                this.value_ = 0L;
                onChanged();
                return this;
            }
        }
    }

    public static final class TransactionOutput extends GeneratedMessage implements TransactionOutputOrBuilder {
        public static Parser<TransactionOutput> PARSER = new AbstractParser<TransactionOutput>() {
            public TransactionOutput parsePartialFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
                return new TransactionOutput(codedInputStream, extensionRegistryLite);
            }
        };
        public static final int SCRIPT_BYTES_FIELD_NUMBER = 2;
        public static final int SPENT_BY_TRANSACTION_HASH_FIELD_NUMBER = 3;
        public static final int SPENT_BY_TRANSACTION_INDEX_FIELD_NUMBER = 4;
        public static final int VALUE_FIELD_NUMBER = 1;
        private static final TransactionOutput defaultInstance;
        private static final long serialVersionUID = 0;
        private int bitField0_;
        private byte memoizedIsInitialized;
        private int memoizedSerializedSize;
        private ByteString scriptBytes_;
        private ByteString spentByTransactionHash_;
        private int spentByTransactionIndex_;
        private final UnknownFieldSet unknownFields;
        private long value_;

        private TransactionOutput(GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = builder.getUnknownFields();
        }

        private TransactionOutput(boolean z) {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = UnknownFieldSet.getDefaultInstance();
        }

        public static TransactionOutput getDefaultInstance() {
            return defaultInstance;
        }

        public TransactionOutput m2528getDefaultInstanceForType() {
            return defaultInstance;
        }

        public final UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private TransactionOutput(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            initFields();
            UnknownFieldSet.Builder newBuilder = UnknownFieldSet.newBuilder();
            boolean z = false;
            while (!z) {
                try {
                    try {
                        int readTag = codedInputStream.readTag();
                        if (readTag != 0) {
                            if (readTag == 8) {
                                this.bitField0_ |= 1;
                                this.value_ = codedInputStream.readInt64();
                            } else if (readTag == 18) {
                                this.bitField0_ |= 2;
                                this.scriptBytes_ = codedInputStream.readBytes();
                            } else if (readTag == 26) {
                                this.bitField0_ |= 4;
                                this.spentByTransactionHash_ = codedInputStream.readBytes();
                            } else if (readTag != 32) {
                                if (!parseUnknownField(codedInputStream, newBuilder, extensionRegistryLite, readTag)) {
                                }
                            } else {
                                this.bitField0_ |= 8;
                                this.spentByTransactionIndex_ = codedInputStream.readInt32();
                            }
                        }
                        z = true;
                    } catch (InvalidProtocolBufferException e) {
                        throw e.setUnfinishedMessage(this);
                    } catch (IOException e2) {
                        throw new InvalidProtocolBufferException(e2.getMessage()).setUnfinishedMessage(this);
                    }
                } finally {
                    this.unknownFields = newBuilder.build();
                    makeExtensionsImmutable();
                }
            }
        }

        public static final Descriptors.Descriptor getDescriptor() {
            return Protos.internal_static_wallet_TransactionOutput_descriptor;
        }

        protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return Protos.internal_static_wallet_TransactionOutput_fieldAccessorTable.ensureFieldAccessorsInitialized(TransactionOutput.class, Builder.class);
        }

        static {
            TransactionOutput transactionOutput = new TransactionOutput(true);
            defaultInstance = transactionOutput;
            transactionOutput.initFields();
        }

        public Parser<TransactionOutput> getParserForType() {
            return PARSER;
        }

        @Override
        public boolean hasValue() {
            return (this.bitField0_ & 1) == 1;
        }

        @Override
        public long getValue() {
            return this.value_;
        }

        @Override
        public boolean hasScriptBytes() {
            return (this.bitField0_ & 2) == 2;
        }

        @Override
        public ByteString getScriptBytes() {
            return this.scriptBytes_;
        }

        @Override
        public boolean hasSpentByTransactionHash() {
            return (this.bitField0_ & 4) == 4;
        }

        @Override
        public ByteString getSpentByTransactionHash() {
            return this.spentByTransactionHash_;
        }

        @Override
        public boolean hasSpentByTransactionIndex() {
            return (this.bitField0_ & 8) == 8;
        }

        @Override
        public int getSpentByTransactionIndex() {
            return this.spentByTransactionIndex_;
        }

        private void initFields() {
            this.value_ = 0L;
            this.scriptBytes_ = ByteString.EMPTY;
            this.spentByTransactionHash_ = ByteString.EMPTY;
            this.spentByTransactionIndex_ = 0;
        }

        public final boolean isInitialized() {
            byte b = this.memoizedIsInitialized;
            if (b == 1) {
                return true;
            }
            if (b == 0) {
                return false;
            }
            if (!hasValue()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            if (!hasScriptBytes()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            this.memoizedIsInitialized = (byte) 1;
            return true;
        }

        public void writeTo(CodedOutputStream codedOutputStream) throws IOException {
            getSerializedSize();
            if ((this.bitField0_ & 1) == 1) {
                codedOutputStream.writeInt64(1, this.value_);
            }
            if ((this.bitField0_ & 2) == 2) {
                codedOutputStream.writeBytes(2, this.scriptBytes_);
            }
            if ((this.bitField0_ & 4) == 4) {
                codedOutputStream.writeBytes(3, this.spentByTransactionHash_);
            }
            if ((this.bitField0_ & 8) == 8) {
                codedOutputStream.writeInt32(4, this.spentByTransactionIndex_);
            }
            getUnknownFields().writeTo(codedOutputStream);
        }

        public int getSerializedSize() {
            int i = this.memoizedSerializedSize;
            if (i != -1) {
                return i;
            }
            int computeInt64Size = (this.bitField0_ & 1) == 1 ? 0 + CodedOutputStream.computeInt64Size(1, this.value_) : 0;
            if ((this.bitField0_ & 2) == 2) {
                computeInt64Size += CodedOutputStream.computeBytesSize(2, this.scriptBytes_);
            }
            if ((this.bitField0_ & 4) == 4) {
                computeInt64Size += CodedOutputStream.computeBytesSize(3, this.spentByTransactionHash_);
            }
            if ((this.bitField0_ & 8) == 8) {
                computeInt64Size += CodedOutputStream.computeInt32Size(4, this.spentByTransactionIndex_);
            }
            int serializedSize = computeInt64Size + getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = serializedSize;
            return serializedSize;
        }

        protected Object writeReplace() throws ObjectStreamException {
            return super.writeReplace();
        }

        public static TransactionOutput parseFrom(ByteString byteString) throws InvalidProtocolBufferException {
            return (TransactionOutput) PARSER.parseFrom(byteString);
        }

        public static TransactionOutput parseFrom(ByteString byteString, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (TransactionOutput) PARSER.parseFrom(byteString, extensionRegistryLite);
        }

        public static TransactionOutput parseFrom(byte[] bArr) throws InvalidProtocolBufferException {
            return (TransactionOutput) PARSER.parseFrom(bArr);
        }

        public static TransactionOutput parseFrom(byte[] bArr, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (TransactionOutput) PARSER.parseFrom(bArr, extensionRegistryLite);
        }

        public static TransactionOutput parseFrom(InputStream inputStream) throws IOException {
            return (TransactionOutput) PARSER.parseFrom(inputStream);
        }

        public static TransactionOutput parseFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (TransactionOutput) PARSER.parseFrom(inputStream, extensionRegistryLite);
        }

        public static TransactionOutput parseDelimitedFrom(InputStream inputStream) throws IOException {
            return (TransactionOutput) PARSER.parseDelimitedFrom(inputStream);
        }

        public static TransactionOutput parseDelimitedFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (TransactionOutput) PARSER.parseDelimitedFrom(inputStream, extensionRegistryLite);
        }

        public static TransactionOutput parseFrom(CodedInputStream codedInputStream) throws IOException {
            return (TransactionOutput) PARSER.parseFrom(codedInputStream);
        }

        public static TransactionOutput parseFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (TransactionOutput) PARSER.parseFrom(codedInputStream, extensionRegistryLite);
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

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

        public static Builder newBuilder(TransactionOutput transactionOutput) {
            return newBuilder().mergeFrom(transactionOutput);
        }

        public Builder m2533toBuilder() {
            return newBuilder(this);
        }

        public Builder newBuilderForType(GeneratedMessage.BuilderParent builderParent) {
            return new Builder(builderParent);
        }

        public static final class Builder extends GeneratedMessage.Builder<Builder> implements TransactionOutputOrBuilder {
            private int bitField0_;
            private ByteString scriptBytes_;
            private ByteString spentByTransactionHash_;
            private int spentByTransactionIndex_;
            private long value_;

            public static final Descriptors.Descriptor getDescriptor() {
                return Protos.internal_static_wallet_TransactionOutput_descriptor;
            }

            protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
                return Protos.internal_static_wallet_TransactionOutput_fieldAccessorTable.ensureFieldAccessorsInitialized(TransactionOutput.class, Builder.class);
            }

            private Builder() {
                this.scriptBytes_ = ByteString.EMPTY;
                this.spentByTransactionHash_ = ByteString.EMPTY;
                maybeForceBuilderInitialization();
            }

            private Builder(GeneratedMessage.BuilderParent builderParent) {
                super(builderParent);
                this.scriptBytes_ = ByteString.EMPTY;
                this.spentByTransactionHash_ = ByteString.EMPTY;
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                boolean unused = TransactionOutput.alwaysUseFieldBuilders;
            }

            public static Builder create() {
                return new Builder();
            }

            public Builder m2542clear() {
                super.clear();
                this.value_ = 0L;
                this.bitField0_ &= -2;
                this.scriptBytes_ = ByteString.EMPTY;
                this.bitField0_ &= -3;
                this.spentByTransactionHash_ = ByteString.EMPTY;
                int i = this.bitField0_ & (-5);
                this.bitField0_ = i;
                this.spentByTransactionIndex_ = 0;
                this.bitField0_ = i & (-9);
                return this;
            }

            public Builder m2548clone() {
                return create().mergeFrom(m2538buildPartial());
            }

            public Descriptors.Descriptor getDescriptorForType() {
                return Protos.internal_static_wallet_TransactionOutput_descriptor;
            }

            public TransactionOutput m2550getDefaultInstanceForType() {
                return TransactionOutput.getDefaultInstance();
            }

            public TransactionOutput m2536build() {
                TransactionOutput m2538buildPartial = m2538buildPartial();
                if (m2538buildPartial.isInitialized()) {
                    return m2538buildPartial;
                }
                throw newUninitializedMessageException(m2538buildPartial);
            }

            public TransactionOutput m2538buildPartial() {
                TransactionOutput transactionOutput = new TransactionOutput(this);
                int i = this.bitField0_;
                int i2 = (i & 1) != 1 ? 0 : 1;
                transactionOutput.value_ = this.value_;
                if ((i & 2) == 2) {
                    i2 |= 2;
                }
                transactionOutput.scriptBytes_ = this.scriptBytes_;
                if ((i & 4) == 4) {
                    i2 |= 4;
                }
                transactionOutput.spentByTransactionHash_ = this.spentByTransactionHash_;
                if ((i & 8) == 8) {
                    i2 |= 8;
                }
                transactionOutput.spentByTransactionIndex_ = this.spentByTransactionIndex_;
                transactionOutput.bitField0_ = i2;
                onBuilt();
                return transactionOutput;
            }

            public Builder m2554mergeFrom(Message message) {
                if (message instanceof TransactionOutput) {
                    return mergeFrom((TransactionOutput) message);
                }
                super.mergeFrom(message);
                return this;
            }

            public Builder mergeFrom(TransactionOutput transactionOutput) {
                if (transactionOutput == TransactionOutput.getDefaultInstance()) {
                    return this;
                }
                if (transactionOutput.hasValue()) {
                    setValue(transactionOutput.getValue());
                }
                if (transactionOutput.hasScriptBytes()) {
                    setScriptBytes(transactionOutput.getScriptBytes());
                }
                if (transactionOutput.hasSpentByTransactionHash()) {
                    setSpentByTransactionHash(transactionOutput.getSpentByTransactionHash());
                }
                if (transactionOutput.hasSpentByTransactionIndex()) {
                    setSpentByTransactionIndex(transactionOutput.getSpentByTransactionIndex());
                }
                mergeUnknownFields(transactionOutput.getUnknownFields());
                return this;
            }

            public final boolean isInitialized() {
                return hasValue() && hasScriptBytes();
            }

            public org.bitcoinj.wallet.Protos.TransactionOutput.Builder m2555mergeFrom(com.google.protobuf.CodedInputStream r3, com.google.protobuf.ExtensionRegistryLite r4) throws java.io.IOException {
                throw new UnsupportedOperationException("Method not decompiled: org.bitcoinj.wallet.Protos.TransactionOutput.Builder.m2555mergeFrom(com.google.protobuf.CodedInputStream, com.google.protobuf.ExtensionRegistryLite):org.bitcoinj.wallet.Protos$TransactionOutput$Builder");
            }

            @Override
            public boolean hasValue() {
                return (this.bitField0_ & 1) == 1;
            }

            @Override
            public long getValue() {
                return this.value_;
            }

            public Builder setValue(long j) {
                this.bitField0_ |= 1;
                this.value_ = j;
                onChanged();
                return this;
            }

            public Builder clearValue() {
                this.bitField0_ &= -2;
                this.value_ = 0L;
                onChanged();
                return this;
            }

            @Override
            public boolean hasScriptBytes() {
                return (this.bitField0_ & 2) == 2;
            }

            @Override
            public ByteString getScriptBytes() {
                return this.scriptBytes_;
            }

            public Builder setScriptBytes(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 2;
                this.scriptBytes_ = byteString;
                onChanged();
                return this;
            }

            public Builder clearScriptBytes() {
                this.bitField0_ &= -3;
                this.scriptBytes_ = TransactionOutput.getDefaultInstance().getScriptBytes();
                onChanged();
                return this;
            }

            @Override
            public boolean hasSpentByTransactionHash() {
                return (this.bitField0_ & 4) == 4;
            }

            @Override
            public ByteString getSpentByTransactionHash() {
                return this.spentByTransactionHash_;
            }

            public Builder setSpentByTransactionHash(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 4;
                this.spentByTransactionHash_ = byteString;
                onChanged();
                return this;
            }

            public Builder clearSpentByTransactionHash() {
                this.bitField0_ &= -5;
                this.spentByTransactionHash_ = TransactionOutput.getDefaultInstance().getSpentByTransactionHash();
                onChanged();
                return this;
            }

            @Override
            public boolean hasSpentByTransactionIndex() {
                return (this.bitField0_ & 8) == 8;
            }

            @Override
            public int getSpentByTransactionIndex() {
                return this.spentByTransactionIndex_;
            }

            public Builder setSpentByTransactionIndex(int i) {
                this.bitField0_ |= 8;
                this.spentByTransactionIndex_ = i;
                onChanged();
                return this;
            }

            public Builder clearSpentByTransactionIndex() {
                this.bitField0_ &= -9;
                this.spentByTransactionIndex_ = 0;
                onChanged();
                return this;
            }
        }
    }

    public static final class TransactionConfidence extends GeneratedMessage implements TransactionConfidenceOrBuilder {
        public static final int APPEARED_AT_HEIGHT_FIELD_NUMBER = 2;
        public static final int BROADCAST_BY_FIELD_NUMBER = 6;
        public static final int DEPTH_FIELD_NUMBER = 4;
        public static final int LAST_BROADCASTED_AT_FIELD_NUMBER = 8;
        public static final int OVERRIDING_TRANSACTION_FIELD_NUMBER = 3;
        public static Parser<TransactionConfidence> PARSER = new AbstractParser<TransactionConfidence>() {
            public TransactionConfidence parsePartialFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
                return new TransactionConfidence(codedInputStream, extensionRegistryLite);
            }
        };
        public static final int SOURCE_FIELD_NUMBER = 7;
        public static final int TYPE_FIELD_NUMBER = 1;
        private static final TransactionConfidence defaultInstance;
        private static final long serialVersionUID = 0;
        private int appearedAtHeight_;
        private int bitField0_;
        private List<PeerAddress> broadcastBy_;
        private int depth_;
        private long lastBroadcastedAt_;
        private byte memoizedIsInitialized;
        private int memoizedSerializedSize;
        private ByteString overridingTransaction_;
        private Source source_;
        private Type type_;
        private final UnknownFieldSet unknownFields;

        private TransactionConfidence(GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = builder.getUnknownFields();
        }

        private TransactionConfidence(boolean z) {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = UnknownFieldSet.getDefaultInstance();
        }

        public static TransactionConfidence getDefaultInstance() {
            return defaultInstance;
        }

        public TransactionConfidence m2466getDefaultInstanceForType() {
            return defaultInstance;
        }

        public final UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private TransactionConfidence(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            initFields();
            UnknownFieldSet.Builder newBuilder = UnknownFieldSet.newBuilder();
            boolean z = false;
            int i = 0;
            while (true) {
                if (z) {
                    break;
                }
                try {
                    try {
                        int readTag = codedInputStream.readTag();
                        if (readTag != 0) {
                            if (readTag == 8) {
                                int readEnum = codedInputStream.readEnum();
                                Type valueOf = Type.valueOf(readEnum);
                                if (valueOf == null) {
                                    newBuilder.mergeVarintField(1, readEnum);
                                } else {
                                    this.bitField0_ |= 1;
                                    this.type_ = valueOf;
                                }
                            } else if (readTag == 16) {
                                this.bitField0_ |= 2;
                                this.appearedAtHeight_ = codedInputStream.readInt32();
                            } else if (readTag == 26) {
                                this.bitField0_ |= 4;
                                this.overridingTransaction_ = codedInputStream.readBytes();
                            } else if (readTag == 32) {
                                this.bitField0_ |= 8;
                                this.depth_ = codedInputStream.readInt32();
                            } else if (readTag == 50) {
                                if ((i & 16) != 16) {
                                    this.broadcastBy_ = new ArrayList();
                                    i |= 16;
                                }
                                this.broadcastBy_.add(codedInputStream.readMessage(PeerAddress.PARSER, extensionRegistryLite));
                            } else if (readTag == 56) {
                                int readEnum2 = codedInputStream.readEnum();
                                Source valueOf2 = Source.valueOf(readEnum2);
                                if (valueOf2 == null) {
                                    newBuilder.mergeVarintField(7, readEnum2);
                                } else {
                                    this.bitField0_ |= 32;
                                    this.source_ = valueOf2;
                                }
                            } else if (readTag != 64) {
                                if (!parseUnknownField(codedInputStream, newBuilder, extensionRegistryLite, readTag)) {
                                }
                            } else {
                                this.bitField0_ |= 16;
                                this.lastBroadcastedAt_ = codedInputStream.readInt64();
                            }
                        }
                        z = true;
                    } catch (InvalidProtocolBufferException e) {
                        throw e.setUnfinishedMessage(this);
                    } catch (IOException e2) {
                        throw new InvalidProtocolBufferException(e2.getMessage()).setUnfinishedMessage(this);
                    }
                } finally {
                    if ((i & 16) == 16) {
                        this.broadcastBy_ = Collections.unmodifiableList(this.broadcastBy_);
                    }
                    this.unknownFields = newBuilder.build();
                    makeExtensionsImmutable();
                }
            }
        }

        public static final Descriptors.Descriptor getDescriptor() {
            return Protos.internal_static_wallet_TransactionConfidence_descriptor;
        }

        protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return Protos.internal_static_wallet_TransactionConfidence_fieldAccessorTable.ensureFieldAccessorsInitialized(TransactionConfidence.class, Builder.class);
        }

        static {
            TransactionConfidence transactionConfidence = new TransactionConfidence(true);
            defaultInstance = transactionConfidence;
            transactionConfidence.initFields();
        }

        public Parser<TransactionConfidence> getParserForType() {
            return PARSER;
        }

        public enum Type implements ProtocolMessageEnum {
            UNKNOWN(0, 0),
            BUILDING(1, 1),
            PENDING(2, 2),
            NOT_IN_BEST_CHAIN(3, 3),
            DEAD(4, 4),
            IN_CONFLICT(5, 5);

            public static final int BUILDING_VALUE = 1;
            public static final int DEAD_VALUE = 4;
            public static final int IN_CONFLICT_VALUE = 5;
            public static final int NOT_IN_BEST_CHAIN_VALUE = 3;
            public static final int PENDING_VALUE = 2;
            public static final int UNKNOWN_VALUE = 0;
            private final int index;
            private final int value;
            private static Internal.EnumLiteMap<Type> internalValueMap = new Internal.EnumLiteMap<Type>() {
                public Type findValueByNumber(int i) {
                    return Type.valueOf(i);
                }
            };
            private static final Type[] VALUES = values();

            public final int getNumber() {
                return this.value;
            }

            public static Type valueOf(int i) {
                if (i == 0) {
                    return UNKNOWN;
                }
                if (i == 1) {
                    return BUILDING;
                }
                if (i == 2) {
                    return PENDING;
                }
                if (i == 3) {
                    return NOT_IN_BEST_CHAIN;
                }
                if (i == 4) {
                    return DEAD;
                }
                if (i != 5) {
                    return null;
                }
                return IN_CONFLICT;
            }

            public static Internal.EnumLiteMap<Type> internalGetValueMap() {
                return internalValueMap;
            }

            public final Descriptors.EnumValueDescriptor getValueDescriptor() {
                return (Descriptors.EnumValueDescriptor) getDescriptor().getValues().get(this.index);
            }

            public final Descriptors.EnumDescriptor getDescriptorForType() {
                return getDescriptor();
            }

            public static final Descriptors.EnumDescriptor getDescriptor() {
                return (Descriptors.EnumDescriptor) TransactionConfidence.getDescriptor().getEnumTypes().get(0);
            }

            public static Type valueOf(Descriptors.EnumValueDescriptor enumValueDescriptor) {
                if (enumValueDescriptor.getType() != getDescriptor()) {
                    throw new IllegalArgumentException("EnumValueDescriptor is not for this type.");
                }
                return VALUES[enumValueDescriptor.getIndex()];
            }

            Type(int i, int i2) {
                this.index = i;
                this.value = i2;
            }
        }

        public enum Source implements ProtocolMessageEnum {
            SOURCE_UNKNOWN(0, 0),
            SOURCE_NETWORK(1, 1),
            SOURCE_SELF(2, 2);

            public static final int SOURCE_NETWORK_VALUE = 1;
            public static final int SOURCE_SELF_VALUE = 2;
            public static final int SOURCE_UNKNOWN_VALUE = 0;
            private final int index;
            private final int value;
            private static Internal.EnumLiteMap<Source> internalValueMap = new Internal.EnumLiteMap<Source>() {
                public Source findValueByNumber(int i) {
                    return Source.valueOf(i);
                }
            };
            private static final Source[] VALUES = values();

            public final int getNumber() {
                return this.value;
            }

            public static Source valueOf(int i) {
                if (i == 0) {
                    return SOURCE_UNKNOWN;
                }
                if (i == 1) {
                    return SOURCE_NETWORK;
                }
                if (i != 2) {
                    return null;
                }
                return SOURCE_SELF;
            }

            public static Internal.EnumLiteMap<Source> internalGetValueMap() {
                return internalValueMap;
            }

            public final Descriptors.EnumValueDescriptor getValueDescriptor() {
                return (Descriptors.EnumValueDescriptor) getDescriptor().getValues().get(this.index);
            }

            public final Descriptors.EnumDescriptor getDescriptorForType() {
                return getDescriptor();
            }

            public static final Descriptors.EnumDescriptor getDescriptor() {
                return (Descriptors.EnumDescriptor) TransactionConfidence.getDescriptor().getEnumTypes().get(1);
            }

            public static Source valueOf(Descriptors.EnumValueDescriptor enumValueDescriptor) {
                if (enumValueDescriptor.getType() != getDescriptor()) {
                    throw new IllegalArgumentException("EnumValueDescriptor is not for this type.");
                }
                return VALUES[enumValueDescriptor.getIndex()];
            }

            Source(int i, int i2) {
                this.index = i;
                this.value = i2;
            }
        }

        @Override
        public boolean hasType() {
            return (this.bitField0_ & 1) == 1;
        }

        @Override
        public Type getType() {
            return this.type_;
        }

        @Override
        public boolean hasAppearedAtHeight() {
            return (this.bitField0_ & 2) == 2;
        }

        @Override
        public int getAppearedAtHeight() {
            return this.appearedAtHeight_;
        }

        @Override
        public boolean hasOverridingTransaction() {
            return (this.bitField0_ & 4) == 4;
        }

        @Override
        public ByteString getOverridingTransaction() {
            return this.overridingTransaction_;
        }

        @Override
        public boolean hasDepth() {
            return (this.bitField0_ & 8) == 8;
        }

        @Override
        public int getDepth() {
            return this.depth_;
        }

        @Override
        public List<PeerAddress> getBroadcastByList() {
            return this.broadcastBy_;
        }

        @Override
        public List<? extends PeerAddressOrBuilder> getBroadcastByOrBuilderList() {
            return this.broadcastBy_;
        }

        @Override
        public int getBroadcastByCount() {
            return this.broadcastBy_.size();
        }

        @Override
        public PeerAddress getBroadcastBy(int i) {
            return this.broadcastBy_.get(i);
        }

        @Override
        public PeerAddressOrBuilder getBroadcastByOrBuilder(int i) {
            return this.broadcastBy_.get(i);
        }

        @Override
        public boolean hasLastBroadcastedAt() {
            return (this.bitField0_ & 16) == 16;
        }

        @Override
        public long getLastBroadcastedAt() {
            return this.lastBroadcastedAt_;
        }

        @Override
        public boolean hasSource() {
            return (this.bitField0_ & 32) == 32;
        }

        @Override
        public Source getSource() {
            return this.source_;
        }

        private void initFields() {
            this.type_ = Type.UNKNOWN;
            this.appearedAtHeight_ = 0;
            this.overridingTransaction_ = ByteString.EMPTY;
            this.depth_ = 0;
            this.broadcastBy_ = Collections.emptyList();
            this.lastBroadcastedAt_ = 0L;
            this.source_ = Source.SOURCE_UNKNOWN;
        }

        public final boolean isInitialized() {
            byte b = this.memoizedIsInitialized;
            if (b == 1) {
                return true;
            }
            if (b == 0) {
                return false;
            }
            for (int i = 0; i < getBroadcastByCount(); i++) {
                if (!getBroadcastBy(i).isInitialized()) {
                    this.memoizedIsInitialized = (byte) 0;
                    return false;
                }
            }
            this.memoizedIsInitialized = (byte) 1;
            return true;
        }

        public void writeTo(CodedOutputStream codedOutputStream) throws IOException {
            getSerializedSize();
            if ((this.bitField0_ & 1) == 1) {
                codedOutputStream.writeEnum(1, this.type_.getNumber());
            }
            if ((this.bitField0_ & 2) == 2) {
                codedOutputStream.writeInt32(2, this.appearedAtHeight_);
            }
            if ((this.bitField0_ & 4) == 4) {
                codedOutputStream.writeBytes(3, this.overridingTransaction_);
            }
            if ((this.bitField0_ & 8) == 8) {
                codedOutputStream.writeInt32(4, this.depth_);
            }
            for (int i = 0; i < this.broadcastBy_.size(); i++) {
                codedOutputStream.writeMessage(6, this.broadcastBy_.get(i));
            }
            if ((this.bitField0_ & 32) == 32) {
                codedOutputStream.writeEnum(7, this.source_.getNumber());
            }
            if ((this.bitField0_ & 16) == 16) {
                codedOutputStream.writeInt64(8, this.lastBroadcastedAt_);
            }
            getUnknownFields().writeTo(codedOutputStream);
        }

        public int getSerializedSize() {
            int i = this.memoizedSerializedSize;
            if (i != -1) {
                return i;
            }
            int computeEnumSize = (this.bitField0_ & 1) == 1 ? CodedOutputStream.computeEnumSize(1, this.type_.getNumber()) + 0 : 0;
            if ((this.bitField0_ & 2) == 2) {
                computeEnumSize += CodedOutputStream.computeInt32Size(2, this.appearedAtHeight_);
            }
            if ((this.bitField0_ & 4) == 4) {
                computeEnumSize += CodedOutputStream.computeBytesSize(3, this.overridingTransaction_);
            }
            if ((this.bitField0_ & 8) == 8) {
                computeEnumSize += CodedOutputStream.computeInt32Size(4, this.depth_);
            }
            for (int i2 = 0; i2 < this.broadcastBy_.size(); i2++) {
                computeEnumSize += CodedOutputStream.computeMessageSize(6, this.broadcastBy_.get(i2));
            }
            if ((this.bitField0_ & 32) == 32) {
                computeEnumSize += CodedOutputStream.computeEnumSize(7, this.source_.getNumber());
            }
            if ((this.bitField0_ & 16) == 16) {
                computeEnumSize += CodedOutputStream.computeInt64Size(8, this.lastBroadcastedAt_);
            }
            int serializedSize = computeEnumSize + getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = serializedSize;
            return serializedSize;
        }

        protected Object writeReplace() throws ObjectStreamException {
            return super.writeReplace();
        }

        public static TransactionConfidence parseFrom(ByteString byteString) throws InvalidProtocolBufferException {
            return (TransactionConfidence) PARSER.parseFrom(byteString);
        }

        public static TransactionConfidence parseFrom(ByteString byteString, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (TransactionConfidence) PARSER.parseFrom(byteString, extensionRegistryLite);
        }

        public static TransactionConfidence parseFrom(byte[] bArr) throws InvalidProtocolBufferException {
            return (TransactionConfidence) PARSER.parseFrom(bArr);
        }

        public static TransactionConfidence parseFrom(byte[] bArr, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (TransactionConfidence) PARSER.parseFrom(bArr, extensionRegistryLite);
        }

        public static TransactionConfidence parseFrom(InputStream inputStream) throws IOException {
            return (TransactionConfidence) PARSER.parseFrom(inputStream);
        }

        public static TransactionConfidence parseFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (TransactionConfidence) PARSER.parseFrom(inputStream, extensionRegistryLite);
        }

        public static TransactionConfidence parseDelimitedFrom(InputStream inputStream) throws IOException {
            return (TransactionConfidence) PARSER.parseDelimitedFrom(inputStream);
        }

        public static TransactionConfidence parseDelimitedFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (TransactionConfidence) PARSER.parseDelimitedFrom(inputStream, extensionRegistryLite);
        }

        public static TransactionConfidence parseFrom(CodedInputStream codedInputStream) throws IOException {
            return (TransactionConfidence) PARSER.parseFrom(codedInputStream);
        }

        public static TransactionConfidence parseFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (TransactionConfidence) PARSER.parseFrom(codedInputStream, extensionRegistryLite);
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

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

        public static Builder newBuilder(TransactionConfidence transactionConfidence) {
            return newBuilder().mergeFrom(transactionConfidence);
        }

        public Builder m2471toBuilder() {
            return newBuilder(this);
        }

        public Builder newBuilderForType(GeneratedMessage.BuilderParent builderParent) {
            return new Builder(builderParent);
        }

        public static final class Builder extends GeneratedMessage.Builder<Builder> implements TransactionConfidenceOrBuilder {
            private int appearedAtHeight_;
            private int bitField0_;
            private RepeatedFieldBuilder<PeerAddress, PeerAddress.Builder, PeerAddressOrBuilder> broadcastByBuilder_;
            private List<PeerAddress> broadcastBy_;
            private int depth_;
            private long lastBroadcastedAt_;
            private ByteString overridingTransaction_;
            private Source source_;
            private Type type_;

            public static final Descriptors.Descriptor getDescriptor() {
                return Protos.internal_static_wallet_TransactionConfidence_descriptor;
            }

            protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
                return Protos.internal_static_wallet_TransactionConfidence_fieldAccessorTable.ensureFieldAccessorsInitialized(TransactionConfidence.class, Builder.class);
            }

            private Builder() {
                this.type_ = Type.UNKNOWN;
                this.overridingTransaction_ = ByteString.EMPTY;
                this.broadcastBy_ = Collections.emptyList();
                this.source_ = Source.SOURCE_UNKNOWN;
                maybeForceBuilderInitialization();
            }

            private Builder(GeneratedMessage.BuilderParent builderParent) {
                super(builderParent);
                this.type_ = Type.UNKNOWN;
                this.overridingTransaction_ = ByteString.EMPTY;
                this.broadcastBy_ = Collections.emptyList();
                this.source_ = Source.SOURCE_UNKNOWN;
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                if (TransactionConfidence.alwaysUseFieldBuilders) {
                    getBroadcastByFieldBuilder();
                }
            }

            public static Builder create() {
                return new Builder();
            }

            public Builder m2480clear() {
                super.clear();
                this.type_ = Type.UNKNOWN;
                int i = this.bitField0_ & (-2);
                this.bitField0_ = i;
                this.appearedAtHeight_ = 0;
                this.bitField0_ = i & (-3);
                this.overridingTransaction_ = ByteString.EMPTY;
                int i2 = this.bitField0_ & (-5);
                this.bitField0_ = i2;
                this.depth_ = 0;
                this.bitField0_ = i2 & (-9);
                RepeatedFieldBuilder<PeerAddress, PeerAddress.Builder, PeerAddressOrBuilder> repeatedFieldBuilder = this.broadcastByBuilder_;
                if (repeatedFieldBuilder == null) {
                    this.broadcastBy_ = Collections.emptyList();
                    this.bitField0_ &= -17;
                } else {
                    repeatedFieldBuilder.clear();
                }
                this.lastBroadcastedAt_ = 0L;
                this.bitField0_ &= -33;
                this.source_ = Source.SOURCE_UNKNOWN;
                this.bitField0_ &= -65;
                return this;
            }

            public Builder m2486clone() {
                return create().mergeFrom(m2476buildPartial());
            }

            public Descriptors.Descriptor getDescriptorForType() {
                return Protos.internal_static_wallet_TransactionConfidence_descriptor;
            }

            public TransactionConfidence m2488getDefaultInstanceForType() {
                return TransactionConfidence.getDefaultInstance();
            }

            public TransactionConfidence m2474build() {
                TransactionConfidence m2476buildPartial = m2476buildPartial();
                if (m2476buildPartial.isInitialized()) {
                    return m2476buildPartial;
                }
                throw newUninitializedMessageException(m2476buildPartial);
            }

            public TransactionConfidence m2476buildPartial() {
                TransactionConfidence transactionConfidence = new TransactionConfidence(this);
                int i = this.bitField0_;
                int i2 = (i & 1) != 1 ? 0 : 1;
                transactionConfidence.type_ = this.type_;
                if ((i & 2) == 2) {
                    i2 |= 2;
                }
                transactionConfidence.appearedAtHeight_ = this.appearedAtHeight_;
                if ((i & 4) == 4) {
                    i2 |= 4;
                }
                transactionConfidence.overridingTransaction_ = this.overridingTransaction_;
                if ((i & 8) == 8) {
                    i2 |= 8;
                }
                transactionConfidence.depth_ = this.depth_;
                RepeatedFieldBuilder<PeerAddress, PeerAddress.Builder, PeerAddressOrBuilder> repeatedFieldBuilder = this.broadcastByBuilder_;
                if (repeatedFieldBuilder != null) {
                    transactionConfidence.broadcastBy_ = repeatedFieldBuilder.build();
                } else {
                    if ((this.bitField0_ & 16) == 16) {
                        this.broadcastBy_ = Collections.unmodifiableList(this.broadcastBy_);
                        this.bitField0_ &= -17;
                    }
                    transactionConfidence.broadcastBy_ = this.broadcastBy_;
                }
                if ((i & 32) == 32) {
                    i2 |= 16;
                }
                transactionConfidence.lastBroadcastedAt_ = this.lastBroadcastedAt_;
                if ((i & 64) == 64) {
                    i2 |= 32;
                }
                transactionConfidence.source_ = this.source_;
                transactionConfidence.bitField0_ = i2;
                onBuilt();
                return transactionConfidence;
            }

            public Builder m2492mergeFrom(Message message) {
                if (message instanceof TransactionConfidence) {
                    return mergeFrom((TransactionConfidence) message);
                }
                super.mergeFrom(message);
                return this;
            }

            public Builder mergeFrom(TransactionConfidence transactionConfidence) {
                if (transactionConfidence == TransactionConfidence.getDefaultInstance()) {
                    return this;
                }
                if (transactionConfidence.hasType()) {
                    setType(transactionConfidence.getType());
                }
                if (transactionConfidence.hasAppearedAtHeight()) {
                    setAppearedAtHeight(transactionConfidence.getAppearedAtHeight());
                }
                if (transactionConfidence.hasOverridingTransaction()) {
                    setOverridingTransaction(transactionConfidence.getOverridingTransaction());
                }
                if (transactionConfidence.hasDepth()) {
                    setDepth(transactionConfidence.getDepth());
                }
                if (this.broadcastByBuilder_ == null) {
                    if (!transactionConfidence.broadcastBy_.isEmpty()) {
                        if (this.broadcastBy_.isEmpty()) {
                            this.broadcastBy_ = transactionConfidence.broadcastBy_;
                            this.bitField0_ &= -17;
                        } else {
                            ensureBroadcastByIsMutable();
                            this.broadcastBy_.addAll(transactionConfidence.broadcastBy_);
                        }
                        onChanged();
                    }
                } else if (!transactionConfidence.broadcastBy_.isEmpty()) {
                    if (!this.broadcastByBuilder_.isEmpty()) {
                        this.broadcastByBuilder_.addAllMessages(transactionConfidence.broadcastBy_);
                    } else {
                        this.broadcastByBuilder_.dispose();
                        this.broadcastByBuilder_ = null;
                        this.broadcastBy_ = transactionConfidence.broadcastBy_;
                        this.bitField0_ &= -17;
                        this.broadcastByBuilder_ = TransactionConfidence.alwaysUseFieldBuilders ? getBroadcastByFieldBuilder() : null;
                    }
                }
                if (transactionConfidence.hasLastBroadcastedAt()) {
                    setLastBroadcastedAt(transactionConfidence.getLastBroadcastedAt());
                }
                if (transactionConfidence.hasSource()) {
                    setSource(transactionConfidence.getSource());
                }
                mergeUnknownFields(transactionConfidence.getUnknownFields());
                return this;
            }

            public final boolean isInitialized() {
                for (int i = 0; i < getBroadcastByCount(); i++) {
                    if (!getBroadcastBy(i).isInitialized()) {
                        return false;
                    }
                }
                return true;
            }

            public org.bitcoinj.wallet.Protos.TransactionConfidence.Builder m2493mergeFrom(com.google.protobuf.CodedInputStream r3, com.google.protobuf.ExtensionRegistryLite r4) throws java.io.IOException {
                throw new UnsupportedOperationException("Method not decompiled: org.bitcoinj.wallet.Protos.TransactionConfidence.Builder.m2493mergeFrom(com.google.protobuf.CodedInputStream, com.google.protobuf.ExtensionRegistryLite):org.bitcoinj.wallet.Protos$TransactionConfidence$Builder");
            }

            @Override
            public boolean hasType() {
                return (this.bitField0_ & 1) == 1;
            }

            @Override
            public Type getType() {
                return this.type_;
            }

            public Builder setType(Type type) {
                if (type == null) {
                    throw null;
                }
                this.bitField0_ |= 1;
                this.type_ = type;
                onChanged();
                return this;
            }

            public Builder clearType() {
                this.bitField0_ &= -2;
                this.type_ = Type.UNKNOWN;
                onChanged();
                return this;
            }

            @Override
            public boolean hasAppearedAtHeight() {
                return (this.bitField0_ & 2) == 2;
            }

            @Override
            public int getAppearedAtHeight() {
                return this.appearedAtHeight_;
            }

            public Builder setAppearedAtHeight(int i) {
                this.bitField0_ |= 2;
                this.appearedAtHeight_ = i;
                onChanged();
                return this;
            }

            public Builder clearAppearedAtHeight() {
                this.bitField0_ &= -3;
                this.appearedAtHeight_ = 0;
                onChanged();
                return this;
            }

            @Override
            public boolean hasOverridingTransaction() {
                return (this.bitField0_ & 4) == 4;
            }

            @Override
            public ByteString getOverridingTransaction() {
                return this.overridingTransaction_;
            }

            public Builder setOverridingTransaction(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 4;
                this.overridingTransaction_ = byteString;
                onChanged();
                return this;
            }

            public Builder clearOverridingTransaction() {
                this.bitField0_ &= -5;
                this.overridingTransaction_ = TransactionConfidence.getDefaultInstance().getOverridingTransaction();
                onChanged();
                return this;
            }

            @Override
            public boolean hasDepth() {
                return (this.bitField0_ & 8) == 8;
            }

            @Override
            public int getDepth() {
                return this.depth_;
            }

            public Builder setDepth(int i) {
                this.bitField0_ |= 8;
                this.depth_ = i;
                onChanged();
                return this;
            }

            public Builder clearDepth() {
                this.bitField0_ &= -9;
                this.depth_ = 0;
                onChanged();
                return this;
            }

            private void ensureBroadcastByIsMutable() {
                if ((this.bitField0_ & 16) != 16) {
                    this.broadcastBy_ = new ArrayList(this.broadcastBy_);
                    this.bitField0_ |= 16;
                }
            }

            @Override
            public List<PeerAddress> getBroadcastByList() {
                RepeatedFieldBuilder<PeerAddress, PeerAddress.Builder, PeerAddressOrBuilder> repeatedFieldBuilder = this.broadcastByBuilder_;
                if (repeatedFieldBuilder == null) {
                    return Collections.unmodifiableList(this.broadcastBy_);
                }
                return repeatedFieldBuilder.getMessageList();
            }

            @Override
            public int getBroadcastByCount() {
                RepeatedFieldBuilder<PeerAddress, PeerAddress.Builder, PeerAddressOrBuilder> repeatedFieldBuilder = this.broadcastByBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.broadcastBy_.size();
                }
                return repeatedFieldBuilder.getCount();
            }

            @Override
            public PeerAddress getBroadcastBy(int i) {
                RepeatedFieldBuilder<PeerAddress, PeerAddress.Builder, PeerAddressOrBuilder> repeatedFieldBuilder = this.broadcastByBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.broadcastBy_.get(i);
                }
                return (PeerAddress) repeatedFieldBuilder.getMessage(i);
            }

            public Builder setBroadcastBy(int i, PeerAddress peerAddress) {
                RepeatedFieldBuilder<PeerAddress, PeerAddress.Builder, PeerAddressOrBuilder> repeatedFieldBuilder = this.broadcastByBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.setMessage(i, peerAddress);
                } else {
                    if (peerAddress == null) {
                        throw null;
                    }
                    ensureBroadcastByIsMutable();
                    this.broadcastBy_.set(i, peerAddress);
                    onChanged();
                }
                return this;
            }

            public Builder setBroadcastBy(int i, PeerAddress.Builder builder) {
                RepeatedFieldBuilder<PeerAddress, PeerAddress.Builder, PeerAddressOrBuilder> repeatedFieldBuilder = this.broadcastByBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureBroadcastByIsMutable();
                    this.broadcastBy_.set(i, builder.m2322build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.setMessage(i, builder.m2322build());
                }
                return this;
            }

            public Builder addBroadcastBy(PeerAddress peerAddress) {
                RepeatedFieldBuilder<PeerAddress, PeerAddress.Builder, PeerAddressOrBuilder> repeatedFieldBuilder = this.broadcastByBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.addMessage(peerAddress);
                } else {
                    if (peerAddress == null) {
                        throw null;
                    }
                    ensureBroadcastByIsMutable();
                    this.broadcastBy_.add(peerAddress);
                    onChanged();
                }
                return this;
            }

            public Builder addBroadcastBy(int i, PeerAddress peerAddress) {
                RepeatedFieldBuilder<PeerAddress, PeerAddress.Builder, PeerAddressOrBuilder> repeatedFieldBuilder = this.broadcastByBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.addMessage(i, peerAddress);
                } else {
                    if (peerAddress == null) {
                        throw null;
                    }
                    ensureBroadcastByIsMutable();
                    this.broadcastBy_.add(i, peerAddress);
                    onChanged();
                }
                return this;
            }

            public Builder addBroadcastBy(PeerAddress.Builder builder) {
                RepeatedFieldBuilder<PeerAddress, PeerAddress.Builder, PeerAddressOrBuilder> repeatedFieldBuilder = this.broadcastByBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureBroadcastByIsMutable();
                    this.broadcastBy_.add(builder.m2322build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.addMessage(builder.m2322build());
                }
                return this;
            }

            public Builder addBroadcastBy(int i, PeerAddress.Builder builder) {
                RepeatedFieldBuilder<PeerAddress, PeerAddress.Builder, PeerAddressOrBuilder> repeatedFieldBuilder = this.broadcastByBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureBroadcastByIsMutable();
                    this.broadcastBy_.add(i, builder.m2322build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.addMessage(i, builder.m2322build());
                }
                return this;
            }

            public Builder addAllBroadcastBy(Iterable<? extends PeerAddress> iterable) {
                RepeatedFieldBuilder<PeerAddress, PeerAddress.Builder, PeerAddressOrBuilder> repeatedFieldBuilder = this.broadcastByBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureBroadcastByIsMutable();
                    AbstractMessageLite.Builder.addAll(iterable, this.broadcastBy_);
                    onChanged();
                } else {
                    repeatedFieldBuilder.addAllMessages(iterable);
                }
                return this;
            }

            public Builder clearBroadcastBy() {
                RepeatedFieldBuilder<PeerAddress, PeerAddress.Builder, PeerAddressOrBuilder> repeatedFieldBuilder = this.broadcastByBuilder_;
                if (repeatedFieldBuilder == null) {
                    this.broadcastBy_ = Collections.emptyList();
                    this.bitField0_ &= -17;
                    onChanged();
                } else {
                    repeatedFieldBuilder.clear();
                }
                return this;
            }

            public Builder removeBroadcastBy(int i) {
                RepeatedFieldBuilder<PeerAddress, PeerAddress.Builder, PeerAddressOrBuilder> repeatedFieldBuilder = this.broadcastByBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureBroadcastByIsMutable();
                    this.broadcastBy_.remove(i);
                    onChanged();
                } else {
                    repeatedFieldBuilder.remove(i);
                }
                return this;
            }

            public PeerAddress.Builder getBroadcastByBuilder(int i) {
                return (PeerAddress.Builder) getBroadcastByFieldBuilder().getBuilder(i);
            }

            @Override
            public PeerAddressOrBuilder getBroadcastByOrBuilder(int i) {
                RepeatedFieldBuilder<PeerAddress, PeerAddress.Builder, PeerAddressOrBuilder> repeatedFieldBuilder = this.broadcastByBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.broadcastBy_.get(i);
                }
                return (PeerAddressOrBuilder) repeatedFieldBuilder.getMessageOrBuilder(i);
            }

            @Override
            public List<? extends PeerAddressOrBuilder> getBroadcastByOrBuilderList() {
                RepeatedFieldBuilder<PeerAddress, PeerAddress.Builder, PeerAddressOrBuilder> repeatedFieldBuilder = this.broadcastByBuilder_;
                if (repeatedFieldBuilder != null) {
                    return repeatedFieldBuilder.getMessageOrBuilderList();
                }
                return Collections.unmodifiableList(this.broadcastBy_);
            }

            public PeerAddress.Builder addBroadcastByBuilder() {
                return (PeerAddress.Builder) getBroadcastByFieldBuilder().addBuilder(PeerAddress.getDefaultInstance());
            }

            public PeerAddress.Builder addBroadcastByBuilder(int i) {
                return (PeerAddress.Builder) getBroadcastByFieldBuilder().addBuilder(i, PeerAddress.getDefaultInstance());
            }

            public List<PeerAddress.Builder> getBroadcastByBuilderList() {
                return getBroadcastByFieldBuilder().getBuilderList();
            }

            private RepeatedFieldBuilder<PeerAddress, PeerAddress.Builder, PeerAddressOrBuilder> getBroadcastByFieldBuilder() {
                if (this.broadcastByBuilder_ == null) {
                    this.broadcastByBuilder_ = new RepeatedFieldBuilder<>(this.broadcastBy_, (this.bitField0_ & 16) == 16, getParentForChildren(), isClean());
                    this.broadcastBy_ = null;
                }
                return this.broadcastByBuilder_;
            }

            @Override
            public boolean hasLastBroadcastedAt() {
                return (this.bitField0_ & 32) == 32;
            }

            @Override
            public long getLastBroadcastedAt() {
                return this.lastBroadcastedAt_;
            }

            public Builder setLastBroadcastedAt(long j) {
                this.bitField0_ |= 32;
                this.lastBroadcastedAt_ = j;
                onChanged();
                return this;
            }

            public Builder clearLastBroadcastedAt() {
                this.bitField0_ &= -33;
                this.lastBroadcastedAt_ = 0L;
                onChanged();
                return this;
            }

            @Override
            public boolean hasSource() {
                return (this.bitField0_ & 64) == 64;
            }

            @Override
            public Source getSource() {
                return this.source_;
            }

            public Builder setSource(Source source) {
                if (source == null) {
                    throw null;
                }
                this.bitField0_ |= 64;
                this.source_ = source;
                onChanged();
                return this;
            }

            public Builder clearSource() {
                this.bitField0_ &= -65;
                this.source_ = Source.SOURCE_UNKNOWN;
                onChanged();
                return this;
            }
        }
    }

    public static final class Transaction extends GeneratedMessage implements TransactionOrBuilder {
        public static final int BLOCK_HASH_FIELD_NUMBER = 8;
        public static final int BLOCK_RELATIVITY_OFFSETS_FIELD_NUMBER = 11;
        public static final int CONFIDENCE_FIELD_NUMBER = 9;
        public static final int EXCHANGE_RATE_FIELD_NUMBER = 12;
        public static final int HASH_FIELD_NUMBER = 2;
        public static final int LOCK_TIME_FIELD_NUMBER = 4;
        public static final int MEMO_FIELD_NUMBER = 13;
        public static Parser<Transaction> PARSER = new AbstractParser<Transaction>() {
            public Transaction parsePartialFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
                return new Transaction(codedInputStream, extensionRegistryLite);
            }
        };
        public static final int POOL_FIELD_NUMBER = 3;
        public static final int PURPOSE_FIELD_NUMBER = 10;
        public static final int TRANSACTION_INPUT_FIELD_NUMBER = 6;
        public static final int TRANSACTION_OUTPUT_FIELD_NUMBER = 7;
        public static final int UPDATED_AT_FIELD_NUMBER = 5;
        public static final int VERSION_FIELD_NUMBER = 1;
        private static final Transaction defaultInstance;
        private static final long serialVersionUID = 0;
        private int bitField0_;
        private List<ByteString> blockHash_;
        private List<Integer> blockRelativityOffsets_;
        private TransactionConfidence confidence_;
        private ExchangeRate exchangeRate_;
        private ByteString hash_;
        private int lockTime_;
        private Object memo_;
        private byte memoizedIsInitialized;
        private int memoizedSerializedSize;
        private Pool pool_;
        private Purpose purpose_;
        private List<TransactionInput> transactionInput_;
        private List<TransactionOutput> transactionOutput_;
        private final UnknownFieldSet unknownFields;
        private long updatedAt_;
        private int version_;

        private Transaction(GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = builder.getUnknownFields();
        }

        private Transaction(boolean z) {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = UnknownFieldSet.getDefaultInstance();
        }

        public static Transaction getDefaultInstance() {
            return defaultInstance;
        }

        public Transaction m2434getDefaultInstanceForType() {
            return defaultInstance;
        }

        public final UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private Transaction(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            initFields();
            UnknownFieldSet.Builder newBuilder = UnknownFieldSet.newBuilder();
            boolean z = false;
            int i = 0;
            while (true) {
                int i2 = 64;
                ?? r3 = 64;
                if (z) {
                    return;
                }
                try {
                    try {
                        int readTag = codedInputStream.readTag();
                        switch (readTag) {
                            case 0:
                                z = true;
                            case 8:
                                this.bitField0_ |= 1;
                                this.version_ = codedInputStream.readInt32();
                            case 18:
                                this.bitField0_ |= 2;
                                this.hash_ = codedInputStream.readBytes();
                            case 24:
                                int readEnum = codedInputStream.readEnum();
                                Pool valueOf = Pool.valueOf(readEnum);
                                if (valueOf == null) {
                                    newBuilder.mergeVarintField(3, readEnum);
                                } else {
                                    this.bitField0_ |= 4;
                                    this.pool_ = valueOf;
                                }
                            case 32:
                                this.bitField0_ |= 8;
                                this.lockTime_ = codedInputStream.readUInt32();
                            case 40:
                                this.bitField0_ |= 16;
                                this.updatedAt_ = codedInputStream.readInt64();
                            case 50:
                                if ((i & 32) != 32) {
                                    this.transactionInput_ = new ArrayList();
                                    i |= 32;
                                }
                                this.transactionInput_.add(codedInputStream.readMessage(TransactionInput.PARSER, extensionRegistryLite));
                            case 58:
                                if ((i & 64) != 64) {
                                    this.transactionOutput_ = new ArrayList();
                                    i |= 64;
                                }
                                this.transactionOutput_.add(codedInputStream.readMessage(TransactionOutput.PARSER, extensionRegistryLite));
                            case 66:
                                if ((i & 128) != 128) {
                                    this.blockHash_ = new ArrayList();
                                    i |= 128;
                                }
                                this.blockHash_.add(codedInputStream.readBytes());
                            case 74:
                                TransactionConfidence.Builder m2471toBuilder = (this.bitField0_ & 32) == 32 ? this.confidence_.m2471toBuilder() : null;
                                TransactionConfidence transactionConfidence = (TransactionConfidence) codedInputStream.readMessage(TransactionConfidence.PARSER, extensionRegistryLite);
                                this.confidence_ = transactionConfidence;
                                if (m2471toBuilder != null) {
                                    m2471toBuilder.mergeFrom(transactionConfidence);
                                    this.confidence_ = m2471toBuilder.m2476buildPartial();
                                }
                                this.bitField0_ |= 32;
                            case 80:
                                int readEnum2 = codedInputStream.readEnum();
                                Purpose valueOf2 = Purpose.valueOf(readEnum2);
                                if (valueOf2 == null) {
                                    newBuilder.mergeVarintField(10, readEnum2);
                                } else {
                                    this.bitField0_ |= 64;
                                    this.purpose_ = valueOf2;
                                }
                            case 88:
                                if ((i & JSONParser.ACCEPT_TAILLING_DATA) != 256) {
                                    this.blockRelativityOffsets_ = new ArrayList();
                                    i |= JSONParser.ACCEPT_TAILLING_DATA;
                                }
                                this.blockRelativityOffsets_.add(Integer.valueOf(codedInputStream.readInt32()));
                            case 90:
                                int pushLimit = codedInputStream.pushLimit(codedInputStream.readRawVarint32());
                                if ((i & JSONParser.ACCEPT_TAILLING_DATA) != 256 && codedInputStream.getBytesUntilLimit() > 0) {
                                    this.blockRelativityOffsets_ = new ArrayList();
                                    i |= JSONParser.ACCEPT_TAILLING_DATA;
                                }
                                while (codedInputStream.getBytesUntilLimit() > 0) {
                                    this.blockRelativityOffsets_.add(Integer.valueOf(codedInputStream.readInt32()));
                                }
                                codedInputStream.popLimit(pushLimit);
                                break;
                            case 98:
                                ExchangeRate.Builder m2228toBuilder = (this.bitField0_ & 128) == 128 ? this.exchangeRate_.m2228toBuilder() : null;
                                ExchangeRate exchangeRate = (ExchangeRate) codedInputStream.readMessage(ExchangeRate.PARSER, extensionRegistryLite);
                                this.exchangeRate_ = exchangeRate;
                                if (m2228toBuilder != null) {
                                    m2228toBuilder.mergeFrom(exchangeRate);
                                    this.exchangeRate_ = m2228toBuilder.m2233buildPartial();
                                }
                                this.bitField0_ |= 128;
                            case 106:
                                ByteString readBytes = codedInputStream.readBytes();
                                this.bitField0_ |= JSONParser.ACCEPT_TAILLING_DATA;
                                this.memo_ = readBytes;
                            default:
                                r3 = parseUnknownField(codedInputStream, newBuilder, extensionRegistryLite, readTag);
                                if (r3 == 0) {
                                    z = true;
                                }
                        }
                    } catch (IOException e) {
                        throw new InvalidProtocolBufferException(e.getMessage()).setUnfinishedMessage(this);
                    } catch (InvalidProtocolBufferException e2) {
                        throw e2.setUnfinishedMessage(this);
                    }
                } finally {
                    if ((i & 32) == 32) {
                        this.transactionInput_ = Collections.unmodifiableList(this.transactionInput_);
                    }
                    if ((i & 64) == r3) {
                        this.transactionOutput_ = Collections.unmodifiableList(this.transactionOutput_);
                    }
                    if ((i & 128) == 128) {
                        this.blockHash_ = Collections.unmodifiableList(this.blockHash_);
                    }
                    if ((i & JSONParser.ACCEPT_TAILLING_DATA) == 256) {
                        this.blockRelativityOffsets_ = Collections.unmodifiableList(this.blockRelativityOffsets_);
                    }
                    this.unknownFields = newBuilder.build();
                    makeExtensionsImmutable();
                }
            }
        }

        public static final Descriptors.Descriptor getDescriptor() {
            return Protos.internal_static_wallet_Transaction_descriptor;
        }

        protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return Protos.internal_static_wallet_Transaction_fieldAccessorTable.ensureFieldAccessorsInitialized(Transaction.class, Builder.class);
        }

        static {
            Transaction transaction = new Transaction(true);
            defaultInstance = transaction;
            transaction.initFields();
        }

        public Parser<Transaction> getParserForType() {
            return PARSER;
        }

        public enum Pool implements ProtocolMessageEnum {
            UNSPENT(0, 4),
            SPENT(1, 5),
            INACTIVE(2, 2),
            DEAD(3, 10),
            PENDING(4, 16),
            PENDING_INACTIVE(5, 18);

            public static final int DEAD_VALUE = 10;
            public static final int INACTIVE_VALUE = 2;
            public static final int PENDING_INACTIVE_VALUE = 18;
            public static final int PENDING_VALUE = 16;
            public static final int SPENT_VALUE = 5;
            public static final int UNSPENT_VALUE = 4;
            private final int index;
            private final int value;
            private static Internal.EnumLiteMap<Pool> internalValueMap = new Internal.EnumLiteMap<Pool>() {
                public Pool findValueByNumber(int i) {
                    return Pool.valueOf(i);
                }
            };
            private static final Pool[] VALUES = values();

            public final int getNumber() {
                return this.value;
            }

            public static Pool valueOf(int i) {
                if (i == 2) {
                    return INACTIVE;
                }
                if (i == 10) {
                    return DEAD;
                }
                if (i == 16) {
                    return PENDING;
                }
                if (i == 18) {
                    return PENDING_INACTIVE;
                }
                if (i == 4) {
                    return UNSPENT;
                }
                if (i != 5) {
                    return null;
                }
                return SPENT;
            }

            public static Internal.EnumLiteMap<Pool> internalGetValueMap() {
                return internalValueMap;
            }

            public final Descriptors.EnumValueDescriptor getValueDescriptor() {
                return (Descriptors.EnumValueDescriptor) getDescriptor().getValues().get(this.index);
            }

            public final Descriptors.EnumDescriptor getDescriptorForType() {
                return getDescriptor();
            }

            public static final Descriptors.EnumDescriptor getDescriptor() {
                return (Descriptors.EnumDescriptor) Transaction.getDescriptor().getEnumTypes().get(0);
            }

            public static Pool valueOf(Descriptors.EnumValueDescriptor enumValueDescriptor) {
                if (enumValueDescriptor.getType() != getDescriptor()) {
                    throw new IllegalArgumentException("EnumValueDescriptor is not for this type.");
                }
                return VALUES[enumValueDescriptor.getIndex()];
            }

            Pool(int i, int i2) {
                this.index = i;
                this.value = i2;
            }
        }

        public enum Purpose implements ProtocolMessageEnum {
            UNKNOWN(0, 0),
            USER_PAYMENT(1, 1),
            KEY_ROTATION(2, 2),
            ASSURANCE_CONTRACT_CLAIM(3, 3),
            ASSURANCE_CONTRACT_PLEDGE(4, 4),
            ASSURANCE_CONTRACT_STUB(5, 5),
            RAISE_FEE(6, 6);

            public static final int ASSURANCE_CONTRACT_CLAIM_VALUE = 3;
            public static final int ASSURANCE_CONTRACT_PLEDGE_VALUE = 4;
            public static final int ASSURANCE_CONTRACT_STUB_VALUE = 5;
            public static final int KEY_ROTATION_VALUE = 2;
            public static final int RAISE_FEE_VALUE = 6;
            public static final int UNKNOWN_VALUE = 0;
            public static final int USER_PAYMENT_VALUE = 1;
            private final int index;
            private final int value;
            private static Internal.EnumLiteMap<Purpose> internalValueMap = new Internal.EnumLiteMap<Purpose>() {
                public Purpose findValueByNumber(int i) {
                    return Purpose.valueOf(i);
                }
            };
            private static final Purpose[] VALUES = values();

            public final int getNumber() {
                return this.value;
            }

            public static Purpose valueOf(int i) {
                switch (i) {
                    case 0:
                        return UNKNOWN;
                    case 1:
                        return USER_PAYMENT;
                    case 2:
                        return KEY_ROTATION;
                    case 3:
                        return ASSURANCE_CONTRACT_CLAIM;
                    case 4:
                        return ASSURANCE_CONTRACT_PLEDGE;
                    case 5:
                        return ASSURANCE_CONTRACT_STUB;
                    case 6:
                        return RAISE_FEE;
                    default:
                        return null;
                }
            }

            public static Internal.EnumLiteMap<Purpose> internalGetValueMap() {
                return internalValueMap;
            }

            public final Descriptors.EnumValueDescriptor getValueDescriptor() {
                return (Descriptors.EnumValueDescriptor) getDescriptor().getValues().get(this.index);
            }

            public final Descriptors.EnumDescriptor getDescriptorForType() {
                return getDescriptor();
            }

            public static final Descriptors.EnumDescriptor getDescriptor() {
                return (Descriptors.EnumDescriptor) Transaction.getDescriptor().getEnumTypes().get(1);
            }

            public static Purpose valueOf(Descriptors.EnumValueDescriptor enumValueDescriptor) {
                if (enumValueDescriptor.getType() != getDescriptor()) {
                    throw new IllegalArgumentException("EnumValueDescriptor is not for this type.");
                }
                return VALUES[enumValueDescriptor.getIndex()];
            }

            Purpose(int i, int i2) {
                this.index = i;
                this.value = i2;
            }
        }

        @Override
        public boolean hasVersion() {
            return (this.bitField0_ & 1) == 1;
        }

        @Override
        public int getVersion() {
            return this.version_;
        }

        @Override
        public boolean hasHash() {
            return (this.bitField0_ & 2) == 2;
        }

        @Override
        public ByteString getHash() {
            return this.hash_;
        }

        @Override
        public boolean hasPool() {
            return (this.bitField0_ & 4) == 4;
        }

        @Override
        public Pool getPool() {
            return this.pool_;
        }

        @Override
        public boolean hasLockTime() {
            return (this.bitField0_ & 8) == 8;
        }

        @Override
        public int getLockTime() {
            return this.lockTime_;
        }

        @Override
        public boolean hasUpdatedAt() {
            return (this.bitField0_ & 16) == 16;
        }

        @Override
        public long getUpdatedAt() {
            return this.updatedAt_;
        }

        @Override
        public List<TransactionInput> getTransactionInputList() {
            return this.transactionInput_;
        }

        @Override
        public List<? extends TransactionInputOrBuilder> getTransactionInputOrBuilderList() {
            return this.transactionInput_;
        }

        @Override
        public int getTransactionInputCount() {
            return this.transactionInput_.size();
        }

        @Override
        public TransactionInput getTransactionInput(int i) {
            return this.transactionInput_.get(i);
        }

        @Override
        public TransactionInputOrBuilder getTransactionInputOrBuilder(int i) {
            return this.transactionInput_.get(i);
        }

        @Override
        public List<TransactionOutput> getTransactionOutputList() {
            return this.transactionOutput_;
        }

        @Override
        public List<? extends TransactionOutputOrBuilder> getTransactionOutputOrBuilderList() {
            return this.transactionOutput_;
        }

        @Override
        public int getTransactionOutputCount() {
            return this.transactionOutput_.size();
        }

        @Override
        public TransactionOutput getTransactionOutput(int i) {
            return this.transactionOutput_.get(i);
        }

        @Override
        public TransactionOutputOrBuilder getTransactionOutputOrBuilder(int i) {
            return this.transactionOutput_.get(i);
        }

        @Override
        public List<ByteString> getBlockHashList() {
            return this.blockHash_;
        }

        @Override
        public int getBlockHashCount() {
            return this.blockHash_.size();
        }

        @Override
        public ByteString getBlockHash(int i) {
            return this.blockHash_.get(i);
        }

        @Override
        public List<Integer> getBlockRelativityOffsetsList() {
            return this.blockRelativityOffsets_;
        }

        @Override
        public int getBlockRelativityOffsetsCount() {
            return this.blockRelativityOffsets_.size();
        }

        @Override
        public int getBlockRelativityOffsets(int i) {
            return this.blockRelativityOffsets_.get(i).intValue();
        }

        @Override
        public boolean hasConfidence() {
            return (this.bitField0_ & 32) == 32;
        }

        @Override
        public TransactionConfidence getConfidence() {
            return this.confidence_;
        }

        @Override
        public TransactionConfidenceOrBuilder getConfidenceOrBuilder() {
            return this.confidence_;
        }

        @Override
        public boolean hasPurpose() {
            return (this.bitField0_ & 64) == 64;
        }

        @Override
        public Purpose getPurpose() {
            return this.purpose_;
        }

        @Override
        public boolean hasExchangeRate() {
            return (this.bitField0_ & 128) == 128;
        }

        @Override
        public ExchangeRate getExchangeRate() {
            return this.exchangeRate_;
        }

        @Override
        public ExchangeRateOrBuilder getExchangeRateOrBuilder() {
            return this.exchangeRate_;
        }

        @Override
        public boolean hasMemo() {
            return (this.bitField0_ & JSONParser.ACCEPT_TAILLING_DATA) == 256;
        }

        @Override
        public String getMemo() {
            Object obj = this.memo_;
            if (obj instanceof String) {
                return (String) obj;
            }
            ByteString byteString = (ByteString) obj;
            String stringUtf8 = byteString.toStringUtf8();
            if (byteString.isValidUtf8()) {
                this.memo_ = stringUtf8;
            }
            return stringUtf8;
        }

        @Override
        public ByteString getMemoBytes() {
            Object obj = this.memo_;
            if (obj instanceof String) {
                ByteString copyFromUtf8 = ByteString.copyFromUtf8((String) obj);
                this.memo_ = copyFromUtf8;
                return copyFromUtf8;
            }
            return (ByteString) obj;
        }

        private void initFields() {
            this.version_ = 0;
            this.hash_ = ByteString.EMPTY;
            this.pool_ = Pool.UNSPENT;
            this.lockTime_ = 0;
            this.updatedAt_ = 0L;
            this.transactionInput_ = Collections.emptyList();
            this.transactionOutput_ = Collections.emptyList();
            this.blockHash_ = Collections.emptyList();
            this.blockRelativityOffsets_ = Collections.emptyList();
            this.confidence_ = TransactionConfidence.getDefaultInstance();
            this.purpose_ = Purpose.UNKNOWN;
            this.exchangeRate_ = ExchangeRate.getDefaultInstance();
            this.memo_ = "";
        }

        public final boolean isInitialized() {
            byte b = this.memoizedIsInitialized;
            if (b == 1) {
                return true;
            }
            if (b == 0) {
                return false;
            }
            if (!hasVersion()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            if (!hasHash()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            for (int i = 0; i < getTransactionInputCount(); i++) {
                if (!getTransactionInput(i).isInitialized()) {
                    this.memoizedIsInitialized = (byte) 0;
                    return false;
                }
            }
            for (int i2 = 0; i2 < getTransactionOutputCount(); i2++) {
                if (!getTransactionOutput(i2).isInitialized()) {
                    this.memoizedIsInitialized = (byte) 0;
                    return false;
                }
            }
            if (hasConfidence() && !getConfidence().isInitialized()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            if (hasExchangeRate() && !getExchangeRate().isInitialized()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            this.memoizedIsInitialized = (byte) 1;
            return true;
        }

        public void writeTo(CodedOutputStream codedOutputStream) throws IOException {
            getSerializedSize();
            if ((this.bitField0_ & 1) == 1) {
                codedOutputStream.writeInt32(1, this.version_);
            }
            if ((this.bitField0_ & 2) == 2) {
                codedOutputStream.writeBytes(2, this.hash_);
            }
            if ((this.bitField0_ & 4) == 4) {
                codedOutputStream.writeEnum(3, this.pool_.getNumber());
            }
            if ((this.bitField0_ & 8) == 8) {
                codedOutputStream.writeUInt32(4, this.lockTime_);
            }
            if ((this.bitField0_ & 16) == 16) {
                codedOutputStream.writeInt64(5, this.updatedAt_);
            }
            for (int i = 0; i < this.transactionInput_.size(); i++) {
                codedOutputStream.writeMessage(6, this.transactionInput_.get(i));
            }
            for (int i2 = 0; i2 < this.transactionOutput_.size(); i2++) {
                codedOutputStream.writeMessage(7, this.transactionOutput_.get(i2));
            }
            for (int i3 = 0; i3 < this.blockHash_.size(); i3++) {
                codedOutputStream.writeBytes(8, this.blockHash_.get(i3));
            }
            if ((this.bitField0_ & 32) == 32) {
                codedOutputStream.writeMessage(9, this.confidence_);
            }
            if ((this.bitField0_ & 64) == 64) {
                codedOutputStream.writeEnum(10, this.purpose_.getNumber());
            }
            for (int i4 = 0; i4 < this.blockRelativityOffsets_.size(); i4++) {
                codedOutputStream.writeInt32(11, this.blockRelativityOffsets_.get(i4).intValue());
            }
            if ((this.bitField0_ & 128) == 128) {
                codedOutputStream.writeMessage(12, this.exchangeRate_);
            }
            if ((this.bitField0_ & JSONParser.ACCEPT_TAILLING_DATA) == 256) {
                codedOutputStream.writeBytes(13, getMemoBytes());
            }
            getUnknownFields().writeTo(codedOutputStream);
        }

        public int getSerializedSize() {
            int i = this.memoizedSerializedSize;
            if (i != -1) {
                return i;
            }
            int computeInt32Size = (this.bitField0_ & 1) == 1 ? CodedOutputStream.computeInt32Size(1, this.version_) + 0 : 0;
            if ((this.bitField0_ & 2) == 2) {
                computeInt32Size += CodedOutputStream.computeBytesSize(2, this.hash_);
            }
            if ((this.bitField0_ & 4) == 4) {
                computeInt32Size += CodedOutputStream.computeEnumSize(3, this.pool_.getNumber());
            }
            if ((this.bitField0_ & 8) == 8) {
                computeInt32Size += CodedOutputStream.computeUInt32Size(4, this.lockTime_);
            }
            if ((this.bitField0_ & 16) == 16) {
                computeInt32Size += CodedOutputStream.computeInt64Size(5, this.updatedAt_);
            }
            for (int i2 = 0; i2 < this.transactionInput_.size(); i2++) {
                computeInt32Size += CodedOutputStream.computeMessageSize(6, this.transactionInput_.get(i2));
            }
            for (int i3 = 0; i3 < this.transactionOutput_.size(); i3++) {
                computeInt32Size += CodedOutputStream.computeMessageSize(7, this.transactionOutput_.get(i3));
            }
            int i4 = 0;
            for (int i5 = 0; i5 < this.blockHash_.size(); i5++) {
                i4 += CodedOutputStream.computeBytesSizeNoTag(this.blockHash_.get(i5));
            }
            int size = computeInt32Size + i4 + (getBlockHashList().size() * 1);
            if ((this.bitField0_ & 32) == 32) {
                size += CodedOutputStream.computeMessageSize(9, this.confidence_);
            }
            if ((this.bitField0_ & 64) == 64) {
                size += CodedOutputStream.computeEnumSize(10, this.purpose_.getNumber());
            }
            int i6 = 0;
            for (int i7 = 0; i7 < this.blockRelativityOffsets_.size(); i7++) {
                i6 += CodedOutputStream.computeInt32SizeNoTag(this.blockRelativityOffsets_.get(i7).intValue());
            }
            int size2 = size + i6 + (getBlockRelativityOffsetsList().size() * 1);
            if ((this.bitField0_ & 128) == 128) {
                size2 += CodedOutputStream.computeMessageSize(12, this.exchangeRate_);
            }
            if ((this.bitField0_ & JSONParser.ACCEPT_TAILLING_DATA) == 256) {
                size2 += CodedOutputStream.computeBytesSize(13, getMemoBytes());
            }
            int serializedSize = size2 + getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = serializedSize;
            return serializedSize;
        }

        protected Object writeReplace() throws ObjectStreamException {
            return super.writeReplace();
        }

        public static Transaction parseFrom(ByteString byteString) throws InvalidProtocolBufferException {
            return (Transaction) PARSER.parseFrom(byteString);
        }

        public static Transaction parseFrom(ByteString byteString, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (Transaction) PARSER.parseFrom(byteString, extensionRegistryLite);
        }

        public static Transaction parseFrom(byte[] bArr) throws InvalidProtocolBufferException {
            return (Transaction) PARSER.parseFrom(bArr);
        }

        public static Transaction parseFrom(byte[] bArr, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (Transaction) PARSER.parseFrom(bArr, extensionRegistryLite);
        }

        public static Transaction parseFrom(InputStream inputStream) throws IOException {
            return (Transaction) PARSER.parseFrom(inputStream);
        }

        public static Transaction parseFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (Transaction) PARSER.parseFrom(inputStream, extensionRegistryLite);
        }

        public static Transaction parseDelimitedFrom(InputStream inputStream) throws IOException {
            return (Transaction) PARSER.parseDelimitedFrom(inputStream);
        }

        public static Transaction parseDelimitedFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (Transaction) PARSER.parseDelimitedFrom(inputStream, extensionRegistryLite);
        }

        public static Transaction parseFrom(CodedInputStream codedInputStream) throws IOException {
            return (Transaction) PARSER.parseFrom(codedInputStream);
        }

        public static Transaction parseFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (Transaction) PARSER.parseFrom(codedInputStream, extensionRegistryLite);
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

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

        public static Builder newBuilder(Transaction transaction) {
            return newBuilder().mergeFrom(transaction);
        }

        public Builder m2439toBuilder() {
            return newBuilder(this);
        }

        public Builder newBuilderForType(GeneratedMessage.BuilderParent builderParent) {
            return new Builder(builderParent);
        }

        public static final class Builder extends GeneratedMessage.Builder<Builder> implements TransactionOrBuilder {
            private int bitField0_;
            private List<ByteString> blockHash_;
            private List<Integer> blockRelativityOffsets_;
            private SingleFieldBuilder<TransactionConfidence, TransactionConfidence.Builder, TransactionConfidenceOrBuilder> confidenceBuilder_;
            private TransactionConfidence confidence_;
            private SingleFieldBuilder<ExchangeRate, ExchangeRate.Builder, ExchangeRateOrBuilder> exchangeRateBuilder_;
            private ExchangeRate exchangeRate_;
            private ByteString hash_;
            private int lockTime_;
            private Object memo_;
            private Pool pool_;
            private Purpose purpose_;
            private RepeatedFieldBuilder<TransactionInput, TransactionInput.Builder, TransactionInputOrBuilder> transactionInputBuilder_;
            private List<TransactionInput> transactionInput_;
            private RepeatedFieldBuilder<TransactionOutput, TransactionOutput.Builder, TransactionOutputOrBuilder> transactionOutputBuilder_;
            private List<TransactionOutput> transactionOutput_;
            private long updatedAt_;
            private int version_;

            public static final Descriptors.Descriptor getDescriptor() {
                return Protos.internal_static_wallet_Transaction_descriptor;
            }

            protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
                return Protos.internal_static_wallet_Transaction_fieldAccessorTable.ensureFieldAccessorsInitialized(Transaction.class, Builder.class);
            }

            private Builder() {
                this.hash_ = ByteString.EMPTY;
                this.pool_ = Pool.UNSPENT;
                this.transactionInput_ = Collections.emptyList();
                this.transactionOutput_ = Collections.emptyList();
                this.blockHash_ = Collections.emptyList();
                this.blockRelativityOffsets_ = Collections.emptyList();
                this.confidence_ = TransactionConfidence.getDefaultInstance();
                this.purpose_ = Purpose.UNKNOWN;
                this.exchangeRate_ = ExchangeRate.getDefaultInstance();
                this.memo_ = "";
                maybeForceBuilderInitialization();
            }

            private Builder(GeneratedMessage.BuilderParent builderParent) {
                super(builderParent);
                this.hash_ = ByteString.EMPTY;
                this.pool_ = Pool.UNSPENT;
                this.transactionInput_ = Collections.emptyList();
                this.transactionOutput_ = Collections.emptyList();
                this.blockHash_ = Collections.emptyList();
                this.blockRelativityOffsets_ = Collections.emptyList();
                this.confidence_ = TransactionConfidence.getDefaultInstance();
                this.purpose_ = Purpose.UNKNOWN;
                this.exchangeRate_ = ExchangeRate.getDefaultInstance();
                this.memo_ = "";
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                if (Transaction.alwaysUseFieldBuilders) {
                    getTransactionInputFieldBuilder();
                    getTransactionOutputFieldBuilder();
                    getConfidenceFieldBuilder();
                    getExchangeRateFieldBuilder();
                }
            }

            public static Builder create() {
                return new Builder();
            }

            public Builder m2448clear() {
                super.clear();
                this.version_ = 0;
                this.bitField0_ &= -2;
                this.hash_ = ByteString.EMPTY;
                this.bitField0_ &= -3;
                this.pool_ = Pool.UNSPENT;
                int i = this.bitField0_ & (-5);
                this.bitField0_ = i;
                this.lockTime_ = 0;
                int i2 = i & (-9);
                this.bitField0_ = i2;
                this.updatedAt_ = 0L;
                this.bitField0_ = i2 & (-17);
                RepeatedFieldBuilder<TransactionInput, TransactionInput.Builder, TransactionInputOrBuilder> repeatedFieldBuilder = this.transactionInputBuilder_;
                if (repeatedFieldBuilder == null) {
                    this.transactionInput_ = Collections.emptyList();
                    this.bitField0_ &= -33;
                } else {
                    repeatedFieldBuilder.clear();
                }
                RepeatedFieldBuilder<TransactionOutput, TransactionOutput.Builder, TransactionOutputOrBuilder> repeatedFieldBuilder2 = this.transactionOutputBuilder_;
                if (repeatedFieldBuilder2 == null) {
                    this.transactionOutput_ = Collections.emptyList();
                    this.bitField0_ &= -65;
                } else {
                    repeatedFieldBuilder2.clear();
                }
                this.blockHash_ = Collections.emptyList();
                this.bitField0_ &= -129;
                this.blockRelativityOffsets_ = Collections.emptyList();
                this.bitField0_ &= -257;
                SingleFieldBuilder<TransactionConfidence, TransactionConfidence.Builder, TransactionConfidenceOrBuilder> singleFieldBuilder = this.confidenceBuilder_;
                if (singleFieldBuilder == null) {
                    this.confidence_ = TransactionConfidence.getDefaultInstance();
                } else {
                    singleFieldBuilder.clear();
                }
                this.bitField0_ &= -513;
                this.purpose_ = Purpose.UNKNOWN;
                this.bitField0_ &= -1025;
                SingleFieldBuilder<ExchangeRate, ExchangeRate.Builder, ExchangeRateOrBuilder> singleFieldBuilder2 = this.exchangeRateBuilder_;
                if (singleFieldBuilder2 == null) {
                    this.exchangeRate_ = ExchangeRate.getDefaultInstance();
                } else {
                    singleFieldBuilder2.clear();
                }
                int i3 = this.bitField0_ & (-2049);
                this.bitField0_ = i3;
                this.memo_ = "";
                this.bitField0_ = i3 & (-4097);
                return this;
            }

            public Builder m2454clone() {
                return create().mergeFrom(m2444buildPartial());
            }

            public Descriptors.Descriptor getDescriptorForType() {
                return Protos.internal_static_wallet_Transaction_descriptor;
            }

            public Transaction m2456getDefaultInstanceForType() {
                return Transaction.getDefaultInstance();
            }

            public Transaction m2442build() {
                Transaction m2444buildPartial = m2444buildPartial();
                if (m2444buildPartial.isInitialized()) {
                    return m2444buildPartial;
                }
                throw newUninitializedMessageException(m2444buildPartial);
            }

            public Transaction m2444buildPartial() {
                Transaction transaction = new Transaction(this);
                int i = this.bitField0_;
                int i2 = (i & 1) != 1 ? 0 : 1;
                transaction.version_ = this.version_;
                if ((i & 2) == 2) {
                    i2 |= 2;
                }
                transaction.hash_ = this.hash_;
                if ((i & 4) == 4) {
                    i2 |= 4;
                }
                transaction.pool_ = this.pool_;
                if ((i & 8) == 8) {
                    i2 |= 8;
                }
                transaction.lockTime_ = this.lockTime_;
                if ((i & 16) == 16) {
                    i2 |= 16;
                }
                transaction.updatedAt_ = this.updatedAt_;
                RepeatedFieldBuilder<TransactionInput, TransactionInput.Builder, TransactionInputOrBuilder> repeatedFieldBuilder = this.transactionInputBuilder_;
                if (repeatedFieldBuilder != null) {
                    transaction.transactionInput_ = repeatedFieldBuilder.build();
                } else {
                    if ((this.bitField0_ & 32) == 32) {
                        this.transactionInput_ = Collections.unmodifiableList(this.transactionInput_);
                        this.bitField0_ &= -33;
                    }
                    transaction.transactionInput_ = this.transactionInput_;
                }
                RepeatedFieldBuilder<TransactionOutput, TransactionOutput.Builder, TransactionOutputOrBuilder> repeatedFieldBuilder2 = this.transactionOutputBuilder_;
                if (repeatedFieldBuilder2 != null) {
                    transaction.transactionOutput_ = repeatedFieldBuilder2.build();
                } else {
                    if ((this.bitField0_ & 64) == 64) {
                        this.transactionOutput_ = Collections.unmodifiableList(this.transactionOutput_);
                        this.bitField0_ &= -65;
                    }
                    transaction.transactionOutput_ = this.transactionOutput_;
                }
                if ((this.bitField0_ & 128) == 128) {
                    this.blockHash_ = Collections.unmodifiableList(this.blockHash_);
                    this.bitField0_ &= -129;
                }
                transaction.blockHash_ = this.blockHash_;
                if ((this.bitField0_ & JSONParser.ACCEPT_TAILLING_DATA) == 256) {
                    this.blockRelativityOffsets_ = Collections.unmodifiableList(this.blockRelativityOffsets_);
                    this.bitField0_ &= -257;
                }
                transaction.blockRelativityOffsets_ = this.blockRelativityOffsets_;
                if ((i & 512) == 512) {
                    i2 |= 32;
                }
                SingleFieldBuilder<TransactionConfidence, TransactionConfidence.Builder, TransactionConfidenceOrBuilder> singleFieldBuilder = this.confidenceBuilder_;
                if (singleFieldBuilder == null) {
                    transaction.confidence_ = this.confidence_;
                } else {
                    transaction.confidence_ = (TransactionConfidence) singleFieldBuilder.build();
                }
                if ((i & 1024) == 1024) {
                    i2 |= 64;
                }
                transaction.purpose_ = this.purpose_;
                if ((i & 2048) == 2048) {
                    i2 |= 128;
                }
                SingleFieldBuilder<ExchangeRate, ExchangeRate.Builder, ExchangeRateOrBuilder> singleFieldBuilder2 = this.exchangeRateBuilder_;
                if (singleFieldBuilder2 == null) {
                    transaction.exchangeRate_ = this.exchangeRate_;
                } else {
                    transaction.exchangeRate_ = (ExchangeRate) singleFieldBuilder2.build();
                }
                if ((i & 4096) == 4096) {
                    i2 |= JSONParser.ACCEPT_TAILLING_DATA;
                }
                transaction.memo_ = this.memo_;
                transaction.bitField0_ = i2;
                onBuilt();
                return transaction;
            }

            public Builder m2460mergeFrom(Message message) {
                if (message instanceof Transaction) {
                    return mergeFrom((Transaction) message);
                }
                super.mergeFrom(message);
                return this;
            }

            public Builder mergeFrom(Transaction transaction) {
                if (transaction == Transaction.getDefaultInstance()) {
                    return this;
                }
                if (transaction.hasVersion()) {
                    setVersion(transaction.getVersion());
                }
                if (transaction.hasHash()) {
                    setHash(transaction.getHash());
                }
                if (transaction.hasPool()) {
                    setPool(transaction.getPool());
                }
                if (transaction.hasLockTime()) {
                    setLockTime(transaction.getLockTime());
                }
                if (transaction.hasUpdatedAt()) {
                    setUpdatedAt(transaction.getUpdatedAt());
                }
                if (this.transactionInputBuilder_ == null) {
                    if (!transaction.transactionInput_.isEmpty()) {
                        if (this.transactionInput_.isEmpty()) {
                            this.transactionInput_ = transaction.transactionInput_;
                            this.bitField0_ &= -33;
                        } else {
                            ensureTransactionInputIsMutable();
                            this.transactionInput_.addAll(transaction.transactionInput_);
                        }
                        onChanged();
                    }
                } else if (!transaction.transactionInput_.isEmpty()) {
                    if (!this.transactionInputBuilder_.isEmpty()) {
                        this.transactionInputBuilder_.addAllMessages(transaction.transactionInput_);
                    } else {
                        this.transactionInputBuilder_.dispose();
                        this.transactionInputBuilder_ = null;
                        this.transactionInput_ = transaction.transactionInput_;
                        this.bitField0_ &= -33;
                        this.transactionInputBuilder_ = Transaction.alwaysUseFieldBuilders ? getTransactionInputFieldBuilder() : null;
                    }
                }
                if (this.transactionOutputBuilder_ == null) {
                    if (!transaction.transactionOutput_.isEmpty()) {
                        if (this.transactionOutput_.isEmpty()) {
                            this.transactionOutput_ = transaction.transactionOutput_;
                            this.bitField0_ &= -65;
                        } else {
                            ensureTransactionOutputIsMutable();
                            this.transactionOutput_.addAll(transaction.transactionOutput_);
                        }
                        onChanged();
                    }
                } else if (!transaction.transactionOutput_.isEmpty()) {
                    if (!this.transactionOutputBuilder_.isEmpty()) {
                        this.transactionOutputBuilder_.addAllMessages(transaction.transactionOutput_);
                    } else {
                        this.transactionOutputBuilder_.dispose();
                        this.transactionOutputBuilder_ = null;
                        this.transactionOutput_ = transaction.transactionOutput_;
                        this.bitField0_ &= -65;
                        this.transactionOutputBuilder_ = Transaction.alwaysUseFieldBuilders ? getTransactionOutputFieldBuilder() : null;
                    }
                }
                if (!transaction.blockHash_.isEmpty()) {
                    if (this.blockHash_.isEmpty()) {
                        this.blockHash_ = transaction.blockHash_;
                        this.bitField0_ &= -129;
                    } else {
                        ensureBlockHashIsMutable();
                        this.blockHash_.addAll(transaction.blockHash_);
                    }
                    onChanged();
                }
                if (!transaction.blockRelativityOffsets_.isEmpty()) {
                    if (this.blockRelativityOffsets_.isEmpty()) {
                        this.blockRelativityOffsets_ = transaction.blockRelativityOffsets_;
                        this.bitField0_ &= -257;
                    } else {
                        ensureBlockRelativityOffsetsIsMutable();
                        this.blockRelativityOffsets_.addAll(transaction.blockRelativityOffsets_);
                    }
                    onChanged();
                }
                if (transaction.hasConfidence()) {
                    mergeConfidence(transaction.getConfidence());
                }
                if (transaction.hasPurpose()) {
                    setPurpose(transaction.getPurpose());
                }
                if (transaction.hasExchangeRate()) {
                    mergeExchangeRate(transaction.getExchangeRate());
                }
                if (transaction.hasMemo()) {
                    this.bitField0_ |= 4096;
                    this.memo_ = transaction.memo_;
                    onChanged();
                }
                mergeUnknownFields(transaction.getUnknownFields());
                return this;
            }

            public final boolean isInitialized() {
                if (!hasVersion() || !hasHash()) {
                    return false;
                }
                for (int i = 0; i < getTransactionInputCount(); i++) {
                    if (!getTransactionInput(i).isInitialized()) {
                        return false;
                    }
                }
                for (int i2 = 0; i2 < getTransactionOutputCount(); i2++) {
                    if (!getTransactionOutput(i2).isInitialized()) {
                        return false;
                    }
                }
                if (!hasConfidence() || getConfidence().isInitialized()) {
                    return !hasExchangeRate() || getExchangeRate().isInitialized();
                }
                return false;
            }

            public org.bitcoinj.wallet.Protos.Transaction.Builder m2461mergeFrom(com.google.protobuf.CodedInputStream r3, com.google.protobuf.ExtensionRegistryLite r4) throws java.io.IOException {
                throw new UnsupportedOperationException("Method not decompiled: org.bitcoinj.wallet.Protos.Transaction.Builder.m2461mergeFrom(com.google.protobuf.CodedInputStream, com.google.protobuf.ExtensionRegistryLite):org.bitcoinj.wallet.Protos$Transaction$Builder");
            }

            @Override
            public boolean hasVersion() {
                return (this.bitField0_ & 1) == 1;
            }

            @Override
            public int getVersion() {
                return this.version_;
            }

            public Builder setVersion(int i) {
                this.bitField0_ |= 1;
                this.version_ = i;
                onChanged();
                return this;
            }

            public Builder clearVersion() {
                this.bitField0_ &= -2;
                this.version_ = 0;
                onChanged();
                return this;
            }

            @Override
            public boolean hasHash() {
                return (this.bitField0_ & 2) == 2;
            }

            @Override
            public ByteString getHash() {
                return this.hash_;
            }

            public Builder setHash(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 2;
                this.hash_ = byteString;
                onChanged();
                return this;
            }

            public Builder clearHash() {
                this.bitField0_ &= -3;
                this.hash_ = Transaction.getDefaultInstance().getHash();
                onChanged();
                return this;
            }

            @Override
            public boolean hasPool() {
                return (this.bitField0_ & 4) == 4;
            }

            @Override
            public Pool getPool() {
                return this.pool_;
            }

            public Builder setPool(Pool pool) {
                if (pool == null) {
                    throw null;
                }
                this.bitField0_ |= 4;
                this.pool_ = pool;
                onChanged();
                return this;
            }

            public Builder clearPool() {
                this.bitField0_ &= -5;
                this.pool_ = Pool.UNSPENT;
                onChanged();
                return this;
            }

            @Override
            public boolean hasLockTime() {
                return (this.bitField0_ & 8) == 8;
            }

            @Override
            public int getLockTime() {
                return this.lockTime_;
            }

            public Builder setLockTime(int i) {
                this.bitField0_ |= 8;
                this.lockTime_ = i;
                onChanged();
                return this;
            }

            public Builder clearLockTime() {
                this.bitField0_ &= -9;
                this.lockTime_ = 0;
                onChanged();
                return this;
            }

            @Override
            public boolean hasUpdatedAt() {
                return (this.bitField0_ & 16) == 16;
            }

            @Override
            public long getUpdatedAt() {
                return this.updatedAt_;
            }

            public Builder setUpdatedAt(long j) {
                this.bitField0_ |= 16;
                this.updatedAt_ = j;
                onChanged();
                return this;
            }

            public Builder clearUpdatedAt() {
                this.bitField0_ &= -17;
                this.updatedAt_ = 0L;
                onChanged();
                return this;
            }

            private void ensureTransactionInputIsMutable() {
                if ((this.bitField0_ & 32) != 32) {
                    this.transactionInput_ = new ArrayList(this.transactionInput_);
                    this.bitField0_ |= 32;
                }
            }

            @Override
            public List<TransactionInput> getTransactionInputList() {
                RepeatedFieldBuilder<TransactionInput, TransactionInput.Builder, TransactionInputOrBuilder> repeatedFieldBuilder = this.transactionInputBuilder_;
                if (repeatedFieldBuilder == null) {
                    return Collections.unmodifiableList(this.transactionInput_);
                }
                return repeatedFieldBuilder.getMessageList();
            }

            @Override
            public int getTransactionInputCount() {
                RepeatedFieldBuilder<TransactionInput, TransactionInput.Builder, TransactionInputOrBuilder> repeatedFieldBuilder = this.transactionInputBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.transactionInput_.size();
                }
                return repeatedFieldBuilder.getCount();
            }

            @Override
            public TransactionInput getTransactionInput(int i) {
                RepeatedFieldBuilder<TransactionInput, TransactionInput.Builder, TransactionInputOrBuilder> repeatedFieldBuilder = this.transactionInputBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.transactionInput_.get(i);
                }
                return (TransactionInput) repeatedFieldBuilder.getMessage(i);
            }

            public Builder setTransactionInput(int i, TransactionInput transactionInput) {
                RepeatedFieldBuilder<TransactionInput, TransactionInput.Builder, TransactionInputOrBuilder> repeatedFieldBuilder = this.transactionInputBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.setMessage(i, transactionInput);
                } else {
                    if (transactionInput == null) {
                        throw null;
                    }
                    ensureTransactionInputIsMutable();
                    this.transactionInput_.set(i, transactionInput);
                    onChanged();
                }
                return this;
            }

            public Builder setTransactionInput(int i, TransactionInput.Builder builder) {
                RepeatedFieldBuilder<TransactionInput, TransactionInput.Builder, TransactionInputOrBuilder> repeatedFieldBuilder = this.transactionInputBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionInputIsMutable();
                    this.transactionInput_.set(i, builder.m2506build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.setMessage(i, builder.m2506build());
                }
                return this;
            }

            public Builder addTransactionInput(TransactionInput transactionInput) {
                RepeatedFieldBuilder<TransactionInput, TransactionInput.Builder, TransactionInputOrBuilder> repeatedFieldBuilder = this.transactionInputBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.addMessage(transactionInput);
                } else {
                    if (transactionInput == null) {
                        throw null;
                    }
                    ensureTransactionInputIsMutable();
                    this.transactionInput_.add(transactionInput);
                    onChanged();
                }
                return this;
            }

            public Builder addTransactionInput(int i, TransactionInput transactionInput) {
                RepeatedFieldBuilder<TransactionInput, TransactionInput.Builder, TransactionInputOrBuilder> repeatedFieldBuilder = this.transactionInputBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.addMessage(i, transactionInput);
                } else {
                    if (transactionInput == null) {
                        throw null;
                    }
                    ensureTransactionInputIsMutable();
                    this.transactionInput_.add(i, transactionInput);
                    onChanged();
                }
                return this;
            }

            public Builder addTransactionInput(TransactionInput.Builder builder) {
                RepeatedFieldBuilder<TransactionInput, TransactionInput.Builder, TransactionInputOrBuilder> repeatedFieldBuilder = this.transactionInputBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionInputIsMutable();
                    this.transactionInput_.add(builder.m2506build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.addMessage(builder.m2506build());
                }
                return this;
            }

            public Builder addTransactionInput(int i, TransactionInput.Builder builder) {
                RepeatedFieldBuilder<TransactionInput, TransactionInput.Builder, TransactionInputOrBuilder> repeatedFieldBuilder = this.transactionInputBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionInputIsMutable();
                    this.transactionInput_.add(i, builder.m2506build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.addMessage(i, builder.m2506build());
                }
                return this;
            }

            public Builder addAllTransactionInput(Iterable<? extends TransactionInput> iterable) {
                RepeatedFieldBuilder<TransactionInput, TransactionInput.Builder, TransactionInputOrBuilder> repeatedFieldBuilder = this.transactionInputBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionInputIsMutable();
                    AbstractMessageLite.Builder.addAll(iterable, this.transactionInput_);
                    onChanged();
                } else {
                    repeatedFieldBuilder.addAllMessages(iterable);
                }
                return this;
            }

            public Builder clearTransactionInput() {
                RepeatedFieldBuilder<TransactionInput, TransactionInput.Builder, TransactionInputOrBuilder> repeatedFieldBuilder = this.transactionInputBuilder_;
                if (repeatedFieldBuilder == null) {
                    this.transactionInput_ = Collections.emptyList();
                    this.bitField0_ &= -33;
                    onChanged();
                } else {
                    repeatedFieldBuilder.clear();
                }
                return this;
            }

            public Builder removeTransactionInput(int i) {
                RepeatedFieldBuilder<TransactionInput, TransactionInput.Builder, TransactionInputOrBuilder> repeatedFieldBuilder = this.transactionInputBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionInputIsMutable();
                    this.transactionInput_.remove(i);
                    onChanged();
                } else {
                    repeatedFieldBuilder.remove(i);
                }
                return this;
            }

            public TransactionInput.Builder getTransactionInputBuilder(int i) {
                return (TransactionInput.Builder) getTransactionInputFieldBuilder().getBuilder(i);
            }

            @Override
            public TransactionInputOrBuilder getTransactionInputOrBuilder(int i) {
                RepeatedFieldBuilder<TransactionInput, TransactionInput.Builder, TransactionInputOrBuilder> repeatedFieldBuilder = this.transactionInputBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.transactionInput_.get(i);
                }
                return (TransactionInputOrBuilder) repeatedFieldBuilder.getMessageOrBuilder(i);
            }

            @Override
            public List<? extends TransactionInputOrBuilder> getTransactionInputOrBuilderList() {
                RepeatedFieldBuilder<TransactionInput, TransactionInput.Builder, TransactionInputOrBuilder> repeatedFieldBuilder = this.transactionInputBuilder_;
                if (repeatedFieldBuilder != null) {
                    return repeatedFieldBuilder.getMessageOrBuilderList();
                }
                return Collections.unmodifiableList(this.transactionInput_);
            }

            public TransactionInput.Builder addTransactionInputBuilder() {
                return (TransactionInput.Builder) getTransactionInputFieldBuilder().addBuilder(TransactionInput.getDefaultInstance());
            }

            public TransactionInput.Builder addTransactionInputBuilder(int i) {
                return (TransactionInput.Builder) getTransactionInputFieldBuilder().addBuilder(i, TransactionInput.getDefaultInstance());
            }

            public List<TransactionInput.Builder> getTransactionInputBuilderList() {
                return getTransactionInputFieldBuilder().getBuilderList();
            }

            private RepeatedFieldBuilder<TransactionInput, TransactionInput.Builder, TransactionInputOrBuilder> getTransactionInputFieldBuilder() {
                if (this.transactionInputBuilder_ == null) {
                    this.transactionInputBuilder_ = new RepeatedFieldBuilder<>(this.transactionInput_, (this.bitField0_ & 32) == 32, getParentForChildren(), isClean());
                    this.transactionInput_ = null;
                }
                return this.transactionInputBuilder_;
            }

            private void ensureTransactionOutputIsMutable() {
                if ((this.bitField0_ & 64) != 64) {
                    this.transactionOutput_ = new ArrayList(this.transactionOutput_);
                    this.bitField0_ |= 64;
                }
            }

            @Override
            public List<TransactionOutput> getTransactionOutputList() {
                RepeatedFieldBuilder<TransactionOutput, TransactionOutput.Builder, TransactionOutputOrBuilder> repeatedFieldBuilder = this.transactionOutputBuilder_;
                if (repeatedFieldBuilder == null) {
                    return Collections.unmodifiableList(this.transactionOutput_);
                }
                return repeatedFieldBuilder.getMessageList();
            }

            @Override
            public int getTransactionOutputCount() {
                RepeatedFieldBuilder<TransactionOutput, TransactionOutput.Builder, TransactionOutputOrBuilder> repeatedFieldBuilder = this.transactionOutputBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.transactionOutput_.size();
                }
                return repeatedFieldBuilder.getCount();
            }

            @Override
            public TransactionOutput getTransactionOutput(int i) {
                RepeatedFieldBuilder<TransactionOutput, TransactionOutput.Builder, TransactionOutputOrBuilder> repeatedFieldBuilder = this.transactionOutputBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.transactionOutput_.get(i);
                }
                return (TransactionOutput) repeatedFieldBuilder.getMessage(i);
            }

            public Builder setTransactionOutput(int i, TransactionOutput transactionOutput) {
                RepeatedFieldBuilder<TransactionOutput, TransactionOutput.Builder, TransactionOutputOrBuilder> repeatedFieldBuilder = this.transactionOutputBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.setMessage(i, transactionOutput);
                } else {
                    if (transactionOutput == null) {
                        throw null;
                    }
                    ensureTransactionOutputIsMutable();
                    this.transactionOutput_.set(i, transactionOutput);
                    onChanged();
                }
                return this;
            }

            public Builder setTransactionOutput(int i, TransactionOutput.Builder builder) {
                RepeatedFieldBuilder<TransactionOutput, TransactionOutput.Builder, TransactionOutputOrBuilder> repeatedFieldBuilder = this.transactionOutputBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionOutputIsMutable();
                    this.transactionOutput_.set(i, builder.m2536build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.setMessage(i, builder.m2536build());
                }
                return this;
            }

            public Builder addTransactionOutput(TransactionOutput transactionOutput) {
                RepeatedFieldBuilder<TransactionOutput, TransactionOutput.Builder, TransactionOutputOrBuilder> repeatedFieldBuilder = this.transactionOutputBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.addMessage(transactionOutput);
                } else {
                    if (transactionOutput == null) {
                        throw null;
                    }
                    ensureTransactionOutputIsMutable();
                    this.transactionOutput_.add(transactionOutput);
                    onChanged();
                }
                return this;
            }

            public Builder addTransactionOutput(int i, TransactionOutput transactionOutput) {
                RepeatedFieldBuilder<TransactionOutput, TransactionOutput.Builder, TransactionOutputOrBuilder> repeatedFieldBuilder = this.transactionOutputBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.addMessage(i, transactionOutput);
                } else {
                    if (transactionOutput == null) {
                        throw null;
                    }
                    ensureTransactionOutputIsMutable();
                    this.transactionOutput_.add(i, transactionOutput);
                    onChanged();
                }
                return this;
            }

            public Builder addTransactionOutput(TransactionOutput.Builder builder) {
                RepeatedFieldBuilder<TransactionOutput, TransactionOutput.Builder, TransactionOutputOrBuilder> repeatedFieldBuilder = this.transactionOutputBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionOutputIsMutable();
                    this.transactionOutput_.add(builder.m2536build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.addMessage(builder.m2536build());
                }
                return this;
            }

            public Builder addTransactionOutput(int i, TransactionOutput.Builder builder) {
                RepeatedFieldBuilder<TransactionOutput, TransactionOutput.Builder, TransactionOutputOrBuilder> repeatedFieldBuilder = this.transactionOutputBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionOutputIsMutable();
                    this.transactionOutput_.add(i, builder.m2536build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.addMessage(i, builder.m2536build());
                }
                return this;
            }

            public Builder addAllTransactionOutput(Iterable<? extends TransactionOutput> iterable) {
                RepeatedFieldBuilder<TransactionOutput, TransactionOutput.Builder, TransactionOutputOrBuilder> repeatedFieldBuilder = this.transactionOutputBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionOutputIsMutable();
                    AbstractMessageLite.Builder.addAll(iterable, this.transactionOutput_);
                    onChanged();
                } else {
                    repeatedFieldBuilder.addAllMessages(iterable);
                }
                return this;
            }

            public Builder clearTransactionOutput() {
                RepeatedFieldBuilder<TransactionOutput, TransactionOutput.Builder, TransactionOutputOrBuilder> repeatedFieldBuilder = this.transactionOutputBuilder_;
                if (repeatedFieldBuilder == null) {
                    this.transactionOutput_ = Collections.emptyList();
                    this.bitField0_ &= -65;
                    onChanged();
                } else {
                    repeatedFieldBuilder.clear();
                }
                return this;
            }

            public Builder removeTransactionOutput(int i) {
                RepeatedFieldBuilder<TransactionOutput, TransactionOutput.Builder, TransactionOutputOrBuilder> repeatedFieldBuilder = this.transactionOutputBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionOutputIsMutable();
                    this.transactionOutput_.remove(i);
                    onChanged();
                } else {
                    repeatedFieldBuilder.remove(i);
                }
                return this;
            }

            public TransactionOutput.Builder getTransactionOutputBuilder(int i) {
                return (TransactionOutput.Builder) getTransactionOutputFieldBuilder().getBuilder(i);
            }

            @Override
            public TransactionOutputOrBuilder getTransactionOutputOrBuilder(int i) {
                RepeatedFieldBuilder<TransactionOutput, TransactionOutput.Builder, TransactionOutputOrBuilder> repeatedFieldBuilder = this.transactionOutputBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.transactionOutput_.get(i);
                }
                return (TransactionOutputOrBuilder) repeatedFieldBuilder.getMessageOrBuilder(i);
            }

            @Override
            public List<? extends TransactionOutputOrBuilder> getTransactionOutputOrBuilderList() {
                RepeatedFieldBuilder<TransactionOutput, TransactionOutput.Builder, TransactionOutputOrBuilder> repeatedFieldBuilder = this.transactionOutputBuilder_;
                if (repeatedFieldBuilder != null) {
                    return repeatedFieldBuilder.getMessageOrBuilderList();
                }
                return Collections.unmodifiableList(this.transactionOutput_);
            }

            public TransactionOutput.Builder addTransactionOutputBuilder() {
                return (TransactionOutput.Builder) getTransactionOutputFieldBuilder().addBuilder(TransactionOutput.getDefaultInstance());
            }

            public TransactionOutput.Builder addTransactionOutputBuilder(int i) {
                return (TransactionOutput.Builder) getTransactionOutputFieldBuilder().addBuilder(i, TransactionOutput.getDefaultInstance());
            }

            public List<TransactionOutput.Builder> getTransactionOutputBuilderList() {
                return getTransactionOutputFieldBuilder().getBuilderList();
            }

            private RepeatedFieldBuilder<TransactionOutput, TransactionOutput.Builder, TransactionOutputOrBuilder> getTransactionOutputFieldBuilder() {
                if (this.transactionOutputBuilder_ == null) {
                    this.transactionOutputBuilder_ = new RepeatedFieldBuilder<>(this.transactionOutput_, (this.bitField0_ & 64) == 64, getParentForChildren(), isClean());
                    this.transactionOutput_ = null;
                }
                return this.transactionOutputBuilder_;
            }

            private void ensureBlockHashIsMutable() {
                if ((this.bitField0_ & 128) != 128) {
                    this.blockHash_ = new ArrayList(this.blockHash_);
                    this.bitField0_ |= 128;
                }
            }

            @Override
            public List<ByteString> getBlockHashList() {
                return Collections.unmodifiableList(this.blockHash_);
            }

            @Override
            public int getBlockHashCount() {
                return this.blockHash_.size();
            }

            @Override
            public ByteString getBlockHash(int i) {
                return this.blockHash_.get(i);
            }

            public Builder setBlockHash(int i, ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                ensureBlockHashIsMutable();
                this.blockHash_.set(i, byteString);
                onChanged();
                return this;
            }

            public Builder addBlockHash(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                ensureBlockHashIsMutable();
                this.blockHash_.add(byteString);
                onChanged();
                return this;
            }

            public Builder addAllBlockHash(Iterable<? extends ByteString> iterable) {
                ensureBlockHashIsMutable();
                AbstractMessageLite.Builder.addAll(iterable, this.blockHash_);
                onChanged();
                return this;
            }

            public Builder clearBlockHash() {
                this.blockHash_ = Collections.emptyList();
                this.bitField0_ &= -129;
                onChanged();
                return this;
            }

            private void ensureBlockRelativityOffsetsIsMutable() {
                if ((this.bitField0_ & JSONParser.ACCEPT_TAILLING_DATA) != 256) {
                    this.blockRelativityOffsets_ = new ArrayList(this.blockRelativityOffsets_);
                    this.bitField0_ |= JSONParser.ACCEPT_TAILLING_DATA;
                }
            }

            @Override
            public List<Integer> getBlockRelativityOffsetsList() {
                return Collections.unmodifiableList(this.blockRelativityOffsets_);
            }

            @Override
            public int getBlockRelativityOffsetsCount() {
                return this.blockRelativityOffsets_.size();
            }

            @Override
            public int getBlockRelativityOffsets(int i) {
                return this.blockRelativityOffsets_.get(i).intValue();
            }

            public Builder setBlockRelativityOffsets(int i, int i2) {
                ensureBlockRelativityOffsetsIsMutable();
                this.blockRelativityOffsets_.set(i, Integer.valueOf(i2));
                onChanged();
                return this;
            }

            public Builder addBlockRelativityOffsets(int i) {
                ensureBlockRelativityOffsetsIsMutable();
                this.blockRelativityOffsets_.add(Integer.valueOf(i));
                onChanged();
                return this;
            }

            public Builder addAllBlockRelativityOffsets(Iterable<? extends Integer> iterable) {
                ensureBlockRelativityOffsetsIsMutable();
                AbstractMessageLite.Builder.addAll(iterable, this.blockRelativityOffsets_);
                onChanged();
                return this;
            }

            public Builder clearBlockRelativityOffsets() {
                this.blockRelativityOffsets_ = Collections.emptyList();
                this.bitField0_ &= -257;
                onChanged();
                return this;
            }

            @Override
            public boolean hasConfidence() {
                return (this.bitField0_ & 512) == 512;
            }

            @Override
            public TransactionConfidence getConfidence() {
                SingleFieldBuilder<TransactionConfidence, TransactionConfidence.Builder, TransactionConfidenceOrBuilder> singleFieldBuilder = this.confidenceBuilder_;
                if (singleFieldBuilder == null) {
                    return this.confidence_;
                }
                return (TransactionConfidence) singleFieldBuilder.getMessage();
            }

            public Builder setConfidence(TransactionConfidence transactionConfidence) {
                SingleFieldBuilder<TransactionConfidence, TransactionConfidence.Builder, TransactionConfidenceOrBuilder> singleFieldBuilder = this.confidenceBuilder_;
                if (singleFieldBuilder != null) {
                    singleFieldBuilder.setMessage(transactionConfidence);
                } else {
                    if (transactionConfidence == null) {
                        throw null;
                    }
                    this.confidence_ = transactionConfidence;
                    onChanged();
                }
                this.bitField0_ |= 512;
                return this;
            }

            public Builder setConfidence(TransactionConfidence.Builder builder) {
                SingleFieldBuilder<TransactionConfidence, TransactionConfidence.Builder, TransactionConfidenceOrBuilder> singleFieldBuilder = this.confidenceBuilder_;
                if (singleFieldBuilder == null) {
                    this.confidence_ = builder.m2474build();
                    onChanged();
                } else {
                    singleFieldBuilder.setMessage(builder.m2474build());
                }
                this.bitField0_ |= 512;
                return this;
            }

            public Builder mergeConfidence(TransactionConfidence transactionConfidence) {
                SingleFieldBuilder<TransactionConfidence, TransactionConfidence.Builder, TransactionConfidenceOrBuilder> singleFieldBuilder = this.confidenceBuilder_;
                if (singleFieldBuilder == null) {
                    if ((this.bitField0_ & 512) == 512 && this.confidence_ != TransactionConfidence.getDefaultInstance()) {
                        this.confidence_ = TransactionConfidence.newBuilder(this.confidence_).mergeFrom(transactionConfidence).m2476buildPartial();
                    } else {
                        this.confidence_ = transactionConfidence;
                    }
                    onChanged();
                } else {
                    singleFieldBuilder.mergeFrom(transactionConfidence);
                }
                this.bitField0_ |= 512;
                return this;
            }

            public Builder clearConfidence() {
                SingleFieldBuilder<TransactionConfidence, TransactionConfidence.Builder, TransactionConfidenceOrBuilder> singleFieldBuilder = this.confidenceBuilder_;
                if (singleFieldBuilder == null) {
                    this.confidence_ = TransactionConfidence.getDefaultInstance();
                    onChanged();
                } else {
                    singleFieldBuilder.clear();
                }
                this.bitField0_ &= -513;
                return this;
            }

            public TransactionConfidence.Builder getConfidenceBuilder() {
                this.bitField0_ |= 512;
                onChanged();
                return (TransactionConfidence.Builder) getConfidenceFieldBuilder().getBuilder();
            }

            @Override
            public TransactionConfidenceOrBuilder getConfidenceOrBuilder() {
                SingleFieldBuilder<TransactionConfidence, TransactionConfidence.Builder, TransactionConfidenceOrBuilder> singleFieldBuilder = this.confidenceBuilder_;
                if (singleFieldBuilder != null) {
                    return (TransactionConfidenceOrBuilder) singleFieldBuilder.getMessageOrBuilder();
                }
                return this.confidence_;
            }

            private SingleFieldBuilder<TransactionConfidence, TransactionConfidence.Builder, TransactionConfidenceOrBuilder> getConfidenceFieldBuilder() {
                if (this.confidenceBuilder_ == null) {
                    this.confidenceBuilder_ = new SingleFieldBuilder<>(getConfidence(), getParentForChildren(), isClean());
                    this.confidence_ = null;
                }
                return this.confidenceBuilder_;
            }

            @Override
            public boolean hasPurpose() {
                return (this.bitField0_ & 1024) == 1024;
            }

            @Override
            public Purpose getPurpose() {
                return this.purpose_;
            }

            public Builder setPurpose(Purpose purpose) {
                if (purpose == null) {
                    throw null;
                }
                this.bitField0_ |= 1024;
                this.purpose_ = purpose;
                onChanged();
                return this;
            }

            public Builder clearPurpose() {
                this.bitField0_ &= -1025;
                this.purpose_ = Purpose.UNKNOWN;
                onChanged();
                return this;
            }

            @Override
            public boolean hasExchangeRate() {
                return (this.bitField0_ & 2048) == 2048;
            }

            @Override
            public ExchangeRate getExchangeRate() {
                SingleFieldBuilder<ExchangeRate, ExchangeRate.Builder, ExchangeRateOrBuilder> singleFieldBuilder = this.exchangeRateBuilder_;
                if (singleFieldBuilder == null) {
                    return this.exchangeRate_;
                }
                return (ExchangeRate) singleFieldBuilder.getMessage();
            }

            public Builder setExchangeRate(ExchangeRate exchangeRate) {
                SingleFieldBuilder<ExchangeRate, ExchangeRate.Builder, ExchangeRateOrBuilder> singleFieldBuilder = this.exchangeRateBuilder_;
                if (singleFieldBuilder != null) {
                    singleFieldBuilder.setMessage(exchangeRate);
                } else {
                    if (exchangeRate == null) {
                        throw null;
                    }
                    this.exchangeRate_ = exchangeRate;
                    onChanged();
                }
                this.bitField0_ |= 2048;
                return this;
            }

            public Builder setExchangeRate(ExchangeRate.Builder builder) {
                SingleFieldBuilder<ExchangeRate, ExchangeRate.Builder, ExchangeRateOrBuilder> singleFieldBuilder = this.exchangeRateBuilder_;
                if (singleFieldBuilder == null) {
                    this.exchangeRate_ = builder.m2231build();
                    onChanged();
                } else {
                    singleFieldBuilder.setMessage(builder.m2231build());
                }
                this.bitField0_ |= 2048;
                return this;
            }

            public Builder mergeExchangeRate(ExchangeRate exchangeRate) {
                SingleFieldBuilder<ExchangeRate, ExchangeRate.Builder, ExchangeRateOrBuilder> singleFieldBuilder = this.exchangeRateBuilder_;
                if (singleFieldBuilder == null) {
                    if ((this.bitField0_ & 2048) == 2048 && this.exchangeRate_ != ExchangeRate.getDefaultInstance()) {
                        this.exchangeRate_ = ExchangeRate.newBuilder(this.exchangeRate_).mergeFrom(exchangeRate).m2233buildPartial();
                    } else {
                        this.exchangeRate_ = exchangeRate;
                    }
                    onChanged();
                } else {
                    singleFieldBuilder.mergeFrom(exchangeRate);
                }
                this.bitField0_ |= 2048;
                return this;
            }

            public Builder clearExchangeRate() {
                SingleFieldBuilder<ExchangeRate, ExchangeRate.Builder, ExchangeRateOrBuilder> singleFieldBuilder = this.exchangeRateBuilder_;
                if (singleFieldBuilder == null) {
                    this.exchangeRate_ = ExchangeRate.getDefaultInstance();
                    onChanged();
                } else {
                    singleFieldBuilder.clear();
                }
                this.bitField0_ &= -2049;
                return this;
            }

            public ExchangeRate.Builder getExchangeRateBuilder() {
                this.bitField0_ |= 2048;
                onChanged();
                return (ExchangeRate.Builder) getExchangeRateFieldBuilder().getBuilder();
            }

            @Override
            public ExchangeRateOrBuilder getExchangeRateOrBuilder() {
                SingleFieldBuilder<ExchangeRate, ExchangeRate.Builder, ExchangeRateOrBuilder> singleFieldBuilder = this.exchangeRateBuilder_;
                if (singleFieldBuilder != null) {
                    return (ExchangeRateOrBuilder) singleFieldBuilder.getMessageOrBuilder();
                }
                return this.exchangeRate_;
            }

            private SingleFieldBuilder<ExchangeRate, ExchangeRate.Builder, ExchangeRateOrBuilder> getExchangeRateFieldBuilder() {
                if (this.exchangeRateBuilder_ == null) {
                    this.exchangeRateBuilder_ = new SingleFieldBuilder<>(getExchangeRate(), getParentForChildren(), isClean());
                    this.exchangeRate_ = null;
                }
                return this.exchangeRateBuilder_;
            }

            @Override
            public boolean hasMemo() {
                return (this.bitField0_ & 4096) == 4096;
            }

            @Override
            public String getMemo() {
                Object obj = this.memo_;
                if (!(obj instanceof String)) {
                    ByteString byteString = (ByteString) obj;
                    String stringUtf8 = byteString.toStringUtf8();
                    if (byteString.isValidUtf8()) {
                        this.memo_ = stringUtf8;
                    }
                    return stringUtf8;
                }
                return (String) obj;
            }

            @Override
            public ByteString getMemoBytes() {
                Object obj = this.memo_;
                if (obj instanceof String) {
                    ByteString copyFromUtf8 = ByteString.copyFromUtf8((String) obj);
                    this.memo_ = copyFromUtf8;
                    return copyFromUtf8;
                }
                return (ByteString) obj;
            }

            public Builder setMemo(String str) {
                if (str == null) {
                    throw null;
                }
                this.bitField0_ |= 4096;
                this.memo_ = str;
                onChanged();
                return this;
            }

            public Builder clearMemo() {
                this.bitField0_ &= -4097;
                this.memo_ = Transaction.getDefaultInstance().getMemo();
                onChanged();
                return this;
            }

            public Builder setMemoBytes(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 4096;
                this.memo_ = byteString;
                onChanged();
                return this;
            }
        }
    }

    public static final class ScryptParameters extends GeneratedMessage implements ScryptParametersOrBuilder {
        public static final int N_FIELD_NUMBER = 2;
        public static Parser<ScryptParameters> PARSER = new AbstractParser<ScryptParameters>() {
            public ScryptParameters parsePartialFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
                return new ScryptParameters(codedInputStream, extensionRegistryLite);
            }
        };
        public static final int P_FIELD_NUMBER = 4;
        public static final int R_FIELD_NUMBER = 3;
        public static final int SALT_FIELD_NUMBER = 1;
        private static final ScryptParameters defaultInstance;
        private static final long serialVersionUID = 0;
        private int bitField0_;
        private byte memoizedIsInitialized;
        private int memoizedSerializedSize;
        private long n_;
        private int p_;
        private int r_;
        private ByteString salt_;
        private final UnknownFieldSet unknownFields;

        private ScryptParameters(GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = builder.getUnknownFields();
        }

        private ScryptParameters(boolean z) {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = UnknownFieldSet.getDefaultInstance();
        }

        public static ScryptParameters getDefaultInstance() {
            return defaultInstance;
        }

        public ScryptParameters m2374getDefaultInstanceForType() {
            return defaultInstance;
        }

        public final UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private ScryptParameters(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            initFields();
            UnknownFieldSet.Builder newBuilder = UnknownFieldSet.newBuilder();
            boolean z = false;
            while (!z) {
                try {
                    try {
                        int readTag = codedInputStream.readTag();
                        if (readTag != 0) {
                            if (readTag == 10) {
                                this.bitField0_ |= 1;
                                this.salt_ = codedInputStream.readBytes();
                            } else if (readTag == 16) {
                                this.bitField0_ |= 2;
                                this.n_ = codedInputStream.readInt64();
                            } else if (readTag == 24) {
                                this.bitField0_ |= 4;
                                this.r_ = codedInputStream.readInt32();
                            } else if (readTag != 32) {
                                if (!parseUnknownField(codedInputStream, newBuilder, extensionRegistryLite, readTag)) {
                                }
                            } else {
                                this.bitField0_ |= 8;
                                this.p_ = codedInputStream.readInt32();
                            }
                        }
                        z = true;
                    } catch (InvalidProtocolBufferException e) {
                        throw e.setUnfinishedMessage(this);
                    } catch (IOException e2) {
                        throw new InvalidProtocolBufferException(e2.getMessage()).setUnfinishedMessage(this);
                    }
                } finally {
                    this.unknownFields = newBuilder.build();
                    makeExtensionsImmutable();
                }
            }
        }

        public static final Descriptors.Descriptor getDescriptor() {
            return Protos.internal_static_wallet_ScryptParameters_descriptor;
        }

        protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return Protos.internal_static_wallet_ScryptParameters_fieldAccessorTable.ensureFieldAccessorsInitialized(ScryptParameters.class, Builder.class);
        }

        static {
            ScryptParameters scryptParameters = new ScryptParameters(true);
            defaultInstance = scryptParameters;
            scryptParameters.initFields();
        }

        public Parser<ScryptParameters> getParserForType() {
            return PARSER;
        }

        @Override
        public boolean hasSalt() {
            return (this.bitField0_ & 1) == 1;
        }

        @Override
        public ByteString getSalt() {
            return this.salt_;
        }

        @Override
        public boolean hasN() {
            return (this.bitField0_ & 2) == 2;
        }

        @Override
        public long getN() {
            return this.n_;
        }

        @Override
        public boolean hasR() {
            return (this.bitField0_ & 4) == 4;
        }

        @Override
        public int getR() {
            return this.r_;
        }

        @Override
        public boolean hasP() {
            return (this.bitField0_ & 8) == 8;
        }

        @Override
        public int getP() {
            return this.p_;
        }

        private void initFields() {
            this.salt_ = ByteString.EMPTY;
            this.n_ = 16384L;
            this.r_ = 8;
            this.p_ = 1;
        }

        public final boolean isInitialized() {
            byte b = this.memoizedIsInitialized;
            if (b == 1) {
                return true;
            }
            if (b == 0) {
                return false;
            }
            if (!hasSalt()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            this.memoizedIsInitialized = (byte) 1;
            return true;
        }

        public void writeTo(CodedOutputStream codedOutputStream) throws IOException {
            getSerializedSize();
            if ((this.bitField0_ & 1) == 1) {
                codedOutputStream.writeBytes(1, this.salt_);
            }
            if ((this.bitField0_ & 2) == 2) {
                codedOutputStream.writeInt64(2, this.n_);
            }
            if ((this.bitField0_ & 4) == 4) {
                codedOutputStream.writeInt32(3, this.r_);
            }
            if ((this.bitField0_ & 8) == 8) {
                codedOutputStream.writeInt32(4, this.p_);
            }
            getUnknownFields().writeTo(codedOutputStream);
        }

        public int getSerializedSize() {
            int i = this.memoizedSerializedSize;
            if (i != -1) {
                return i;
            }
            int computeBytesSize = (this.bitField0_ & 1) == 1 ? 0 + CodedOutputStream.computeBytesSize(1, this.salt_) : 0;
            if ((this.bitField0_ & 2) == 2) {
                computeBytesSize += CodedOutputStream.computeInt64Size(2, this.n_);
            }
            if ((this.bitField0_ & 4) == 4) {
                computeBytesSize += CodedOutputStream.computeInt32Size(3, this.r_);
            }
            if ((this.bitField0_ & 8) == 8) {
                computeBytesSize += CodedOutputStream.computeInt32Size(4, this.p_);
            }
            int serializedSize = computeBytesSize + getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = serializedSize;
            return serializedSize;
        }

        protected Object writeReplace() throws ObjectStreamException {
            return super.writeReplace();
        }

        public static ScryptParameters parseFrom(ByteString byteString) throws InvalidProtocolBufferException {
            return (ScryptParameters) PARSER.parseFrom(byteString);
        }

        public static ScryptParameters parseFrom(ByteString byteString, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (ScryptParameters) PARSER.parseFrom(byteString, extensionRegistryLite);
        }

        public static ScryptParameters parseFrom(byte[] bArr) throws InvalidProtocolBufferException {
            return (ScryptParameters) PARSER.parseFrom(bArr);
        }

        public static ScryptParameters parseFrom(byte[] bArr, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (ScryptParameters) PARSER.parseFrom(bArr, extensionRegistryLite);
        }

        public static ScryptParameters parseFrom(InputStream inputStream) throws IOException {
            return (ScryptParameters) PARSER.parseFrom(inputStream);
        }

        public static ScryptParameters parseFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (ScryptParameters) PARSER.parseFrom(inputStream, extensionRegistryLite);
        }

        public static ScryptParameters parseDelimitedFrom(InputStream inputStream) throws IOException {
            return (ScryptParameters) PARSER.parseDelimitedFrom(inputStream);
        }

        public static ScryptParameters parseDelimitedFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (ScryptParameters) PARSER.parseDelimitedFrom(inputStream, extensionRegistryLite);
        }

        public static ScryptParameters parseFrom(CodedInputStream codedInputStream) throws IOException {
            return (ScryptParameters) PARSER.parseFrom(codedInputStream);
        }

        public static ScryptParameters parseFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (ScryptParameters) PARSER.parseFrom(codedInputStream, extensionRegistryLite);
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

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

        public static Builder newBuilder(ScryptParameters scryptParameters) {
            return newBuilder().mergeFrom(scryptParameters);
        }

        public Builder m2379toBuilder() {
            return newBuilder(this);
        }

        public Builder newBuilderForType(GeneratedMessage.BuilderParent builderParent) {
            return new Builder(builderParent);
        }

        public static final class Builder extends GeneratedMessage.Builder<Builder> implements ScryptParametersOrBuilder {
            private int bitField0_;
            private long n_;
            private int p_;
            private int r_;
            private ByteString salt_;

            public static final Descriptors.Descriptor getDescriptor() {
                return Protos.internal_static_wallet_ScryptParameters_descriptor;
            }

            protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
                return Protos.internal_static_wallet_ScryptParameters_fieldAccessorTable.ensureFieldAccessorsInitialized(ScryptParameters.class, Builder.class);
            }

            private Builder() {
                this.salt_ = ByteString.EMPTY;
                this.n_ = 16384L;
                this.r_ = 8;
                this.p_ = 1;
                maybeForceBuilderInitialization();
            }

            private Builder(GeneratedMessage.BuilderParent builderParent) {
                super(builderParent);
                this.salt_ = ByteString.EMPTY;
                this.n_ = 16384L;
                this.r_ = 8;
                this.p_ = 1;
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                boolean unused = ScryptParameters.alwaysUseFieldBuilders;
            }

            public static Builder create() {
                return new Builder();
            }

            public Builder m2388clear() {
                super.clear();
                this.salt_ = ByteString.EMPTY;
                int i = this.bitField0_ & (-2);
                this.bitField0_ = i;
                this.n_ = 16384L;
                int i2 = i & (-3);
                this.bitField0_ = i2;
                this.r_ = 8;
                int i3 = i2 & (-5);
                this.bitField0_ = i3;
                this.p_ = 1;
                this.bitField0_ = i3 & (-9);
                return this;
            }

            public Builder m2394clone() {
                return create().mergeFrom(m2384buildPartial());
            }

            public Descriptors.Descriptor getDescriptorForType() {
                return Protos.internal_static_wallet_ScryptParameters_descriptor;
            }

            public ScryptParameters m2396getDefaultInstanceForType() {
                return ScryptParameters.getDefaultInstance();
            }

            public ScryptParameters m2382build() {
                ScryptParameters m2384buildPartial = m2384buildPartial();
                if (m2384buildPartial.isInitialized()) {
                    return m2384buildPartial;
                }
                throw newUninitializedMessageException(m2384buildPartial);
            }

            public ScryptParameters m2384buildPartial() {
                ScryptParameters scryptParameters = new ScryptParameters(this);
                int i = this.bitField0_;
                int i2 = (i & 1) != 1 ? 0 : 1;
                scryptParameters.salt_ = this.salt_;
                if ((i & 2) == 2) {
                    i2 |= 2;
                }
                scryptParameters.n_ = this.n_;
                if ((i & 4) == 4) {
                    i2 |= 4;
                }
                scryptParameters.r_ = this.r_;
                if ((i & 8) == 8) {
                    i2 |= 8;
                }
                scryptParameters.p_ = this.p_;
                scryptParameters.bitField0_ = i2;
                onBuilt();
                return scryptParameters;
            }

            public Builder m2400mergeFrom(Message message) {
                if (message instanceof ScryptParameters) {
                    return mergeFrom((ScryptParameters) message);
                }
                super.mergeFrom(message);
                return this;
            }

            public Builder mergeFrom(ScryptParameters scryptParameters) {
                if (scryptParameters == ScryptParameters.getDefaultInstance()) {
                    return this;
                }
                if (scryptParameters.hasSalt()) {
                    setSalt(scryptParameters.getSalt());
                }
                if (scryptParameters.hasN()) {
                    setN(scryptParameters.getN());
                }
                if (scryptParameters.hasR()) {
                    setR(scryptParameters.getR());
                }
                if (scryptParameters.hasP()) {
                    setP(scryptParameters.getP());
                }
                mergeUnknownFields(scryptParameters.getUnknownFields());
                return this;
            }

            public final boolean isInitialized() {
                return hasSalt();
            }

            public org.bitcoinj.wallet.Protos.ScryptParameters.Builder m2401mergeFrom(com.google.protobuf.CodedInputStream r3, com.google.protobuf.ExtensionRegistryLite r4) throws java.io.IOException {
                throw new UnsupportedOperationException("Method not decompiled: org.bitcoinj.wallet.Protos.ScryptParameters.Builder.m2401mergeFrom(com.google.protobuf.CodedInputStream, com.google.protobuf.ExtensionRegistryLite):org.bitcoinj.wallet.Protos$ScryptParameters$Builder");
            }

            @Override
            public boolean hasSalt() {
                return (this.bitField0_ & 1) == 1;
            }

            @Override
            public ByteString getSalt() {
                return this.salt_;
            }

            public Builder setSalt(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 1;
                this.salt_ = byteString;
                onChanged();
                return this;
            }

            public Builder clearSalt() {
                this.bitField0_ &= -2;
                this.salt_ = ScryptParameters.getDefaultInstance().getSalt();
                onChanged();
                return this;
            }

            @Override
            public boolean hasN() {
                return (this.bitField0_ & 2) == 2;
            }

            @Override
            public long getN() {
                return this.n_;
            }

            public Builder setN(long j) {
                this.bitField0_ |= 2;
                this.n_ = j;
                onChanged();
                return this;
            }

            public Builder clearN() {
                this.bitField0_ &= -3;
                this.n_ = 16384L;
                onChanged();
                return this;
            }

            @Override
            public boolean hasR() {
                return (this.bitField0_ & 4) == 4;
            }

            @Override
            public int getR() {
                return this.r_;
            }

            public Builder setR(int i) {
                this.bitField0_ |= 4;
                this.r_ = i;
                onChanged();
                return this;
            }

            public Builder clearR() {
                this.bitField0_ &= -5;
                this.r_ = 8;
                onChanged();
                return this;
            }

            @Override
            public boolean hasP() {
                return (this.bitField0_ & 8) == 8;
            }

            @Override
            public int getP() {
                return this.p_;
            }

            public Builder setP(int i) {
                this.bitField0_ |= 8;
                this.p_ = i;
                onChanged();
                return this;
            }

            public Builder clearP() {
                this.bitField0_ &= -9;
                this.p_ = 1;
                onChanged();
                return this;
            }
        }
    }

    public static final class Extension extends GeneratedMessage implements ExtensionOrBuilder {
        public static final int DATA_FIELD_NUMBER = 2;
        public static final int ID_FIELD_NUMBER = 1;
        public static final int MANDATORY_FIELD_NUMBER = 3;
        public static Parser<Extension> PARSER = new AbstractParser<Extension>() {
            public Extension parsePartialFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
                return new Extension(codedInputStream, extensionRegistryLite);
            }
        };
        private static final Extension defaultInstance;
        private static final long serialVersionUID = 0;
        private int bitField0_;
        private ByteString data_;
        private Object id_;
        private boolean mandatory_;
        private byte memoizedIsInitialized;
        private int memoizedSerializedSize;
        private final UnknownFieldSet unknownFields;

        private Extension(GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = builder.getUnknownFields();
        }

        private Extension(boolean z) {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = UnknownFieldSet.getDefaultInstance();
        }

        public static Extension getDefaultInstance() {
            return defaultInstance;
        }

        public Extension m2253getDefaultInstanceForType() {
            return defaultInstance;
        }

        public final UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private Extension(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            initFields();
            UnknownFieldSet.Builder newBuilder = UnknownFieldSet.newBuilder();
            boolean z = false;
            while (!z) {
                try {
                    try {
                        int readTag = codedInputStream.readTag();
                        if (readTag != 0) {
                            if (readTag == 10) {
                                ByteString readBytes = codedInputStream.readBytes();
                                this.bitField0_ = 1 | this.bitField0_;
                                this.id_ = readBytes;
                            } else if (readTag == 18) {
                                this.bitField0_ |= 2;
                                this.data_ = codedInputStream.readBytes();
                            } else if (readTag != 24) {
                                if (!parseUnknownField(codedInputStream, newBuilder, extensionRegistryLite, readTag)) {
                                }
                            } else {
                                this.bitField0_ |= 4;
                                this.mandatory_ = codedInputStream.readBool();
                            }
                        }
                        z = true;
                    } catch (InvalidProtocolBufferException e) {
                        throw e.setUnfinishedMessage(this);
                    } catch (IOException e2) {
                        throw new InvalidProtocolBufferException(e2.getMessage()).setUnfinishedMessage(this);
                    }
                } finally {
                    this.unknownFields = newBuilder.build();
                    makeExtensionsImmutable();
                }
            }
        }

        public static final Descriptors.Descriptor getDescriptor() {
            return Protos.internal_static_wallet_Extension_descriptor;
        }

        protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return Protos.internal_static_wallet_Extension_fieldAccessorTable.ensureFieldAccessorsInitialized(Extension.class, Builder.class);
        }

        static {
            Extension extension = new Extension(true);
            defaultInstance = extension;
            extension.initFields();
        }

        public Parser<Extension> getParserForType() {
            return PARSER;
        }

        @Override
        public boolean hasId() {
            return (this.bitField0_ & 1) == 1;
        }

        @Override
        public String getId() {
            Object obj = this.id_;
            if (obj instanceof String) {
                return (String) obj;
            }
            ByteString byteString = (ByteString) obj;
            String stringUtf8 = byteString.toStringUtf8();
            if (byteString.isValidUtf8()) {
                this.id_ = stringUtf8;
            }
            return stringUtf8;
        }

        @Override
        public ByteString getIdBytes() {
            Object obj = this.id_;
            if (obj instanceof String) {
                ByteString copyFromUtf8 = ByteString.copyFromUtf8((String) obj);
                this.id_ = copyFromUtf8;
                return copyFromUtf8;
            }
            return (ByteString) obj;
        }

        @Override
        public boolean hasData() {
            return (this.bitField0_ & 2) == 2;
        }

        @Override
        public ByteString getData() {
            return this.data_;
        }

        @Override
        public boolean hasMandatory() {
            return (this.bitField0_ & 4) == 4;
        }

        @Override
        public boolean getMandatory() {
            return this.mandatory_;
        }

        private void initFields() {
            this.id_ = "";
            this.data_ = ByteString.EMPTY;
            this.mandatory_ = false;
        }

        public final boolean isInitialized() {
            byte b = this.memoizedIsInitialized;
            if (b == 1) {
                return true;
            }
            if (b == 0) {
                return false;
            }
            if (!hasId()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            if (!hasData()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            if (!hasMandatory()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            this.memoizedIsInitialized = (byte) 1;
            return true;
        }

        public void writeTo(CodedOutputStream codedOutputStream) throws IOException {
            getSerializedSize();
            if ((this.bitField0_ & 1) == 1) {
                codedOutputStream.writeBytes(1, getIdBytes());
            }
            if ((this.bitField0_ & 2) == 2) {
                codedOutputStream.writeBytes(2, this.data_);
            }
            if ((this.bitField0_ & 4) == 4) {
                codedOutputStream.writeBool(3, this.mandatory_);
            }
            getUnknownFields().writeTo(codedOutputStream);
        }

        public int getSerializedSize() {
            int i = this.memoizedSerializedSize;
            if (i != -1) {
                return i;
            }
            int computeBytesSize = (this.bitField0_ & 1) == 1 ? 0 + CodedOutputStream.computeBytesSize(1, getIdBytes()) : 0;
            if ((this.bitField0_ & 2) == 2) {
                computeBytesSize += CodedOutputStream.computeBytesSize(2, this.data_);
            }
            if ((this.bitField0_ & 4) == 4) {
                computeBytesSize += CodedOutputStream.computeBoolSize(3, this.mandatory_);
            }
            int serializedSize = computeBytesSize + getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = serializedSize;
            return serializedSize;
        }

        protected Object writeReplace() throws ObjectStreamException {
            return super.writeReplace();
        }

        public static Extension parseFrom(ByteString byteString) throws InvalidProtocolBufferException {
            return (Extension) PARSER.parseFrom(byteString);
        }

        public static Extension parseFrom(ByteString byteString, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (Extension) PARSER.parseFrom(byteString, extensionRegistryLite);
        }

        public static Extension parseFrom(byte[] bArr) throws InvalidProtocolBufferException {
            return (Extension) PARSER.parseFrom(bArr);
        }

        public static Extension parseFrom(byte[] bArr, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (Extension) PARSER.parseFrom(bArr, extensionRegistryLite);
        }

        public static Extension parseFrom(InputStream inputStream) throws IOException {
            return (Extension) PARSER.parseFrom(inputStream);
        }

        public static Extension parseFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (Extension) PARSER.parseFrom(inputStream, extensionRegistryLite);
        }

        public static Extension parseDelimitedFrom(InputStream inputStream) throws IOException {
            return (Extension) PARSER.parseDelimitedFrom(inputStream);
        }

        public static Extension parseDelimitedFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (Extension) PARSER.parseDelimitedFrom(inputStream, extensionRegistryLite);
        }

        public static Extension parseFrom(CodedInputStream codedInputStream) throws IOException {
            return (Extension) PARSER.parseFrom(codedInputStream);
        }

        public static Extension parseFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (Extension) PARSER.parseFrom(codedInputStream, extensionRegistryLite);
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

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

        public static Builder newBuilder(Extension extension) {
            return newBuilder().mergeFrom(extension);
        }

        public Builder m2258toBuilder() {
            return newBuilder(this);
        }

        public Builder newBuilderForType(GeneratedMessage.BuilderParent builderParent) {
            return new Builder(builderParent);
        }

        public static final class Builder extends GeneratedMessage.Builder<Builder> implements ExtensionOrBuilder {
            private int bitField0_;
            private ByteString data_;
            private Object id_;
            private boolean mandatory_;

            public static final Descriptors.Descriptor getDescriptor() {
                return Protos.internal_static_wallet_Extension_descriptor;
            }

            protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
                return Protos.internal_static_wallet_Extension_fieldAccessorTable.ensureFieldAccessorsInitialized(Extension.class, Builder.class);
            }

            private Builder() {
                this.id_ = "";
                this.data_ = ByteString.EMPTY;
                maybeForceBuilderInitialization();
            }

            private Builder(GeneratedMessage.BuilderParent builderParent) {
                super(builderParent);
                this.id_ = "";
                this.data_ = ByteString.EMPTY;
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                boolean unused = Extension.alwaysUseFieldBuilders;
            }

            public static Builder create() {
                return new Builder();
            }

            public Builder m2267clear() {
                super.clear();
                this.id_ = "";
                this.bitField0_ &= -2;
                this.data_ = ByteString.EMPTY;
                int i = this.bitField0_ & (-3);
                this.bitField0_ = i;
                this.mandatory_ = false;
                this.bitField0_ = i & (-5);
                return this;
            }

            public Builder m2273clone() {
                return create().mergeFrom(m2263buildPartial());
            }

            public Descriptors.Descriptor getDescriptorForType() {
                return Protos.internal_static_wallet_Extension_descriptor;
            }

            public Extension m2275getDefaultInstanceForType() {
                return Extension.getDefaultInstance();
            }

            public Extension m2261build() {
                Extension m2263buildPartial = m2263buildPartial();
                if (m2263buildPartial.isInitialized()) {
                    return m2263buildPartial;
                }
                throw newUninitializedMessageException(m2263buildPartial);
            }

            public Extension m2263buildPartial() {
                Extension extension = new Extension(this);
                int i = this.bitField0_;
                int i2 = (i & 1) != 1 ? 0 : 1;
                extension.id_ = this.id_;
                if ((i & 2) == 2) {
                    i2 |= 2;
                }
                extension.data_ = this.data_;
                if ((i & 4) == 4) {
                    i2 |= 4;
                }
                extension.mandatory_ = this.mandatory_;
                extension.bitField0_ = i2;
                onBuilt();
                return extension;
            }

            public Builder m2279mergeFrom(Message message) {
                if (message instanceof Extension) {
                    return mergeFrom((Extension) message);
                }
                super.mergeFrom(message);
                return this;
            }

            public Builder mergeFrom(Extension extension) {
                if (extension == Extension.getDefaultInstance()) {
                    return this;
                }
                if (extension.hasId()) {
                    this.bitField0_ |= 1;
                    this.id_ = extension.id_;
                    onChanged();
                }
                if (extension.hasData()) {
                    setData(extension.getData());
                }
                if (extension.hasMandatory()) {
                    setMandatory(extension.getMandatory());
                }
                mergeUnknownFields(extension.getUnknownFields());
                return this;
            }

            public final boolean isInitialized() {
                return hasId() && hasData() && hasMandatory();
            }

            public org.bitcoinj.wallet.Protos.Extension.Builder m2280mergeFrom(com.google.protobuf.CodedInputStream r3, com.google.protobuf.ExtensionRegistryLite r4) throws java.io.IOException {
                throw new UnsupportedOperationException("Method not decompiled: org.bitcoinj.wallet.Protos.Extension.Builder.m2280mergeFrom(com.google.protobuf.CodedInputStream, com.google.protobuf.ExtensionRegistryLite):org.bitcoinj.wallet.Protos$Extension$Builder");
            }

            @Override
            public boolean hasId() {
                return (this.bitField0_ & 1) == 1;
            }

            @Override
            public String getId() {
                Object obj = this.id_;
                if (!(obj instanceof String)) {
                    ByteString byteString = (ByteString) obj;
                    String stringUtf8 = byteString.toStringUtf8();
                    if (byteString.isValidUtf8()) {
                        this.id_ = stringUtf8;
                    }
                    return stringUtf8;
                }
                return (String) obj;
            }

            @Override
            public ByteString getIdBytes() {
                Object obj = this.id_;
                if (obj instanceof String) {
                    ByteString copyFromUtf8 = ByteString.copyFromUtf8((String) obj);
                    this.id_ = copyFromUtf8;
                    return copyFromUtf8;
                }
                return (ByteString) obj;
            }

            public Builder setId(String str) {
                if (str == null) {
                    throw null;
                }
                this.bitField0_ |= 1;
                this.id_ = str;
                onChanged();
                return this;
            }

            public Builder clearId() {
                this.bitField0_ &= -2;
                this.id_ = Extension.getDefaultInstance().getId();
                onChanged();
                return this;
            }

            public Builder setIdBytes(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 1;
                this.id_ = byteString;
                onChanged();
                return this;
            }

            @Override
            public boolean hasData() {
                return (this.bitField0_ & 2) == 2;
            }

            @Override
            public ByteString getData() {
                return this.data_;
            }

            public Builder setData(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 2;
                this.data_ = byteString;
                onChanged();
                return this;
            }

            public Builder clearData() {
                this.bitField0_ &= -3;
                this.data_ = Extension.getDefaultInstance().getData();
                onChanged();
                return this;
            }

            @Override
            public boolean hasMandatory() {
                return (this.bitField0_ & 4) == 4;
            }

            @Override
            public boolean getMandatory() {
                return this.mandatory_;
            }

            public Builder setMandatory(boolean z) {
                this.bitField0_ |= 4;
                this.mandatory_ = z;
                onChanged();
                return this;
            }

            public Builder clearMandatory() {
                this.bitField0_ &= -5;
                this.mandatory_ = false;
                onChanged();
                return this;
            }
        }
    }

    public static final class Tag extends GeneratedMessage implements TagOrBuilder {
        public static final int DATA_FIELD_NUMBER = 2;
        public static Parser<Tag> PARSER = new AbstractParser<Tag>() {
            public Tag parsePartialFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
                return new Tag(codedInputStream, extensionRegistryLite);
            }
        };
        public static final int TAG_FIELD_NUMBER = 1;
        private static final Tag defaultInstance;
        private static final long serialVersionUID = 0;
        private int bitField0_;
        private ByteString data_;
        private byte memoizedIsInitialized;
        private int memoizedSerializedSize;
        private Object tag_;
        private final UnknownFieldSet unknownFields;

        private Tag(GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = builder.getUnknownFields();
        }

        private Tag(boolean z) {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = UnknownFieldSet.getDefaultInstance();
        }

        public static Tag getDefaultInstance() {
            return defaultInstance;
        }

        public Tag m2404getDefaultInstanceForType() {
            return defaultInstance;
        }

        public final UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private Tag(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            initFields();
            UnknownFieldSet.Builder newBuilder = UnknownFieldSet.newBuilder();
            boolean z = false;
            while (!z) {
                try {
                    try {
                        try {
                            int readTag = codedInputStream.readTag();
                            if (readTag != 0) {
                                if (readTag == 10) {
                                    ByteString readBytes = codedInputStream.readBytes();
                                    this.bitField0_ = 1 | this.bitField0_;
                                    this.tag_ = readBytes;
                                } else if (readTag != 18) {
                                    if (!parseUnknownField(codedInputStream, newBuilder, extensionRegistryLite, readTag)) {
                                    }
                                } else {
                                    this.bitField0_ |= 2;
                                    this.data_ = codedInputStream.readBytes();
                                }
                            }
                            z = true;
                        } catch (IOException e) {
                            throw new InvalidProtocolBufferException(e.getMessage()).setUnfinishedMessage(this);
                        }
                    } catch (InvalidProtocolBufferException e2) {
                        throw e2.setUnfinishedMessage(this);
                    }
                } finally {
                    this.unknownFields = newBuilder.build();
                    makeExtensionsImmutable();
                }
            }
        }

        public static final Descriptors.Descriptor getDescriptor() {
            return Protos.internal_static_wallet_Tag_descriptor;
        }

        protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return Protos.internal_static_wallet_Tag_fieldAccessorTable.ensureFieldAccessorsInitialized(Tag.class, Builder.class);
        }

        static {
            Tag tag = new Tag(true);
            defaultInstance = tag;
            tag.initFields();
        }

        public Parser<Tag> getParserForType() {
            return PARSER;
        }

        @Override
        public boolean hasTag() {
            return (this.bitField0_ & 1) == 1;
        }

        @Override
        public String getTag() {
            Object obj = this.tag_;
            if (obj instanceof String) {
                return (String) obj;
            }
            ByteString byteString = (ByteString) obj;
            String stringUtf8 = byteString.toStringUtf8();
            if (byteString.isValidUtf8()) {
                this.tag_ = stringUtf8;
            }
            return stringUtf8;
        }

        @Override
        public ByteString getTagBytes() {
            Object obj = this.tag_;
            if (obj instanceof String) {
                ByteString copyFromUtf8 = ByteString.copyFromUtf8((String) obj);
                this.tag_ = copyFromUtf8;
                return copyFromUtf8;
            }
            return (ByteString) obj;
        }

        @Override
        public boolean hasData() {
            return (this.bitField0_ & 2) == 2;
        }

        @Override
        public ByteString getData() {
            return this.data_;
        }

        private void initFields() {
            this.tag_ = "";
            this.data_ = ByteString.EMPTY;
        }

        public final boolean isInitialized() {
            byte b = this.memoizedIsInitialized;
            if (b == 1) {
                return true;
            }
            if (b == 0) {
                return false;
            }
            if (!hasTag()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            if (!hasData()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            this.memoizedIsInitialized = (byte) 1;
            return true;
        }

        public void writeTo(CodedOutputStream codedOutputStream) throws IOException {
            getSerializedSize();
            if ((this.bitField0_ & 1) == 1) {
                codedOutputStream.writeBytes(1, getTagBytes());
            }
            if ((this.bitField0_ & 2) == 2) {
                codedOutputStream.writeBytes(2, this.data_);
            }
            getUnknownFields().writeTo(codedOutputStream);
        }

        public int getSerializedSize() {
            int i = this.memoizedSerializedSize;
            if (i != -1) {
                return i;
            }
            int computeBytesSize = (this.bitField0_ & 1) == 1 ? 0 + CodedOutputStream.computeBytesSize(1, getTagBytes()) : 0;
            if ((this.bitField0_ & 2) == 2) {
                computeBytesSize += CodedOutputStream.computeBytesSize(2, this.data_);
            }
            int serializedSize = computeBytesSize + getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = serializedSize;
            return serializedSize;
        }

        protected Object writeReplace() throws ObjectStreamException {
            return super.writeReplace();
        }

        public static Tag parseFrom(ByteString byteString) throws InvalidProtocolBufferException {
            return (Tag) PARSER.parseFrom(byteString);
        }

        public static Tag parseFrom(ByteString byteString, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (Tag) PARSER.parseFrom(byteString, extensionRegistryLite);
        }

        public static Tag parseFrom(byte[] bArr) throws InvalidProtocolBufferException {
            return (Tag) PARSER.parseFrom(bArr);
        }

        public static Tag parseFrom(byte[] bArr, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (Tag) PARSER.parseFrom(bArr, extensionRegistryLite);
        }

        public static Tag parseFrom(InputStream inputStream) throws IOException {
            return (Tag) PARSER.parseFrom(inputStream);
        }

        public static Tag parseFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (Tag) PARSER.parseFrom(inputStream, extensionRegistryLite);
        }

        public static Tag parseDelimitedFrom(InputStream inputStream) throws IOException {
            return (Tag) PARSER.parseDelimitedFrom(inputStream);
        }

        public static Tag parseDelimitedFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (Tag) PARSER.parseDelimitedFrom(inputStream, extensionRegistryLite);
        }

        public static Tag parseFrom(CodedInputStream codedInputStream) throws IOException {
            return (Tag) PARSER.parseFrom(codedInputStream);
        }

        public static Tag parseFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (Tag) PARSER.parseFrom(codedInputStream, extensionRegistryLite);
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

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

        public static Builder newBuilder(Tag tag) {
            return newBuilder().mergeFrom(tag);
        }

        public Builder m2409toBuilder() {
            return newBuilder(this);
        }

        public Builder newBuilderForType(GeneratedMessage.BuilderParent builderParent) {
            return new Builder(builderParent);
        }

        public static final class Builder extends GeneratedMessage.Builder<Builder> implements TagOrBuilder {
            private int bitField0_;
            private ByteString data_;
            private Object tag_;

            public static final Descriptors.Descriptor getDescriptor() {
                return Protos.internal_static_wallet_Tag_descriptor;
            }

            protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
                return Protos.internal_static_wallet_Tag_fieldAccessorTable.ensureFieldAccessorsInitialized(Tag.class, Builder.class);
            }

            private Builder() {
                this.tag_ = "";
                this.data_ = ByteString.EMPTY;
                maybeForceBuilderInitialization();
            }

            private Builder(GeneratedMessage.BuilderParent builderParent) {
                super(builderParent);
                this.tag_ = "";
                this.data_ = ByteString.EMPTY;
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                boolean unused = Tag.alwaysUseFieldBuilders;
            }

            public static Builder create() {
                return new Builder();
            }

            public Builder m2418clear() {
                super.clear();
                this.tag_ = "";
                this.bitField0_ &= -2;
                this.data_ = ByteString.EMPTY;
                this.bitField0_ &= -3;
                return this;
            }

            public Builder m2424clone() {
                return create().mergeFrom(m2414buildPartial());
            }

            public Descriptors.Descriptor getDescriptorForType() {
                return Protos.internal_static_wallet_Tag_descriptor;
            }

            public Tag m2426getDefaultInstanceForType() {
                return Tag.getDefaultInstance();
            }

            public Tag m2412build() {
                Tag m2414buildPartial = m2414buildPartial();
                if (m2414buildPartial.isInitialized()) {
                    return m2414buildPartial;
                }
                throw newUninitializedMessageException(m2414buildPartial);
            }

            public Tag m2414buildPartial() {
                Tag tag = new Tag(this);
                int i = this.bitField0_;
                int i2 = (i & 1) != 1 ? 0 : 1;
                tag.tag_ = this.tag_;
                if ((i & 2) == 2) {
                    i2 |= 2;
                }
                tag.data_ = this.data_;
                tag.bitField0_ = i2;
                onBuilt();
                return tag;
            }

            public Builder m2430mergeFrom(Message message) {
                if (message instanceof Tag) {
                    return mergeFrom((Tag) message);
                }
                super.mergeFrom(message);
                return this;
            }

            public Builder mergeFrom(Tag tag) {
                if (tag == Tag.getDefaultInstance()) {
                    return this;
                }
                if (tag.hasTag()) {
                    this.bitField0_ |= 1;
                    this.tag_ = tag.tag_;
                    onChanged();
                }
                if (tag.hasData()) {
                    setData(tag.getData());
                }
                mergeUnknownFields(tag.getUnknownFields());
                return this;
            }

            public final boolean isInitialized() {
                return hasTag() && hasData();
            }

            public org.bitcoinj.wallet.Protos.Tag.Builder m2431mergeFrom(com.google.protobuf.CodedInputStream r3, com.google.protobuf.ExtensionRegistryLite r4) throws java.io.IOException {
                throw new UnsupportedOperationException("Method not decompiled: org.bitcoinj.wallet.Protos.Tag.Builder.m2431mergeFrom(com.google.protobuf.CodedInputStream, com.google.protobuf.ExtensionRegistryLite):org.bitcoinj.wallet.Protos$Tag$Builder");
            }

            @Override
            public boolean hasTag() {
                return (this.bitField0_ & 1) == 1;
            }

            @Override
            public String getTag() {
                Object obj = this.tag_;
                if (!(obj instanceof String)) {
                    ByteString byteString = (ByteString) obj;
                    String stringUtf8 = byteString.toStringUtf8();
                    if (byteString.isValidUtf8()) {
                        this.tag_ = stringUtf8;
                    }
                    return stringUtf8;
                }
                return (String) obj;
            }

            @Override
            public ByteString getTagBytes() {
                Object obj = this.tag_;
                if (obj instanceof String) {
                    ByteString copyFromUtf8 = ByteString.copyFromUtf8((String) obj);
                    this.tag_ = copyFromUtf8;
                    return copyFromUtf8;
                }
                return (ByteString) obj;
            }

            public Builder setTag(String str) {
                if (str == null) {
                    throw null;
                }
                this.bitField0_ |= 1;
                this.tag_ = str;
                onChanged();
                return this;
            }

            public Builder clearTag() {
                this.bitField0_ &= -2;
                this.tag_ = Tag.getDefaultInstance().getTag();
                onChanged();
                return this;
            }

            public Builder setTagBytes(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 1;
                this.tag_ = byteString;
                onChanged();
                return this;
            }

            @Override
            public boolean hasData() {
                return (this.bitField0_ & 2) == 2;
            }

            @Override
            public ByteString getData() {
                return this.data_;
            }

            public Builder setData(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 2;
                this.data_ = byteString;
                onChanged();
                return this;
            }

            public Builder clearData() {
                this.bitField0_ &= -3;
                this.data_ = Tag.getDefaultInstance().getData();
                onChanged();
                return this;
            }
        }
    }

    public static final class TransactionSigner extends GeneratedMessage implements TransactionSignerOrBuilder {
        public static final int CLASS_NAME_FIELD_NUMBER = 1;
        public static final int DATA_FIELD_NUMBER = 2;
        public static Parser<TransactionSigner> PARSER = new AbstractParser<TransactionSigner>() {
            public TransactionSigner parsePartialFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
                return new TransactionSigner(codedInputStream, extensionRegistryLite);
            }
        };
        private static final TransactionSigner defaultInstance;
        private static final long serialVersionUID = 0;
        private int bitField0_;
        private Object className_;
        private ByteString data_;
        private byte memoizedIsInitialized;
        private int memoizedSerializedSize;
        private final UnknownFieldSet unknownFields;

        private TransactionSigner(GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = builder.getUnknownFields();
        }

        private TransactionSigner(boolean z) {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = UnknownFieldSet.getDefaultInstance();
        }

        public static TransactionSigner getDefaultInstance() {
            return defaultInstance;
        }

        public TransactionSigner m2558getDefaultInstanceForType() {
            return defaultInstance;
        }

        public final UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private TransactionSigner(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            initFields();
            UnknownFieldSet.Builder newBuilder = UnknownFieldSet.newBuilder();
            boolean z = false;
            while (!z) {
                try {
                    try {
                        try {
                            int readTag = codedInputStream.readTag();
                            if (readTag != 0) {
                                if (readTag == 10) {
                                    ByteString readBytes = codedInputStream.readBytes();
                                    this.bitField0_ = 1 | this.bitField0_;
                                    this.className_ = readBytes;
                                } else if (readTag != 18) {
                                    if (!parseUnknownField(codedInputStream, newBuilder, extensionRegistryLite, readTag)) {
                                    }
                                } else {
                                    this.bitField0_ |= 2;
                                    this.data_ = codedInputStream.readBytes();
                                }
                            }
                            z = true;
                        } catch (IOException e) {
                            throw new InvalidProtocolBufferException(e.getMessage()).setUnfinishedMessage(this);
                        }
                    } catch (InvalidProtocolBufferException e2) {
                        throw e2.setUnfinishedMessage(this);
                    }
                } finally {
                    this.unknownFields = newBuilder.build();
                    makeExtensionsImmutable();
                }
            }
        }

        public static final Descriptors.Descriptor getDescriptor() {
            return Protos.internal_static_wallet_TransactionSigner_descriptor;
        }

        protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return Protos.internal_static_wallet_TransactionSigner_fieldAccessorTable.ensureFieldAccessorsInitialized(TransactionSigner.class, Builder.class);
        }

        static {
            TransactionSigner transactionSigner = new TransactionSigner(true);
            defaultInstance = transactionSigner;
            transactionSigner.initFields();
        }

        public Parser<TransactionSigner> getParserForType() {
            return PARSER;
        }

        @Override
        public boolean hasClassName() {
            return (this.bitField0_ & 1) == 1;
        }

        @Override
        public String getClassName() {
            Object obj = this.className_;
            if (obj instanceof String) {
                return (String) obj;
            }
            ByteString byteString = (ByteString) obj;
            String stringUtf8 = byteString.toStringUtf8();
            if (byteString.isValidUtf8()) {
                this.className_ = stringUtf8;
            }
            return stringUtf8;
        }

        @Override
        public ByteString getClassNameBytes() {
            Object obj = this.className_;
            if (obj instanceof String) {
                ByteString copyFromUtf8 = ByteString.copyFromUtf8((String) obj);
                this.className_ = copyFromUtf8;
                return copyFromUtf8;
            }
            return (ByteString) obj;
        }

        @Override
        public boolean hasData() {
            return (this.bitField0_ & 2) == 2;
        }

        @Override
        public ByteString getData() {
            return this.data_;
        }

        private void initFields() {
            this.className_ = "";
            this.data_ = ByteString.EMPTY;
        }

        public final boolean isInitialized() {
            byte b = this.memoizedIsInitialized;
            if (b == 1) {
                return true;
            }
            if (b == 0) {
                return false;
            }
            if (!hasClassName()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            this.memoizedIsInitialized = (byte) 1;
            return true;
        }

        public void writeTo(CodedOutputStream codedOutputStream) throws IOException {
            getSerializedSize();
            if ((this.bitField0_ & 1) == 1) {
                codedOutputStream.writeBytes(1, getClassNameBytes());
            }
            if ((this.bitField0_ & 2) == 2) {
                codedOutputStream.writeBytes(2, this.data_);
            }
            getUnknownFields().writeTo(codedOutputStream);
        }

        public int getSerializedSize() {
            int i = this.memoizedSerializedSize;
            if (i != -1) {
                return i;
            }
            int computeBytesSize = (this.bitField0_ & 1) == 1 ? 0 + CodedOutputStream.computeBytesSize(1, getClassNameBytes()) : 0;
            if ((this.bitField0_ & 2) == 2) {
                computeBytesSize += CodedOutputStream.computeBytesSize(2, this.data_);
            }
            int serializedSize = computeBytesSize + getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = serializedSize;
            return serializedSize;
        }

        protected Object writeReplace() throws ObjectStreamException {
            return super.writeReplace();
        }

        public static TransactionSigner parseFrom(ByteString byteString) throws InvalidProtocolBufferException {
            return (TransactionSigner) PARSER.parseFrom(byteString);
        }

        public static TransactionSigner parseFrom(ByteString byteString, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (TransactionSigner) PARSER.parseFrom(byteString, extensionRegistryLite);
        }

        public static TransactionSigner parseFrom(byte[] bArr) throws InvalidProtocolBufferException {
            return (TransactionSigner) PARSER.parseFrom(bArr);
        }

        public static TransactionSigner parseFrom(byte[] bArr, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (TransactionSigner) PARSER.parseFrom(bArr, extensionRegistryLite);
        }

        public static TransactionSigner parseFrom(InputStream inputStream) throws IOException {
            return (TransactionSigner) PARSER.parseFrom(inputStream);
        }

        public static TransactionSigner parseFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (TransactionSigner) PARSER.parseFrom(inputStream, extensionRegistryLite);
        }

        public static TransactionSigner parseDelimitedFrom(InputStream inputStream) throws IOException {
            return (TransactionSigner) PARSER.parseDelimitedFrom(inputStream);
        }

        public static TransactionSigner parseDelimitedFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (TransactionSigner) PARSER.parseDelimitedFrom(inputStream, extensionRegistryLite);
        }

        public static TransactionSigner parseFrom(CodedInputStream codedInputStream) throws IOException {
            return (TransactionSigner) PARSER.parseFrom(codedInputStream);
        }

        public static TransactionSigner parseFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (TransactionSigner) PARSER.parseFrom(codedInputStream, extensionRegistryLite);
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

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

        public static Builder newBuilder(TransactionSigner transactionSigner) {
            return newBuilder().mergeFrom(transactionSigner);
        }

        public Builder m2563toBuilder() {
            return newBuilder(this);
        }

        public Builder newBuilderForType(GeneratedMessage.BuilderParent builderParent) {
            return new Builder(builderParent);
        }

        public static final class Builder extends GeneratedMessage.Builder<Builder> implements TransactionSignerOrBuilder {
            private int bitField0_;
            private Object className_;
            private ByteString data_;

            public static final Descriptors.Descriptor getDescriptor() {
                return Protos.internal_static_wallet_TransactionSigner_descriptor;
            }

            protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
                return Protos.internal_static_wallet_TransactionSigner_fieldAccessorTable.ensureFieldAccessorsInitialized(TransactionSigner.class, Builder.class);
            }

            private Builder() {
                this.className_ = "";
                this.data_ = ByteString.EMPTY;
                maybeForceBuilderInitialization();
            }

            private Builder(GeneratedMessage.BuilderParent builderParent) {
                super(builderParent);
                this.className_ = "";
                this.data_ = ByteString.EMPTY;
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                boolean unused = TransactionSigner.alwaysUseFieldBuilders;
            }

            public static Builder create() {
                return new Builder();
            }

            public Builder m2572clear() {
                super.clear();
                this.className_ = "";
                this.bitField0_ &= -2;
                this.data_ = ByteString.EMPTY;
                this.bitField0_ &= -3;
                return this;
            }

            public Builder m2578clone() {
                return create().mergeFrom(m2568buildPartial());
            }

            public Descriptors.Descriptor getDescriptorForType() {
                return Protos.internal_static_wallet_TransactionSigner_descriptor;
            }

            public TransactionSigner m2580getDefaultInstanceForType() {
                return TransactionSigner.getDefaultInstance();
            }

            public TransactionSigner m2566build() {
                TransactionSigner m2568buildPartial = m2568buildPartial();
                if (m2568buildPartial.isInitialized()) {
                    return m2568buildPartial;
                }
                throw newUninitializedMessageException(m2568buildPartial);
            }

            public TransactionSigner m2568buildPartial() {
                TransactionSigner transactionSigner = new TransactionSigner(this);
                int i = this.bitField0_;
                int i2 = (i & 1) != 1 ? 0 : 1;
                transactionSigner.className_ = this.className_;
                if ((i & 2) == 2) {
                    i2 |= 2;
                }
                transactionSigner.data_ = this.data_;
                transactionSigner.bitField0_ = i2;
                onBuilt();
                return transactionSigner;
            }

            public Builder m2584mergeFrom(Message message) {
                if (message instanceof TransactionSigner) {
                    return mergeFrom((TransactionSigner) message);
                }
                super.mergeFrom(message);
                return this;
            }

            public Builder mergeFrom(TransactionSigner transactionSigner) {
                if (transactionSigner == TransactionSigner.getDefaultInstance()) {
                    return this;
                }
                if (transactionSigner.hasClassName()) {
                    this.bitField0_ |= 1;
                    this.className_ = transactionSigner.className_;
                    onChanged();
                }
                if (transactionSigner.hasData()) {
                    setData(transactionSigner.getData());
                }
                mergeUnknownFields(transactionSigner.getUnknownFields());
                return this;
            }

            public final boolean isInitialized() {
                return hasClassName();
            }

            public org.bitcoinj.wallet.Protos.TransactionSigner.Builder m2585mergeFrom(com.google.protobuf.CodedInputStream r3, com.google.protobuf.ExtensionRegistryLite r4) throws java.io.IOException {
                throw new UnsupportedOperationException("Method not decompiled: org.bitcoinj.wallet.Protos.TransactionSigner.Builder.m2585mergeFrom(com.google.protobuf.CodedInputStream, com.google.protobuf.ExtensionRegistryLite):org.bitcoinj.wallet.Protos$TransactionSigner$Builder");
            }

            @Override
            public boolean hasClassName() {
                return (this.bitField0_ & 1) == 1;
            }

            @Override
            public String getClassName() {
                Object obj = this.className_;
                if (!(obj instanceof String)) {
                    ByteString byteString = (ByteString) obj;
                    String stringUtf8 = byteString.toStringUtf8();
                    if (byteString.isValidUtf8()) {
                        this.className_ = stringUtf8;
                    }
                    return stringUtf8;
                }
                return (String) obj;
            }

            @Override
            public ByteString getClassNameBytes() {
                Object obj = this.className_;
                if (obj instanceof String) {
                    ByteString copyFromUtf8 = ByteString.copyFromUtf8((String) obj);
                    this.className_ = copyFromUtf8;
                    return copyFromUtf8;
                }
                return (ByteString) obj;
            }

            public Builder setClassName(String str) {
                if (str == null) {
                    throw null;
                }
                this.bitField0_ |= 1;
                this.className_ = str;
                onChanged();
                return this;
            }

            public Builder clearClassName() {
                this.bitField0_ &= -2;
                this.className_ = TransactionSigner.getDefaultInstance().getClassName();
                onChanged();
                return this;
            }

            public Builder setClassNameBytes(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 1;
                this.className_ = byteString;
                onChanged();
                return this;
            }

            @Override
            public boolean hasData() {
                return (this.bitField0_ & 2) == 2;
            }

            @Override
            public ByteString getData() {
                return this.data_;
            }

            public Builder setData(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 2;
                this.data_ = byteString;
                onChanged();
                return this;
            }

            public Builder clearData() {
                this.bitField0_ &= -3;
                this.data_ = TransactionSigner.getDefaultInstance().getData();
                onChanged();
                return this;
            }
        }
    }

    public static final class Wallet extends GeneratedMessage implements WalletOrBuilder {
        public static final int DESCRIPTION_FIELD_NUMBER = 11;
        public static final int ENCRYPTION_PARAMETERS_FIELD_NUMBER = 6;
        public static final int ENCRYPTION_TYPE_FIELD_NUMBER = 5;
        public static final int EXTENSION_FIELD_NUMBER = 10;
        public static final int KEY_FIELD_NUMBER = 3;
        public static final int KEY_ROTATION_TIME_FIELD_NUMBER = 13;
        public static final int LAST_SEEN_BLOCK_HASH_FIELD_NUMBER = 2;
        public static final int LAST_SEEN_BLOCK_HEIGHT_FIELD_NUMBER = 12;
        public static final int LAST_SEEN_BLOCK_TIME_SECS_FIELD_NUMBER = 14;
        public static final int NETWORK_IDENTIFIER_FIELD_NUMBER = 1;
        public static Parser<Wallet> PARSER = new AbstractParser<Wallet>() {
            public Wallet parsePartialFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
                return new Wallet(codedInputStream, extensionRegistryLite);
            }
        };
        public static final int TAGS_FIELD_NUMBER = 16;
        public static final int TRANSACTION_FIELD_NUMBER = 4;
        public static final int TRANSACTION_SIGNERS_FIELD_NUMBER = 17;
        public static final int VERSION_FIELD_NUMBER = 7;
        public static final int WATCHED_SCRIPT_FIELD_NUMBER = 15;
        private static final Wallet defaultInstance;
        private static final long serialVersionUID = 0;
        private int bitField0_;
        private Object description_;
        private ScryptParameters encryptionParameters_;
        private EncryptionType encryptionType_;
        private List<Extension> extension_;
        private long keyRotationTime_;
        private List<Key> key_;
        private ByteString lastSeenBlockHash_;
        private int lastSeenBlockHeight_;
        private long lastSeenBlockTimeSecs_;
        private byte memoizedIsInitialized;
        private int memoizedSerializedSize;
        private Object networkIdentifier_;
        private List<Tag> tags_;
        private List<TransactionSigner> transactionSigners_;
        private List<Transaction> transaction_;
        private final UnknownFieldSet unknownFields;
        private int version_;
        private List<Script> watchedScript_;

        private Wallet(GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = builder.getUnknownFields();
        }

        private Wallet(boolean z) {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = UnknownFieldSet.getDefaultInstance();
        }

        public static Wallet getDefaultInstance() {
            return defaultInstance;
        }

        public Wallet m2588getDefaultInstanceForType() {
            return defaultInstance;
        }

        public final UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private Wallet(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            initFields();
            UnknownFieldSet.Builder newBuilder = UnknownFieldSet.newBuilder();
            boolean z = false;
            int i = 0;
            while (true) {
                int i2 = WebSocketImpl.RCVBUF;
                ?? r3 = 16384;
                if (z) {
                    return;
                }
                try {
                    try {
                        int readTag = codedInputStream.readTag();
                        switch (readTag) {
                            case 0:
                                z = true;
                            case 10:
                                ByteString readBytes = codedInputStream.readBytes();
                                this.bitField0_ = 1 | this.bitField0_;
                                this.networkIdentifier_ = readBytes;
                            case 18:
                                this.bitField0_ |= 2;
                                this.lastSeenBlockHash_ = codedInputStream.readBytes();
                            case 26:
                                if ((i & 16) != 16) {
                                    this.key_ = new ArrayList();
                                    i |= 16;
                                }
                                this.key_.add(codedInputStream.readMessage(Key.PARSER, extensionRegistryLite));
                            case 34:
                                if ((i & 32) != 32) {
                                    this.transaction_ = new ArrayList();
                                    i |= 32;
                                }
                                this.transaction_.add(codedInputStream.readMessage(Transaction.PARSER, extensionRegistryLite));
                            case 40:
                                int readEnum = codedInputStream.readEnum();
                                EncryptionType valueOf = EncryptionType.valueOf(readEnum);
                                if (valueOf == null) {
                                    newBuilder.mergeVarintField(5, readEnum);
                                } else {
                                    this.bitField0_ |= 16;
                                    this.encryptionType_ = valueOf;
                                }
                            case 50:
                                ScryptParameters.Builder m2379toBuilder = (this.bitField0_ & 32) == 32 ? this.encryptionParameters_.m2379toBuilder() : null;
                                ScryptParameters scryptParameters = (ScryptParameters) codedInputStream.readMessage(ScryptParameters.PARSER, extensionRegistryLite);
                                this.encryptionParameters_ = scryptParameters;
                                if (m2379toBuilder != null) {
                                    m2379toBuilder.mergeFrom(scryptParameters);
                                    this.encryptionParameters_ = m2379toBuilder.m2384buildPartial();
                                }
                                this.bitField0_ |= 32;
                            case 56:
                                this.bitField0_ |= 64;
                                this.version_ = codedInputStream.readInt32();
                            case 82:
                                if ((i & 1024) != 1024) {
                                    this.extension_ = new ArrayList();
                                    i |= 1024;
                                }
                                this.extension_.add(codedInputStream.readMessage(Extension.PARSER, extensionRegistryLite));
                            case 90:
                                ByteString readBytes2 = codedInputStream.readBytes();
                                this.bitField0_ |= 128;
                                this.description_ = readBytes2;
                            case 96:
                                this.bitField0_ |= 4;
                                this.lastSeenBlockHeight_ = codedInputStream.readUInt32();
                            case 104:
                                this.bitField0_ |= JSONParser.ACCEPT_TAILLING_DATA;
                                this.keyRotationTime_ = codedInputStream.readUInt64();
                            case 112:
                                this.bitField0_ |= 8;
                                this.lastSeenBlockTimeSecs_ = codedInputStream.readInt64();
                            case 122:
                                if ((i & 64) != 64) {
                                    this.watchedScript_ = new ArrayList();
                                    i |= 64;
                                }
                                this.watchedScript_.add(codedInputStream.readMessage(Script.PARSER, extensionRegistryLite));
                            case ScriptOpCodes.OP_SIZE:
                                if ((i & 8192) != 8192) {
                                    this.tags_ = new ArrayList();
                                    i |= 8192;
                                }
                                this.tags_.add(codedInputStream.readMessage(Tag.PARSER, extensionRegistryLite));
                            case ScriptOpCodes.OP_RESERVED2:
                                if ((i & WebSocketImpl.RCVBUF) != 16384) {
                                    this.transactionSigners_ = new ArrayList();
                                    i |= WebSocketImpl.RCVBUF;
                                }
                                this.transactionSigners_.add(codedInputStream.readMessage(TransactionSigner.PARSER, extensionRegistryLite));
                            default:
                                r3 = parseUnknownField(codedInputStream, newBuilder, extensionRegistryLite, readTag);
                                if (r3 == 0) {
                                    z = true;
                                }
                        }
                    } catch (InvalidProtocolBufferException e) {
                        throw e.setUnfinishedMessage(this);
                    } catch (IOException e2) {
                        throw new InvalidProtocolBufferException(e2.getMessage()).setUnfinishedMessage(this);
                    }
                } finally {
                    if ((i & 16) == 16) {
                        this.key_ = Collections.unmodifiableList(this.key_);
                    }
                    if ((i & 32) == 32) {
                        this.transaction_ = Collections.unmodifiableList(this.transaction_);
                    }
                    if ((i & 1024) == 1024) {
                        this.extension_ = Collections.unmodifiableList(this.extension_);
                    }
                    if ((i & 64) == 64) {
                        this.watchedScript_ = Collections.unmodifiableList(this.watchedScript_);
                    }
                    if ((i & 8192) == 8192) {
                        this.tags_ = Collections.unmodifiableList(this.tags_);
                    }
                    if ((i & WebSocketImpl.RCVBUF) == r3) {
                        this.transactionSigners_ = Collections.unmodifiableList(this.transactionSigners_);
                    }
                    this.unknownFields = newBuilder.build();
                    makeExtensionsImmutable();
                }
            }
        }

        public static final Descriptors.Descriptor getDescriptor() {
            return Protos.internal_static_wallet_Wallet_descriptor;
        }

        protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return Protos.internal_static_wallet_Wallet_fieldAccessorTable.ensureFieldAccessorsInitialized(Wallet.class, Builder.class);
        }

        static {
            Wallet wallet = new Wallet(true);
            defaultInstance = wallet;
            wallet.initFields();
        }

        public Parser<Wallet> getParserForType() {
            return PARSER;
        }

        public enum EncryptionType implements ProtocolMessageEnum {
            UNENCRYPTED(0, 1),
            ENCRYPTED_SCRYPT_AES(1, 2);

            public static final int ENCRYPTED_SCRYPT_AES_VALUE = 2;
            public static final int UNENCRYPTED_VALUE = 1;
            private final int index;
            private final int value;
            private static Internal.EnumLiteMap<EncryptionType> internalValueMap = new Internal.EnumLiteMap<EncryptionType>() {
                public EncryptionType findValueByNumber(int i) {
                    return EncryptionType.valueOf(i);
                }
            };
            private static final EncryptionType[] VALUES = values();

            public final int getNumber() {
                return this.value;
            }

            public static EncryptionType valueOf(int i) {
                if (i == 1) {
                    return UNENCRYPTED;
                }
                if (i != 2) {
                    return null;
                }
                return ENCRYPTED_SCRYPT_AES;
            }

            public static Internal.EnumLiteMap<EncryptionType> internalGetValueMap() {
                return internalValueMap;
            }

            public final Descriptors.EnumValueDescriptor getValueDescriptor() {
                return (Descriptors.EnumValueDescriptor) getDescriptor().getValues().get(this.index);
            }

            public final Descriptors.EnumDescriptor getDescriptorForType() {
                return getDescriptor();
            }

            public static final Descriptors.EnumDescriptor getDescriptor() {
                return (Descriptors.EnumDescriptor) Wallet.getDescriptor().getEnumTypes().get(0);
            }

            public static EncryptionType valueOf(Descriptors.EnumValueDescriptor enumValueDescriptor) {
                if (enumValueDescriptor.getType() != getDescriptor()) {
                    throw new IllegalArgumentException("EnumValueDescriptor is not for this type.");
                }
                return VALUES[enumValueDescriptor.getIndex()];
            }

            EncryptionType(int i, int i2) {
                this.index = i;
                this.value = i2;
            }
        }

        @Override
        public boolean hasNetworkIdentifier() {
            return (this.bitField0_ & 1) == 1;
        }

        @Override
        public String getNetworkIdentifier() {
            Object obj = this.networkIdentifier_;
            if (obj instanceof String) {
                return (String) obj;
            }
            ByteString byteString = (ByteString) obj;
            String stringUtf8 = byteString.toStringUtf8();
            if (byteString.isValidUtf8()) {
                this.networkIdentifier_ = stringUtf8;
            }
            return stringUtf8;
        }

        @Override
        public ByteString getNetworkIdentifierBytes() {
            Object obj = this.networkIdentifier_;
            if (obj instanceof String) {
                ByteString copyFromUtf8 = ByteString.copyFromUtf8((String) obj);
                this.networkIdentifier_ = copyFromUtf8;
                return copyFromUtf8;
            }
            return (ByteString) obj;
        }

        @Override
        public boolean hasLastSeenBlockHash() {
            return (this.bitField0_ & 2) == 2;
        }

        @Override
        public ByteString getLastSeenBlockHash() {
            return this.lastSeenBlockHash_;
        }

        @Override
        public boolean hasLastSeenBlockHeight() {
            return (this.bitField0_ & 4) == 4;
        }

        @Override
        public int getLastSeenBlockHeight() {
            return this.lastSeenBlockHeight_;
        }

        @Override
        public boolean hasLastSeenBlockTimeSecs() {
            return (this.bitField0_ & 8) == 8;
        }

        @Override
        public long getLastSeenBlockTimeSecs() {
            return this.lastSeenBlockTimeSecs_;
        }

        @Override
        public List<Key> getKeyList() {
            return this.key_;
        }

        @Override
        public List<? extends KeyOrBuilder> getKeyOrBuilderList() {
            return this.key_;
        }

        @Override
        public int getKeyCount() {
            return this.key_.size();
        }

        @Override
        public Key getKey(int i) {
            return this.key_.get(i);
        }

        @Override
        public KeyOrBuilder getKeyOrBuilder(int i) {
            return this.key_.get(i);
        }

        @Override
        public List<Transaction> getTransactionList() {
            return this.transaction_;
        }

        @Override
        public List<? extends TransactionOrBuilder> getTransactionOrBuilderList() {
            return this.transaction_;
        }

        @Override
        public int getTransactionCount() {
            return this.transaction_.size();
        }

        @Override
        public Transaction getTransaction(int i) {
            return this.transaction_.get(i);
        }

        @Override
        public TransactionOrBuilder getTransactionOrBuilder(int i) {
            return this.transaction_.get(i);
        }

        @Override
        public List<Script> getWatchedScriptList() {
            return this.watchedScript_;
        }

        @Override
        public List<? extends ScriptOrBuilder> getWatchedScriptOrBuilderList() {
            return this.watchedScript_;
        }

        @Override
        public int getWatchedScriptCount() {
            return this.watchedScript_.size();
        }

        @Override
        public Script getWatchedScript(int i) {
            return this.watchedScript_.get(i);
        }

        @Override
        public ScriptOrBuilder getWatchedScriptOrBuilder(int i) {
            return this.watchedScript_.get(i);
        }

        @Override
        public boolean hasEncryptionType() {
            return (this.bitField0_ & 16) == 16;
        }

        @Override
        public EncryptionType getEncryptionType() {
            return this.encryptionType_;
        }

        @Override
        public boolean hasEncryptionParameters() {
            return (this.bitField0_ & 32) == 32;
        }

        @Override
        public ScryptParameters getEncryptionParameters() {
            return this.encryptionParameters_;
        }

        @Override
        public ScryptParametersOrBuilder getEncryptionParametersOrBuilder() {
            return this.encryptionParameters_;
        }

        @Override
        public boolean hasVersion() {
            return (this.bitField0_ & 64) == 64;
        }

        @Override
        public int getVersion() {
            return this.version_;
        }

        @Override
        public List<Extension> getExtensionList() {
            return this.extension_;
        }

        @Override
        public List<? extends ExtensionOrBuilder> getExtensionOrBuilderList() {
            return this.extension_;
        }

        @Override
        public int getExtensionCount() {
            return this.extension_.size();
        }

        @Override
        public Extension getExtension(int i) {
            return this.extension_.get(i);
        }

        @Override
        public ExtensionOrBuilder getExtensionOrBuilder(int i) {
            return this.extension_.get(i);
        }

        @Override
        public boolean hasDescription() {
            return (this.bitField0_ & 128) == 128;
        }

        @Override
        public String getDescription() {
            Object obj = this.description_;
            if (obj instanceof String) {
                return (String) obj;
            }
            ByteString byteString = (ByteString) obj;
            String stringUtf8 = byteString.toStringUtf8();
            if (byteString.isValidUtf8()) {
                this.description_ = stringUtf8;
            }
            return stringUtf8;
        }

        @Override
        public ByteString getDescriptionBytes() {
            Object obj = this.description_;
            if (obj instanceof String) {
                ByteString copyFromUtf8 = ByteString.copyFromUtf8((String) obj);
                this.description_ = copyFromUtf8;
                return copyFromUtf8;
            }
            return (ByteString) obj;
        }

        @Override
        public boolean hasKeyRotationTime() {
            return (this.bitField0_ & JSONParser.ACCEPT_TAILLING_DATA) == 256;
        }

        @Override
        public long getKeyRotationTime() {
            return this.keyRotationTime_;
        }

        @Override
        public List<Tag> getTagsList() {
            return this.tags_;
        }

        @Override
        public List<? extends TagOrBuilder> getTagsOrBuilderList() {
            return this.tags_;
        }

        @Override
        public int getTagsCount() {
            return this.tags_.size();
        }

        @Override
        public Tag getTags(int i) {
            return this.tags_.get(i);
        }

        @Override
        public TagOrBuilder getTagsOrBuilder(int i) {
            return this.tags_.get(i);
        }

        @Override
        public List<TransactionSigner> getTransactionSignersList() {
            return this.transactionSigners_;
        }

        @Override
        public List<? extends TransactionSignerOrBuilder> getTransactionSignersOrBuilderList() {
            return this.transactionSigners_;
        }

        @Override
        public int getTransactionSignersCount() {
            return this.transactionSigners_.size();
        }

        @Override
        public TransactionSigner getTransactionSigners(int i) {
            return this.transactionSigners_.get(i);
        }

        @Override
        public TransactionSignerOrBuilder getTransactionSignersOrBuilder(int i) {
            return this.transactionSigners_.get(i);
        }

        private void initFields() {
            this.networkIdentifier_ = "";
            this.lastSeenBlockHash_ = ByteString.EMPTY;
            this.lastSeenBlockHeight_ = 0;
            this.lastSeenBlockTimeSecs_ = 0L;
            this.key_ = Collections.emptyList();
            this.transaction_ = Collections.emptyList();
            this.watchedScript_ = Collections.emptyList();
            this.encryptionType_ = EncryptionType.UNENCRYPTED;
            this.encryptionParameters_ = ScryptParameters.getDefaultInstance();
            this.version_ = 1;
            this.extension_ = Collections.emptyList();
            this.description_ = "";
            this.keyRotationTime_ = 0L;
            this.tags_ = Collections.emptyList();
            this.transactionSigners_ = Collections.emptyList();
        }

        public final boolean isInitialized() {
            byte b = this.memoizedIsInitialized;
            if (b == 1) {
                return true;
            }
            if (b == 0) {
                return false;
            }
            if (!hasNetworkIdentifier()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            for (int i = 0; i < getKeyCount(); i++) {
                if (!getKey(i).isInitialized()) {
                    this.memoizedIsInitialized = (byte) 0;
                    return false;
                }
            }
            for (int i2 = 0; i2 < getTransactionCount(); i2++) {
                if (!getTransaction(i2).isInitialized()) {
                    this.memoizedIsInitialized = (byte) 0;
                    return false;
                }
            }
            for (int i3 = 0; i3 < getWatchedScriptCount(); i3++) {
                if (!getWatchedScript(i3).isInitialized()) {
                    this.memoizedIsInitialized = (byte) 0;
                    return false;
                }
            }
            if (hasEncryptionParameters() && !getEncryptionParameters().isInitialized()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            for (int i4 = 0; i4 < getExtensionCount(); i4++) {
                if (!getExtension(i4).isInitialized()) {
                    this.memoizedIsInitialized = (byte) 0;
                    return false;
                }
            }
            for (int i5 = 0; i5 < getTagsCount(); i5++) {
                if (!getTags(i5).isInitialized()) {
                    this.memoizedIsInitialized = (byte) 0;
                    return false;
                }
            }
            for (int i6 = 0; i6 < getTransactionSignersCount(); i6++) {
                if (!getTransactionSigners(i6).isInitialized()) {
                    this.memoizedIsInitialized = (byte) 0;
                    return false;
                }
            }
            this.memoizedIsInitialized = (byte) 1;
            return true;
        }

        public void writeTo(CodedOutputStream codedOutputStream) throws IOException {
            getSerializedSize();
            if ((this.bitField0_ & 1) == 1) {
                codedOutputStream.writeBytes(1, getNetworkIdentifierBytes());
            }
            if ((this.bitField0_ & 2) == 2) {
                codedOutputStream.writeBytes(2, this.lastSeenBlockHash_);
            }
            for (int i = 0; i < this.key_.size(); i++) {
                codedOutputStream.writeMessage(3, this.key_.get(i));
            }
            for (int i2 = 0; i2 < this.transaction_.size(); i2++) {
                codedOutputStream.writeMessage(4, this.transaction_.get(i2));
            }
            if ((this.bitField0_ & 16) == 16) {
                codedOutputStream.writeEnum(5, this.encryptionType_.getNumber());
            }
            if ((this.bitField0_ & 32) == 32) {
                codedOutputStream.writeMessage(6, this.encryptionParameters_);
            }
            if ((this.bitField0_ & 64) == 64) {
                codedOutputStream.writeInt32(7, this.version_);
            }
            for (int i3 = 0; i3 < this.extension_.size(); i3++) {
                codedOutputStream.writeMessage(10, this.extension_.get(i3));
            }
            if ((this.bitField0_ & 128) == 128) {
                codedOutputStream.writeBytes(11, getDescriptionBytes());
            }
            if ((this.bitField0_ & 4) == 4) {
                codedOutputStream.writeUInt32(12, this.lastSeenBlockHeight_);
            }
            if ((this.bitField0_ & JSONParser.ACCEPT_TAILLING_DATA) == 256) {
                codedOutputStream.writeUInt64(13, this.keyRotationTime_);
            }
            if ((this.bitField0_ & 8) == 8) {
                codedOutputStream.writeInt64(14, this.lastSeenBlockTimeSecs_);
            }
            for (int i4 = 0; i4 < this.watchedScript_.size(); i4++) {
                codedOutputStream.writeMessage(15, this.watchedScript_.get(i4));
            }
            for (int i5 = 0; i5 < this.tags_.size(); i5++) {
                codedOutputStream.writeMessage(16, this.tags_.get(i5));
            }
            for (int i6 = 0; i6 < this.transactionSigners_.size(); i6++) {
                codedOutputStream.writeMessage(17, this.transactionSigners_.get(i6));
            }
            getUnknownFields().writeTo(codedOutputStream);
        }

        public int getSerializedSize() {
            int i = this.memoizedSerializedSize;
            if (i != -1) {
                return i;
            }
            int computeBytesSize = (this.bitField0_ & 1) == 1 ? CodedOutputStream.computeBytesSize(1, getNetworkIdentifierBytes()) + 0 : 0;
            if ((this.bitField0_ & 2) == 2) {
                computeBytesSize += CodedOutputStream.computeBytesSize(2, this.lastSeenBlockHash_);
            }
            for (int i2 = 0; i2 < this.key_.size(); i2++) {
                computeBytesSize += CodedOutputStream.computeMessageSize(3, this.key_.get(i2));
            }
            for (int i3 = 0; i3 < this.transaction_.size(); i3++) {
                computeBytesSize += CodedOutputStream.computeMessageSize(4, this.transaction_.get(i3));
            }
            if ((this.bitField0_ & 16) == 16) {
                computeBytesSize += CodedOutputStream.computeEnumSize(5, this.encryptionType_.getNumber());
            }
            if ((this.bitField0_ & 32) == 32) {
                computeBytesSize += CodedOutputStream.computeMessageSize(6, this.encryptionParameters_);
            }
            if ((this.bitField0_ & 64) == 64) {
                computeBytesSize += CodedOutputStream.computeInt32Size(7, this.version_);
            }
            for (int i4 = 0; i4 < this.extension_.size(); i4++) {
                computeBytesSize += CodedOutputStream.computeMessageSize(10, this.extension_.get(i4));
            }
            if ((this.bitField0_ & 128) == 128) {
                computeBytesSize += CodedOutputStream.computeBytesSize(11, getDescriptionBytes());
            }
            if ((this.bitField0_ & 4) == 4) {
                computeBytesSize += CodedOutputStream.computeUInt32Size(12, this.lastSeenBlockHeight_);
            }
            if ((this.bitField0_ & JSONParser.ACCEPT_TAILLING_DATA) == 256) {
                computeBytesSize += CodedOutputStream.computeUInt64Size(13, this.keyRotationTime_);
            }
            if ((this.bitField0_ & 8) == 8) {
                computeBytesSize += CodedOutputStream.computeInt64Size(14, this.lastSeenBlockTimeSecs_);
            }
            for (int i5 = 0; i5 < this.watchedScript_.size(); i5++) {
                computeBytesSize += CodedOutputStream.computeMessageSize(15, this.watchedScript_.get(i5));
            }
            for (int i6 = 0; i6 < this.tags_.size(); i6++) {
                computeBytesSize += CodedOutputStream.computeMessageSize(16, this.tags_.get(i6));
            }
            for (int i7 = 0; i7 < this.transactionSigners_.size(); i7++) {
                computeBytesSize += CodedOutputStream.computeMessageSize(17, this.transactionSigners_.get(i7));
            }
            int serializedSize = computeBytesSize + getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = serializedSize;
            return serializedSize;
        }

        protected Object writeReplace() throws ObjectStreamException {
            return super.writeReplace();
        }

        public static Wallet parseFrom(ByteString byteString) throws InvalidProtocolBufferException {
            return (Wallet) PARSER.parseFrom(byteString);
        }

        public static Wallet parseFrom(ByteString byteString, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (Wallet) PARSER.parseFrom(byteString, extensionRegistryLite);
        }

        public static Wallet parseFrom(byte[] bArr) throws InvalidProtocolBufferException {
            return (Wallet) PARSER.parseFrom(bArr);
        }

        public static Wallet parseFrom(byte[] bArr, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (Wallet) PARSER.parseFrom(bArr, extensionRegistryLite);
        }

        public static Wallet parseFrom(InputStream inputStream) throws IOException {
            return (Wallet) PARSER.parseFrom(inputStream);
        }

        public static Wallet parseFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (Wallet) PARSER.parseFrom(inputStream, extensionRegistryLite);
        }

        public static Wallet parseDelimitedFrom(InputStream inputStream) throws IOException {
            return (Wallet) PARSER.parseDelimitedFrom(inputStream);
        }

        public static Wallet parseDelimitedFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (Wallet) PARSER.parseDelimitedFrom(inputStream, extensionRegistryLite);
        }

        public static Wallet parseFrom(CodedInputStream codedInputStream) throws IOException {
            return (Wallet) PARSER.parseFrom(codedInputStream);
        }

        public static Wallet parseFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (Wallet) PARSER.parseFrom(codedInputStream, extensionRegistryLite);
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

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

        public static Builder newBuilder(Wallet wallet) {
            return newBuilder().mergeFrom(wallet);
        }

        public Builder m2593toBuilder() {
            return newBuilder(this);
        }

        public Builder newBuilderForType(GeneratedMessage.BuilderParent builderParent) {
            return new Builder(builderParent);
        }

        public static final class Builder extends GeneratedMessage.Builder<Builder> implements WalletOrBuilder {
            private int bitField0_;
            private Object description_;
            private SingleFieldBuilder<ScryptParameters, ScryptParameters.Builder, ScryptParametersOrBuilder> encryptionParametersBuilder_;
            private ScryptParameters encryptionParameters_;
            private EncryptionType encryptionType_;
            private RepeatedFieldBuilder<Extension, Extension.Builder, ExtensionOrBuilder> extensionBuilder_;
            private List<Extension> extension_;
            private RepeatedFieldBuilder<Key, Key.Builder, KeyOrBuilder> keyBuilder_;
            private long keyRotationTime_;
            private List<Key> key_;
            private ByteString lastSeenBlockHash_;
            private int lastSeenBlockHeight_;
            private long lastSeenBlockTimeSecs_;
            private Object networkIdentifier_;
            private RepeatedFieldBuilder<Tag, Tag.Builder, TagOrBuilder> tagsBuilder_;
            private List<Tag> tags_;
            private RepeatedFieldBuilder<Transaction, Transaction.Builder, TransactionOrBuilder> transactionBuilder_;
            private RepeatedFieldBuilder<TransactionSigner, TransactionSigner.Builder, TransactionSignerOrBuilder> transactionSignersBuilder_;
            private List<TransactionSigner> transactionSigners_;
            private List<Transaction> transaction_;
            private int version_;
            private RepeatedFieldBuilder<Script, Script.Builder, ScriptOrBuilder> watchedScriptBuilder_;
            private List<Script> watchedScript_;

            public static final Descriptors.Descriptor getDescriptor() {
                return Protos.internal_static_wallet_Wallet_descriptor;
            }

            protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
                return Protos.internal_static_wallet_Wallet_fieldAccessorTable.ensureFieldAccessorsInitialized(Wallet.class, Builder.class);
            }

            private Builder() {
                this.networkIdentifier_ = "";
                this.lastSeenBlockHash_ = ByteString.EMPTY;
                this.key_ = Collections.emptyList();
                this.transaction_ = Collections.emptyList();
                this.watchedScript_ = Collections.emptyList();
                this.encryptionType_ = EncryptionType.UNENCRYPTED;
                this.encryptionParameters_ = ScryptParameters.getDefaultInstance();
                this.version_ = 1;
                this.extension_ = Collections.emptyList();
                this.description_ = "";
                this.tags_ = Collections.emptyList();
                this.transactionSigners_ = Collections.emptyList();
                maybeForceBuilderInitialization();
            }

            private Builder(GeneratedMessage.BuilderParent builderParent) {
                super(builderParent);
                this.networkIdentifier_ = "";
                this.lastSeenBlockHash_ = ByteString.EMPTY;
                this.key_ = Collections.emptyList();
                this.transaction_ = Collections.emptyList();
                this.watchedScript_ = Collections.emptyList();
                this.encryptionType_ = EncryptionType.UNENCRYPTED;
                this.encryptionParameters_ = ScryptParameters.getDefaultInstance();
                this.version_ = 1;
                this.extension_ = Collections.emptyList();
                this.description_ = "";
                this.tags_ = Collections.emptyList();
                this.transactionSigners_ = Collections.emptyList();
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                if (Wallet.alwaysUseFieldBuilders) {
                    getKeyFieldBuilder();
                    getTransactionFieldBuilder();
                    getWatchedScriptFieldBuilder();
                    getEncryptionParametersFieldBuilder();
                    getExtensionFieldBuilder();
                    getTagsFieldBuilder();
                    getTransactionSignersFieldBuilder();
                }
            }

            public static Builder create() {
                return new Builder();
            }

            public Builder m2602clear() {
                super.clear();
                this.networkIdentifier_ = "";
                this.bitField0_ &= -2;
                this.lastSeenBlockHash_ = ByteString.EMPTY;
                int i = this.bitField0_ & (-3);
                this.bitField0_ = i;
                this.lastSeenBlockHeight_ = 0;
                int i2 = i & (-5);
                this.bitField0_ = i2;
                this.lastSeenBlockTimeSecs_ = 0L;
                this.bitField0_ = i2 & (-9);
                RepeatedFieldBuilder<Key, Key.Builder, KeyOrBuilder> repeatedFieldBuilder = this.keyBuilder_;
                if (repeatedFieldBuilder == null) {
                    this.key_ = Collections.emptyList();
                    this.bitField0_ &= -17;
                } else {
                    repeatedFieldBuilder.clear();
                }
                RepeatedFieldBuilder<Transaction, Transaction.Builder, TransactionOrBuilder> repeatedFieldBuilder2 = this.transactionBuilder_;
                if (repeatedFieldBuilder2 == null) {
                    this.transaction_ = Collections.emptyList();
                    this.bitField0_ &= -33;
                } else {
                    repeatedFieldBuilder2.clear();
                }
                RepeatedFieldBuilder<Script, Script.Builder, ScriptOrBuilder> repeatedFieldBuilder3 = this.watchedScriptBuilder_;
                if (repeatedFieldBuilder3 == null) {
                    this.watchedScript_ = Collections.emptyList();
                    this.bitField0_ &= -65;
                } else {
                    repeatedFieldBuilder3.clear();
                }
                this.encryptionType_ = EncryptionType.UNENCRYPTED;
                this.bitField0_ &= -129;
                SingleFieldBuilder<ScryptParameters, ScryptParameters.Builder, ScryptParametersOrBuilder> singleFieldBuilder = this.encryptionParametersBuilder_;
                if (singleFieldBuilder == null) {
                    this.encryptionParameters_ = ScryptParameters.getDefaultInstance();
                } else {
                    singleFieldBuilder.clear();
                }
                int i3 = this.bitField0_ & (-257);
                this.bitField0_ = i3;
                this.version_ = 1;
                this.bitField0_ = i3 & (-513);
                RepeatedFieldBuilder<Extension, Extension.Builder, ExtensionOrBuilder> repeatedFieldBuilder4 = this.extensionBuilder_;
                if (repeatedFieldBuilder4 == null) {
                    this.extension_ = Collections.emptyList();
                    this.bitField0_ &= -1025;
                } else {
                    repeatedFieldBuilder4.clear();
                }
                this.description_ = "";
                int i4 = this.bitField0_ & (-2049);
                this.bitField0_ = i4;
                this.keyRotationTime_ = 0L;
                this.bitField0_ = i4 & (-4097);
                RepeatedFieldBuilder<Tag, Tag.Builder, TagOrBuilder> repeatedFieldBuilder5 = this.tagsBuilder_;
                if (repeatedFieldBuilder5 == null) {
                    this.tags_ = Collections.emptyList();
                    this.bitField0_ &= -8193;
                } else {
                    repeatedFieldBuilder5.clear();
                }
                RepeatedFieldBuilder<TransactionSigner, TransactionSigner.Builder, TransactionSignerOrBuilder> repeatedFieldBuilder6 = this.transactionSignersBuilder_;
                if (repeatedFieldBuilder6 == null) {
                    this.transactionSigners_ = Collections.emptyList();
                    this.bitField0_ &= -16385;
                } else {
                    repeatedFieldBuilder6.clear();
                }
                return this;
            }

            public Builder m2608clone() {
                return create().mergeFrom(m2598buildPartial());
            }

            public Descriptors.Descriptor getDescriptorForType() {
                return Protos.internal_static_wallet_Wallet_descriptor;
            }

            public Wallet m2610getDefaultInstanceForType() {
                return Wallet.getDefaultInstance();
            }

            public Wallet m2596build() {
                Wallet m2598buildPartial = m2598buildPartial();
                if (m2598buildPartial.isInitialized()) {
                    return m2598buildPartial;
                }
                throw newUninitializedMessageException(m2598buildPartial);
            }

            public Wallet m2598buildPartial() {
                Wallet wallet = new Wallet(this);
                int i = this.bitField0_;
                int i2 = (i & 1) != 1 ? 0 : 1;
                wallet.networkIdentifier_ = this.networkIdentifier_;
                if ((i & 2) == 2) {
                    i2 |= 2;
                }
                wallet.lastSeenBlockHash_ = this.lastSeenBlockHash_;
                if ((i & 4) == 4) {
                    i2 |= 4;
                }
                wallet.lastSeenBlockHeight_ = this.lastSeenBlockHeight_;
                if ((i & 8) == 8) {
                    i2 |= 8;
                }
                wallet.lastSeenBlockTimeSecs_ = this.lastSeenBlockTimeSecs_;
                RepeatedFieldBuilder<Key, Key.Builder, KeyOrBuilder> repeatedFieldBuilder = this.keyBuilder_;
                if (repeatedFieldBuilder != null) {
                    wallet.key_ = repeatedFieldBuilder.build();
                } else {
                    if ((this.bitField0_ & 16) == 16) {
                        this.key_ = Collections.unmodifiableList(this.key_);
                        this.bitField0_ &= -17;
                    }
                    wallet.key_ = this.key_;
                }
                RepeatedFieldBuilder<Transaction, Transaction.Builder, TransactionOrBuilder> repeatedFieldBuilder2 = this.transactionBuilder_;
                if (repeatedFieldBuilder2 != null) {
                    wallet.transaction_ = repeatedFieldBuilder2.build();
                } else {
                    if ((this.bitField0_ & 32) == 32) {
                        this.transaction_ = Collections.unmodifiableList(this.transaction_);
                        this.bitField0_ &= -33;
                    }
                    wallet.transaction_ = this.transaction_;
                }
                RepeatedFieldBuilder<Script, Script.Builder, ScriptOrBuilder> repeatedFieldBuilder3 = this.watchedScriptBuilder_;
                if (repeatedFieldBuilder3 != null) {
                    wallet.watchedScript_ = repeatedFieldBuilder3.build();
                } else {
                    if ((this.bitField0_ & 64) == 64) {
                        this.watchedScript_ = Collections.unmodifiableList(this.watchedScript_);
                        this.bitField0_ &= -65;
                    }
                    wallet.watchedScript_ = this.watchedScript_;
                }
                if ((i & 128) == 128) {
                    i2 |= 16;
                }
                wallet.encryptionType_ = this.encryptionType_;
                if ((i & JSONParser.ACCEPT_TAILLING_DATA) == 256) {
                    i2 |= 32;
                }
                SingleFieldBuilder<ScryptParameters, ScryptParameters.Builder, ScryptParametersOrBuilder> singleFieldBuilder = this.encryptionParametersBuilder_;
                if (singleFieldBuilder == null) {
                    wallet.encryptionParameters_ = this.encryptionParameters_;
                } else {
                    wallet.encryptionParameters_ = (ScryptParameters) singleFieldBuilder.build();
                }
                if ((i & 512) == 512) {
                    i2 |= 64;
                }
                wallet.version_ = this.version_;
                RepeatedFieldBuilder<Extension, Extension.Builder, ExtensionOrBuilder> repeatedFieldBuilder4 = this.extensionBuilder_;
                if (repeatedFieldBuilder4 != null) {
                    wallet.extension_ = repeatedFieldBuilder4.build();
                } else {
                    if ((this.bitField0_ & 1024) == 1024) {
                        this.extension_ = Collections.unmodifiableList(this.extension_);
                        this.bitField0_ &= -1025;
                    }
                    wallet.extension_ = this.extension_;
                }
                if ((i & 2048) == 2048) {
                    i2 |= 128;
                }
                wallet.description_ = this.description_;
                if ((i & 4096) == 4096) {
                    i2 |= JSONParser.ACCEPT_TAILLING_DATA;
                }
                wallet.keyRotationTime_ = this.keyRotationTime_;
                RepeatedFieldBuilder<Tag, Tag.Builder, TagOrBuilder> repeatedFieldBuilder5 = this.tagsBuilder_;
                if (repeatedFieldBuilder5 != null) {
                    wallet.tags_ = repeatedFieldBuilder5.build();
                } else {
                    if ((this.bitField0_ & 8192) == 8192) {
                        this.tags_ = Collections.unmodifiableList(this.tags_);
                        this.bitField0_ &= -8193;
                    }
                    wallet.tags_ = this.tags_;
                }
                RepeatedFieldBuilder<TransactionSigner, TransactionSigner.Builder, TransactionSignerOrBuilder> repeatedFieldBuilder6 = this.transactionSignersBuilder_;
                if (repeatedFieldBuilder6 != null) {
                    wallet.transactionSigners_ = repeatedFieldBuilder6.build();
                } else {
                    if ((this.bitField0_ & WebSocketImpl.RCVBUF) == 16384) {
                        this.transactionSigners_ = Collections.unmodifiableList(this.transactionSigners_);
                        this.bitField0_ &= -16385;
                    }
                    wallet.transactionSigners_ = this.transactionSigners_;
                }
                wallet.bitField0_ = i2;
                onBuilt();
                return wallet;
            }

            public Builder m2614mergeFrom(Message message) {
                if (message instanceof Wallet) {
                    return mergeFrom((Wallet) message);
                }
                super.mergeFrom(message);
                return this;
            }

            public Builder mergeFrom(Wallet wallet) {
                if (wallet == Wallet.getDefaultInstance()) {
                    return this;
                }
                if (wallet.hasNetworkIdentifier()) {
                    this.bitField0_ |= 1;
                    this.networkIdentifier_ = wallet.networkIdentifier_;
                    onChanged();
                }
                if (wallet.hasLastSeenBlockHash()) {
                    setLastSeenBlockHash(wallet.getLastSeenBlockHash());
                }
                if (wallet.hasLastSeenBlockHeight()) {
                    setLastSeenBlockHeight(wallet.getLastSeenBlockHeight());
                }
                if (wallet.hasLastSeenBlockTimeSecs()) {
                    setLastSeenBlockTimeSecs(wallet.getLastSeenBlockTimeSecs());
                }
                if (this.keyBuilder_ == null) {
                    if (!wallet.key_.isEmpty()) {
                        if (this.key_.isEmpty()) {
                            this.key_ = wallet.key_;
                            this.bitField0_ &= -17;
                        } else {
                            ensureKeyIsMutable();
                            this.key_.addAll(wallet.key_);
                        }
                        onChanged();
                    }
                } else if (!wallet.key_.isEmpty()) {
                    if (!this.keyBuilder_.isEmpty()) {
                        this.keyBuilder_.addAllMessages(wallet.key_);
                    } else {
                        this.keyBuilder_.dispose();
                        this.keyBuilder_ = null;
                        this.key_ = wallet.key_;
                        this.bitField0_ &= -17;
                        this.keyBuilder_ = Wallet.alwaysUseFieldBuilders ? getKeyFieldBuilder() : null;
                    }
                }
                if (this.transactionBuilder_ == null) {
                    if (!wallet.transaction_.isEmpty()) {
                        if (this.transaction_.isEmpty()) {
                            this.transaction_ = wallet.transaction_;
                            this.bitField0_ &= -33;
                        } else {
                            ensureTransactionIsMutable();
                            this.transaction_.addAll(wallet.transaction_);
                        }
                        onChanged();
                    }
                } else if (!wallet.transaction_.isEmpty()) {
                    if (!this.transactionBuilder_.isEmpty()) {
                        this.transactionBuilder_.addAllMessages(wallet.transaction_);
                    } else {
                        this.transactionBuilder_.dispose();
                        this.transactionBuilder_ = null;
                        this.transaction_ = wallet.transaction_;
                        this.bitField0_ &= -33;
                        this.transactionBuilder_ = Wallet.alwaysUseFieldBuilders ? getTransactionFieldBuilder() : null;
                    }
                }
                if (this.watchedScriptBuilder_ == null) {
                    if (!wallet.watchedScript_.isEmpty()) {
                        if (this.watchedScript_.isEmpty()) {
                            this.watchedScript_ = wallet.watchedScript_;
                            this.bitField0_ &= -65;
                        } else {
                            ensureWatchedScriptIsMutable();
                            this.watchedScript_.addAll(wallet.watchedScript_);
                        }
                        onChanged();
                    }
                } else if (!wallet.watchedScript_.isEmpty()) {
                    if (!this.watchedScriptBuilder_.isEmpty()) {
                        this.watchedScriptBuilder_.addAllMessages(wallet.watchedScript_);
                    } else {
                        this.watchedScriptBuilder_.dispose();
                        this.watchedScriptBuilder_ = null;
                        this.watchedScript_ = wallet.watchedScript_;
                        this.bitField0_ &= -65;
                        this.watchedScriptBuilder_ = Wallet.alwaysUseFieldBuilders ? getWatchedScriptFieldBuilder() : null;
                    }
                }
                if (wallet.hasEncryptionType()) {
                    setEncryptionType(wallet.getEncryptionType());
                }
                if (wallet.hasEncryptionParameters()) {
                    mergeEncryptionParameters(wallet.getEncryptionParameters());
                }
                if (wallet.hasVersion()) {
                    setVersion(wallet.getVersion());
                }
                if (this.extensionBuilder_ == null) {
                    if (!wallet.extension_.isEmpty()) {
                        if (this.extension_.isEmpty()) {
                            this.extension_ = wallet.extension_;
                            this.bitField0_ &= -1025;
                        } else {
                            ensureExtensionIsMutable();
                            this.extension_.addAll(wallet.extension_);
                        }
                        onChanged();
                    }
                } else if (!wallet.extension_.isEmpty()) {
                    if (!this.extensionBuilder_.isEmpty()) {
                        this.extensionBuilder_.addAllMessages(wallet.extension_);
                    } else {
                        this.extensionBuilder_.dispose();
                        this.extensionBuilder_ = null;
                        this.extension_ = wallet.extension_;
                        this.bitField0_ &= -1025;
                        this.extensionBuilder_ = Wallet.alwaysUseFieldBuilders ? getExtensionFieldBuilder() : null;
                    }
                }
                if (wallet.hasDescription()) {
                    this.bitField0_ |= 2048;
                    this.description_ = wallet.description_;
                    onChanged();
                }
                if (wallet.hasKeyRotationTime()) {
                    setKeyRotationTime(wallet.getKeyRotationTime());
                }
                if (this.tagsBuilder_ == null) {
                    if (!wallet.tags_.isEmpty()) {
                        if (this.tags_.isEmpty()) {
                            this.tags_ = wallet.tags_;
                            this.bitField0_ &= -8193;
                        } else {
                            ensureTagsIsMutable();
                            this.tags_.addAll(wallet.tags_);
                        }
                        onChanged();
                    }
                } else if (!wallet.tags_.isEmpty()) {
                    if (!this.tagsBuilder_.isEmpty()) {
                        this.tagsBuilder_.addAllMessages(wallet.tags_);
                    } else {
                        this.tagsBuilder_.dispose();
                        this.tagsBuilder_ = null;
                        this.tags_ = wallet.tags_;
                        this.bitField0_ &= -8193;
                        this.tagsBuilder_ = Wallet.alwaysUseFieldBuilders ? getTagsFieldBuilder() : null;
                    }
                }
                if (this.transactionSignersBuilder_ == null) {
                    if (!wallet.transactionSigners_.isEmpty()) {
                        if (this.transactionSigners_.isEmpty()) {
                            this.transactionSigners_ = wallet.transactionSigners_;
                            this.bitField0_ &= -16385;
                        } else {
                            ensureTransactionSignersIsMutable();
                            this.transactionSigners_.addAll(wallet.transactionSigners_);
                        }
                        onChanged();
                    }
                } else if (!wallet.transactionSigners_.isEmpty()) {
                    if (!this.transactionSignersBuilder_.isEmpty()) {
                        this.transactionSignersBuilder_.addAllMessages(wallet.transactionSigners_);
                    } else {
                        this.transactionSignersBuilder_.dispose();
                        this.transactionSignersBuilder_ = null;
                        this.transactionSigners_ = wallet.transactionSigners_;
                        this.bitField0_ &= -16385;
                        this.transactionSignersBuilder_ = Wallet.alwaysUseFieldBuilders ? getTransactionSignersFieldBuilder() : null;
                    }
                }
                mergeUnknownFields(wallet.getUnknownFields());
                return this;
            }

            public final boolean isInitialized() {
                if (!hasNetworkIdentifier()) {
                    return false;
                }
                for (int i = 0; i < getKeyCount(); i++) {
                    if (!getKey(i).isInitialized()) {
                        return false;
                    }
                }
                for (int i2 = 0; i2 < getTransactionCount(); i2++) {
                    if (!getTransaction(i2).isInitialized()) {
                        return false;
                    }
                }
                for (int i3 = 0; i3 < getWatchedScriptCount(); i3++) {
                    if (!getWatchedScript(i3).isInitialized()) {
                        return false;
                    }
                }
                if (hasEncryptionParameters() && !getEncryptionParameters().isInitialized()) {
                    return false;
                }
                for (int i4 = 0; i4 < getExtensionCount(); i4++) {
                    if (!getExtension(i4).isInitialized()) {
                        return false;
                    }
                }
                for (int i5 = 0; i5 < getTagsCount(); i5++) {
                    if (!getTags(i5).isInitialized()) {
                        return false;
                    }
                }
                for (int i6 = 0; i6 < getTransactionSignersCount(); i6++) {
                    if (!getTransactionSigners(i6).isInitialized()) {
                        return false;
                    }
                }
                return true;
            }

            public org.bitcoinj.wallet.Protos.Wallet.Builder m2615mergeFrom(com.google.protobuf.CodedInputStream r3, com.google.protobuf.ExtensionRegistryLite r4) throws java.io.IOException {
                throw new UnsupportedOperationException("Method not decompiled: org.bitcoinj.wallet.Protos.Wallet.Builder.m2615mergeFrom(com.google.protobuf.CodedInputStream, com.google.protobuf.ExtensionRegistryLite):org.bitcoinj.wallet.Protos$Wallet$Builder");
            }

            @Override
            public boolean hasNetworkIdentifier() {
                return (this.bitField0_ & 1) == 1;
            }

            @Override
            public String getNetworkIdentifier() {
                Object obj = this.networkIdentifier_;
                if (!(obj instanceof String)) {
                    ByteString byteString = (ByteString) obj;
                    String stringUtf8 = byteString.toStringUtf8();
                    if (byteString.isValidUtf8()) {
                        this.networkIdentifier_ = stringUtf8;
                    }
                    return stringUtf8;
                }
                return (String) obj;
            }

            @Override
            public ByteString getNetworkIdentifierBytes() {
                Object obj = this.networkIdentifier_;
                if (obj instanceof String) {
                    ByteString copyFromUtf8 = ByteString.copyFromUtf8((String) obj);
                    this.networkIdentifier_ = copyFromUtf8;
                    return copyFromUtf8;
                }
                return (ByteString) obj;
            }

            public Builder setNetworkIdentifier(String str) {
                if (str == null) {
                    throw null;
                }
                this.bitField0_ |= 1;
                this.networkIdentifier_ = str;
                onChanged();
                return this;
            }

            public Builder clearNetworkIdentifier() {
                this.bitField0_ &= -2;
                this.networkIdentifier_ = Wallet.getDefaultInstance().getNetworkIdentifier();
                onChanged();
                return this;
            }

            public Builder setNetworkIdentifierBytes(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 1;
                this.networkIdentifier_ = byteString;
                onChanged();
                return this;
            }

            @Override
            public boolean hasLastSeenBlockHash() {
                return (this.bitField0_ & 2) == 2;
            }

            @Override
            public ByteString getLastSeenBlockHash() {
                return this.lastSeenBlockHash_;
            }

            public Builder setLastSeenBlockHash(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 2;
                this.lastSeenBlockHash_ = byteString;
                onChanged();
                return this;
            }

            public Builder clearLastSeenBlockHash() {
                this.bitField0_ &= -3;
                this.lastSeenBlockHash_ = Wallet.getDefaultInstance().getLastSeenBlockHash();
                onChanged();
                return this;
            }

            @Override
            public boolean hasLastSeenBlockHeight() {
                return (this.bitField0_ & 4) == 4;
            }

            @Override
            public int getLastSeenBlockHeight() {
                return this.lastSeenBlockHeight_;
            }

            public Builder setLastSeenBlockHeight(int i) {
                this.bitField0_ |= 4;
                this.lastSeenBlockHeight_ = i;
                onChanged();
                return this;
            }

            public Builder clearLastSeenBlockHeight() {
                this.bitField0_ &= -5;
                this.lastSeenBlockHeight_ = 0;
                onChanged();
                return this;
            }

            @Override
            public boolean hasLastSeenBlockTimeSecs() {
                return (this.bitField0_ & 8) == 8;
            }

            @Override
            public long getLastSeenBlockTimeSecs() {
                return this.lastSeenBlockTimeSecs_;
            }

            public Builder setLastSeenBlockTimeSecs(long j) {
                this.bitField0_ |= 8;
                this.lastSeenBlockTimeSecs_ = j;
                onChanged();
                return this;
            }

            public Builder clearLastSeenBlockTimeSecs() {
                this.bitField0_ &= -9;
                this.lastSeenBlockTimeSecs_ = 0L;
                onChanged();
                return this;
            }

            private void ensureKeyIsMutable() {
                if ((this.bitField0_ & 16) != 16) {
                    this.key_ = new ArrayList(this.key_);
                    this.bitField0_ |= 16;
                }
            }

            @Override
            public List<Key> getKeyList() {
                RepeatedFieldBuilder<Key, Key.Builder, KeyOrBuilder> repeatedFieldBuilder = this.keyBuilder_;
                if (repeatedFieldBuilder == null) {
                    return Collections.unmodifiableList(this.key_);
                }
                return repeatedFieldBuilder.getMessageList();
            }

            @Override
            public int getKeyCount() {
                RepeatedFieldBuilder<Key, Key.Builder, KeyOrBuilder> repeatedFieldBuilder = this.keyBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.key_.size();
                }
                return repeatedFieldBuilder.getCount();
            }

            @Override
            public Key getKey(int i) {
                RepeatedFieldBuilder<Key, Key.Builder, KeyOrBuilder> repeatedFieldBuilder = this.keyBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.key_.get(i);
                }
                return (Key) repeatedFieldBuilder.getMessage(i);
            }

            public Builder setKey(int i, Key key) {
                RepeatedFieldBuilder<Key, Key.Builder, KeyOrBuilder> repeatedFieldBuilder = this.keyBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.setMessage(i, key);
                } else {
                    if (key == null) {
                        throw null;
                    }
                    ensureKeyIsMutable();
                    this.key_.set(i, key);
                    onChanged();
                }
                return this;
            }

            public Builder setKey(int i, Key.Builder builder) {
                RepeatedFieldBuilder<Key, Key.Builder, KeyOrBuilder> repeatedFieldBuilder = this.keyBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureKeyIsMutable();
                    this.key_.set(i, builder.m2291build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.setMessage(i, builder.m2291build());
                }
                return this;
            }

            public Builder addKey(Key key) {
                RepeatedFieldBuilder<Key, Key.Builder, KeyOrBuilder> repeatedFieldBuilder = this.keyBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.addMessage(key);
                } else {
                    if (key == null) {
                        throw null;
                    }
                    ensureKeyIsMutable();
                    this.key_.add(key);
                    onChanged();
                }
                return this;
            }

            public Builder addKey(int i, Key key) {
                RepeatedFieldBuilder<Key, Key.Builder, KeyOrBuilder> repeatedFieldBuilder = this.keyBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.addMessage(i, key);
                } else {
                    if (key == null) {
                        throw null;
                    }
                    ensureKeyIsMutable();
                    this.key_.add(i, key);
                    onChanged();
                }
                return this;
            }

            public Builder addKey(Key.Builder builder) {
                RepeatedFieldBuilder<Key, Key.Builder, KeyOrBuilder> repeatedFieldBuilder = this.keyBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureKeyIsMutable();
                    this.key_.add(builder.m2291build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.addMessage(builder.m2291build());
                }
                return this;
            }

            public Builder addKey(int i, Key.Builder builder) {
                RepeatedFieldBuilder<Key, Key.Builder, KeyOrBuilder> repeatedFieldBuilder = this.keyBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureKeyIsMutable();
                    this.key_.add(i, builder.m2291build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.addMessage(i, builder.m2291build());
                }
                return this;
            }

            public Builder addAllKey(Iterable<? extends Key> iterable) {
                RepeatedFieldBuilder<Key, Key.Builder, KeyOrBuilder> repeatedFieldBuilder = this.keyBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureKeyIsMutable();
                    AbstractMessageLite.Builder.addAll(iterable, this.key_);
                    onChanged();
                } else {
                    repeatedFieldBuilder.addAllMessages(iterable);
                }
                return this;
            }

            public Builder clearKey() {
                RepeatedFieldBuilder<Key, Key.Builder, KeyOrBuilder> repeatedFieldBuilder = this.keyBuilder_;
                if (repeatedFieldBuilder == null) {
                    this.key_ = Collections.emptyList();
                    this.bitField0_ &= -17;
                    onChanged();
                } else {
                    repeatedFieldBuilder.clear();
                }
                return this;
            }

            public Builder removeKey(int i) {
                RepeatedFieldBuilder<Key, Key.Builder, KeyOrBuilder> repeatedFieldBuilder = this.keyBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureKeyIsMutable();
                    this.key_.remove(i);
                    onChanged();
                } else {
                    repeatedFieldBuilder.remove(i);
                }
                return this;
            }

            public Key.Builder getKeyBuilder(int i) {
                return (Key.Builder) getKeyFieldBuilder().getBuilder(i);
            }

            @Override
            public KeyOrBuilder getKeyOrBuilder(int i) {
                RepeatedFieldBuilder<Key, Key.Builder, KeyOrBuilder> repeatedFieldBuilder = this.keyBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.key_.get(i);
                }
                return (KeyOrBuilder) repeatedFieldBuilder.getMessageOrBuilder(i);
            }

            @Override
            public List<? extends KeyOrBuilder> getKeyOrBuilderList() {
                RepeatedFieldBuilder<Key, Key.Builder, KeyOrBuilder> repeatedFieldBuilder = this.keyBuilder_;
                if (repeatedFieldBuilder != null) {
                    return repeatedFieldBuilder.getMessageOrBuilderList();
                }
                return Collections.unmodifiableList(this.key_);
            }

            public Key.Builder addKeyBuilder() {
                return (Key.Builder) getKeyFieldBuilder().addBuilder(Key.getDefaultInstance());
            }

            public Key.Builder addKeyBuilder(int i) {
                return (Key.Builder) getKeyFieldBuilder().addBuilder(i, Key.getDefaultInstance());
            }

            public List<Key.Builder> getKeyBuilderList() {
                return getKeyFieldBuilder().getBuilderList();
            }

            private RepeatedFieldBuilder<Key, Key.Builder, KeyOrBuilder> getKeyFieldBuilder() {
                if (this.keyBuilder_ == null) {
                    this.keyBuilder_ = new RepeatedFieldBuilder<>(this.key_, (this.bitField0_ & 16) == 16, getParentForChildren(), isClean());
                    this.key_ = null;
                }
                return this.keyBuilder_;
            }

            private void ensureTransactionIsMutable() {
                if ((this.bitField0_ & 32) != 32) {
                    this.transaction_ = new ArrayList(this.transaction_);
                    this.bitField0_ |= 32;
                }
            }

            @Override
            public List<Transaction> getTransactionList() {
                RepeatedFieldBuilder<Transaction, Transaction.Builder, TransactionOrBuilder> repeatedFieldBuilder = this.transactionBuilder_;
                if (repeatedFieldBuilder == null) {
                    return Collections.unmodifiableList(this.transaction_);
                }
                return repeatedFieldBuilder.getMessageList();
            }

            @Override
            public int getTransactionCount() {
                RepeatedFieldBuilder<Transaction, Transaction.Builder, TransactionOrBuilder> repeatedFieldBuilder = this.transactionBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.transaction_.size();
                }
                return repeatedFieldBuilder.getCount();
            }

            @Override
            public Transaction getTransaction(int i) {
                RepeatedFieldBuilder<Transaction, Transaction.Builder, TransactionOrBuilder> repeatedFieldBuilder = this.transactionBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.transaction_.get(i);
                }
                return (Transaction) repeatedFieldBuilder.getMessage(i);
            }

            public Builder setTransaction(int i, Transaction transaction) {
                RepeatedFieldBuilder<Transaction, Transaction.Builder, TransactionOrBuilder> repeatedFieldBuilder = this.transactionBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.setMessage(i, transaction);
                } else {
                    if (transaction == null) {
                        throw null;
                    }
                    ensureTransactionIsMutable();
                    this.transaction_.set(i, transaction);
                    onChanged();
                }
                return this;
            }

            public Builder setTransaction(int i, Transaction.Builder builder) {
                RepeatedFieldBuilder<Transaction, Transaction.Builder, TransactionOrBuilder> repeatedFieldBuilder = this.transactionBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionIsMutable();
                    this.transaction_.set(i, builder.m2442build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.setMessage(i, builder.m2442build());
                }
                return this;
            }

            public Builder addTransaction(Transaction transaction) {
                RepeatedFieldBuilder<Transaction, Transaction.Builder, TransactionOrBuilder> repeatedFieldBuilder = this.transactionBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.addMessage(transaction);
                } else {
                    if (transaction == null) {
                        throw null;
                    }
                    ensureTransactionIsMutable();
                    this.transaction_.add(transaction);
                    onChanged();
                }
                return this;
            }

            public Builder addTransaction(int i, Transaction transaction) {
                RepeatedFieldBuilder<Transaction, Transaction.Builder, TransactionOrBuilder> repeatedFieldBuilder = this.transactionBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.addMessage(i, transaction);
                } else {
                    if (transaction == null) {
                        throw null;
                    }
                    ensureTransactionIsMutable();
                    this.transaction_.add(i, transaction);
                    onChanged();
                }
                return this;
            }

            public Builder addTransaction(Transaction.Builder builder) {
                RepeatedFieldBuilder<Transaction, Transaction.Builder, TransactionOrBuilder> repeatedFieldBuilder = this.transactionBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionIsMutable();
                    this.transaction_.add(builder.m2442build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.addMessage(builder.m2442build());
                }
                return this;
            }

            public Builder addTransaction(int i, Transaction.Builder builder) {
                RepeatedFieldBuilder<Transaction, Transaction.Builder, TransactionOrBuilder> repeatedFieldBuilder = this.transactionBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionIsMutable();
                    this.transaction_.add(i, builder.m2442build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.addMessage(i, builder.m2442build());
                }
                return this;
            }

            public Builder addAllTransaction(Iterable<? extends Transaction> iterable) {
                RepeatedFieldBuilder<Transaction, Transaction.Builder, TransactionOrBuilder> repeatedFieldBuilder = this.transactionBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionIsMutable();
                    AbstractMessageLite.Builder.addAll(iterable, this.transaction_);
                    onChanged();
                } else {
                    repeatedFieldBuilder.addAllMessages(iterable);
                }
                return this;
            }

            public Builder clearTransaction() {
                RepeatedFieldBuilder<Transaction, Transaction.Builder, TransactionOrBuilder> repeatedFieldBuilder = this.transactionBuilder_;
                if (repeatedFieldBuilder == null) {
                    this.transaction_ = Collections.emptyList();
                    this.bitField0_ &= -33;
                    onChanged();
                } else {
                    repeatedFieldBuilder.clear();
                }
                return this;
            }

            public Builder removeTransaction(int i) {
                RepeatedFieldBuilder<Transaction, Transaction.Builder, TransactionOrBuilder> repeatedFieldBuilder = this.transactionBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionIsMutable();
                    this.transaction_.remove(i);
                    onChanged();
                } else {
                    repeatedFieldBuilder.remove(i);
                }
                return this;
            }

            public Transaction.Builder getTransactionBuilder(int i) {
                return (Transaction.Builder) getTransactionFieldBuilder().getBuilder(i);
            }

            @Override
            public TransactionOrBuilder getTransactionOrBuilder(int i) {
                RepeatedFieldBuilder<Transaction, Transaction.Builder, TransactionOrBuilder> repeatedFieldBuilder = this.transactionBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.transaction_.get(i);
                }
                return (TransactionOrBuilder) repeatedFieldBuilder.getMessageOrBuilder(i);
            }

            @Override
            public List<? extends TransactionOrBuilder> getTransactionOrBuilderList() {
                RepeatedFieldBuilder<Transaction, Transaction.Builder, TransactionOrBuilder> repeatedFieldBuilder = this.transactionBuilder_;
                if (repeatedFieldBuilder != null) {
                    return repeatedFieldBuilder.getMessageOrBuilderList();
                }
                return Collections.unmodifiableList(this.transaction_);
            }

            public Transaction.Builder addTransactionBuilder() {
                return (Transaction.Builder) getTransactionFieldBuilder().addBuilder(Transaction.getDefaultInstance());
            }

            public Transaction.Builder addTransactionBuilder(int i) {
                return (Transaction.Builder) getTransactionFieldBuilder().addBuilder(i, Transaction.getDefaultInstance());
            }

            public List<Transaction.Builder> getTransactionBuilderList() {
                return getTransactionFieldBuilder().getBuilderList();
            }

            private RepeatedFieldBuilder<Transaction, Transaction.Builder, TransactionOrBuilder> getTransactionFieldBuilder() {
                if (this.transactionBuilder_ == null) {
                    this.transactionBuilder_ = new RepeatedFieldBuilder<>(this.transaction_, (this.bitField0_ & 32) == 32, getParentForChildren(), isClean());
                    this.transaction_ = null;
                }
                return this.transactionBuilder_;
            }

            private void ensureWatchedScriptIsMutable() {
                if ((this.bitField0_ & 64) != 64) {
                    this.watchedScript_ = new ArrayList(this.watchedScript_);
                    this.bitField0_ |= 64;
                }
            }

            @Override
            public List<Script> getWatchedScriptList() {
                RepeatedFieldBuilder<Script, Script.Builder, ScriptOrBuilder> repeatedFieldBuilder = this.watchedScriptBuilder_;
                if (repeatedFieldBuilder == null) {
                    return Collections.unmodifiableList(this.watchedScript_);
                }
                return repeatedFieldBuilder.getMessageList();
            }

            @Override
            public int getWatchedScriptCount() {
                RepeatedFieldBuilder<Script, Script.Builder, ScriptOrBuilder> repeatedFieldBuilder = this.watchedScriptBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.watchedScript_.size();
                }
                return repeatedFieldBuilder.getCount();
            }

            @Override
            public Script getWatchedScript(int i) {
                RepeatedFieldBuilder<Script, Script.Builder, ScriptOrBuilder> repeatedFieldBuilder = this.watchedScriptBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.watchedScript_.get(i);
                }
                return (Script) repeatedFieldBuilder.getMessage(i);
            }

            public Builder setWatchedScript(int i, Script script) {
                RepeatedFieldBuilder<Script, Script.Builder, ScriptOrBuilder> repeatedFieldBuilder = this.watchedScriptBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.setMessage(i, script);
                } else {
                    if (script == null) {
                        throw null;
                    }
                    ensureWatchedScriptIsMutable();
                    this.watchedScript_.set(i, script);
                    onChanged();
                }
                return this;
            }

            public Builder setWatchedScript(int i, Script.Builder builder) {
                RepeatedFieldBuilder<Script, Script.Builder, ScriptOrBuilder> repeatedFieldBuilder = this.watchedScriptBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureWatchedScriptIsMutable();
                    this.watchedScript_.set(i, builder.m2352build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.setMessage(i, builder.m2352build());
                }
                return this;
            }

            public Builder addWatchedScript(Script script) {
                RepeatedFieldBuilder<Script, Script.Builder, ScriptOrBuilder> repeatedFieldBuilder = this.watchedScriptBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.addMessage(script);
                } else {
                    if (script == null) {
                        throw null;
                    }
                    ensureWatchedScriptIsMutable();
                    this.watchedScript_.add(script);
                    onChanged();
                }
                return this;
            }

            public Builder addWatchedScript(int i, Script script) {
                RepeatedFieldBuilder<Script, Script.Builder, ScriptOrBuilder> repeatedFieldBuilder = this.watchedScriptBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.addMessage(i, script);
                } else {
                    if (script == null) {
                        throw null;
                    }
                    ensureWatchedScriptIsMutable();
                    this.watchedScript_.add(i, script);
                    onChanged();
                }
                return this;
            }

            public Builder addWatchedScript(Script.Builder builder) {
                RepeatedFieldBuilder<Script, Script.Builder, ScriptOrBuilder> repeatedFieldBuilder = this.watchedScriptBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureWatchedScriptIsMutable();
                    this.watchedScript_.add(builder.m2352build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.addMessage(builder.m2352build());
                }
                return this;
            }

            public Builder addWatchedScript(int i, Script.Builder builder) {
                RepeatedFieldBuilder<Script, Script.Builder, ScriptOrBuilder> repeatedFieldBuilder = this.watchedScriptBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureWatchedScriptIsMutable();
                    this.watchedScript_.add(i, builder.m2352build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.addMessage(i, builder.m2352build());
                }
                return this;
            }

            public Builder addAllWatchedScript(Iterable<? extends Script> iterable) {
                RepeatedFieldBuilder<Script, Script.Builder, ScriptOrBuilder> repeatedFieldBuilder = this.watchedScriptBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureWatchedScriptIsMutable();
                    AbstractMessageLite.Builder.addAll(iterable, this.watchedScript_);
                    onChanged();
                } else {
                    repeatedFieldBuilder.addAllMessages(iterable);
                }
                return this;
            }

            public Builder clearWatchedScript() {
                RepeatedFieldBuilder<Script, Script.Builder, ScriptOrBuilder> repeatedFieldBuilder = this.watchedScriptBuilder_;
                if (repeatedFieldBuilder == null) {
                    this.watchedScript_ = Collections.emptyList();
                    this.bitField0_ &= -65;
                    onChanged();
                } else {
                    repeatedFieldBuilder.clear();
                }
                return this;
            }

            public Builder removeWatchedScript(int i) {
                RepeatedFieldBuilder<Script, Script.Builder, ScriptOrBuilder> repeatedFieldBuilder = this.watchedScriptBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureWatchedScriptIsMutable();
                    this.watchedScript_.remove(i);
                    onChanged();
                } else {
                    repeatedFieldBuilder.remove(i);
                }
                return this;
            }

            public Script.Builder getWatchedScriptBuilder(int i) {
                return (Script.Builder) getWatchedScriptFieldBuilder().getBuilder(i);
            }

            @Override
            public ScriptOrBuilder getWatchedScriptOrBuilder(int i) {
                RepeatedFieldBuilder<Script, Script.Builder, ScriptOrBuilder> repeatedFieldBuilder = this.watchedScriptBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.watchedScript_.get(i);
                }
                return (ScriptOrBuilder) repeatedFieldBuilder.getMessageOrBuilder(i);
            }

            @Override
            public List<? extends ScriptOrBuilder> getWatchedScriptOrBuilderList() {
                RepeatedFieldBuilder<Script, Script.Builder, ScriptOrBuilder> repeatedFieldBuilder = this.watchedScriptBuilder_;
                if (repeatedFieldBuilder != null) {
                    return repeatedFieldBuilder.getMessageOrBuilderList();
                }
                return Collections.unmodifiableList(this.watchedScript_);
            }

            public Script.Builder addWatchedScriptBuilder() {
                return (Script.Builder) getWatchedScriptFieldBuilder().addBuilder(Script.getDefaultInstance());
            }

            public Script.Builder addWatchedScriptBuilder(int i) {
                return (Script.Builder) getWatchedScriptFieldBuilder().addBuilder(i, Script.getDefaultInstance());
            }

            public List<Script.Builder> getWatchedScriptBuilderList() {
                return getWatchedScriptFieldBuilder().getBuilderList();
            }

            private RepeatedFieldBuilder<Script, Script.Builder, ScriptOrBuilder> getWatchedScriptFieldBuilder() {
                if (this.watchedScriptBuilder_ == null) {
                    this.watchedScriptBuilder_ = new RepeatedFieldBuilder<>(this.watchedScript_, (this.bitField0_ & 64) == 64, getParentForChildren(), isClean());
                    this.watchedScript_ = null;
                }
                return this.watchedScriptBuilder_;
            }

            @Override
            public boolean hasEncryptionType() {
                return (this.bitField0_ & 128) == 128;
            }

            @Override
            public EncryptionType getEncryptionType() {
                return this.encryptionType_;
            }

            public Builder setEncryptionType(EncryptionType encryptionType) {
                if (encryptionType == null) {
                    throw null;
                }
                this.bitField0_ |= 128;
                this.encryptionType_ = encryptionType;
                onChanged();
                return this;
            }

            public Builder clearEncryptionType() {
                this.bitField0_ &= -129;
                this.encryptionType_ = EncryptionType.UNENCRYPTED;
                onChanged();
                return this;
            }

            @Override
            public boolean hasEncryptionParameters() {
                return (this.bitField0_ & JSONParser.ACCEPT_TAILLING_DATA) == 256;
            }

            @Override
            public ScryptParameters getEncryptionParameters() {
                SingleFieldBuilder<ScryptParameters, ScryptParameters.Builder, ScryptParametersOrBuilder> singleFieldBuilder = this.encryptionParametersBuilder_;
                if (singleFieldBuilder == null) {
                    return this.encryptionParameters_;
                }
                return (ScryptParameters) singleFieldBuilder.getMessage();
            }

            public Builder setEncryptionParameters(ScryptParameters scryptParameters) {
                SingleFieldBuilder<ScryptParameters, ScryptParameters.Builder, ScryptParametersOrBuilder> singleFieldBuilder = this.encryptionParametersBuilder_;
                if (singleFieldBuilder != null) {
                    singleFieldBuilder.setMessage(scryptParameters);
                } else {
                    if (scryptParameters == null) {
                        throw null;
                    }
                    this.encryptionParameters_ = scryptParameters;
                    onChanged();
                }
                this.bitField0_ |= JSONParser.ACCEPT_TAILLING_DATA;
                return this;
            }

            public Builder setEncryptionParameters(ScryptParameters.Builder builder) {
                SingleFieldBuilder<ScryptParameters, ScryptParameters.Builder, ScryptParametersOrBuilder> singleFieldBuilder = this.encryptionParametersBuilder_;
                if (singleFieldBuilder == null) {
                    this.encryptionParameters_ = builder.m2382build();
                    onChanged();
                } else {
                    singleFieldBuilder.setMessage(builder.m2382build());
                }
                this.bitField0_ |= JSONParser.ACCEPT_TAILLING_DATA;
                return this;
            }

            public Builder mergeEncryptionParameters(ScryptParameters scryptParameters) {
                SingleFieldBuilder<ScryptParameters, ScryptParameters.Builder, ScryptParametersOrBuilder> singleFieldBuilder = this.encryptionParametersBuilder_;
                if (singleFieldBuilder == null) {
                    if ((this.bitField0_ & JSONParser.ACCEPT_TAILLING_DATA) == 256 && this.encryptionParameters_ != ScryptParameters.getDefaultInstance()) {
                        this.encryptionParameters_ = ScryptParameters.newBuilder(this.encryptionParameters_).mergeFrom(scryptParameters).m2384buildPartial();
                    } else {
                        this.encryptionParameters_ = scryptParameters;
                    }
                    onChanged();
                } else {
                    singleFieldBuilder.mergeFrom(scryptParameters);
                }
                this.bitField0_ |= JSONParser.ACCEPT_TAILLING_DATA;
                return this;
            }

            public Builder clearEncryptionParameters() {
                SingleFieldBuilder<ScryptParameters, ScryptParameters.Builder, ScryptParametersOrBuilder> singleFieldBuilder = this.encryptionParametersBuilder_;
                if (singleFieldBuilder == null) {
                    this.encryptionParameters_ = ScryptParameters.getDefaultInstance();
                    onChanged();
                } else {
                    singleFieldBuilder.clear();
                }
                this.bitField0_ &= -257;
                return this;
            }

            public ScryptParameters.Builder getEncryptionParametersBuilder() {
                this.bitField0_ |= JSONParser.ACCEPT_TAILLING_DATA;
                onChanged();
                return (ScryptParameters.Builder) getEncryptionParametersFieldBuilder().getBuilder();
            }

            @Override
            public ScryptParametersOrBuilder getEncryptionParametersOrBuilder() {
                SingleFieldBuilder<ScryptParameters, ScryptParameters.Builder, ScryptParametersOrBuilder> singleFieldBuilder = this.encryptionParametersBuilder_;
                if (singleFieldBuilder != null) {
                    return (ScryptParametersOrBuilder) singleFieldBuilder.getMessageOrBuilder();
                }
                return this.encryptionParameters_;
            }

            private SingleFieldBuilder<ScryptParameters, ScryptParameters.Builder, ScryptParametersOrBuilder> getEncryptionParametersFieldBuilder() {
                if (this.encryptionParametersBuilder_ == null) {
                    this.encryptionParametersBuilder_ = new SingleFieldBuilder<>(getEncryptionParameters(), getParentForChildren(), isClean());
                    this.encryptionParameters_ = null;
                }
                return this.encryptionParametersBuilder_;
            }

            @Override
            public boolean hasVersion() {
                return (this.bitField0_ & 512) == 512;
            }

            @Override
            public int getVersion() {
                return this.version_;
            }

            public Builder setVersion(int i) {
                this.bitField0_ |= 512;
                this.version_ = i;
                onChanged();
                return this;
            }

            public Builder clearVersion() {
                this.bitField0_ &= -513;
                this.version_ = 1;
                onChanged();
                return this;
            }

            private void ensureExtensionIsMutable() {
                if ((this.bitField0_ & 1024) != 1024) {
                    this.extension_ = new ArrayList(this.extension_);
                    this.bitField0_ |= 1024;
                }
            }

            @Override
            public List<Extension> getExtensionList() {
                RepeatedFieldBuilder<Extension, Extension.Builder, ExtensionOrBuilder> repeatedFieldBuilder = this.extensionBuilder_;
                if (repeatedFieldBuilder == null) {
                    return Collections.unmodifiableList(this.extension_);
                }
                return repeatedFieldBuilder.getMessageList();
            }

            @Override
            public int getExtensionCount() {
                RepeatedFieldBuilder<Extension, Extension.Builder, ExtensionOrBuilder> repeatedFieldBuilder = this.extensionBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.extension_.size();
                }
                return repeatedFieldBuilder.getCount();
            }

            @Override
            public Extension getExtension(int i) {
                RepeatedFieldBuilder<Extension, Extension.Builder, ExtensionOrBuilder> repeatedFieldBuilder = this.extensionBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.extension_.get(i);
                }
                return (Extension) repeatedFieldBuilder.getMessage(i);
            }

            public Builder setExtension(int i, Extension extension) {
                RepeatedFieldBuilder<Extension, Extension.Builder, ExtensionOrBuilder> repeatedFieldBuilder = this.extensionBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.setMessage(i, extension);
                } else {
                    if (extension == null) {
                        throw null;
                    }
                    ensureExtensionIsMutable();
                    this.extension_.set(i, extension);
                    onChanged();
                }
                return this;
            }

            public Builder setExtension(int i, Extension.Builder builder) {
                RepeatedFieldBuilder<Extension, Extension.Builder, ExtensionOrBuilder> repeatedFieldBuilder = this.extensionBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureExtensionIsMutable();
                    this.extension_.set(i, builder.m2261build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.setMessage(i, builder.m2261build());
                }
                return this;
            }

            public Builder addExtension(Extension extension) {
                RepeatedFieldBuilder<Extension, Extension.Builder, ExtensionOrBuilder> repeatedFieldBuilder = this.extensionBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.addMessage(extension);
                } else {
                    if (extension == null) {
                        throw null;
                    }
                    ensureExtensionIsMutable();
                    this.extension_.add(extension);
                    onChanged();
                }
                return this;
            }

            public Builder addExtension(int i, Extension extension) {
                RepeatedFieldBuilder<Extension, Extension.Builder, ExtensionOrBuilder> repeatedFieldBuilder = this.extensionBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.addMessage(i, extension);
                } else {
                    if (extension == null) {
                        throw null;
                    }
                    ensureExtensionIsMutable();
                    this.extension_.add(i, extension);
                    onChanged();
                }
                return this;
            }

            public Builder addExtension(Extension.Builder builder) {
                RepeatedFieldBuilder<Extension, Extension.Builder, ExtensionOrBuilder> repeatedFieldBuilder = this.extensionBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureExtensionIsMutable();
                    this.extension_.add(builder.m2261build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.addMessage(builder.m2261build());
                }
                return this;
            }

            public Builder addExtension(int i, Extension.Builder builder) {
                RepeatedFieldBuilder<Extension, Extension.Builder, ExtensionOrBuilder> repeatedFieldBuilder = this.extensionBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureExtensionIsMutable();
                    this.extension_.add(i, builder.m2261build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.addMessage(i, builder.m2261build());
                }
                return this;
            }

            public Builder addAllExtension(Iterable<? extends Extension> iterable) {
                RepeatedFieldBuilder<Extension, Extension.Builder, ExtensionOrBuilder> repeatedFieldBuilder = this.extensionBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureExtensionIsMutable();
                    AbstractMessageLite.Builder.addAll(iterable, this.extension_);
                    onChanged();
                } else {
                    repeatedFieldBuilder.addAllMessages(iterable);
                }
                return this;
            }

            public Builder clearExtension() {
                RepeatedFieldBuilder<Extension, Extension.Builder, ExtensionOrBuilder> repeatedFieldBuilder = this.extensionBuilder_;
                if (repeatedFieldBuilder == null) {
                    this.extension_ = Collections.emptyList();
                    this.bitField0_ &= -1025;
                    onChanged();
                } else {
                    repeatedFieldBuilder.clear();
                }
                return this;
            }

            public Builder removeExtension(int i) {
                RepeatedFieldBuilder<Extension, Extension.Builder, ExtensionOrBuilder> repeatedFieldBuilder = this.extensionBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureExtensionIsMutable();
                    this.extension_.remove(i);
                    onChanged();
                } else {
                    repeatedFieldBuilder.remove(i);
                }
                return this;
            }

            public Extension.Builder getExtensionBuilder(int i) {
                return (Extension.Builder) getExtensionFieldBuilder().getBuilder(i);
            }

            @Override
            public ExtensionOrBuilder getExtensionOrBuilder(int i) {
                RepeatedFieldBuilder<Extension, Extension.Builder, ExtensionOrBuilder> repeatedFieldBuilder = this.extensionBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.extension_.get(i);
                }
                return (ExtensionOrBuilder) repeatedFieldBuilder.getMessageOrBuilder(i);
            }

            @Override
            public List<? extends ExtensionOrBuilder> getExtensionOrBuilderList() {
                RepeatedFieldBuilder<Extension, Extension.Builder, ExtensionOrBuilder> repeatedFieldBuilder = this.extensionBuilder_;
                if (repeatedFieldBuilder != null) {
                    return repeatedFieldBuilder.getMessageOrBuilderList();
                }
                return Collections.unmodifiableList(this.extension_);
            }

            public Extension.Builder addExtensionBuilder() {
                return (Extension.Builder) getExtensionFieldBuilder().addBuilder(Extension.getDefaultInstance());
            }

            public Extension.Builder addExtensionBuilder(int i) {
                return (Extension.Builder) getExtensionFieldBuilder().addBuilder(i, Extension.getDefaultInstance());
            }

            public List<Extension.Builder> getExtensionBuilderList() {
                return getExtensionFieldBuilder().getBuilderList();
            }

            private RepeatedFieldBuilder<Extension, Extension.Builder, ExtensionOrBuilder> getExtensionFieldBuilder() {
                if (this.extensionBuilder_ == null) {
                    this.extensionBuilder_ = new RepeatedFieldBuilder<>(this.extension_, (this.bitField0_ & 1024) == 1024, getParentForChildren(), isClean());
                    this.extension_ = null;
                }
                return this.extensionBuilder_;
            }

            @Override
            public boolean hasDescription() {
                return (this.bitField0_ & 2048) == 2048;
            }

            @Override
            public String getDescription() {
                Object obj = this.description_;
                if (!(obj instanceof String)) {
                    ByteString byteString = (ByteString) obj;
                    String stringUtf8 = byteString.toStringUtf8();
                    if (byteString.isValidUtf8()) {
                        this.description_ = stringUtf8;
                    }
                    return stringUtf8;
                }
                return (String) obj;
            }

            @Override
            public ByteString getDescriptionBytes() {
                Object obj = this.description_;
                if (obj instanceof String) {
                    ByteString copyFromUtf8 = ByteString.copyFromUtf8((String) obj);
                    this.description_ = copyFromUtf8;
                    return copyFromUtf8;
                }
                return (ByteString) obj;
            }

            public Builder setDescription(String str) {
                if (str == null) {
                    throw null;
                }
                this.bitField0_ |= 2048;
                this.description_ = str;
                onChanged();
                return this;
            }

            public Builder clearDescription() {
                this.bitField0_ &= -2049;
                this.description_ = Wallet.getDefaultInstance().getDescription();
                onChanged();
                return this;
            }

            public Builder setDescriptionBytes(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 2048;
                this.description_ = byteString;
                onChanged();
                return this;
            }

            @Override
            public boolean hasKeyRotationTime() {
                return (this.bitField0_ & 4096) == 4096;
            }

            @Override
            public long getKeyRotationTime() {
                return this.keyRotationTime_;
            }

            public Builder setKeyRotationTime(long j) {
                this.bitField0_ |= 4096;
                this.keyRotationTime_ = j;
                onChanged();
                return this;
            }

            public Builder clearKeyRotationTime() {
                this.bitField0_ &= -4097;
                this.keyRotationTime_ = 0L;
                onChanged();
                return this;
            }

            private void ensureTagsIsMutable() {
                if ((this.bitField0_ & 8192) != 8192) {
                    this.tags_ = new ArrayList(this.tags_);
                    this.bitField0_ |= 8192;
                }
            }

            @Override
            public List<Tag> getTagsList() {
                RepeatedFieldBuilder<Tag, Tag.Builder, TagOrBuilder> repeatedFieldBuilder = this.tagsBuilder_;
                if (repeatedFieldBuilder == null) {
                    return Collections.unmodifiableList(this.tags_);
                }
                return repeatedFieldBuilder.getMessageList();
            }

            @Override
            public int getTagsCount() {
                RepeatedFieldBuilder<Tag, Tag.Builder, TagOrBuilder> repeatedFieldBuilder = this.tagsBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.tags_.size();
                }
                return repeatedFieldBuilder.getCount();
            }

            @Override
            public Tag getTags(int i) {
                RepeatedFieldBuilder<Tag, Tag.Builder, TagOrBuilder> repeatedFieldBuilder = this.tagsBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.tags_.get(i);
                }
                return (Tag) repeatedFieldBuilder.getMessage(i);
            }

            public Builder setTags(int i, Tag tag) {
                RepeatedFieldBuilder<Tag, Tag.Builder, TagOrBuilder> repeatedFieldBuilder = this.tagsBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.setMessage(i, tag);
                } else {
                    if (tag == null) {
                        throw null;
                    }
                    ensureTagsIsMutable();
                    this.tags_.set(i, tag);
                    onChanged();
                }
                return this;
            }

            public Builder setTags(int i, Tag.Builder builder) {
                RepeatedFieldBuilder<Tag, Tag.Builder, TagOrBuilder> repeatedFieldBuilder = this.tagsBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTagsIsMutable();
                    this.tags_.set(i, builder.m2412build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.setMessage(i, builder.m2412build());
                }
                return this;
            }

            public Builder addTags(Tag tag) {
                RepeatedFieldBuilder<Tag, Tag.Builder, TagOrBuilder> repeatedFieldBuilder = this.tagsBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.addMessage(tag);
                } else {
                    if (tag == null) {
                        throw null;
                    }
                    ensureTagsIsMutable();
                    this.tags_.add(tag);
                    onChanged();
                }
                return this;
            }

            public Builder addTags(int i, Tag tag) {
                RepeatedFieldBuilder<Tag, Tag.Builder, TagOrBuilder> repeatedFieldBuilder = this.tagsBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.addMessage(i, tag);
                } else {
                    if (tag == null) {
                        throw null;
                    }
                    ensureTagsIsMutable();
                    this.tags_.add(i, tag);
                    onChanged();
                }
                return this;
            }

            public Builder addTags(Tag.Builder builder) {
                RepeatedFieldBuilder<Tag, Tag.Builder, TagOrBuilder> repeatedFieldBuilder = this.tagsBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTagsIsMutable();
                    this.tags_.add(builder.m2412build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.addMessage(builder.m2412build());
                }
                return this;
            }

            public Builder addTags(int i, Tag.Builder builder) {
                RepeatedFieldBuilder<Tag, Tag.Builder, TagOrBuilder> repeatedFieldBuilder = this.tagsBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTagsIsMutable();
                    this.tags_.add(i, builder.m2412build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.addMessage(i, builder.m2412build());
                }
                return this;
            }

            public Builder addAllTags(Iterable<? extends Tag> iterable) {
                RepeatedFieldBuilder<Tag, Tag.Builder, TagOrBuilder> repeatedFieldBuilder = this.tagsBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTagsIsMutable();
                    AbstractMessageLite.Builder.addAll(iterable, this.tags_);
                    onChanged();
                } else {
                    repeatedFieldBuilder.addAllMessages(iterable);
                }
                return this;
            }

            public Builder clearTags() {
                RepeatedFieldBuilder<Tag, Tag.Builder, TagOrBuilder> repeatedFieldBuilder = this.tagsBuilder_;
                if (repeatedFieldBuilder == null) {
                    this.tags_ = Collections.emptyList();
                    this.bitField0_ &= -8193;
                    onChanged();
                } else {
                    repeatedFieldBuilder.clear();
                }
                return this;
            }

            public Builder removeTags(int i) {
                RepeatedFieldBuilder<Tag, Tag.Builder, TagOrBuilder> repeatedFieldBuilder = this.tagsBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTagsIsMutable();
                    this.tags_.remove(i);
                    onChanged();
                } else {
                    repeatedFieldBuilder.remove(i);
                }
                return this;
            }

            public Tag.Builder getTagsBuilder(int i) {
                return (Tag.Builder) getTagsFieldBuilder().getBuilder(i);
            }

            @Override
            public TagOrBuilder getTagsOrBuilder(int i) {
                RepeatedFieldBuilder<Tag, Tag.Builder, TagOrBuilder> repeatedFieldBuilder = this.tagsBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.tags_.get(i);
                }
                return (TagOrBuilder) repeatedFieldBuilder.getMessageOrBuilder(i);
            }

            @Override
            public List<? extends TagOrBuilder> getTagsOrBuilderList() {
                RepeatedFieldBuilder<Tag, Tag.Builder, TagOrBuilder> repeatedFieldBuilder = this.tagsBuilder_;
                if (repeatedFieldBuilder != null) {
                    return repeatedFieldBuilder.getMessageOrBuilderList();
                }
                return Collections.unmodifiableList(this.tags_);
            }

            public Tag.Builder addTagsBuilder() {
                return (Tag.Builder) getTagsFieldBuilder().addBuilder(Tag.getDefaultInstance());
            }

            public Tag.Builder addTagsBuilder(int i) {
                return (Tag.Builder) getTagsFieldBuilder().addBuilder(i, Tag.getDefaultInstance());
            }

            public List<Tag.Builder> getTagsBuilderList() {
                return getTagsFieldBuilder().getBuilderList();
            }

            private RepeatedFieldBuilder<Tag, Tag.Builder, TagOrBuilder> getTagsFieldBuilder() {
                if (this.tagsBuilder_ == null) {
                    this.tagsBuilder_ = new RepeatedFieldBuilder<>(this.tags_, (this.bitField0_ & 8192) == 8192, getParentForChildren(), isClean());
                    this.tags_ = null;
                }
                return this.tagsBuilder_;
            }

            private void ensureTransactionSignersIsMutable() {
                if ((this.bitField0_ & WebSocketImpl.RCVBUF) != 16384) {
                    this.transactionSigners_ = new ArrayList(this.transactionSigners_);
                    this.bitField0_ |= WebSocketImpl.RCVBUF;
                }
            }

            @Override
            public List<TransactionSigner> getTransactionSignersList() {
                RepeatedFieldBuilder<TransactionSigner, TransactionSigner.Builder, TransactionSignerOrBuilder> repeatedFieldBuilder = this.transactionSignersBuilder_;
                if (repeatedFieldBuilder == null) {
                    return Collections.unmodifiableList(this.transactionSigners_);
                }
                return repeatedFieldBuilder.getMessageList();
            }

            @Override
            public int getTransactionSignersCount() {
                RepeatedFieldBuilder<TransactionSigner, TransactionSigner.Builder, TransactionSignerOrBuilder> repeatedFieldBuilder = this.transactionSignersBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.transactionSigners_.size();
                }
                return repeatedFieldBuilder.getCount();
            }

            @Override
            public TransactionSigner getTransactionSigners(int i) {
                RepeatedFieldBuilder<TransactionSigner, TransactionSigner.Builder, TransactionSignerOrBuilder> repeatedFieldBuilder = this.transactionSignersBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.transactionSigners_.get(i);
                }
                return (TransactionSigner) repeatedFieldBuilder.getMessage(i);
            }

            public Builder setTransactionSigners(int i, TransactionSigner transactionSigner) {
                RepeatedFieldBuilder<TransactionSigner, TransactionSigner.Builder, TransactionSignerOrBuilder> repeatedFieldBuilder = this.transactionSignersBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.setMessage(i, transactionSigner);
                } else {
                    if (transactionSigner == null) {
                        throw null;
                    }
                    ensureTransactionSignersIsMutable();
                    this.transactionSigners_.set(i, transactionSigner);
                    onChanged();
                }
                return this;
            }

            public Builder setTransactionSigners(int i, TransactionSigner.Builder builder) {
                RepeatedFieldBuilder<TransactionSigner, TransactionSigner.Builder, TransactionSignerOrBuilder> repeatedFieldBuilder = this.transactionSignersBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionSignersIsMutable();
                    this.transactionSigners_.set(i, builder.m2566build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.setMessage(i, builder.m2566build());
                }
                return this;
            }

            public Builder addTransactionSigners(TransactionSigner transactionSigner) {
                RepeatedFieldBuilder<TransactionSigner, TransactionSigner.Builder, TransactionSignerOrBuilder> repeatedFieldBuilder = this.transactionSignersBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.addMessage(transactionSigner);
                } else {
                    if (transactionSigner == null) {
                        throw null;
                    }
                    ensureTransactionSignersIsMutable();
                    this.transactionSigners_.add(transactionSigner);
                    onChanged();
                }
                return this;
            }

            public Builder addTransactionSigners(int i, TransactionSigner transactionSigner) {
                RepeatedFieldBuilder<TransactionSigner, TransactionSigner.Builder, TransactionSignerOrBuilder> repeatedFieldBuilder = this.transactionSignersBuilder_;
                if (repeatedFieldBuilder != null) {
                    repeatedFieldBuilder.addMessage(i, transactionSigner);
                } else {
                    if (transactionSigner == null) {
                        throw null;
                    }
                    ensureTransactionSignersIsMutable();
                    this.transactionSigners_.add(i, transactionSigner);
                    onChanged();
                }
                return this;
            }

            public Builder addTransactionSigners(TransactionSigner.Builder builder) {
                RepeatedFieldBuilder<TransactionSigner, TransactionSigner.Builder, TransactionSignerOrBuilder> repeatedFieldBuilder = this.transactionSignersBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionSignersIsMutable();
                    this.transactionSigners_.add(builder.m2566build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.addMessage(builder.m2566build());
                }
                return this;
            }

            public Builder addTransactionSigners(int i, TransactionSigner.Builder builder) {
                RepeatedFieldBuilder<TransactionSigner, TransactionSigner.Builder, TransactionSignerOrBuilder> repeatedFieldBuilder = this.transactionSignersBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionSignersIsMutable();
                    this.transactionSigners_.add(i, builder.m2566build());
                    onChanged();
                } else {
                    repeatedFieldBuilder.addMessage(i, builder.m2566build());
                }
                return this;
            }

            public Builder addAllTransactionSigners(Iterable<? extends TransactionSigner> iterable) {
                RepeatedFieldBuilder<TransactionSigner, TransactionSigner.Builder, TransactionSignerOrBuilder> repeatedFieldBuilder = this.transactionSignersBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionSignersIsMutable();
                    AbstractMessageLite.Builder.addAll(iterable, this.transactionSigners_);
                    onChanged();
                } else {
                    repeatedFieldBuilder.addAllMessages(iterable);
                }
                return this;
            }

            public Builder clearTransactionSigners() {
                RepeatedFieldBuilder<TransactionSigner, TransactionSigner.Builder, TransactionSignerOrBuilder> repeatedFieldBuilder = this.transactionSignersBuilder_;
                if (repeatedFieldBuilder == null) {
                    this.transactionSigners_ = Collections.emptyList();
                    this.bitField0_ &= -16385;
                    onChanged();
                } else {
                    repeatedFieldBuilder.clear();
                }
                return this;
            }

            public Builder removeTransactionSigners(int i) {
                RepeatedFieldBuilder<TransactionSigner, TransactionSigner.Builder, TransactionSignerOrBuilder> repeatedFieldBuilder = this.transactionSignersBuilder_;
                if (repeatedFieldBuilder == null) {
                    ensureTransactionSignersIsMutable();
                    this.transactionSigners_.remove(i);
                    onChanged();
                } else {
                    repeatedFieldBuilder.remove(i);
                }
                return this;
            }

            public TransactionSigner.Builder getTransactionSignersBuilder(int i) {
                return (TransactionSigner.Builder) getTransactionSignersFieldBuilder().getBuilder(i);
            }

            @Override
            public TransactionSignerOrBuilder getTransactionSignersOrBuilder(int i) {
                RepeatedFieldBuilder<TransactionSigner, TransactionSigner.Builder, TransactionSignerOrBuilder> repeatedFieldBuilder = this.transactionSignersBuilder_;
                if (repeatedFieldBuilder == null) {
                    return this.transactionSigners_.get(i);
                }
                return (TransactionSignerOrBuilder) repeatedFieldBuilder.getMessageOrBuilder(i);
            }

            @Override
            public List<? extends TransactionSignerOrBuilder> getTransactionSignersOrBuilderList() {
                RepeatedFieldBuilder<TransactionSigner, TransactionSigner.Builder, TransactionSignerOrBuilder> repeatedFieldBuilder = this.transactionSignersBuilder_;
                if (repeatedFieldBuilder != null) {
                    return repeatedFieldBuilder.getMessageOrBuilderList();
                }
                return Collections.unmodifiableList(this.transactionSigners_);
            }

            public TransactionSigner.Builder addTransactionSignersBuilder() {
                return (TransactionSigner.Builder) getTransactionSignersFieldBuilder().addBuilder(TransactionSigner.getDefaultInstance());
            }

            public TransactionSigner.Builder addTransactionSignersBuilder(int i) {
                return (TransactionSigner.Builder) getTransactionSignersFieldBuilder().addBuilder(i, TransactionSigner.getDefaultInstance());
            }

            public List<TransactionSigner.Builder> getTransactionSignersBuilderList() {
                return getTransactionSignersFieldBuilder().getBuilderList();
            }

            private RepeatedFieldBuilder<TransactionSigner, TransactionSigner.Builder, TransactionSignerOrBuilder> getTransactionSignersFieldBuilder() {
                if (this.transactionSignersBuilder_ == null) {
                    this.transactionSignersBuilder_ = new RepeatedFieldBuilder<>(this.transactionSigners_, (this.bitField0_ & WebSocketImpl.RCVBUF) == 16384, getParentForChildren(), isClean());
                    this.transactionSigners_ = null;
                }
                return this.transactionSignersBuilder_;
            }
        }
    }

    public static final class ExchangeRate extends GeneratedMessage implements ExchangeRateOrBuilder {
        public static final int COIN_VALUE_FIELD_NUMBER = 1;
        public static final int FIAT_CURRENCY_CODE_FIELD_NUMBER = 3;
        public static final int FIAT_VALUE_FIELD_NUMBER = 2;
        public static Parser<ExchangeRate> PARSER = new AbstractParser<ExchangeRate>() {
            public ExchangeRate parsePartialFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
                return new ExchangeRate(codedInputStream, extensionRegistryLite);
            }
        };
        private static final ExchangeRate defaultInstance;
        private static final long serialVersionUID = 0;
        private int bitField0_;
        private long coinValue_;
        private Object fiatCurrencyCode_;
        private long fiatValue_;
        private byte memoizedIsInitialized;
        private int memoizedSerializedSize;
        private final UnknownFieldSet unknownFields;

        private ExchangeRate(GeneratedMessage.Builder<?> builder) {
            super(builder);
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = builder.getUnknownFields();
        }

        private ExchangeRate(boolean z) {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            this.unknownFields = UnknownFieldSet.getDefaultInstance();
        }

        public static ExchangeRate getDefaultInstance() {
            return defaultInstance;
        }

        public ExchangeRate m2223getDefaultInstanceForType() {
            return defaultInstance;
        }

        public final UnknownFieldSet getUnknownFields() {
            return this.unknownFields;
        }

        private ExchangeRate(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            this.memoizedIsInitialized = (byte) -1;
            this.memoizedSerializedSize = -1;
            initFields();
            UnknownFieldSet.Builder newBuilder = UnknownFieldSet.newBuilder();
            boolean z = false;
            while (!z) {
                try {
                    try {
                        int readTag = codedInputStream.readTag();
                        if (readTag != 0) {
                            if (readTag == 8) {
                                this.bitField0_ |= 1;
                                this.coinValue_ = codedInputStream.readInt64();
                            } else if (readTag == 16) {
                                this.bitField0_ |= 2;
                                this.fiatValue_ = codedInputStream.readInt64();
                            } else if (readTag != 26) {
                                if (!parseUnknownField(codedInputStream, newBuilder, extensionRegistryLite, readTag)) {
                                }
                            } else {
                                ByteString readBytes = codedInputStream.readBytes();
                                this.bitField0_ |= 4;
                                this.fiatCurrencyCode_ = readBytes;
                            }
                        }
                        z = true;
                    } catch (InvalidProtocolBufferException e) {
                        throw e.setUnfinishedMessage(this);
                    } catch (IOException e2) {
                        throw new InvalidProtocolBufferException(e2.getMessage()).setUnfinishedMessage(this);
                    }
                } finally {
                    this.unknownFields = newBuilder.build();
                    makeExtensionsImmutable();
                }
            }
        }

        public static final Descriptors.Descriptor getDescriptor() {
            return Protos.internal_static_wallet_ExchangeRate_descriptor;
        }

        protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
            return Protos.internal_static_wallet_ExchangeRate_fieldAccessorTable.ensureFieldAccessorsInitialized(ExchangeRate.class, Builder.class);
        }

        static {
            ExchangeRate exchangeRate = new ExchangeRate(true);
            defaultInstance = exchangeRate;
            exchangeRate.initFields();
        }

        public Parser<ExchangeRate> getParserForType() {
            return PARSER;
        }

        @Override
        public boolean hasCoinValue() {
            return (this.bitField0_ & 1) == 1;
        }

        @Override
        public long getCoinValue() {
            return this.coinValue_;
        }

        @Override
        public boolean hasFiatValue() {
            return (this.bitField0_ & 2) == 2;
        }

        @Override
        public long getFiatValue() {
            return this.fiatValue_;
        }

        @Override
        public boolean hasFiatCurrencyCode() {
            return (this.bitField0_ & 4) == 4;
        }

        @Override
        public String getFiatCurrencyCode() {
            Object obj = this.fiatCurrencyCode_;
            if (obj instanceof String) {
                return (String) obj;
            }
            ByteString byteString = (ByteString) obj;
            String stringUtf8 = byteString.toStringUtf8();
            if (byteString.isValidUtf8()) {
                this.fiatCurrencyCode_ = stringUtf8;
            }
            return stringUtf8;
        }

        @Override
        public ByteString getFiatCurrencyCodeBytes() {
            Object obj = this.fiatCurrencyCode_;
            if (obj instanceof String) {
                ByteString copyFromUtf8 = ByteString.copyFromUtf8((String) obj);
                this.fiatCurrencyCode_ = copyFromUtf8;
                return copyFromUtf8;
            }
            return (ByteString) obj;
        }

        private void initFields() {
            this.coinValue_ = 0L;
            this.fiatValue_ = 0L;
            this.fiatCurrencyCode_ = "";
        }

        public final boolean isInitialized() {
            byte b = this.memoizedIsInitialized;
            if (b == 1) {
                return true;
            }
            if (b == 0) {
                return false;
            }
            if (!hasCoinValue()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            if (!hasFiatValue()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            if (!hasFiatCurrencyCode()) {
                this.memoizedIsInitialized = (byte) 0;
                return false;
            }
            this.memoizedIsInitialized = (byte) 1;
            return true;
        }

        public void writeTo(CodedOutputStream codedOutputStream) throws IOException {
            getSerializedSize();
            if ((this.bitField0_ & 1) == 1) {
                codedOutputStream.writeInt64(1, this.coinValue_);
            }
            if ((this.bitField0_ & 2) == 2) {
                codedOutputStream.writeInt64(2, this.fiatValue_);
            }
            if ((this.bitField0_ & 4) == 4) {
                codedOutputStream.writeBytes(3, getFiatCurrencyCodeBytes());
            }
            getUnknownFields().writeTo(codedOutputStream);
        }

        public int getSerializedSize() {
            int i = this.memoizedSerializedSize;
            if (i != -1) {
                return i;
            }
            int computeInt64Size = (this.bitField0_ & 1) == 1 ? 0 + CodedOutputStream.computeInt64Size(1, this.coinValue_) : 0;
            if ((this.bitField0_ & 2) == 2) {
                computeInt64Size += CodedOutputStream.computeInt64Size(2, this.fiatValue_);
            }
            if ((this.bitField0_ & 4) == 4) {
                computeInt64Size += CodedOutputStream.computeBytesSize(3, getFiatCurrencyCodeBytes());
            }
            int serializedSize = computeInt64Size + getUnknownFields().getSerializedSize();
            this.memoizedSerializedSize = serializedSize;
            return serializedSize;
        }

        protected Object writeReplace() throws ObjectStreamException {
            return super.writeReplace();
        }

        public static ExchangeRate parseFrom(ByteString byteString) throws InvalidProtocolBufferException {
            return (ExchangeRate) PARSER.parseFrom(byteString);
        }

        public static ExchangeRate parseFrom(ByteString byteString, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (ExchangeRate) PARSER.parseFrom(byteString, extensionRegistryLite);
        }

        public static ExchangeRate parseFrom(byte[] bArr) throws InvalidProtocolBufferException {
            return (ExchangeRate) PARSER.parseFrom(bArr);
        }

        public static ExchangeRate parseFrom(byte[] bArr, ExtensionRegistryLite extensionRegistryLite) throws InvalidProtocolBufferException {
            return (ExchangeRate) PARSER.parseFrom(bArr, extensionRegistryLite);
        }

        public static ExchangeRate parseFrom(InputStream inputStream) throws IOException {
            return (ExchangeRate) PARSER.parseFrom(inputStream);
        }

        public static ExchangeRate parseFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (ExchangeRate) PARSER.parseFrom(inputStream, extensionRegistryLite);
        }

        public static ExchangeRate parseDelimitedFrom(InputStream inputStream) throws IOException {
            return (ExchangeRate) PARSER.parseDelimitedFrom(inputStream);
        }

        public static ExchangeRate parseDelimitedFrom(InputStream inputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (ExchangeRate) PARSER.parseDelimitedFrom(inputStream, extensionRegistryLite);
        }

        public static ExchangeRate parseFrom(CodedInputStream codedInputStream) throws IOException {
            return (ExchangeRate) PARSER.parseFrom(codedInputStream);
        }

        public static ExchangeRate parseFrom(CodedInputStream codedInputStream, ExtensionRegistryLite extensionRegistryLite) throws IOException {
            return (ExchangeRate) PARSER.parseFrom(codedInputStream, extensionRegistryLite);
        }

        public static Builder newBuilder() {
            return Builder.create();
        }

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

        public static Builder newBuilder(ExchangeRate exchangeRate) {
            return newBuilder().mergeFrom(exchangeRate);
        }

        public Builder m2228toBuilder() {
            return newBuilder(this);
        }

        public Builder newBuilderForType(GeneratedMessage.BuilderParent builderParent) {
            return new Builder(builderParent);
        }

        public static final class Builder extends GeneratedMessage.Builder<Builder> implements ExchangeRateOrBuilder {
            private int bitField0_;
            private long coinValue_;
            private Object fiatCurrencyCode_;
            private long fiatValue_;

            public static final Descriptors.Descriptor getDescriptor() {
                return Protos.internal_static_wallet_ExchangeRate_descriptor;
            }

            protected GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable() {
                return Protos.internal_static_wallet_ExchangeRate_fieldAccessorTable.ensureFieldAccessorsInitialized(ExchangeRate.class, Builder.class);
            }

            private Builder() {
                this.fiatCurrencyCode_ = "";
                maybeForceBuilderInitialization();
            }

            private Builder(GeneratedMessage.BuilderParent builderParent) {
                super(builderParent);
                this.fiatCurrencyCode_ = "";
                maybeForceBuilderInitialization();
            }

            private void maybeForceBuilderInitialization() {
                boolean unused = ExchangeRate.alwaysUseFieldBuilders;
            }

            public static Builder create() {
                return new Builder();
            }

            public Builder m2237clear() {
                super.clear();
                this.coinValue_ = 0L;
                int i = this.bitField0_ & (-2);
                this.bitField0_ = i;
                this.fiatValue_ = 0L;
                int i2 = i & (-3);
                this.bitField0_ = i2;
                this.fiatCurrencyCode_ = "";
                this.bitField0_ = i2 & (-5);
                return this;
            }

            public Builder m2243clone() {
                return create().mergeFrom(m2233buildPartial());
            }

            public Descriptors.Descriptor getDescriptorForType() {
                return Protos.internal_static_wallet_ExchangeRate_descriptor;
            }

            public ExchangeRate m2245getDefaultInstanceForType() {
                return ExchangeRate.getDefaultInstance();
            }

            public ExchangeRate m2231build() {
                ExchangeRate m2233buildPartial = m2233buildPartial();
                if (m2233buildPartial.isInitialized()) {
                    return m2233buildPartial;
                }
                throw newUninitializedMessageException(m2233buildPartial);
            }

            public ExchangeRate m2233buildPartial() {
                ExchangeRate exchangeRate = new ExchangeRate(this);
                int i = this.bitField0_;
                int i2 = (i & 1) != 1 ? 0 : 1;
                exchangeRate.coinValue_ = this.coinValue_;
                if ((i & 2) == 2) {
                    i2 |= 2;
                }
                exchangeRate.fiatValue_ = this.fiatValue_;
                if ((i & 4) == 4) {
                    i2 |= 4;
                }
                exchangeRate.fiatCurrencyCode_ = this.fiatCurrencyCode_;
                exchangeRate.bitField0_ = i2;
                onBuilt();
                return exchangeRate;
            }

            public Builder m2249mergeFrom(Message message) {
                if (message instanceof ExchangeRate) {
                    return mergeFrom((ExchangeRate) message);
                }
                super.mergeFrom(message);
                return this;
            }

            public Builder mergeFrom(ExchangeRate exchangeRate) {
                if (exchangeRate == ExchangeRate.getDefaultInstance()) {
                    return this;
                }
                if (exchangeRate.hasCoinValue()) {
                    setCoinValue(exchangeRate.getCoinValue());
                }
                if (exchangeRate.hasFiatValue()) {
                    setFiatValue(exchangeRate.getFiatValue());
                }
                if (exchangeRate.hasFiatCurrencyCode()) {
                    this.bitField0_ |= 4;
                    this.fiatCurrencyCode_ = exchangeRate.fiatCurrencyCode_;
                    onChanged();
                }
                mergeUnknownFields(exchangeRate.getUnknownFields());
                return this;
            }

            public final boolean isInitialized() {
                return hasCoinValue() && hasFiatValue() && hasFiatCurrencyCode();
            }

            public org.bitcoinj.wallet.Protos.ExchangeRate.Builder m2250mergeFrom(com.google.protobuf.CodedInputStream r3, com.google.protobuf.ExtensionRegistryLite r4) throws java.io.IOException {
                throw new UnsupportedOperationException("Method not decompiled: org.bitcoinj.wallet.Protos.ExchangeRate.Builder.m2250mergeFrom(com.google.protobuf.CodedInputStream, com.google.protobuf.ExtensionRegistryLite):org.bitcoinj.wallet.Protos$ExchangeRate$Builder");
            }

            @Override
            public boolean hasCoinValue() {
                return (this.bitField0_ & 1) == 1;
            }

            @Override
            public long getCoinValue() {
                return this.coinValue_;
            }

            public Builder setCoinValue(long j) {
                this.bitField0_ |= 1;
                this.coinValue_ = j;
                onChanged();
                return this;
            }

            public Builder clearCoinValue() {
                this.bitField0_ &= -2;
                this.coinValue_ = 0L;
                onChanged();
                return this;
            }

            @Override
            public boolean hasFiatValue() {
                return (this.bitField0_ & 2) == 2;
            }

            @Override
            public long getFiatValue() {
                return this.fiatValue_;
            }

            public Builder setFiatValue(long j) {
                this.bitField0_ |= 2;
                this.fiatValue_ = j;
                onChanged();
                return this;
            }

            public Builder clearFiatValue() {
                this.bitField0_ &= -3;
                this.fiatValue_ = 0L;
                onChanged();
                return this;
            }

            @Override
            public boolean hasFiatCurrencyCode() {
                return (this.bitField0_ & 4) == 4;
            }

            @Override
            public String getFiatCurrencyCode() {
                Object obj = this.fiatCurrencyCode_;
                if (!(obj instanceof String)) {
                    ByteString byteString = (ByteString) obj;
                    String stringUtf8 = byteString.toStringUtf8();
                    if (byteString.isValidUtf8()) {
                        this.fiatCurrencyCode_ = stringUtf8;
                    }
                    return stringUtf8;
                }
                return (String) obj;
            }

            @Override
            public ByteString getFiatCurrencyCodeBytes() {
                Object obj = this.fiatCurrencyCode_;
                if (obj instanceof String) {
                    ByteString copyFromUtf8 = ByteString.copyFromUtf8((String) obj);
                    this.fiatCurrencyCode_ = copyFromUtf8;
                    return copyFromUtf8;
                }
                return (ByteString) obj;
            }

            public Builder setFiatCurrencyCode(String str) {
                if (str == null) {
                    throw null;
                }
                this.bitField0_ |= 4;
                this.fiatCurrencyCode_ = str;
                onChanged();
                return this;
            }

            public Builder clearFiatCurrencyCode() {
                this.bitField0_ &= -5;
                this.fiatCurrencyCode_ = ExchangeRate.getDefaultInstance().getFiatCurrencyCode();
                onChanged();
                return this;
            }

            public Builder setFiatCurrencyCodeBytes(ByteString byteString) {
                if (byteString == null) {
                    throw null;
                }
                this.bitField0_ |= 4;
                this.fiatCurrencyCode_ = byteString;
                onChanged();
                return this;
            }
        }
    }

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

    static {
        Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(new String[]{"\n\fwallet.proto\u0012\u0006wallet\"A\n\u000bPeerAddress\u0012\u0012\n\nip_address\u0018\u0001 \u0002(\f\u0012\f\n\u0004port\u0018\u0002 \u0002(\r\u0012\u0010\n\bservices\u0018\u0003 \u0002(\u0004\"M\n\rEncryptedData\u0012\u001d\n\u0015initialisation_vector\u0018\u0001 \u0002(\f\u0012\u001d\n\u0015encrypted_private_key\u0018\u0002 \u0002(\f\"\u0099\u0001\n\u0010DeterministicKey\u0012\u0012\n\nchain_code\u0018\u0001 \u0002(\f\u0012\f\n\u0004path\u0018\u0002 \u0003(\r\u0012\u0016\n\u000eissued_subkeys\u0018\u0003 \u0001(\r\u0012\u0016\n\u000elookahead_size\u0018\u0004 \u0001(\r\u0012\u0013\n\u000bisFollowing\u0018\u0005 \u0001(\b\u0012\u001e\n\u0013sigsRequiredToSpend\u0018\u0006 \u0001(\r:\u00011\"\u009a\u0003\n\u0003Key\u0012\u001e\n\u0004type\u0018\u0001 \u0002(\u000e2\u0010.wallet.Key.Type\u0012\u0014\n\fsecret_bytes\u0018\u0002 \u0001(\f\u0012-\n\u000eencrypted_", "data\u0018\u0006 \u0001(\u000b2\u0015.wallet.EncryptedData\u0012\u0012\n\npublic_key\u0018\u0003 \u0001(\f\u0012\r\n\u0005label\u0018\u0004 \u0001(\t\u0012\u001a\n\u0012creation_timestamp\u0018\u0005 \u0001(\u0003\u00123\n\u0011deterministic_key\u0018\u0007 \u0001(\u000b2\u0018.wallet.DeterministicKey\u0012\u001a\n\u0012deterministic_seed\u0018\b \u0001(\f\u0012;\n\u001cencrypted_deterministic_seed\u0018\t \u0001(\u000b2\u0015.wallet.EncryptedData\"a\n\u0004Type\u0012\f\n\bORIGINAL\u0010\u0001\u0012\u0018\n\u0014ENCRYPTED_SCRYPT_AES\u0010\u0002\u0012\u001a\n\u0016DETERMINISTIC_MNEMONIC\u0010\u0003\u0012\u0015\n\u0011DETERMINISTIC_KEY\u0010\u0004\"5\n\u0006Script\u0012\u000f\n\u0007program\u0018\u0001 \u0002(\f\u0012\u001a\n\u0012creation_timestamp\u0018\u0002 \u0002(\u0003\"\u0092\u0001\n\u0010Tra", "nsactionInput\u0012\"\n\u001atransaction_out_point_hash\u0018\u0001 \u0002(\f\u0012#\n\u001btransaction_out_point_index\u0018\u0002 \u0002(\r\u0012\u0014\n\fscript_bytes\u0018\u0003 \u0002(\f\u0012\u0010\n\bsequence\u0018\u0004 \u0001(\r\u0012\r\n\u0005value\u0018\u0005 \u0001(\u0003\"\u007f\n\u0011TransactionOutput\u0012\r\n\u0005value\u0018\u0001 \u0002(\u0003\u0012\u0014\n\fscript_bytes\u0018\u0002 \u0002(\f\u0012!\n\u0019spent_by_transaction_hash\u0018\u0003 \u0001(\f\u0012\"\n\u001aspent_by_transaction_index\u0018\u0004 \u0001(\u0005\"·\u0003\n\u0015TransactionConfidence\u00120\n\u0004type\u0018\u0001 \u0001(\u000e2\".wallet.TransactionConfidence.Type\u0012\u001a\n\u0012appeared_at_height\u0018\u0002 \u0001(\u0005\u0012\u001e\n\u0016overriding_transaction", "\u0018\u0003 \u0001(\f\u0012\r\n\u0005depth\u0018\u0004 \u0001(\u0005\u0012)\n\fbroadcast_by\u0018\u0006 \u0003(\u000b2\u0013.wallet.PeerAddress\u0012\u001b\n\u0013last_broadcasted_at\u0018\b \u0001(\u0003\u00124\n\u0006source\u0018\u0007 \u0001(\u000e2$.wallet.TransactionConfidence.Source\"`\n\u0004Type\u0012\u000b\n\u0007UNKNOWN\u0010\u0000\u0012\f\n\bBUILDING\u0010\u0001\u0012\u000b\n\u0007PENDING\u0010\u0002\u0012\u0015\n\u0011NOT_IN_BEST_CHAIN\u0010\u0003\u0012\b\n\u0004DEAD\u0010\u0004\u0012\u000f\n\u000bIN_CONFLICT\u0010\u0005\"A\n\u0006Source\u0012\u0012\n\u000eSOURCE_UNKNOWN\u0010\u0000\u0012\u0012\n\u000eSOURCE_NETWORK\u0010\u0001\u0012\u000f\n\u000bSOURCE_SELF\u0010\u0002\"Ã\u0005\n\u000bTransaction\u0012\u000f\n\u0007version\u0018\u0001 \u0002(\u0005\u0012\f\n\u0004hash\u0018\u0002 \u0002(\f\u0012&\n\u0004pool\u0018\u0003 \u0001(\u000e2\u0018.wallet.Transaction.Pool\u0012", "\u0011\n\tlock_time\u0018\u0004 \u0001(\r\u0012\u0012\n\nupdated_at\u0018\u0005 \u0001(\u0003\u00123\n\u0011transaction_input\u0018\u0006 \u0003(\u000b2\u0018.wallet.TransactionInput\u00125\n\u0012transaction_output\u0018\u0007 \u0003(\u000b2\u0019.wallet.TransactionOutput\u0012\u0012\n\nblock_hash\u0018\b \u0003(\f\u0012 \n\u0018block_relativity_offsets\u0018\u000b \u0003(\u0005\u00121\n\nconfidence\u0018\t \u0001(\u000b2\u001d.wallet.TransactionConfidence\u00125\n\u0007purpose\u0018\n \u0001(\u000e2\u001b.wallet.Transaction.Purpose:\u0007UNKNOWN\u0012+\n\rexchange_rate\u0018\f \u0001(\u000b2\u0014.wallet.ExchangeRate\u0012\f\n\u0004memo\u0018\r \u0001(\t\"Y\n\u0004Pool\u0012\u000b\n\u0007UNSPENT\u0010\u0004\u0012\t\n\u0005SPENT\u0010\u0005\u0012\f\n", "\bINACTIVE\u0010\u0002\u0012\b\n\u0004DEAD\u0010\n\u0012\u000b\n\u0007PENDING\u0010\u0010\u0012\u0014\n\u0010PENDING_INACTIVE\u0010\u0012\"£\u0001\n\u0007Purpose\u0012\u000b\n\u0007UNKNOWN\u0010\u0000\u0012\u0010\n\fUSER_PAYMENT\u0010\u0001\u0012\u0010\n\fKEY_ROTATION\u0010\u0002\u0012\u001c\n\u0018ASSURANCE_CONTRACT_CLAIM\u0010\u0003\u0012\u001d\n\u0019ASSURANCE_CONTRACT_PLEDGE\u0010\u0004\u0012\u001b\n\u0017ASSURANCE_CONTRACT_STUB\u0010\u0005\u0012\r\n\tRAISE_FEE\u0010\u0006\"N\n\u0010ScryptParameters\u0012\f\n\u0004salt\u0018\u0001 \u0002(\f\u0012\u0010\n\u0001n\u0018\u0002 \u0001(\u0003:\u000516384\u0012\f\n\u0001r\u0018\u0003 \u0001(\u0005:\u00018\u0012\f\n\u0001p\u0018\u0004 \u0001(\u0005:\u00011\"8\n\tExtension\u0012\n\n\u0002id\u0018\u0001 \u0002(\t\u0012\f\n\u0004data\u0018\u0002 \u0002(\f\u0012\u0011\n\tmandatory\u0018\u0003 \u0002(\b\" \n\u0003Tag\u0012\u000b\n\u0003tag\u0018\u0001 \u0002(\t\u0012\f\n\u0004data\u0018\u0002 \u0002(\f\"5\n\u0011Tr", "ansactionSigner\u0012\u0012\n\nclass_name\u0018\u0001 \u0002(\t\u0012\f\n\u0004data\u0018\u0002 \u0001(\f\"é\u0004\n\u0006Wallet\u0012\u001a\n\u0012network_identifier\u0018\u0001 \u0002(\t\u0012\u001c\n\u0014last_seen_block_hash\u0018\u0002 \u0001(\f\u0012\u001e\n\u0016last_seen_block_height\u0018\f \u0001(\r\u0012!\n\u0019last_seen_block_time_secs\u0018\u000e \u0001(\u0003\u0012\u0018\n\u0003key\u0018\u0003 \u0003(\u000b2\u000b.wallet.Key\u0012(\n\u000btransaction\u0018\u0004 \u0003(\u000b2\u0013.wallet.Transaction\u0012&\n\u000ewatched_script\u0018\u000f \u0003(\u000b2\u000e.wallet.Script\u0012C\n\u000fencryption_type\u0018\u0005 \u0001(\u000e2\u001d.wallet.Wallet.EncryptionType:\u000bUNENCRYPTED\u00127\n\u0015encryption_parameters\u0018\u0006 \u0001(\u000b2\u0018.wall", "et.ScryptParameters\u0012\u0012\n\u0007version\u0018\u0007 \u0001(\u0005:\u00011\u0012$\n\textension\u0018\n \u0003(\u000b2\u0011.wallet.Extension\u0012\u0013\n\u000bdescription\u0018\u000b \u0001(\t\u0012\u0019\n\u0011key_rotation_time\u0018\r \u0001(\u0004\u0012\u0019\n\u0004tags\u0018\u0010 \u0003(\u000b2\u000b.wallet.Tag\u00126\n\u0013transaction_signers\u0018\u0011 \u0003(\u000b2\u0019.wallet.TransactionSigner\";\n\u000eEncryptionType\u0012\u000f\n\u000bUNENCRYPTED\u0010\u0001\u0012\u0018\n\u0014ENCRYPTED_SCRYPT_AES\u0010\u0002\"R\n\fExchangeRate\u0012\u0012\n\ncoin_value\u0018\u0001 \u0002(\u0003\u0012\u0012\n\nfiat_value\u0018\u0002 \u0002(\u0003\u0012\u001a\n\u0012fiat_currency_code\u0018\u0003 \u0002(\tB\u001d\n\u0013org.bitcoinj.walletB\u0006Protos"}, new Descriptors.FileDescriptor[0], new Descriptors.FileDescriptor.InternalDescriptorAssigner() {
            public ExtensionRegistry assignDescriptors(Descriptors.FileDescriptor fileDescriptor) {
                Descriptors.FileDescriptor unused = Protos.descriptor = fileDescriptor;
                return null;
            }
        });
        Descriptors.Descriptor descriptor2 = (Descriptors.Descriptor) getDescriptor().getMessageTypes().get(0);
        internal_static_wallet_PeerAddress_descriptor = descriptor2;
        internal_static_wallet_PeerAddress_fieldAccessorTable = new GeneratedMessage.FieldAccessorTable(descriptor2, new String[]{"IpAddress", "Port", "Services"});
        Descriptors.Descriptor descriptor3 = (Descriptors.Descriptor) getDescriptor().getMessageTypes().get(1);
        internal_static_wallet_EncryptedData_descriptor = descriptor3;
        internal_static_wallet_EncryptedData_fieldAccessorTable = new GeneratedMessage.FieldAccessorTable(descriptor3, new String[]{"InitialisationVector", "EncryptedPrivateKey"});
        Descriptors.Descriptor descriptor4 = (Descriptors.Descriptor) getDescriptor().getMessageTypes().get(2);
        internal_static_wallet_DeterministicKey_descriptor = descriptor4;
        internal_static_wallet_DeterministicKey_fieldAccessorTable = new GeneratedMessage.FieldAccessorTable(descriptor4, new String[]{"ChainCode", "Path", "IssuedSubkeys", "LookaheadSize", "IsFollowing", "SigsRequiredToSpend"});
        Descriptors.Descriptor descriptor5 = (Descriptors.Descriptor) getDescriptor().getMessageTypes().get(3);
        internal_static_wallet_Key_descriptor = descriptor5;
        internal_static_wallet_Key_fieldAccessorTable = new GeneratedMessage.FieldAccessorTable(descriptor5, new String[]{"Type", "SecretBytes", "EncryptedData", "PublicKey", "Label", "CreationTimestamp", "DeterministicKey", "DeterministicSeed", "EncryptedDeterministicSeed"});
        Descriptors.Descriptor descriptor6 = (Descriptors.Descriptor) getDescriptor().getMessageTypes().get(4);
        internal_static_wallet_Script_descriptor = descriptor6;
        internal_static_wallet_Script_fieldAccessorTable = new GeneratedMessage.FieldAccessorTable(descriptor6, new String[]{"Program", "CreationTimestamp"});
        Descriptors.Descriptor descriptor7 = (Descriptors.Descriptor) getDescriptor().getMessageTypes().get(5);
        internal_static_wallet_TransactionInput_descriptor = descriptor7;
        internal_static_wallet_TransactionInput_fieldAccessorTable = new GeneratedMessage.FieldAccessorTable(descriptor7, new String[]{"TransactionOutPointHash", "TransactionOutPointIndex", "ScriptBytes", "Sequence", "Value"});
        Descriptors.Descriptor descriptor8 = (Descriptors.Descriptor) getDescriptor().getMessageTypes().get(6);
        internal_static_wallet_TransactionOutput_descriptor = descriptor8;
        internal_static_wallet_TransactionOutput_fieldAccessorTable = new GeneratedMessage.FieldAccessorTable(descriptor8, new String[]{"Value", "ScriptBytes", "SpentByTransactionHash", "SpentByTransactionIndex"});
        Descriptors.Descriptor descriptor9 = (Descriptors.Descriptor) getDescriptor().getMessageTypes().get(7);
        internal_static_wallet_TransactionConfidence_descriptor = descriptor9;
        internal_static_wallet_TransactionConfidence_fieldAccessorTable = new GeneratedMessage.FieldAccessorTable(descriptor9, new String[]{"Type", "AppearedAtHeight", "OverridingTransaction", "Depth", "BroadcastBy", "LastBroadcastedAt", "Source"});
        Descriptors.Descriptor descriptor10 = (Descriptors.Descriptor) getDescriptor().getMessageTypes().get(8);
        internal_static_wallet_Transaction_descriptor = descriptor10;
        internal_static_wallet_Transaction_fieldAccessorTable = new GeneratedMessage.FieldAccessorTable(descriptor10, new String[]{"Version", "Hash", "Pool", "LockTime", "UpdatedAt", "TransactionInput", "TransactionOutput", "BlockHash", "BlockRelativityOffsets", "Confidence", "Purpose", "ExchangeRate", "Memo"});
        Descriptors.Descriptor descriptor11 = (Descriptors.Descriptor) getDescriptor().getMessageTypes().get(9);
        internal_static_wallet_ScryptParameters_descriptor = descriptor11;
        internal_static_wallet_ScryptParameters_fieldAccessorTable = new GeneratedMessage.FieldAccessorTable(descriptor11, new String[]{"Salt", "N", "R", "P"});
        Descriptors.Descriptor descriptor12 = (Descriptors.Descriptor) getDescriptor().getMessageTypes().get(10);
        internal_static_wallet_Extension_descriptor = descriptor12;
        internal_static_wallet_Extension_fieldAccessorTable = new GeneratedMessage.FieldAccessorTable(descriptor12, new String[]{"Id", "Data", "Mandatory"});
        Descriptors.Descriptor descriptor13 = (Descriptors.Descriptor) getDescriptor().getMessageTypes().get(11);
        internal_static_wallet_Tag_descriptor = descriptor13;
        internal_static_wallet_Tag_fieldAccessorTable = new GeneratedMessage.FieldAccessorTable(descriptor13, new String[]{"Tag", "Data"});
        Descriptors.Descriptor descriptor14 = (Descriptors.Descriptor) getDescriptor().getMessageTypes().get(12);
        internal_static_wallet_TransactionSigner_descriptor = descriptor14;
        internal_static_wallet_TransactionSigner_fieldAccessorTable = new GeneratedMessage.FieldAccessorTable(descriptor14, new String[]{"ClassName", "Data"});
        Descriptors.Descriptor descriptor15 = (Descriptors.Descriptor) getDescriptor().getMessageTypes().get(13);
        internal_static_wallet_Wallet_descriptor = descriptor15;
        internal_static_wallet_Wallet_fieldAccessorTable = new GeneratedMessage.FieldAccessorTable(descriptor15, new String[]{"NetworkIdentifier", "LastSeenBlockHash", "LastSeenBlockHeight", "LastSeenBlockTimeSecs", "Key", "Transaction", "WatchedScript", "EncryptionType", "EncryptionParameters", "Version", "Extension", "Description", "KeyRotationTime", "Tags", "TransactionSigners"});
        Descriptors.Descriptor descriptor16 = (Descriptors.Descriptor) getDescriptor().getMessageTypes().get(14);
        internal_static_wallet_ExchangeRate_descriptor = descriptor16;
        internal_static_wallet_ExchangeRate_fieldAccessorTable = new GeneratedMessage.FieldAccessorTable(descriptor16, new String[]{"CoinValue", "FiatValue", "FiatCurrencyCode"});
    }
}