Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
plugin
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
link33
plugin
Commits
285f6717
Commit
285f6717
authored
Dec 25, 2018
by
pengjun
Committed by
vipwzw
Jan 09, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
pokerbull add time log
parent
9b5c0ca6
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
116 additions
and
94 deletions
+116
-94
pokerbulldb.go
plugin/dapp/pokerbull/executor/pokerbulldb.go
+13
-10
pokerbull.proto
plugin/dapp/pokerbull/proto/pokerbull.proto
+13
-11
pokerbull.pb.go
plugin/dapp/pokerbull/types/pokerbull.pb.go
+90
-73
No files found.
plugin/dapp/pokerbull/executor/pokerbulldb.go
View file @
285f6717
...
@@ -16,6 +16,7 @@ import (
...
@@ -16,6 +16,7 @@ import (
"github.com/33cn/chain33/system/dapp"
"github.com/33cn/chain33/system/dapp"
"github.com/33cn/chain33/types"
"github.com/33cn/chain33/types"
pkt
"github.com/33cn/plugin/plugin/dapp/pokerbull/types"
pkt
"github.com/33cn/plugin/plugin/dapp/pokerbull/types"
"time"
)
)
// Action 斗牛action结构
// Action 斗牛action结构
...
@@ -484,7 +485,7 @@ func (action *Action) newGame(gameID string, start *pkt.PBGameStart) (*pkt.Poker
...
@@ -484,7 +485,7 @@ func (action *Action) newGame(gameID string, start *pkt.PBGameStart) (*pkt.Poker
game
=
&
pkt
.
PokerBull
{
game
=
&
pkt
.
PokerBull
{
GameId
:
gameID
,
GameId
:
gameID
,
Status
:
pkt
.
PBGameActionStart
,
Status
:
pkt
.
PBGameActionStart
,
StartTime
:
action
.
blocktime
,
StartTime
:
time
.
Unix
(
action
.
blocktime
,
0
)
.
Format
(
"2006-01-02 15:04:05"
)
,
StartTxHash
:
gameID
,
StartTxHash
:
gameID
,
Value
:
start
.
GetValue
(),
Value
:
start
.
GetValue
(),
Poker
:
NewPoker
(),
Poker
:
NewPoker
(),
...
@@ -497,7 +498,7 @@ func (action *Action) newGame(gameID string, start *pkt.PBGameStart) (*pkt.Poker
...
@@ -497,7 +498,7 @@ func (action *Action) newGame(gameID string, start *pkt.PBGameStart) (*pkt.Poker
}
}
Shuffle
(
game
.
Poker
,
action
.
blocktime
)
//洗牌
Shuffle
(
game
.
Poker
,
action
.
blocktime
)
//洗牌
logger
.
Debug
(
fmt
.
Sprintf
(
"Start
a new game %s for player %s"
,
game
.
GameId
,
action
.
fromaddr
))
logger
.
Info
(
fmt
.
Sprintf
(
"Create
a new game %s for player %s"
,
game
.
GameId
,
action
.
fromaddr
))
return
game
,
nil
return
game
,
nil
}
}
...
@@ -560,7 +561,7 @@ func (action *Action) GameStart(start *pkt.PBGameStart) (*types.Receipt, error)
...
@@ -560,7 +561,7 @@ func (action *Action) GameStart(start *pkt.PBGameStart) (*types.Receipt, error)
var
logs
[]
*
types
.
ReceiptLog
var
logs
[]
*
types
.
ReceiptLog
var
kv
[]
*
types
.
KeyValue
var
kv
[]
*
types
.
KeyValue
logger
.
Debug
(
fmt
.
Sprintf
(
"Pokerbull game start
for %s"
,
action
.
fromaddr
))
logger
.
Info
(
fmt
.
Sprintf
(
"Pokerbull game match
for %s"
,
action
.
fromaddr
))
if
start
.
PlayerNum
>
pkt
.
MaxPlayerNum
{
if
start
.
PlayerNum
>
pkt
.
MaxPlayerNum
{
logger
.
Error
(
"GameStart"
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
logger
.
Error
(
"GameStart"
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"err"
,
fmt
.
Sprintf
(
"The maximum player number is %d"
,
pkt
.
MaxPlayerNum
))
"err"
,
fmt
.
Sprintf
(
"The maximum player number is %d"
,
pkt
.
MaxPlayerNum
))
...
@@ -599,7 +600,7 @@ func (action *Action) GameStart(start *pkt.PBGameStart) (*types.Receipt, error)
...
@@ -599,7 +600,7 @@ func (action *Action) GameStart(start *pkt.PBGameStart) (*types.Receipt, error)
return
nil
,
err
return
nil
,
err
}
}
}
}
logger
.
Debug
(
fmt
.
Sprintf
(
"Match a new game %s for player %s"
,
game
.
GameId
,
action
.
fromaddr
))
logger
.
Info
(
fmt
.
Sprintf
(
"Match a new game %s for player %s"
,
game
.
GameId
,
action
.
fromaddr
))
}
}
//发牌随机数取txhash
//发牌随机数取txhash
...
@@ -613,11 +614,12 @@ func (action *Action) GameStart(start *pkt.PBGameStart) (*types.Receipt, error)
...
@@ -613,11 +614,12 @@ func (action *Action) GameStart(start *pkt.PBGameStart) (*types.Receipt, error)
Address
:
action
.
fromaddr
,
Address
:
action
.
fromaddr
,
TxHash
:
txrng
,
TxHash
:
txrng
,
Ready
:
false
,
Ready
:
false
,
MatchTime
:
time
.
Unix
(
action
.
blocktime
,
0
)
.
Format
(
"2006-01-02 15:04:05"
),
})
})
// 如果人数达标,则发牌计算斗牛结果
// 如果人数达标,则发牌计算斗牛结果
if
len
(
game
.
Players
)
==
int
(
game
.
PlayerNum
)
{
if
len
(
game
.
Players
)
==
int
(
game
.
PlayerNum
)
{
logger
.
Debug
(
fmt
.
Sprintf
(
"Game start: %s"
,
game
.
GameI
d
))
logger
.
Info
(
fmt
.
Sprintf
(
"Game starting: %s round: %d"
,
game
.
GameId
,
game
.
Roun
d
))
logsH
,
kvH
,
err
:=
action
.
settleAccount
(
action
.
fromaddr
,
game
)
logsH
,
kvH
,
err
:=
action
.
settleAccount
(
action
.
fromaddr
,
game
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
...
@@ -631,7 +633,7 @@ func (action *Action) GameStart(start *pkt.PBGameStart) (*types.Receipt, error)
...
@@ -631,7 +633,7 @@ func (action *Action) GameStart(start *pkt.PBGameStart) (*types.Receipt, error)
game
.
PreStatus
=
pkt
.
PBGameActionStart
game
.
PreStatus
=
pkt
.
PBGameActionStart
game
.
IsWaiting
=
false
game
.
IsWaiting
=
false
}
else
{
}
else
{
logger
.
Debug
(
fmt
.
Sprintf
(
"Game waiting: %s"
,
game
.
GameI
d
))
logger
.
Info
(
fmt
.
Sprintf
(
"Game waiting: %s round: %d"
,
game
.
GameId
,
game
.
Roun
d
))
receipt
,
err
:=
action
.
coinsAccount
.
ExecFrozen
(
action
.
fromaddr
,
action
.
execaddr
,
start
.
GetValue
()
*
PokerbullLeverageMax
)
//冻结子账户资金, 最后一位玩家不需要冻结
receipt
,
err
:=
action
.
coinsAccount
.
ExecFrozen
(
action
.
fromaddr
,
action
.
execaddr
,
start
.
GetValue
()
*
PokerbullLeverageMax
)
//冻结子账户资金, 最后一位玩家不需要冻结
if
err
!=
nil
{
if
err
!=
nil
{
logger
.
Error
(
"GameCreate.ExecFrozen"
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"amount"
,
start
.
GetValue
(),
"err"
,
err
.
Error
())
logger
.
Error
(
"GameCreate.ExecFrozen"
,
"addr"
,
action
.
fromaddr
,
"execaddr"
,
action
.
execaddr
,
"amount"
,
start
.
GetValue
(),
"err"
,
err
.
Error
())
...
@@ -683,7 +685,7 @@ func (action *Action) GameContinue(pbcontinue *pkt.PBGameContinue) (*types.Recei
...
@@ -683,7 +685,7 @@ func (action *Action) GameContinue(pbcontinue *pkt.PBGameContinue) (*types.Recei
pbcontinue
.
GetGameId
())
pbcontinue
.
GetGameId
())
return
nil
,
err
return
nil
,
err
}
}
logger
.
Debug
(
fmt
.
Sprintf
(
"Pokerbull game %s continue for
%s"
,
game
.
GameId
,
action
.
fromaddr
))
logger
.
Info
(
fmt
.
Sprintf
(
"Continue pokerbull game %s from
%s"
,
game
.
GameId
,
action
.
fromaddr
))
// 检查余额,庄家检查闲家数量倍数的资金
// 检查余额,庄家检查闲家数量倍数的资金
checkValue
:=
game
.
GetValue
()
*
PokerbullLeverageMax
checkValue
:=
game
.
GetValue
()
*
PokerbullLeverageMax
...
@@ -716,9 +718,10 @@ func (action *Action) GameContinue(pbcontinue *pkt.PBGameContinue) (*types.Recei
...
@@ -716,9 +718,10 @@ func (action *Action) GameContinue(pbcontinue *pkt.PBGameContinue) (*types.Recei
}
}
pbplayer
.
TxHash
=
txrng
pbplayer
.
TxHash
=
txrng
pbplayer
.
Ready
=
true
pbplayer
.
Ready
=
true
pbplayer
.
MatchTime
=
time
.
Unix
(
action
.
blocktime
,
0
)
.
Format
(
"2006-01-02 15:04:05"
)
if
getReadyPlayerNum
(
game
.
Players
)
==
int
(
game
.
PlayerNum
)
{
if
getReadyPlayerNum
(
game
.
Players
)
==
int
(
game
.
PlayerNum
)
{
logger
.
Debug
(
fmt
.
Sprintf
(
"Game start: %s"
,
game
.
GameI
d
))
logger
.
Info
(
fmt
.
Sprintf
(
"Game starting: %s round: %d"
,
game
.
GameId
,
game
.
Roun
d
))
logsH
,
kvH
,
err
:=
action
.
settleAccount
(
action
.
fromaddr
,
game
)
logsH
,
kvH
,
err
:=
action
.
settleAccount
(
action
.
fromaddr
,
game
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
...
@@ -730,7 +733,7 @@ func (action *Action) GameContinue(pbcontinue *pkt.PBGameContinue) (*types.Recei
...
@@ -730,7 +733,7 @@ func (action *Action) GameContinue(pbcontinue *pkt.PBGameContinue) (*types.Recei
game
.
IsWaiting
=
false
game
.
IsWaiting
=
false
game
.
PreStatus
=
pkt
.
PBGameActionContinue
game
.
PreStatus
=
pkt
.
PBGameActionContinue
}
else
{
}
else
{
logger
.
Debug
(
fmt
.
Sprintf
(
"Game waiting: %s
"
,
game
.
GameId
))
logger
.
Info
(
fmt
.
Sprintf
(
"Game waiting: %s round: %d
"
,
game
.
GameId
))
// 回合数加一次
// 回合数加一次
if
!
game
.
IsWaiting
{
if
!
game
.
IsWaiting
{
game
.
Round
++
game
.
Round
++
...
@@ -799,7 +802,7 @@ func (action *Action) GameQuit(pbend *pkt.PBGameQuit) (*types.Receipt, error) {
...
@@ -799,7 +802,7 @@ func (action *Action) GameQuit(pbend *pkt.PBGameQuit) (*types.Receipt, error) {
game
.
Status
=
pkt
.
PBGameActionQuit
game
.
Status
=
pkt
.
PBGameActionQuit
game
.
PrevIndex
=
game
.
Index
game
.
PrevIndex
=
game
.
Index
game
.
Index
=
action
.
getIndex
(
game
)
game
.
Index
=
action
.
getIndex
(
game
)
game
.
QuitTime
=
action
.
blocktime
game
.
QuitTime
=
time
.
Unix
(
action
.
blocktime
,
0
)
.
Format
(
"2006-01-02 15:04:05"
)
game
.
QuitTxHash
=
common
.
ToHex
(
action
.
txhash
)
game
.
QuitTxHash
=
common
.
ToHex
(
action
.
txhash
)
receiptLog
:=
action
.
GetReceiptLog
(
game
)
receiptLog
:=
action
.
GetReceiptLog
(
game
)
...
...
plugin/dapp/pokerbull/proto/pokerbull.proto
View file @
285f6717
...
@@ -6,7 +6,7 @@ package types;
...
@@ -6,7 +6,7 @@ package types;
message
PokerBull
{
message
PokerBull
{
string
gameId
=
1
;
//默认是由创建这局游戏的txHash作为gameId
string
gameId
=
1
;
//默认是由创建这局游戏的txHash作为gameId
int32
status
=
2
;
// Start 1 -> Continue 2 -> Quit 3
int32
status
=
2
;
// Start 1 -> Continue 2 -> Quit 3
int64
startTime
=
3
;
//开始时间
string
startTime
=
3
;
//开始时间
string
startTxHash
=
4
;
//游戏启动交易hash
string
startTxHash
=
4
;
//游戏启动交易hash
int64
value
=
5
;
//赌注
int64
value
=
5
;
//赌注
PBPoker
poker
=
6
;
//扑克牌
PBPoker
poker
=
6
;
//扑克牌
...
@@ -15,7 +15,7 @@ message PokerBull {
...
@@ -15,7 +15,7 @@ message PokerBull {
repeated
PBResult
results
=
9
;
//游戏结果集
repeated
PBResult
results
=
9
;
//游戏结果集
int64
index
=
10
;
//索引
int64
index
=
10
;
//索引
int64
prevIndex
=
11
;
//上级索引
int64
prevIndex
=
11
;
//上级索引
int64
quitTime
=
12
;
//游戏结束时间
string
quitTime
=
12
;
//游戏结束时间
string
quitTxHash
=
13
;
//游戏结束交易hash
string
quitTxHash
=
13
;
//游戏结束交易hash
string
dealerAddr
=
14
;
//下局庄家地址
string
dealerAddr
=
14
;
//下局庄家地址
bool
isWaiting
=
15
;
//游戏是否处于等待状态
bool
isWaiting
=
15
;
//游戏是否处于等待状态
...
@@ -25,19 +25,21 @@ message PokerBull {
...
@@ -25,19 +25,21 @@ message PokerBull {
//一把牌
//一把牌
message
PBHand
{
message
PBHand
{
repeated
int32
cards
=
1
;
//一把牌,五张
repeated
int32
cards
=
1
;
//一把牌,五张
int32
result
=
2
;
//斗牛结果 (没牛:0, 牛1-9:1-9, 牛牛:10)
int32
result
=
2
;
//斗牛结果 (没牛:0, 牛1-9:1-9, 牛牛:10)
string
address
=
3
;
//玩家地址
string
address
=
3
;
//玩家地址
bool
isWin
=
4
;
//是否赢庄家
bool
isWin
=
4
;
//是否赢庄家
int32
leverage
=
5
;
//赌注倍数
int32
leverage
=
5
;
//赌注倍数
string
roundTime
=
6
;
//本回合开始时间
}
}
//玩家
//玩家
message
PBPlayer
{
message
PBPlayer
{
repeated
PBHand
hands
=
1
;
//历史发牌和斗牛结果
repeated
PBHand
hands
=
1
;
//历史发牌和斗牛结果
string
address
=
2
;
//玩家地址
string
address
=
2
;
//玩家地址
int64
txHash
=
3
;
//发牌随机数因子txhash的整数格式
int64
txHash
=
3
;
//发牌随机数因子txhash的整数格式
bool
ready
=
4
;
// continue状态下,是否ready
bool
ready
=
4
;
//continue状态下,是否ready
string
matchTime
=
5
;
//玩家匹配时间
}
}
//本局游戏结果
//本局游戏结果
...
...
plugin/dapp/pokerbull/types/pokerbull.pb.go
View file @
285f6717
...
@@ -5,9 +5,8 @@ package types
...
@@ -5,9 +5,8 @@ package types
import
(
import
(
fmt
"fmt"
fmt
"fmt"
math
"math"
proto
"github.com/golang/protobuf/proto"
proto
"github.com/golang/protobuf/proto"
math
"math"
)
)
// Reference imports to suppress errors if they are not otherwise used.
// Reference imports to suppress errors if they are not otherwise used.
...
@@ -25,7 +24,7 @@ const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
...
@@ -25,7 +24,7 @@ const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
type
PokerBull
struct
{
type
PokerBull
struct
{
GameId
string
`protobuf:"bytes,1,opt,name=gameId,proto3" json:"gameId,omitempty"`
GameId
string
`protobuf:"bytes,1,opt,name=gameId,proto3" json:"gameId,omitempty"`
Status
int32
`protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"`
Status
int32
`protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"`
StartTime
int64
`protobuf:"varint
,3,opt,name=startTime,proto3" json:"startTime,omitempty"`
StartTime
string
`protobuf:"bytes
,3,opt,name=startTime,proto3" json:"startTime,omitempty"`
StartTxHash
string
`protobuf:"bytes,4,opt,name=startTxHash,proto3" json:"startTxHash,omitempty"`
StartTxHash
string
`protobuf:"bytes,4,opt,name=startTxHash,proto3" json:"startTxHash,omitempty"`
Value
int64
`protobuf:"varint,5,opt,name=value,proto3" json:"value,omitempty"`
Value
int64
`protobuf:"varint,5,opt,name=value,proto3" json:"value,omitempty"`
Poker
*
PBPoker
`protobuf:"bytes,6,opt,name=poker,proto3" json:"poker,omitempty"`
Poker
*
PBPoker
`protobuf:"bytes,6,opt,name=poker,proto3" json:"poker,omitempty"`
...
@@ -34,7 +33,7 @@ type PokerBull struct {
...
@@ -34,7 +33,7 @@ type PokerBull struct {
Results
[]
*
PBResult
`protobuf:"bytes,9,rep,name=results,proto3" json:"results,omitempty"`
Results
[]
*
PBResult
`protobuf:"bytes,9,rep,name=results,proto3" json:"results,omitempty"`
Index
int64
`protobuf:"varint,10,opt,name=index,proto3" json:"index,omitempty"`
Index
int64
`protobuf:"varint,10,opt,name=index,proto3" json:"index,omitempty"`
PrevIndex
int64
`protobuf:"varint,11,opt,name=prevIndex,proto3" json:"prevIndex,omitempty"`
PrevIndex
int64
`protobuf:"varint,11,opt,name=prevIndex,proto3" json:"prevIndex,omitempty"`
QuitTime
int64
`protobuf:"varint
,12,opt,name=quitTime,proto3" json:"quitTime,omitempty"`
QuitTime
string
`protobuf:"bytes
,12,opt,name=quitTime,proto3" json:"quitTime,omitempty"`
QuitTxHash
string
`protobuf:"bytes,13,opt,name=quitTxHash,proto3" json:"quitTxHash,omitempty"`
QuitTxHash
string
`protobuf:"bytes,13,opt,name=quitTxHash,proto3" json:"quitTxHash,omitempty"`
DealerAddr
string
`protobuf:"bytes,14,opt,name=dealerAddr,proto3" json:"dealerAddr,omitempty"`
DealerAddr
string
`protobuf:"bytes,14,opt,name=dealerAddr,proto3" json:"dealerAddr,omitempty"`
IsWaiting
bool
`protobuf:"varint,15,opt,name=isWaiting,proto3" json:"isWaiting,omitempty"`
IsWaiting
bool
`protobuf:"varint,15,opt,name=isWaiting,proto3" json:"isWaiting,omitempty"`
...
@@ -84,11 +83,11 @@ func (m *PokerBull) GetStatus() int32 {
...
@@ -84,11 +83,11 @@ func (m *PokerBull) GetStatus() int32 {
return
0
return
0
}
}
func
(
m
*
PokerBull
)
GetStartTime
()
int64
{
func
(
m
*
PokerBull
)
GetStartTime
()
string
{
if
m
!=
nil
{
if
m
!=
nil
{
return
m
.
StartTime
return
m
.
StartTime
}
}
return
0
return
""
}
}
func
(
m
*
PokerBull
)
GetStartTxHash
()
string
{
func
(
m
*
PokerBull
)
GetStartTxHash
()
string
{
...
@@ -147,11 +146,11 @@ func (m *PokerBull) GetPrevIndex() int64 {
...
@@ -147,11 +146,11 @@ func (m *PokerBull) GetPrevIndex() int64 {
return
0
return
0
}
}
func
(
m
*
PokerBull
)
GetQuitTime
()
int64
{
func
(
m
*
PokerBull
)
GetQuitTime
()
string
{
if
m
!=
nil
{
if
m
!=
nil
{
return
m
.
QuitTime
return
m
.
QuitTime
}
}
return
0
return
""
}
}
func
(
m
*
PokerBull
)
GetQuitTxHash
()
string
{
func
(
m
*
PokerBull
)
GetQuitTxHash
()
string
{
...
@@ -196,6 +195,7 @@ type PBHand struct {
...
@@ -196,6 +195,7 @@ type PBHand struct {
Address
string
`protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
Address
string
`protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
IsWin
bool
`protobuf:"varint,4,opt,name=isWin,proto3" json:"isWin,omitempty"`
IsWin
bool
`protobuf:"varint,4,opt,name=isWin,proto3" json:"isWin,omitempty"`
Leverage
int32
`protobuf:"varint,5,opt,name=leverage,proto3" json:"leverage,omitempty"`
Leverage
int32
`protobuf:"varint,5,opt,name=leverage,proto3" json:"leverage,omitempty"`
RoundTime
string
`protobuf:"bytes,6,opt,name=roundTime,proto3" json:"roundTime,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:"-"`
...
@@ -261,12 +261,20 @@ func (m *PBHand) GetLeverage() int32 {
...
@@ -261,12 +261,20 @@ func (m *PBHand) GetLeverage() int32 {
return
0
return
0
}
}
func
(
m
*
PBHand
)
GetRoundTime
()
string
{
if
m
!=
nil
{
return
m
.
RoundTime
}
return
""
}
//玩家
//玩家
type
PBPlayer
struct
{
type
PBPlayer
struct
{
Hands
[]
*
PBHand
`protobuf:"bytes,1,rep,name=hands,proto3" json:"hands,omitempty"`
Hands
[]
*
PBHand
`protobuf:"bytes,1,rep,name=hands,proto3" json:"hands,omitempty"`
Address
string
`protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
Address
string
`protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
TxHash
int64
`protobuf:"varint,3,opt,name=txHash,proto3" json:"txHash,omitempty"`
TxHash
int64
`protobuf:"varint,3,opt,name=txHash,proto3" json:"txHash,omitempty"`
Ready
bool
`protobuf:"varint,4,opt,name=ready,proto3" json:"ready,omitempty"`
Ready
bool
`protobuf:"varint,4,opt,name=ready,proto3" json:"ready,omitempty"`
MatchTime
string
`protobuf:"bytes,5,opt,name=matchTime,proto3" json:"matchTime,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:"-"`
...
@@ -325,6 +333,13 @@ func (m *PBPlayer) GetReady() bool {
...
@@ -325,6 +333,13 @@ func (m *PBPlayer) GetReady() bool {
return
false
return
false
}
}
func
(
m
*
PBPlayer
)
GetMatchTime
()
string
{
if
m
!=
nil
{
return
m
.
MatchTime
}
return
""
}
//本局游戏结果
//本局游戏结果
type
PBResult
struct
{
type
PBResult
struct
{
Hands
[]
*
PBHand
`protobuf:"bytes,1,rep,name=hands,proto3" json:"hands,omitempty"`
Hands
[]
*
PBHand
`protobuf:"bytes,1,rep,name=hands,proto3" json:"hands,omitempty"`
...
@@ -1734,69 +1749,71 @@ func init() {
...
@@ -1734,69 +1749,71 @@ func init() {
func
init
()
{
proto
.
RegisterFile
(
"pokerbull.proto"
,
fileDescriptor_8d22e4ee2313e311
)
}
func
init
()
{
proto
.
RegisterFile
(
"pokerbull.proto"
,
fileDescriptor_8d22e4ee2313e311
)
}
var
fileDescriptor_8d22e4ee2313e311
=
[]
byte
{
var
fileDescriptor_8d22e4ee2313e311
=
[]
byte
{
// 1021 bytes of a gzipped FileDescriptorProto
// 1045 bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x9c
,
0x56
,
0x4b
,
0x6f
,
0x23
,
0x45
,
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0x9c
,
0x56
,
0x5f
,
0x6f
,
0xe3
,
0x44
,
0x10
,
0xde
,
0xb1
,
0x3d
,
0x7e
,
0xd4
,
0x6c
,
0xec
,
0xa4
,
0x81
,
0xa8
,
0x85
,
0x10
,
0xb2
,
0x66
,
0xc3
,
0x10
,
0x3f
,
0xc7
,
0xb1
,
0x93
,
0x8c
,
0xaf
,
0x4d
,
0xbb
,
0x40
,
0xb5
,
0x42
,
0x08
,
0x45
,
0xbe
,
0x72
,
0xae
,
0x41
,
0x90
,
0x83
,
0x23
,
0x81
,
0x56
,
0x48
,
0x48
,
0x36
,
0x07
,
0x1c
,
0x69
,
0x85
,
0x9c
,
0xce
,
0x17
,
0x10
,
0xf4
,
0x21
,
0x95
,
0x40
,
0x27
,
0x24
,
0xa4
,
0x84
,
0x07
,
0x52
,
0xe9
,
0x84
,
0xd2
,
0xed
,
0x4a
,
0x7b
,
0x9e
,
0xf5
,
0xf4
,
0x66
,
0x47
,
0x3b
,
0x19
,
0x3b
,
0xf3
,
0xc8
,
0xc6
,
0x57
,
0xee
,
0xfc
,
0x49
,
0xf7
,
0xec
,
0x8b
,
0xf7
,
0x5a
,
0xeb
,
0x1c
,
0x27
,
0xf5
,
0x9f
,
0x72
,
0xf9
,
0x10
,
0x3c
,
0xf2
,
0x0a
,
0x0e
,
0xfc
,
0x2a
,
0x6e
,
0xfc
,
0x10
,
0xd4
,
0x55
,
0xdd
,
0x33
,
0x3d
,
0x13
,
0x9b
,
0x10
,
0x6e
,
0x8e
,
0xc4
,
0x03
,
0x9f
,
0x8a
,
0x37
,
0x3e
,
0x08
,
0xda
,
0x99
,
0xb5
,
0xbd
,
0x76
,
0x13
,
0x4a
,
0x79
,
0x5d
,
0x8f
,
0xae
,
0xae
,
0x57
,
0x7f
,
0x55
,
0x30
,
0xda
,
0xac
,
0x3f
,
0xc8
,
0xf4
,
0x6d
,
0x11
,
0xc7
,
0xdb
,
0xf9
,
0xb3
,
0xb3
,
0xbf
,
0x99
,
0x9d
,
0xfd
,
0xcd
,
0xc2
,
0x70
,
0xb3
,
0x7e
,
0x2f
,
0xd3
,
0xb7
,
0xa7
,
0x9b
,
0x74
,
0x9d
,
0xaf
,
0x99
,
0x9b
,
0x6f
,
0x37
,
0x32
,
0xf3
,
0x7f
,
0xef
,
0xc0
,
0x60
,
0xa9
,
0x45
,
0x1c
,
0x9f
,
0x6d
,
0xd2
,
0x75
,
0xbe
,
0x66
,
0x4e
,
0xbe
,
0xdd
,
0xc8
,
0xcc
,
0xff
,
0xb5
,
0x0b
,
0x44
,
0xf3
,
0x22
,
0x8e
,
0xd9
,
0x31
,
0x74
,
0xaf
,
0x82
,
0x6b
,
0x79
,
0x1e
,
0x72
,
0x67
,
0xec
,
0x4c
,
0x83
,
0x85
,
0x32
,
0xcd
,
0x8a
,
0x38
,
0x66
,
0x27
,
0xe0
,
0x5e
,
0x07
,
0x2b
,
0x79
,
0x11
,
0x72
,
0x6b
,
0x06
,
0x42
,
0x53
,
0x8a
,
0x9f
,
0xe5
,
0x41
,
0x5e
,
0x64
,
0xbc
,
0x35
,
0x76
,
0x26
,
0xae
,
0xd0
,
0x14
,
0x64
,
0x8d
,
0x07
,
0x42
,
0x4b
,
0x4a
,
0x9f
,
0xe5
,
0x41
,
0x5e
,
0x64
,
0xbc
,
0x33
,
0xb2
,
0xc6
,
0x8e
,
0xfb
,
0x02
,
0x06
,
0x59
,
0x1e
,
0xa4
,
0xf9
,
0xeb
,
0xe8
,
0x5a
,
0xf2
,
0xf6
,
0xd8
,
0x99
,
0xb4
,
0x45
,
0xd0
,
0x12
,
0xfb
,
0x0c
,
0x06
,
0x59
,
0x1e
,
0xa4
,
0xf9
,
0xeb
,
0x68
,
0x25
,
0xb9
,
0x8d
,
0x5b
,
0x6a
,
0xc5
,
0x60
,
0x63
,
0xf0
,
0x88
,
0xb8
,
0x5b
,
0x04
,
0xd9
,
0x7b
,
0xde
,
0x41
,
0x93
,
0x36
,
0x8b
,
0x7d
,
0x05
,
0x1b
,
0x81
,
0x47
,
0xc2
,
0x87
,
0x79
,
0x90
,
0xdd
,
0xf0
,
0x2e
,
0xda
,
0x4d
,
0x15
,
0xfb
,
0x18
,
0x0a
,
0xee
,
0x6d
,
0x10
,
0x17
,
0x92
,
0xbb
,
0x78
,
0x97
,
0x08
,
0x76
,
0x02
,
0x2e
,
0x7a
,
0xcb
,
0xbb
,
0x9c
,
0xbb
,
0x20
,
0x2e
,
0x24
,
0x77
,
0x46
,
0xd6
,
0xd8
,
0x16
,
0x24
,
0xb0
,
0x53
,
0x70
,
0x10
,
0x2d
,
0x63
,
0x67
,
0xe2
,
0x4d
,
0x87
,
0xa7
,
0xe8
,
0xea
,
0xe9
,
0x72
,
0x8e
,
0x8e
,
0x0a
,
0x12
,
0xb2
,
0xaf
,
0x77
,
0x47
,
0xd6
,
0xd8
,
0x9b
,
0x1c
,
0x9e
,
0x21
,
0xd4
,
0xb3
,
0xc5
,
0x0c
,
0x81
,
0x0a
,
0x32
,
0xb2
,
0xa1
,
0xb7
,
0x89
,
0x83
,
0xad
,
0x4c
,
0x33
,
0xde
,
0x1b
,
0xb7
,
0x27
,
0xde
,
0x74
,
0x54
,
0xe9
,
0x21
,
0x2f
,
0xa1
,
0xb7
,
0x89
,
0x83
,
0xad
,
0x4c
,
0x33
,
0xde
,
0x1b
,
0xd9
,
0x63
,
0x6f
,
0x32
,
0xac
,
0xfd
,
0x5f
,
0x18
,
0xb9
,
0x72
,
0x93
,
0x8e
,
0xbf
,
0x16
,
0xd7
,
0xbc
,
0x8f
,
0x11
,
0x54
,
0x0c
,
0x65
,
0x28
,
0x50
,
0x2f
,
0x4a
,
0xbb
,
0x82
,
0x49
,
0xcb
,
0x9f
,
0x8b
,
0x15
,
0xef
,
0x63
,
0x06
,
0xb5
,
0x42
,
0x05
,
0x95
,
0x59
,
0x11
,
0xe7
,
0x19
,
0x1f
,
0x34
,
0x0c
,
0x09
,
0xe4
,
0x0b
,
0x23
,
0x57
,
0xfe
,
0x46
,
0x49
,
0x4a
,
0x65
,
0x56
,
0xc4
,
0x79
,
0xc6
,
0x07
,
0xad
,
0x40
,
0x02
,
0xf5
,
0xa2
,
0xb4
,
0x2b
,
0xbc
,
0x51
,
0x28
,
0xef
,
0x38
,
0x90
,
0xbf
,
0x48
,
0xa0
,
0xf9
,
0x54
,
0xde
,
0x9e
,
0xa3
,
0xc4
,
0xa3
,
0x2c
,
0x94
,
0x12
,
0xca
,
0x0f
,
0x1c
,
0x08
,
0x2f
,
0x0a
,
0x18
,
0x3e
,
0x95
,
0x77
,
0x17
,
0x68
,
0xf1
,
0xd0
,
0x52
,
0x0c
,
0xf6
,
0x39
,
0xf4
,
0x6f
,
0x8a
,
0x88
,
0x52
,
0xf4
,
0x14
,
0x85
,
0x25
,
0xcd
,
0xbe
,
0x04
,
0xc0
,
0x2b
,
0xd8
,
0xa7
,
0xd0
,
0xbf
,
0x2d
,
0x22
,
0x2a
,
0xd1
,
0x53
,
0x2c
,
0x41
,
0x25
,
0xb3
,
0xcf
,
0x01
,
0x33
,
0x25
,
0xe8
,
0x00
,
0x13
,
0x64
,
0x71
,
0x94
,
0x3c
,
0x94
,
0x41
,
0x2c
,
0xd3
,
0x59
,
0x18
,
0xa6
,
0x70
,
0x4d
,
0x05
,
0x3a
,
0x40
,
0xab
,
0xa1
,
0x51
,
0xf6
,
0x50
,
0x06
,
0xb1
,
0x4c
,
0xa7
,
0x61
,
0x98
,
0x7c
,
0x48
,
0xf2
,
0x8a
,
0xa3
,
0x5e
,
0x8e
,
0xb2
,
0x37
,
0x41
,
0x94
,
0x47
,
0xc9
,
0x15
,
0x1f
,
0x8d
,
0xf2
,
0x43
,
0xb2
,
0xd7
,
0x1a
,
0x75
,
0x72
,
0x94
,
0xbd
,
0x09
,
0xa2
,
0x3c
,
0x4a
,
0xae
,
0xf9
,
0x70
,
0x9d
,
0x49
,
0x5f
,
0x54
,
0x0c
,
0xed
,
0xd7
,
0x25
,
0x15
,
0xee
,
0x50
,
0x87
,
0x6d
,
0x18
,
0x2a
,
0x96
,
0x64
,
0x8d
,
0xfb
,
0xa2
,
0x56
,
0x68
,
0x5c
,
0x57
,
0x74
,
0x71
,
0x47
,
0x3a
,
0xed
,
0x52
,
0xa1
,
0x72
,
0x74
,
0x5d
,
0x24
,
0x21
,
0x3f
,
0x42
,
0x09
,
0x11
,
0xfe
,
0x6f
,
0x0e
,
0x74
,
0x97
,
0xf3
,
0x45
,
0x90
,
0x49
,
0xd7
,
0x45
,
0x12
,
0xf2
,
0x63
,
0xb4
,
0x90
,
0xe0
,
0xff
,
0x6e
,
0x81
,
0xbb
,
0x98
,
0xcd
,
0x83
,
0x84
,
0x4a
,
0x61
,
0x15
,
0xa4
,
0x61
,
0xc6
,
0x9d
,
0x71
,
0x5b
,
0x29
,
0x20
,
0xa1
,
0x5a
,
0x81
,
0xb2
,
0x24
,
0x54
,
0x0e
,
0xcb
,
0x20
,
0x0d
,
0x33
,
0x6e
,
0x8d
,
0x6c
,
0xe5
,
0x80
,
0x82
,
0x6a
,
0x05
,
0xaa
,
0x61
,
0x5a
,
0x81
,
0x28
,
0xc6
,
0xa1
,
0x17
,
0x84
,
0x61
,
0x2a
,
0xb3
,
0x0c
,
0x1b
,
0x61
,
0x20
,
0x0c
,
0x46
,
0xd9
,
0x0a
,
0x24
,
0x31
,
0x0e
,
0xbd
,
0x20
,
0x0c
,
0x53
,
0x99
,
0x65
,
0xba
,
0x11
,
0x4a
,
0x11
,
0x89
,
0x49
,
0xcb
,
0xde
,
0x44
,
0x09
,
0x36
,
0x40
,
0x5f
,
0x10
,
0xa1
,
0xd2
,
0x12
,
0xcb
,
0x5b
,
0x99
,
0x8b
,
0x96
,
0xbd
,
0x89
,
0x12
,
0x6c
,
0x80
,
0xbe
,
0x20
,
0x41
,
0x95
,
0x25
,
0x96
,
0x77
,
0x32
,
0x0d
,
0x06
,
0x57
,
0x54
,
0x7d
,
0x57
,
0x94
,
0xb4
,
0xff
,
0x11
,
0xfa
,
0xa6
,
0x88
,
0xec
,
0x19
,
0xb8
,
0xef
,
0xae
,
0xe9
,
0xf6
,
0x1d
,
0x51
,
0xc9
,
0x0a
,
0x38
,
0xa2
,
0xc1
,
0x9a
,
0xb9
,
0xd4
,
0x56
,
0x95
,
0xc2
,
0x83
,
0x44
,
0x7b
,
0xe1
,
0x4d
,
0x0f
,
0xca
,
0xda
,
0x28
,
0x1f
,
0x05
,
0xc9
,
0xec
,
0xc7
,
0x5b
,
0xf5
,
0xff
,
0xcd
,
0x82
,
0x7e
,
0x79
,
0xc7
,
0xec
,
0x19
,
0x38
,
0x37
,
0x41
,
0xa2
,
0x41
,
0x7a
,
0x93
,
0x83
,
0xc7
,
0x8f
,
0xa1
,
0x9b
,
0x53
,
0x76
,
0xa9
,
0x3d
,
0x35
,
0x85
,
0xd1
,
0xcb
,
0x20
,
0xdc
,
0x1a
,
0xa7
,
0xea
,
0xea
,
0x54
,
0x0a
,
0x82
,
0x6c
,
0x26
,
0xb6
,
0x4e
,
0x13
,
0xdb
,
0x09
,
0xb8
,
0x39
,
0x15
,
0xdf
,
0x90
,
0xf0
,
0xff
,
0x70
,
0xd4
,
0xcb
,
0x54
,
0xf5
,
0xff
,
0xf6
,
0xf2
,
0x31
,
0x74
,
0x3f
,
0x46
,
0x49
,
0xc6
,
0x7b
,
0xd3
,
0x12
,
0x16
,
0x47
,
0x06
,
0xe1
,
0xb6
,
0xc4
,
0x8c
,
0x82
,
0xc2
,
0xb5
,
0x0a
,
0xf2
,
0x22
,
0x53
,
0xfd
,
0xb0
,
0xa6
,
0x6a
,
0xe1
,
0xb5
,
0xeb
,
0xe1
,
0xa9
,
0x3b
,
0x54
,
0x43
,
0xfd
,
0x25
,
0xe5
,
0x0d
,
0xe2
,
0x72
,
0x08
,
0x57
,
0xa5
,
0xf0
,
0xff
,
0x40
,
0x5c
,
0xd4
,
0x32
,
0xff
,
0x0d
,
0xd7
,
0x34
,
0xc5
,
0x9e
,
0xc3
,
0x90
,
0x4e
,
0xaf
,
0xea
,
0x89
,
0x69
,
0x70
,
0xfd
,
0x97
,
0xd0
,
0xd3
,
0x7f
,
0x09
,
0xb8
,
0xbf
,
0x44
,
0x49
,
0x22
,
0x53
,
0x0d
,
0x4b
,
0x4b
,
0x8d
,
0xda
,
0xd8
,
0xad
,
0xda
,
0x9c
,
0x61
,
0x4f
,
0x8d
,
0x38
,
0xf4
,
0x36
,
0xeb
,
0x28
,
0xc9
,
0xb5
,
0x57
,
0xae
,
0x30
,
0xa4
,
0xff
,
0x97
,
0x80
,
0x4b
,
0x0d
,
0xa0
,
0xdf
,
0x93
,
0x96
,
0xd8
,
0x73
,
0x38
,
0xa4
,
0xd5
,
0xab
,
0x66
,
0x55
,
0x5b
,
0x03
,
0x4f
,
0x97
,
0xf3
,
0x5f
,
0x82
,
0x6b
,
0x39
,
0x5b
,
0xe5
,
0xd1
,
0x3a
,
0x61
,
0xdf
,
0x80
,
0x8b
,
0x5a
,
0xff
,
0x25
,
0xf4
,
0xf4
,
0x43
,
0xda
,
0x73
,
0xc1
,
0x1c
,
0x7a
,
0x9b
,
0x75
,
0x94
,
0xe4
,
0x1a
,
0x1f
,
0x12
,
0x3f
,
0xbc
,
0x37
,
0x65
,
0x65
,
0x90
,
0x4a
,
0xe7
,
0x52
,
0x49
,
0x16
,
0x4f
,
0x04
,
0xa9
,
0x95
,
0x23
,
0x4a
,
0xd1
,
0xff
,
0xcb
,
0x82
,
0xa7
,
0x8b
,
0xd9
,
0x4f
,
0xc1
,
0x4a
,
0x4e
,
0x97
,
0x79
,
0xb0
,
0x33
,
0xe8
,
0xaf
,
0xd6
,
0x49
,
0x1e
,
0x25
,
0x85
,
0x44
,
0xbb
,
0xde
,
0xf4
,
0xb3
,
0x9a
,
0xfa
,
0xb4
,
0x4e
,
0xd8
,
0x57
,
0xe0
,
0xe0
,
0x6b
,
0x46
,
0xb6
,
0xf0
,
0x26
,
0xac
,
0x4a
,
0x52
,
0xf9
,
0x5c
,
0xcf
,
0x5a
,
0xb8
,
0x78
,
0x22
,
0x4a
,
0x45
,
0xf6
,
0x02
,
0x3a
,
0xaa
,
0xa1
,
0x31
,
0x09
,
0xde
,
0xf4
,
0x29
,
0xcb
,
0xfc
,
0x89
,
0x20
,
0x17
,
0x76
,
0x0e
,
0xfd
,
0xe5
,
0x3a
,
0xc9
,
0xa3
,
0xa4
,
0x90
,
0x18
,
0xa8
,
0x76
,
0xe1
,
0xa2
,
0x88
,
0x94
,
0x79
,
0x54
,
0x50
,
0x9e
,
0xdc
,
0x14
,
0x32
,
0xa5
,
0x8a
,
0x34
,
0xd7
,
0x9b
,
0x7c
,
0xd2
,
0x70
,
0xff
,
0x51
,
0x1b
,
0xe7
,
0x4f
,
0x44
,
0xe5
,
0xc8
,
0x5e
,
0x40
,
0x57
,
0x3d
,
0xb9
,
0x50
,
0x12
,
0xe5
,
0x09
,
0xaa
,
0xb0
,
0x21
,
0xb4
,
0xf2
,
0x2d
,
0x7e
,
0x42
,
0x57
,
0xb4
,
0xbd
,
0x06
,
0x2c
,
0x82
,
0x37
,
0x39
,
0x6e
,
0x6c
,
0xb8
,
0x2c
,
0x22
,
0x15
,
0x1e
,
0x1d
,
0x14
,
0x92
,
0xf2
,
0xed
,
0xbc
,
0xa7
,
0x71
,
0xc4
,
0x9f
,
0x81
,
0x67
,
0xb9
,
0x5e
,
0xe1
,
0x8b
,
0x63
,
0xe3
,
0x4b
,
0xdb
,
0x42
,
0xa6
,
0x74
,
0x5f
,
0x6d
,
0x24
,
0x97
,
0xca
,
0xa2
,
0x90
,
0xa0
,
0x0b
,
0x3b
,
0x84
,
0x4e
,
0x0d
,
0x0e
,
0x5a
,
0x0d
,
0x38
,
0xf0
,
0x27
,
0x30
,
0xac
,
0x87
,
0xb3
,
0x0f
,
0x15
,
0xfd
,
0x13
,
0x80
,
0xbe
,
0xc5
,
0x17
,
0xec
,
0x88
,
0x4e
,
0xbe
,
0x9d
,
0xf5
,
0x34
,
0x09
,
0xf9
,
0x53
,
0xf0
,
0x0c
,
0xe8
,
0x2a
,
0x8e
,
0xbd
,
0x5a
,
0x5f
,
0x19
,
0x97
,
0x30
,
0x86
,
0xbd
,
0x6a
,
0x37
,
0xf0
,
0x0c
,
0x15
,
0x48
,
0x35
,
0x39
,
0x59
,
0x26
,
0x39
,
0x35
,
0xb8
,
0xa4
,
0xd3
,
0xe2
,
0x12
,
0x7f
,
0x0c
,
0x87
,
0xcd
,
0x74
,
0xf7
,
0x55
,
0x94
,
0xe5
,
0xf3
,
0x2d
,
0xfd
,
0xd4
,
0x59
,
0x12
,
0x2e
,
0x4b
,
0xb0
,
0xaa
,
0x90
,
0xd8
,
0xf6
,
0x51
,
0xaa
,
0x7f
,
0x0a
,
0x50
,
0xe7
,
0xb1
,
0xd7
,
0xeb
,
0x8b
,
0x12
,
0x12
,
0xe6
,
0xb0
,
0xd7
,
0x69
,
0x22
,
0xf1
,
0xfe
,
0x98
,
0x2a
,
0xdc
,
0x6a
,
0x5b
,
0xb8
,
0xe5
,
0xbf
,
0x36
,
0xbd
,
0x20
,
0xe4
,
0xed
,
0x16
,
0x9e
,
0xa1
,
0x03
,
0xf9
,
0xbe
,
0x8a
,
0xb2
,
0x7c
,
0xb6
,
0xa5
,
0x67
,
0x3e
,
0x4d
,
0xc2
,
0x6a
,
0x9d
,
0x86
,
0x8f
,
0x46
,
0xff
,
0xdd
,
0x56
,
0x67
,
0x70
,
0x44
,
0x56
,
0x11
,
0xfe
,
0x1e
,
0x30
,
0x45
,
0xc5
,
0x74
,
0x35
,
0x8d
,
0x5b
,
0x6d
,
0x1a
,
0xdf
,
0x9f
,
0x53
,
0x4d
,
0x7a
,
0xb6
,
0x41
,
0x7a
,
0x5d
,
0x9a
,
0x68
,
0xd9
,
0x26
,
0x7e
,
0x82
,
0x03
,
0xdb
,
0xb1
,
0x8c
,
0x7d
,
0xa7
,
0x20
,
0x1a
,
0x8f
,
0xfe
,
0xeb
,
0xb2
,
0x17
,
0x84
,
0x5c
,
0xae
,
0xd3
,
0xf0
,
0xd1
,
0xa3
,
0x63
,
0x77
,
0xd4
,
0x29
,
0x1c
,
0xfa
,
0x33
,
0x7e
,
0x52
,
0xeb
,
0x0e
,
0x52
,
0x13
,
0x46
,
0xc7
,
0x5f
,
0x00
,
0xbb
,
0xe7
,
0x42
,
0xc6
,
0x53
,
0x54
,
0xe4
,
0xce
,
0x07
,
0x42
,
0x57
,
0x21
,
0x3a
,
0x66
,
0x88
,
0x1f
,
0xe0
,
0xc0
,
0x04
,
0x96
,
0xa6
,
0x4d
,
0x23
,
0xbc
,
0x66
,
0xc4
,
0xd2
,
0xad
,
0x2c
,
0x7d
,
0x80
,
0x91
,
0x55
,
0x95
,
0xf3
,
0xe4
,
0xb1
,
0x6f
,
0x14
,
0xbf
,
0xe3
,
0x52
,
0x3f
,
0xc6
,
0x8f
,
0x1a
,
0xdd
,
0x41
,
0x6e
,
0xa2
,
0xf4
,
0xf1
,
0xdd
,
0x7a
,
0x6f
,
0x28
,
0x0c
,
0x3a
,
0x0a
,
0x74
,
0x34
,
0x0e
,
0xe0
,
0xd9
,
0xca
,
0x5c
,
0x7b
,
0x77
,
0xe7
,
0xc0
,
0xee
,
0x41
,
0xc8
,
0xd8
,
0xa4
,
0x1d
,
0x84
,
0x37
,
0x82
,
0x18
,
0xbe
,
0x75
,
0xa4
,
0xf7
,
0xe6
,
0x3a
,
0x76
,
0xd8
,
0x67
,
0xe0
,
0x09
,
0xb9
,
0x89
,
0xf5
,
0x63
,
0xec
,
0x04
,
0x3a
,
0xca
,
0xb4
,
0x30
,
0x34
,
0x6e
,
0xe5
,
0x22
,
0x79
,
0xb7
,
0xde
,
0x9b
,
0x0a
,
0x83
,
0xae
,
0xa2
,
0x24
,
0xcd
,
0x03
,
0xfe
,
0x99
,
0x87
,
0xc6
,
0x59
,
0x33
,
0xac
,
0x05
,
0x4a
,
0xfd
,
0x6f
,
0xe1
,
0xb0
,
0xe1
,
0x21
,
0xfe
,
0xb8
,
0x36
,
0x2a
,
0x67
,
0xef
,
0xae
,
0x5c
,
0xd7
,
0x4c
,
0xfb
,
0x1c
,
0x3c
,
0x21
,
0x37
,
0xb1
,
0x3e
,
0x7f
,
0x72
,
0x8a
,
0x22
,
0x1d
,
0x08
,
0x43
,
0xfa
,
0x2f
,
0x61
,
0x64
,
0x3d
,
0xa1
,
0xba
,
0x8c
,
0x3d
,
0x8c
,
0x9d
,
0x42
,
0x57
,
0x85
,
0xd6
,
0x2f
,
0xf3
,
0xa8
,
0x04
,
0x5b
,
0x4e
,
0x7a
,
0x81
,
0x56
,
0xff
,
0x07
,
0x57
,
0x49
,
0x4d
,
0x52
,
0xee
,
0xbf
,
0x43
,
0x62
,
0x7f
,
0x0e
,
0xcc
,
0x7a
,
0x68
,
0xbe
,
0x15
,
0x6b
,
0x38
,
0x6a
,
0x21
,
0xc4
,
0xf7
,
0x4f
,
0xa0
,
0x28
,
0xd3
,
0x81
,
0x28
,
0x45
,
0xff
,
0x25
,
0x0c
,
0x6a
,
0x5e
,
0xfc
,
0x5b
,
0x61
,
0x69
,
0xba
,
0xb4
,
0xec
,
0xe9
,
0xf2
,
0xb7
,
0x03
,
0xcc
,
0x7a
,
0xff
,
0x8d
,
0x23
,
0x54
,
0x97
,
0xb1
,
0xe7
,
0xe0
,
0x28
,
0x6b
,
0x59
,
0x94
,
0xfb
,
0xe7
,
0x90
,
0xd9
,
0x9f
,
0x21
,
0x23
,
0xfb
,
0x1a
,
0xef
,
0x45
,
0x39
,
0x83
,
0x08
,
0x55
,
0xee
,
0x0d
,
0x6c
,
0x33
,
0x94
,
0x6a
,
0x01
,
0x33
,
0x0e
,
0x9a
,
0x6d
,
0x85
,
0x62
,
0xf3
,
0x7f
,
0xbb
,
0x58
,
0x1a
,
0x4d
,
0x1d
,
0x73
,
0x34
,
0xf3
,
0xb1
,
0xd3
,
0x9c
,
0x8f
,
0xbb
,
0xb7
,
0x0f
,
0x6b
,
0xaf
,
0xe8
,
0x3e
,
0xb0
,
0x57
,
0xe0
,
0x2c
,
0xfd
,
0x6d
,
0x01
,
0x33
,
0xce
,
0x7f
,
0x28
,
0xc8
,
0xbe
,
0xc6
,
0x7b
,
0x51
,
0x0d
,
0x30
,
0x62
,
0x95
,
0xcc
,
0x8b
,
0x34
,
0xe1
,
0x3d
,
0x1a
,
0x2e
,
0x44
,
0xf9
,
0x7f
,
0xb6
,
0xe0
,
0x40
,
0xc8
,
0x95
,
0x8c
,
0x7b
,
0xd3
,
0xbe
,
0x9c
,
0x68
,
0x8d
,
0xe1
,
0xda
,
0x6d
,
0x0f
,
0xd7
,
0xdd
,
0x5f
,
0x17
,
0xe3
,
0x53
,
0x36
,
0xb9
,
0xae
,
0xe5
,
0x63
,
0x23
,
0x34
,
0xcd
,
0xd4
,
0xb6
,
0x9a
,
0x69
,
0x67
,
0xd3
,
0xd4
,
0x97
,
0xe2
,
0x3e
,
0xf0
,
0x29
,
0xc1
,
0x41
,
0x9a
,
0x17
,
0x69
,
0xc2
,
0x7b
,
0x34
,
0x7a
,
0x48
,
0xf2
,
0xff
,
0x0f
,
0xb7
,
0xb9
,
0x7c
,
0xd4
,
0x60
,
0xa1
,
0xbb
,
0x03
,
0x16
,
0x28
,
0x01
,
0xbd
,
0x06
,
0x3c
,
0x56
,
0xec
,
0xc0
,
0x81
,
0x90
,
0x4b
,
0x19
,
0x6d
,
0x72
,
0x7d
,
0x97
,
0x8f
,
0xcd
,
0xb0
,
0x6c
,
0x26
,
0xdb
,
0x49
,
0xeb
,
0x37
,
0x93
,
0xc6
,
0xab
,
0xf4
,
0x0c
,
0xa8
,
0xb7
,
0xec
,
0x2d
,
0xab
,
0x5c
,
0x37
,
0x60
,
0x68
,
0xa6
,
0x9d
,
0x4d
,
0xd3
,
0xfc
,
0xb9
,
0x38
,
0xed
,
0x9f
,
0x4b
,
0x83
,
0x16
,
0xdc
,
0x1d
,
0xb4
,
0xef
,
0xba
,
0xe1
,
0xd9
,
0x0d
,
0x81
,
0x10
,
0x74
,
0x49
,
0x1b
,
0xa1
,
0x90
,
0x37
,
0xff
,
0x07
,
0xb0
,
0x40
,
0x05
,
0xe8
,
0xb5
,
0xe8
,
0xb1
,
0x2e
,
0x5a
,
0xbf
,
0x5d
,
0x34
,
0x5e
,
0x97
,
0x67
,
0x40
,
0xbd
,
0xd9
,
0x21
,
0xb4
,
0xdf
,
0x49
,
0xb3
,
0x7e
,
0xaa
,
0xa3
,
0xff
,
0x23
,
0x8c
,
0x96
,
0x73
,
0x03
,
0xdf
,
0x65
,
0x7e
,
0xd1
,
0xaa
,
0xbf
,
0x0a
,
0xec
,
0xfd
,
0xab
,
0x78
,
0x66
,
0x43
,
0x20
,
0x05
,
0x5d
,
0xd1
,
0x64
,
0x78
,
0x5f
,
0x01
,
0xf4
,
0xe5
,
0x56
,
0x75
,
0xf9
,
0x07
,
0x85
,
0xd7
,
0x17
,
0xb8
,
0x83
,
0x3d
,
0x77
,
0x52
,
0xc8
,
0xdb
,
0xff
,
0x43
,
0xd8
,
0xec
,
0x08
,
0xec
,
0x77
,
0x52
,
0x6a
,
0x12
,
0x52
,
0x4b
,
0xee
,
0xe2
,
0xf7
,
0x6a
,
0x1c
,
0xe0
,
0x17
,
0x79
,
0xd4
,
0xbd
,
0xb7
,
0x5d
,
0x5c
,
0xc8
,
0xcf
,
0xfe
,
0xff
,
0x7b
,
0x18
,
0x2e
,
0x66
,
0x25
,
0x7d
,
0x53
,
0xe0
,
0x7d
,
0x17
,
0xa0
,
0x37
,
0x77
,
0xea
,
0xcd
,
0x09
,
0x00
,
0x00
,
0xff
,
0xff
,
0xda
,
0x14
,
0x34
,
0x44
,
0xa3
,
0x0b
,
0x00
,
0x00
,
0xdf
,
0x29
,
0xbe
,
0xbe
,
0xc4
,
0x0f
,
0xdc
,
0xe3
,
0x36
,
0x7e
,
0xab
,
0xc6
,
0x01
,
0x3e
,
0x91
,
0x47
,
0xed
,
0x7b
,
0xeb
,
0xe2
,
0x6f
,
0xfe
,
0xfc
,
0x9f
,
0x00
,
0x00
,
0x00
,
0xff
,
0xff
,
0xe7
,
0x08
,
0xea
,
0x50
,
0xe0
,
0x0b
,
0x00
,
0x00
,
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment