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
a16cf9ab
Commit
a16cf9ab
authored
Sep 10, 2020
by
QM
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add supervisionaccount_test.go
parent
730d0fdc
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
473 additions
and
370 deletions
+473
-370
superaccount_test.go
plugin/dapp/paracross/executor/superaccount_test.go
+1
-6
supervisionaccount.go
plugin/dapp/paracross/executor/supervisionaccount.go
+168
-183
supervisionaccount_test.go
plugin/dapp/paracross/executor/supervisionaccount_test.go
+103
-0
paracross.proto
plugin/dapp/paracross/proto/paracross.proto
+1
-0
paracross.go
plugin/dapp/paracross/types/paracross.go
+2
-0
paracross.pb.go
plugin/dapp/paracross/types/paracross.pb.go
+197
-181
type.go
plugin/dapp/paracross/types/type.go
+1
-0
No files found.
plugin/dapp/paracross/executor/superaccount_test.go
View file @
a16cf9ab
...
...
@@ -9,6 +9,7 @@ import (
"github.com/stretchr/testify/suite"
//"github.com/stretchr/testify/mock"
"strings"
"testing"
apimock
"github.com/33cn/chain33/client/mocks"
...
...
@@ -16,8 +17,6 @@ import (
dbmock
"github.com/33cn/chain33/common/db/mocks"
"github.com/33cn/chain33/types"
"strings"
pt
"github.com/33cn/plugin/plugin/dapp/paracross/types"
"github.com/stretchr/testify/mock"
)
...
...
@@ -25,9 +24,7 @@ import (
var
(
PrivKey14K
=
"CC38546E9E659D15E6B4893F0AB32A06D103931A8230B0BDE71459D2B27D6944"
// 14KEKbYtKKQm4wMthSK9J4La4nAiidGozt
Account14K
=
"14KEKbYtKKQm4wMthSK9J4La4nAiidGozt"
//Account1MC = "1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs"
applyAddrs
=
"1KSBd17H7ZK8iT37aJztFB22XGwsPTdwE4, 1JRNjdEqp4LJ5fqycUBm9ayCKSeeskgMKR, 1NLHPEcbTWWxxU3dGUZBhayjrCHD3psX7k,1MCftFynyvG2F4ED5mdHYgziDxx6vDrScs"
Account12Q
=
"12qyocayNF7Lv6C9qW4avxs2E7U41fKSfv"
PrivKey12Q
=
"4257D8692EF7FE13C68B65D6A52F03933DB2FA5CE8FAF210B5B8B80C721CED01"
)
...
...
@@ -234,7 +231,6 @@ func (suite *NodeManageTestSuite) testNodeGroupConfigQuit() {
receipt
:=
nodeCommit
(
suite
,
PrivKeyB
,
tx
)
checkGroupApplyReceipt
(
suite
,
receipt
)
suite
.
Equal
(
int32
(
pt
.
TyLogParaNodeGroupConfig
),
receipt
.
Logs
[
0
]
.
Ty
)
var
g
pt
.
ReceiptParaNodeGroupConfig
err
=
types
.
Decode
(
receipt
.
Logs
[
0
]
.
Log
,
&
g
)
suite
.
Nil
(
err
)
...
...
@@ -265,7 +261,6 @@ func (suite *NodeManageTestSuite) testNodeGroupConfig() {
receipt
:=
nodeCommit
(
suite
,
PrivKeyB
,
tx
)
checkGroupApplyReceipt
(
suite
,
receipt
)
suite
.
Equal
(
int32
(
pt
.
TyLogParaNodeGroupConfig
),
receipt
.
Logs
[
0
]
.
Ty
)
var
g
pt
.
ReceiptParaNodeGroupConfig
err
=
types
.
Decode
(
receipt
.
Logs
[
0
]
.
Log
,
&
g
)
suite
.
Nil
(
err
)
...
...
plugin/dapp/paracross/executor/supervisionaccount.go
View file @
a16cf9ab
...
...
@@ -23,6 +23,21 @@ func (a *action) checkValidSupervisionNode(config *pt.ParaNodeAddrConfig) (bool,
return
false
,
nil
}
func
(
a
*
action
)
checkSupervisionNodeGroupExist
(
title
string
)
error
{
key
:=
calcParaSupervisionNodeGroupAddrsKey
(
title
)
value
,
err
:=
a
.
db
.
Get
(
key
)
if
err
!=
nil
&&
!
isNotFound
(
err
)
{
return
err
}
if
value
!=
nil
{
clog
.
Error
(
"node group apply, group existed"
)
return
pt
.
ErrParaSupervisionNodeGroupExisted
}
return
nil
}
func
getSupervisionNodeGroupStatus
(
db
dbm
.
KV
,
title
string
)
(
*
pt
.
ParaNodeGroupStatus
,
error
)
{
key
:=
calcParaSupervisionNodeGroupStatusKey
(
title
)
val
,
err
:=
db
.
Get
(
key
)
...
...
@@ -47,20 +62,6 @@ func getSupervisionNodeAddr(db dbm.KV, title, addr string) (*pt.ParaNodeAddrIdSt
return
&
status
,
err
}
//func (a *action) checkSupervisionNodeGroupExist(title string) error {
// key := calcParaSupervisionNodeGroupAddrsKey(title)
// value, err := a.db.Get(key)
// if err != nil && !isNotFound(err) {
// return err
// }
// if value != nil {
// clog.Error("node group apply, group existed")
// return pt.ErrParaSupervisionNodeGroupExisted
// }
//
// return nil
//}
func
makeSupervisionNodeGroupIDReceipt
(
addr
string
,
prev
,
current
*
pt
.
ParaNodeGroupStatus
)
*
types
.
Receipt
{
log
:=
&
pt
.
ReceiptParaNodeGroupConfig
{
Addr
:
addr
,
...
...
@@ -81,87 +82,6 @@ func makeSupervisionNodeGroupIDReceipt(addr string, prev, current *pt.ParaNodeGr
}
}
func
(
a
*
action
)
supervisionNodeGroupApply
(
config
*
pt
.
ParaNodeAddrConfig
)
(
*
types
.
Receipt
,
error
)
{
// 是否已经申请
addrExist
,
err
:=
a
.
checkValidSupervisionNode
(
config
)
if
err
!=
nil
{
return
nil
,
err
}
if
addrExist
{
return
nil
,
errors
.
Wrapf
(
pt
.
ErrParaSupervisionNodeAddrExisted
,
"nodeAddr existed:%s"
,
config
.
Addr
)
}
// 判断和监督组冻结金额是否一致
nodeGroupStatus
,
err
:=
getSupervisionNodeGroupStatus
(
a
.
db
,
config
.
Title
)
if
err
!=
nil
&&
!
isNotFound
(
err
)
{
return
nil
,
errors
.
Wrapf
(
pt
.
ErrParaSupervisionNodeGroupNotSet
,
"nodegroup not exist:%s"
,
config
.
Title
)
}
if
nodeGroupStatus
!=
nil
&&
config
.
CoinsFrozen
<
nodeGroupStatus
.
CoinsFrozen
{
return
nil
,
errors
.
Wrapf
(
pt
.
ErrParaNodeGroupFrozenCoinsNotEnough
,
"coinFrozen not enough:%d,expected:%d"
,
config
.
CoinsFrozen
,
nodeGroupStatus
.
CoinsFrozen
)
}
// 在主链上冻结金额
receipt
:=
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
}
cfg
:=
a
.
api
.
GetConfig
()
if
!
cfg
.
IsPara
()
{
r
,
err
:=
a
.
nodeGroupCoinsFrozen
(
a
.
fromaddr
,
config
.
CoinsFrozen
,
1
)
if
err
!=
nil
{
return
nil
,
err
}
receipt
.
KV
=
append
(
receipt
.
KV
,
r
.
KV
...
)
receipt
.
Logs
=
append
(
receipt
.
Logs
,
r
.
Logs
...
)
}
// 判断申请节点之前没有申请或者状态不是申请退出
addrStat
,
err
:=
getSupervisionNodeAddr
(
a
.
db
,
config
.
Title
,
config
.
Addr
)
if
err
!=
nil
&&
!
isNotFound
(
err
)
{
return
nil
,
errors
.
Wrapf
(
err
,
"nodeJoin get title=%s,nodeAddr=%s"
,
config
.
Title
,
config
.
Addr
)
}
if
addrStat
!=
nil
&&
addrStat
.
Status
!=
pt
.
ParaApplyQuited
{
return
nil
,
errors
.
Wrapf
(
pt
.
ErrParaNodeAddrExisted
,
"nodeJoin nodeAddr existed:%s,status:%d"
,
config
.
Addr
,
addrStat
.
Status
)
}
targetAddrs
:=
""
blsPubKeys
:=
""
if
nodeGroupStatus
!=
nil
{
targetAddrs
=
nodeGroupStatus
.
TargetAddrs
+
","
blsPubKeys
=
nodeGroupStatus
.
BlsPubKeys
+
","
}
targetAddrs
+=
config
.
Addr
blsPubKeys
+=
config
.
BlsPubKey
stat
:=
&
pt
.
ParaNodeGroupStatus
{
Id
:
calcParaSupervisionNodeGroupIDKey
(
config
.
Title
,
common
.
ToHex
(
a
.
txhash
)),
Status
:
pt
.
ParacrossSupervisionNodeApply
,
Title
:
config
.
Title
,
TargetAddrs
:
targetAddrs
,
BlsPubKeys
:
blsPubKeys
,
CoinsFrozen
:
config
.
CoinsFrozen
,
FromAddr
:
a
.
fromaddr
,
Height
:
a
.
height
,
}
r
:=
makeSupervisionNodeGroupIDReceipt
(
a
.
fromaddr
,
nil
,
stat
)
receipt
.
KV
=
append
(
receipt
.
KV
,
r
.
KV
...
)
receipt
.
Logs
=
append
(
receipt
.
Logs
,
r
.
Logs
...
)
return
receipt
,
nil
}
func
(
a
*
action
)
checkSupervisionNodeGroupExist
(
title
string
)
error
{
key
:=
calcParaSupervisionNodeGroupAddrsKey
(
title
)
value
,
err
:=
a
.
db
.
Get
(
key
)
if
err
!=
nil
&&
!
isNotFound
(
err
)
{
return
err
}
if
value
!=
nil
{
clog
.
Error
(
"node group apply, group existed"
)
return
pt
.
ErrParaNodeGroupExisted
}
return
nil
}
func
makeParaSupervisionNodeGroupReceipt
(
title
string
,
prev
,
current
*
types
.
ConfigItem
)
*
types
.
Receipt
{
key
:=
calcParaSupervisionNodeGroupAddrsKey
(
title
)
log
:=
&
types
.
ReceiptConfig
{
Prev
:
prev
,
Current
:
current
}
...
...
@@ -200,6 +120,68 @@ func makeSupervisionNodeConfigReceipt(fromAddr string, config *pt.ParaNodeAddrCo
}
}
func
makeParaSupervisionNodeStatusReceipt
(
fromAddr
string
,
prev
,
current
*
pt
.
ParaNodeAddrIdStatus
)
*
types
.
Receipt
{
key
:=
calcParaSupervisionNodeAddrKey
(
current
.
Title
,
current
.
Addr
)
log
:=
&
pt
.
ReceiptParaNodeAddrStatUpdate
{
FromAddr
:
fromAddr
,
Prev
:
prev
,
Current
:
current
,
}
return
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
,
KV
:
[]
*
types
.
KeyValue
{
{
Key
:
key
,
Value
:
types
.
Encode
(
current
)},
},
Logs
:
[]
*
types
.
ReceiptLog
{
{
Ty
:
pt
.
TyLogParaSupervisionNodeStatusUpdate
,
Log
:
types
.
Encode
(
log
),
},
},
}
}
func
supervisionSelfConsentInitStage
(
cfg
*
types
.
Chain33Config
)
*
types
.
Receipt
{
isEnable
:=
cfg
.
IsEnable
(
pt
.
ParaConsSubConf
+
"."
+
pt
.
ParaSelfConsInitConf
)
stage
:=
&
pt
.
SelfConsensStage
{
StartHeight
:
0
,
Enable
:
pt
.
ParaConfigYes
}
if
isEnable
{
stage
.
Enable
=
pt
.
ParaConfigNo
}
stages
:=
&
pt
.
SelfConsensStages
{
Items
:
[]
*
pt
.
SelfConsensStage
{
stage
}}
return
makeStageSupervisionGroupReceipt
(
nil
,
stages
)
}
func
makeStageSupervisionGroupReceipt
(
prev
,
current
*
pt
.
SelfConsensStages
)
*
types
.
Receipt
{
key
:=
[]
byte
(
fmt
.
Sprintf
(
paraSupervisionSelfConsensStages
))
log
:=
&
pt
.
ReceiptSelfConsStagesUpdate
{
Prev
:
prev
,
Current
:
current
}
return
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
,
KV
:
[]
*
types
.
KeyValue
{
{
Key
:
key
,
Value
:
types
.
Encode
(
current
)},
},
Logs
:
[]
*
types
.
ReceiptLog
{
{
Ty
:
pt
.
TyLogParaStageSupervisionGroupUpdate
,
Log
:
types
.
Encode
(
log
),
},
},
}
}
func
getSupervisionNodeGroupID
(
cfg
*
types
.
Chain33Config
,
db
dbm
.
KV
,
title
string
,
height
int64
,
id
string
)
(
*
pt
.
ParaNodeGroupStatus
,
error
)
{
if
pt
.
IsParaForkHeight
(
cfg
,
height
,
pt
.
ForkLoopCheckCommitTxDone
)
{
id
=
calcParaSupervisionNodeGroupIDKey
(
title
,
id
)
}
val
,
err
:=
getDb
(
db
,
[]
byte
(
id
))
if
err
!=
nil
{
return
nil
,
err
}
var
status
pt
.
ParaNodeGroupStatus
err
=
types
.
Decode
(
val
,
&
status
)
return
&
status
,
err
}
func
(
a
*
action
)
supervisionNodeGroupCreate
(
status
*
pt
.
ParaNodeGroupStatus
)
(
*
types
.
Receipt
,
error
)
{
nodes
:=
strings
.
Split
(
status
.
TargetAddrs
,
","
)
...
...
@@ -245,27 +227,6 @@ func (a *action) supervisionNodeGroupCreate(status *pt.ParaNodeGroupStatus) (*ty
return
receipt
,
nil
}
func
makeParaSupervisionNodeStatusReceipt
(
fromAddr
string
,
prev
,
current
*
pt
.
ParaNodeAddrIdStatus
)
*
types
.
Receipt
{
key
:=
calcParaSupervisionNodeAddrKey
(
current
.
Title
,
current
.
Addr
)
log
:=
&
pt
.
ReceiptParaNodeAddrStatUpdate
{
FromAddr
:
fromAddr
,
Prev
:
prev
,
Current
:
current
,
}
return
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
,
KV
:
[]
*
types
.
KeyValue
{
{
Key
:
key
,
Value
:
types
.
Encode
(
current
)},
},
Logs
:
[]
*
types
.
ReceiptLog
{
{
Ty
:
pt
.
TyLogParaSupervisionNodeStatusUpdate
,
Log
:
types
.
Encode
(
log
),
},
},
}
}
//由于propasal id 和quit id分开,quit id不知道对应addr proposal id的coinfrozen信息,需要维护一个围绕addr的数据库结构信息
func
(
a
*
action
)
updateSupervisionNodeAddrStatus
(
stat
*
pt
.
ParaNodeIdStatus
)
(
*
types
.
Receipt
,
error
)
{
cfg
:=
a
.
api
.
GetConfig
()
...
...
@@ -315,6 +276,93 @@ func (a *action) updateSupervisionNodeAddrStatus(stat *pt.ParaNodeIdStatus) (*ty
return
nil
,
errors
.
Wrapf
(
pt
.
ErrParaNodeOpStatusWrong
,
"nodeAddr:%s get wrong status:%d"
,
stat
.
TargetAddr
,
stat
.
Status
)
}
func
(
a
*
action
)
supervisionNodeGroupApply
(
config
*
pt
.
ParaNodeAddrConfig
)
(
*
types
.
Receipt
,
error
)
{
// 是否已经申请
addrExist
,
err
:=
a
.
checkValidSupervisionNode
(
config
)
if
err
!=
nil
{
//return nil, err
fmt
.
Println
(
"err:"
,
err
)
}
if
addrExist
{
return
nil
,
errors
.
Wrapf
(
pt
.
ErrParaSupervisionNodeAddrExisted
,
"nodeAddr existed:%s"
,
config
.
Addr
)
}
// 判断和监督组冻结金额是否一致
nodeGroupStatus
,
err
:=
getSupervisionNodeGroupStatus
(
a
.
db
,
config
.
Title
)
if
err
!=
nil
&&
!
isNotFound
(
err
)
{
return
nil
,
errors
.
Wrapf
(
pt
.
ErrParaSupervisionNodeGroupNotSet
,
"nodegroup not exist:%s"
,
config
.
Title
)
}
if
nodeGroupStatus
!=
nil
&&
config
.
CoinsFrozen
<
nodeGroupStatus
.
CoinsFrozen
{
return
nil
,
errors
.
Wrapf
(
pt
.
ErrParaNodeGroupFrozenCoinsNotEnough
,
"coinFrozen not enough:%d,expected:%d"
,
config
.
CoinsFrozen
,
nodeGroupStatus
.
CoinsFrozen
)
}
// 在主链上冻结金额
receipt
:=
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
}
cfg
:=
a
.
api
.
GetConfig
()
if
!
cfg
.
IsPara
()
{
r
,
err
:=
a
.
nodeGroupCoinsFrozen
(
a
.
fromaddr
,
config
.
CoinsFrozen
,
1
)
if
err
!=
nil
{
return
nil
,
err
}
receipt
.
KV
=
append
(
receipt
.
KV
,
r
.
KV
...
)
receipt
.
Logs
=
append
(
receipt
.
Logs
,
r
.
Logs
...
)
}
// 判断申请节点之前没有申请或者状态不是申请退出
addrStat
,
err
:=
getSupervisionNodeAddr
(
a
.
db
,
config
.
Title
,
config
.
Addr
)
if
err
!=
nil
&&
!
isNotFound
(
err
)
{
return
nil
,
errors
.
Wrapf
(
err
,
"nodeJoin get title=%s,nodeAddr=%s"
,
config
.
Title
,
config
.
Addr
)
}
if
addrStat
!=
nil
&&
addrStat
.
Status
!=
pt
.
ParaApplyQuited
{
return
nil
,
errors
.
Wrapf
(
pt
.
ErrParaNodeAddrExisted
,
"nodeJoin nodeAddr existed:%s,status:%d"
,
config
.
Addr
,
addrStat
.
Status
)
}
targetAddrs
:=
""
blsPubKeys
:=
""
if
nodeGroupStatus
!=
nil
{
targetAddrs
=
nodeGroupStatus
.
TargetAddrs
+
","
blsPubKeys
=
nodeGroupStatus
.
BlsPubKeys
+
","
}
targetAddrs
+=
config
.
Addr
blsPubKeys
+=
config
.
BlsPubKey
stat
:=
&
pt
.
ParaNodeGroupStatus
{
Id
:
calcParaSupervisionNodeGroupIDKey
(
config
.
Title
,
common
.
ToHex
(
a
.
txhash
)),
Status
:
pt
.
ParacrossSupervisionNodeApply
,
Title
:
config
.
Title
,
TargetAddrs
:
targetAddrs
,
BlsPubKeys
:
blsPubKeys
,
CoinsFrozen
:
config
.
CoinsFrozen
,
FromAddr
:
a
.
fromaddr
,
Height
:
a
.
height
,
}
r
:=
makeSupervisionNodeGroupIDReceipt
(
a
.
fromaddr
,
nil
,
stat
)
receipt
.
KV
=
append
(
receipt
.
KV
,
r
.
KV
...
)
receipt
.
Logs
=
append
(
receipt
.
Logs
,
r
.
Logs
...
)
return
receipt
,
nil
}
func
(
a
*
action
)
supervisionNodeGroupApprove
(
config
*
pt
.
ParaNodeAddrConfig
)
(
*
types
.
Receipt
,
error
)
{
cfg
:=
a
.
api
.
GetConfig
()
//只在主链检查
if
!
cfg
.
IsPara
()
&&
!
isSuperManager
(
cfg
,
a
.
fromaddr
)
{
return
nil
,
errors
.
Wrapf
(
types
.
ErrNotAllow
,
"node group approve not super manager:%s"
,
a
.
fromaddr
)
}
id
,
err
:=
getSupervisionNodeGroupID
(
cfg
,
a
.
db
,
config
.
Title
,
a
.
exec
.
GetMainHeight
(),
config
.
Id
)
if
err
!=
nil
{
return
nil
,
err
}
if
config
.
Title
!=
id
.
Title
{
return
nil
,
errors
.
Wrapf
(
pt
.
ErrNodeNotForTheTitle
,
"config title:%s,id title:%s"
,
config
.
Title
,
id
.
Title
)
}
return
a
.
supervisionNodeGroupApproveApply
(
config
,
id
)
}
func
(
a
*
action
)
supervisionNodeGroupApproveApply
(
config
*
pt
.
ParaNodeAddrConfig
,
apply
*
pt
.
ParaNodeGroupStatus
)
(
*
types
.
Receipt
,
error
)
{
err
:=
a
.
checkSupervisionNodeGroupExist
(
config
.
Title
)
if
err
!=
nil
{
...
...
@@ -356,67 +404,6 @@ func (a *action) supervisionNodeGroupApproveApply(config *pt.ParaNodeAddrConfig,
return
receipt
,
nil
}
func
supervisionSelfConsentInitStage
(
cfg
*
types
.
Chain33Config
)
*
types
.
Receipt
{
isEnable
:=
cfg
.
IsEnable
(
pt
.
ParaConsSubConf
+
"."
+
pt
.
ParaSelfConsInitConf
)
stage
:=
&
pt
.
SelfConsensStage
{
StartHeight
:
0
,
Enable
:
pt
.
ParaConfigYes
}
if
isEnable
{
stage
.
Enable
=
pt
.
ParaConfigNo
}
stages
:=
&
pt
.
SelfConsensStages
{
Items
:
[]
*
pt
.
SelfConsensStage
{
stage
}}
return
makeStageSupervisionGroupReceipt
(
nil
,
stages
)
}
func
makeStageSupervisionGroupReceipt
(
prev
,
current
*
pt
.
SelfConsensStages
)
*
types
.
Receipt
{
key
:=
[]
byte
(
fmt
.
Sprintf
(
paraSupervisionSelfConsensStages
))
log
:=
&
pt
.
ReceiptSelfConsStagesUpdate
{
Prev
:
prev
,
Current
:
current
}
return
&
types
.
Receipt
{
Ty
:
types
.
ExecOk
,
KV
:
[]
*
types
.
KeyValue
{
{
Key
:
key
,
Value
:
types
.
Encode
(
current
)},
},
Logs
:
[]
*
types
.
ReceiptLog
{
{
Ty
:
pt
.
TyLogParaStageSupervisionGroupUpdate
,
Log
:
types
.
Encode
(
log
),
},
},
}
}
func
getSupervisionNodeGroupID
(
cfg
*
types
.
Chain33Config
,
db
dbm
.
KV
,
title
string
,
height
int64
,
id
string
)
(
*
pt
.
ParaNodeGroupStatus
,
error
)
{
if
pt
.
IsParaForkHeight
(
cfg
,
height
,
pt
.
ForkLoopCheckCommitTxDone
)
{
id
=
calcParaSupervisionNodeGroupIDKey
(
title
,
id
)
}
val
,
err
:=
getDb
(
db
,
[]
byte
(
id
))
if
err
!=
nil
{
return
nil
,
err
}
var
status
pt
.
ParaNodeGroupStatus
err
=
types
.
Decode
(
val
,
&
status
)
return
&
status
,
err
}
// NodeGroupApprove super addr approve the node group apply
func
(
a
*
action
)
supervisionNodeGroupApprove
(
config
*
pt
.
ParaNodeAddrConfig
)
(
*
types
.
Receipt
,
error
)
{
cfg
:=
a
.
api
.
GetConfig
()
//只在主链检查
if
!
cfg
.
IsPara
()
&&
!
isSuperManager
(
cfg
,
a
.
fromaddr
)
{
return
nil
,
errors
.
Wrapf
(
types
.
ErrNotAllow
,
"node group approve not super manager:%s"
,
a
.
fromaddr
)
}
id
,
err
:=
getSupervisionNodeGroupID
(
cfg
,
a
.
db
,
config
.
Title
,
a
.
exec
.
GetMainHeight
(),
config
.
Id
)
if
err
!=
nil
{
return
nil
,
err
}
if
config
.
Title
!=
id
.
Title
{
return
nil
,
errors
.
Wrapf
(
pt
.
ErrNodeNotForTheTitle
,
"config title:%s,id title:%s"
,
config
.
Title
,
id
.
Title
)
}
return
a
.
supervisionNodeGroupApproveApply
(
config
,
id
)
}
func
(
a
*
action
)
supervisionNodeGroupQuit
(
config
*
pt
.
ParaNodeAddrConfig
)
(
*
types
.
Receipt
,
error
)
{
cfg
:=
a
.
api
.
GetConfig
()
status
,
err
:=
getSupervisionNodeGroupID
(
cfg
,
a
.
db
,
config
.
Title
,
a
.
exec
.
GetMainHeight
(),
config
.
Id
)
...
...
@@ -461,6 +448,7 @@ func (a *action) supervisionNodeGroupQuit(config *pt.ParaNodeAddrConfig) (*types
return
receipt
,
nil
}
func
(
a
*
action
)
SupervisionNodeGroupConfig
(
config
*
pt
.
ParaNodeAddrConfig
)
(
*
types
.
Receipt
,
error
)
{
cfg
:=
a
.
api
.
GetConfig
()
if
!
validTitle
(
cfg
,
config
.
Title
)
{
...
...
@@ -469,18 +457,15 @@ func (a *action) SupervisionNodeGroupConfig(config *pt.ParaNodeAddrConfig) (*typ
if
!
types
.
IsParaExecName
(
string
(
a
.
tx
.
Execer
))
&&
cfg
.
IsDappFork
(
a
.
exec
.
GetMainHeight
(),
pt
.
ParaX
,
pt
.
ForkParaAssetTransferRbk
)
{
return
nil
,
errors
.
Wrapf
(
types
.
ErrInvalidParam
,
"exec=%s,should prefix with user.p."
,
string
(
a
.
tx
.
Execer
))
}
if
(
config
.
Op
==
pt
.
ParacrossSupervisionNodeApprove
||
config
.
Op
==
pt
.
ParacrossSupervisionNodeQuit
)
&&
config
.
Id
==
""
{
return
nil
,
types
.
ErrInvalidParam
}
if
config
.
Op
==
pt
.
ParacrossSupervisionNodeApply
{
return
a
.
supervisionNodeGroupApply
(
config
)
}
else
if
config
.
Op
==
pt
.
ParacrossSupervisionNodeApprove
{
if
config
.
Id
==
""
{
return
nil
,
types
.
ErrInvalidParam
}
return
a
.
supervisionNodeGroupApprove
(
config
)
}
else
if
config
.
Op
==
pt
.
ParacrossSupervisionNodeQuit
{
if
config
.
Id
==
""
{
return
nil
,
types
.
ErrInvalidParam
}
return
a
.
supervisionNodeGroupQuit
(
config
)
}
...
...
plugin/dapp/paracross/executor/supervisionaccount_test.go
0 → 100644
View file @
a16cf9ab
package
executor
import
(
"fmt"
"github.com/33cn/chain33/types"
pt
"github.com/33cn/plugin/plugin/dapp/paracross/types"
)
// createRawSupervisionNodeConfigTx create raw tx for node config
func
createRawSupervisionNodeConfigTx
(
config
*
pt
.
ParaNodeAddrConfig
)
(
*
types
.
Transaction
,
error
)
{
action
:=
&
pt
.
ParacrossAction
{
Ty
:
pt
.
ParacrossActionSupervisionNodeGroupConfig
,
Value
:
&
pt
.
ParacrossAction_SupervisionNodeGroupConfig
{
SupervisionNodeGroupConfig
:
config
},
}
tx
:=
&
types
.
Transaction
{
Payload
:
types
.
Encode
(
action
),
Execer
:
[]
byte
(
config
.
Title
+
pt
.
ParaX
),
}
return
tx
,
nil
}
func
(
suite
*
NodeManageTestSuite
)
TestSupervisionExec
()
{
//suite.testSupervisionNodeConfigQuit()
suite
.
testSupervisionNodeConfigApprove
()
}
func
(
suite
*
NodeManageTestSuite
)
testSupervisionNodeConfigQuit
()
{
config
:=
&
pt
.
ParaNodeAddrConfig
{
Title
:
chain33TestCfg
.
GetTitle
(),
Op
:
pt
.
ParacrossSupervisionNodeApply
,
Addr
:
Account14K
,
}
tx
,
err
:=
createRawSupervisionNodeConfigTx
(
config
)
suite
.
Nil
(
err
)
receipt
:=
nodeCommit
(
suite
,
PrivKey14K
,
tx
)
fmt
.
Println
(
receipt
)
fmt
.
Println
(
receipt
.
Ty
,
int32
(
types
.
ExecOk
))
fmt
.
Println
(
receipt
.
KV
,
1
)
fmt
.
Println
(
receipt
.
Logs
,
1
)
fmt
.
Println
(
int32
(
pt
.
TyLogParaNodeGroupConfig
),
receipt
.
Logs
[
0
]
.
Ty
)
//assert.Equal(suite.T(), int32(pt.TyLogParaNodeGroupConfig), receipt.Logs[0].Ty)
//checkGroupApplyReceipt(suite, receipt)
//suite.Equal(int32(pt.TyLogParaNodeGroupConfig), receipt.Logs[0].Ty)
var
g
pt
.
ReceiptParaNodeGroupConfig
err
=
types
.
Decode
(
receipt
.
Logs
[
0
]
.
Log
,
&
g
)
suite
.
Nil
(
err
)
config
=
&
pt
.
ParaNodeAddrConfig
{
Title
:
chain33TestCfg
.
GetTitle
(),
Op
:
pt
.
ParacrossSupervisionNodeQuit
,
Id
:
g
.
Current
.
Id
,
}
tx
,
err
=
createRawSupervisionNodeConfigTx
(
config
)
suite
.
Nil
(
err
)
nodeCommit
(
suite
,
PrivKey14K
,
tx
)
}
func
(
suite
*
NodeManageTestSuite
)
testSupervisionNodeConfigApprove
()
{
config
:=
&
pt
.
ParaNodeAddrConfig
{
Title
:
chain33TestCfg
.
GetTitle
(),
Op
:
pt
.
ParacrossSupervisionNodeApply
,
Addr
:
Account14K
,
}
tx
,
err
:=
createRawSupervisionNodeConfigTx
(
config
)
suite
.
Nil
(
err
)
receipt
:=
nodeCommit
(
suite
,
PrivKey14K
,
tx
)
fmt
.
Println
(
receipt
)
fmt
.
Println
(
receipt
.
Ty
,
int32
(
types
.
ExecOk
))
fmt
.
Println
(
receipt
.
KV
,
1
)
fmt
.
Println
(
receipt
.
Logs
,
1
)
fmt
.
Println
(
int32
(
pt
.
TyLogParaNodeGroupConfig
),
receipt
.
Logs
[
0
]
.
Ty
)
//assert.Equal(suite.T(), int32(pt.TyLogParaNodeGroupConfig), receipt.Logs[0].Ty)
//checkGroupApplyReceipt(suite, receipt)
//suite.Equal(int32(pt.TyLogParaNodeGroupConfig), receipt.Logs[0].Ty)
var
g
pt
.
ReceiptParaNodeGroupConfig
err
=
types
.
Decode
(
receipt
.
Logs
[
0
]
.
Log
,
&
g
)
suite
.
Nil
(
err
)
config
=
&
pt
.
ParaNodeAddrConfig
{
Title
:
chain33TestCfg
.
GetTitle
(),
Id
:
g
.
Current
.
Id
,
Op
:
pt
.
ParacrossSupervisionNodeApprove
,
}
tx
,
err
=
createRawSupervisionNodeConfigTx
(
config
)
suite
.
Nil
(
err
)
receipt
=
nodeCommit
(
suite
,
Account14K
,
tx
)
fmt
.
Println
(
receipt
)
fmt
.
Println
(
receipt
.
Ty
,
int32
(
types
.
ExecOk
))
fmt
.
Println
(
receipt
.
KV
,
1
)
fmt
.
Println
(
receipt
.
Logs
,
1
)
fmt
.
Println
(
int32
(
pt
.
TyLogParaNodeGroupConfig
),
receipt
.
Logs
[
0
]
.
Ty
)
checkGroupApproveReceipt
(
suite
,
receipt
)
}
plugin/dapp/paracross/proto/paracross.proto
View file @
a16cf9ab
...
...
@@ -342,6 +342,7 @@ message ParacrossAction {
ParaStageConfig
selfStageConfig
=
11
;
CrossAssetTransfer
crossAssetTransfer
=
12
;
ParaBindMinerCmd
paraBindMiner
=
13
;
ParaNodeAddrConfig
supervisionNodeGroupConfig
=
14
;
}
int32
ty
=
2
;
}
...
...
plugin/dapp/paracross/types/paracross.go
View file @
a16cf9ab
...
...
@@ -91,6 +91,8 @@ const (
ParacrossActionSelfStageConfig
// ParacrossActionCrossAssetTransfer crossChain asset transfer key
ParacrossActionCrossAssetTransfer
// ParacrossActionSupervisionNodeGroupConfig
ParacrossActionSupervisionNodeGroupConfig
)
//paracross asset porcess
...
...
plugin/dapp/paracross/types/paracross.pb.go
View file @
a16cf9ab
...
...
@@ -2870,6 +2870,7 @@ type ParacrossAction struct {
// *ParacrossAction_SelfStageConfig
// *ParacrossAction_CrossAssetTransfer
// *ParacrossAction_ParaBindMiner
// *ParacrossAction_SupervisionNodeGroupConfig
Value
isParacrossAction_Value
`protobuf_oneof:"value"`
Ty
int32
`protobuf:"varint,2,opt,name=ty,proto3" json:"ty,omitempty"`
XXX_NoUnkeyedLiteral
struct
{}
`json:"-"`
...
...
@@ -2954,6 +2955,10 @@ type ParacrossAction_ParaBindMiner struct {
ParaBindMiner
*
ParaBindMinerCmd
`protobuf:"bytes,13,opt,name=paraBindMiner,proto3,oneof"`
}
type
ParacrossAction_SupervisionNodeGroupConfig
struct
{
SupervisionNodeGroupConfig
*
ParaNodeAddrConfig
`protobuf:"bytes,14,opt,name=supervisionNodeGroupConfig,proto3,oneof"`
}
func
(
*
ParacrossAction_Commit
)
isParacrossAction_Value
()
{}
func
(
*
ParacrossAction_Miner
)
isParacrossAction_Value
()
{}
...
...
@@ -2978,6 +2983,8 @@ func (*ParacrossAction_CrossAssetTransfer) isParacrossAction_Value() {}
func
(
*
ParacrossAction_ParaBindMiner
)
isParacrossAction_Value
()
{}
func
(
*
ParacrossAction_SupervisionNodeGroupConfig
)
isParacrossAction_Value
()
{}
func
(
m
*
ParacrossAction
)
GetValue
()
isParacrossAction_Value
{
if
m
!=
nil
{
return
m
.
Value
...
...
@@ -3069,6 +3076,13 @@ func (m *ParacrossAction) GetParaBindMiner() *ParaBindMinerCmd {
return
nil
}
func
(
m
*
ParacrossAction
)
GetSupervisionNodeGroupConfig
()
*
ParaNodeAddrConfig
{
if
x
,
ok
:=
m
.
GetValue
()
.
(
*
ParacrossAction_SupervisionNodeGroupConfig
);
ok
{
return
x
.
SupervisionNodeGroupConfig
}
return
nil
}
func
(
m
*
ParacrossAction
)
GetTy
()
int32
{
if
m
!=
nil
{
return
m
.
Ty
...
...
@@ -3091,6 +3105,7 @@ func (*ParacrossAction) XXX_OneofWrappers() []interface{} {
(
*
ParacrossAction_SelfStageConfig
)(
nil
),
(
*
ParacrossAction_CrossAssetTransfer
)(
nil
),
(
*
ParacrossAction_ParaBindMiner
)(
nil
),
(
*
ParacrossAction_SupervisionNodeGroupConfig
)(
nil
),
}
}
...
...
@@ -4429,191 +4444,192 @@ func init() {
func
init
()
{
proto
.
RegisterFile
(
"paracross.proto"
,
fileDescriptor_6a397e38c9ea6747
)
}
var
fileDescriptor_6a397e38c9ea6747
=
[]
byte
{
// 29
34
bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xd4
,
0x3a
,
0x
cd
,
0x6f
,
0x24
,
0x47
,
0x
f5
,
0xee
,
0xf9
,
0xf2
,
0xcc
,
0xb3
,
0xc7
,
0x1
f
,
0x1d
,
0xaf
,
0x33
,
0x71
,
0x92
,
0x95
,
0xd5
,
0xca
,
0x
2f
,
0xf2
,
0x8f
,
0x6c
,
0x76
,
0xb3
,
0x4e
,
0x08
,
0x8a
,
0x10
,
0x82
,
0xd8
,
0xbb
,
0xc9
,
0x58
,
0x59
,
0x
47
,
0x9b
,
0xb2
,
0x03
,
0x87
,
0x08
,
0x44
,
0x7b
,
0xa6
,
0x6c
,
0xb7
,
0x32
,
0xd3
,
0x3d
,
0xdb
,
0xd
5
,
0x
93
,
0xb5
,
0x11
,
0x52
,
0x38
,
0x00
,
0x37
,
0x24
,
0x2e
,
0x48
,
0x70
,
0x80
,
0x0b
,
0xdc
,
0x90
,
0x38
,
0x
71
,
0xe6
,
0x80
,
0xc4
,
0x25
,
0xe2
,
0x12
,
0x8e
,
0xdc
,
0xb8
,
0x81
,
0x38
,
0xf2
,
0x0f
,
0xa0
,
0xf7
,
0xaa
,
0x
aa
,
0xbb
,
0xaa
,
0xba
,
0x67
,
0xec
,
0x64
,
0xf7
,
0xc2
,
0xad
,
0xeb
,
0xf5
,
0xab
,
0xaa
,
0xf7
,
0xf
d
,
0xd5
,
0x0d
,
0xab
,
0x93
,
0x30
,
0x0d
,
0x07
,
0x69
,
0x22
,
0xc4
,
0xed
,
0x49
,
0x9a
,
0x64
,
0x89
,
0x
df
,
0xcc
,
0x2e
,
0x27
,
0x5c
,
0x6c
,
0xad
,
0x67
,
0x69
,
0x18
,
0x8b
,
0x70
,
0x90
,
0x45
,
0x49
,
0x2c
,
0x
df
,
0x6c
,
0x2d
,
0x0f
,
0x92
,
0xf1
,
0x38
,
0x5f
,
0xad
,
0x9d
,
0x8c
,
0x92
,
0xc1
,
0xc7
,
0x83
,
0xf3
,
0x
30
,
0x52
,
0x90
,
0xe0
,
0x01
,
0x6c
,
0x3e
,
0xd4
,
0x87
,
0x1d
,
0x65
,
0x61
,
0x36
,
0x15
,
0xf7
,
0x78
,
0x
16
,
0x46
,
0x23
,
0xe1
,
0x6f
,
0x40
,
0x33
,
0x1c
,
0x0e
,
0x53
,
0xd1
,
0xf3
,
0xb6
,
0xeb
,
0x3b
,
0x1d
,
0x
26
,
0x17
,
0xfe
,
0x0b
,
0xd0
,
0xa1
,
0x33
,
0xfa
,
0xa1
,
0x38
,
0xef
,
0xd5
,
0xb6
,
0xeb
,
0x3b
,
0xcb
,
0x
ac
,
0x00
,
0x04
,
0x1f
,
0xc1
,
0xf3
,
0xce
,
0x69
,
0x7b
,
0xf8
,
0x4e
,
0x1f
,
0x79
,
0x13
,
0x20
,
0xc7
,
0x
95
,
0xe7
,
0x2e
,
0x33
,
0x03
,
0x82
,
0x87
,
0x67
,
0x17
,
0x8c
,
0x8b
,
0xe9
,
0x28
,
0x13
,
0xfa
,
0xf0
,
0x
1c
,
0x10
,
0xfc
,
0xab
,
0x06
,
0x37
,
0xf2
,
0xd3
,
0xfb
,
0x3c
,
0x3a
,
0x3b
,
0xcf
,
0xe4
,
0x1d
,
0xfe
,
0x
26
,
0xb4
,
0x04
,
0x3d
,
0xf5
,
0xbc
,
0x6d
,
0x6f
,
0xa7
,
0xc9
,
0xd4
,
0x0a
,
0x59
,
0xc8
,
0xa2
,
0x6c
,
0x
c4
,
0x7b
,
0xb5
,
0x6d
,
0x0f
,
0x59
,
0xa0
,
0x05
,
0x62
,
0x9f
,
0xd3
,
0xee
,
0x5e
,
0x7d
,
0xdb
,
0xdb
,
0x
a9
,
0x33
,
0xb5
,
0xf2
,
0xbf
,
0x06
,
0x8b
,
0x43
,
0x49
,
0x68
,
0xaf
,
0xb1
,
0xed
,
0xed
,
0x2c
,
0xed
,
0x
be
,
0x78
,
0x9b
,
0xc4
,
0x7a
,
0xbb
,
0x5a
,
0x40
,
0x4c
,
0x63
,
0xfb
,
0x87
,
0xe0
,
0x8b
,
0xe9
,
0x84
,
0x
a7
,
0x9f
,
0x44
,
0x22
,
0x4a
,
0x62
,
0xf5
,
0xba
,
0xd7
,
0xbc
,
0xce
,
0x19
,
0x15
,
0x1b
,
0x51
,
0x4a
,
0x
e3
,
0x30
,
0x8a
,
0x25
,
0x87
,
0xbd
,
0x16
,
0xd1
,
0x68
,
0x40
,
0xfc
,
0x2d
,
0x68
,
0xd3
,
0x0a
,
0x35
,
0x
b0
,
0xb8
,
0xed
,
0xed
,
0x2c
,
0xb3
,
0x7c
,
0xed
,
0xbf
,
0x03
,
0xcb
,
0x27
,
0x86
,
0xc4
,
0x7b
,
0x6d
,
0x
22
,
0x22
,
0xa8
,
0x26
,
0xc2
,
0xd4
,
0x0d
,
0xb3
,
0xf6
,
0x05
,
0xff
,
0xf4
,
0xa0
,
0x57
,
0x29
,
0x6b
,
0x
26
,
0x26
,
0x4f
,
0x49
,
0xdc
,
0x36
,
0x9b
,
0x8d
,
0xb9
,
0x6c
,
0x36
,
0xe9
,
0xc0
,
0x82
,
0xcd
,
0x6
d
,
0x
58
,
0x42
,
0xbb
,
0x8e
,
0xb2
,
0xb7
,
0xc9
,
0x42
,
0x5b
,
0x64
,
0xa1
,
0x26
,
0xc8
,
0xdf
,
0x81
,
0x55
,
0x
b9
,
0xdc
,
0xcb
,
0xad
,
0x75
,
0x91
,
0xb0
,
0x5c
,
0x70
,
0xf0
,
0x2b
,
0x0f
,
0x56
,
0x1d
,
0xc1
,
0x14
,
0x
9c
,
0x78
,
0xd5
,
0x9c
,
0xd4
,
0x2c
,
0x4e
,
0x2c
,
0x9f
,
0xa8
,
0x93
,
0x46
,
0x0a
,
0xc0
,
0x17
,
0xe6
,
0x
d3
,
0x50
,
0x67
,
0xf0
,
0x3b
,
0x53
,
0x0d
,
0xfb
,
0x49
,
0x2c
,
0x78
,
0x2c
,
0xa6
,
0xf3
,
0x89
,
0x4
4
,
0x
d1
,
0x9c
,
0x17
,
0xf7
,
0x49
,
0x4a
,
0x4d
,
0x90
,
0xff
,
0x12
,
0x74
,
0x07
,
0xf2
,
0xa8
,
0xbe
,
0xa9
,
0x
17
,
0x1b
,
0xe8
,
0x7f
,
0x05
,
0xd6
,
0x14
,
0xa0
,
0x90
,
0x60
,
0x83
,
0x2e
,
0x2a
,
0xc1
,
0x83
,
0x3f
,
0x
7a
,
0xe0
,
0x23
,
0x99
,
0xef
,
0x27
,
0x43
,
0x8e
,
0xe2
,
0xdf
,
0x4f
,
0xe2
,
0xd3
,
0xe8
,
0x6c
,
0x06
,
0x
81
,
0x2b
,
0x50
,
0x4b
,
0x26
,
0x44
,
0x57
,
0x97
,
0xd5
,
0x92
,
0x09
,
0xae
,
0xa3
,
0x21
,
0xd1
,
0xd0
,
0x
61
,
0xb5
,
0x68
,
0xe8
,
0xfb
,
0xd0
,
0xc0
,
0x50
,
0xa3
,
0x2e
,
0xa3
,
0x67
,
0x3c
,
0xe9
,
0x93
,
0x70
,
0x
34
,
0xe5
,
0x24
,
0xa0
,
0x2e
,
0x93
,
0x0b
,
0x69
,
0x05
,
0x51
,
0x2c
,
0xde
,
0x49
,
0x93
,
0x1f
,
0xf0
,
0x
58
,
0x79
,
0x8a
,
0x09
,
0x92
,
0x9a
,
0x11
,
0x0f
,
0xa7
,
0x27
,
0xef
,
0xf1
,
0x4b
,
0xf2
,
0x95
,
0x0e
,
0x
2b
,
0x00
,
0xc1
,
0xb7
,
0x0a
,
0xaa
,
0xbf
,
0x9d
,
0x64
,
0x5c
,
0xda
,
0xfe
,
0x8c
,
0xb8
,
0x87
,
0x14
,
0x24
,
0x
19
,
0x97
,
0x61
,
0xa9
,
0xc3
,
0xe4
,
0x22
,
0xf8
,
0x83
,
0x07
,
0x1b
,
0x26
,
0xe3
,
0x07
,
0x43
,
0x
a5
,
0x1b
,
0xcd
,
0x84
,
0x67
,
0x30
,
0x71
,
0x13
,
0x60
,
0x92
,
0x26
,
0x93
,
0x44
,
0x84
,
0xa3
,
0x83
,
0x
a1
,
0xf2
,
0x11
,
0x03
,
0x82
,
0xe6
,
0xf5
,
0x68
,
0x1a
,
0x65
,
0x07
,
0x5a
,
0x18
,
0x6a
,
0x65
,
0xb8
,
0x
5b
,
0xa3
,
0xda
,
0xdd
,
0x9a
,
0xa6
,
0x78
,
0x2d
,
0x96
,
0x5b
,
0x2e
,
0xcb
,
0xbf
,
0xa8
,
0xc1
,
0x9a
,
0x
26
,
0x38
,
0x27
,
0x56
,
0x6a
,
0xc0
,
0xcb
,
0x35
,
0x50
,
0x5c
,
0x58
,
0xab
,
0xbe
,
0xb0
,
0x6e
,
0x5e
,
0x
78
,
0x13
,
0x20
,
0x0b
,
0xd3
,
0x33
,
0x4e
,
0x8e
,
0xa7
,
0xb4
,
0x66
,
0x40
,
0x5c
,
0x2d
,
0x35
,
0xcb
,
0x
5a
,
0xba
,
0xa3
,
0x65
,
0xdb
,
0xa2
,
0x68
,
0xf5
,
0x9c
,
0x11
,
0xad
,
0x6c
,
0xdd
,
0x28
,
0xb1
,
0xa3
,
0x
cb
,
0x9c
,
0xa6
,
0xc9
,
0x98
,
0x2e
,
0x94
,
0x5a
,
0xcd
,
0xd7
,
0x86
,
0x93
,
0xb6
,
0xcb
,
0x4e
,
0xaa
,
0x
e5
,
0xd2
,
0x71
,
0xe5
,
0xf2
,
0x27
,
0x0f
,
0x6e
,
0x30
,
0x3e
,
0xe0
,
0xd1
,
0x24
,
0xd3
,
0xd7
,
0x2a
,
0x
23
,
0xae
,
0xd2
,
0xe4
,
0x5d
,
0x68
,
0x0d
,
0xe8
,
0x2d
,
0x09
,
0xa8
,
0x4c
,
0x71
,
0xe1
,
0x03
,
0x4c
,
// 29
50
bytes of a gzipped FileDescriptorProto
0x1f
,
0x8b
,
0x08
,
0x00
,
0x00
,
0x00
,
0x00
,
0x00
,
0x02
,
0xff
,
0xd4
,
0x3a
,
0x
4d
,
0x6c
,
0x24
,
0x47
,
0x
d5
,
0xee
,
0xf9
,
0xf3
,
0xcc
,
0xb3
,
0xc7
,
0x3
f
,
0x1d
,
0xaf
,
0x33
,
0x71
,
0x92
,
0x95
,
0xd5
,
0xca
,
0x
17
,
0xf9
,
0x23
,
0x9b
,
0xdd
,
0xac
,
0x13
,
0x82
,
0x22
,
0x84
,
0x20
,
0xf6
,
0x6e
,
0x32
,
0x56
,
0xd6
,
0x
d1
,
0xa6
,
0xec
,
0xc0
,
0x21
,
0x02
,
0xd1
,
0x9e
,
0x29
,
0xdb
,
0xad
,
0xcc
,
0x74
,
0xcf
,
0x76
,
0xf
5
,
0x
64
,
0x6d
,
0x84
,
0x14
,
0x0e
,
0xc0
,
0x0d
,
0x89
,
0x0b
,
0x12
,
0x5c
,
0xb8
,
0xc0
,
0x0d
,
0x89
,
0x13
,
0x
67
,
0x0e
,
0x48
,
0x5c
,
0x22
,
0x2e
,
0xe1
,
0xc8
,
0x8d
,
0x1b
,
0x88
,
0x23
,
0x37
,
0x4e
,
0xe8
,
0xbd
,
0xaa
,
0x
ea
,
0xae
,
0xaa
,
0xe9
,
0x69
,
0x3b
,
0xd9
,
0xbd
,
0x70
,
0xeb
,
0x7a
,
0xfd
,
0xaa
,
0xea
,
0xfd
,
0xf
f
,
0x75
,
0xc3
,
0xea
,
0x24
,
0x4c
,
0xc3
,
0x41
,
0x9a
,
0x08
,
0x71
,
0x7b
,
0x92
,
0x26
,
0x59
,
0xe2
,
0x
37
,
0xb3
,
0xcb
,
0x09
,
0x17
,
0x5b
,
0xeb
,
0x59
,
0x1a
,
0xc6
,
0x22
,
0x1c
,
0x64
,
0x51
,
0x12
,
0xcb
,
0x
37
,
0x5b
,
0xcb
,
0x83
,
0x64
,
0x3c
,
0xce
,
0x57
,
0x6b
,
0x27
,
0xa3
,
0x64
,
0xf0
,
0xf1
,
0xe0
,
0x3c
,
0x
8c
,
0x14
,
0x24
,
0x78
,
0x00
,
0x9b
,
0x0f
,
0xf5
,
0x61
,
0x47
,
0x59
,
0x98
,
0x4d
,
0xc5
,
0x3d
,
0x9e
,
0x
85
,
0xd1
,
0x48
,
0xf8
,
0x1b
,
0xd0
,
0x0c
,
0x87
,
0xc3
,
0x54
,
0xf4
,
0xbc
,
0xed
,
0xfa
,
0x4e
,
0x87
,
0x
c9
,
0x85
,
0xff
,
0x02
,
0x74
,
0xe8
,
0x8c
,
0x7e
,
0x28
,
0xce
,
0x7b
,
0xb5
,
0xed
,
0xfa
,
0xce
,
0x32
,
0x
2b
,
0x00
,
0xc1
,
0x47
,
0xf0
,
0xbc
,
0x73
,
0xda
,
0x1e
,
0xbe
,
0xd3
,
0x47
,
0xde
,
0x04
,
0xc8
,
0x71
,
0x
e5
,
0xb9
,
0xcb
,
0xcc
,
0x80
,
0xe0
,
0xe1
,
0xd9
,
0x05
,
0xe3
,
0x62
,
0x3a
,
0xca
,
0x84
,
0x3e
,
0x3c
,
0x
07
,
0x04
,
0xff
,
0xac
,
0xc1
,
0x8d
,
0xfc
,
0xf4
,
0x3e
,
0x8f
,
0xce
,
0xce
,
0x33
,
0x79
,
0x87
,
0xbf
,
0x
09
,
0x2d
,
0x41
,
0x4f
,
0x3d
,
0x6f
,
0xdb
,
0xdb
,
0x69
,
0x32
,
0xb5
,
0x42
,
0x16
,
0xb2
,
0x28
,
0x1b
,
0x
f1
,
0x5e
,
0x6d
,
0xdb
,
0x43
,
0x16
,
0x68
,
0x81
,
0xd8
,
0xe7
,
0xb4
,
0xbb
,
0x57
,
0xdf
,
0xf6
,
0x76
,
0x
ea
,
0x4c
,
0xad
,
0xfc
,
0xaf
,
0xc1
,
0xe2
,
0x50
,
0x12
,
0xda
,
0x6b
,
0x6c
,
0x7b
,
0x3b
,
0x4b
,
0xbb
,
0x
2f
,
0xde
,
0x26
,
0xb1
,
0xde
,
0x2e
,
0x17
,
0x10
,
0xd3
,
0xd8
,
0xfe
,
0x21
,
0xf8
,
0x62
,
0x3a
,
0xe1
,
0x
e9
,
0x27
,
0x91
,
0x88
,
0x92
,
0x58
,
0xbd
,
0xee
,
0x35
,
0xaf
,
0x73
,
0x46
,
0xc9
,
0x46
,
0x94
,
0xd2
,
0x
38
,
0x8c
,
0x62
,
0xc9
,
0x61
,
0xaf
,
0x45
,
0x34
,
0x1a
,
0x10
,
0x7f
,
0x0b
,
0xda
,
0xb4
,
0x42
,
0x0d
,
0x
2c
,
0x6e
,
0x7b
,
0x3b
,
0xcb
,
0x2c
,
0x5f
,
0xfb
,
0xef
,
0xc0
,
0xf2
,
0x89
,
0x21
,
0xf1
,
0x5e
,
0x9b
,
0x
88
,
0x08
,
0xca
,
0x89
,
0x30
,
0x75
,
0xc3
,
0xac
,
0x7d
,
0xc1
,
0x3f
,
0x3c
,
0xe8
,
0x95
,
0xca
,
0x9a
,
0x
89
,
0xc9
,
0x53
,
0x12
,
0xb7
,
0xcd
,
0x66
,
0xa3
,
0x92
,
0xcd
,
0x26
,
0x1d
,
0x58
,
0xb0
,
0xb9
,
0x0
d
,
0x
4b
,
0x68
,
0xd7
,
0x51
,
0xf6
,
0x36
,
0x59
,
0x68
,
0x8b
,
0x2c
,
0xd4
,
0x04
,
0xf9
,
0x3b
,
0xb0
,
0x2a
,
0x
97
,
0x7b
,
0xb9
,
0xb5
,
0x2e
,
0x12
,
0x96
,
0x0b
,
0x0e
,
0x7e
,
0xe5
,
0xc1
,
0xaa
,
0x23
,
0x98
,
0x82
,
0x
13
,
0xaf
,
0x9c
,
0x93
,
0x9a
,
0xc5
,
0x89
,
0xe5
,
0x13
,
0x75
,
0xd2
,
0x48
,
0x01
,
0xf8
,
0xc2
,
0x7c
,
0x
1a
,
0xea
,
0x0c
,
0x7e
,
0x6b
,
0xaa
,
0x61
,
0x3f
,
0x89
,
0x05
,
0x8f
,
0xc5
,
0xb4
,
0x9a
,
0x48
,
0x1
4
,
0x
cd
,
0x79
,
0x71
,
0x9f
,
0xa4
,
0xd4
,
0x04
,
0xf9
,
0x2f
,
0x41
,
0x77
,
0x20
,
0x8f
,
0xea
,
0x9b
,
0x7a
,
0x
b1
,
0x81
,
0xfe
,
0x57
,
0x60
,
0x4d
,
0x01
,
0x0a
,
0x09
,
0x36
,
0xe8
,
0xa2
,
0x19
,
0x78
,
0xf0
,
0x07
,
0x
0f
,
0x7c
,
0x24
,
0xf3
,
0xfd
,
0x64
,
0xc8
,
0x51
,
0xfc
,
0xfb
,
0x49
,
0x7c
,
0x1a
,
0x9d
,
0xcd
,
0x21
,
0x
70
,
0x05
,
0x6a
,
0xc9
,
0x84
,
0xe8
,
0xea
,
0xb2
,
0x5a
,
0x32
,
0xc1
,
0x75
,
0x34
,
0x24
,
0x1a
,
0x3a
,
0x
ac
,
0x16
,
0x0d
,
0x7d
,
0x1f
,
0x1a
,
0x18
,
0x6a
,
0xd4
,
0x65
,
0xf4
,
0x8c
,
0x27
,
0x7d
,
0x12
,
0x8e
,
0x
a6
,
0x9c
,
0x04
,
0xd4
,
0x65
,
0x72
,
0x21
,
0xad
,
0x20
,
0x8a
,
0xc5
,
0x3b
,
0x69
,
0xf2
,
0x03
,
0x1e
,
0x
2b
,
0x4f
,
0x31
,
0x41
,
0x52
,
0x33
,
0xe2
,
0xe1
,
0xf4
,
0xe4
,
0x3d
,
0x7e
,
0x49
,
0xbe
,
0xd2
,
0x61
,
0x
05
,
0x20
,
0xf8
,
0x56
,
0x41
,
0xf5
,
0xb7
,
0x93
,
0x8c
,
0x4b
,
0xdb
,
0x9f
,
0x13
,
0xf7
,
0x90
,
0x82
,
0x24
,
0x
e3
,
0x32
,
0x2c
,
0x75
,
0x98
,
0x5c
,
0x04
,
0xbf
,
0xf7
,
0x60
,
0xc3
,
0x64
,
0xfc
,
0x60
,
0xa8
,
0x
74
,
0xa3
,
0x99
,
0xf0
,
0x0c
,
0x26
,
0x6e
,
0x02
,
0x4c
,
0xd2
,
0x64
,
0x92
,
0x88
,
0x70
,
0x74
,
0x30
,
0x
54
,
0x3e
,
0x62
,
0x40
,
0xd0
,
0xbc
,
0x1e
,
0x4d
,
0xa3
,
0xec
,
0x40
,
0x0b
,
0x43
,
0xad
,
0x0c
,
0x77
,
0x
6b
,
0x94
,
0xbb
,
0x5b
,
0xd3
,
0x14
,
0xaf
,
0xc5
,
0x72
,
0xcb
,
0x65
,
0xf9
,
0x17
,
0x35
,
0x58
,
0xd3
,
0x
04
,
0xe7
,
0xc4
,
0x4a
,
0x0d
,
0x78
,
0xb9
,
0x06
,
0x8a
,
0x0b
,
0x6b
,
0xe5
,
0x17
,
0xd6
,
0xcd
,
0x0b
,
0x
6f
,
0x02
,
0x64
,
0x61
,
0x7a
,
0xc6
,
0xc9
,
0xf1
,
0x94
,
0xd6
,
0x0c
,
0x88
,
0xab
,
0xa5
,
0xe6
,
0xac
,
0x
96
,
0xee
,
0x68
,
0xd9
,
0xb6
,
0x28
,
0x5a
,
0x3d
,
0x67
,
0x44
,
0x2b
,
0x5b
,
0x37
,
0x4a
,
0xec
,
0xe8
,
0x
32
,
0xa7
,
0x69
,
0x32
,
0xa6
,
0x0b
,
0xa5
,
0x56
,
0xf3
,
0xb5
,
0xe1
,
0xa4
,
0xed
,
0x59
,
0x27
,
0xd5
,
0x
72
,
0xe9
,
0xb8
,
0x72
,
0xf9
,
0xa3
,
0x07
,
0x37
,
0x18
,
0x1f
,
0xf0
,
0x68
,
0x92
,
0xe9
,
0x6b
,
0x95
,
0x
11
,
0x97
,
0x69
,
0xf2
,
0x2e
,
0xb4
,
0x06
,
0xf4
,
0x96
,
0x04
,
0x34
,
0x4b
,
0x71
,
0xe1
,
0x03
,
0x4c
,
0x21
,
0xfa
,
0xaf
,
0x40
,
0x63
,
0x92
,
0xf2
,
0x4f
,
0x48
,
0x74
,
0x4b
,
0xbb
,
0xcf
,
0x3a
,
0x1b
,
0xb4
,
0x2a
,
0x18
,
0x21
,
0xf9
,
0x77
,
0x61
,
0x71
,
0x30
,
0x4d
,
0x53
,
0x1e
,
0x67
,
0x2a
,
0x13
,
0xcd
,
0xc
4
,
0xd7
,
0x78
,
0xc1
,
0x6f
,
0x3
d
,
0x78
,
0xd1
,
0x61
,
0x00
,
0xa9
,
0x40
,
0xb4
,
0x0f
,
0x27
,
0xc3
,
0x30
,
0xe3
,
0x96
,
0xd0
,
0x3c
,
0x47
,
0x68
,
0x77
,
0x14
,
0x75
,
0x92
,
0x9d
,
0xe7
,
0x
2
b
,
0xd8
,
0x71
,
0x28
,
0xfc
,
0x6a
,
0x41
,
0x61
,
0xfd
,
0xea
,
0x3d
,
0x39
,
0x95
,
0xff
,
0xf
1
,
0xe0
,
0x59
,
0x87
,
0x4a
,
0xd2
,
0x6e
,
0x12
,
0xf3
,
0x
92
,
0x15
,
0x56
,
0x67
,
0x13
,
0xdb
,
0xda
,
0xea
,
0x25
,
0x6b
,
0xc3
,
0xf7
,
0x49
,
0x
16
,
0x8e
,
0xf0
,
0x68
,
0xed
,
0x30
,
0x06
,
0x84
,
0x4a
,
0x0c
,
0x5c
,
0xe1
,
0xb5
,
0x64
,
0x8b
,
0x4d
,
0x5
6
,
0x00
,
0x28
,
0x16
,
0x27
,
0x22
,
0xa3
,
0x97
,
0x2d
,
0x7a
,
0x99
,
0xaf
,
0xfd
,
0x1e
,
0x2c
,
0xa2
,
0x
f5
,
0x31
,
0x91
,
0x29
,
0x9b
,
0xd3
,
0x4b
,
0xbc
,
0x73
,
0x98
,
0xc4
,
0x5c
,
0x32
,
0x4b
,
0x66
,
0xd7
,
0x
64
,
0x06
,
0x04
,
0x75
,
0xf3
,
0x8c
,
0x66
,
0xf7
,
0xdd
,
0x34
,
0x99
,
0x4e
,
0x9e
,
0x28
,
0x3e
,
0xe6
,
0x
f1
,
0x49
,
0xba
,
0x9a
,
0x8a
,
0x4f
,
0x57
,
0x7b
,
0x19
,
0x15
,
0x5f
,
0xca
,
0xde
,
0x85
,
0x8a
,
0x0c
,
0x
06
,
0x24
,
0xf8
,
0xb7
,
0x4b
,
0xe5
,
0x53
,
0x89
,
0x0e
,
0xdb
,
0xb0
,
0x54
,
0x68
,
0x47
,
0xd3
,
0x6c
,
0x
82
,
0xae
,
0x41
,
0xb9
,
0x69
,
0xb9
,
0xad
,
0x99
,
0xee
,
0xbe
,
0xe8
,
0x56
,
0x17
,
0x06
,
0xb7
,
0xed
,
0x
12
,
0xb7
,
0x9f
,
0x79
,
0xb0
,
0xe5
,
0x58
,
0xa2
,
0xa9
,
0x9a
,
0x2a
,
0xaf
,
0xdf
,
0x75
,
0xbc
,
0x7e
,
0x
cb
,
0x31
,
0x79
,
0x63
,
0x7f
,
0xee
,
0xf6
,
0xb7
,
0x2d
,
0xb7
,
0xaf
,
0xdc
,
0x61
,
0xf9
,
0xd5
,
0x1b
,
0x
ae
,
0xe7
,
0xcf
,
0xdb
,
0x92
,
0xbb
,
0xd5
,
0x4f
,
0x3d
,
0xd8
,
0x60
,
0xfc
,
0x51
,
0x5e
,
0x29
,
0x5
0
,
0x
88
,
0x88
,
0x4f
,
0x93
,
0xd9
,
0x16
,
0x16
,
0xe9
,
0x04
,
0x64
,
0x66
,
0xdc
,
0xba
,
0xc1
,
0xec
,
0xac
,
0x
a4
,
0x63
,
0x85
,
0xd1
,
0xa6
,
0x1b
,
0x46
,
0xf7
,
0x61
,
0x93
,
0x71
,
0x31
,
0xb1
,
0x08
,
0x91
,
0x5
a
,
0xf
e
,
0x7f
,
0xa8
,
0x47
,
0x43
,
0x99
,
0x53
,
0xe7
,
0x84
,
0x33
,
0xc4
,
0x09
,
0xde
,
0xc5
,
0x18
,
0xe1
,
0x
1c
,
0x42
,
0x6c
,
0x0b
,
0xff
,
0x96
,
0x79
,
0xca
,
0x3c
,
0xd1
,
0xd0
,
0x41
,
0x13
,
0x99
,
0xeb
,
0xf6
,
0x2a
,
0x18
,
0x21
,
0xf9
,
0x77
,
0x61
,
0x71
,
0x30
,
0x4d
,
0x53
,
0x1e
,
0x67
,
0x2a
,
0x13
,
0xcd
,
0xc
5
,
0xd7
,
0x78
,
0xc1
,
0x6f
,
0x3
c
,
0x78
,
0xd1
,
0x61
,
0x00
,
0xa9
,
0x40
,
0xb4
,
0x0f
,
0x27
,
0xc3
,
0x30
,
0xe3
,
0x96
,
0xd0
,
0x3c
,
0x47
,
0x68
,
0x77
,
0x14
,
0x75
,
0x92
,
0x9d
,
0xe7
,
0x
4
b
,
0xd8
,
0x71
,
0x28
,
0xfc
,
0x6a
,
0x41
,
0x61
,
0xfd
,
0xea
,
0x3d
,
0x39
,
0x95
,
0xff
,
0xf
6
,
0xe0
,
0x59
,
0x87
,
0x4a
,
0xd2
,
0x6e
,
0x12
,
0xf3
,
0x
19
,
0x2b
,
0x2c
,
0xcf
,
0x26
,
0xb6
,
0xb5
,
0xd5
,
0x67
,
0xac
,
0x0d
,
0xdf
,
0x27
,
0x
59
,
0x38
,
0xc2
,
0xa3
,
0xb5
,
0xc3
,
0x18
,
0x10
,
0x2a
,
0x31
,
0x70
,
0x85
,
0xd7
,
0x92
,
0x2d
,
0x36
,
0x5
9
,
0x01
,
0xa0
,
0x58
,
0x9c
,
0x88
,
0x8c
,
0x5e
,
0xb6
,
0xe8
,
0x65
,
0xbe
,
0xf6
,
0x7b
,
0xb0
,
0x88
,
0x
d6
,
0xc7
,
0x44
,
0xa6
,
0x6c
,
0x4e
,
0x2f
,
0xf1
,
0xce
,
0x61
,
0x12
,
0x73
,
0xc9
,
0x2c
,
0x99
,
0x5d
,
0x
93
,
0x19
,
0x10
,
0xd4
,
0xcd
,
0x33
,
0x9a
,
0xdd
,
0x77
,
0xd3
,
0x64
,
0x3a
,
0x79
,
0xa2
,
0xf8
,
0x98
,
0x
c7
,
0x27
,
0xe9
,
0x6a
,
0x2a
,
0x3e
,
0x5d
,
0xed
,
0x65
,
0x54
,
0x7c
,
0x29
,
0x7b
,
0x17
,
0x2a
,
0x32
,
0x
18
,
0x90
,
0xe0
,
0x5f
,
0x2e
,
0x95
,
0x4f
,
0x25
,
0x3a
,
0x6c
,
0xc3
,
0x52
,
0xa1
,
0x1d
,
0x4d
,
0xb3
,
0x
09
,
0xba
,
0x06
,
0xe5
,
0xa6
,
0xe5
,
0xb6
,
0xe6
,
0xba
,
0xfb
,
0xa2
,
0x5b
,
0x5d
,
0x18
,
0xdc
,
0xb6
,
0x
67
,
0xb8
,
0xfd
,
0xcc
,
0x83
,
0x2d
,
0xc7
,
0x12
,
0x4d
,
0xd5
,
0x94
,
0x79
,
0xfd
,
0xae
,
0xe3
,
0xf5
,
0x
5b
,
0x8e
,
0xc9
,
0x1b
,
0xfb
,
0x73
,
0xb7
,
0xbf
,
0x6d
,
0xb9
,
0x7d
,
0xe9
,
0x0e
,
0xcb
,
0xaf
,
0xde
,
0x
70
,
0x3d
,
0xbf
,
0x6a
,
0x4b
,
0xee
,
0x56
,
0x3f
,
0xf5
,
0x60
,
0x83
,
0xf1
,
0x47
,
0x79
,
0xa5
,
0x4
0
,
0x
21
,
0x22
,
0x3e
,
0x4d
,
0xe6
,
0x5b
,
0x58
,
0xa4
,
0x13
,
0x90
,
0x99
,
0x71
,
0xeb
,
0x06
,
0xb3
,
0xf3
,
0x
92
,
0x8e
,
0x15
,
0x46
,
0x9b
,
0x6e
,
0x18
,
0xdd
,
0x87
,
0x4d
,
0xc6
,
0xc5
,
0xc4
,
0x22
,
0x44
,
0x6
a
,
0xf
9
,
0xff
,
0xa1
,
0x1e
,
0x0d
,
0x65
,
0x4e
,
0xad
,
0x08
,
0x67
,
0x88
,
0x13
,
0xbc
,
0x8b
,
0x31
,
0xc2
,
0x
39
,
0x84
,
0xd8
,
0x16
,
0xfe
,
0x2d
,
0xf3
,
0x94
,
0x2a
,
0xd1
,
0xd0
,
0x41
,
0x13
,
0x99
,
0xeb
,
0xf6
,
0xa2
,
0x78
,
0x78
,
0x18
,
0xc5
,
0x3c
,
0xdd
,
0x1f
,
0x0f
,
0xc9
,
0x2e
,
0xa2
,
0x78
,
0xf8
,
0x36
,
0xf5
,
0x48
,
0xaa
,
0x7e
,
0x35
,
0x20
,
0xc4
,
0x5f
,
0x14
,
0x0f
,
0xf7
,
0xd1
,
0xfc
,
0x54
,
0xf1
,
0x54
,
0x00
,
0x8a
,
0xe8
,
0x83
,
0xf7
,
0xd9
,
0xd1
,
0x07
,
0x21
,
0xc1
,
0x
5f
,
0x3c
,
0x58
,
0xb7
,
0xae
,
0x24
,
0x2d
,
0xcc
,
0x2
8
,
0x06
,
0xf0
,
0xd8
,
0x23
,
0xd3
,
0x93
,
0x0c
,
0x88
,
0x4d
,
0x47
,
0x7d
,
0x3e
,
0x1d
,
0x0d
,
0x
97
,
0x8e
,
0xbc
,
0x22
,
0x3d
,
0x8e
,
0xc6
,
0x5c
,
0x79
,
0x54
,
0x01
,
0x40
,
0x8f
,
0x93
,
0xe5
,
0xa9
,
0x
d9
,
0x61
,
0x98
,
0xa0
,
0xe0
,
0xe7
,
0x1e
,
0xf4
,
0x0c
,
0xef
,
0xb8
,
0x9a
,
0x9d
,
0x5b
,
0x56
,
0x02
,
0x
e9
,
0x19
,
0x9a
,
0xb1
,
0xf6
,
0x2a
,
0x2b
,
0xdf
,
0x75
,
0xb3
,
0xc7
,
0xec
,
0x0d
,
0xb9
,
0x8d
,
0xf7
,
0x
8b
,
0xc2
,
0x05
,
0x31
,
0x1e
,
0x44
,
0x82
,
0x72
,
0x3a
,
0xf5
,
0x4f
,
0x24
,
0x05
,
0x49
,
0x4e
,
0x01
,
0x
40
,
0x13
,
0x1e
,
0xe3
,
0x39
,
0xba
,
0x66
,
0x53
,
0xab
,
0xe0
,
0xd3
,
0x52
,
0xa6
,
0xd4
,
0x07
,
0xaa
,
0x4c
,
0xa9
,
0x73
,
0xb5
,
0x57
,
0x9
9
,
0x7b
,
0x35
,
0x72
,
0x39
,
0x57
,
0xd7
,
0xe6
,
0xe3
,
0xe7
,
0xac
,
0x8a
,
0xe8
,
0x83
,
0xf7
,
0xd9
,
0xd1
,
0x07
,
0x21
,
0xc1
,
0x
9f
,
0x3d
,
0x58
,
0xb7
,
0xae
,
0x24
,
0x2d
,
0xcc
,
0x2
9
,
0x06
,
0xf0
,
0xd8
,
0x23
,
0xd3
,
0x93
,
0x0c
,
0x88
,
0x4d
,
0x47
,
0xbd
,
0x9a
,
0x8e
,
0x86
,
0x
4b
,
0x47
,
0x5e
,
0x91
,
0x1e
,
0x47
,
0x63
,
0xae
,
0x3c
,
0xaa
,
0x00
,
0xa0
,
0xc7
,
0xc9
,
0xf2
,
0xd4
,
0x
ec
,
0x30
,
0x4c
,
0x50
,
0xf0
,
0x73
,
0x0f
,
0x7a
,
0x86
,
0x77
,
0x5c
,
0xcd
,
0xce
,
0x2d
,
0x2b
,
0x81
,
0x
f4
,
0x0c
,
0xcd
,
0x58
,
0x7b
,
0x95
,
0x95
,
0xef
,
0xba
,
0xd9
,
0x63
,
0xfe
,
0x86
,
0xdc
,
0xc6
,
0xfb
,
0x
45
,
0xe1
,
0x82
,
0x18
,
0x0f
,
0x22
,
0x41
,
0x39
,
0x9d
,
0xfa
,
0x27
,
0x92
,
0x82
,
0x24
,
0xa7
,
0x00
,
0x
a0
,
0x09
,
0x8f
,
0xf1
,
0x1c
,
0x5d
,
0xb3
,
0xa9
,
0x55
,
0xf0
,
0xe9
,
0x4c
,
0xa6
,
0xd4
,
0x07
,
0xaa
,
0x4c
,
0xa9
,
0x73
,
0xb5
,
0x57
,
0x9
a
,
0x7b
,
0x35
,
0xf2
,
0x6c
,
0xae
,
0xae
,
0x55
,
0xe3
,
0xe7
,
0xac
,
0x3c
,
0x46
,
0x6f
,
0x95
,
0x06
,
0x6e
,
0xb1
,
0xf3
,
0x0a
,
0x34
,
0x46
,
0x91
,
0xc8
,
0xae
,
0xbc
,
0x17
,
0x91
,
0x50
,
0x86
,
0xba
,
0x5b
,
0xad
,
0x91
,
0x3b
,
0xcc
,
0x91
,
0xa1
,
0x42
,
0x0c
,
0x7e
,
0xa2
,
0xcd
,
0x13
,
0x55
,
0xbd
,
0x7b
,
0x18
,
0x46
,
0xf1
,
0x61
,
0x38
,
0x31
,
0x42
,
0xa8
,
0x37
,
0xbb
,
0xad
,
0xa9
,
0x69
,
0x57
,
0xaf
,
0x6e
,
0x6b
,
0xea
,
0x73
,
0xdb
,
0x9a
,
0x86
,
0xdd
,
0xbe
,
0x05
,
0xf7
,
0x64
,
0xe1
,
0x5d
,
0x90
,
0x41
,
0x76
,
0x75
,
0x1b
,
0x9a
,
0x51
,
0xc6
,
0xc7
,
0xda
,
0xbd
,
0x2d
,
0x7e
,
0x4c
,
0x82
,
0x99
,
0x44
,
0x0b
,
0xfe
,
0x51
,
0x97
,
0x09
,
0x2b
,
0x0f
,
0x12
,
0xca
,
0x75
,
0x5e
,
0x82
,
0x2e
,
0xde
,
0x54
,
0xb4
,
0x2d
,
0x1e
,
0x75
,
0x55
,
0x36
,
0x10
,
0x1b
,
0xc4
,
0x02
,
0x60
,
0xf6
,
0x4a
,
0x2e
,
0x78
,
0x46
,
0x62
,
0x2b
,
0xa4
,
0xd6
,
0xb0
,
0xa4
,
0x16
,
0xc0
,
0xf2
,
0x24
,
0xe5
,
0xc5
,
0xe5
,
0xb2
,
0xa5
,
0xb3
,
0x60
,
0xb6
,
0x64
,
0x5b
,
0x6e
,
0xc3
,
0x28
,
0x4f
,
0x40
,
0x66
,
0xb8
,
0xd1
,
0xe3
,
0x5b
,
0x30
,
0xb2
,
0xfc
,
0x1c
,
0xa1
,
0x2d
,
0x4f
,
0xc8
,
0x01
,
0x28
,
0xfb
,
0xec
,
0x62
,
0x3f
,
0x99
,
0xc6
,
0x99
,
0xa0
,
0x52
,
0xb7
,
0xcb
,
0xf2
,
0xb5
,
0x7c
,
0x27
,
0x47
,
0x2a
,
0x3d
,
0x90
,
0xed
,
0xa6
,
0x5e
,
0x63
,
0x89
,
0x93
,
0x5d
,
0xc8
,
0xe1
,
0xcc
,
0x12
,
0x4d
,
0x5f
,
0xf4
,
0x92
,
0x7a
,
0x46
,
0x14
,
0xf3
,
0xb1
,
0xde
,
0xba
,
0x2c
,
0x65
,
0x6a
,
0x01
,
0x91
,
0x72
,
0x05
,
0x90
,
0x87
,
0x74
,
0xe9
,
0x10
,
0x0b
,
0xe6
,
0xdf
,
0x82
,
0xf5
,
0x38
,
0x89
,
0xf7
,
0xa9
,
0x09
,
0x3f
,
0xd6
,
0x44
,
0xae
,
0x10
,
0x91
,
0xe5
,
0x17
,
0xc1
,
0x1e
,
0xac
,
0x1f
,
0xf1
,
0xd1
,
0xa9
,
0x6a
,
0x7d
,
0x8f
,
0xb2
,
0xf0
,
0x8c
,
0x0b
,
0xff
,
0x55
,
0xdb
,
0x50
,
0xb4
,
0xa3
,
0xb8
,
0x88
,
0xda
,
0x4e
,
0x1e
,
0xc0
,
0x9a
,
0xfb
,
0x0a
,
0x43
,
0xa0
,
0xc8
,
0xc2
,
0x34
,
0xeb
,
0x9b
,
0x86
,
0x6f
,
0x82
,
0x50
,
0xbf
,
0x3c
,
0x0e
,
0x4f
,
0x54
,
0xfd
,
0xd9
,
0x65
,
0x6a
,
0x15
,
0xfc
,
0xdd
,
0x83
,
0x0d
,
0xf7
,
0x38
,
0x32
,
0xdf
,
0xf9
,
0x75
,
0x52
,
0x37
,
0xcf
,
0xa0
,
0xaf
,
0x42
,
0x53
,
0xe0
,
0x26
,
0xa7
,
0x15
,
0x28
,
0x53
,
0x4f
,
0x58
,
0x56
,
0xf1
,
0xd3
,
0x70
,
0x8a
,
0x9f
,
0x9b
,
0x00
,
0xfc
,
0x82
,
0x0f
,
0x14
,
0x13
,
0x32
,
0xce
,
0x1b
,
0x90
,
0x2f
,
0xdc
,
0x58
,
0x05
,
0x1c
,
0x36
,
0x1f
,
0x24
,
0x83
,
0x70
,
0xa4
,
0x89
,
0x29
,
0xb8
,
0xbb
,
0xab
,
0xa9
,
0xf6
,
0xac
,
0x72
,
0xbf
,
0x4a
,
0x12
,
0x9a
,
0x72
,
0xb2
,
0xa6
,
0x83
,
0x78
,
0xc8
,
0x2f
,
0x54
,
0xf4
,
0xd0
,
0xcb
,
0xe0
,
0x4d
,
0x58
,
0x91
,
0x75
,
0x12
,
0x52
,
0x50
,
0x29
,
0xbc
,
0xbc
,
0xe1
,
0xaf
,
0x19
,
0x0d
,
0x7f
,
0x10
,
0xc0
,
0x9a
,
0xdc
,
0xb7
,
0x1f
,
0xc6
,
0x03
,
0x3e
,
0xaa
,
0xda
,
0x19
,
0x7c
,
0xae
,
0xc6
,
0x39
,
0x44
,
0xce
,
0x55
,
0x85
,
0x76
,
0x76
,
0xa9
,
0x0b
,
0xed
,
0xec
,
0x12
,
0xa5
,
0x25
,
0x59
,
0x84
,
0xb9
,
0x8a
,
0xe9
,
0x2f
,
0x68
,
0x06
,
0x5f
,
0x81
,
0x06
,
0x8a
,
0xad
,
0xb7
,
0x44
,
0xf8
,
0x37
,
0x14
,
0xbe
,
0xcd
,
0x59
,
0x7f
,
0x81
,
0x11
,
0x12
,
0xf5
,
0x8c
,
0x44
,
0x35
,
0xb9
,
0x4e
,
0x71
,
0xbc
,
0xcb
,
0x50
,
0x7f
,
0x81
,
0x29
,
0xc4
,
0xbd
,
0x45
,
0x25
,
0x84
,
0xe0
,
0xc7
,
0x45
,
0xb1
,
0x6a
,
0x69
,
0x46
,
0xb1
,
0x77
,
0xc7
,
0xca
,
0x57
,
0x73
,
0x55
,
0x53
,
0xea
,
0xde
,
0x6a
,
0x57
,
0xef
,
0xc9
,
0xf3
,
0xd6
,
0xe7
,
0x1e
,
0xbc
,
0x50
,
0x45
,
0xc6
,
0xcc
,
0x16
,
0x2e
,
0x37
,
0xf5
,
0xda
,
0xb5
,
0x4c
,
0xdd
,
0xee
,
0xdd
,
0xea
,
0xf3
,
0x7b
,
0xb7
,
0xc6
,
0xbc
,
0xde
,
0xad
,
0x39
,
0xbb
,
0x77
,
0x6b
,
0x59
,
0xbd
,
0x5b
,
0xf0
,
0x29
,
0x3c
,
0x5f
,
0xc5
,
0x92
,
0x50
,
0xa5
,
0xc0
,
0x2d
,
0x4b
,
0xb4
,
0xbd
,
0x19
,
0x0c
,
0x88
,
0x72
,
0x5d
,
0x53
,
0xbb
,
0x62
,
0x43
,
0x2e
,
0xd4
,
0xdf
,
0x78
,
0xe0
,
0x33
,
0xfe
,
0xe8
,
0x83
,
0x29
,
0x4f
,
0x2f
,
0x11
,
0x4d
,
0xc5
,
0x38
,
0x7b
,
0xc6
,
0x5a
,
0x44
,
0x0f
,
0xb7
,
0x76
,
0xdf
,
0x80
,
0xe6
,
0x00
,
0x43
,
0xa5
,
0x12
,
0x97
,
0x5c
,
0xa0
,
0xa4
,
0x86
,
0x51
,
0xca
,
0x65
,
0x91
,
0xab
,
0x24
,
0x95
,
0x03
,
0x8c
,
0xd4
,
0xd5
,
0xb4
,
0x52
,
0xd7
,
0x06
,
0x34
,
0x23
,
0x72
,
0x57
,
0xd9
,
0xfa
,
0xca
,
0x45
,
0xf0
,
0x01
,
0x56
,
0x2b
,
0x93
,
0xd1
,
0xa5
,
0x4b
,
0xe1
,
0x5b
,
0x94
,
0x82
,
0xa4
,
0x8d
,
0xa8
,
0x48
,
0x3c
,
0xd7
,
0x8c
,
0x0a
,
0xec
,
0xe0
,
0x7b
,
0xc6
,
0x47
,
0x87
,
0x7d
,
0x35
,
0x8e
,
0x15
,
0xba
,
0xb6
,
0x14
,
0xd1
,
0x59
,
0xac
,
0x52
,
0x36
,
0x3d
,
0xa3
,
0x62
,
0xa9
,
0xc7
,
0x3d
,
0x0c
,
0x65
,
0x5b
,
0xbc
,
0xcc
,
0xf2
,
0x75
,
0xd1
,
0x0c
,
0xd7
,
0x8d
,
0x61
,
0x5d
,
0xf0
,
0x43
,
0xe3
,
0x43
,
0x81
,
0x3c
,
0x5f
,
0x55
,
0xf7
,
0xbb
,
0x96
,
0x54
,
0xed
,
0x16
,
0xc2
,
0x29
,
0x23
,
0x72
,
0x89
,
0xdf
,
0x81
,
0xfa
,
0xc9
,
0x48
,
0x28
,
0x85
,
0x96
,
0xc6
,
0xf9
,
0x16
,
0xf9
,
0x0c
,
0x31
,
0x83
,
0x4c
,
0xce
,
0x04
,
0xe9
,
0x35
,
0x15
,
0x61
,
0x4f
,
0x70
,
0xf9
,
0x0e
,
0xac
,
0x46
,
0xc2
,
0x10
,
0xa7
,
0xca
,
0x26
,
0x6d
,
0xe6
,
0x82
,
0x83
,
0x5f
,
0x7a
,
0xe0
,
0xef
,
0xe3
,
0x29
,
0x6f
,
0x0b
,
0xc1
,
0xb3
,
0xe3
,
0x34
,
0x8c
,
0xc5
,
0x29
,
0x4f
,
0xd1
,
0x12
,
0x42
,
0x04
,
0xdc
,
0xbf
,
0xe0
,
0x03
,
0x5d
,
0x22
,
0xe7
,
0x00
,
0x4c
,
0x83
,
0xb4
,
0x38
,
0xba
,
0x1c
,
0x9f
,
0x24
,
0x23
,
0x65
,
0x56
,
0x26
,
0x08
,
0x6d
,
0x25
,
0x1c
,
0xe7
,
0x06
,
0x56
,
0x67
,
0x6a
,
0x85
,
0xf0
,
0x2c
,
0x31
,
0x92
,
0x92
,
0x5a
,
0xa1
,
0x02
,
0x63
,
0xed
,
0x81
,
0x1d
,
0x46
,
0xcf
,
0xc1
,
0xaf
,
0x5b
,
0xc6
,
0x84
,
0x5d
,
0x09
,
0xe3
,
0x4d
,
0x6c
,
0xa6
,
0x51
,
0x74
,
0x4a
,
0x18
,
0x2f
,
0x54
,
0x0b
,
0x56
,
0x62
,
0x53
,
0x4c
,
0xa4
,
0xb5
,
0xff
,
0x3a
,
0x34
,
0xa9
,
0x8c
,
0xaf
,
0x18
,
0x3b
,
0xb9
,
0x02
,
0xc7
,
0x40
,
0x4d
,
0xb8
,
0xfe
,
0x37
,
0xa0
,
0x1b
,
0x9a
,
0x52
,
0x51
,
0xbd
,
0xb5
,
0x8e
,
0xd8
,
0x24
,
0x31
,
0xa1
,
0x5f
,
0xf6
,
0x17
,
0x98
,
0x8d
,
0x9d
,
0x6f
,
0xff
,
0x4e
,
0x94
,
0x9d
,
0x0f
,
0xd3
,
0xf0
,
0xb1
,
0xfa
,
0xb4
,
0x63
,
0x6f
,
0xd7
,
0x2f
,
0xf3
,
0xed
,
0x1a
,
0xe0
,
0xbf
,
0x0e
,
0xed
,
0x4c
,
0x5f
,
0xdc
,
0x9a
,
0x7f
,
0x71
,
0x8e
,
0x88
,
0x9b
,
0x1e
,
0xeb
,
0xeb
,
0x16
,
0xe7
,
0x5f
,
0x97
,
0x23
,
0xfa
,
0xf7
,
0x61
,
0x45
,
0x1f
,
0x70
,
0x9c
,
0x90
,
0xc6
,
0xdb
,
0x96
,
0x94
,
0xec
,
0xfb
,
0x24
,
0x4a
,
0x7f
,
0x81
,
0x39
,
0x9b
,
0xfc
,
0xaf
,
0x03
,
0xc4
,
0xf9
,
0x00
,
0x94
,
0x0a
,
0xc8
,
0x79
,
0x23
,
0xce
,
0xfe
,
0x02
,
0x33
,
0xd0
,
0xfd
,
0x77
,
0x60
,
0x35
,
0xb6
,
0x87
,
0x21
,
0x2a
,
0x9f
,
0xce
,
0x19
,
0x97
,
0xf4
,
0x17
,
0x98
,
0xbb
,
0xc9
,
0xdf
,
0x83
,
0x55
,
0xa1
,
0x83
,
0x8d
,
0x3a
,
0x47
,
0xe6
,
0xd9
,
0x4d
,
0xe3
,
0x1c
,
0xe3
,
0x2d
,
0x9e
,
0xe1
,
0x6c
,
0xf0
,
0xdf
,
0x03
,
0x7f
,
0x50
,
0x72
,
0x09
,
0x95
,
0x7f
,
0x35
,
0x43
,
0x65
,
0x9f
,
0xe9
,
0x2f
,
0xb0
,
0x8a
,
0x6d
,
0xfe
,
0x37
,
0xa1
,
0x3b
,
0x31
,
0x5b
,
0xab
,
0x5e
,
0xb7
,
0xd4
,
0xa6
,
0x99
,
0x93
,
0x06
,
0xb4
,
0x03
,
0x0b
,
0xdf
,
0xa8
,
0x37
,
0x9a
,
0x58
,
0x6f
,
0x14
,
0xe9
,
0xfd
,
0x33
,
0x0f
,
0x36
,
0x8d
,
0x8e
,
0xd4
,
0x30
,
0xff
,
0x59
,
0x73
,
0x28
,
0xa3
,
0xb0
,
0xbc
,
0x5e
,
0x1c
,
0x79
,
0xcd
,
0x9a
,
0x43
,
0x95
,
0x9c
,
0xcd
,
0xfa
,
0xc2
,
0x27
,
0x73
,
0xd9
,
0x9b
,
0xee
,
0x24
,
0x6a
,
0xfe
,
0xa6
,
0x3c
,
0x9f
,
0xbd
,
0x67
,
0x0d
,
0xd2
,
0x0b
,
0x9f
,
0xfc
,
0x32
,
0xe1
,
0x2f
,
0xf8
,
0x51
,
0x03
,
0x93
,
0x8f
,
0x7d
,
0x1a
,
0x55
,
0x1a
,
0x76
,
0xa9
,
0xe0
,
0x95
,
0x4a
,
0x85
,
0x6d
,
0x58
,
0xa2
,
0x95
,
0x14
,
0xa3
,
0x12
,
0xba
,
0x09
,
0xf2
,
0x5f
,
0x86
,
0x15
,
0x2c
,
0x0f
,
0x8e
,
0xc2
,
0x31
,
0x57
,
0x48
,
0x32
,
0x83
,
0x3a
,
0xd0
,
0xa2
,
0x76
,
0x6c
,
0x54
,
0x77
,
0x7f
,
0x4d
,
0xb7
,
0x67
,
0x2e
,
0xfa
,
0xb2
,
0xd6
,
0xbc
,
0xbe
,
0x6c
,
0x71
,
0x4e
,
0x5f
,
0xd6
,
0x76
,
0xfa
,
0x32
,
0xab
,
0x5f
,
0xec
,
0xb8
,
0xfd
,
0xa2
,
0xd1
,
0xb5
,
0xc1
,
0x15
,
0x5d
,
0xdb
,
0xd2
,
0x75
,
0xba
,
0xb6
,
0xe5
,
0x8a
,
0xae
,
0xad
,
0xd4
,
0x53
,
0x77
,
0xaf
,
0xd9
,
0x53
,
0xaf
,
0x54
,
0xf7
,
0xd4
,
0x3b
,
0xb0
,
0x4a
,
0x9f
,
0x24
,
0xef
,
0x17
,
0xed
,
0xcb
,
0xaa
,
0xc4
,
0x74
,
0xc0
,
0xc1
,
0xf7
,
0xcb
,
0xbe
,
0xc1
,
0xf8
,
0x20
,
0x49
,
0x87
,
0x4f
,
0xcb
,
0x37
,
0x82
,
0xff
,
0x83
,
0xa5
,
0xfc
,
0xf5
,
0xf1
,
0x05
,
0x65
,
0xb6
,
0x8b
,
0x7c
,
0x6e
,
0x80
,
0x99
,
0x8d
,
0x56
,
0x72
,
0x2c
,
0x59
,
0xcc
,
0x58
,
0x8f
,
0xd1
,
0x0e
,
0xdc
,
0x09
,
0xc1
,
0x75
,
0x3e
,
0x17
,
0x07
,
0xbf
,
0xaf
,
0xc1
,
0xba
,
0x35
,
0xe0
,
0xfc
,
0xdf
,
0xb2
,
0xe8
,
0xce
,
0x97
,
0xb5
,
0xe8
,
0x8e
,
0x61
,
0xd1
,
0x15
,
0xfa
,
0xef
,
0x54
,
0xeb
,
0xff
,
0x5d
,
0x78
,
0xc6
,
0x12
,
0x16
,
0xc9
,
0x1d
,
0x03
,
0x5a
,
0x8b
,
0xe8
,
0x76
,
0xa7
,
0x45
,
0x25
,
0xc1
,
0x32
,
0x85
,
0x27
,
0x03
,
0x93
,
0xab
,
0x3f
,
0xe4
,
0xa1
,
0x5a
,
0x7b
,
0xa5
,
0xe9
,
0x97
,
0xf5
,
0xa3
,
0xcb
,
0x5f
,
0x6b
,
0xb0
,
0x52
,
0x94
,
0x34
,
0x98
,
0x27
,
0xd0
,
0x1c
,
0xb1
,
0x31
,
0xd7
,
0xe6
,
0x88
,
0xcf
,
0x14
,
0xf2
,
0x13
,
0x5d
,
0xad
,
0x67
,
0x09
,
0x2a
,
0x39
,
0xca
,
0x53
,
0x37
,
0xa9
,
0xa7
,
0xcd
,
0x0c
,
0x88
,
0x61
,
0x7b
,
0x0d
,
0xd3
,
0xf6
,
0x8c
,
0x2a
,
0xac
,
0x69
,
0x55
,
0x61
,
0x3e
,
0x34
,
0xb0
,
0xdd
,
0x57
,
0x7a
,
0xa1
,
0x67
,
0xea
,
0x1c
,
0x64
,
0x39
,
0x27
,
0x3f
,
0x53
,
0xa9
,
0x15
,
0x32
,
0x24
,
0x19
,
0xbf
,
0x9c
,
0x70
,
0xd2
,
0x47
,
0x97
,
0x15
,
0x00
,
0x43
,
0xfd
,
0x60
,
0xa9
,
0x9f
,
0x7e
,
0x03
,
0x40
,
0xb3
,
0x41
,
0x59
,
0x2a
,
0x4d
,
0xdd
,
0x20
,
0x8c
,
0x12
,
0x9c
,
0x3e
,
0x70
,
0x87
,
0x69
,
0xa8
,
0xb0
,
0x36
,
0xe5
,
0x38
,
0xa2
,
0x80
,
0x60
,
0xa0
,
0x12
,
0xd3
,
0xc1
,
0x80
,
0x0b
,
0xd1
,
0x7b
,
0x96
,
0x58
,
0xd7
,
0xcb
,
0xe0
,
0x6f
,
0x9e
,
0x9c
,
0xee
,
0xd2
,
0xf0
,
0xe1
,
0xde
,
0x09
,
0x45
,
0x8a
,
0x99
,
0x73
,
0x49
,
0x73
,
0xb2
,
0x58
,
0x73
,
0xfe
,
0x7f
,
0xb9
,
0x6a
,
0x2a
,
0xf9
,
0x32
,
0xac
,
0x4c
,
0x42
,
0xcc
,
0x53
,
0x87
,
0xe6
,
0x6c
,
0x72
,
0x99
,
0x39
,
0xd0
,
0x2b
,
0x06
,
0xe8
,
0x2f
,
0x41
,
0x3d
,
0xbb
,
0x90
,
0xbf
,
0x9d
,
0x2c
,
0xed
,
0xfa
,
0xca
,
0xf2
,
0x8e
,
0x8b
,
0x7f
,
0xaf
,
0x18
,
0xbe
,
0x0e
,
0xfe
,
0xac
,
0x7e
,
0x0e
,
0x30
,
0x99
,
0xa2
,
0x26
,
0xe7
,
0xba
,
0x8c
,
0x75
,
0x9e
,
0x98
,
0xb1
,
0xce
,
0x17
,
0x64
,
0x6c
,
0xad
,
0x60
,
0xac
,
0x23
,
0x99
,
0x48
,
0x64
,
0x2b
,
0xb5
,
0x37
,
0x12
,
0x47
,
0xd1
,
0x59
,
0x7c
,
0x34
,
0x1d
,
0xeb
,
0xbf
,
0x94
,
0x66
,
0x31
,
0x91
,
0x77
,
0x64
,
0x35
,
0xf3
,
0xf7
,
0x09
,
0x1f
,
0x1a
,
0x63
,
0x71
,
0x26
,
0xdb
,
0xb4
,
0x65
,
0x46
,
0xcf
,
0x88
,
0x89
,
0xfd
,
0x9d
,
0xe8
,
0x35
,
0x08
,
0x28
,
0x17
,
0xc1
,
0x77
,
0xe1
,
0xb9
,
0xca
,
0x0b
,
0x8f
,
0xce
,
0x93
,
0xc7
,
0x4f
,
0x70
,
0x69
,
0x47
,
0x5e
,
0x1a
,
0x9c
,
0xe8
,
0xd1
,
0xb3
,
0x3e
,
0x9e
,
0x34
,
0xf2
,
0x06
,
0x34
,
0xa2
,
0xa2
,
0x8d
,
0xdd
,
0xb6
,
0x26
,
0xcf
,
0x15
,
0x74
,
0x30
,
0xc2
,
0x96
,
0x3d
,
0xd0
,
0x24
,
0x1a
,
0xe4
,
0x1f
,
0x18
,
0xe4
,
0x2a
,
0x60
,
0xb0
,
0xf2
,
0x80
,
0x87
,
0x43
,
0x9e
,
0x1e
,
0x5d
,
0xc6
,
0x03
,
0x3d
,
0xa4
,
0x3a
,
0xb8
,
0xa7
,
0x07
,
0x23
,
0x07
,
0xf7
,
0xd0
,
0x13
,
0x4e
,
0x42
,
0xc1
,
0x0f
,
0x86
,
0x17
,
0x2a
,
0x90
,
0xeb
,
0x25
,
0x9e
,
0x99
,
0x9c
,
0x9e
,
0x0a
,
0xae
,
0x83
,
0xb7
,
0x5a
,
0x05
,
0x3f
,
0xf3
,
0xa0
,
0x8b
,
0xf4
,
0x3c
,
0xdc
,
0x7d
,
0x78
,
0x34
,
0x3d
,
0x39
,
0x14
,
0x67
,
0xaa
,
0x9c
,
0xf4
,
0x74
,
0x39
,
0xe9
,
0xbf
,
0x06
,
0xed
,
0x81
,
0x1a
,
0x9e
,
0xaa
,
0x8a
,
0xbb
,
0xc2
,
0x32
,
0xb1
,
0x5d
,
0xd0
,
0x58
,
0xfe
,
0x5d
,
0x58
,
0x14
,
0x97
,
0xf1
,
0xe0
,
0x50
,
0x9c
,
0x39
,
0x23
,
0x2c
,
0x9b
,
0xfa
,
0xfe
,
0x02
,
0xd3
,
0x78
,
0x45
,
0xcd
,
0xfa
,
0x11
,
0xac
,
0xdc
,
0x1f
,
0xc9
,
0x79
,
0x82
,
0x1a
,
0xbb
,
0x6f
,
0x41
,
0x3b
,
0x12
,
0x72
,
0x27
,
0x51
,
0xd5
,
0x66
,
0xf9
,
0xda
,
0x7f
,
0x15
,
0x5a
,
0x23
,
0xf9
,
0xa6
,
0x36
,
0xe7
,
0x22
,
0xa6
,
0x90
,
0x82
,
0x17
,
0xa1
,
0xb3
,
0xa7
,
0xbf
,
0x29
,
0xa2
,
0x4d
,
0x7e
,
0xcc
,
0x2f
,
0x95
,
0xf0
,
0xf0
,
0x71
,
0xf7
,
0x2d
,
0xe8
,
0xe4
,
0x3f
,
0x40
,
0xfa
,
0xb7
,
0xa0
,
0x75
,
0x20
,
0xf0
,
0x04
,
0xbf
,
0x9b
,
0xa7
,
0x80
,
0x47
,
0xef
,
0x47
,
0xa3
,
0xad
,
0x75
,
0xb5
,
0x3c
,
0x10
,
0xfb
,
0xe1
,
0xf4
,
0xec
,
0x3c
,
0xfb
,
0x70
,
0x12
,
0x2c
,
0x9c
,
0xb4
,
0xe8
,
0xaf
,
0xc7
,
0xd7
,
0xff
,
0x1b
,
0x00
,
0x00
,
0xff
,
0xff
,
0xa7
,
0x0e
,
0x12
,
0x6b
,
0x42
,
0x29
,
0x00
,
0x00
,
0x91
,
0x50
,
0x86
,
0xba
,
0x5b
,
0xad
,
0x91
,
0x3b
,
0x54
,
0xc8
,
0x50
,
0x21
,
0x06
,
0x3f
,
0xd1
,
0xe6
,
0x89
,
0xaa
,
0xde
,
0x3d
,
0x0c
,
0xa3
,
0xf8
,
0x30
,
0x9c
,
0x18
,
0x21
,
0xd4
,
0x9b
,
0xdf
,
0xd6
,
0xd4
,
0xb4
,
0xab
,
0x97
,
0xb7
,
0x35
,
0xf5
,
0xca
,
0xb6
,
0xa6
,
0x61
,
0xb7
,
0x6f
,
0xc1
,
0x3d
,
0x59
,
0x78
,
0x17
,
0x64
,
0x90
,
0x5d
,
0xdd
,
0x86
,
0x66
,
0x94
,
0xf1
,
0xb1
,
0x76
,
0x6f
,
0x8b
,
0x1f
,
0x93
,
0x60
,
0x26
,
0xd1
,
0x82
,
0xbf
,
0xd7
,
0x65
,
0xc2
,
0xca
,
0x83
,
0x84
,
0x72
,
0x9d
,
0x97
,
0xa0
,
0x8b
,
0x37
,
0x15
,
0x6d
,
0x8b
,
0x47
,
0x5d
,
0x95
,
0x0d
,
0xc4
,
0x06
,
0xb1
,
0x00
,
0x98
,
0xbd
,
0x92
,
0x0b
,
0x9e
,
0x93
,
0xd8
,
0x0a
,
0xa9
,
0x35
,
0x2c
,
0xa9
,
0x05
,
0xb0
,
0x3c
,
0x49
,
0x79
,
0x71
,
0xb9
,
0x6c
,
0xe9
,
0x2c
,
0x98
,
0x2d
,
0xd9
,
0x96
,
0xdb
,
0x30
,
0xca
,
0x13
,
0x90
,
0x19
,
0x6e
,
0xf4
,
0xf8
,
0x16
,
0x8c
,
0x2c
,
0x3f
,
0x47
,
0x68
,
0xcb
,
0x13
,
0x72
,
0x00
,
0xca
,
0x3e
,
0xbb
,
0xd8
,
0x4f
,
0xa6
,
0x71
,
0x26
,
0xa8
,
0xd4
,
0xed
,
0xb2
,
0x7c
,
0x2d
,
0xdf
,
0xc9
,
0x91
,
0x4a
,
0x0f
,
0x64
,
0xbb
,
0xa9
,
0xd7
,
0x58
,
0xe2
,
0x64
,
0x17
,
0x72
,
0x38
,
0xb3
,
0x44
,
0xd3
,
0x17
,
0xbd
,
0xa4
,
0x9e
,
0x11
,
0xc5
,
0x7c
,
0xac
,
0xb7
,
0x2e
,
0x4b
,
0x99
,
0x5a
,
0x40
,
0xa4
,
0x5c
,
0x01
,
0xe4
,
0x21
,
0x5d
,
0x3a
,
0xc4
,
0x82
,
0xf9
,
0xb7
,
0x60
,
0x3d
,
0x4e
,
0xe2
,
0x7d
,
0x6a
,
0xc2
,
0x8f
,
0x35
,
0x91
,
0x2b
,
0x44
,
0xe4
,
0xec
,
0x8b
,
0x60
,
0x0f
,
0xd6
,
0x8f
,
0xf8
,
0xe8
,
0x54
,
0xb5
,
0xbe
,
0x47
,
0x59
,
0x78
,
0xc6
,
0x85
,
0xff
,
0xaa
,
0x6d
,
0x28
,
0xda
,
0x51
,
0x5c
,
0x44
,
0x6d
,
0x27
,
0x0f
,
0x60
,
0xcd
,
0x7d
,
0x85
,
0x21
,
0x50
,
0x64
,
0x61
,
0x9a
,
0xf5
,
0x4d
,
0xc3
,
0x37
,
0x41
,
0xa8
,
0x5f
,
0x1e
,
0x87
,
0x27
,
0xaa
,
0xfe
,
0xec
,
0x32
,
0xb5
,
0x0a
,
0xfe
,
0xe6
,
0xc1
,
0x86
,
0x7b
,
0x1c
,
0x99
,
0x6f
,
0x75
,
0x9d
,
0xd4
,
0xcd
,
0x33
,
0xe8
,
0xab
,
0xd0
,
0x14
,
0xb8
,
0xc9
,
0x69
,
0x05
,
0x66
,
0xa9
,
0x27
,
0x2c
,
0xab
,
0xf8
,
0x69
,
0x38
,
0xc5
,
0xcf
,
0x4d
,
0x00
,
0x7e
,
0xc1
,
0x07
,
0x8a
,
0x09
,
0x19
,
0xe7
,
0x0d
,
0xc8
,
0x17
,
0x6e
,
0xac
,
0x02
,
0x0e
,
0x9b
,
0x0f
,
0x92
,
0x41
,
0x38
,
0xd2
,
0xc4
,
0x14
,
0xdc
,
0xdd
,
0xd5
,
0x54
,
0x7b
,
0x56
,
0xb9
,
0x5f
,
0x26
,
0x09
,
0x4d
,
0x39
,
0x59
,
0xd3
,
0x41
,
0x3c
,
0xe4
,
0x17
,
0x2a
,
0x7a
,
0xe8
,
0x65
,
0xf0
,
0x26
,
0xac
,
0xc8
,
0x3a
,
0x09
,
0x29
,
0x28
,
0x15
,
0x5e
,
0xde
,
0xf0
,
0xd7
,
0x8c
,
0x86
,
0x3f
,
0x08
,
0x60
,
0x4d
,
0xee
,
0xdb
,
0x0f
,
0xe3
,
0x01
,
0x1f
,
0x95
,
0xed
,
0x0c
,
0x3e
,
0x57
,
0xe3
,
0x1c
,
0x22
,
0xe7
,
0xaa
,
0x42
,
0x3b
,
0xbb
,
0xd4
,
0x85
,
0x76
,
0x76
,
0x89
,
0xd2
,
0x92
,
0x2c
,
0x42
,
0xa5
,
0x62
,
0xfa
,
0x0b
,
0x9a
,
0xc1
,
0x57
,
0xa0
,
0x81
,
0x62
,
0xeb
,
0x2d
,
0x11
,
0xfe
,
0x0d
,
0x85
,
0x6f
,
0x73
,
0xd6
,
0x5f
,
0x60
,
0x84
,
0x44
,
0x3d
,
0x23
,
0x51
,
0x4d
,
0xae
,
0x53
,
0x1c
,
0xef
,
0x32
,
0xd4
,
0x5f
,
0x60
,
0x0a
,
0x71
,
0x6f
,
0x51
,
0x09
,
0x21
,
0xf8
,
0x71
,
0x51
,
0xac
,
0x5a
,
0x9a
,
0x51
,
0xec
,
0xdd
,
0xb1
,
0xf2
,
0x55
,
0xa5
,
0x6a
,
0x66
,
0xba
,
0xb7
,
0xda
,
0xd5
,
0x7b
,
0xf2
,
0xbc
,
0xf5
,
0xb9
,
0x07
,
0x2f
,
0x94
,
0x91
,
0x31
,
0xb7
,
0x85
,
0xcb
,
0x4d
,
0xbd
,
0x76
,
0x2d
,
0x53
,
0xb7
,
0x7b
,
0xb7
,
0x7a
,
0x75
,
0xef
,
0xd6
,
0xa8
,
0xea
,
0xdd
,
0x9a
,
0xf3
,
0x7b
,
0xb7
,
0x96
,
0xd5
,
0xbb
,
0x05
,
0x9f
,
0xc2
,
0xf3
,
0x65
,
0x2c
,
0x09
,
0x55
,
0x0a
,
0xdc
,
0xb2
,
0x44
,
0xdb
,
0x9b
,
0xc3
,
0x80
,
0x98
,
0xad
,
0x6b
,
0x6a
,
0x57
,
0x6c
,
0xc8
,
0x85
,
0xfa
,
0x6b
,
0x0f
,
0x7c
,
0xc6
,
0x1f
,
0x7d
,
0x30
,
0xe5
,
0xe9
,
0x25
,
0xa2
,
0xa9
,
0x18
,
0x67
,
0xcf
,
0x58
,
0x8b
,
0xe8
,
0xe1
,
0xd6
,
0xee
,
0x1b
,
0xd0
,
0x1c
,
0x60
,
0xa8
,
0x54
,
0xe2
,
0x92
,
0x0b
,
0x94
,
0xd4
,
0x30
,
0x4a
,
0xb9
,
0x2c
,
0x72
,
0x95
,
0xa4
,
0x72
,
0x80
,
0x91
,
0xba
,
0x9a
,
0x56
,
0xea
,
0xda
,
0x80
,
0x66
,
0x44
,
0xee
,
0x2a
,
0x5b
,
0x5f
,
0xb9
,
0x08
,
0x3e
,
0xc0
,
0x6a
,
0x65
,
0x32
,
0xba
,
0x74
,
0x29
,
0x7c
,
0x8b
,
0x52
,
0x90
,
0xb4
,
0x11
,
0x15
,
0x89
,
0x2b
,
0xcd
,
0xa8
,
0xc0
,
0x0e
,
0xbe
,
0x67
,
0x7c
,
0x74
,
0xd8
,
0x57
,
0xe3
,
0x58
,
0xa1
,
0x6b
,
0x4b
,
0x11
,
0x9d
,
0xc5
,
0x2a
,
0x65
,
0xd3
,
0x33
,
0x2a
,
0x96
,
0x7a
,
0xdc
,
0xc3
,
0x50
,
0xb6
,
0xc5
,
0xcb
,
0x2c
,
0x5f
,
0x17
,
0xcd
,
0x70
,
0xdd
,
0x18
,
0xd6
,
0x05
,
0x3f
,
0x34
,
0x3e
,
0x14
,
0xc8
,
0xf3
,
0x55
,
0x75
,
0xbf
,
0x6b
,
0x49
,
0xd5
,
0x6e
,
0x21
,
0x9c
,
0x32
,
0x22
,
0x97
,
0xf8
,
0x1d
,
0xa8
,
0x9f
,
0x8c
,
0x84
,
0x52
,
0xe8
,
0xcc
,
0x38
,
0xdf
,
0x22
,
0x9f
,
0x21
,
0x66
,
0x90
,
0xc9
,
0x99
,
0x20
,
0xbd
,
0xa6
,
0x22
,
0xec
,
0x09
,
0x2e
,
0xdf
,
0x81
,
0xd5
,
0x48
,
0x18
,
0xe2
,
0x54
,
0xd9
,
0xa4
,
0xcd
,
0x5c
,
0x70
,
0xf0
,
0x4b
,
0x0f
,
0xfc
,
0x7d
,
0x3c
,
0xe5
,
0x6d
,
0x21
,
0x78
,
0x76
,
0x9c
,
0x86
,
0xb1
,
0x38
,
0xe5
,
0x29
,
0x5a
,
0x42
,
0x88
,
0x80
,
0xfb
,
0x17
,
0x7c
,
0xa0
,
0x4b
,
0xe4
,
0x1c
,
0x80
,
0x69
,
0x90
,
0x16
,
0x47
,
0x97
,
0xe3
,
0x93
,
0x64
,
0xa4
,
0xcc
,
0xca
,
0x04
,
0xa1
,
0xad
,
0x84
,
0xe3
,
0xdc
,
0xc0
,
0xea
,
0x4c
,
0xad
,
0x10
,
0x9e
,
0x25
,
0x46
,
0x52
,
0x52
,
0x2b
,
0x54
,
0x60
,
0xac
,
0x3d
,
0xb0
,
0xc3
,
0xe8
,
0x39
,
0xf8
,
0x4f
,
0xcb
,
0x98
,
0xb0
,
0x2b
,
0x61
,
0xbc
,
0x89
,
0xcd
,
0x34
,
0x8a
,
0x4e
,
0x09
,
0xe3
,
0x85
,
0x72
,
0xc1
,
0x4a
,
0x6c
,
0x8a
,
0x89
,
0xb4
,
0xf6
,
0x5f
,
0x87
,
0x26
,
0x95
,
0xf1
,
0x25
,
0x63
,
0x27
,
0x57
,
0xe0
,
0x18
,
0xa8
,
0x09
,
0xd7
,
0xff
,
0x06
,
0x74
,
0x43
,
0x53
,
0x2a
,
0xaa
,
0xb7
,
0xd6
,
0x11
,
0x9b
,
0x24
,
0x26
,
0xf4
,
0xcb
,
0xfe
,
0x02
,
0xb3
,
0xb1
,
0xf3
,
0xed
,
0xdf
,
0x89
,
0xb2
,
0xf3
,
0x61
,
0x1a
,
0x3e
,
0x56
,
0x9f
,
0x76
,
0xec
,
0xed
,
0xfa
,
0x65
,
0xbe
,
0x5d
,
0x03
,
0xfc
,
0xd7
,
0xa1
,
0x9d
,
0xe9
,
0x8b
,
0x5b
,
0xd5
,
0x17
,
0xe7
,
0x88
,
0xb8
,
0xe9
,
0xb1
,
0xbe
,
0x6e
,
0xb1
,
0xfa
,
0xba
,
0x1c
,
0xd1
,
0xbf
,
0x0f
,
0x2b
,
0xfa
,
0x80
,
0xe3
,
0x84
,
0x34
,
0xde
,
0xb6
,
0xa4
,
0x64
,
0xdf
,
0x27
,
0x51
,
0xfa
,
0x0b
,
0xcc
,
0xd9
,
0xe4
,
0x7f
,
0x1d
,
0x20
,
0xce
,
0x07
,
0xa0
,
0x54
,
0x40
,
0x56
,
0x8d
,
0x38
,
0xfb
,
0x0b
,
0xcc
,
0x40
,
0xf7
,
0xdf
,
0x81
,
0xd5
,
0xd8
,
0x1e
,
0x86
,
0xa8
,
0x7c
,
0x5a
,
0x31
,
0x2e
,
0xe9
,
0x2f
,
0x30
,
0x77
,
0x93
,
0xbf
,
0x07
,
0xab
,
0x42
,
0x07
,
0x1b
,
0x75
,
0x8e
,
0xcc
,
0xb3
,
0x9b
,
0xc6
,
0x39
,
0xc6
,
0x5b
,
0x3c
,
0xc3
,
0xd9
,
0xe0
,
0xbf
,
0x07
,
0xfe
,
0x60
,
0xc6
,
0x25
,
0x54
,
0xfe
,
0xd5
,
0x0c
,
0xcd
,
0xfa
,
0x4c
,
0x7f
,
0x81
,
0x95
,
0x6c
,
0xf3
,
0xbf
,
0x09
,
0xdd
,
0x89
,
0xd9
,
0x5a
,
0xf5
,
0xba
,
0x33
,
0x6d
,
0x9a
,
0x39
,
0x69
,
0x40
,
0x3b
,
0xb0
,
0xf0
,
0xfd
,
0x8f
,
0x60
,
0xcb
,
0xf8
,
0xda
,
0xe7
,
0x88
,
0x80
,
0x4a
,
0xe0
,
0x2b
,
0xc4
,
0x5c
,
0xb1
,
0xdd
,
0x28
,
0x66
,
0x9a
,
0x58
,
0xcc
,
0x14
,
0xb5
,
0xc3
,
0x67
,
0x1e
,
0x6c
,
0x1a
,
0xed
,
0xae
,
0xe1
,
0x5b
,
0xf3
,
0x86
,
0x5c
,
0x46
,
0xd5
,
0x7a
,
0xbd
,
0x20
,
0xf5
,
0x9a
,
0x35
,
0xe4
,
0x9a
,
0xf1
,
0x64
,
0xeb
,
0xf3
,
0xa1
,
0x4c
,
0x94
,
0x6f
,
0xba
,
0x63
,
0xae
,
0xea
,
0x4d
,
0x79
,
0xb2
,
0x7c
,
0xcf
,
0x9a
,
0xd2
,
0x17
,
0x0e
,
0xff
,
0x65
,
0x62
,
0x6b
,
0xf0
,
0xa3
,
0x06
,
0x66
,
0x36
,
0xfb
,
0x34
,
0x2a
,
0x63
,
0xec
,
0x3a
,
0xc4
,
0x9b
,
0xa9
,
0x43
,
0xb6
,
0x61
,
0x89
,
0x56
,
0x52
,
0x8c
,
0x4a
,
0xe8
,
0x26
,
0xc8
,
0x7f
,
0x19
,
0x56
,
0xb0
,
0xf6
,
0x38
,
0x0a
,
0xc7
,
0x5c
,
0x21
,
0xc9
,
0xf4
,
0xec
,
0x40
,
0x8b
,
0xc2
,
0xb4
,
0x51
,
0xde
,
0x5a
,
0x36
,
0xdd
,
0x86
,
0xbc
,
0x68
,
0xfa
,
0x5a
,
0x55
,
0x4d
,
0xdf
,
0x62
,
0x45
,
0xd3
,
0xd7
,
0x76
,
0x9a
,
0x3e
,
0xab
,
0x19
,
0xed
,
0xb8
,
0xcd
,
0xa8
,
0xd1
,
0x12
,
0xc2
,
0x15
,
0x2d
,
0xe1
,
0xd2
,
0x75
,
0x5a
,
0xc2
,
0xe5
,
0x92
,
0x96
,
0x70
,
0xa6
,
0x61
,
0xef
,
0x5e
,
0xb3
,
0x61
,
0x5f
,
0x29
,
0x6f
,
0xd8
,
0x77
,
0x60
,
0x95
,
0xbe
,
0x77
,
0xde
,
0x2f
,
0x7a
,
0xa3
,
0x55
,
0x89
,
0xe9
,
0x80
,
0x83
,
0xef
,
0xcf
,
0xfa
,
0x06
,
0xe3
,
0x83
,
0x24
,
0x1d
,
0x3e
,
0x2d
,
0xdf
,
0x08
,
0xfe
,
0x0f
,
0x96
,
0xf2
,
0xd7
,
0xc7
,
0x17
,
0x94
,
0x36
,
0x2f
,
0xf2
,
0xa1
,
0x04
,
0xa6
,
0x4d
,
0x5a
,
0xc9
,
0x99
,
0x67
,
0x31
,
0xc0
,
0x3d
,
0x46
,
0x3b
,
0x70
,
0xc7
,
0x0f
,
0xd7
,
0xf9
,
0x16
,
0x1d
,
0xfc
,
0xae
,
0x06
,
0xeb
,
0xd6
,
0xf4
,
0xf4
,
0x7f
,
0xcb
,
0xa2
,
0x3b
,
0x5f
,
0xd6
,
0xa2
,
0x3b
,
0x86
,
0x45
,
0x97
,
0xe8
,
0xbf
,
0x53
,
0xae
,
0xff
,
0x77
,
0xe1
,
0x19
,
0x4b
,
0x58
,
0x24
,
0x77
,
0x0c
,
0x68
,
0x2d
,
0xa2
,
0xdb
,
0x1d
,
0x45
,
0xcd
,
0x08
,
0x96
,
0x29
,
0x3c
,
0x19
,
0x98
,
0x5c
,
0xfd
,
0x21
,
0x0f
,
0xe5
,
0xda
,
0x9b
,
0x19
,
0xad
,
0x59
,
0x7f
,
0xd1
,
0xfc
,
0xa5
,
0x06
,
0x2b
,
0x45
,
0xbd
,
0x84
,
0x49
,
0x08
,
0xcd
,
0x11
,
0xbb
,
0x7e
,
0x6d
,
0x8e
,
0xf8
,
0x4c
,
0x21
,
0x3f
,
0xd1
,
0xad
,
0x40
,
0x96
,
0xa0
,
0x92
,
0xa3
,
0xbc
,
0x2e
,
0x20
,
0xf5
,
0xb4
,
0x99
,
0x01
,
0x31
,
0x6c
,
0xaf
,
0x61
,
0xda
,
0x9e
,
0x51
,
0xe2
,
0x35
,
0xad
,
0x12
,
0xcf
,
0x87
,
0x06
,
0xc7
,
0x1a
,
0x42
,
0xea
,
0x85
,
0x9e
,
0xa9
,
0x2d
,
0x91
,
0xb5
,
0xa2
,
0xfc
,
0x06
,
0xa6
,
0x56
,
0xc8
,
0x90
,
0x64
,
0xfc
,
0x72
,
0xc2
,
0x49
,
0x1f
,
0x5d
,
0x56
,
0x00
,
0x0c
,
0xf5
,
0x83
,
0xa5
,
0x7e
,
0xfa
,
0xc7
,
0x00
,
0xcd
,
0x06
,
0x65
,
0xa9
,
0x34
,
0x75
,
0x83
,
0x30
,
0x66
,
0xe0
,
0xf4
,
0xf5
,
0x3c
,
0x4c
,
0x43
,
0x85
,
0xb5
,
0x29
,
0x67
,
0x1d
,
0x05
,
0x04
,
0x03
,
0x95
,
0x98
,
0x0e
,
0x06
,
0x5c
,
0x88
,
0xde
,
0xb3
,
0xc4
,
0xba
,
0x5e
,
0x06
,
0x7f
,
0xf5
,
0xe4
,
0xe8
,
0x98
,
0x26
,
0x1b
,
0xf7
,
0x4e
,
0x28
,
0x52
,
0xcc
,
0x1d
,
0x7a
,
0x9a
,
0x63
,
0xcb
,
0x9a
,
0xf3
,
0x73
,
0xcd
,
0x55
,
0x23
,
0xcf
,
0x97
,
0x61
,
0x65
,
0x12
,
0x62
,
0x9e
,
0x3a
,
0x34
,
0x07
,
0x9f
,
0xcb
,
0xcc
,
0x81
,
0x5e
,
0x31
,
0x9d
,
0x7f
,
0x09
,
0xea
,
0xd9
,
0x85
,
0xfc
,
0xa7
,
0x65
,
0x69
,
0xd7
,
0x57
,
0x96
,
0x77
,
0x5c
,
0xfc
,
0xd8
,
0xc5
,
0xf0
,
0x75
,
0xf0
,
0x27
,
0xf5
,
0xe7
,
0x81
,
0xc9
,
0x14
,
0x75
,
0x50
,
0xd7
,
0x65
,
0xac
,
0xf3
,
0xc4
,
0x8c
,
0x75
,
0xbe
,
0x20
,
0x63
,
0x6b
,
0x05
,
0x63
,
0x1d
,
0xc9
,
0x44
,
0x22
,
0xfb
,
0xb4
,
0xbd
,
0x91
,
0x38
,
0x8a
,
0xce
,
0xe2
,
0xa3
,
0xe9
,
0x58
,
0xff
,
0x02
,
0x35
,
0x8f
,
0x89
,
0xbc
,
0xdd
,
0xab
,
0x99
,
0xff
,
0x66
,
0xf8
,
0xd0
,
0x18
,
0x8b
,
0x33
,
0xd9
,
0x03
,
0x2e
,
0x33
,
0x7a
,
0x46
,
0x4c
,
0x6c
,
0x1e
,
0x45
,
0xaf
,
0x41
,
0x40
,
0xb9
,
0x08
,
0xbe
,
0x0b
,
0xcf
,
0x95
,
0x5e
,
0x78
,
0x74
,
0x9e
,
0x3c
,
0x7e
,
0x82
,
0x4b
,
0x3b
,
0xf2
,
0xd2
,
0xe0
,
0x44
,
0xcf
,
0xb5
,
0xf5
,
0xf1
,
0xa4
,
0x91
,
0x37
,
0xa0
,
0x11
,
0x15
,
0x3d
,
0xf2
,
0xb6
,
0x35
,
0xd6
,
0x2e
,
0xa1
,
0x83
,
0x11
,
0xb6
,
0x6c
,
0xb0
,
0x26
,
0xd1
,
0x20
,
0xff
,
0x7a
,
0x21
,
0x57
,
0x01
,
0x83
,
0x95
,
0x07
,
0x3c
,
0x1c
,
0xf2
,
0xf4
,
0xe8
,
0x32
,
0x1e
,
0xe8
,
0x09
,
0xd8
,
0xc1
,
0x3d
,
0x3d
,
0x75
,
0x39
,
0xb8
,
0x87
,
0x9e
,
0x70
,
0x12
,
0x0a
,
0x7e
,
0x30
,
0xbc
,
0x50
,
0x81
,
0x5c
,
0x2f
,
0xf1
,
0xcc
,
0xe4
,
0xf4
,
0x54
,
0x70
,
0x1d
,
0xbc
,
0xd5
,
0x2a
,
0xf8
,
0x99
,
0x07
,
0x5d
,
0xa4
,
0xe7
,
0xe1
,
0xee
,
0xc3
,
0xa3
,
0xe9
,
0xc9
,
0xa1
,
0xd0
,
0xe5
,
0xa4
,
0xa7
,
0xcb
,
0x49
,
0xff
,
0x35
,
0x68
,
0x0f
,
0xd4
,
0x64
,
0x56
,
0x95
,
0xf3
,
0x25
,
0x96
,
0x89
,
0xbd
,
0x88
,
0xc6
,
0xf2
,
0xef
,
0xc2
,
0xa2
,
0xb8
,
0x8c
,
0x07
,
0x87
,
0xe2
,
0xcc
,
0x99
,
0x8f
,
0xd9
,
0xd4
,
0xf7
,
0x17
,
0x98
,
0xc6
,
0x2b
,
0x6a
,
0xd6
,
0x8f
,
0x60
,
0xe5
,
0xfe
,
0x48
,
0x0e
,
0x2b
,
0xd4
,
0x4c
,
0x7f
,
0x0b
,
0xda
,
0x91
,
0x90
,
0x3b
,
0x89
,
0xaa
,
0x36
,
0xcb
,
0xd7
,
0xfe
,
0xab
,
0xd0
,
0x1a
,
0xc9
,
0x37
,
0xb5
,
0x8a
,
0x8b
,
0x98
,
0x42
,
0x0a
,
0x5e
,
0x84
,
0xce
,
0x9e
,
0xfe
,
0x60
,
0x89
,
0x36
,
0xf9
,
0x31
,
0xbf
,
0x54
,
0xc2
,
0xc3
,
0xc7
,
0xdd
,
0xb7
,
0xa0
,
0x93
,
0xff
,
0x5d
,
0xe9
,
0xdf
,
0x82
,
0xd6
,
0x81
,
0xc0
,
0x13
,
0xfc
,
0x6e
,
0x9e
,
0x02
,
0x1e
,
0xbd
,
0x1f
,
0x8d
,
0xb6
,
0xd6
,
0xd5
,
0xf2
,
0x40
,
0xec
,
0x87
,
0xd3
,
0xb3
,
0xf3
,
0xec
,
0xc3
,
0x49
,
0xb0
,
0x70
,
0xd2
,
0xa2
,
0x5f
,
0x2a
,
0x5f
,
0xff
,
0x6f
,
0x00
,
0x00
,
0x00
,
0xff
,
0xff
,
0x53
,
0x14
,
0x42
,
0xef
,
0x9f
,
0x29
,
0x00
,
0x00
,
}
// Reference imports to suppress errors if they are not otherwise used.
...
...
plugin/dapp/paracross/types/type.go
View file @
a16cf9ab
...
...
@@ -129,6 +129,7 @@ func (p *ParacrossType) GetTypeMap() map[string]int32 {
"NodeGroupConfig"
:
ParacrossActionNodeGroupApply
,
"SelfStageConfig"
:
ParacrossActionSelfStageConfig
,
"ParaBindMiner"
:
ParacrossActionParaBindMiner
,
"SupervisionNodeGroupConfig"
:
ParacrossActionSupervisionNodeGroupConfig
,
}
}
...
...
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