lightwalletd/walletrpc/service.pb.go

1256 lines
44 KiB
Go

// Code generated by protoc-gen-go. DO NOT EDIT.
// source: service.proto
package walletrpc
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// A BlockID message contains identifiers to select a block: a height or a
// hash. Specification by hash is not implemented, but may be in the future.
type BlockID struct {
Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
Hash []byte `protobuf:"bytes,2,opt,name=hash,proto3" json:"hash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *BlockID) Reset() { *m = BlockID{} }
func (m *BlockID) String() string { return proto.CompactTextString(m) }
func (*BlockID) ProtoMessage() {}
func (*BlockID) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{0}
}
func (m *BlockID) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlockID.Unmarshal(m, b)
}
func (m *BlockID) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_BlockID.Marshal(b, m, deterministic)
}
func (m *BlockID) XXX_Merge(src proto.Message) {
xxx_messageInfo_BlockID.Merge(m, src)
}
func (m *BlockID) XXX_Size() int {
return xxx_messageInfo_BlockID.Size(m)
}
func (m *BlockID) XXX_DiscardUnknown() {
xxx_messageInfo_BlockID.DiscardUnknown(m)
}
var xxx_messageInfo_BlockID proto.InternalMessageInfo
func (m *BlockID) GetHeight() uint64 {
if m != nil {
return m.Height
}
return 0
}
func (m *BlockID) GetHash() []byte {
if m != nil {
return m.Hash
}
return nil
}
// BlockRange specifies a series of blocks from start to end inclusive.
// Both BlockIDs must be heights; specification by hash is not yet supported.
type BlockRange struct {
Start *BlockID `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
End *BlockID `protobuf:"bytes,2,opt,name=end,proto3" json:"end,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *BlockRange) Reset() { *m = BlockRange{} }
func (m *BlockRange) String() string { return proto.CompactTextString(m) }
func (*BlockRange) ProtoMessage() {}
func (*BlockRange) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{1}
}
func (m *BlockRange) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_BlockRange.Unmarshal(m, b)
}
func (m *BlockRange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_BlockRange.Marshal(b, m, deterministic)
}
func (m *BlockRange) XXX_Merge(src proto.Message) {
xxx_messageInfo_BlockRange.Merge(m, src)
}
func (m *BlockRange) XXX_Size() int {
return xxx_messageInfo_BlockRange.Size(m)
}
func (m *BlockRange) XXX_DiscardUnknown() {
xxx_messageInfo_BlockRange.DiscardUnknown(m)
}
var xxx_messageInfo_BlockRange proto.InternalMessageInfo
func (m *BlockRange) GetStart() *BlockID {
if m != nil {
return m.Start
}
return nil
}
func (m *BlockRange) GetEnd() *BlockID {
if m != nil {
return m.End
}
return nil
}
// A TxFilter contains the information needed to identify a particular
// transaction: either a block and an index, or a direct transaction hash.
// Currently, only specification by hash is supported.
type TxFilter struct {
Block *BlockID `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"`
Index uint64 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
Hash []byte `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TxFilter) Reset() { *m = TxFilter{} }
func (m *TxFilter) String() string { return proto.CompactTextString(m) }
func (*TxFilter) ProtoMessage() {}
func (*TxFilter) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{2}
}
func (m *TxFilter) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TxFilter.Unmarshal(m, b)
}
func (m *TxFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TxFilter.Marshal(b, m, deterministic)
}
func (m *TxFilter) XXX_Merge(src proto.Message) {
xxx_messageInfo_TxFilter.Merge(m, src)
}
func (m *TxFilter) XXX_Size() int {
return xxx_messageInfo_TxFilter.Size(m)
}
func (m *TxFilter) XXX_DiscardUnknown() {
xxx_messageInfo_TxFilter.DiscardUnknown(m)
}
var xxx_messageInfo_TxFilter proto.InternalMessageInfo
func (m *TxFilter) GetBlock() *BlockID {
if m != nil {
return m.Block
}
return nil
}
func (m *TxFilter) GetIndex() uint64 {
if m != nil {
return m.Index
}
return 0
}
func (m *TxFilter) GetHash() []byte {
if m != nil {
return m.Hash
}
return nil
}
// RawTransaction contains the complete transaction data. It also optionally includes
// the block height in which the transaction was included.
type RawTransaction struct {
Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *RawTransaction) Reset() { *m = RawTransaction{} }
func (m *RawTransaction) String() string { return proto.CompactTextString(m) }
func (*RawTransaction) ProtoMessage() {}
func (*RawTransaction) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{3}
}
func (m *RawTransaction) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_RawTransaction.Unmarshal(m, b)
}
func (m *RawTransaction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_RawTransaction.Marshal(b, m, deterministic)
}
func (m *RawTransaction) XXX_Merge(src proto.Message) {
xxx_messageInfo_RawTransaction.Merge(m, src)
}
func (m *RawTransaction) XXX_Size() int {
return xxx_messageInfo_RawTransaction.Size(m)
}
func (m *RawTransaction) XXX_DiscardUnknown() {
xxx_messageInfo_RawTransaction.DiscardUnknown(m)
}
var xxx_messageInfo_RawTransaction proto.InternalMessageInfo
func (m *RawTransaction) GetData() []byte {
if m != nil {
return m.Data
}
return nil
}
func (m *RawTransaction) GetHeight() uint64 {
if m != nil {
return m.Height
}
return 0
}
// A SendResponse encodes an error code and a string. It is currently used
// only by SendTransaction(). If error code is zero, the operation was
// successful; if non-zero, it and the message specify the failure.
type SendResponse struct {
ErrorCode int32 `protobuf:"varint,1,opt,name=errorCode,proto3" json:"errorCode,omitempty"`
ErrorMessage string `protobuf:"bytes,2,opt,name=errorMessage,proto3" json:"errorMessage,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *SendResponse) Reset() { *m = SendResponse{} }
func (m *SendResponse) String() string { return proto.CompactTextString(m) }
func (*SendResponse) ProtoMessage() {}
func (*SendResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{4}
}
func (m *SendResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendResponse.Unmarshal(m, b)
}
func (m *SendResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_SendResponse.Marshal(b, m, deterministic)
}
func (m *SendResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_SendResponse.Merge(m, src)
}
func (m *SendResponse) XXX_Size() int {
return xxx_messageInfo_SendResponse.Size(m)
}
func (m *SendResponse) XXX_DiscardUnknown() {
xxx_messageInfo_SendResponse.DiscardUnknown(m)
}
var xxx_messageInfo_SendResponse proto.InternalMessageInfo
func (m *SendResponse) GetErrorCode() int32 {
if m != nil {
return m.ErrorCode
}
return 0
}
func (m *SendResponse) GetErrorMessage() string {
if m != nil {
return m.ErrorMessage
}
return ""
}
// Chainspec is a placeholder to allow specification of a particular chain fork.
type ChainSpec struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *ChainSpec) Reset() { *m = ChainSpec{} }
func (m *ChainSpec) String() string { return proto.CompactTextString(m) }
func (*ChainSpec) ProtoMessage() {}
func (*ChainSpec) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{5}
}
func (m *ChainSpec) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ChainSpec.Unmarshal(m, b)
}
func (m *ChainSpec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ChainSpec.Marshal(b, m, deterministic)
}
func (m *ChainSpec) XXX_Merge(src proto.Message) {
xxx_messageInfo_ChainSpec.Merge(m, src)
}
func (m *ChainSpec) XXX_Size() int {
return xxx_messageInfo_ChainSpec.Size(m)
}
func (m *ChainSpec) XXX_DiscardUnknown() {
xxx_messageInfo_ChainSpec.DiscardUnknown(m)
}
var xxx_messageInfo_ChainSpec proto.InternalMessageInfo
// Empty is for gRPCs that take no arguments, currently only GetLightdInfo.
type Empty struct {
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Empty) Reset() { *m = Empty{} }
func (m *Empty) String() string { return proto.CompactTextString(m) }
func (*Empty) ProtoMessage() {}
func (*Empty) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{6}
}
func (m *Empty) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Empty.Unmarshal(m, b)
}
func (m *Empty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Empty.Marshal(b, m, deterministic)
}
func (m *Empty) XXX_Merge(src proto.Message) {
xxx_messageInfo_Empty.Merge(m, src)
}
func (m *Empty) XXX_Size() int {
return xxx_messageInfo_Empty.Size(m)
}
func (m *Empty) XXX_DiscardUnknown() {
xxx_messageInfo_Empty.DiscardUnknown(m)
}
var xxx_messageInfo_Empty proto.InternalMessageInfo
// LightdInfo returns various information about this lightwalletd instance
// and the state of the blockchain.
type LightdInfo struct {
Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
Vendor string `protobuf:"bytes,2,opt,name=vendor,proto3" json:"vendor,omitempty"`
TaddrSupport bool `protobuf:"varint,3,opt,name=taddrSupport,proto3" json:"taddrSupport,omitempty"`
ChainName string `protobuf:"bytes,4,opt,name=chainName,proto3" json:"chainName,omitempty"`
SaplingActivationHeight uint64 `protobuf:"varint,5,opt,name=saplingActivationHeight,proto3" json:"saplingActivationHeight,omitempty"`
ConsensusBranchId string `protobuf:"bytes,6,opt,name=consensusBranchId,proto3" json:"consensusBranchId,omitempty"`
BlockHeight uint64 `protobuf:"varint,7,opt,name=blockHeight,proto3" json:"blockHeight,omitempty"`
GitCommit string `protobuf:"bytes,8,opt,name=gitCommit,proto3" json:"gitCommit,omitempty"`
Branch string `protobuf:"bytes,9,opt,name=branch,proto3" json:"branch,omitempty"`
BuildDate string `protobuf:"bytes,10,opt,name=buildDate,proto3" json:"buildDate,omitempty"`
BuildUser string `protobuf:"bytes,11,opt,name=buildUser,proto3" json:"buildUser,omitempty"`
EstimatedHeight uint64 `protobuf:"varint,12,opt,name=estimatedHeight,proto3" json:"estimatedHeight,omitempty"`
ZcashdBuild string `protobuf:"bytes,13,opt,name=zcashdBuild,proto3" json:"zcashdBuild,omitempty"`
ZcashdSubversion string `protobuf:"bytes,14,opt,name=zcashdSubversion,proto3" json:"zcashdSubversion,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *LightdInfo) Reset() { *m = LightdInfo{} }
func (m *LightdInfo) String() string { return proto.CompactTextString(m) }
func (*LightdInfo) ProtoMessage() {}
func (*LightdInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{7}
}
func (m *LightdInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LightdInfo.Unmarshal(m, b)
}
func (m *LightdInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LightdInfo.Marshal(b, m, deterministic)
}
func (m *LightdInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_LightdInfo.Merge(m, src)
}
func (m *LightdInfo) XXX_Size() int {
return xxx_messageInfo_LightdInfo.Size(m)
}
func (m *LightdInfo) XXX_DiscardUnknown() {
xxx_messageInfo_LightdInfo.DiscardUnknown(m)
}
var xxx_messageInfo_LightdInfo proto.InternalMessageInfo
func (m *LightdInfo) GetVersion() string {
if m != nil {
return m.Version
}
return ""
}
func (m *LightdInfo) GetVendor() string {
if m != nil {
return m.Vendor
}
return ""
}
func (m *LightdInfo) GetTaddrSupport() bool {
if m != nil {
return m.TaddrSupport
}
return false
}
func (m *LightdInfo) GetChainName() string {
if m != nil {
return m.ChainName
}
return ""
}
func (m *LightdInfo) GetSaplingActivationHeight() uint64 {
if m != nil {
return m.SaplingActivationHeight
}
return 0
}
func (m *LightdInfo) GetConsensusBranchId() string {
if m != nil {
return m.ConsensusBranchId
}
return ""
}
func (m *LightdInfo) GetBlockHeight() uint64 {
if m != nil {
return m.BlockHeight
}
return 0
}
func (m *LightdInfo) GetGitCommit() string {
if m != nil {
return m.GitCommit
}
return ""
}
func (m *LightdInfo) GetBranch() string {
if m != nil {
return m.Branch
}
return ""
}
func (m *LightdInfo) GetBuildDate() string {
if m != nil {
return m.BuildDate
}
return ""
}
func (m *LightdInfo) GetBuildUser() string {
if m != nil {
return m.BuildUser
}
return ""
}
func (m *LightdInfo) GetEstimatedHeight() uint64 {
if m != nil {
return m.EstimatedHeight
}
return 0
}
func (m *LightdInfo) GetZcashdBuild() string {
if m != nil {
return m.ZcashdBuild
}
return ""
}
func (m *LightdInfo) GetZcashdSubversion() string {
if m != nil {
return m.ZcashdSubversion
}
return ""
}
// TransparentAddressBlockFilter restricts the results to the given address
// or block range.
type TransparentAddressBlockFilter struct {
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
Range *BlockRange `protobuf:"bytes,2,opt,name=range,proto3" json:"range,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TransparentAddressBlockFilter) Reset() { *m = TransparentAddressBlockFilter{} }
func (m *TransparentAddressBlockFilter) String() string { return proto.CompactTextString(m) }
func (*TransparentAddressBlockFilter) ProtoMessage() {}
func (*TransparentAddressBlockFilter) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{8}
}
func (m *TransparentAddressBlockFilter) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TransparentAddressBlockFilter.Unmarshal(m, b)
}
func (m *TransparentAddressBlockFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TransparentAddressBlockFilter.Marshal(b, m, deterministic)
}
func (m *TransparentAddressBlockFilter) XXX_Merge(src proto.Message) {
xxx_messageInfo_TransparentAddressBlockFilter.Merge(m, src)
}
func (m *TransparentAddressBlockFilter) XXX_Size() int {
return xxx_messageInfo_TransparentAddressBlockFilter.Size(m)
}
func (m *TransparentAddressBlockFilter) XXX_DiscardUnknown() {
xxx_messageInfo_TransparentAddressBlockFilter.DiscardUnknown(m)
}
var xxx_messageInfo_TransparentAddressBlockFilter proto.InternalMessageInfo
func (m *TransparentAddressBlockFilter) GetAddress() string {
if m != nil {
return m.Address
}
return ""
}
func (m *TransparentAddressBlockFilter) GetRange() *BlockRange {
if m != nil {
return m.Range
}
return nil
}
// Duration is currently used only for testing, so that the Ping rpc
// can simulate a delay, to create many simultaneous connections. Units
// are microseconds.
type Duration struct {
IntervalUs int64 `protobuf:"varint,1,opt,name=intervalUs,proto3" json:"intervalUs,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Duration) Reset() { *m = Duration{} }
func (m *Duration) String() string { return proto.CompactTextString(m) }
func (*Duration) ProtoMessage() {}
func (*Duration) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{9}
}
func (m *Duration) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Duration.Unmarshal(m, b)
}
func (m *Duration) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Duration.Marshal(b, m, deterministic)
}
func (m *Duration) XXX_Merge(src proto.Message) {
xxx_messageInfo_Duration.Merge(m, src)
}
func (m *Duration) XXX_Size() int {
return xxx_messageInfo_Duration.Size(m)
}
func (m *Duration) XXX_DiscardUnknown() {
xxx_messageInfo_Duration.DiscardUnknown(m)
}
var xxx_messageInfo_Duration proto.InternalMessageInfo
func (m *Duration) GetIntervalUs() int64 {
if m != nil {
return m.IntervalUs
}
return 0
}
// PingResponse is used to indicate concurrency, how many Ping rpcs
// are executing upon entry and upon exit (after the delay).
// This rpc is used for testing only.
type PingResponse struct {
Entry int64 `protobuf:"varint,1,opt,name=entry,proto3" json:"entry,omitempty"`
Exit int64 `protobuf:"varint,2,opt,name=exit,proto3" json:"exit,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PingResponse) Reset() { *m = PingResponse{} }
func (m *PingResponse) String() string { return proto.CompactTextString(m) }
func (*PingResponse) ProtoMessage() {}
func (*PingResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{10}
}
func (m *PingResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PingResponse.Unmarshal(m, b)
}
func (m *PingResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PingResponse.Marshal(b, m, deterministic)
}
func (m *PingResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_PingResponse.Merge(m, src)
}
func (m *PingResponse) XXX_Size() int {
return xxx_messageInfo_PingResponse.Size(m)
}
func (m *PingResponse) XXX_DiscardUnknown() {
xxx_messageInfo_PingResponse.DiscardUnknown(m)
}
var xxx_messageInfo_PingResponse proto.InternalMessageInfo
func (m *PingResponse) GetEntry() int64 {
if m != nil {
return m.Entry
}
return 0
}
func (m *PingResponse) GetExit() int64 {
if m != nil {
return m.Exit
}
return 0
}
type Address struct {
Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Address) Reset() { *m = Address{} }
func (m *Address) String() string { return proto.CompactTextString(m) }
func (*Address) ProtoMessage() {}
func (*Address) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{11}
}
func (m *Address) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Address.Unmarshal(m, b)
}
func (m *Address) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Address.Marshal(b, m, deterministic)
}
func (m *Address) XXX_Merge(src proto.Message) {
xxx_messageInfo_Address.Merge(m, src)
}
func (m *Address) XXX_Size() int {
return xxx_messageInfo_Address.Size(m)
}
func (m *Address) XXX_DiscardUnknown() {
xxx_messageInfo_Address.DiscardUnknown(m)
}
var xxx_messageInfo_Address proto.InternalMessageInfo
func (m *Address) GetAddress() string {
if m != nil {
return m.Address
}
return ""
}
type AddressList struct {
Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AddressList) Reset() { *m = AddressList{} }
func (m *AddressList) String() string { return proto.CompactTextString(m) }
func (*AddressList) ProtoMessage() {}
func (*AddressList) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{12}
}
func (m *AddressList) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AddressList.Unmarshal(m, b)
}
func (m *AddressList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AddressList.Marshal(b, m, deterministic)
}
func (m *AddressList) XXX_Merge(src proto.Message) {
xxx_messageInfo_AddressList.Merge(m, src)
}
func (m *AddressList) XXX_Size() int {
return xxx_messageInfo_AddressList.Size(m)
}
func (m *AddressList) XXX_DiscardUnknown() {
xxx_messageInfo_AddressList.DiscardUnknown(m)
}
var xxx_messageInfo_AddressList proto.InternalMessageInfo
func (m *AddressList) GetAddresses() []string {
if m != nil {
return m.Addresses
}
return nil
}
type Balance struct {
ValueZat int64 `protobuf:"varint,1,opt,name=valueZat,proto3" json:"valueZat,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Balance) Reset() { *m = Balance{} }
func (m *Balance) String() string { return proto.CompactTextString(m) }
func (*Balance) ProtoMessage() {}
func (*Balance) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{13}
}
func (m *Balance) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Balance.Unmarshal(m, b)
}
func (m *Balance) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Balance.Marshal(b, m, deterministic)
}
func (m *Balance) XXX_Merge(src proto.Message) {
xxx_messageInfo_Balance.Merge(m, src)
}
func (m *Balance) XXX_Size() int {
return xxx_messageInfo_Balance.Size(m)
}
func (m *Balance) XXX_DiscardUnknown() {
xxx_messageInfo_Balance.DiscardUnknown(m)
}
var xxx_messageInfo_Balance proto.InternalMessageInfo
func (m *Balance) GetValueZat() int64 {
if m != nil {
return m.ValueZat
}
return 0
}
type Exclude struct {
Txid [][]byte `protobuf:"bytes,1,rep,name=txid,proto3" json:"txid,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *Exclude) Reset() { *m = Exclude{} }
func (m *Exclude) String() string { return proto.CompactTextString(m) }
func (*Exclude) ProtoMessage() {}
func (*Exclude) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{14}
}
func (m *Exclude) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Exclude.Unmarshal(m, b)
}
func (m *Exclude) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Exclude.Marshal(b, m, deterministic)
}
func (m *Exclude) XXX_Merge(src proto.Message) {
xxx_messageInfo_Exclude.Merge(m, src)
}
func (m *Exclude) XXX_Size() int {
return xxx_messageInfo_Exclude.Size(m)
}
func (m *Exclude) XXX_DiscardUnknown() {
xxx_messageInfo_Exclude.DiscardUnknown(m)
}
var xxx_messageInfo_Exclude proto.InternalMessageInfo
func (m *Exclude) GetTxid() [][]byte {
if m != nil {
return m.Txid
}
return nil
}
// The TreeState is derived from the Zcash z_gettreestate rpc.
type TreeState struct {
Network string `protobuf:"bytes,1,opt,name=network,proto3" json:"network,omitempty"`
Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
Hash string `protobuf:"bytes,3,opt,name=hash,proto3" json:"hash,omitempty"`
Time uint32 `protobuf:"varint,4,opt,name=time,proto3" json:"time,omitempty"`
SaplingTree string `protobuf:"bytes,5,opt,name=saplingTree,proto3" json:"saplingTree,omitempty"`
OrchardTree string `protobuf:"bytes,6,opt,name=orchardTree,proto3" json:"orchardTree,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *TreeState) Reset() { *m = TreeState{} }
func (m *TreeState) String() string { return proto.CompactTextString(m) }
func (*TreeState) ProtoMessage() {}
func (*TreeState) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{15}
}
func (m *TreeState) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TreeState.Unmarshal(m, b)
}
func (m *TreeState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_TreeState.Marshal(b, m, deterministic)
}
func (m *TreeState) XXX_Merge(src proto.Message) {
xxx_messageInfo_TreeState.Merge(m, src)
}
func (m *TreeState) XXX_Size() int {
return xxx_messageInfo_TreeState.Size(m)
}
func (m *TreeState) XXX_DiscardUnknown() {
xxx_messageInfo_TreeState.DiscardUnknown(m)
}
var xxx_messageInfo_TreeState proto.InternalMessageInfo
func (m *TreeState) GetNetwork() string {
if m != nil {
return m.Network
}
return ""
}
func (m *TreeState) GetHeight() uint64 {
if m != nil {
return m.Height
}
return 0
}
func (m *TreeState) GetHash() string {
if m != nil {
return m.Hash
}
return ""
}
func (m *TreeState) GetTime() uint32 {
if m != nil {
return m.Time
}
return 0
}
func (m *TreeState) GetSaplingTree() string {
if m != nil {
return m.SaplingTree
}
return ""
}
func (m *TreeState) GetOrchardTree() string {
if m != nil {
return m.OrchardTree
}
return ""
}
// Results are sorted by height, which makes it easy to issue another
// request that picks up from where the previous left off.
type GetAddressUtxosArg struct {
Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"`
StartHeight uint64 `protobuf:"varint,2,opt,name=startHeight,proto3" json:"startHeight,omitempty"`
MaxEntries uint32 `protobuf:"varint,3,opt,name=maxEntries,proto3" json:"maxEntries,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetAddressUtxosArg) Reset() { *m = GetAddressUtxosArg{} }
func (m *GetAddressUtxosArg) String() string { return proto.CompactTextString(m) }
func (*GetAddressUtxosArg) ProtoMessage() {}
func (*GetAddressUtxosArg) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{16}
}
func (m *GetAddressUtxosArg) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetAddressUtxosArg.Unmarshal(m, b)
}
func (m *GetAddressUtxosArg) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetAddressUtxosArg.Marshal(b, m, deterministic)
}
func (m *GetAddressUtxosArg) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetAddressUtxosArg.Merge(m, src)
}
func (m *GetAddressUtxosArg) XXX_Size() int {
return xxx_messageInfo_GetAddressUtxosArg.Size(m)
}
func (m *GetAddressUtxosArg) XXX_DiscardUnknown() {
xxx_messageInfo_GetAddressUtxosArg.DiscardUnknown(m)
}
var xxx_messageInfo_GetAddressUtxosArg proto.InternalMessageInfo
func (m *GetAddressUtxosArg) GetAddresses() []string {
if m != nil {
return m.Addresses
}
return nil
}
func (m *GetAddressUtxosArg) GetStartHeight() uint64 {
if m != nil {
return m.StartHeight
}
return 0
}
func (m *GetAddressUtxosArg) GetMaxEntries() uint32 {
if m != nil {
return m.MaxEntries
}
return 0
}
type GetAddressUtxosReply struct {
Address string `protobuf:"bytes,6,opt,name=address,proto3" json:"address,omitempty"`
Txid []byte `protobuf:"bytes,1,opt,name=txid,proto3" json:"txid,omitempty"`
Index int32 `protobuf:"varint,2,opt,name=index,proto3" json:"index,omitempty"`
Script []byte `protobuf:"bytes,3,opt,name=script,proto3" json:"script,omitempty"`
ValueZat int64 `protobuf:"varint,4,opt,name=valueZat,proto3" json:"valueZat,omitempty"`
Height uint64 `protobuf:"varint,5,opt,name=height,proto3" json:"height,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetAddressUtxosReply) Reset() { *m = GetAddressUtxosReply{} }
func (m *GetAddressUtxosReply) String() string { return proto.CompactTextString(m) }
func (*GetAddressUtxosReply) ProtoMessage() {}
func (*GetAddressUtxosReply) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{17}
}
func (m *GetAddressUtxosReply) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetAddressUtxosReply.Unmarshal(m, b)
}
func (m *GetAddressUtxosReply) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetAddressUtxosReply.Marshal(b, m, deterministic)
}
func (m *GetAddressUtxosReply) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetAddressUtxosReply.Merge(m, src)
}
func (m *GetAddressUtxosReply) XXX_Size() int {
return xxx_messageInfo_GetAddressUtxosReply.Size(m)
}
func (m *GetAddressUtxosReply) XXX_DiscardUnknown() {
xxx_messageInfo_GetAddressUtxosReply.DiscardUnknown(m)
}
var xxx_messageInfo_GetAddressUtxosReply proto.InternalMessageInfo
func (m *GetAddressUtxosReply) GetAddress() string {
if m != nil {
return m.Address
}
return ""
}
func (m *GetAddressUtxosReply) GetTxid() []byte {
if m != nil {
return m.Txid
}
return nil
}
func (m *GetAddressUtxosReply) GetIndex() int32 {
if m != nil {
return m.Index
}
return 0
}
func (m *GetAddressUtxosReply) GetScript() []byte {
if m != nil {
return m.Script
}
return nil
}
func (m *GetAddressUtxosReply) GetValueZat() int64 {
if m != nil {
return m.ValueZat
}
return 0
}
func (m *GetAddressUtxosReply) GetHeight() uint64 {
if m != nil {
return m.Height
}
return 0
}
type GetAddressUtxosReplyList struct {
AddressUtxos []*GetAddressUtxosReply `protobuf:"bytes,1,rep,name=addressUtxos,proto3" json:"addressUtxos,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *GetAddressUtxosReplyList) Reset() { *m = GetAddressUtxosReplyList{} }
func (m *GetAddressUtxosReplyList) String() string { return proto.CompactTextString(m) }
func (*GetAddressUtxosReplyList) ProtoMessage() {}
func (*GetAddressUtxosReplyList) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{18}
}
func (m *GetAddressUtxosReplyList) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetAddressUtxosReplyList.Unmarshal(m, b)
}
func (m *GetAddressUtxosReplyList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_GetAddressUtxosReplyList.Marshal(b, m, deterministic)
}
func (m *GetAddressUtxosReplyList) XXX_Merge(src proto.Message) {
xxx_messageInfo_GetAddressUtxosReplyList.Merge(m, src)
}
func (m *GetAddressUtxosReplyList) XXX_Size() int {
return xxx_messageInfo_GetAddressUtxosReplyList.Size(m)
}
func (m *GetAddressUtxosReplyList) XXX_DiscardUnknown() {
xxx_messageInfo_GetAddressUtxosReplyList.DiscardUnknown(m)
}
var xxx_messageInfo_GetAddressUtxosReplyList proto.InternalMessageInfo
func (m *GetAddressUtxosReplyList) GetAddressUtxos() []*GetAddressUtxosReply {
if m != nil {
return m.AddressUtxos
}
return nil
}
type PriceRequest struct {
// List of timestamps(in sec) at which the price is being requested
Timestamp uint64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
// 3 letter currency-code
Currency string `protobuf:"bytes,2,opt,name=currency,proto3" json:"currency,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PriceRequest) Reset() { *m = PriceRequest{} }
func (m *PriceRequest) String() string { return proto.CompactTextString(m) }
func (*PriceRequest) ProtoMessage() {}
func (*PriceRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{19}
}
func (m *PriceRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PriceRequest.Unmarshal(m, b)
}
func (m *PriceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PriceRequest.Marshal(b, m, deterministic)
}
func (m *PriceRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_PriceRequest.Merge(m, src)
}
func (m *PriceRequest) XXX_Size() int {
return xxx_messageInfo_PriceRequest.Size(m)
}
func (m *PriceRequest) XXX_DiscardUnknown() {
xxx_messageInfo_PriceRequest.DiscardUnknown(m)
}
var xxx_messageInfo_PriceRequest proto.InternalMessageInfo
func (m *PriceRequest) GetTimestamp() uint64 {
if m != nil {
return m.Timestamp
}
return 0
}
func (m *PriceRequest) GetCurrency() string {
if m != nil {
return m.Currency
}
return ""
}
type PriceResponse struct {
// Timestamp at which this price quote was fetched. Note, this may not be the same
// as the request timestamp, but the server will respond with the closest timestamp that it has/can fetch
Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
// 3-letter currency code, matching the request
Currency string `protobuf:"bytes,2,opt,name=currency,proto3" json:"currency,omitempty"`
// price of ZEC
Price float64 `protobuf:"fixed64,3,opt,name=price,proto3" json:"price,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *PriceResponse) Reset() { *m = PriceResponse{} }
func (m *PriceResponse) String() string { return proto.CompactTextString(m) }
func (*PriceResponse) ProtoMessage() {}
func (*PriceResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_a0b84a42fa06f626, []int{20}
}
func (m *PriceResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PriceResponse.Unmarshal(m, b)
}
func (m *PriceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PriceResponse.Marshal(b, m, deterministic)
}
func (m *PriceResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_PriceResponse.Merge(m, src)
}
func (m *PriceResponse) XXX_Size() int {
return xxx_messageInfo_PriceResponse.Size(m)
}
func (m *PriceResponse) XXX_DiscardUnknown() {
xxx_messageInfo_PriceResponse.DiscardUnknown(m)
}
var xxx_messageInfo_PriceResponse proto.InternalMessageInfo
func (m *PriceResponse) GetTimestamp() int64 {
if m != nil {
return m.Timestamp
}
return 0
}
func (m *PriceResponse) GetCurrency() string {
if m != nil {
return m.Currency
}
return ""
}
func (m *PriceResponse) GetPrice() float64 {
if m != nil {
return m.Price
}
return 0
}
func init() {
proto.RegisterType((*BlockID)(nil), "cash.z.wallet.sdk.rpc.BlockID")
proto.RegisterType((*BlockRange)(nil), "cash.z.wallet.sdk.rpc.BlockRange")
proto.RegisterType((*TxFilter)(nil), "cash.z.wallet.sdk.rpc.TxFilter")
proto.RegisterType((*RawTransaction)(nil), "cash.z.wallet.sdk.rpc.RawTransaction")
proto.RegisterType((*SendResponse)(nil), "cash.z.wallet.sdk.rpc.SendResponse")
proto.RegisterType((*ChainSpec)(nil), "cash.z.wallet.sdk.rpc.ChainSpec")
proto.RegisterType((*Empty)(nil), "cash.z.wallet.sdk.rpc.Empty")
proto.RegisterType((*LightdInfo)(nil), "cash.z.wallet.sdk.rpc.LightdInfo")
proto.RegisterType((*TransparentAddressBlockFilter)(nil), "cash.z.wallet.sdk.rpc.TransparentAddressBlockFilter")
proto.RegisterType((*Duration)(nil), "cash.z.wallet.sdk.rpc.Duration")
proto.RegisterType((*PingResponse)(nil), "cash.z.wallet.sdk.rpc.PingResponse")
proto.RegisterType((*Address)(nil), "cash.z.wallet.sdk.rpc.Address")
proto.RegisterType((*AddressList)(nil), "cash.z.wallet.sdk.rpc.AddressList")
proto.RegisterType((*Balance)(nil), "cash.z.wallet.sdk.rpc.Balance")
proto.RegisterType((*Exclude)(nil), "cash.z.wallet.sdk.rpc.Exclude")
proto.RegisterType((*TreeState)(nil), "cash.z.wallet.sdk.rpc.TreeState")
proto.RegisterType((*GetAddressUtxosArg)(nil), "cash.z.wallet.sdk.rpc.GetAddressUtxosArg")
proto.RegisterType((*GetAddressUtxosReply)(nil), "cash.z.wallet.sdk.rpc.GetAddressUtxosReply")
proto.RegisterType((*GetAddressUtxosReplyList)(nil), "cash.z.wallet.sdk.rpc.GetAddressUtxosReplyList")
proto.RegisterType((*PriceRequest)(nil), "cash.z.wallet.sdk.rpc.PriceRequest")
proto.RegisterType((*PriceResponse)(nil), "cash.z.wallet.sdk.rpc.PriceResponse")
}
func init() { proto.RegisterFile("service.proto", fileDescriptor_a0b84a42fa06f626) }
var fileDescriptor_a0b84a42fa06f626 = []byte{
// 1270 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x57, 0x6d, 0x6f, 0x13, 0xc7,
0x13, 0xb7, 0x71, 0x1c, 0xc7, 0x63, 0x87, 0x87, 0x15, 0xf0, 0x3f, 0xf9, 0x0f, 0x34, 0x5d, 0x8a,
0x94, 0x42, 0x65, 0x10, 0xa5, 0x2a, 0x2f, 0xfa, 0x26, 0x09, 0x69, 0x40, 0x02, 0x4a, 0x37, 0xe6,
0x4d, 0x90, 0x8a, 0x36, 0x77, 0x83, 0x7d, 0xcd, 0xf9, 0xee, 0xba, 0xbb, 0x0e, 0x0e, 0x1f, 0xa8,
0x52, 0xbf, 0x42, 0x3f, 0x45, 0x3f, 0x4c, 0x3f, 0x40, 0xb5, 0xb3, 0x6b, 0xfb, 0x1c, 0x38, 0xdb,
0x79, 0xe5, 0x9b, 0xd9, 0xd9, 0xdf, 0xcc, 0xce, 0xb3, 0x61, 0x53, 0xa3, 0x3a, 0x8d, 0x43, 0xec,
0xe6, 0x2a, 0x33, 0x19, 0xbb, 0x11, 0x4a, 0x3d, 0xe8, 0x7e, 0xea, 0x7e, 0x94, 0x49, 0x82, 0xa6,
0xab, 0xa3, 0x93, 0xae, 0xca, 0xc3, 0xce, 0x8d, 0x30, 0x1b, 0xe6, 0x32, 0x34, 0xef, 0x3f, 0x64,
0x6a, 0x28, 0x8d, 0x76, 0xd2, 0xfc, 0x07, 0x68, 0xec, 0x26, 0x59, 0x78, 0xf2, 0xe2, 0x19, 0xbb,
0x09, 0xeb, 0x03, 0x8c, 0xfb, 0x03, 0x13, 0x54, 0xb7, 0xaa, 0xdb, 0x6b, 0xc2, 0x53, 0x8c, 0xc1,
0xda, 0x40, 0xea, 0x41, 0x70, 0x69, 0xab, 0xba, 0xdd, 0x16, 0xf4, 0xcd, 0x0d, 0x00, 0x5d, 0x13,
0x32, 0xed, 0x23, 0x7b, 0x02, 0x75, 0x6d, 0xa4, 0x72, 0x17, 0x5b, 0x8f, 0xef, 0x74, 0xbf, 0x68,
0x42, 0xd7, 0x2b, 0x12, 0x4e, 0x98, 0x3d, 0x82, 0x1a, 0xa6, 0x11, 0xc1, 0x2e, 0xbf, 0x63, 0x45,
0xf9, 0xef, 0xb0, 0xd1, 0x1b, 0xff, 0x1c, 0x27, 0x06, 0x95, 0xd5, 0x79, 0x6c, 0xcf, 0x56, 0xd5,
0x49, 0xc2, 0xec, 0x3a, 0xd4, 0xe3, 0x34, 0xc2, 0x31, 0x69, 0x5d, 0x13, 0x8e, 0x98, 0xbe, 0xb0,
0x56, 0x78, 0xe1, 0x4f, 0x70, 0x59, 0xc8, 0x8f, 0x3d, 0x25, 0x53, 0x2d, 0x43, 0x13, 0x67, 0xa9,
0x95, 0x8a, 0xa4, 0x91, 0xa4, 0xb0, 0x2d, 0xe8, 0xbb, 0xe0, 0xb3, 0x4b, 0x45, 0x9f, 0xf1, 0x37,
0xd0, 0x3e, 0xc4, 0x34, 0x12, 0xa8, 0xf3, 0x2c, 0xd5, 0xc8, 0x6e, 0x41, 0x13, 0x95, 0xca, 0xd4,
0x5e, 0x16, 0x21, 0x01, 0xd4, 0xc5, 0x8c, 0xc1, 0x38, 0xb4, 0x89, 0x78, 0x85, 0x5a, 0xcb, 0x3e,
0x12, 0x56, 0x53, 0xcc, 0xf1, 0x78, 0x0b, 0x9a, 0x7b, 0x03, 0x19, 0xa7, 0x87, 0x39, 0x86, 0xbc,
0x01, 0xf5, 0xfd, 0x61, 0x6e, 0xce, 0xf8, 0xbf, 0x35, 0x80, 0x97, 0x56, 0x63, 0xf4, 0x22, 0xfd,
0x90, 0xb1, 0x00, 0x1a, 0xa7, 0xa8, 0x74, 0x9c, 0xa5, 0xa4, 0xa4, 0x29, 0x26, 0xa4, 0x35, 0xf4,
0x14, 0xd3, 0x28, 0x53, 0x1e, 0xdc, 0x53, 0x56, 0xb5, 0x91, 0x51, 0xa4, 0x0e, 0x47, 0x79, 0x9e,
0x29, 0x43, 0x2e, 0xd8, 0x10, 0x73, 0x3c, 0x6b, 0x7c, 0x68, 0x55, 0xbf, 0x96, 0x43, 0x0c, 0xd6,
0xe8, 0xfa, 0x8c, 0xc1, 0x9e, 0xc2, 0xff, 0xb4, 0xcc, 0x93, 0x38, 0xed, 0xef, 0x84, 0x26, 0x3e,
0x95, 0xd6, 0x57, 0xcf, 0x9d, 0x4f, 0xea, 0xe4, 0x93, 0xb2, 0x63, 0xf6, 0x1d, 0x5c, 0x0b, 0xad,
0x77, 0x52, 0x3d, 0xd2, 0xbb, 0x4a, 0xa6, 0xe1, 0xe0, 0x45, 0x14, 0xac, 0x13, 0xfe, 0xe7, 0x07,
0x6c, 0x0b, 0x5a, 0x14, 0x43, 0x8f, 0xdd, 0x20, 0xec, 0x22, 0xcb, 0xda, 0xd9, 0x8f, 0xcd, 0x5e,
0x36, 0x1c, 0xc6, 0x26, 0xd8, 0x70, 0x76, 0x4e, 0x19, 0xd6, 0x03, 0xc7, 0x84, 0x15, 0x34, 0x9d,
0x07, 0x1c, 0x65, 0x6f, 0x1d, 0x8f, 0xe2, 0x24, 0x7a, 0x26, 0x0d, 0x06, 0xe0, 0x6e, 0x4d, 0x19,
0xd3, 0xd3, 0xb7, 0x1a, 0x55, 0xd0, 0x2a, 0x9c, 0x5a, 0x06, 0xdb, 0x86, 0x2b, 0xa8, 0x4d, 0x3c,
0x94, 0x06, 0x23, 0x6f, 0x57, 0x9b, 0xec, 0x3a, 0xcf, 0xb6, 0xd6, 0x7f, 0xb2, 0x19, 0x1a, 0xed,
0xda, 0xcb, 0xc1, 0x26, 0x21, 0x15, 0x59, 0xec, 0x3e, 0x5c, 0x75, 0xe4, 0xe1, 0xe8, 0x78, 0x12,
0xc4, 0xcb, 0x24, 0xf6, 0x19, 0x9f, 0x2b, 0xb8, 0x4d, 0x99, 0x99, 0x4b, 0x85, 0xa9, 0xd9, 0x89,
0x22, 0x85, 0x5a, 0x53, 0xaa, 0xfb, 0xea, 0x08, 0xa0, 0x21, 0x1d, 0x77, 0x92, 0x08, 0x9e, 0x64,
0x3f, 0x42, 0x5d, 0xd9, 0xa2, 0xf5, 0x75, 0xf7, 0xf5, 0xa2, 0xba, 0xa1, 0xea, 0x16, 0x4e, 0x9e,
0xdf, 0x87, 0x8d, 0x67, 0x23, 0x45, 0xf1, 0x63, 0x77, 0x00, 0xe2, 0xd4, 0xa0, 0x3a, 0x95, 0xc9,
0x5b, 0xa7, 0xa1, 0x26, 0x0a, 0x1c, 0xfe, 0x14, 0xda, 0x6f, 0xe2, 0xb4, 0x3f, 0x4d, 0xff, 0xeb,
0x50, 0xc7, 0xd4, 0xa8, 0x33, 0x2f, 0xea, 0x08, 0x5b, 0x50, 0x38, 0x8e, 0x5d, 0xe9, 0xd4, 0x04,
0x7d, 0xf3, 0xbb, 0xd0, 0xf0, 0xcf, 0x29, 0x7f, 0x03, 0x7f, 0x00, 0x2d, 0x2f, 0xf4, 0x32, 0xd6,
0x14, 0x77, 0x7f, 0x82, 0x56, 0xb4, 0x66, 0x63, 0x34, 0x65, 0xf0, 0x7b, 0xd0, 0xd8, 0x95, 0x89,
0x4c, 0x43, 0x64, 0x1d, 0xd8, 0x38, 0x95, 0xc9, 0x08, 0x8f, 0xa4, 0xf1, 0x96, 0x4c, 0x69, 0x7e,
0x1b, 0x1a, 0xfb, 0xe3, 0x30, 0x19, 0x45, 0x68, 0xed, 0x32, 0xe3, 0x38, 0x22, 0xa8, 0xb6, 0xa0,
0x6f, 0xfe, 0x57, 0x15, 0x9a, 0x3d, 0x85, 0x78, 0x68, 0x6c, 0x56, 0x04, 0xd0, 0x48, 0xd1, 0x7c,
0xcc, 0xd4, 0xc9, 0xc4, 0x34, 0x4f, 0x96, 0x35, 0x84, 0xb9, 0x16, 0xd3, 0x74, 0x2d, 0x86, 0xf4,
0xc4, 0xbe, 0xa4, 0x36, 0x05, 0x7d, 0xdb, 0x3c, 0xf1, 0xe5, 0x62, 0xb5, 0x51, 0x05, 0x35, 0x45,
0x91, 0x65, 0x25, 0x32, 0x15, 0x0e, 0xa4, 0x8a, 0x48, 0xc2, 0xd5, 0x4b, 0x91, 0xc5, 0x0d, 0xb0,
0x03, 0x9c, 0x64, 0xc5, 0x5b, 0x33, 0xce, 0xf4, 0x8e, 0xea, 0x2f, 0xf6, 0x12, 0xe9, 0xb5, 0x5d,
0xf9, 0x79, 0xd1, 0xf8, 0x22, 0xcb, 0xc6, 0x7c, 0x28, 0xc7, 0xfb, 0xa9, 0x51, 0x31, 0x6a, 0x7a,
0xc7, 0xa6, 0x28, 0x70, 0xf8, 0x9f, 0x55, 0xb8, 0x7e, 0x4e, 0xad, 0xc0, 0x3c, 0x39, 0x2b, 0xc6,
0x71, 0x7d, 0x3e, 0x17, 0x67, 0x8e, 0xae, 0x4e, 0x1c, 0x3d, 0xdf, 0xa1, 0xeb, 0x93, 0x0e, 0x7d,
0x13, 0xd6, 0x75, 0xa8, 0xe2, 0xdc, 0xf8, 0x1e, 0xed, 0xa9, 0xb9, 0x88, 0xae, 0xcd, 0x47, 0xb4,
0x10, 0x8a, 0xfa, 0x5c, 0x6f, 0x3e, 0x81, 0xe0, 0x4b, 0x76, 0x52, 0x2a, 0xfd, 0x02, 0x6d, 0x59,
0x38, 0x20, 0x3f, 0xb5, 0x1e, 0x3f, 0x28, 0x29, 0x92, 0x2f, 0xc1, 0x88, 0x39, 0x00, 0xfe, 0x1c,
0xda, 0x6f, 0x54, 0x1c, 0xa2, 0xc0, 0x3f, 0x46, 0xe8, 0x72, 0xd5, 0xc6, 0x59, 0x1b, 0x39, 0xcc,
0xfd, 0x9c, 0x9d, 0x31, 0xec, 0x73, 0xc2, 0x91, 0x52, 0x98, 0x86, 0x67, 0xbe, 0x4f, 0x4f, 0x69,
0xfe, 0x1e, 0x36, 0x3d, 0xd2, 0x6c, 0xa6, 0xcc, 0x43, 0xd5, 0x56, 0x84, 0xb2, 0x3e, 0xce, 0x2d,
0x14, 0x39, 0xb3, 0x2a, 0x1c, 0xf1, 0xf8, 0x9f, 0x36, 0x5c, 0xdb, 0x73, 0x4b, 0x42, 0x6f, 0x7c,
0x68, 0x14, 0xca, 0x21, 0x2a, 0xd6, 0x83, 0xcb, 0x07, 0x68, 0x5e, 0x4a, 0x83, 0xda, 0x50, 0x53,
0x60, 0x5b, 0x25, 0xde, 0x98, 0x8e, 0xa7, 0xce, 0x92, 0x61, 0xcc, 0x2b, 0xec, 0x57, 0xd8, 0x38,
0x40, 0x8f, 0xb7, 0x44, 0xba, 0x73, 0xb7, 0x4c, 0x9f, 0xb3, 0x95, 0xc4, 0x78, 0x85, 0xbd, 0x83,
0xcd, 0x09, 0xa4, 0xdb, 0x4a, 0x96, 0xb7, 0xb6, 0x15, 0xa1, 0x1f, 0x55, 0xd9, 0x11, 0xb4, 0x0e,
0xd0, 0x1c, 0xed, 0xef, 0x51, 0x08, 0x58, 0xd9, 0xbd, 0x62, 0xa8, 0x3b, 0xdf, 0x2c, 0x16, 0x72,
0x51, 0xe4, 0x15, 0x76, 0x44, 0xe5, 0xba, 0x47, 0xc1, 0x99, 0xa9, 0xb8, 0x55, 0x72, 0x9b, 0xe6,
0xfe, 0x05, 0xb0, 0x6d, 0xf4, 0x8a, 0x5b, 0xcc, 0x57, 0x25, 0x37, 0x27, 0x8b, 0x55, 0xe7, 0x5e,
0x89, 0xc0, 0xfc, 0x36, 0xc4, 0x2b, 0xec, 0x3d, 0x5c, 0xb1, 0x3b, 0x4e, 0x11, 0x7c, 0xb5, 0xbb,
0xa5, 0x6e, 0x2f, 0xae, 0x4c, 0xbc, 0xc2, 0x34, 0x5c, 0xb5, 0xc6, 0xfb, 0x7a, 0xea, 0x8d, 0xe3,
0x48, 0xb3, 0x27, 0x65, 0xe6, 0x2f, 0x1a, 0x87, 0x2b, 0xbf, 0x89, 0x22, 0xcd, 0x0a, 0x4a, 0x27,
0x93, 0x83, 0x97, 0x00, 0x14, 0xc6, 0x50, 0x79, 0xd6, 0x3b, 0x0c, 0x5e, 0x61, 0xbf, 0x51, 0xe7,
0x39, 0x87, 0xed, 0x2a, 0xad, 0xb4, 0x0a, 0xbc, 0x86, 0xe5, 0xe8, 0xdb, 0x55, 0xd6, 0x83, 0xf6,
0x01, 0x9a, 0x57, 0x38, 0xcc, 0xb3, 0x2c, 0xe9, 0x8d, 0x4b, 0x31, 0xfd, 0xa0, 0xeb, 0x6c, 0x2d,
0x4e, 0xff, 0xde, 0x98, 0x3c, 0xf2, 0x8e, 0xc2, 0xe0, 0x51, 0xbd, 0xb5, 0x8b, 0xb3, 0xf3, 0x02,
0xee, 0x16, 0x64, 0xf2, 0x6c, 0xb2, 0x2e, 0x6b, 0x06, 0x5b, 0xa5, 0xf1, 0xf7, 0x08, 0xbc, 0xc2,
0x32, 0xb8, 0x72, 0xae, 0x33, 0xb3, 0x6f, 0x57, 0xeb, 0xe0, 0x3b, 0xaa, 0xdf, 0x79, 0x78, 0x81,
0x66, 0x6f, 0xe3, 0x4e, 0x89, 0x7a, 0xe3, 0xdc, 0xa9, 0x77, 0xd3, 0x05, 0xd4, 0x5e, 0x64, 0xc6,
0x78, 0xcf, 0xd9, 0x7e, 0x57, 0x58, 0xfe, 0x17, 0xc7, 0xa4, 0xac, 0x1b, 0xce, 0x00, 0x78, 0x85,
0xbd, 0x86, 0x35, 0xbb, 0xb7, 0x95, 0x36, 0x89, 0xc9, 0x02, 0x58, 0x5a, 0xc1, 0xc5, 0xad, 0x8f,
0x57, 0x76, 0xff, 0x7f, 0x74, 0x33, 0xb1, 0xf8, 0x4e, 0x2a, 0x7a, 0xe8, 0x7e, 0x55, 0x1e, 0xfe,
0x7d, 0xa9, 0x72, 0xbc, 0x4e, 0xff, 0x40, 0xbf, 0xff, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x11, 0x60,
0x23, 0xc8, 0xc0, 0x0e, 0x00, 0x00,
}