Commit 3c399015 authored by wjx@disanbo.com's avatar wjx@disanbo.com Committed by vipwzw

add query item

parent 1fb4c5b2
...@@ -180,7 +180,7 @@ func (lott *Lottery) updateLotteryBuy(lotterylog *pty.ReceiptLottery, isAdd bool ...@@ -180,7 +180,7 @@ func (lott *Lottery) updateLotteryBuy(lotterylog *pty.ReceiptLottery, isAdd bool
func (lott *Lottery) saveLotteryDraw(lotterylog *pty.ReceiptLottery) (kvs []*types.KeyValue) { func (lott *Lottery) saveLotteryDraw(lotterylog *pty.ReceiptLottery) (kvs []*types.KeyValue) {
key := calcLotteryDrawKey(lotterylog.LotteryId, lotterylog.Round) key := calcLotteryDrawKey(lotterylog.LotteryId, lotterylog.Round)
record := &pty.LotteryDrawRecord{Number: lotterylog.LuckyNumber, Round: lotterylog.Round, Time: lotterylog.Time, TxHash: lotterylog.TxHash} record := &pty.LotteryDrawRecord{Number: lotterylog.LuckyNumber, Round: lotterylog.Round, Time: lotterylog.Time, TxHash: lotterylog.TxHash, TotalAddrNum: lotterylog.TotalAddrNum, BuyAmount: lotterylog.BuyAmount}
kv := &types.KeyValue{Key: key, Value: types.Encode(record)} kv := &types.KeyValue{Key: key, Value: types.Encode(record)}
kvs = append(kvs, kv) kvs = append(kvs, kv)
return kvs return kvs
......
...@@ -149,18 +149,34 @@ func NewLotteryAction(l *Lottery, tx *types.Transaction, index int) *Action { ...@@ -149,18 +149,34 @@ func NewLotteryAction(l *Lottery, tx *types.Transaction, index int) *Action {
l.GetHeight(), dapp.ExecAddress(string(tx.Execer)), l.GetDifficulty(), l.GetAPI(), conn, grpcClient, index} l.GetHeight(), dapp.ExecAddress(string(tx.Execer)), l.GetDifficulty(), l.GetAPI(), conn, grpcClient, index}
} }
// GetReceiptLog generate logs for all lottery action // GetLottCommonRecipt generate logs for lottery common action
func (action *Action) GetReceiptLog(lottery *pty.Lottery, preStatus int32, logTy int32, func (action *Action) GetLottCommonRecipt(lottery *pty.Lottery, preStatus int32) *pty.ReceiptLottery {
round int64, buyNumber int64, amount int64, way int64, luckyNum int64, updateInfo *pty.LotteryUpdateBuyInfo) *types.ReceiptLog {
log := &types.ReceiptLog{}
l := &pty.ReceiptLottery{} l := &pty.ReceiptLottery{}
log.Ty = logTy
l.LotteryId = lottery.LotteryId l.LotteryId = lottery.LotteryId
l.Status = lottery.Status l.Status = lottery.Status
l.PrevStatus = preStatus l.PrevStatus = preStatus
if logTy == pty.TyLogLotteryBuy { return l
}
// GetCreateReceiptLog generate logs for lottery create action
func (action *Action) GetCreateReceiptLog(lottery *pty.Lottery, preStatus int32) *types.ReceiptLog {
log := &types.ReceiptLog{}
log.Ty = pty.TyLogLotteryCreate
l := action.GetLottCommonRecipt(lottery, preStatus)
log.Log = types.Encode(l)
return log
}
// GetBuyReceiptLog generate logs for lottery buy action
func (action *Action) GetBuyReceiptLog(lottery *pty.Lottery, preStatus int32, round int64, buyNumber int64, amount int64, way int64) *types.ReceiptLog {
log := &types.ReceiptLog{}
log.Ty = pty.TyLogLotteryBuy
l := action.GetLottCommonRecipt(lottery, preStatus)
l.Round = round l.Round = round
l.Number = buyNumber l.Number = buyNumber
l.Amount = amount l.Amount = amount
...@@ -169,18 +185,43 @@ func (action *Action) GetReceiptLog(lottery *pty.Lottery, preStatus int32, logTy ...@@ -169,18 +185,43 @@ func (action *Action) GetReceiptLog(lottery *pty.Lottery, preStatus int32, logTy
l.Index = action.GetIndex() l.Index = action.GetIndex()
l.Time = action.blocktime l.Time = action.blocktime
l.TxHash = common.ToHex(action.txhash) l.TxHash = common.ToHex(action.txhash)
}
if logTy == pty.TyLogLotteryDraw { log.Log = types.Encode(l)
return log
}
// GetDrawReceiptLog generate logs for lottery draw action
func (action *Action) GetDrawReceiptLog(lottery *pty.Lottery, preStatus int32, round int64, luckyNum int64, updateInfo *pty.LotteryUpdateBuyInfo, addrNumThisRound int64, buyAmountThisRound int64) *types.ReceiptLog {
log := &types.ReceiptLog{}
log.Ty = pty.TyLogLotteryDraw
l := action.GetLottCommonRecipt(lottery, preStatus)
l.Round = round l.Round = round
l.LuckyNumber = luckyNum l.LuckyNumber = luckyNum
l.Time = action.blocktime l.Time = action.blocktime
l.TxHash = common.ToHex(action.txhash) l.TxHash = common.ToHex(action.txhash)
l.TotalAddrNum = addrNumThisRound
l.BuyAmount = buyAmountThisRound
if len(updateInfo.BuyInfo) > 0 { if len(updateInfo.BuyInfo) > 0 {
l.UpdateInfo = updateInfo l.UpdateInfo = updateInfo
} }
}
log.Log = types.Encode(l) log.Log = types.Encode(l)
return log
}
// GetCloseReceiptLog generate logs for lottery close action
func (action *Action) GetCloseReceiptLog(lottery *pty.Lottery, preStatus int32) *types.ReceiptLog {
log := &types.ReceiptLog{}
log.Ty = pty.TyLogLotteryClose
l := action.GetLottCommonRecipt(lottery, preStatus)
log.Log = types.Encode(l)
return log return log
} }
...@@ -228,6 +269,8 @@ func (action *Action) LotteryCreate(create *pty.LotteryCreate) (*types.Receipt, ...@@ -228,6 +269,8 @@ func (action *Action) LotteryCreate(create *pty.LotteryCreate) (*types.Receipt,
lott.OpRewardRatio = create.OpRewardRatio lott.OpRewardRatio = create.OpRewardRatio
lott.DevRewardRatio = create.DevRewardRatio lott.DevRewardRatio = create.DevRewardRatio
lott.TotalAddrNum = 0
lott.BuyAmount = 0
llog.Debug("LotteryCreate", "OpRewardRatio", lott.OpRewardRatio, "DevRewardRatio", lott.DevRewardRatio) llog.Debug("LotteryCreate", "OpRewardRatio", lott.OpRewardRatio, "DevRewardRatio", lott.DevRewardRatio)
if types.IsPara() { if types.IsPara() {
mainHeight := action.GetMainHeightByTxHash(action.txhash) mainHeight := action.GetMainHeightByTxHash(action.txhash)
...@@ -243,7 +286,7 @@ func (action *Action) LotteryCreate(create *pty.LotteryCreate) (*types.Receipt, ...@@ -243,7 +286,7 @@ func (action *Action) LotteryCreate(create *pty.LotteryCreate) (*types.Receipt,
lott.Save(action.db) lott.Save(action.db)
kv = append(kv, lott.GetKVSet()...) kv = append(kv, lott.GetKVSet()...)
receiptLog := action.GetReceiptLog(&lott.Lottery, 0, pty.TyLogLotteryCreate, 0, 0, 0, 0, 0, nil) receiptLog := action.GetCreateReceiptLog(&lott.Lottery, 0)
logs = append(logs, receiptLog) logs = append(logs, receiptLog)
receipt = &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs} receipt = &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}
...@@ -352,6 +395,7 @@ func (action *Action) LotteryBuy(buy *pty.LotteryBuy) (*types.Receipt, error) { ...@@ -352,6 +395,7 @@ func (action *Action) LotteryBuy(buy *pty.LotteryBuy) (*types.Receipt, error) {
kv = append(kv, receipt.KV...) kv = append(kv, receipt.KV...)
lott.Fund += buy.GetAmount() lott.Fund += buy.GetAmount()
lott.BuyAmount += buy.GetAmount()
lott.TotalPurchasedTxNum++ lott.TotalPurchasedTxNum++
newAddr := true newAddr := true
...@@ -370,12 +414,13 @@ func (action *Action) LotteryBuy(buy *pty.LotteryBuy) (*types.Receipt, error) { ...@@ -370,12 +414,13 @@ func (action *Action) LotteryBuy(buy *pty.LotteryBuy) (*types.Receipt, error) {
initrecord.AmountOneRound = buy.Amount initrecord.AmountOneRound = buy.Amount
initrecord.Addr = action.fromaddr initrecord.Addr = action.fromaddr
lott.PurRecords = append(lott.PurRecords, initrecord) lott.PurRecords = append(lott.PurRecords, initrecord)
lott.TotalAddrNum++
} }
lott.Save(action.db) lott.Save(action.db)
kv = append(kv, lott.GetKVSet()...) kv = append(kv, lott.GetKVSet()...)
receiptLog := action.GetReceiptLog(&lott.Lottery, preStatus, pty.TyLogLotteryBuy, lott.Round, buy.GetNumber(), buy.GetAmount(), buy.GetWay(), 0, nil) receiptLog := action.GetBuyReceiptLog(&lott.Lottery, preStatus, lott.Round, buy.GetNumber(), buy.GetAmount(), buy.GetWay())
logs = append(logs, receiptLog) logs = append(logs, receiptLog)
receipt = &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs} receipt = &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}
...@@ -427,6 +472,10 @@ func (action *Action) LotteryDraw(draw *pty.LotteryDraw) (*types.Receipt, error) ...@@ -427,6 +472,10 @@ func (action *Action) LotteryDraw(draw *pty.LotteryDraw) (*types.Receipt, error)
//} //}
} }
//record addr and amount this round
addrNumThisRound := lott.TotalAddrNum
buyAmountThisRound := lott.BuyAmount
rec, updateInfo, err := action.checkDraw(lott) rec, updateInfo, err := action.checkDraw(lott)
if err != nil { if err != nil {
return nil, err return nil, err
...@@ -437,7 +486,7 @@ func (action *Action) LotteryDraw(draw *pty.LotteryDraw) (*types.Receipt, error) ...@@ -437,7 +486,7 @@ func (action *Action) LotteryDraw(draw *pty.LotteryDraw) (*types.Receipt, error)
lott.Save(action.db) lott.Save(action.db)
kv = append(kv, lott.GetKVSet()...) kv = append(kv, lott.GetKVSet()...)
receiptLog := action.GetReceiptLog(&lott.Lottery, preStatus, pty.TyLogLotteryDraw, lott.Round, 0, 0, 0, lott.LuckyNumber, updateInfo) receiptLog := action.GetDrawReceiptLog(&lott.Lottery, preStatus, lott.Round, lott.LuckyNumber, updateInfo, addrNumThisRound, buyAmountThisRound)
logs = append(logs, receiptLog) logs = append(logs, receiptLog)
receipt = &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs} receipt = &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}
...@@ -508,7 +557,7 @@ func (action *Action) LotteryClose(draw *pty.LotteryClose) (*types.Receipt, erro ...@@ -508,7 +557,7 @@ func (action *Action) LotteryClose(draw *pty.LotteryClose) (*types.Receipt, erro
lott.Save(action.db) lott.Save(action.db)
kv = append(kv, lott.GetKVSet()...) kv = append(kv, lott.GetKVSet()...)
receiptLog := action.GetReceiptLog(&lott.Lottery, preStatus, pty.TyLogLotteryClose, 0, 0, 0, 0, 0, nil) receiptLog := action.GetCloseReceiptLog(&lott.Lottery, preStatus)
logs = append(logs, receiptLog) logs = append(logs, receiptLog)
return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil return &types.Receipt{Ty: types.ExecOk, KV: kv, Logs: logs}, nil
...@@ -677,6 +726,8 @@ func (action *Action) checkDraw(lott *LotteryDB) (*types.Receipt, *pty.LotteryUp ...@@ -677,6 +726,8 @@ func (action *Action) checkDraw(lott *LotteryDB) (*types.Receipt, *pty.LotteryUp
lott.Status = pty.LotteryDrawed lott.Status = pty.LotteryDrawed
lott.TotalPurchasedTxNum = 0 lott.TotalPurchasedTxNum = 0
lott.LuckyNumber = luckynum lott.LuckyNumber = luckynum
lott.TotalAddrNum = 0
lott.BuyAmount = 0
action.recordMissing(lott) action.recordMissing(lott)
if types.IsPara() { if types.IsPara() {
......
...@@ -55,7 +55,8 @@ func (l *Lottery) Query_GetLotteryCurrentInfo(param *pty.ReqLotteryInfo) (types. ...@@ -55,7 +55,8 @@ func (l *Lottery) Query_GetLotteryCurrentInfo(param *pty.ReqLotteryInfo) (types.
PurBlockNum: lottery.PurBlockNum, PurBlockNum: lottery.PurBlockNum,
DrawBlockNum: lottery.DrawBlockNum, DrawBlockNum: lottery.DrawBlockNum,
MissingRecords: lottery.MissingRecords, MissingRecords: lottery.MissingRecords,
} TotalAddrNum: lottery.TotalAddrNum,
BuyAmount: lottery.BuyAmount}
return reply, nil return reply, nil
} }
......
...@@ -37,6 +37,8 @@ message Lottery { ...@@ -37,6 +37,8 @@ message Lottery {
int64 opRewardRatio = 18; int64 opRewardRatio = 18;
int64 devRewardRatio = 19; int64 devRewardRatio = 19;
repeated PurchaseRecords purRecords = 20; repeated PurchaseRecords purRecords = 20;
int64 totalAddrNum = 21;
int64 buyAmount = 22;
} }
message MissingRecord { message MissingRecord {
...@@ -89,6 +91,8 @@ message ReceiptLottery { ...@@ -89,6 +91,8 @@ message ReceiptLottery {
LotteryUpdateBuyInfo updateInfo = 11; LotteryUpdateBuyInfo updateInfo = 11;
int64 way = 12; int64 way = 12;
int64 index = 13; int64 index = 13;
int64 totalAddrNum = 14;
int64 buyAmount = 15;
} }
message ReqLotteryInfo { message ReqLotteryInfo {
...@@ -144,6 +148,8 @@ message ReplyLotteryCurrentInfo { ...@@ -144,6 +148,8 @@ message ReplyLotteryCurrentInfo {
int64 purBlockNum = 10; int64 purBlockNum = 10;
int64 drawBlockNum = 11; int64 drawBlockNum = 11;
repeated MissingRecord missingRecords = 12; repeated MissingRecord missingRecords = 12;
int64 totalAddrNum = 13;
int64 buyAmount = 14;
} }
message ReplyLotteryHistoryLuckyNumber { message ReplyLotteryHistoryLuckyNumber {
...@@ -180,6 +186,8 @@ message LotteryDrawRecord { ...@@ -180,6 +186,8 @@ message LotteryDrawRecord {
int64 round = 2; int64 round = 2;
int64 time = 3; int64 time = 3;
string txHash = 4; string txHash = 4;
int64 totalAddrNum = 5;
int64 buyAmount = 6;
} }
message LotteryDrawRecords { message LotteryDrawRecords {
......
...@@ -3,12 +3,9 @@ ...@@ -3,12 +3,9 @@
package types package types
import ( import proto "github.com/golang/protobuf/proto"
fmt "fmt" import fmt "fmt"
math "math" import math "math"
proto "github.com/golang/protobuf/proto"
)
// Reference imports to suppress errors if they are not otherwise used. // Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal var _ = proto.Marshal
...@@ -35,17 +32,16 @@ func (m *PurchaseRecord) Reset() { *m = PurchaseRecord{} } ...@@ -35,17 +32,16 @@ func (m *PurchaseRecord) Reset() { *m = PurchaseRecord{} }
func (m *PurchaseRecord) String() string { return proto.CompactTextString(m) } func (m *PurchaseRecord) String() string { return proto.CompactTextString(m) }
func (*PurchaseRecord) ProtoMessage() {} func (*PurchaseRecord) ProtoMessage() {}
func (*PurchaseRecord) Descriptor() ([]byte, []int) { func (*PurchaseRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{0} return fileDescriptor_lottery_2a813bc9ca021826, []int{0}
} }
func (m *PurchaseRecord) XXX_Unmarshal(b []byte) error { func (m *PurchaseRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PurchaseRecord.Unmarshal(m, b) return xxx_messageInfo_PurchaseRecord.Unmarshal(m, b)
} }
func (m *PurchaseRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *PurchaseRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PurchaseRecord.Marshal(b, m, deterministic) return xxx_messageInfo_PurchaseRecord.Marshal(b, m, deterministic)
} }
func (m *PurchaseRecord) XXX_Merge(src proto.Message) { func (dst *PurchaseRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_PurchaseRecord.Merge(m, src) xxx_messageInfo_PurchaseRecord.Merge(dst, src)
} }
func (m *PurchaseRecord) XXX_Size() int { func (m *PurchaseRecord) XXX_Size() int {
return xxx_messageInfo_PurchaseRecord.Size(m) return xxx_messageInfo_PurchaseRecord.Size(m)
...@@ -98,17 +94,16 @@ func (m *PurchaseRecords) Reset() { *m = PurchaseRecords{} } ...@@ -98,17 +94,16 @@ func (m *PurchaseRecords) Reset() { *m = PurchaseRecords{} }
func (m *PurchaseRecords) String() string { return proto.CompactTextString(m) } func (m *PurchaseRecords) String() string { return proto.CompactTextString(m) }
func (*PurchaseRecords) ProtoMessage() {} func (*PurchaseRecords) ProtoMessage() {}
func (*PurchaseRecords) Descriptor() ([]byte, []int) { func (*PurchaseRecords) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{1} return fileDescriptor_lottery_2a813bc9ca021826, []int{1}
} }
func (m *PurchaseRecords) XXX_Unmarshal(b []byte) error { func (m *PurchaseRecords) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PurchaseRecords.Unmarshal(m, b) return xxx_messageInfo_PurchaseRecords.Unmarshal(m, b)
} }
func (m *PurchaseRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *PurchaseRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_PurchaseRecords.Marshal(b, m, deterministic) return xxx_messageInfo_PurchaseRecords.Marshal(b, m, deterministic)
} }
func (m *PurchaseRecords) XXX_Merge(src proto.Message) { func (dst *PurchaseRecords) XXX_Merge(src proto.Message) {
xxx_messageInfo_PurchaseRecords.Merge(m, src) xxx_messageInfo_PurchaseRecords.Merge(dst, src)
} }
func (m *PurchaseRecords) XXX_Size() int { func (m *PurchaseRecords) XXX_Size() int {
return xxx_messageInfo_PurchaseRecords.Size(m) return xxx_messageInfo_PurchaseRecords.Size(m)
...@@ -156,7 +151,7 @@ type Lottery struct { ...@@ -156,7 +151,7 @@ type Lottery struct {
DrawBlockNum int64 `protobuf:"varint,6,opt,name=drawBlockNum,proto3" json:"drawBlockNum,omitempty"` DrawBlockNum int64 `protobuf:"varint,6,opt,name=drawBlockNum,proto3" json:"drawBlockNum,omitempty"`
LastTransToPurState int64 `protobuf:"varint,7,opt,name=lastTransToPurState,proto3" json:"lastTransToPurState,omitempty"` LastTransToPurState int64 `protobuf:"varint,7,opt,name=lastTransToPurState,proto3" json:"lastTransToPurState,omitempty"`
LastTransToDrawState int64 `protobuf:"varint,8,opt,name=lastTransToDrawState,proto3" json:"lastTransToDrawState,omitempty"` LastTransToDrawState int64 `protobuf:"varint,8,opt,name=lastTransToDrawState,proto3" json:"lastTransToDrawState,omitempty"`
//map<string, PurchaseRecords> records = 9; // map<string, PurchaseRecords> records = 9;
TotalPurchasedTxNum int64 `protobuf:"varint,10,opt,name=totalPurchasedTxNum,proto3" json:"totalPurchasedTxNum,omitempty"` TotalPurchasedTxNum int64 `protobuf:"varint,10,opt,name=totalPurchasedTxNum,proto3" json:"totalPurchasedTxNum,omitempty"`
CreateAddr string `protobuf:"bytes,11,opt,name=createAddr,proto3" json:"createAddr,omitempty"` CreateAddr string `protobuf:"bytes,11,opt,name=createAddr,proto3" json:"createAddr,omitempty"`
Round int64 `protobuf:"varint,12,opt,name=round,proto3" json:"round,omitempty"` Round int64 `protobuf:"varint,12,opt,name=round,proto3" json:"round,omitempty"`
...@@ -168,6 +163,8 @@ type Lottery struct { ...@@ -168,6 +163,8 @@ type Lottery struct {
OpRewardRatio int64 `protobuf:"varint,18,opt,name=opRewardRatio,proto3" json:"opRewardRatio,omitempty"` OpRewardRatio int64 `protobuf:"varint,18,opt,name=opRewardRatio,proto3" json:"opRewardRatio,omitempty"`
DevRewardRatio int64 `protobuf:"varint,19,opt,name=devRewardRatio,proto3" json:"devRewardRatio,omitempty"` DevRewardRatio int64 `protobuf:"varint,19,opt,name=devRewardRatio,proto3" json:"devRewardRatio,omitempty"`
PurRecords []*PurchaseRecords `protobuf:"bytes,20,rep,name=purRecords,proto3" json:"purRecords,omitempty"` PurRecords []*PurchaseRecords `protobuf:"bytes,20,rep,name=purRecords,proto3" json:"purRecords,omitempty"`
TotalAddrNum int64 `protobuf:"varint,21,opt,name=totalAddrNum,proto3" json:"totalAddrNum,omitempty"`
BuyAmount int64 `protobuf:"varint,22,opt,name=buyAmount,proto3" json:"buyAmount,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -177,17 +174,16 @@ func (m *Lottery) Reset() { *m = Lottery{} } ...@@ -177,17 +174,16 @@ func (m *Lottery) Reset() { *m = Lottery{} }
func (m *Lottery) String() string { return proto.CompactTextString(m) } func (m *Lottery) String() string { return proto.CompactTextString(m) }
func (*Lottery) ProtoMessage() {} func (*Lottery) ProtoMessage() {}
func (*Lottery) Descriptor() ([]byte, []int) { func (*Lottery) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{2} return fileDescriptor_lottery_2a813bc9ca021826, []int{2}
} }
func (m *Lottery) XXX_Unmarshal(b []byte) error { func (m *Lottery) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Lottery.Unmarshal(m, b) return xxx_messageInfo_Lottery.Unmarshal(m, b)
} }
func (m *Lottery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *Lottery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_Lottery.Marshal(b, m, deterministic) return xxx_messageInfo_Lottery.Marshal(b, m, deterministic)
} }
func (m *Lottery) XXX_Merge(src proto.Message) { func (dst *Lottery) XXX_Merge(src proto.Message) {
xxx_messageInfo_Lottery.Merge(m, src) xxx_messageInfo_Lottery.Merge(dst, src)
} }
func (m *Lottery) XXX_Size() int { func (m *Lottery) XXX_Size() int {
return xxx_messageInfo_Lottery.Size(m) return xxx_messageInfo_Lottery.Size(m)
...@@ -331,6 +327,20 @@ func (m *Lottery) GetPurRecords() []*PurchaseRecords { ...@@ -331,6 +327,20 @@ func (m *Lottery) GetPurRecords() []*PurchaseRecords {
return nil return nil
} }
func (m *Lottery) GetTotalAddrNum() int64 {
if m != nil {
return m.TotalAddrNum
}
return 0
}
func (m *Lottery) GetBuyAmount() int64 {
if m != nil {
return m.BuyAmount
}
return 0
}
type MissingRecord struct { type MissingRecord struct {
Times []int32 `protobuf:"varint,1,rep,packed,name=times,proto3" json:"times,omitempty"` Times []int32 `protobuf:"varint,1,rep,packed,name=times,proto3" json:"times,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
...@@ -342,17 +352,16 @@ func (m *MissingRecord) Reset() { *m = MissingRecord{} } ...@@ -342,17 +352,16 @@ func (m *MissingRecord) Reset() { *m = MissingRecord{} }
func (m *MissingRecord) String() string { return proto.CompactTextString(m) } func (m *MissingRecord) String() string { return proto.CompactTextString(m) }
func (*MissingRecord) ProtoMessage() {} func (*MissingRecord) ProtoMessage() {}
func (*MissingRecord) Descriptor() ([]byte, []int) { func (*MissingRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{3} return fileDescriptor_lottery_2a813bc9ca021826, []int{3}
} }
func (m *MissingRecord) XXX_Unmarshal(b []byte) error { func (m *MissingRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_MissingRecord.Unmarshal(m, b) return xxx_messageInfo_MissingRecord.Unmarshal(m, b)
} }
func (m *MissingRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *MissingRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_MissingRecord.Marshal(b, m, deterministic) return xxx_messageInfo_MissingRecord.Marshal(b, m, deterministic)
} }
func (m *MissingRecord) XXX_Merge(src proto.Message) { func (dst *MissingRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_MissingRecord.Merge(m, src) xxx_messageInfo_MissingRecord.Merge(dst, src)
} }
func (m *MissingRecord) XXX_Size() int { func (m *MissingRecord) XXX_Size() int {
return xxx_messageInfo_MissingRecord.Size(m) return xxx_messageInfo_MissingRecord.Size(m)
...@@ -387,17 +396,16 @@ func (m *LotteryAction) Reset() { *m = LotteryAction{} } ...@@ -387,17 +396,16 @@ func (m *LotteryAction) Reset() { *m = LotteryAction{} }
func (m *LotteryAction) String() string { return proto.CompactTextString(m) } func (m *LotteryAction) String() string { return proto.CompactTextString(m) }
func (*LotteryAction) ProtoMessage() {} func (*LotteryAction) ProtoMessage() {}
func (*LotteryAction) Descriptor() ([]byte, []int) { func (*LotteryAction) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{4} return fileDescriptor_lottery_2a813bc9ca021826, []int{4}
} }
func (m *LotteryAction) XXX_Unmarshal(b []byte) error { func (m *LotteryAction) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LotteryAction.Unmarshal(m, b) return xxx_messageInfo_LotteryAction.Unmarshal(m, b)
} }
func (m *LotteryAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *LotteryAction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LotteryAction.Marshal(b, m, deterministic) return xxx_messageInfo_LotteryAction.Marshal(b, m, deterministic)
} }
func (m *LotteryAction) XXX_Merge(src proto.Message) { func (dst *LotteryAction) XXX_Merge(src proto.Message) {
xxx_messageInfo_LotteryAction.Merge(m, src) xxx_messageInfo_LotteryAction.Merge(dst, src)
} }
func (m *LotteryAction) XXX_Size() int { func (m *LotteryAction) XXX_Size() int {
return xxx_messageInfo_LotteryAction.Size(m) return xxx_messageInfo_LotteryAction.Size(m)
...@@ -415,25 +423,19 @@ type isLotteryAction_Value interface { ...@@ -415,25 +423,19 @@ type isLotteryAction_Value interface {
type LotteryAction_Create struct { type LotteryAction_Create struct {
Create *LotteryCreate `protobuf:"bytes,1,opt,name=create,proto3,oneof"` Create *LotteryCreate `protobuf:"bytes,1,opt,name=create,proto3,oneof"`
} }
type LotteryAction_Buy struct { type LotteryAction_Buy struct {
Buy *LotteryBuy `protobuf:"bytes,2,opt,name=buy,proto3,oneof"` Buy *LotteryBuy `protobuf:"bytes,2,opt,name=buy,proto3,oneof"`
} }
type LotteryAction_Draw struct { type LotteryAction_Draw struct {
Draw *LotteryDraw `protobuf:"bytes,3,opt,name=draw,proto3,oneof"` Draw *LotteryDraw `protobuf:"bytes,3,opt,name=draw,proto3,oneof"`
} }
type LotteryAction_Close struct { type LotteryAction_Close struct {
Close *LotteryClose `protobuf:"bytes,4,opt,name=close,proto3,oneof"` Close *LotteryClose `protobuf:"bytes,4,opt,name=close,proto3,oneof"`
} }
func (*LotteryAction_Create) isLotteryAction_Value() {} func (*LotteryAction_Create) isLotteryAction_Value() {}
func (*LotteryAction_Buy) isLotteryAction_Value() {} func (*LotteryAction_Buy) isLotteryAction_Value() {}
func (*LotteryAction_Draw) isLotteryAction_Value() {} func (*LotteryAction_Draw) isLotteryAction_Value() {}
func (*LotteryAction_Close) isLotteryAction_Value() {} func (*LotteryAction_Close) isLotteryAction_Value() {}
func (m *LotteryAction) GetValue() isLotteryAction_Value { func (m *LotteryAction) GetValue() isLotteryAction_Value {
...@@ -604,17 +606,16 @@ func (m *LotteryCreate) Reset() { *m = LotteryCreate{} } ...@@ -604,17 +606,16 @@ func (m *LotteryCreate) Reset() { *m = LotteryCreate{} }
func (m *LotteryCreate) String() string { return proto.CompactTextString(m) } func (m *LotteryCreate) String() string { return proto.CompactTextString(m) }
func (*LotteryCreate) ProtoMessage() {} func (*LotteryCreate) ProtoMessage() {}
func (*LotteryCreate) Descriptor() ([]byte, []int) { func (*LotteryCreate) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{5} return fileDescriptor_lottery_2a813bc9ca021826, []int{5}
} }
func (m *LotteryCreate) XXX_Unmarshal(b []byte) error { func (m *LotteryCreate) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LotteryCreate.Unmarshal(m, b) return xxx_messageInfo_LotteryCreate.Unmarshal(m, b)
} }
func (m *LotteryCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *LotteryCreate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LotteryCreate.Marshal(b, m, deterministic) return xxx_messageInfo_LotteryCreate.Marshal(b, m, deterministic)
} }
func (m *LotteryCreate) XXX_Merge(src proto.Message) { func (dst *LotteryCreate) XXX_Merge(src proto.Message) {
xxx_messageInfo_LotteryCreate.Merge(m, src) xxx_messageInfo_LotteryCreate.Merge(dst, src)
} }
func (m *LotteryCreate) XXX_Size() int { func (m *LotteryCreate) XXX_Size() int {
return xxx_messageInfo_LotteryCreate.Size(m) return xxx_messageInfo_LotteryCreate.Size(m)
...@@ -667,17 +668,16 @@ func (m *LotteryBuy) Reset() { *m = LotteryBuy{} } ...@@ -667,17 +668,16 @@ func (m *LotteryBuy) Reset() { *m = LotteryBuy{} }
func (m *LotteryBuy) String() string { return proto.CompactTextString(m) } func (m *LotteryBuy) String() string { return proto.CompactTextString(m) }
func (*LotteryBuy) ProtoMessage() {} func (*LotteryBuy) ProtoMessage() {}
func (*LotteryBuy) Descriptor() ([]byte, []int) { func (*LotteryBuy) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{6} return fileDescriptor_lottery_2a813bc9ca021826, []int{6}
} }
func (m *LotteryBuy) XXX_Unmarshal(b []byte) error { func (m *LotteryBuy) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LotteryBuy.Unmarshal(m, b) return xxx_messageInfo_LotteryBuy.Unmarshal(m, b)
} }
func (m *LotteryBuy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *LotteryBuy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LotteryBuy.Marshal(b, m, deterministic) return xxx_messageInfo_LotteryBuy.Marshal(b, m, deterministic)
} }
func (m *LotteryBuy) XXX_Merge(src proto.Message) { func (dst *LotteryBuy) XXX_Merge(src proto.Message) {
xxx_messageInfo_LotteryBuy.Merge(m, src) xxx_messageInfo_LotteryBuy.Merge(dst, src)
} }
func (m *LotteryBuy) XXX_Size() int { func (m *LotteryBuy) XXX_Size() int {
return xxx_messageInfo_LotteryBuy.Size(m) return xxx_messageInfo_LotteryBuy.Size(m)
...@@ -727,17 +727,16 @@ func (m *LotteryDraw) Reset() { *m = LotteryDraw{} } ...@@ -727,17 +727,16 @@ func (m *LotteryDraw) Reset() { *m = LotteryDraw{} }
func (m *LotteryDraw) String() string { return proto.CompactTextString(m) } func (m *LotteryDraw) String() string { return proto.CompactTextString(m) }
func (*LotteryDraw) ProtoMessage() {} func (*LotteryDraw) ProtoMessage() {}
func (*LotteryDraw) Descriptor() ([]byte, []int) { func (*LotteryDraw) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{7} return fileDescriptor_lottery_2a813bc9ca021826, []int{7}
} }
func (m *LotteryDraw) XXX_Unmarshal(b []byte) error { func (m *LotteryDraw) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LotteryDraw.Unmarshal(m, b) return xxx_messageInfo_LotteryDraw.Unmarshal(m, b)
} }
func (m *LotteryDraw) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *LotteryDraw) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LotteryDraw.Marshal(b, m, deterministic) return xxx_messageInfo_LotteryDraw.Marshal(b, m, deterministic)
} }
func (m *LotteryDraw) XXX_Merge(src proto.Message) { func (dst *LotteryDraw) XXX_Merge(src proto.Message) {
xxx_messageInfo_LotteryDraw.Merge(m, src) xxx_messageInfo_LotteryDraw.Merge(dst, src)
} }
func (m *LotteryDraw) XXX_Size() int { func (m *LotteryDraw) XXX_Size() int {
return xxx_messageInfo_LotteryDraw.Size(m) return xxx_messageInfo_LotteryDraw.Size(m)
...@@ -766,17 +765,16 @@ func (m *LotteryClose) Reset() { *m = LotteryClose{} } ...@@ -766,17 +765,16 @@ func (m *LotteryClose) Reset() { *m = LotteryClose{} }
func (m *LotteryClose) String() string { return proto.CompactTextString(m) } func (m *LotteryClose) String() string { return proto.CompactTextString(m) }
func (*LotteryClose) ProtoMessage() {} func (*LotteryClose) ProtoMessage() {}
func (*LotteryClose) Descriptor() ([]byte, []int) { func (*LotteryClose) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{8} return fileDescriptor_lottery_2a813bc9ca021826, []int{8}
} }
func (m *LotteryClose) XXX_Unmarshal(b []byte) error { func (m *LotteryClose) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LotteryClose.Unmarshal(m, b) return xxx_messageInfo_LotteryClose.Unmarshal(m, b)
} }
func (m *LotteryClose) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *LotteryClose) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LotteryClose.Marshal(b, m, deterministic) return xxx_messageInfo_LotteryClose.Marshal(b, m, deterministic)
} }
func (m *LotteryClose) XXX_Merge(src proto.Message) { func (dst *LotteryClose) XXX_Merge(src proto.Message) {
xxx_messageInfo_LotteryClose.Merge(m, src) xxx_messageInfo_LotteryClose.Merge(dst, src)
} }
func (m *LotteryClose) XXX_Size() int { func (m *LotteryClose) XXX_Size() int {
return xxx_messageInfo_LotteryClose.Size(m) return xxx_messageInfo_LotteryClose.Size(m)
...@@ -808,6 +806,8 @@ type ReceiptLottery struct { ...@@ -808,6 +806,8 @@ type ReceiptLottery struct {
UpdateInfo *LotteryUpdateBuyInfo `protobuf:"bytes,11,opt,name=updateInfo,proto3" json:"updateInfo,omitempty"` UpdateInfo *LotteryUpdateBuyInfo `protobuf:"bytes,11,opt,name=updateInfo,proto3" json:"updateInfo,omitempty"`
Way int64 `protobuf:"varint,12,opt,name=way,proto3" json:"way,omitempty"` Way int64 `protobuf:"varint,12,opt,name=way,proto3" json:"way,omitempty"`
Index int64 `protobuf:"varint,13,opt,name=index,proto3" json:"index,omitempty"` Index int64 `protobuf:"varint,13,opt,name=index,proto3" json:"index,omitempty"`
TotalAddrNum int64 `protobuf:"varint,14,opt,name=totalAddrNum,proto3" json:"totalAddrNum,omitempty"`
BuyAmount int64 `protobuf:"varint,15,opt,name=buyAmount,proto3" json:"buyAmount,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -817,17 +817,16 @@ func (m *ReceiptLottery) Reset() { *m = ReceiptLottery{} } ...@@ -817,17 +817,16 @@ func (m *ReceiptLottery) Reset() { *m = ReceiptLottery{} }
func (m *ReceiptLottery) String() string { return proto.CompactTextString(m) } func (m *ReceiptLottery) String() string { return proto.CompactTextString(m) }
func (*ReceiptLottery) ProtoMessage() {} func (*ReceiptLottery) ProtoMessage() {}
func (*ReceiptLottery) Descriptor() ([]byte, []int) { func (*ReceiptLottery) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{9} return fileDescriptor_lottery_2a813bc9ca021826, []int{9}
} }
func (m *ReceiptLottery) XXX_Unmarshal(b []byte) error { func (m *ReceiptLottery) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReceiptLottery.Unmarshal(m, b) return xxx_messageInfo_ReceiptLottery.Unmarshal(m, b)
} }
func (m *ReceiptLottery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReceiptLottery) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReceiptLottery.Marshal(b, m, deterministic) return xxx_messageInfo_ReceiptLottery.Marshal(b, m, deterministic)
} }
func (m *ReceiptLottery) XXX_Merge(src proto.Message) { func (dst *ReceiptLottery) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReceiptLottery.Merge(m, src) xxx_messageInfo_ReceiptLottery.Merge(dst, src)
} }
func (m *ReceiptLottery) XXX_Size() int { func (m *ReceiptLottery) XXX_Size() int {
return xxx_messageInfo_ReceiptLottery.Size(m) return xxx_messageInfo_ReceiptLottery.Size(m)
...@@ -929,6 +928,20 @@ func (m *ReceiptLottery) GetIndex() int64 { ...@@ -929,6 +928,20 @@ func (m *ReceiptLottery) GetIndex() int64 {
return 0 return 0
} }
func (m *ReceiptLottery) GetTotalAddrNum() int64 {
if m != nil {
return m.TotalAddrNum
}
return 0
}
func (m *ReceiptLottery) GetBuyAmount() int64 {
if m != nil {
return m.BuyAmount
}
return 0
}
type ReqLotteryInfo struct { type ReqLotteryInfo struct {
LotteryId string `protobuf:"bytes,1,opt,name=lotteryId,proto3" json:"lotteryId,omitempty"` LotteryId string `protobuf:"bytes,1,opt,name=lotteryId,proto3" json:"lotteryId,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
...@@ -940,17 +953,16 @@ func (m *ReqLotteryInfo) Reset() { *m = ReqLotteryInfo{} } ...@@ -940,17 +953,16 @@ func (m *ReqLotteryInfo) Reset() { *m = ReqLotteryInfo{} }
func (m *ReqLotteryInfo) String() string { return proto.CompactTextString(m) } func (m *ReqLotteryInfo) String() string { return proto.CompactTextString(m) }
func (*ReqLotteryInfo) ProtoMessage() {} func (*ReqLotteryInfo) ProtoMessage() {}
func (*ReqLotteryInfo) Descriptor() ([]byte, []int) { func (*ReqLotteryInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{10} return fileDescriptor_lottery_2a813bc9ca021826, []int{10}
} }
func (m *ReqLotteryInfo) XXX_Unmarshal(b []byte) error { func (m *ReqLotteryInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqLotteryInfo.Unmarshal(m, b) return xxx_messageInfo_ReqLotteryInfo.Unmarshal(m, b)
} }
func (m *ReqLotteryInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqLotteryInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqLotteryInfo.Marshal(b, m, deterministic) return xxx_messageInfo_ReqLotteryInfo.Marshal(b, m, deterministic)
} }
func (m *ReqLotteryInfo) XXX_Merge(src proto.Message) { func (dst *ReqLotteryInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqLotteryInfo.Merge(m, src) xxx_messageInfo_ReqLotteryInfo.Merge(dst, src)
} }
func (m *ReqLotteryInfo) XXX_Size() int { func (m *ReqLotteryInfo) XXX_Size() int {
return xxx_messageInfo_ReqLotteryInfo.Size(m) return xxx_messageInfo_ReqLotteryInfo.Size(m)
...@@ -981,17 +993,16 @@ func (m *ReqLotteryBuyInfo) Reset() { *m = ReqLotteryBuyInfo{} } ...@@ -981,17 +993,16 @@ func (m *ReqLotteryBuyInfo) Reset() { *m = ReqLotteryBuyInfo{} }
func (m *ReqLotteryBuyInfo) String() string { return proto.CompactTextString(m) } func (m *ReqLotteryBuyInfo) String() string { return proto.CompactTextString(m) }
func (*ReqLotteryBuyInfo) ProtoMessage() {} func (*ReqLotteryBuyInfo) ProtoMessage() {}
func (*ReqLotteryBuyInfo) Descriptor() ([]byte, []int) { func (*ReqLotteryBuyInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{11} return fileDescriptor_lottery_2a813bc9ca021826, []int{11}
} }
func (m *ReqLotteryBuyInfo) XXX_Unmarshal(b []byte) error { func (m *ReqLotteryBuyInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqLotteryBuyInfo.Unmarshal(m, b) return xxx_messageInfo_ReqLotteryBuyInfo.Unmarshal(m, b)
} }
func (m *ReqLotteryBuyInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqLotteryBuyInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqLotteryBuyInfo.Marshal(b, m, deterministic) return xxx_messageInfo_ReqLotteryBuyInfo.Marshal(b, m, deterministic)
} }
func (m *ReqLotteryBuyInfo) XXX_Merge(src proto.Message) { func (dst *ReqLotteryBuyInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqLotteryBuyInfo.Merge(m, src) xxx_messageInfo_ReqLotteryBuyInfo.Merge(dst, src)
} }
func (m *ReqLotteryBuyInfo) XXX_Size() int { func (m *ReqLotteryBuyInfo) XXX_Size() int {
return xxx_messageInfo_ReqLotteryBuyInfo.Size(m) return xxx_messageInfo_ReqLotteryBuyInfo.Size(m)
...@@ -1039,17 +1050,16 @@ func (m *ReqLotteryBuyHistory) Reset() { *m = ReqLotteryBuyHistory{} } ...@@ -1039,17 +1050,16 @@ func (m *ReqLotteryBuyHistory) Reset() { *m = ReqLotteryBuyHistory{} }
func (m *ReqLotteryBuyHistory) String() string { return proto.CompactTextString(m) } func (m *ReqLotteryBuyHistory) String() string { return proto.CompactTextString(m) }
func (*ReqLotteryBuyHistory) ProtoMessage() {} func (*ReqLotteryBuyHistory) ProtoMessage() {}
func (*ReqLotteryBuyHistory) Descriptor() ([]byte, []int) { func (*ReqLotteryBuyHistory) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{12} return fileDescriptor_lottery_2a813bc9ca021826, []int{12}
} }
func (m *ReqLotteryBuyHistory) XXX_Unmarshal(b []byte) error { func (m *ReqLotteryBuyHistory) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqLotteryBuyHistory.Unmarshal(m, b) return xxx_messageInfo_ReqLotteryBuyHistory.Unmarshal(m, b)
} }
func (m *ReqLotteryBuyHistory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqLotteryBuyHistory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqLotteryBuyHistory.Marshal(b, m, deterministic) return xxx_messageInfo_ReqLotteryBuyHistory.Marshal(b, m, deterministic)
} }
func (m *ReqLotteryBuyHistory) XXX_Merge(src proto.Message) { func (dst *ReqLotteryBuyHistory) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqLotteryBuyHistory.Merge(m, src) xxx_messageInfo_ReqLotteryBuyHistory.Merge(dst, src)
} }
func (m *ReqLotteryBuyHistory) XXX_Size() int { func (m *ReqLotteryBuyHistory) XXX_Size() int {
return xxx_messageInfo_ReqLotteryBuyHistory.Size(m) return xxx_messageInfo_ReqLotteryBuyHistory.Size(m)
...@@ -1114,17 +1124,16 @@ func (m *ReqLotteryLuckyInfo) Reset() { *m = ReqLotteryLuckyInfo{} } ...@@ -1114,17 +1124,16 @@ func (m *ReqLotteryLuckyInfo) Reset() { *m = ReqLotteryLuckyInfo{} }
func (m *ReqLotteryLuckyInfo) String() string { return proto.CompactTextString(m) } func (m *ReqLotteryLuckyInfo) String() string { return proto.CompactTextString(m) }
func (*ReqLotteryLuckyInfo) ProtoMessage() {} func (*ReqLotteryLuckyInfo) ProtoMessage() {}
func (*ReqLotteryLuckyInfo) Descriptor() ([]byte, []int) { func (*ReqLotteryLuckyInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{13} return fileDescriptor_lottery_2a813bc9ca021826, []int{13}
} }
func (m *ReqLotteryLuckyInfo) XXX_Unmarshal(b []byte) error { func (m *ReqLotteryLuckyInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqLotteryLuckyInfo.Unmarshal(m, b) return xxx_messageInfo_ReqLotteryLuckyInfo.Unmarshal(m, b)
} }
func (m *ReqLotteryLuckyInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqLotteryLuckyInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqLotteryLuckyInfo.Marshal(b, m, deterministic) return xxx_messageInfo_ReqLotteryLuckyInfo.Marshal(b, m, deterministic)
} }
func (m *ReqLotteryLuckyInfo) XXX_Merge(src proto.Message) { func (dst *ReqLotteryLuckyInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqLotteryLuckyInfo.Merge(m, src) xxx_messageInfo_ReqLotteryLuckyInfo.Merge(dst, src)
} }
func (m *ReqLotteryLuckyInfo) XXX_Size() int { func (m *ReqLotteryLuckyInfo) XXX_Size() int {
return xxx_messageInfo_ReqLotteryLuckyInfo.Size(m) return xxx_messageInfo_ReqLotteryLuckyInfo.Size(m)
...@@ -1163,17 +1172,16 @@ func (m *ReqLotteryLuckyHistory) Reset() { *m = ReqLotteryLuckyHistory{} ...@@ -1163,17 +1172,16 @@ func (m *ReqLotteryLuckyHistory) Reset() { *m = ReqLotteryLuckyHistory{}
func (m *ReqLotteryLuckyHistory) String() string { return proto.CompactTextString(m) } func (m *ReqLotteryLuckyHistory) String() string { return proto.CompactTextString(m) }
func (*ReqLotteryLuckyHistory) ProtoMessage() {} func (*ReqLotteryLuckyHistory) ProtoMessage() {}
func (*ReqLotteryLuckyHistory) Descriptor() ([]byte, []int) { func (*ReqLotteryLuckyHistory) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{14} return fileDescriptor_lottery_2a813bc9ca021826, []int{14}
} }
func (m *ReqLotteryLuckyHistory) XXX_Unmarshal(b []byte) error { func (m *ReqLotteryLuckyHistory) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReqLotteryLuckyHistory.Unmarshal(m, b) return xxx_messageInfo_ReqLotteryLuckyHistory.Unmarshal(m, b)
} }
func (m *ReqLotteryLuckyHistory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReqLotteryLuckyHistory) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReqLotteryLuckyHistory.Marshal(b, m, deterministic) return xxx_messageInfo_ReqLotteryLuckyHistory.Marshal(b, m, deterministic)
} }
func (m *ReqLotteryLuckyHistory) XXX_Merge(src proto.Message) { func (dst *ReqLotteryLuckyHistory) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReqLotteryLuckyHistory.Merge(m, src) xxx_messageInfo_ReqLotteryLuckyHistory.Merge(dst, src)
} }
func (m *ReqLotteryLuckyHistory) XXX_Size() int { func (m *ReqLotteryLuckyHistory) XXX_Size() int {
return xxx_messageInfo_ReqLotteryLuckyHistory.Size(m) return xxx_messageInfo_ReqLotteryLuckyHistory.Size(m)
...@@ -1228,17 +1236,16 @@ func (m *ReplyLotteryNormalInfo) Reset() { *m = ReplyLotteryNormalInfo{} ...@@ -1228,17 +1236,16 @@ func (m *ReplyLotteryNormalInfo) Reset() { *m = ReplyLotteryNormalInfo{}
func (m *ReplyLotteryNormalInfo) String() string { return proto.CompactTextString(m) } func (m *ReplyLotteryNormalInfo) String() string { return proto.CompactTextString(m) }
func (*ReplyLotteryNormalInfo) ProtoMessage() {} func (*ReplyLotteryNormalInfo) ProtoMessage() {}
func (*ReplyLotteryNormalInfo) Descriptor() ([]byte, []int) { func (*ReplyLotteryNormalInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{15} return fileDescriptor_lottery_2a813bc9ca021826, []int{15}
} }
func (m *ReplyLotteryNormalInfo) XXX_Unmarshal(b []byte) error { func (m *ReplyLotteryNormalInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyLotteryNormalInfo.Unmarshal(m, b) return xxx_messageInfo_ReplyLotteryNormalInfo.Unmarshal(m, b)
} }
func (m *ReplyLotteryNormalInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReplyLotteryNormalInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReplyLotteryNormalInfo.Marshal(b, m, deterministic) return xxx_messageInfo_ReplyLotteryNormalInfo.Marshal(b, m, deterministic)
} }
func (m *ReplyLotteryNormalInfo) XXX_Merge(src proto.Message) { func (dst *ReplyLotteryNormalInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReplyLotteryNormalInfo.Merge(m, src) xxx_messageInfo_ReplyLotteryNormalInfo.Merge(dst, src)
} }
func (m *ReplyLotteryNormalInfo) XXX_Size() int { func (m *ReplyLotteryNormalInfo) XXX_Size() int {
return xxx_messageInfo_ReplyLotteryNormalInfo.Size(m) return xxx_messageInfo_ReplyLotteryNormalInfo.Size(m)
...@@ -1304,6 +1311,8 @@ type ReplyLotteryCurrentInfo struct { ...@@ -1304,6 +1311,8 @@ type ReplyLotteryCurrentInfo struct {
PurBlockNum int64 `protobuf:"varint,10,opt,name=purBlockNum,proto3" json:"purBlockNum,omitempty"` PurBlockNum int64 `protobuf:"varint,10,opt,name=purBlockNum,proto3" json:"purBlockNum,omitempty"`
DrawBlockNum int64 `protobuf:"varint,11,opt,name=drawBlockNum,proto3" json:"drawBlockNum,omitempty"` DrawBlockNum int64 `protobuf:"varint,11,opt,name=drawBlockNum,proto3" json:"drawBlockNum,omitempty"`
MissingRecords []*MissingRecord `protobuf:"bytes,12,rep,name=missingRecords,proto3" json:"missingRecords,omitempty"` MissingRecords []*MissingRecord `protobuf:"bytes,12,rep,name=missingRecords,proto3" json:"missingRecords,omitempty"`
TotalAddrNum int64 `protobuf:"varint,13,opt,name=totalAddrNum,proto3" json:"totalAddrNum,omitempty"`
BuyAmount int64 `protobuf:"varint,14,opt,name=buyAmount,proto3" json:"buyAmount,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -1313,17 +1322,16 @@ func (m *ReplyLotteryCurrentInfo) Reset() { *m = ReplyLotteryCurrentInfo ...@@ -1313,17 +1322,16 @@ func (m *ReplyLotteryCurrentInfo) Reset() { *m = ReplyLotteryCurrentInfo
func (m *ReplyLotteryCurrentInfo) String() string { return proto.CompactTextString(m) } func (m *ReplyLotteryCurrentInfo) String() string { return proto.CompactTextString(m) }
func (*ReplyLotteryCurrentInfo) ProtoMessage() {} func (*ReplyLotteryCurrentInfo) ProtoMessage() {}
func (*ReplyLotteryCurrentInfo) Descriptor() ([]byte, []int) { func (*ReplyLotteryCurrentInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{16} return fileDescriptor_lottery_2a813bc9ca021826, []int{16}
} }
func (m *ReplyLotteryCurrentInfo) XXX_Unmarshal(b []byte) error { func (m *ReplyLotteryCurrentInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyLotteryCurrentInfo.Unmarshal(m, b) return xxx_messageInfo_ReplyLotteryCurrentInfo.Unmarshal(m, b)
} }
func (m *ReplyLotteryCurrentInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReplyLotteryCurrentInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReplyLotteryCurrentInfo.Marshal(b, m, deterministic) return xxx_messageInfo_ReplyLotteryCurrentInfo.Marshal(b, m, deterministic)
} }
func (m *ReplyLotteryCurrentInfo) XXX_Merge(src proto.Message) { func (dst *ReplyLotteryCurrentInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReplyLotteryCurrentInfo.Merge(m, src) xxx_messageInfo_ReplyLotteryCurrentInfo.Merge(dst, src)
} }
func (m *ReplyLotteryCurrentInfo) XXX_Size() int { func (m *ReplyLotteryCurrentInfo) XXX_Size() int {
return xxx_messageInfo_ReplyLotteryCurrentInfo.Size(m) return xxx_messageInfo_ReplyLotteryCurrentInfo.Size(m)
...@@ -1418,6 +1426,20 @@ func (m *ReplyLotteryCurrentInfo) GetMissingRecords() []*MissingRecord { ...@@ -1418,6 +1426,20 @@ func (m *ReplyLotteryCurrentInfo) GetMissingRecords() []*MissingRecord {
return nil return nil
} }
func (m *ReplyLotteryCurrentInfo) GetTotalAddrNum() int64 {
if m != nil {
return m.TotalAddrNum
}
return 0
}
func (m *ReplyLotteryCurrentInfo) GetBuyAmount() int64 {
if m != nil {
return m.BuyAmount
}
return 0
}
type ReplyLotteryHistoryLuckyNumber struct { type ReplyLotteryHistoryLuckyNumber struct {
LuckyNumber []int64 `protobuf:"varint,1,rep,packed,name=luckyNumber,proto3" json:"luckyNumber,omitempty"` LuckyNumber []int64 `protobuf:"varint,1,rep,packed,name=luckyNumber,proto3" json:"luckyNumber,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
...@@ -1429,17 +1451,16 @@ func (m *ReplyLotteryHistoryLuckyNumber) Reset() { *m = ReplyLotteryHist ...@@ -1429,17 +1451,16 @@ func (m *ReplyLotteryHistoryLuckyNumber) Reset() { *m = ReplyLotteryHist
func (m *ReplyLotteryHistoryLuckyNumber) String() string { return proto.CompactTextString(m) } func (m *ReplyLotteryHistoryLuckyNumber) String() string { return proto.CompactTextString(m) }
func (*ReplyLotteryHistoryLuckyNumber) ProtoMessage() {} func (*ReplyLotteryHistoryLuckyNumber) ProtoMessage() {}
func (*ReplyLotteryHistoryLuckyNumber) Descriptor() ([]byte, []int) { func (*ReplyLotteryHistoryLuckyNumber) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{17} return fileDescriptor_lottery_2a813bc9ca021826, []int{17}
} }
func (m *ReplyLotteryHistoryLuckyNumber) XXX_Unmarshal(b []byte) error { func (m *ReplyLotteryHistoryLuckyNumber) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyLotteryHistoryLuckyNumber.Unmarshal(m, b) return xxx_messageInfo_ReplyLotteryHistoryLuckyNumber.Unmarshal(m, b)
} }
func (m *ReplyLotteryHistoryLuckyNumber) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReplyLotteryHistoryLuckyNumber) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReplyLotteryHistoryLuckyNumber.Marshal(b, m, deterministic) return xxx_messageInfo_ReplyLotteryHistoryLuckyNumber.Marshal(b, m, deterministic)
} }
func (m *ReplyLotteryHistoryLuckyNumber) XXX_Merge(src proto.Message) { func (dst *ReplyLotteryHistoryLuckyNumber) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReplyLotteryHistoryLuckyNumber.Merge(m, src) xxx_messageInfo_ReplyLotteryHistoryLuckyNumber.Merge(dst, src)
} }
func (m *ReplyLotteryHistoryLuckyNumber) XXX_Size() int { func (m *ReplyLotteryHistoryLuckyNumber) XXX_Size() int {
return xxx_messageInfo_ReplyLotteryHistoryLuckyNumber.Size(m) return xxx_messageInfo_ReplyLotteryHistoryLuckyNumber.Size(m)
...@@ -1468,17 +1489,16 @@ func (m *ReplyLotteryShowInfo) Reset() { *m = ReplyLotteryShowInfo{} } ...@@ -1468,17 +1489,16 @@ func (m *ReplyLotteryShowInfo) Reset() { *m = ReplyLotteryShowInfo{} }
func (m *ReplyLotteryShowInfo) String() string { return proto.CompactTextString(m) } func (m *ReplyLotteryShowInfo) String() string { return proto.CompactTextString(m) }
func (*ReplyLotteryShowInfo) ProtoMessage() {} func (*ReplyLotteryShowInfo) ProtoMessage() {}
func (*ReplyLotteryShowInfo) Descriptor() ([]byte, []int) { func (*ReplyLotteryShowInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{18} return fileDescriptor_lottery_2a813bc9ca021826, []int{18}
} }
func (m *ReplyLotteryShowInfo) XXX_Unmarshal(b []byte) error { func (m *ReplyLotteryShowInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyLotteryShowInfo.Unmarshal(m, b) return xxx_messageInfo_ReplyLotteryShowInfo.Unmarshal(m, b)
} }
func (m *ReplyLotteryShowInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReplyLotteryShowInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReplyLotteryShowInfo.Marshal(b, m, deterministic) return xxx_messageInfo_ReplyLotteryShowInfo.Marshal(b, m, deterministic)
} }
func (m *ReplyLotteryShowInfo) XXX_Merge(src proto.Message) { func (dst *ReplyLotteryShowInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReplyLotteryShowInfo.Merge(m, src) xxx_messageInfo_ReplyLotteryShowInfo.Merge(dst, src)
} }
func (m *ReplyLotteryShowInfo) XXX_Size() int { func (m *ReplyLotteryShowInfo) XXX_Size() int {
return xxx_messageInfo_ReplyLotteryShowInfo.Size(m) return xxx_messageInfo_ReplyLotteryShowInfo.Size(m)
...@@ -1508,17 +1528,16 @@ func (m *LotteryNumberRecord) Reset() { *m = LotteryNumberRecord{} } ...@@ -1508,17 +1528,16 @@ func (m *LotteryNumberRecord) Reset() { *m = LotteryNumberRecord{} }
func (m *LotteryNumberRecord) String() string { return proto.CompactTextString(m) } func (m *LotteryNumberRecord) String() string { return proto.CompactTextString(m) }
func (*LotteryNumberRecord) ProtoMessage() {} func (*LotteryNumberRecord) ProtoMessage() {}
func (*LotteryNumberRecord) Descriptor() ([]byte, []int) { func (*LotteryNumberRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{19} return fileDescriptor_lottery_2a813bc9ca021826, []int{19}
} }
func (m *LotteryNumberRecord) XXX_Unmarshal(b []byte) error { func (m *LotteryNumberRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LotteryNumberRecord.Unmarshal(m, b) return xxx_messageInfo_LotteryNumberRecord.Unmarshal(m, b)
} }
func (m *LotteryNumberRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *LotteryNumberRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LotteryNumberRecord.Marshal(b, m, deterministic) return xxx_messageInfo_LotteryNumberRecord.Marshal(b, m, deterministic)
} }
func (m *LotteryNumberRecord) XXX_Merge(src proto.Message) { func (dst *LotteryNumberRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_LotteryNumberRecord.Merge(m, src) xxx_messageInfo_LotteryNumberRecord.Merge(dst, src)
} }
func (m *LotteryNumberRecord) XXX_Size() int { func (m *LotteryNumberRecord) XXX_Size() int {
return xxx_messageInfo_LotteryNumberRecord.Size(m) return xxx_messageInfo_LotteryNumberRecord.Size(m)
...@@ -1562,17 +1581,16 @@ func (m *LotteryBuyRecord) Reset() { *m = LotteryBuyRecord{} } ...@@ -1562,17 +1581,16 @@ func (m *LotteryBuyRecord) Reset() { *m = LotteryBuyRecord{} }
func (m *LotteryBuyRecord) String() string { return proto.CompactTextString(m) } func (m *LotteryBuyRecord) String() string { return proto.CompactTextString(m) }
func (*LotteryBuyRecord) ProtoMessage() {} func (*LotteryBuyRecord) ProtoMessage() {}
func (*LotteryBuyRecord) Descriptor() ([]byte, []int) { func (*LotteryBuyRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{20} return fileDescriptor_lottery_2a813bc9ca021826, []int{20}
} }
func (m *LotteryBuyRecord) XXX_Unmarshal(b []byte) error { func (m *LotteryBuyRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LotteryBuyRecord.Unmarshal(m, b) return xxx_messageInfo_LotteryBuyRecord.Unmarshal(m, b)
} }
func (m *LotteryBuyRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *LotteryBuyRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LotteryBuyRecord.Marshal(b, m, deterministic) return xxx_messageInfo_LotteryBuyRecord.Marshal(b, m, deterministic)
} }
func (m *LotteryBuyRecord) XXX_Merge(src proto.Message) { func (dst *LotteryBuyRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_LotteryBuyRecord.Merge(m, src) xxx_messageInfo_LotteryBuyRecord.Merge(dst, src)
} }
func (m *LotteryBuyRecord) XXX_Size() int { func (m *LotteryBuyRecord) XXX_Size() int {
return xxx_messageInfo_LotteryBuyRecord.Size(m) return xxx_messageInfo_LotteryBuyRecord.Size(m)
...@@ -1650,17 +1668,16 @@ func (m *LotteryBuyRecords) Reset() { *m = LotteryBuyRecords{} } ...@@ -1650,17 +1668,16 @@ func (m *LotteryBuyRecords) Reset() { *m = LotteryBuyRecords{} }
func (m *LotteryBuyRecords) String() string { return proto.CompactTextString(m) } func (m *LotteryBuyRecords) String() string { return proto.CompactTextString(m) }
func (*LotteryBuyRecords) ProtoMessage() {} func (*LotteryBuyRecords) ProtoMessage() {}
func (*LotteryBuyRecords) Descriptor() ([]byte, []int) { func (*LotteryBuyRecords) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{21} return fileDescriptor_lottery_2a813bc9ca021826, []int{21}
} }
func (m *LotteryBuyRecords) XXX_Unmarshal(b []byte) error { func (m *LotteryBuyRecords) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LotteryBuyRecords.Unmarshal(m, b) return xxx_messageInfo_LotteryBuyRecords.Unmarshal(m, b)
} }
func (m *LotteryBuyRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *LotteryBuyRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LotteryBuyRecords.Marshal(b, m, deterministic) return xxx_messageInfo_LotteryBuyRecords.Marshal(b, m, deterministic)
} }
func (m *LotteryBuyRecords) XXX_Merge(src proto.Message) { func (dst *LotteryBuyRecords) XXX_Merge(src proto.Message) {
xxx_messageInfo_LotteryBuyRecords.Merge(m, src) xxx_messageInfo_LotteryBuyRecords.Merge(dst, src)
} }
func (m *LotteryBuyRecords) XXX_Size() int { func (m *LotteryBuyRecords) XXX_Size() int {
return xxx_messageInfo_LotteryBuyRecords.Size(m) return xxx_messageInfo_LotteryBuyRecords.Size(m)
...@@ -1683,6 +1700,8 @@ type LotteryDrawRecord struct { ...@@ -1683,6 +1700,8 @@ type LotteryDrawRecord struct {
Round int64 `protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"` Round int64 `protobuf:"varint,2,opt,name=round,proto3" json:"round,omitempty"`
Time int64 `protobuf:"varint,3,opt,name=time,proto3" json:"time,omitempty"` Time int64 `protobuf:"varint,3,opt,name=time,proto3" json:"time,omitempty"`
TxHash string `protobuf:"bytes,4,opt,name=txHash,proto3" json:"txHash,omitempty"` TxHash string `protobuf:"bytes,4,opt,name=txHash,proto3" json:"txHash,omitempty"`
TotalAddrNum int64 `protobuf:"varint,5,opt,name=totalAddrNum,proto3" json:"totalAddrNum,omitempty"`
BuyAmount int64 `protobuf:"varint,6,opt,name=buyAmount,proto3" json:"buyAmount,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
...@@ -1692,17 +1711,16 @@ func (m *LotteryDrawRecord) Reset() { *m = LotteryDrawRecord{} } ...@@ -1692,17 +1711,16 @@ func (m *LotteryDrawRecord) Reset() { *m = LotteryDrawRecord{} }
func (m *LotteryDrawRecord) String() string { return proto.CompactTextString(m) } func (m *LotteryDrawRecord) String() string { return proto.CompactTextString(m) }
func (*LotteryDrawRecord) ProtoMessage() {} func (*LotteryDrawRecord) ProtoMessage() {}
func (*LotteryDrawRecord) Descriptor() ([]byte, []int) { func (*LotteryDrawRecord) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{22} return fileDescriptor_lottery_2a813bc9ca021826, []int{22}
} }
func (m *LotteryDrawRecord) XXX_Unmarshal(b []byte) error { func (m *LotteryDrawRecord) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LotteryDrawRecord.Unmarshal(m, b) return xxx_messageInfo_LotteryDrawRecord.Unmarshal(m, b)
} }
func (m *LotteryDrawRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *LotteryDrawRecord) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LotteryDrawRecord.Marshal(b, m, deterministic) return xxx_messageInfo_LotteryDrawRecord.Marshal(b, m, deterministic)
} }
func (m *LotteryDrawRecord) XXX_Merge(src proto.Message) { func (dst *LotteryDrawRecord) XXX_Merge(src proto.Message) {
xxx_messageInfo_LotteryDrawRecord.Merge(m, src) xxx_messageInfo_LotteryDrawRecord.Merge(dst, src)
} }
func (m *LotteryDrawRecord) XXX_Size() int { func (m *LotteryDrawRecord) XXX_Size() int {
return xxx_messageInfo_LotteryDrawRecord.Size(m) return xxx_messageInfo_LotteryDrawRecord.Size(m)
...@@ -1741,6 +1759,20 @@ func (m *LotteryDrawRecord) GetTxHash() string { ...@@ -1741,6 +1759,20 @@ func (m *LotteryDrawRecord) GetTxHash() string {
return "" return ""
} }
func (m *LotteryDrawRecord) GetTotalAddrNum() int64 {
if m != nil {
return m.TotalAddrNum
}
return 0
}
func (m *LotteryDrawRecord) GetBuyAmount() int64 {
if m != nil {
return m.BuyAmount
}
return 0
}
type LotteryDrawRecords struct { type LotteryDrawRecords struct {
Records []*LotteryDrawRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"` Records []*LotteryDrawRecord `protobuf:"bytes,1,rep,name=records,proto3" json:"records,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
...@@ -1752,17 +1784,16 @@ func (m *LotteryDrawRecords) Reset() { *m = LotteryDrawRecords{} } ...@@ -1752,17 +1784,16 @@ func (m *LotteryDrawRecords) Reset() { *m = LotteryDrawRecords{} }
func (m *LotteryDrawRecords) String() string { return proto.CompactTextString(m) } func (m *LotteryDrawRecords) String() string { return proto.CompactTextString(m) }
func (*LotteryDrawRecords) ProtoMessage() {} func (*LotteryDrawRecords) ProtoMessage() {}
func (*LotteryDrawRecords) Descriptor() ([]byte, []int) { func (*LotteryDrawRecords) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{23} return fileDescriptor_lottery_2a813bc9ca021826, []int{23}
} }
func (m *LotteryDrawRecords) XXX_Unmarshal(b []byte) error { func (m *LotteryDrawRecords) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LotteryDrawRecords.Unmarshal(m, b) return xxx_messageInfo_LotteryDrawRecords.Unmarshal(m, b)
} }
func (m *LotteryDrawRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *LotteryDrawRecords) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LotteryDrawRecords.Marshal(b, m, deterministic) return xxx_messageInfo_LotteryDrawRecords.Marshal(b, m, deterministic)
} }
func (m *LotteryDrawRecords) XXX_Merge(src proto.Message) { func (dst *LotteryDrawRecords) XXX_Merge(src proto.Message) {
xxx_messageInfo_LotteryDrawRecords.Merge(m, src) xxx_messageInfo_LotteryDrawRecords.Merge(dst, src)
} }
func (m *LotteryDrawRecords) XXX_Size() int { func (m *LotteryDrawRecords) XXX_Size() int {
return xxx_messageInfo_LotteryDrawRecords.Size(m) return xxx_messageInfo_LotteryDrawRecords.Size(m)
...@@ -1792,17 +1823,16 @@ func (m *LotteryUpdateRec) Reset() { *m = LotteryUpdateRec{} } ...@@ -1792,17 +1823,16 @@ func (m *LotteryUpdateRec) Reset() { *m = LotteryUpdateRec{} }
func (m *LotteryUpdateRec) String() string { return proto.CompactTextString(m) } func (m *LotteryUpdateRec) String() string { return proto.CompactTextString(m) }
func (*LotteryUpdateRec) ProtoMessage() {} func (*LotteryUpdateRec) ProtoMessage() {}
func (*LotteryUpdateRec) Descriptor() ([]byte, []int) { func (*LotteryUpdateRec) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{24} return fileDescriptor_lottery_2a813bc9ca021826, []int{24}
} }
func (m *LotteryUpdateRec) XXX_Unmarshal(b []byte) error { func (m *LotteryUpdateRec) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LotteryUpdateRec.Unmarshal(m, b) return xxx_messageInfo_LotteryUpdateRec.Unmarshal(m, b)
} }
func (m *LotteryUpdateRec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *LotteryUpdateRec) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LotteryUpdateRec.Marshal(b, m, deterministic) return xxx_messageInfo_LotteryUpdateRec.Marshal(b, m, deterministic)
} }
func (m *LotteryUpdateRec) XXX_Merge(src proto.Message) { func (dst *LotteryUpdateRec) XXX_Merge(src proto.Message) {
xxx_messageInfo_LotteryUpdateRec.Merge(m, src) xxx_messageInfo_LotteryUpdateRec.Merge(dst, src)
} }
func (m *LotteryUpdateRec) XXX_Size() int { func (m *LotteryUpdateRec) XXX_Size() int {
return xxx_messageInfo_LotteryUpdateRec.Size(m) return xxx_messageInfo_LotteryUpdateRec.Size(m)
...@@ -1838,17 +1868,16 @@ func (m *LotteryUpdateRecs) Reset() { *m = LotteryUpdateRecs{} } ...@@ -1838,17 +1868,16 @@ func (m *LotteryUpdateRecs) Reset() { *m = LotteryUpdateRecs{} }
func (m *LotteryUpdateRecs) String() string { return proto.CompactTextString(m) } func (m *LotteryUpdateRecs) String() string { return proto.CompactTextString(m) }
func (*LotteryUpdateRecs) ProtoMessage() {} func (*LotteryUpdateRecs) ProtoMessage() {}
func (*LotteryUpdateRecs) Descriptor() ([]byte, []int) { func (*LotteryUpdateRecs) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{25} return fileDescriptor_lottery_2a813bc9ca021826, []int{25}
} }
func (m *LotteryUpdateRecs) XXX_Unmarshal(b []byte) error { func (m *LotteryUpdateRecs) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LotteryUpdateRecs.Unmarshal(m, b) return xxx_messageInfo_LotteryUpdateRecs.Unmarshal(m, b)
} }
func (m *LotteryUpdateRecs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *LotteryUpdateRecs) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LotteryUpdateRecs.Marshal(b, m, deterministic) return xxx_messageInfo_LotteryUpdateRecs.Marshal(b, m, deterministic)
} }
func (m *LotteryUpdateRecs) XXX_Merge(src proto.Message) { func (dst *LotteryUpdateRecs) XXX_Merge(src proto.Message) {
xxx_messageInfo_LotteryUpdateRecs.Merge(m, src) xxx_messageInfo_LotteryUpdateRecs.Merge(dst, src)
} }
func (m *LotteryUpdateRecs) XXX_Size() int { func (m *LotteryUpdateRecs) XXX_Size() int {
return xxx_messageInfo_LotteryUpdateRecs.Size(m) return xxx_messageInfo_LotteryUpdateRecs.Size(m)
...@@ -1877,17 +1906,16 @@ func (m *LotteryUpdateBuyInfo) Reset() { *m = LotteryUpdateBuyInfo{} } ...@@ -1877,17 +1906,16 @@ func (m *LotteryUpdateBuyInfo) Reset() { *m = LotteryUpdateBuyInfo{} }
func (m *LotteryUpdateBuyInfo) String() string { return proto.CompactTextString(m) } func (m *LotteryUpdateBuyInfo) String() string { return proto.CompactTextString(m) }
func (*LotteryUpdateBuyInfo) ProtoMessage() {} func (*LotteryUpdateBuyInfo) ProtoMessage() {}
func (*LotteryUpdateBuyInfo) Descriptor() ([]byte, []int) { func (*LotteryUpdateBuyInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{26} return fileDescriptor_lottery_2a813bc9ca021826, []int{26}
} }
func (m *LotteryUpdateBuyInfo) XXX_Unmarshal(b []byte) error { func (m *LotteryUpdateBuyInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_LotteryUpdateBuyInfo.Unmarshal(m, b) return xxx_messageInfo_LotteryUpdateBuyInfo.Unmarshal(m, b)
} }
func (m *LotteryUpdateBuyInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *LotteryUpdateBuyInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_LotteryUpdateBuyInfo.Marshal(b, m, deterministic) return xxx_messageInfo_LotteryUpdateBuyInfo.Marshal(b, m, deterministic)
} }
func (m *LotteryUpdateBuyInfo) XXX_Merge(src proto.Message) { func (dst *LotteryUpdateBuyInfo) XXX_Merge(src proto.Message) {
xxx_messageInfo_LotteryUpdateBuyInfo.Merge(m, src) xxx_messageInfo_LotteryUpdateBuyInfo.Merge(dst, src)
} }
func (m *LotteryUpdateBuyInfo) XXX_Size() int { func (m *LotteryUpdateBuyInfo) XXX_Size() int {
return xxx_messageInfo_LotteryUpdateBuyInfo.Size(m) return xxx_messageInfo_LotteryUpdateBuyInfo.Size(m)
...@@ -1916,17 +1944,16 @@ func (m *ReplyLotteryPurchaseAddr) Reset() { *m = ReplyLotteryPurchaseAd ...@@ -1916,17 +1944,16 @@ func (m *ReplyLotteryPurchaseAddr) Reset() { *m = ReplyLotteryPurchaseAd
func (m *ReplyLotteryPurchaseAddr) String() string { return proto.CompactTextString(m) } func (m *ReplyLotteryPurchaseAddr) String() string { return proto.CompactTextString(m) }
func (*ReplyLotteryPurchaseAddr) ProtoMessage() {} func (*ReplyLotteryPurchaseAddr) ProtoMessage() {}
func (*ReplyLotteryPurchaseAddr) Descriptor() ([]byte, []int) { func (*ReplyLotteryPurchaseAddr) Descriptor() ([]byte, []int) {
return fileDescriptor_2cce7afd61783b10, []int{27} return fileDescriptor_lottery_2a813bc9ca021826, []int{27}
} }
func (m *ReplyLotteryPurchaseAddr) XXX_Unmarshal(b []byte) error { func (m *ReplyLotteryPurchaseAddr) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_ReplyLotteryPurchaseAddr.Unmarshal(m, b) return xxx_messageInfo_ReplyLotteryPurchaseAddr.Unmarshal(m, b)
} }
func (m *ReplyLotteryPurchaseAddr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { func (m *ReplyLotteryPurchaseAddr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_ReplyLotteryPurchaseAddr.Marshal(b, m, deterministic) return xxx_messageInfo_ReplyLotteryPurchaseAddr.Marshal(b, m, deterministic)
} }
func (m *ReplyLotteryPurchaseAddr) XXX_Merge(src proto.Message) { func (dst *ReplyLotteryPurchaseAddr) XXX_Merge(src proto.Message) {
xxx_messageInfo_ReplyLotteryPurchaseAddr.Merge(m, src) xxx_messageInfo_ReplyLotteryPurchaseAddr.Merge(dst, src)
} }
func (m *ReplyLotteryPurchaseAddr) XXX_Size() int { func (m *ReplyLotteryPurchaseAddr) XXX_Size() int {
return xxx_messageInfo_ReplyLotteryPurchaseAddr.Size(m) return xxx_messageInfo_ReplyLotteryPurchaseAddr.Size(m)
...@@ -1976,89 +2003,92 @@ func init() { ...@@ -1976,89 +2003,92 @@ func init() {
proto.RegisterType((*ReplyLotteryPurchaseAddr)(nil), "types.ReplyLotteryPurchaseAddr") proto.RegisterType((*ReplyLotteryPurchaseAddr)(nil), "types.ReplyLotteryPurchaseAddr")
} }
func init() { proto.RegisterFile("lottery.proto", fileDescriptor_2cce7afd61783b10) } func init() { proto.RegisterFile("lottery.proto", fileDescriptor_lottery_2a813bc9ca021826) }
var fileDescriptor_2cce7afd61783b10 = []byte{ var fileDescriptor_lottery_2a813bc9ca021826 = []byte{
// 1285 bytes of a gzipped FileDescriptorProto // 1342 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0xdd, 0x6e, 0xe3, 0x44, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x58, 0x5f, 0x8f, 0xdb, 0x44,
0x14, 0xae, 0xed, 0x38, 0x69, 0x4e, 0x7e, 0xb6, 0x9d, 0x86, 0xae, 0x59, 0x50, 0x55, 0x59, 0x2c, 0x10, 0x3f, 0xc7, 0x71, 0x72, 0x99, 0xfc, 0x69, 0x6f, 0x2f, 0xbd, 0x9a, 0x82, 0xaa, 0x93, 0x45,
0xaa, 0xb4, 0x10, 0x41, 0x40, 0x08, 0x41, 0x85, 0xb4, 0x59, 0x16, 0xa5, 0x52, 0xb7, 0xbb, 0x9a, 0xd1, 0x49, 0x85, 0x08, 0x02, 0x42, 0x08, 0x2a, 0xa4, 0xa6, 0x14, 0xe5, 0xa4, 0xfe, 0xd3, 0xf6,
0x16, 0x71, 0xc1, 0x95, 0x1b, 0xcf, 0x6e, 0xad, 0x26, 0x76, 0x18, 0x8f, 0xdb, 0xfa, 0x8e, 0x77, 0x10, 0x0f, 0x3c, 0xf9, 0xe2, 0x6d, 0xcf, 0x6a, 0x62, 0x07, 0x7b, 0x7d, 0x77, 0x7e, 0xe3, 0x53,
0x40, 0x82, 0x07, 0xe0, 0x86, 0x4b, 0x1e, 0x81, 0xa7, 0xe0, 0x39, 0x90, 0x78, 0x01, 0x34, 0x3f, 0xf0, 0x05, 0x78, 0xe1, 0x0d, 0x5e, 0x78, 0xe7, 0x4b, 0x80, 0xc4, 0xb7, 0xe0, 0x23, 0xa0, 0x9d,
0x8e, 0xc7, 0x8e, 0xf3, 0x53, 0xf6, 0xaa, 0x9e, 0x33, 0x67, 0xe6, 0x9c, 0xf9, 0xce, 0x39, 0xdf, 0x5d, 0xc7, 0x6b, 0xc7, 0x89, 0xef, 0xe8, 0xd3, 0x79, 0x67, 0x67, 0x77, 0x67, 0x7e, 0x33, 0xf3,
0x39, 0x29, 0x74, 0x26, 0x11, 0x63, 0x84, 0xa6, 0xfd, 0x19, 0x8d, 0x58, 0x84, 0x6c, 0x96, 0xce, 0x9b, 0xc9, 0x41, 0x7f, 0x1e, 0x72, 0xce, 0xa2, 0x74, 0xb4, 0x8c, 0x42, 0x1e, 0x12, 0x8b, 0xa7,
0x48, 0xec, 0x5e, 0x41, 0xf7, 0x55, 0x42, 0xc7, 0x57, 0x5e, 0x4c, 0x30, 0x19, 0x47, 0xd4, 0x47, 0x4b, 0x16, 0x3b, 0x67, 0x30, 0x78, 0x91, 0x44, 0xb3, 0x33, 0x37, 0x66, 0x94, 0xcd, 0xc2, 0xc8,
0xfb, 0x50, 0xf7, 0xa6, 0x51, 0x12, 0x32, 0xc7, 0x38, 0x34, 0x8e, 0x2c, 0xac, 0x56, 0x5c, 0x1e, 0x23, 0x07, 0xd0, 0x72, 0x17, 0x61, 0x12, 0x70, 0xdb, 0x38, 0x34, 0x8e, 0x4c, 0xaa, 0x56, 0x42,
0x26, 0xd3, 0x4b, 0x42, 0x1d, 0x53, 0xca, 0xe5, 0x0a, 0xf5, 0xc0, 0x0e, 0x42, 0x9f, 0xdc, 0x39, 0x1e, 0x24, 0x8b, 0x53, 0x16, 0xd9, 0x0d, 0x29, 0x97, 0x2b, 0x32, 0x04, 0xcb, 0x0f, 0x3c, 0x76,
0x96, 0x10, 0xcb, 0x05, 0xda, 0x01, 0xeb, 0xd6, 0x4b, 0x9d, 0x9a, 0x90, 0xf1, 0x4f, 0xf7, 0x57, 0x69, 0x9b, 0x28, 0x96, 0x0b, 0x72, 0x13, 0xcc, 0x0b, 0x37, 0xb5, 0x9b, 0x28, 0x13, 0x9f, 0xce,
0x03, 0x1e, 0x14, 0x4d, 0xc5, 0xe8, 0x63, 0xa8, 0x53, 0xf1, 0xe9, 0x18, 0x87, 0xd6, 0x51, 0x6b, 0xcf, 0x06, 0xdc, 0x28, 0x3e, 0x15, 0x93, 0x8f, 0xa0, 0x15, 0xe1, 0xa7, 0x6d, 0x1c, 0x9a, 0x47,
0xf0, 0x4e, 0x5f, 0x78, 0xd5, 0x2f, 0xea, 0x61, 0xa5, 0x84, 0x1c, 0x68, 0xbc, 0x4e, 0x42, 0xff, 0xdd, 0xf1, 0xad, 0x11, 0x5a, 0x35, 0x2a, 0xea, 0x51, 0xa5, 0x44, 0x6c, 0x68, 0xbf, 0x4a, 0x02,
0x87, 0x20, 0x54, 0x3e, 0x64, 0x4b, 0xf4, 0x21, 0x74, 0xa5, 0x9b, 0x2f, 0x43, 0x82, 0xa3, 0x24, 0xef, 0x7b, 0x3f, 0x50, 0x36, 0x64, 0x4b, 0xf2, 0x01, 0x0c, 0xa4, 0x99, 0xcf, 0x03, 0x46, 0xc3,
0xf4, 0x95, 0x37, 0x25, 0x29, 0x42, 0x50, 0xf3, 0x7c, 0x9f, 0x0a, 0xbf, 0x9a, 0x58, 0x7c, 0xbb, 0x24, 0xf0, 0x94, 0x35, 0x25, 0x29, 0x21, 0xd0, 0x74, 0x3d, 0x2f, 0x42, 0xbb, 0x3a, 0x14, 0xbf,
0xbf, 0xd4, 0xa1, 0x71, 0x2a, 0xb1, 0x41, 0xef, 0x43, 0x53, 0xc1, 0x74, 0xe2, 0x8b, 0xf7, 0x37, 0x9d, 0xbf, 0x5a, 0xd0, 0x7e, 0x22, 0xb1, 0x21, 0xef, 0x41, 0x47, 0xc1, 0x74, 0xec, 0xa1, 0xff,
0x71, 0x2e, 0xe0, 0x10, 0xc4, 0xcc, 0x63, 0x49, 0x2c, 0xcc, 0xdb, 0x58, 0xad, 0x90, 0x0b, 0xed, 0x1d, 0x9a, 0x0b, 0x04, 0x04, 0x31, 0x77, 0x79, 0x12, 0xe3, 0xf3, 0x16, 0x55, 0x2b, 0xe2, 0x40,
0x31, 0x25, 0x1e, 0x23, 0x23, 0x12, 0xbc, 0xb9, 0x62, 0xca, 0x76, 0x41, 0xc6, 0x2d, 0x73, 0x67, 0x6f, 0x16, 0x31, 0x97, 0xb3, 0x29, 0xf3, 0x5f, 0x9f, 0x71, 0xf5, 0x76, 0x41, 0x26, 0x5e, 0x16,
0x15, 0x22, 0xe2, 0x1b, 0x1d, 0x42, 0x6b, 0x96, 0xd0, 0xe1, 0x24, 0x1a, 0x5f, 0x9f, 0x25, 0x53, 0xc6, 0x2a, 0x44, 0xf0, 0x9b, 0x1c, 0x42, 0x77, 0x99, 0x44, 0x93, 0x79, 0x38, 0x7b, 0xf3, 0x2c,
0xc7, 0x16, 0x5b, 0xba, 0x88, 0xdf, 0xec, 0x53, 0xef, 0x76, 0xae, 0x52, 0x97, 0x37, 0xeb, 0x32, 0x59, 0xd8, 0x16, 0x6e, 0xe9, 0x22, 0x71, 0xb3, 0x17, 0xb9, 0x17, 0x2b, 0x95, 0x96, 0xbc, 0x59,
0xf4, 0x09, 0xec, 0x4d, 0xbc, 0x98, 0x5d, 0x50, 0x2f, 0x8c, 0x2f, 0xa2, 0x57, 0x09, 0x3d, 0x67, 0x97, 0x91, 0x8f, 0x61, 0x7f, 0xee, 0xc6, 0xfc, 0x24, 0x72, 0x83, 0xf8, 0x24, 0x7c, 0x91, 0x44,
0x1e, 0x23, 0x4e, 0x43, 0xa8, 0x56, 0x6d, 0xa1, 0x01, 0xf4, 0x34, 0xf1, 0xb7, 0xd4, 0xbb, 0x95, 0x2f, 0xb9, 0xcb, 0x99, 0xdd, 0x46, 0xd5, 0xaa, 0x2d, 0x32, 0x86, 0xa1, 0x26, 0xfe, 0x26, 0x72,
0x47, 0xb6, 0xc5, 0x91, 0xca, 0x3d, 0x6e, 0x85, 0x45, 0xcc, 0x9b, 0x64, 0xa1, 0xf1, 0x2f, 0xee, 0x2f, 0xe4, 0x91, 0x5d, 0x3c, 0x52, 0xb9, 0x27, 0x5e, 0xe1, 0x21, 0x77, 0xe7, 0x59, 0x68, 0xbc,
0xb8, 0x43, 0x20, 0xad, 0x54, 0x6c, 0xa1, 0x03, 0x00, 0x89, 0xc0, 0x53, 0x8e, 0x78, 0x4b, 0x80, 0x93, 0x4b, 0x61, 0x10, 0xc8, 0x57, 0x2a, 0xb6, 0xc8, 0x5d, 0x00, 0x89, 0xc0, 0x43, 0x81, 0x78,
0xa9, 0x49, 0x78, 0xe2, 0x50, 0x11, 0xaa, 0xb6, 0x4c, 0x1c, 0xb1, 0xe0, 0x98, 0x4c, 0x92, 0xf1, 0x17, 0xc1, 0xd4, 0x24, 0x22, 0x71, 0x22, 0x0c, 0x55, 0x4f, 0x26, 0x0e, 0x2e, 0x04, 0x26, 0xf3,
0x75, 0x7a, 0x26, 0x73, 0xad, 0x23, 0x31, 0xd1, 0x44, 0x39, 0xda, 0x2f, 0xc3, 0x17, 0x5e, 0x10, 0x64, 0xf6, 0x26, 0x7d, 0x26, 0x73, 0xad, 0x2f, 0x31, 0xd1, 0x44, 0x39, 0xda, 0xcf, 0x83, 0xa7,
0x3a, 0x5d, 0x1d, 0x6d, 0x29, 0x43, 0xc7, 0xf0, 0x6e, 0xc5, 0xc3, 0xd5, 0x81, 0x07, 0xe2, 0xc0, 0xae, 0x1f, 0xd8, 0x03, 0x1d, 0x6d, 0x29, 0x23, 0x0f, 0xe0, 0x9d, 0x0a, 0xc7, 0xd5, 0x81, 0x1b,
0x72, 0x05, 0xf4, 0x0d, 0x3c, 0xaa, 0xc2, 0x40, 0x1d, 0xdf, 0x11, 0xc7, 0x57, 0x68, 0xa0, 0x63, 0x78, 0x60, 0xb3, 0x02, 0xf9, 0x1a, 0xee, 0x54, 0x61, 0xa0, 0x8e, 0xdf, 0xc4, 0xe3, 0x5b, 0x34,
0xe8, 0x4e, 0x83, 0x38, 0x0e, 0xc2, 0x37, 0x2a, 0xd1, 0x9d, 0x5d, 0x91, 0xde, 0x3d, 0x95, 0xde, 0xc8, 0x03, 0x18, 0x2c, 0xfc, 0x38, 0xf6, 0x83, 0xd7, 0x2a, 0xd1, 0xed, 0x3d, 0x4c, 0xef, 0xa1,
0x2f, 0xf4, 0x4d, 0x5c, 0xd2, 0x45, 0x1f, 0x40, 0x27, 0x9a, 0x61, 0x72, 0xeb, 0x51, 0x1f, 0x7b, 0x4a, 0xef, 0xa7, 0xfa, 0x26, 0x2d, 0xe9, 0x92, 0xf7, 0xa1, 0x1f, 0x2e, 0x29, 0xbb, 0x70, 0x23,
0x2c, 0x88, 0x1c, 0x24, 0x0c, 0x16, 0x85, 0x3c, 0xe3, 0x7d, 0x72, 0xa3, 0xab, 0xed, 0xc9, 0x8c, 0x8f, 0xba, 0xdc, 0x0f, 0x6d, 0x82, 0x0f, 0x16, 0x85, 0x22, 0xe3, 0x3d, 0x76, 0xae, 0xab, 0xed,
0x2f, 0x4a, 0xd1, 0x17, 0x00, 0xb3, 0x84, 0x66, 0x7e, 0xf4, 0x84, 0x1f, 0xfb, 0x95, 0x65, 0x16, 0xcb, 0x8c, 0x2f, 0x4a, 0xc9, 0xe7, 0x00, 0xcb, 0x24, 0xca, 0xec, 0x18, 0xa2, 0x1d, 0x07, 0x95,
0x63, 0x4d, 0xd3, 0x7d, 0x0c, 0x9d, 0x82, 0x9b, 0x3c, 0x5c, 0x2c, 0x98, 0x92, 0x58, 0x94, 0xaa, 0x65, 0x16, 0x53, 0x4d, 0x53, 0xa0, 0x8c, 0x41, 0x15, 0xa1, 0x12, 0x81, 0xbe, 0x25, 0x51, 0xd6,
0x8d, 0xe5, 0xc2, 0xfd, 0xdb, 0x80, 0x8e, 0x2a, 0x9e, 0xa7, 0x63, 0x16, 0x44, 0x21, 0xea, 0x43, 0x65, 0xa2, 0x5a, 0x4e, 0x93, 0xf4, 0xa1, 0x64, 0x8b, 0x03, 0x54, 0xc8, 0x05, 0xce, 0x3d, 0xe8,
0x5d, 0x86, 0x42, 0xd4, 0x4f, 0xfe, 0x68, 0xa5, 0xf5, 0x4c, 0x16, 0xc5, 0x16, 0x56, 0x5a, 0xe8, 0x17, 0x1c, 0x15, 0x01, 0xe7, 0xfe, 0x82, 0xc5, 0x58, 0xec, 0x16, 0x95, 0x0b, 0xe7, 0x6f, 0x03,
0x31, 0x58, 0x97, 0x49, 0x2a, 0x2a, 0xaa, 0x35, 0xd8, 0x2d, 0x2a, 0x0f, 0x93, 0x74, 0xb4, 0x85, 0xfa, 0xaa, 0xfc, 0x1e, 0xce, 0xb8, 0x1f, 0x06, 0x64, 0x04, 0x2d, 0x19, 0x4c, 0xac, 0xc0, 0x1c,
0xf9, 0x3e, 0x3a, 0x82, 0x1a, 0xcf, 0x7a, 0x51, 0x5b, 0xad, 0x01, 0x2a, 0xea, 0xf1, 0x00, 0x8c, 0x36, 0xa5, 0xf5, 0x48, 0x96, 0xd5, 0x0e, 0x55, 0x5a, 0xe4, 0x1e, 0x98, 0xa7, 0x49, 0x8a, 0x35,
0xb6, 0xb0, 0xd0, 0x40, 0x4f, 0xc0, 0x1e, 0x4f, 0xa2, 0x98, 0x88, 0x52, 0x6b, 0x0d, 0xf6, 0x4a, 0xd9, 0x1d, 0xef, 0x15, 0x95, 0x27, 0x49, 0x3a, 0xdd, 0xa1, 0x62, 0x9f, 0x1c, 0x41, 0x53, 0xd4,
0xf6, 0xf9, 0xd6, 0x68, 0x0b, 0x4b, 0x1d, 0xd4, 0x05, 0x93, 0xa5, 0x22, 0x8b, 0x6d, 0x6c, 0xb2, 0x0d, 0x56, 0x67, 0x77, 0x4c, 0x8a, 0x7a, 0x22, 0x84, 0xd3, 0x1d, 0x8a, 0x1a, 0xe4, 0x3e, 0x58,
0x74, 0xd8, 0x00, 0xfb, 0xc6, 0x9b, 0x24, 0xc4, 0xfd, 0x3d, 0x7f, 0x98, 0x74, 0xb9, 0x5c, 0xad, 0xb3, 0x79, 0x18, 0x33, 0x2c, 0xd6, 0xee, 0x78, 0xbf, 0xf4, 0xbe, 0xd8, 0x9a, 0xee, 0x50, 0xa9,
0xc6, 0xfa, 0x6a, 0x35, 0x2b, 0xaa, 0x75, 0x21, 0xba, 0xd6, 0x66, 0xd1, 0xad, 0x55, 0x45, 0xd7, 0x43, 0x06, 0xd0, 0xe0, 0x29, 0xd6, 0x81, 0x45, 0x1b, 0x3c, 0x9d, 0xb4, 0xc1, 0x3a, 0x77, 0xe7,
0x9d, 0x00, 0xe4, 0x50, 0xad, 0x67, 0x2f, 0x45, 0xec, 0xe6, 0x12, 0x62, 0xb7, 0x0a, 0xc4, 0xbe, 0x09, 0x73, 0x7e, 0xc9, 0x1d, 0x93, 0x26, 0x97, 0xeb, 0xdd, 0xa8, 0xaf, 0xf7, 0x46, 0x45, 0xbd,
0x48, 0xe1, 0x4f, 0xa0, 0xa5, 0x01, 0xbe, 0xda, 0x9c, 0xfb, 0x11, 0xb4, 0x75, 0xc8, 0xd7, 0x68, 0xaf, 0xe5, 0x87, 0x79, 0xb5, 0xfc, 0x68, 0x56, 0xe5, 0x87, 0x33, 0x07, 0xc8, 0xa1, 0xaa, 0xe7,
0xff, 0x6b, 0x42, 0x17, 0x93, 0x31, 0x09, 0x66, 0xec, 0xed, 0xb8, 0xf8, 0x00, 0x60, 0x46, 0xc9, 0x3f, 0xd5, 0x1a, 0x1a, 0x1b, 0x5a, 0x83, 0x59, 0x68, 0x0d, 0xeb, 0x4d, 0xe0, 0x3e, 0x74, 0x35,
0xcd, 0xb9, 0xdc, 0xb3, 0xc4, 0x9e, 0x26, 0xa9, 0xea, 0x00, 0x39, 0x13, 0xd9, 0x3a, 0x13, 0xe5, 0xc0, 0xb7, 0x3f, 0xe7, 0x7c, 0x08, 0x3d, 0x1d, 0xf2, 0x1a, 0xed, 0x3f, 0x4c, 0x18, 0x50, 0x36,
0xb8, 0xd4, 0x0b, 0xb8, 0xe4, 0x38, 0x36, 0x0a, 0x38, 0x96, 0x98, 0x6b, 0x7b, 0x91, 0xb9, 0x10, 0x63, 0xfe, 0x92, 0xbf, 0x1d, 0x9b, 0xdf, 0x05, 0x58, 0x46, 0xec, 0xfc, 0xa5, 0xdc, 0x33, 0x71,
0xd4, 0x78, 0xd5, 0x38, 0x4d, 0xd9, 0x03, 0xf8, 0x37, 0xbf, 0x8d, 0xdd, 0x8d, 0xbc, 0xf8, 0x4a, 0x4f, 0x93, 0x54, 0xf5, 0x90, 0x9c, 0xcb, 0x2c, 0x9d, 0xcb, 0x72, 0x5c, 0x5a, 0x05, 0x5c, 0x72,
0x24, 0x61, 0x13, 0xab, 0x15, 0xfa, 0x1a, 0x20, 0x99, 0xf9, 0x1e, 0x23, 0x27, 0xe1, 0xeb, 0x48, 0x1c, 0xdb, 0x05, 0x1c, 0x4b, 0xdc, 0xb7, 0xbb, 0xce, 0x7d, 0x04, 0x9a, 0xa2, 0x6a, 0xec, 0x8e,
0xb0, 0x67, 0x6b, 0xf0, 0x5e, 0x31, 0x95, 0xbf, 0x17, 0xfb, 0xc3, 0x24, 0xe5, 0x2a, 0x58, 0x53, 0xec, 0x22, 0xe2, 0x5b, 0xdc, 0xc6, 0x2f, 0xa7, 0x6e, 0x7c, 0x86, 0x49, 0xd8, 0xa1, 0x6a, 0x45,
0xcf, 0x42, 0xd7, 0x9e, 0x87, 0x2e, 0xef, 0xd2, 0x1d, 0xad, 0x4b, 0xbb, 0x7d, 0x0e, 0xfa, 0x4f, 0xbe, 0x02, 0x48, 0x96, 0x9e, 0xcb, 0xd9, 0x71, 0xf0, 0x2a, 0x44, 0xfe, 0xed, 0x8e, 0xdf, 0x2d,
0xea, 0x3a, 0x71, 0x72, 0x75, 0x94, 0x7e, 0x84, 0xdd, 0x5c, 0x5f, 0x19, 0x5e, 0x13, 0xa7, 0x0c, 0xa6, 0xf2, 0x77, 0xb8, 0x3f, 0x49, 0x52, 0xa1, 0x42, 0x35, 0xf5, 0x2c, 0x74, 0xbd, 0x55, 0xe8,
0x6f, 0xb3, 0x0a, 0x6f, 0x4b, 0xc3, 0xdb, 0xfd, 0xc3, 0x80, 0x5e, 0xe1, 0xf6, 0x51, 0x10, 0xb3, 0xf2, 0x3e, 0xdf, 0xd7, 0xfb, 0x7c, 0x99, 0x26, 0x06, 0x75, 0x34, 0x71, 0xa3, 0x4c, 0x13, 0x23,
0x68, 0x6d, 0x22, 0x6c, 0x6c, 0x80, 0x4b, 0xc7, 0x22, 0x6e, 0x35, 0x91, 0x15, 0x72, 0xc1, 0x6f, 0x11, 0xb6, 0x1f, 0x95, 0x41, 0xf8, 0xf6, 0xf6, 0x38, 0xff, 0x00, 0x7b, 0xb9, 0xbe, 0x32, 0xbd,
0xf7, 0x03, 0x4a, 0x04, 0x79, 0x89, 0x04, 0xb0, 0x71, 0x2e, 0xc8, 0x71, 0xab, 0xeb, 0xb8, 0x9d, 0x26, 0xd2, 0x59, 0xc4, 0x1a, 0x55, 0x11, 0x33, 0xb5, 0x88, 0x39, 0xbf, 0x1a, 0x30, 0x2c, 0xdc,
0xc0, 0x5e, 0xee, 0xe9, 0x29, 0x8f, 0xf0, 0x06, 0x48, 0xcc, 0x9d, 0x32, 0x0f, 0xad, 0xfc, 0xd5, 0x3e, 0xf5, 0x63, 0x1e, 0xd6, 0xa6, 0xd2, 0x95, 0x1f, 0x10, 0xd2, 0x19, 0xe2, 0xd0, 0xc4, 0xbc,
0x3f, 0x1b, 0xb0, 0x5f, 0xba, 0x6b, 0xb3, 0x77, 0x6b, 0xd7, 0x55, 0xbd, 0xd1, 0x5a, 0xfa, 0xc6, 0x92, 0x0b, 0x71, 0xbb, 0xe7, 0x47, 0x0c, 0xe9, 0x0f, 0x53, 0xc8, 0xa2, 0xb9, 0x20, 0x47, 0xbe,
0x5a, 0xe9, 0x8d, 0xee, 0x3f, 0xc2, 0x85, 0xd9, 0x24, 0x55, 0x4e, 0x9c, 0x45, 0x74, 0xea, 0x4d, 0xa5, 0x21, 0xef, 0x1c, 0xc3, 0x7e, 0x6e, 0xe9, 0x13, 0x91, 0x23, 0x57, 0x40, 0x62, 0x65, 0x54,
0xc4, 0x8b, 0xca, 0x93, 0x8d, 0x51, 0x31, 0xd9, 0x94, 0x78, 0xd1, 0x5c, 0xcf, 0x8b, 0x56, 0x05, 0xe3, 0xd0, 0xcc, 0xbd, 0xfe, 0xc9, 0x80, 0x83, 0xd2, 0x5d, 0x57, 0xf3, 0x5b, 0xbb, 0xae, 0xca,
0x2f, 0x16, 0xa7, 0x85, 0xda, 0xc2, 0xb4, 0xb0, 0xc0, 0x9b, 0xf6, 0x66, 0xbc, 0x59, 0xaf, 0xe4, 0x47, 0x73, 0xa3, 0x8f, 0xcd, 0x92, 0x8f, 0xce, 0xbf, 0x68, 0xc2, 0x72, 0x9e, 0x2a, 0x23, 0x9e,
0xcd, 0xdf, 0x6a, 0xf0, 0x50, 0x7f, 0xf2, 0xb3, 0x84, 0x52, 0x12, 0x32, 0xf1, 0xe6, 0x9c, 0x59, 0x85, 0xd1, 0xc2, 0x9d, 0xa3, 0x47, 0xe5, 0xe9, 0xca, 0xa8, 0x98, 0xae, 0x4a, 0xcc, 0xda, 0xa8,
0x8c, 0x02, 0xb3, 0x64, 0x13, 0x9c, 0xa9, 0x4d, 0x70, 0x4b, 0x66, 0x2f, 0xeb, 0xfe, 0xb3, 0x57, 0x67, 0x56, 0xb3, 0x82, 0x59, 0x8b, 0x13, 0x4b, 0x73, 0x6d, 0x62, 0x59, 0x63, 0x5e, 0xeb, 0x6a,
0xed, 0xfe, 0xb3, 0x97, 0xbd, 0x7c, 0xf6, 0x9a, 0x27, 0x47, 0x7d, 0xc5, 0x6c, 0xd5, 0x58, 0x64, 0xcc, 0xdb, 0xaa, 0x64, 0xde, 0x7f, 0x9a, 0x70, 0x5b, 0x77, 0xf9, 0x51, 0x12, 0x45, 0x2c, 0xe0,
0xa8, 0x95, 0x73, 0xd3, 0xf6, 0xdb, 0xcd, 0x4d, 0xcd, 0xb5, 0x73, 0x53, 0x29, 0x93, 0x60, 0x7d, 0xe8, 0x73, 0xce, 0x4d, 0x46, 0x81, 0x9b, 0xb2, 0x29, 0xb2, 0xa1, 0x4d, 0x91, 0x1b, 0xe6, 0x3f,
0x26, 0xb5, 0x2a, 0x32, 0x69, 0x71, 0xfa, 0x6a, 0x6f, 0x3e, 0x7d, 0xb9, 0x43, 0x38, 0xd0, 0x13, 0xf3, 0xfa, 0xf3, 0x5f, 0xf3, 0xfa, 0xf3, 0x9f, 0xb5, 0x79, 0xfe, 0x5b, 0x25, 0x47, 0x6b, 0xcb,
0x43, 0xd5, 0xe2, 0xa9, 0x86, 0x51, 0x09, 0x45, 0x43, 0x54, 0xb3, 0x2e, 0x72, 0x4f, 0x38, 0x91, 0x7c, 0xd7, 0x5e, 0xe7, 0xb8, 0xad, 0xb3, 0xdb, 0xee, 0xdb, 0xcd, 0x6e, 0x9d, 0xda, 0xd9, 0xad,
0xe5, 0x77, 0x9c, 0x5f, 0x45, 0xb7, 0x22, 0xb3, 0x3e, 0x85, 0x06, 0x55, 0x2e, 0xc9, 0xdf, 0x3b, 0x94, 0x49, 0x50, 0x9f, 0x49, 0xdd, 0x8a, 0x4c, 0x5a, 0x9f, 0x00, 0x7b, 0xd7, 0x98, 0x00, 0xcb,
0x0f, 0x17, 0xc6, 0x1d, 0xe5, 0x55, 0xa6, 0xe7, 0x3e, 0x87, 0xbd, 0xac, 0x2a, 0xc5, 0xdd, 0xf9, 0xa4, 0xda, 0xaf, 0x23, 0xd5, 0x41, 0x99, 0x54, 0x27, 0x70, 0x57, 0x4f, 0x2d, 0x55, 0xcd, 0x4f,
0x8f, 0xb4, 0x30, 0x33, 0x5f, 0xdd, 0x9b, 0x0a, 0x3d, 0xde, 0xfd, 0xcb, 0x80, 0x9d, 0xb2, 0x91, 0x34, 0x94, 0x4b, 0x71, 0x30, 0x90, 0x0f, 0x74, 0x91, 0x73, 0x2c, 0xa8, 0x30, 0xbf, 0xe3, 0xe5,
0xfb, 0x5e, 0xb2, 0x84, 0x55, 0x79, 0x53, 0x4b, 0x67, 0x59, 0x02, 0x8b, 0xef, 0xac, 0xff, 0xd8, 0x59, 0x78, 0x81, 0xb9, 0xf9, 0x09, 0xb4, 0x23, 0xe5, 0x94, 0xfc, 0xd5, 0x76, 0x7b, 0x6d, 0xe4,
0x15, 0xfd, 0x47, 0xe7, 0xd1, 0x79, 0x43, 0x6c, 0x54, 0x36, 0xc4, 0x6d, 0xbd, 0x21, 0xba, 0xdf, 0x52, 0x7e, 0x65, 0x7a, 0xce, 0x63, 0xd8, 0xcf, 0xea, 0x1a, 0xef, 0xce, 0x7f, 0x6a, 0x06, 0xd9,
0xc1, 0x6e, 0xf9, 0x05, 0xf1, 0xff, 0x41, 0x74, 0x3a, 0xbf, 0x87, 0xa7, 0xdf, 0x1a, 0x28, 0xaa, 0xf3, 0xd5, 0xfd, 0xb1, 0x30, 0x67, 0x38, 0x7f, 0x1a, 0x70, 0xb3, 0xfc, 0xc8, 0x75, 0x2f, 0xd9,
0x49, 0x36, 0x73, 0xdb, 0xaa, 0x74, 0xbb, 0x56, 0x70, 0x7b, 0x04, 0x68, 0xc1, 0x5c, 0x8c, 0x06, 0xc0, 0xcb, 0xa2, 0xb1, 0xa6, 0xcb, 0xac, 0x04, 0xf0, 0x3b, 0xeb, 0x81, 0x56, 0x45, 0x0f, 0xd4,
0x65, 0xbf, 0x9d, 0xc5, 0x81, 0xb6, 0xec, 0xf8, 0xf1, 0x3c, 0x84, 0xb2, 0xf1, 0x63, 0x32, 0xce, 0x99, 0x78, 0xd5, 0x94, 0xdb, 0x95, 0x4d, 0x79, 0x57, 0x6f, 0xca, 0xce, 0xb7, 0xb0, 0x57, 0xf6,
0x61, 0x35, 0xca, 0xb0, 0xf2, 0x90, 0x98, 0x79, 0x48, 0x34, 0xf8, 0xe6, 0xa7, 0xd7, 0xc3, 0x37, 0x20, 0xfe, 0x3f, 0x88, 0xfe, 0x66, 0xac, 0x2e, 0x12, 0x19, 0x5c, 0x83, 0x45, 0x35, 0x4f, 0x67,
0x57, 0xcd, 0xbd, 0xf8, 0xd3, 0x80, 0x5e, 0xd5, 0xfc, 0x81, 0x86, 0xd0, 0xb8, 0x94, 0x9f, 0xea, 0x76, 0x9b, 0x95, 0x76, 0x37, 0x0b, 0xc3, 0x44, 0x39, 0x25, 0xad, 0xba, 0x94, 0x6c, 0x95, 0x53,
0xae, 0xa3, 0x15, 0xd3, 0x4a, 0x5f, 0xfd, 0x7d, 0x1e, 0x32, 0x9a, 0xe2, 0xec, 0xe0, 0xa3, 0x0b, 0x72, 0x0a, 0x64, 0xcd, 0xe0, 0x98, 0x8c, 0xcb, 0xae, 0xdb, 0xeb, 0x73, 0x79, 0xd9, 0xf7, 0x07,
0x68, 0xeb, 0x1b, 0x3c, 0x8f, 0xae, 0x49, 0xaa, 0x7a, 0x1f, 0xff, 0x44, 0x7d, 0x35, 0x9f, 0xab, 0xab, 0x2c, 0x90, 0xf3, 0x0b, 0x65, 0xb3, 0x3c, 0x32, 0x46, 0x39, 0x32, 0x22, 0xaa, 0x8d, 0x3c,
0xdf, 0x0b, 0xce, 0x12, 0x7f, 0x63, 0x2c, 0xd5, 0xbe, 0x32, 0xbf, 0x34, 0xdc, 0xcf, 0xc1, 0xd1, 0xaa, 0x5a, 0x04, 0x56, 0xa7, 0xeb, 0x23, 0xb0, 0x52, 0xcd, 0xad, 0xf8, 0xdd, 0x80, 0x61, 0xd5,
0xcb, 0x31, 0xa3, 0x4a, 0xd1, 0x56, 0x1c, 0x68, 0xf0, 0x89, 0x81, 0xc4, 0x12, 0x81, 0x26, 0xce, 0x18, 0x45, 0x26, 0xd0, 0x3e, 0x95, 0x9f, 0xea, 0xae, 0xa3, 0x2d, 0x43, 0xd7, 0x48, 0xfd, 0x7d,
0x96, 0x97, 0x75, 0xf1, 0x7f, 0x92, 0xcf, 0xfe, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x62, 0x68, 0x00, 0x1c, 0xf0, 0x28, 0xa5, 0xd9, 0xc1, 0x3b, 0x27, 0xd0, 0xd3, 0x37, 0x44, 0x2a, 0xbe, 0x61, 0xa9,
0x1f, 0x38, 0x11, 0x00, 0x00, 0x6a, 0xc0, 0xe2, 0x93, 0x8c, 0xd4, 0xcf, 0x0c, 0xf5, 0xb3, 0xc7, 0xde, 0x60, 0x6f, 0x4c, 0xa5,
0xda, 0x97, 0x8d, 0x2f, 0x0c, 0xe7, 0x33, 0xb0, 0xf5, 0x8a, 0xce, 0xf8, 0x1a, 0x7b, 0x9b, 0x0d,
0x6d, 0x31, 0xb6, 0xb0, 0x58, 0x22, 0xd0, 0xa1, 0xd9, 0xf2, 0xb4, 0x85, 0xff, 0x30, 0xfa, 0xf4,
0xbf, 0x00, 0x00, 0x00, 0xff, 0xff, 0xa7, 0x0f, 0x3d, 0x83, 0x41, 0x12, 0x00, 0x00,
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment