Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
arduino-cli
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Operations
Operations
Metrics
Analytics
Analytics
Repository
Value Stream
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
xpstem
arduino-cli
Commits
b8c9e896
Unverified
Commit
b8c9e896
authored
Feb 24, 2021
by
Silvano Cerza
Committed by
GitHub
Feb 24, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add flag to skip libraries dependencies installation to gRPC LibraryInstall function (#1195)
parent
4c9ce83e
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
424 additions
and
330 deletions
+424
-330
cli/lib/install.go
cli/lib/install.go
+5
-38
client_example/main.go
client_example/main.go
+36
-0
commands/lib/install.go
commands/lib/install.go
+41
-9
rpc/commands/lib.pb.go
rpc/commands/lib.pb.go
+290
-280
rpc/commands/lib.proto
rpc/commands/lib.proto
+3
-1
test/test_lib.py
test/test_lib.py
+49
-2
No files found.
cli/lib/install.go
View file @
b8c9e896
...
...
@@ -118,49 +118,16 @@ func runInstallCommand(cmd *cobra.Command, args []string) {
os
.
Exit
(
errorcodes
.
ErrBadArgument
)
}
toInstall
:=
map
[
string
]
*
rpc
.
LibraryDependencyStatus
{}
if
installFlags
.
noDeps
{
for
_
,
libRef
:=
range
libRefs
{
toInstall
[
libRef
.
Name
]
=
&
rpc
.
LibraryDependencyStatus
{
Name
:
libRef
.
Name
,
VersionRequired
:
libRef
.
Version
,
}
}
}
else
{
for
_
,
libRef
:=
range
libRefs
{
depsResp
,
err
:=
lib
.
LibraryResolveDependencies
(
context
.
Background
(),
&
rpc
.
LibraryResolveDependenciesReq
{
libraryInstallReq
:=
&
rpc
.
LibraryInstallReq
{
Instance
:
instance
,
Name
:
libRef
.
Name
,
Version
:
libRef
.
Version
,
})
if
err
!=
nil
{
feedback
.
Errorf
(
"Error resolving dependencies for %s: %s"
,
libRef
,
err
)
os
.
Exit
(
errorcodes
.
ErrGeneric
)
}
for
_
,
dep
:=
range
depsResp
.
GetDependencies
()
{
feedback
.
Printf
(
"%s depends on %s@%s"
,
libRef
,
dep
.
GetName
(),
dep
.
GetVersionRequired
())
if
existingDep
,
has
:=
toInstall
[
dep
.
GetName
()];
has
{
if
existingDep
.
GetVersionRequired
()
!=
dep
.
GetVersionRequired
()
{
// TODO: make a better error
feedback
.
Errorf
(
"The library %s is required in two different versions: %s and %s"
,
dep
.
GetName
(),
dep
.
GetVersionRequired
(),
existingDep
.
GetVersionRequired
())
os
.
Exit
(
errorcodes
.
ErrGeneric
)
}
}
toInstall
[
dep
.
GetName
()]
=
dep
}
}
}
for
_
,
library
:=
range
toInstall
{
libraryInstallReq
:=
&
rpc
.
LibraryInstallReq
{
Instance
:
instance
,
Name
:
library
.
Name
,
Version
:
library
.
VersionRequired
,
NoDeps
:
installFlags
.
noDeps
,
}
err
:=
lib
.
LibraryInstall
(
context
.
Background
(),
libraryInstallReq
,
output
.
ProgressBar
(),
output
.
TaskProgress
())
if
err
!=
nil
{
feedback
.
Errorf
(
"Error installing %s: %v"
,
lib
rary
,
err
)
feedback
.
Errorf
(
"Error installing %s: %v"
,
lib
Ref
.
Name
,
err
)
os
.
Exit
(
errorcodes
.
ErrGeneric
)
}
}
...
...
client_example/main.go
View file @
b8c9e896
...
...
@@ -207,6 +207,10 @@ func main() {
log
.
Println
(
"calling LibraryInstall(WiFi101@0.15.2)"
)
callLibInstall
(
client
,
instance
,
"0.15.2"
)
// Install a library skipping deps installation
log
.
Println
(
"calling LibraryInstall(Arduino_MKRIoTCarrier@0.9.9) skipping dependencies"
)
callLibInstallNoDeps
(
client
,
instance
,
"0.9.9"
)
// Upgrade all libs to latest
log
.
Println
(
"calling LibraryUpgradeAll()"
)
callLibUpgradeAll
(
client
,
instance
)
...
...
@@ -813,6 +817,38 @@ func callLibInstall(client rpc.ArduinoCoreClient, instance *rpc.Instance, versio
}
}
func
callLibInstallNoDeps
(
client
rpc
.
ArduinoCoreClient
,
instance
*
rpc
.
Instance
,
version
string
)
{
installRespStream
,
err
:=
client
.
LibraryInstall
(
context
.
Background
(),
&
rpc
.
LibraryInstallReq
{
Instance
:
instance
,
Name
:
"Arduino_MKRIoTCarrier"
,
Version
:
version
,
NoDeps
:
true
,
})
if
err
!=
nil
{
log
.
Fatalf
(
"Error installing library: %s"
,
err
)
}
for
{
installResp
,
err
:=
installRespStream
.
Recv
()
if
err
==
io
.
EOF
{
log
.
Print
(
"Lib install done"
)
break
}
if
err
!=
nil
{
log
.
Fatalf
(
"Install error: %s"
,
err
)
}
if
installResp
.
GetProgress
()
!=
nil
{
log
.
Printf
(
"DOWNLOAD: %s
\n
"
,
installResp
.
GetProgress
())
}
if
installResp
.
GetTaskProgress
()
!=
nil
{
log
.
Printf
(
"TASK: %s
\n
"
,
installResp
.
GetTaskProgress
())
}
}
}
func
callLibUpgradeAll
(
client
rpc
.
ArduinoCoreClient
,
instance
*
rpc
.
Instance
)
{
libUpgradeAllRespStream
,
err
:=
client
.
LibraryUpgradeAll
(
context
.
Background
(),
&
rpc
.
LibraryUpgradeAllReq
{
...
...
commands/lib/install.go
View file @
b8c9e896
...
...
@@ -32,7 +32,38 @@ func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallReq,
lm
:=
commands
.
GetLibraryManager
(
req
.
GetInstance
()
.
GetId
())
libRelease
,
err
:=
findLibraryIndexRelease
(
lm
,
req
)
toInstall
:=
map
[
string
]
*
rpc
.
LibraryDependencyStatus
{}
if
req
.
NoDeps
{
toInstall
[
req
.
Name
]
=
&
rpc
.
LibraryDependencyStatus
{
Name
:
req
.
Name
,
VersionRequired
:
req
.
Version
,
}
}
else
{
res
,
err
:=
LibraryResolveDependencies
(
ctx
,
&
rpc
.
LibraryResolveDependenciesReq
{
Instance
:
req
.
Instance
,
Name
:
req
.
Name
,
Version
:
req
.
Version
,
})
if
err
!=
nil
{
return
fmt
.
Errorf
(
"Error resolving dependencies for %s@%s: %s"
,
req
.
Name
,
req
.
Version
,
err
)
}
for
_
,
dep
:=
range
res
.
Dependencies
{
if
existingDep
,
has
:=
toInstall
[
dep
.
Name
];
has
{
if
existingDep
.
VersionRequired
!=
dep
.
VersionRequired
{
return
fmt
.
Errorf
(
"two different versions of the library %s are required: %s and %s"
,
dep
.
Name
,
dep
.
VersionRequired
,
existingDep
.
VersionRequired
)
}
}
toInstall
[
dep
.
Name
]
=
dep
}
}
for
_
,
lib
:=
range
toInstall
{
libRelease
,
err
:=
findLibraryIndexRelease
(
lm
,
&
rpc
.
LibraryInstallReq
{
Name
:
lib
.
Name
,
Version
:
lib
.
VersionRequired
,
})
if
err
!=
nil
{
return
fmt
.
Errorf
(
"looking for library: %s"
,
err
)
}
...
...
@@ -44,6 +75,7 @@ func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallReq,
if
err
:=
installLibrary
(
lm
,
libRelease
,
taskCB
);
err
!=
nil
{
return
err
}
}
if
_
,
err
:=
commands
.
Rescan
(
req
.
GetInstance
()
.
GetId
());
err
!=
nil
{
return
fmt
.
Errorf
(
"rescanning libraries: %s"
,
err
)
...
...
rpc/commands/lib.pb.go
View file @
b8c9e896
...
...
@@ -319,6 +319,8 @@ type LibraryInstallReq struct {
Name
string
`protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
// The version of the library to install.
Version
string
`protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
// Set to true to skip installation of specified library's dependencies, defaults to false.
NoDeps
bool
`protobuf:"varint,4,opt,name=noDeps,proto3" json:"noDeps,omitempty"`
}
func
(
x
*
LibraryInstallReq
)
Reset
()
{
...
...
@@ -374,6 +376,13 @@ func (x *LibraryInstallReq) GetVersion() string {
return
""
}
func
(
x
*
LibraryInstallReq
)
GetNoDeps
()
bool
{
if
x
!=
nil
{
return
x
.
NoDeps
}
return
false
}
type
LibraryInstallResp
struct
{
state
protoimpl
.
MessageState
sizeCache
protoimpl
.
SizeCache
...
...
@@ -2016,7 +2025,7 @@ var file_commands_lib_proto_rawDesc = []byte{
0x0b
,
0x32
,
0x29
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x44
,
0x6f
,
0x77
,
0x6e
,
0x6c
,
0x6f
,
0x61
,
0x64
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x52
,
0x08
,
0x70
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x22
,
0x
80
,
0x01
,
0x0a
,
0x11
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x22
,
0x
98
,
0x01
,
0x0a
,
0x11
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x12
,
0x3d
,
0x0a
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x21
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
...
...
@@ -2024,294 +2033,295 @@ var file_commands_lib_proto_rawDesc = []byte{
0x65
,
0x52
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x22
,
0xa7
,
0x01
,
0x0a
,
0x12
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x73
,
0x70
,
0x12
,
0x45
,
0x0a
,
0x08
,
0x70
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x29
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x44
,
0x6f
,
0x77
,
0x6e
,
0x6c
,
0x6f
,
0x61
,
0x64
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x52
,
0x08
,
0x70
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x12
,
0x4a
,
0x0a
,
0x0d
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x5f
,
0x70
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x25
,
0x52
,
0x07
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x6e
,
0x6f
,
0x44
,
0x65
,
0x70
,
0x73
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x06
,
0x6e
,
0x6f
,
0x44
,
0x65
,
0x70
,
0x73
,
0x22
,
0xa7
,
0x01
,
0x0a
,
0x12
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x73
,
0x70
,
0x12
,
0x45
,
0x0a
,
0x08
,
0x70
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x29
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x44
,
0x6f
,
0x77
,
0x6e
,
0x6c
,
0x6f
,
0x61
,
0x64
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x52
,
0x08
,
0x70
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x12
,
0x4a
,
0x0a
,
0x0d
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x5f
,
0x70
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x25
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x54
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x52
,
0x0c
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x22
,
0x82
,
0x01
,
0x0a
,
0x13
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x55
,
0x6e
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x12
,
0x3d
,
0x0a
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x21
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x52
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x22
,
0x62
,
0x0a
,
0x14
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x55
,
0x6e
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x73
,
0x70
,
0x12
,
0x4a
,
0x0a
,
0x0d
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x5f
,
0x70
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x25
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x54
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x52
,
0x0c
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x22
,
0x55
,
0x0a
,
0x14
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x55
,
0x70
,
0x67
,
0x72
,
0x61
,
0x64
,
0x65
,
0x41
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x12
,
0x3d
,
0x0a
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x21
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x54
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x52
,
0x0c
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x22
,
0x82
,
0x01
,
0x0a
,
0x13
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x55
,
0x6e
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x12
,
0x3d
,
0x0a
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x21
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x52
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x22
,
0x62
,
0x0a
,
0x14
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x55
,
0x6e
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x73
,
0x70
,
0x12
,
0x4a
,
0x0a
,
0x0d
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x5f
,
0x70
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x25
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x54
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x52
,
0x0c
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x22
,
0x55
,
0x0a
,
0x14
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x52
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x22
,
0xaa
,
0x01
,
0x0a
,
0x15
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x55
,
0x70
,
0x67
,
0x72
,
0x61
,
0x64
,
0x65
,
0x41
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x12
,
0x3d
,
0x0a
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x21
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x52
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x22
,
0xaa
,
0x01
,
0x0a
,
0x15
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x55
,
0x70
,
0x67
,
0x72
,
0x61
,
0x64
,
0x65
,
0x41
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x73
,
0x70
,
0x12
,
0x45
,
0x0a
,
0x08
,
0x70
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x29
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x44
,
0x6f
,
0x77
,
0x6e
,
0x6c
,
0x6f
,
0x61
,
0x64
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x52
,
0x08
,
0x70
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x12
,
0x4a
,
0x0a
,
0x0d
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x5f
,
0x70
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x25
,
0x2e
,
0x63
,
0x63
,
0x6c
,
0x52
,
0x65
,
0x73
,
0x70
,
0x12
,
0x45
,
0x0a
,
0x08
,
0x70
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x29
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x44
,
0x6f
,
0x77
,
0x6e
,
0x6c
,
0x6f
,
0x61
,
0x64
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x52
,
0x08
,
0x70
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x12
,
0x4a
,
0x0a
,
0x0d
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x5f
,
0x70
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x25
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x54
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x52
,
0x0c
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x22
,
0x8c
,
0x01
,
0x0a
,
0x1d
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x6c
,
0x76
,
0x65
,
0x44
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x64
,
0x65
,
0x6e
,
0x63
,
0x69
,
0x65
,
0x73
,
0x52
,
0x65
,
0x71
,
0x12
,
0x3d
,
0x0a
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x21
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x52
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x22
,
0x76
,
0x0a
,
0x1e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x6c
,
0x76
,
0x65
,
0x44
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x64
,
0x65
,
0x6e
,
0x63
,
0x69
,
0x65
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x12
,
0x54
,
0x0a
,
0x0c
,
0x64
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x64
,
0x65
,
0x6e
,
0x63
,
0x69
,
0x65
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x30
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x44
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x64
,
0x65
,
0x6e
,
0x63
,
0x79
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x52
,
0x0c
,
0x64
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x64
,
0x65
,
0x6e
,
0x63
,
0x69
,
0x65
,
0x73
,
0x22
,
0x83
,
0x01
,
0x0a
,
0x17
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x44
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x64
,
0x65
,
0x6e
,
0x63
,
0x79
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x28
,
0x0a
,
0x0f
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x75
,
0x69
,
0x72
,
0x65
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0f
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x75
,
0x69
,
0x72
,
0x65
,
0x64
,
0x12
,
0x2a
,
0x0a
,
0x10
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x65
,
0x64
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x10
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x65
,
0x64
,
0x22
,
0x67
,
0x0a
,
0x10
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x53
,
0x65
,
0x61
,
0x72
,
0x63
,
0x68
,
0x52
,
0x65
,
0x71
,
0x12
,
0x3d
,
0x0a
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x21
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x54
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x52
,
0x0c
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x22
,
0x8c
,
0x01
,
0x0a
,
0x1d
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x6c
,
0x76
,
0x65
,
0x44
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x64
,
0x65
,
0x6e
,
0x63
,
0x69
,
0x65
,
0x73
,
0x52
,
0x65
,
0x71
,
0x12
,
0x3d
,
0x0a
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x21
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x52
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x22
,
0x76
,
0x0a
,
0x1e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x6c
,
0x76
,
0x65
,
0x44
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x64
,
0x65
,
0x6e
,
0x63
,
0x69
,
0x65
,
0x73
,
0x52
,
0x65
,
0x73
,
0x70
,
0x12
,
0x54
,
0x0a
,
0x0c
,
0x64
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x64
,
0x65
,
0x6e
,
0x63
,
0x69
,
0x65
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x30
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x52
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x71
,
0x75
,
0x65
,
0x72
,
0x79
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x05
,
0x71
,
0x75
,
0x65
,
0x72
,
0x79
,
0x22
,
0xa1
,
0x01
,
0x0a
,
0x11
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x53
,
0x65
,
0x61
,
0x72
,
0x63
,
0x68
,
0x52
,
0x65
,
0x73
,
0x70
,
0x12
,
0x46
,
0x0a
,
0x09
,
0x6c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x69
,
0x65
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x28
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x
4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x44
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x64
,
0x65
,
0x
6e
,
0x63
,
0x79
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x52
,
0x0c
,
0x64
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x
64
,
0x65
,
0x6e
,
0x63
,
0x69
,
0x65
,
0x73
,
0x22
,
0x83
,
0x01
,
0x0a
,
0x17
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x6
1
,
0x72
,
0x79
,
0x44
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x64
,
0x65
,
0x6e
,
0x63
,
0x79
,
0x53
,
0x74
,
0x61
,
0x
74
,
0x75
,
0x73
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x
09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x28
,
0x0a
,
0x0f
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x
6f
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x75
,
0x69
,
0x72
,
0x65
,
0x64
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x
52
,
0x0f
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x65
,
0x71
,
0x75
,
0x69
,
0x72
,
0x65
,
0x
64
,
0x12
,
0x2a
,
0x0a
,
0x10
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x6
1
,
0x6c
,
0x6c
,
0x65
,
0x64
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x10
,
0x76
,
0x65
,
0x72
,
0x
73
,
0x69
,
0x6f
,
0x6e
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x65
,
0x64
,
0x22
,
0x67
,
0x0a
,
0x
10
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x53
,
0x65
,
0x61
,
0x72
,
0x63
,
0x68
,
0x52
,
0x65
,
0x
71
,
0x12
,
0x3d
,
0x0a
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x01
,
0x20
,
0x
01
,
0x28
,
0x0b
,
0x32
,
0x21
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6
f
,
0x
2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x49
,
0x6e
,
0x
73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x52
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x
12
,
0x14
,
0x0a
,
0x05
,
0x71
,
0x75
,
0x65
,
0x72
,
0x79
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x
05
,
0x71
,
0x75
,
0x65
,
0x72
,
0x79
,
0x22
,
0xa1
,
0x01
,
0x0a
,
0x11
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x
72
,
0x79
,
0x53
,
0x65
,
0x61
,
0x72
,
0x63
,
0x68
,
0x52
,
0x65
,
0x73
,
0x70
,
0x12
,
0x46
,
0x0a
,
0x0
9
,
0x
6c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x69
,
0x65
,
0x73
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x
28
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x
2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x53
,
0x65
,
0x61
,
0x72
,
0x63
,
0x68
,
0x6
5
,
0x64
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x52
,
0x09
,
0x6c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x
72
,
0x69
,
0x65
,
0x73
,
0x12
,
0x44
,
0x0a
,
0x06
,
0x73
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x02
,
0x
20
,
0x01
,
0x28
,
0x0e
,
0x32
,
0x2c
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x
6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x6
9
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x53
,
0x65
,
0x61
,
0x72
,
0x63
,
0x68
,
0x53
,
0x74
,
0x61
,
0x74
,
0x
75
,
0x73
,
0x52
,
0x06
,
0x73
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x22
,
0xa0
,
0x02
,
0x0a
,
0x0f
,
0x53
,
0x
65
,
0x61
,
0x72
,
0x63
,
0x68
,
0x65
,
0x64
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x12
,
0x12
,
0x
0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x6
5
,
0x12
,
0x52
,
0x0a
,
0x08
,
0x72
,
0x65
,
0x6c
,
0x65
,
0x61
,
0x73
,
0x65
,
0x73
,
0x18
,
0x02
,
0x
20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x36
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6
f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x53
,
0x6
5
,
0x61
,
0x72
,
0x63
,
0x68
,
0x65
,
0x64
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x2e
,
0x52
,
0x
65
,
0x6c
,
0x65
,
0x61
,
0x73
,
0x65
,
0x73
,
0x45
,
0x6e
,
0x74
,
0x72
,
0x79
,
0x52
,
0x08
,
0x72
,
0x65
,
0x
6c
,
0x65
,
0x61
,
0x73
,
0x65
,
0x73
,
0x12
,
0x3f
,
0x0a
,
0x06
,
0x6c
,
0x61
,
0x74
,
0x65
,
0x73
,
0x74
,
0x
18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x27
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x
69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x
2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x52
,
0x65
,
0x6c
,
0x65
,
0x61
,
0x73
,
0x65
,
0x52
,
0x0
6
,
0x6c
,
0x61
,
0x74
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x64
,
0x0a
,
0x0d
,
0x52
,
0x65
,
0x6c
,
0x65
,
0x61
,
0x
73
,
0x65
,
0x73
,
0x45
,
0x6e
,
0x74
,
0x72
,
0x79
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x6b
,
0x65
,
0x79
,
0x18
,
0x0
1
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x6b
,
0x65
,
0x79
,
0x12
,
0x3d
,
0x0a
,
0x05
,
0x76
,
0x61
,
0x6
c
,
0x75
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x27
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x73
,
0x2e
,
0x
53
,
0x65
,
0x61
,
0x72
,
0x63
,
0x68
,
0x65
,
0x64
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x
79
,
0x52
,
0x09
,
0x6c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x69
,
0x65
,
0x73
,
0x12
,
0x44
,
0x0a
,
0x06
,
0x
73
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0e
,
0x32
,
0x2c
,
0x2e
,
0x63
,
0x6
3
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x
6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x53
,
0x65
,
0x
61
,
0x72
,
0x63
,
0x68
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x52
,
0x06
,
0x73
,
0x74
,
0x61
,
0x74
,
0x
75
,
0x73
,
0x22
,
0xa0
,
0x02
,
0x0a
,
0x0f
,
0x53
,
0x65
,
0x61
,
0x72
,
0x63
,
0x68
,
0x65
,
0x64
,
0x4c
,
0x
69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x
20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x52
,
0x0a
,
0x08
,
0x72
,
0x65
,
0x6
c
,
0x65
,
0x61
,
0x73
,
0x65
,
0x73
,
0x18
,
0x02
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x36
,
0x2e
,
0x63
,
0x
63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x
6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x53
,
0x65
,
0x61
,
0x72
,
0x63
,
0x68
,
0x65
,
0x64
,
0x4c
,
0x
69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x2e
,
0x52
,
0x65
,
0x6c
,
0x65
,
0x61
,
0x73
,
0x65
,
0x73
,
0x45
,
0x
6e
,
0x74
,
0x72
,
0x79
,
0x52
,
0x08
,
0x72
,
0x65
,
0x6c
,
0x65
,
0x61
,
0x73
,
0x65
,
0x73
,
0x12
,
0x3
f
,
0x
0a
,
0x06
,
0x6c
,
0x61
,
0x74
,
0x65
,
0x73
,
0x74
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x27
,
0x
2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x
63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x
52
,
0x65
,
0x6c
,
0x65
,
0x61
,
0x73
,
0x65
,
0x52
,
0x06
,
0x6c
,
0x61
,
0x74
,
0x65
,
0x73
,
0x74
,
0x1a
,
0x
64
,
0x0a
,
0x0d
,
0x52
,
0x65
,
0x6c
,
0x65
,
0x61
,
0x73
,
0x65
,
0x73
,
0x45
,
0x6e
,
0x74
,
0x72
,
0x7
9
,
0x
12
,
0x10
,
0x0a
,
0x03
,
0x6b
,
0x65
,
0x79
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x6b
,
0x
65
,
0x79
,
0x12
,
0x3d
,
0x0a
,
0x05
,
0x76
,
0x61
,
0x6c
,
0x75
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x
0b
,
0x32
,
0x27
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6
c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x
61
,
0x72
,
0x79
,
0x52
,
0x65
,
0x6c
,
0x65
,
0x61
,
0x73
,
0x65
,
0x52
,
0x05
,
0x76
,
0x61
,
0x6c
,
0x75
,
0x
65
,
0x3a
,
0x02
,
0x38
,
0x01
,
0x22
,
0xee
,
0x03
,
0x0a
,
0x0e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x
79
,
0x52
,
0x65
,
0x6c
,
0x65
,
0x61
,
0x73
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x61
,
0x75
,
0x74
,
0x68
,
0x6
f
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x61
,
0x75
,
0x74
,
0x68
,
0x6f
,
0x72
,
0x
12
,
0x18
,
0x0a
,
0x07
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x
09
,
0x52
,
0x07
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x6d
,
0x61
,
0x
69
,
0x6e
,
0x74
,
0x61
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x6d
,
0x6
1
,
0x69
,
0x6e
,
0x74
,
0x61
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x73
,
0x65
,
0x
6e
,
0x74
,
0x65
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x73
,
0x65
,
0x6
e
,
0x74
,
0x65
,
0x6e
,
0x63
,
0x65
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x70
,
0x61
,
0x72
,
0x61
,
0x67
,
0x72
,
0x6
1
,
0x70
,
0x68
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x09
,
0x70
,
0x61
,
0x72
,
0x61
,
0x67
,
0x
72
,
0x61
,
0x70
,
0x68
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x77
,
0x65
,
0x62
,
0x73
,
0x69
,
0x74
,
0x65
,
0x18
,
0x
06
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x77
,
0x65
,
0x62
,
0x73
,
0x69
,
0x74
,
0x65
,
0x12
,
0x1a
,
0x
0a
,
0x08
,
0x63
,
0x61
,
0x74
,
0x65
,
0x67
,
0x6f
,
0x72
,
0x79
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x09
,
0x
52
,
0x08
,
0x63
,
0x61
,
0x74
,
0x65
,
0x67
,
0x6f
,
0x72
,
0x79
,
0x12
,
0x24
,
0x0a
,
0x0d
,
0x61
,
0x72
,
0x
63
,
0x68
,
0x69
,
0x74
,
0x65
,
0x63
,
0x74
,
0x75
,
0x72
,
0x65
,
0x73
,
0x18
,
0x08
,
0x20
,
0x03
,
0x28
,
0x0
9
,
0x52
,
0x0d
,
0x61
,
0x72
,
0x63
,
0x68
,
0x69
,
0x74
,
0x65
,
0x63
,
0x74
,
0x75
,
0x72
,
0x65
,
0x73
,
0x
12
,
0x14
,
0x0a
,
0x05
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x18
,
0x09
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x0
5
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x12
,
0x47
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x6
3
,
0x65
,
0x73
,
0x18
,
0x0a
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x29
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x52
,
0x65
,
0x6c
,
0x65
,
0x61
,
0x73
,
0x65
,
0x52
,
0x05
,
0x76
,
0x61
,
0x6c
,
0x75
,
0x65
,
0x3a
,
0x02
,
0x38
,
0x01
,
0x22
,
0xee
,
0x03
,
0x0a
,
0x0e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x52
,
0x65
,
0x6c
,
0x65
,
0x61
,
0x73
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x61
,
0x75
,
0x74
,
0x68
,
0x6f
,
0x72
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x61
,
0x75
,
0x74
,
0x68
,
0x6f
,
0x72
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x6d
,
0x61
,
0x69
,
0x6e
,
0x74
,
0x61
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x6d
,
0x61
,
0x69
,
0x6e
,
0x74
,
0x61
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x73
,
0x65
,
0x6e
,
0x74
,
0x65
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x73
,
0x65
,
0x6e
,
0x74
,
0x65
,
0x6e
,
0x63
,
0x65
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x70
,
0x61
,
0x72
,
0x61
,
0x67
,
0x72
,
0x61
,
0x70
,
0x68
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x09
,
0x70
,
0x61
,
0x72
,
0x61
,
0x67
,
0x72
,
0x61
,
0x70
,
0x68
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x77
,
0x65
,
0x62
,
0x73
,
0x69
,
0x74
,
0x65
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x77
,
0x65
,
0x62
,
0x73
,
0x69
,
0x74
,
0x65
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x63
,
0x61
,
0x74
,
0x65
,
0x67
,
0x6f
,
0x72
,
0x79
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x63
,
0x61
,
0x74
,
0x65
,
0x67
,
0x6f
,
0x72
,
0x79
,
0x12
,
0x24
,
0x0a
,
0x0d
,
0x61
,
0x72
,
0x63
,
0x68
,
0x69
,
0x74
,
0x65
,
0x63
,
0x74
,
0x75
,
0x72
,
0x65
,
0x73
,
0x18
,
0x08
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x0d
,
0x61
,
0x72
,
0x63
,
0x68
,
0x69
,
0x74
,
0x65
,
0x63
,
0x74
,
0x75
,
0x72
,
0x65
,
0x73
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x18
,
0x09
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x05
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x12
,
0x47
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x18
,
0x0a
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x29
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x44
,
0x6f
,
0x77
,
0x6e
,
0x6c
,
0x6f
,
0x61
,
0x64
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x52
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x6c
,
0x69
,
0x63
,
0x65
,
0x6e
,
0x73
,
0x65
,
0x18
,
0x0b
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x6c
,
0x69
,
0x63
,
0x65
,
0x6e
,
0x73
,
0x65
,
0x12
,
0x2b
,
0x0a
,
0x11
,
0x70
,
0x72
,
0x6f
,
0x76
,
0x69
,
0x64
,
0x65
,
0x73
,
0x5f
,
0x69
,
0x6e
,
0x63
,
0x6c
,
0x75
,
0x64
,
0x65
,
0x73
,
0x18
,
0x0c
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x10
,
0x70
,
0x72
,
0x6f
,
0x76
,
0x69
,
0x64
,
0x65
,
0x73
,
0x49
,
0x6e
,
0x63
,
0x6c
,
0x75
,
0x64
,
0x65
,
0x73
,
0x12
,
0x4e
,
0x0a
,
0x0c
,
0x64
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x64
,
0x65
,
0x6e
,
0x63
,
0x69
,
0x65
,
0x73
,
0x18
,
0x0d
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x2a
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x44
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x64
,
0x65
,
0x6e
,
0x63
,
0x79
,
0x52
,
0x0c
,
0x64
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x64
,
0x65
,
0x6e
,
0x63
,
0x69
,
0x65
,
0x73
,
0x22
,
0x56
,
0x0a
,
0x11
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x44
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x64
,
0x65
,
0x6e
,
0x63
,
0x79
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x2d
,
0x0a
,
0x12
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x5f
,
0x63
,
0x6f
,
0x6e
,
0x73
,
0x74
,
0x72
,
0x61
,
0x69
,
0x6e
,
0x74
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x11
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x43
,
0x6f
,
0x6e
,
0x73
,
0x74
,
0x72
,
0x61
,
0x69
,
0x6e
,
0x74
,
0x22
,
0x9c
,
0x01
,
0x0a
,
0x10
,
0x44
,
0x6f
,
0x77
,
0x6e
,
0x6c
,
0x6f
,
0x61
,
0x64
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x12
,
0x28
,
0x0a
,
0x0f
,
0x61
,
0x72
,
0x63
,
0x68
,
0x69
,
0x76
,
0x65
,
0x66
,
0x69
,
0x6c
,
0x65
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0f
,
0x61
,
0x72
,
0x63
,
0x68
,
0x69
,
0x76
,
0x65
,
0x66
,
0x69
,
0x6c
,
0x65
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x63
,
0x68
,
0x65
,
0x63
,
0x6b
,
0x73
,
0x75
,
0x6d
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x63
,
0x68
,
0x65
,
0x63
,
0x6b
,
0x73
,
0x75
,
0x6d
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x73
,
0x69
,
0x7a
,
0x65
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x04
,
0x73
,
0x69
,
0x7a
,
0x65
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x63
,
0x61
,
0x63
,
0x68
,
0x65
,
0x70
,
0x61
,
0x74
,
0x68
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x09
,
0x63
,
0x61
,
0x63
,
0x68
,
0x65
,
0x70
,
0x61
,
0x74
,
0x68
,
0x22
,
0xa7
,
0x01
,
0x0a
,
0x0e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x71
,
0x12
,
0x3d
,
0x0a
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x21
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x52
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x61
,
0x6c
,
0x6c
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x03
,
0x61
,
0x6c
,
0x6c
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x75
,
0x70
,
0x64
,
0x61
,
0x74
,
0x61
,
0x62
,
0x6c
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x09
,
0x75
,
0x70
,
0x64
,
0x61
,
0x74
,
0x61
,
0x62
,
0x6c
,
0x65
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x66
,
0x71
,
0x62
,
0x6e
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x66
,
0x71
,
0x62
,
0x6e
,
0x22
,
0x69
,
0x0a
,
0x0f
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x73
,
0x70
,
0x12
,
0x56
,
0x0a
,
0x11
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x65
,
0x64
,
0x5f
,
0x6c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x29
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x65
,
0x64
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x52
,
0x10
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x65
,
0x64
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x22
,
0x91
,
0x01
,
0x0a
,
0x10
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x65
,
0x64
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x12
,
0x3a
,
0x0a
,
0x07
,
0x6c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x20
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x52
,
0x07
,
0x6c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x12
,
0x41
,
0x0a
,
0x07
,
0x72
,
0x65
,
0x6c
,
0x65
,
0x61
,
0x73
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x27
,
0x2e
,
0x63
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x44
,
0x6f
,
0x77
,
0x6e
,
0x6c
,
0x6f
,
0x61
,
0x64
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x52
,
0x09
,
0x72
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x73
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x6c
,
0x69
,
0x63
,
0x65
,
0x6e
,
0x73
,
0x65
,
0x18
,
0x0b
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x6c
,
0x69
,
0x63
,
0x65
,
0x6e
,
0x73
,
0x65
,
0x12
,
0x2b
,
0x0a
,
0x11
,
0x70
,
0x72
,
0x6f
,
0x76
,
0x69
,
0x64
,
0x65
,
0x73
,
0x5f
,
0x69
,
0x6e
,
0x63
,
0x6c
,
0x75
,
0x64
,
0x65
,
0x73
,
0x18
,
0x0c
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x10
,
0x70
,
0x72
,
0x6f
,
0x76
,
0x69
,
0x64
,
0x65
,
0x73
,
0x49
,
0x6e
,
0x63
,
0x6c
,
0x75
,
0x64
,
0x65
,
0x73
,
0x12
,
0x4e
,
0x0a
,
0x0c
,
0x64
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x64
,
0x65
,
0x6e
,
0x63
,
0x69
,
0x65
,
0x73
,
0x18
,
0x0d
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x2a
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x52
,
0x65
,
0x6c
,
0x65
,
0x61
,
0x73
,
0x65
,
0x52
,
0x07
,
0x72
,
0x65
,
0x6c
,
0x65
,
0x61
,
0x73
,
0x65
,
0x22
,
0xe2
,
0x08
,
0x0a
,
0x07
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x61
,
0x75
,
0x74
,
0x68
,
0x6f
,
0x72
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x61
,
0x75
,
0x74
,
0x68
,
0x6f
,
0x72
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x6d
,
0x61
,
0x69
,
0x6e
,
0x74
,
0x61
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x6d
,
0x61
,
0x69
,
0x6e
,
0x74
,
0x61
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x73
,
0x65
,
0x6e
,
0x74
,
0x65
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x73
,
0x65
,
0x6e
,
0x74
,
0x65
,
0x6e
,
0x63
,
0x65
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x70
,
0x61
,
0x72
,
0x61
,
0x67
,
0x72
,
0x61
,
0x70
,
0x68
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x09
,
0x70
,
0x61
,
0x72
,
0x61
,
0x67
,
0x72
,
0x61
,
0x70
,
0x68
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x77
,
0x65
,
0x62
,
0x73
,
0x69
,
0x74
,
0x65
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x77
,
0x65
,
0x62
,
0x73
,
0x69
,
0x74
,
0x65
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x63
,
0x61
,
0x74
,
0x65
,
0x67
,
0x6f
,
0x72
,
0x79
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x63
,
0x61
,
0x74
,
0x65
,
0x67
,
0x6f
,
0x72
,
0x79
,
0x12
,
0x24
,
0x0a
,
0x0d
,
0x61
,
0x72
,
0x63
,
0x68
,
0x69
,
0x74
,
0x65
,
0x63
,
0x74
,
0x75
,
0x72
,
0x65
,
0x73
,
0x18
,
0x08
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x0d
,
0x61
,
0x72
,
0x63
,
0x68
,
0x69
,
0x74
,
0x65
,
0x63
,
0x74
,
0x75
,
0x72
,
0x65
,
0x73
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x18
,
0x09
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x05
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x12
,
0x1f
,
0x0a
,
0x0b
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x5f
,
0x64
,
0x69
,
0x72
,
0x18
,
0x0a
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x44
,
0x69
,
0x72
,
0x12
,
0x1d
,
0x0a
,
0x0a
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x5f
,
0x64
,
0x69
,
0x72
,
0x18
,
0x0b
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x09
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x44
,
0x69
,
0x72
,
0x12
,
0x1f
,
0x0a
,
0x0b
,
0x75
,
0x74
,
0x69
,
0x6c
,
0x69
,
0x74
,
0x79
,
0x5f
,
0x64
,
0x69
,
0x72
,
0x18
,
0x0c
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x75
,
0x74
,
0x69
,
0x6c
,
0x69
,
0x74
,
0x79
,
0x44
,
0x69
,
0x72
,
0x12
,
0x2d
,
0x0a
,
0x12
,
0x63
,
0x6f
,
0x6e
,
0x74
,
0x61
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x5f
,
0x70
,
0x6c
,
0x61
,
0x74
,
0x66
,
0x6f
,
0x72
,
0x6d
,
0x18
,
0x0e
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x11
,
0x63
,
0x6f
,
0x6e
,
0x74
,
0x61
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x50
,
0x6c
,
0x61
,
0x74
,
0x66
,
0x6f
,
0x72
,
0x6d
,
0x12
,
0x1b
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x61
,
0x6c
,
0x5f
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x10
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x72
,
0x65
,
0x61
,
0x6c
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x22
,
0x0a
,
0x0d
,
0x64
,
0x6f
,
0x74
,
0x5f
,
0x61
,
0x5f
,
0x6c
,
0x69
,
0x6e
,
0x6b
,
0x61
,
0x67
,
0x65
,
0x18
,
0x11
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x0b
,
0x64
,
0x6f
,
0x74
,
0x41
,
0x4c
,
0x69
,
0x6e
,
0x6b
,
0x61
,
0x67
,
0x65
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x70
,
0x72
,
0x65
,
0x63
,
0x6f
,
0x6d
,
0x70
,
0x69
,
0x6c
,
0x65
,
0x64
,
0x18
,
0x12
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x0b
,
0x70
,
0x72
,
0x65
,
0x63
,
0x6f
,
0x6d
,
0x70
,
0x69
,
0x6c
,
0x65
,
0x64
,
0x12
,
0x19
,
0x0a
,
0x08
,
0x6c
,
0x64
,
0x5f
,
0x66
,
0x6c
,
0x61
,
0x67
,
0x73
,
0x18
,
0x13
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x6c
,
0x64
,
0x46
,
0x6c
,
0x61
,
0x67
,
0x73
,
0x12
,
0x1b
,
0x0a
,
0x09
,
0x69
,
0x73
,
0x5f
,
0x6c
,
0x65
,
0x67
,
0x61
,
0x63
,
0x79
,
0x18
,
0x14
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x08
,
0x69
,
0x73
,
0x4c
,
0x65
,
0x67
,
0x61
,
0x63
,
0x79
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x15
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x6c
,
0x69
,
0x63
,
0x65
,
0x6e
,
0x73
,
0x65
,
0x18
,
0x16
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x6c
,
0x69
,
0x63
,
0x65
,
0x6e
,
0x73
,
0x65
,
0x12
,
0x50
,
0x0a
,
0x0a
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x65
,
0x72
,
0x74
,
0x69
,
0x65
,
0x73
,
0x18
,
0x17
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x30
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x2e
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x65
,
0x72
,
0x74
,
0x69
,
0x65
,
0x73
,
0x45
,
0x6e
,
0x74
,
0x72
,
0x79
,
0x52
,
0x0a
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x65
,
0x72
,
0x74
,
0x69
,
0x65
,
0x73
,
0x12
,
0x44
,
0x0a
,
0x08
,
0x6c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x18
,
0x20
,
0x01
,
0x28
,
0x0e
,
0x32
,
0x28
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x44
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x64
,
0x65
,
0x6e
,
0x63
,
0x79
,
0x52
,
0x0c
,
0x64
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x64
,
0x65
,
0x6e
,
0x63
,
0x69
,
0x65
,
0x73
,
0x22
,
0x56
,
0x0a
,
0x11
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x44
,
0x65
,
0x70
,
0x65
,
0x6e
,
0x64
,
0x65
,
0x6e
,
0x63
,
0x79
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x2d
,
0x0a
,
0x12
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x5f
,
0x63
,
0x6f
,
0x6e
,
0x73
,
0x74
,
0x72
,
0x61
,
0x69
,
0x6e
,
0x74
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x11
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x43
,
0x6f
,
0x6e
,
0x73
,
0x74
,
0x72
,
0x61
,
0x69
,
0x6e
,
0x74
,
0x22
,
0x9c
,
0x01
,
0x0a
,
0x10
,
0x44
,
0x6f
,
0x77
,
0x6e
,
0x6c
,
0x6f
,
0x61
,
0x64
,
0x52
,
0x65
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x12
,
0x28
,
0x0a
,
0x0f
,
0x61
,
0x72
,
0x63
,
0x68
,
0x69
,
0x76
,
0x65
,
0x66
,
0x69
,
0x6c
,
0x65
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0f
,
0x61
,
0x72
,
0x63
,
0x68
,
0x69
,
0x76
,
0x65
,
0x66
,
0x69
,
0x6c
,
0x65
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x63
,
0x68
,
0x65
,
0x63
,
0x6b
,
0x73
,
0x75
,
0x6d
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x63
,
0x68
,
0x65
,
0x63
,
0x6b
,
0x73
,
0x75
,
0x6d
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x73
,
0x69
,
0x7a
,
0x65
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x03
,
0x52
,
0x04
,
0x73
,
0x69
,
0x7a
,
0x65
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x63
,
0x61
,
0x63
,
0x68
,
0x65
,
0x70
,
0x61
,
0x74
,
0x68
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x09
,
0x63
,
0x61
,
0x63
,
0x68
,
0x65
,
0x70
,
0x61
,
0x74
,
0x68
,
0x22
,
0xa7
,
0x01
,
0x0a
,
0x0e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x71
,
0x12
,
0x3d
,
0x0a
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x21
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x52
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x61
,
0x6c
,
0x6c
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x03
,
0x61
,
0x6c
,
0x6c
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x75
,
0x70
,
0x64
,
0x61
,
0x74
,
0x61
,
0x62
,
0x6c
,
0x65
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x09
,
0x75
,
0x70
,
0x64
,
0x61
,
0x74
,
0x61
,
0x62
,
0x6c
,
0x65
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x66
,
0x71
,
0x62
,
0x6e
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x66
,
0x71
,
0x62
,
0x6e
,
0x22
,
0x69
,
0x0a
,
0x0f
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x4c
,
0x69
,
0x73
,
0x74
,
0x52
,
0x65
,
0x73
,
0x70
,
0x12
,
0x56
,
0x0a
,
0x11
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x65
,
0x64
,
0x5f
,
0x6c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x18
,
0x01
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x29
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x08
,
0x6c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x3e
,
0x0a
,
0x06
,
0x6c
,
0x61
,
0x79
,
0x6f
,
0x75
,
0x74
,
0x18
,
0x19
,
0x20
,
0x01
,
0x28
,
0x0e
,
0x32
,
0x26
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x4c
,
0x61
,
0x79
,
0x6f
,
0x75
,
0x74
,
0x52
,
0x06
,
0x6c
,
0x61
,
0x79
,
0x6f
,
0x75
,
0x74
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x65
,
0x78
,
0x61
,
0x6d
,
0x70
,
0x6c
,
0x65
,
0x73
,
0x18
,
0x1a
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x08
,
0x65
,
0x78
,
0x61
,
0x6d
,
0x70
,
0x6c
,
0x65
,
0x73
,
0x12
,
0x2b
,
0x0a
,
0x11
,
0x70
,
0x72
,
0x6f
,
0x76
,
0x69
,
0x64
,
0x65
,
0x73
,
0x5f
,
0x69
,
0x6e
,
0x63
,
0x6c
,
0x75
,
0x64
,
0x65
,
0x73
,
0x18
,
0x1b
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x10
,
0x70
,
0x72
,
0x6f
,
0x76
,
0x69
,
0x64
,
0x65
,
0x73
,
0x49
,
0x6e
,
0x63
,
0x6c
,
0x75
,
0x64
,
0x65
,
0x73
,
0x12
,
0x5d
,
0x0a
,
0x0f
,
0x63
,
0x6f
,
0x6d
,
0x70
,
0x61
,
0x74
,
0x69
,
0x62
,
0x6c
,
0x65
,
0x5f
,
0x77
,
0x69
,
0x74
,
0x68
,
0x18
,
0x1c
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x34
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x2e
,
0x43
,
0x6f
,
0x6d
,
0x70
,
0x61
,
0x74
,
0x69
,
0x62
,
0x6c
,
0x65
,
0x57
,
0x69
,
0x74
,
0x68
,
0x45
,
0x6e
,
0x74
,
0x72
,
0x79
,
0x52
,
0x0e
,
0x63
,
0x6f
,
0x6d
,
0x70
,
0x61
,
0x74
,
0x69
,
0x62
,
0x6c
,
0x65
,
0x57
,
0x69
,
0x74
,
0x68
,
0x1a
,
0x3d
,
0x0a
,
0x0f
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x65
,
0x72
,
0x74
,
0x69
,
0x65
,
0x73
,
0x45
,
0x6e
,
0x74
,
0x72
,
0x79
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x6b
,
0x65
,
0x79
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x6b
,
0x65
,
0x79
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x76
,
0x61
,
0x6c
,
0x75
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x05
,
0x76
,
0x61
,
0x6c
,
0x75
,
0x65
,
0x3a
,
0x02
,
0x38
,
0x01
,
0x1a
,
0x41
,
0x0a
,
0x13
,
0x43
,
0x6f
,
0x6d
,
0x70
,
0x61
,
0x74
,
0x69
,
0x62
,
0x6c
,
0x65
,
0x57
,
0x69
,
0x74
,
0x68
,
0x45
,
0x6e
,
0x74
,
0x72
,
0x79
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x6b
,
0x65
,
0x79
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x6b
,
0x65
,
0x79
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x76
,
0x61
,
0x6c
,
0x75
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x05
,
0x76
,
0x61
,
0x6c
,
0x75
,
0x65
,
0x3a
,
0x02
,
0x38
,
0x01
,
0x22
,
0x69
,
0x0a
,
0x14
,
0x5a
,
0x69
,
0x70
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x12
,
0x3d
,
0x0a
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x21
,
0x2e
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x65
,
0x64
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x52
,
0x10
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x65
,
0x64
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x22
,
0x91
,
0x01
,
0x0a
,
0x10
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x65
,
0x64
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x12
,
0x3a
,
0x0a
,
0x07
,
0x6c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x20
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x52
,
0x07
,
0x6c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x12
,
0x41
,
0x0a
,
0x07
,
0x72
,
0x65
,
0x6c
,
0x65
,
0x61
,
0x73
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x27
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x52
,
0x65
,
0x6c
,
0x65
,
0x61
,
0x73
,
0x65
,
0x52
,
0x07
,
0x72
,
0x65
,
0x6c
,
0x65
,
0x61
,
0x73
,
0x65
,
0x22
,
0xe2
,
0x08
,
0x0a
,
0x07
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x16
,
0x0a
,
0x06
,
0x61
,
0x75
,
0x74
,
0x68
,
0x6f
,
0x72
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x06
,
0x61
,
0x75
,
0x74
,
0x68
,
0x6f
,
0x72
,
0x12
,
0x1e
,
0x0a
,
0x0a
,
0x6d
,
0x61
,
0x69
,
0x6e
,
0x74
,
0x61
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x18
,
0x03
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x6d
,
0x61
,
0x69
,
0x6e
,
0x74
,
0x61
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x73
,
0x65
,
0x6e
,
0x74
,
0x65
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x04
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x73
,
0x65
,
0x6e
,
0x74
,
0x65
,
0x6e
,
0x63
,
0x65
,
0x12
,
0x1c
,
0x0a
,
0x09
,
0x70
,
0x61
,
0x72
,
0x61
,
0x67
,
0x72
,
0x61
,
0x70
,
0x68
,
0x18
,
0x05
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x09
,
0x70
,
0x61
,
0x72
,
0x61
,
0x67
,
0x72
,
0x61
,
0x70
,
0x68
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x77
,
0x65
,
0x62
,
0x73
,
0x69
,
0x74
,
0x65
,
0x18
,
0x06
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x77
,
0x65
,
0x62
,
0x73
,
0x69
,
0x74
,
0x65
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x63
,
0x61
,
0x74
,
0x65
,
0x67
,
0x6f
,
0x72
,
0x79
,
0x18
,
0x07
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x63
,
0x61
,
0x74
,
0x65
,
0x67
,
0x6f
,
0x72
,
0x79
,
0x12
,
0x24
,
0x0a
,
0x0d
,
0x61
,
0x72
,
0x63
,
0x68
,
0x69
,
0x74
,
0x65
,
0x63
,
0x74
,
0x75
,
0x72
,
0x65
,
0x73
,
0x18
,
0x08
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x0d
,
0x61
,
0x72
,
0x63
,
0x68
,
0x69
,
0x74
,
0x65
,
0x63
,
0x74
,
0x75
,
0x72
,
0x65
,
0x73
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x18
,
0x09
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x05
,
0x74
,
0x79
,
0x70
,
0x65
,
0x73
,
0x12
,
0x1f
,
0x0a
,
0x0b
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x5f
,
0x64
,
0x69
,
0x72
,
0x18
,
0x0a
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x44
,
0x69
,
0x72
,
0x12
,
0x1d
,
0x0a
,
0x0a
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x5f
,
0x64
,
0x69
,
0x72
,
0x18
,
0x0b
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x09
,
0x73
,
0x6f
,
0x75
,
0x72
,
0x63
,
0x65
,
0x44
,
0x69
,
0x72
,
0x12
,
0x1f
,
0x0a
,
0x0b
,
0x75
,
0x74
,
0x69
,
0x6c
,
0x69
,
0x74
,
0x79
,
0x5f
,
0x64
,
0x69
,
0x72
,
0x18
,
0x0c
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x0a
,
0x75
,
0x74
,
0x69
,
0x6c
,
0x69
,
0x74
,
0x79
,
0x44
,
0x69
,
0x72
,
0x12
,
0x2d
,
0x0a
,
0x12
,
0x63
,
0x6f
,
0x6e
,
0x74
,
0x61
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x5f
,
0x70
,
0x6c
,
0x61
,
0x74
,
0x66
,
0x6f
,
0x72
,
0x6d
,
0x18
,
0x0e
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x11
,
0x63
,
0x6f
,
0x6e
,
0x74
,
0x61
,
0x69
,
0x6e
,
0x65
,
0x72
,
0x50
,
0x6c
,
0x61
,
0x74
,
0x66
,
0x6f
,
0x72
,
0x6d
,
0x12
,
0x1b
,
0x0a
,
0x09
,
0x72
,
0x65
,
0x61
,
0x6c
,
0x5f
,
0x6e
,
0x61
,
0x6d
,
0x65
,
0x18
,
0x10
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x08
,
0x72
,
0x65
,
0x61
,
0x6c
,
0x4e
,
0x61
,
0x6d
,
0x65
,
0x12
,
0x22
,
0x0a
,
0x0d
,
0x64
,
0x6f
,
0x74
,
0x5f
,
0x61
,
0x5f
,
0x6c
,
0x69
,
0x6e
,
0x6b
,
0x61
,
0x67
,
0x65
,
0x18
,
0x11
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x0b
,
0x64
,
0x6f
,
0x74
,
0x41
,
0x4c
,
0x69
,
0x6e
,
0x6b
,
0x61
,
0x67
,
0x65
,
0x12
,
0x20
,
0x0a
,
0x0b
,
0x70
,
0x72
,
0x65
,
0x63
,
0x6f
,
0x6d
,
0x70
,
0x69
,
0x6c
,
0x65
,
0x64
,
0x18
,
0x12
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x0b
,
0x70
,
0x72
,
0x65
,
0x63
,
0x6f
,
0x6d
,
0x70
,
0x69
,
0x6c
,
0x65
,
0x64
,
0x12
,
0x19
,
0x0a
,
0x08
,
0x6c
,
0x64
,
0x5f
,
0x66
,
0x6c
,
0x61
,
0x67
,
0x73
,
0x18
,
0x13
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x6c
,
0x64
,
0x46
,
0x6c
,
0x61
,
0x67
,
0x73
,
0x12
,
0x1b
,
0x0a
,
0x09
,
0x69
,
0x73
,
0x5f
,
0x6c
,
0x65
,
0x67
,
0x61
,
0x63
,
0x79
,
0x18
,
0x14
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x08
,
0x69
,
0x73
,
0x4c
,
0x65
,
0x67
,
0x61
,
0x63
,
0x79
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x15
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x76
,
0x65
,
0x72
,
0x73
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x18
,
0x0a
,
0x07
,
0x6c
,
0x69
,
0x63
,
0x65
,
0x6e
,
0x73
,
0x65
,
0x18
,
0x16
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x07
,
0x6c
,
0x69
,
0x63
,
0x65
,
0x6e
,
0x73
,
0x65
,
0x12
,
0x50
,
0x0a
,
0x0a
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x65
,
0x72
,
0x74
,
0x69
,
0x65
,
0x73
,
0x18
,
0x17
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x30
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x52
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x50
,
0x61
,
0x74
,
0x68
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x50
,
0x61
,
0x74
,
0x68
,
0x22
,
0x63
,
0x0a
,
0x15
,
0x5a
,
0x69
,
0x70
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x73
,
0x70
,
0x12
,
0x4a
,
0x0a
,
0x0d
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x5f
,
0x70
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x25
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x54
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x52
,
0x0c
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x22
,
0x67
,
0x0a
,
0x14
,
0x47
,
0x69
,
0x74
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x12
,
0x3d
,
0x0a
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x21
,
0x2e
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x2e
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x65
,
0x72
,
0x74
,
0x69
,
0x65
,
0x73
,
0x45
,
0x6e
,
0x74
,
0x72
,
0x79
,
0x52
,
0x0a
,
0x70
,
0x72
,
0x6f
,
0x70
,
0x65
,
0x72
,
0x74
,
0x69
,
0x65
,
0x73
,
0x12
,
0x44
,
0x0a
,
0x08
,
0x6c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x18
,
0x18
,
0x20
,
0x01
,
0x28
,
0x0e
,
0x32
,
0x28
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x52
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x22
,
0x63
,
0x0a
,
0x15
,
0x47
,
0x69
,
0x74
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x73
,
0x70
,
0x12
,
0x4a
,
0x0a
,
0x0d
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x5f
,
0x70
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x25
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x54
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x52
,
0x0c
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x2a
,
0x2e
,
0x0a
,
0x13
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x53
,
0x65
,
0x61
,
0x72
,
0x63
,
0x68
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x0a
,
0x0a
,
0x06
,
0x66
,
0x61
,
0x69
,
0x6c
,
0x65
,
0x64
,
0x10
,
0x00
,
0x12
,
0x0b
,
0x0a
,
0x07
,
0x73
,
0x75
,
0x63
,
0x63
,
0x65
,
0x73
,
0x73
,
0x10
,
0x01
,
0x2a
,
0x36
,
0x0a
,
0x0d
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x4c
,
0x61
,
0x79
,
0x6f
,
0x75
,
0x74
,
0x12
,
0x0f
,
0x0a
,
0x0b
,
0x66
,
0x6c
,
0x61
,
0x74
,
0x5f
,
0x6c
,
0x61
,
0x79
,
0x6f
,
0x75
,
0x74
,
0x10
,
0x00
,
0x12
,
0x14
,
0x0a
,
0x10
,
0x72
,
0x65
,
0x63
,
0x75
,
0x72
,
0x73
,
0x69
,
0x76
,
0x65
,
0x5f
,
0x6c
,
0x61
,
0x79
,
0x6f
,
0x75
,
0x74
,
0x10
,
0x01
,
0x2a
,
0x63
,
0x0a
,
0x0f
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x0f
,
0x0a
,
0x0b
,
0x69
,
0x64
,
0x65
,
0x5f
,
0x62
,
0x75
,
0x69
,
0x6c
,
0x74
,
0x69
,
0x6e
,
0x10
,
0x00
,
0x12
,
0x08
,
0x0a
,
0x04
,
0x75
,
0x73
,
0x65
,
0x72
,
0x10
,
0x01
,
0x12
,
0x14
,
0x0a
,
0x10
,
0x70
,
0x6c
,
0x61
,
0x74
,
0x66
,
0x6f
,
0x72
,
0x6d
,
0x5f
,
0x62
,
0x75
,
0x69
,
0x6c
,
0x74
,
0x69
,
0x6e
,
0x10
,
0x02
,
0x12
,
0x1f
,
0x0a
,
0x1b
,
0x72
,
0x65
,
0x66
,
0x65
,
0x72
,
0x65
,
0x6e
,
0x63
,
0x65
,
0x64
,
0x5f
,
0x70
,
0x6c
,
0x61
,
0x74
,
0x66
,
0x6f
,
0x72
,
0x6d
,
0x5f
,
0x62
,
0x75
,
0x69
,
0x6c
,
0x74
,
0x69
,
0x6e
,
0x10
,
0x03
,
0x42
,
0x2d
,
0x5a
,
0x2b
,
0x67
,
0x69
,
0x74
,
0x68
,
0x75
,
0x62
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x2f
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2f
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2d
,
0x63
,
0x6c
,
0x69
,
0x2f
,
0x72
,
0x70
,
0x63
,
0x2f
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x52
,
0x08
,
0x6c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x3e
,
0x0a
,
0x06
,
0x6c
,
0x61
,
0x79
,
0x6f
,
0x75
,
0x74
,
0x18
,
0x19
,
0x20
,
0x01
,
0x28
,
0x0e
,
0x32
,
0x26
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x4c
,
0x61
,
0x79
,
0x6f
,
0x75
,
0x74
,
0x52
,
0x06
,
0x6c
,
0x61
,
0x79
,
0x6f
,
0x75
,
0x74
,
0x12
,
0x1a
,
0x0a
,
0x08
,
0x65
,
0x78
,
0x61
,
0x6d
,
0x70
,
0x6c
,
0x65
,
0x73
,
0x18
,
0x1a
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x08
,
0x65
,
0x78
,
0x61
,
0x6d
,
0x70
,
0x6c
,
0x65
,
0x73
,
0x12
,
0x2b
,
0x0a
,
0x11
,
0x70
,
0x72
,
0x6f
,
0x76
,
0x69
,
0x64
,
0x65
,
0x73
,
0x5f
,
0x69
,
0x6e
,
0x63
,
0x6c
,
0x75
,
0x64
,
0x65
,
0x73
,
0x18
,
0x1b
,
0x20
,
0x03
,
0x28
,
0x09
,
0x52
,
0x10
,
0x70
,
0x72
,
0x6f
,
0x76
,
0x69
,
0x64
,
0x65
,
0x73
,
0x49
,
0x6e
,
0x63
,
0x6c
,
0x75
,
0x64
,
0x65
,
0x73
,
0x12
,
0x5d
,
0x0a
,
0x0f
,
0x63
,
0x6f
,
0x6d
,
0x70
,
0x61
,
0x74
,
0x69
,
0x62
,
0x6c
,
0x65
,
0x5f
,
0x77
,
0x69
,
0x74
,
0x68
,
0x18
,
0x1c
,
0x20
,
0x03
,
0x28
,
0x0b
,
0x32
,
0x34
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x2e
,
0x43
,
0x6f
,
0x6d
,
0x70
,
0x61
,
0x74
,
0x69
,
0x62
,
0x6c
,
0x65
,
0x57
,
0x69
,
0x74
,
0x68
,
0x45
,
0x6e
,
0x74
,
0x72
,
0x79
,
0x52
,
0x0e
,
0x63
,
0x6f
,
0x6d
,
0x70
,
0x61
,
0x74
,
0x69
,
0x62
,
0x6c
,
0x65
,
0x57
,
0x69
,
0x74
,
0x68
,
0x1a
,
0x3d
,
0x0a
,
0x0f
,
0x50
,
0x72
,
0x6f
,
0x70
,
0x65
,
0x72
,
0x74
,
0x69
,
0x65
,
0x73
,
0x45
,
0x6e
,
0x74
,
0x72
,
0x79
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x6b
,
0x65
,
0x79
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x6b
,
0x65
,
0x79
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x76
,
0x61
,
0x6c
,
0x75
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x05
,
0x76
,
0x61
,
0x6c
,
0x75
,
0x65
,
0x3a
,
0x02
,
0x38
,
0x01
,
0x1a
,
0x41
,
0x0a
,
0x13
,
0x43
,
0x6f
,
0x6d
,
0x70
,
0x61
,
0x74
,
0x69
,
0x62
,
0x6c
,
0x65
,
0x57
,
0x69
,
0x74
,
0x68
,
0x45
,
0x6e
,
0x74
,
0x72
,
0x79
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x6b
,
0x65
,
0x79
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x6b
,
0x65
,
0x79
,
0x12
,
0x14
,
0x0a
,
0x05
,
0x76
,
0x61
,
0x6c
,
0x75
,
0x65
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x08
,
0x52
,
0x05
,
0x76
,
0x61
,
0x6c
,
0x75
,
0x65
,
0x3a
,
0x02
,
0x38
,
0x01
,
0x22
,
0x69
,
0x0a
,
0x14
,
0x5a
,
0x69
,
0x70
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x12
,
0x3d
,
0x0a
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x21
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x52
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x12
,
0x12
,
0x0a
,
0x04
,
0x50
,
0x61
,
0x74
,
0x68
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x04
,
0x50
,
0x61
,
0x74
,
0x68
,
0x22
,
0x63
,
0x0a
,
0x15
,
0x5a
,
0x69
,
0x70
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x73
,
0x70
,
0x12
,
0x4a
,
0x0a
,
0x0d
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x5f
,
0x70
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x25
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x54
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x52
,
0x0c
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x22
,
0x67
,
0x0a
,
0x14
,
0x47
,
0x69
,
0x74
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x71
,
0x12
,
0x3d
,
0x0a
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x21
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x52
,
0x08
,
0x69
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6e
,
0x63
,
0x65
,
0x12
,
0x10
,
0x0a
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x18
,
0x02
,
0x20
,
0x01
,
0x28
,
0x09
,
0x52
,
0x03
,
0x75
,
0x72
,
0x6c
,
0x22
,
0x63
,
0x0a
,
0x15
,
0x47
,
0x69
,
0x74
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x49
,
0x6e
,
0x73
,
0x74
,
0x61
,
0x6c
,
0x6c
,
0x52
,
0x65
,
0x73
,
0x70
,
0x12
,
0x4a
,
0x0a
,
0x0d
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x5f
,
0x70
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x18
,
0x01
,
0x20
,
0x01
,
0x28
,
0x0b
,
0x32
,
0x25
,
0x2e
,
0x63
,
0x63
,
0x2e
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2e
,
0x63
,
0x6c
,
0x69
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x2e
,
0x54
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x52
,
0x0c
,
0x74
,
0x61
,
0x73
,
0x6b
,
0x50
,
0x72
,
0x6f
,
0x67
,
0x72
,
0x65
,
0x73
,
0x73
,
0x2a
,
0x2e
,
0x0a
,
0x13
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x53
,
0x65
,
0x61
,
0x72
,
0x63
,
0x68
,
0x53
,
0x74
,
0x61
,
0x74
,
0x75
,
0x73
,
0x12
,
0x0a
,
0x0a
,
0x06
,
0x66
,
0x61
,
0x69
,
0x6c
,
0x65
,
0x64
,
0x10
,
0x00
,
0x12
,
0x0b
,
0x0a
,
0x07
,
0x73
,
0x75
,
0x63
,
0x63
,
0x65
,
0x73
,
0x73
,
0x10
,
0x01
,
0x2a
,
0x36
,
0x0a
,
0x0d
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x4c
,
0x61
,
0x79
,
0x6f
,
0x75
,
0x74
,
0x12
,
0x0f
,
0x0a
,
0x0b
,
0x66
,
0x6c
,
0x61
,
0x74
,
0x5f
,
0x6c
,
0x61
,
0x79
,
0x6f
,
0x75
,
0x74
,
0x10
,
0x00
,
0x12
,
0x14
,
0x0a
,
0x10
,
0x72
,
0x65
,
0x63
,
0x75
,
0x72
,
0x73
,
0x69
,
0x76
,
0x65
,
0x5f
,
0x6c
,
0x61
,
0x79
,
0x6f
,
0x75
,
0x74
,
0x10
,
0x01
,
0x2a
,
0x63
,
0x0a
,
0x0f
,
0x4c
,
0x69
,
0x62
,
0x72
,
0x61
,
0x72
,
0x79
,
0x4c
,
0x6f
,
0x63
,
0x61
,
0x74
,
0x69
,
0x6f
,
0x6e
,
0x12
,
0x0f
,
0x0a
,
0x0b
,
0x69
,
0x64
,
0x65
,
0x5f
,
0x62
,
0x75
,
0x69
,
0x6c
,
0x74
,
0x69
,
0x6e
,
0x10
,
0x00
,
0x12
,
0x08
,
0x0a
,
0x04
,
0x75
,
0x73
,
0x65
,
0x72
,
0x10
,
0x01
,
0x12
,
0x14
,
0x0a
,
0x10
,
0x70
,
0x6c
,
0x61
,
0x74
,
0x66
,
0x6f
,
0x72
,
0x6d
,
0x5f
,
0x62
,
0x75
,
0x69
,
0x6c
,
0x74
,
0x69
,
0x6e
,
0x10
,
0x02
,
0x12
,
0x1f
,
0x0a
,
0x1b
,
0x72
,
0x65
,
0x66
,
0x65
,
0x72
,
0x65
,
0x6e
,
0x63
,
0x65
,
0x64
,
0x5f
,
0x70
,
0x6c
,
0x61
,
0x74
,
0x66
,
0x6f
,
0x72
,
0x6d
,
0x5f
,
0x62
,
0x75
,
0x69
,
0x6c
,
0x74
,
0x69
,
0x6e
,
0x10
,
0x03
,
0x42
,
0x2d
,
0x5a
,
0x2b
,
0x67
,
0x69
,
0x74
,
0x68
,
0x75
,
0x62
,
0x2e
,
0x63
,
0x6f
,
0x6d
,
0x2f
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2f
,
0x61
,
0x72
,
0x64
,
0x75
,
0x69
,
0x6e
,
0x6f
,
0x2d
,
0x63
,
0x6c
,
0x69
,
0x2f
,
0x72
,
0x70
,
0x63
,
0x2f
,
0x63
,
0x6f
,
0x6d
,
0x6d
,
0x61
,
0x6e
,
0x64
,
0x73
,
0x62
,
0x06
,
0x70
,
0x72
,
0x6f
,
0x74
,
0x6f
,
0x33
,
}
var
(
...
...
rpc/commands/lib.proto
View file @
b8c9e896
...
...
@@ -42,6 +42,8 @@ message LibraryInstallReq {
string
name
=
2
;
// The version of the library to install.
string
version
=
3
;
// Set to true to skip installation of specified library's dependencies, defaults to false.
bool
noDeps
=
4
;
}
message
LibraryInstallResp
{
...
...
test/test_lib.py
View file @
b8c9e896
...
...
@@ -194,8 +194,55 @@ def test_install(run_command):
# Test failing-install of library with wrong dependency
# (https://github.com/arduino/arduino-cli/issues/534)
result
=
run_command
(
"lib install MD_Parola@3.2.0"
)
assert
"Error resolving dependencies for MD_Parola@3.2.0: dependency 'MD_MAX72xx' is not available"
in
result
.
stderr
res
=
run_command
(
"lib install MD_Parola@3.2.0"
)
assert
res
.
failed
assert
"Error resolving dependencies for MD_Parola@3.2.0: dependency 'MD_MAX72xx' is not available"
in
res
.
stderr
def
test_install_library_with_dependencies
(
run_command
):
assert
run_command
(
"update"
)
# Verifies libraries are not installed
res
=
run_command
(
"lib list --format json"
)
assert
res
.
ok
data
=
json
.
loads
(
res
.
stdout
)
installed_libraries
=
[
l
[
"library"
][
"name"
]
for
l
in
data
]
assert
"MD_Parola"
not
in
installed_libraries
assert
"MD_MAX72XX"
not
in
installed_libraries
# Install library
assert
run_command
(
"lib install MD_Parola@3.5.5"
)
# Verifies library's dependencies are correctly installed
res
=
run_command
(
"lib list --format json"
)
assert
res
.
ok
data
=
json
.
loads
(
res
.
stdout
)
installed_libraries
=
[
l
[
"library"
][
"name"
]
for
l
in
data
]
assert
"MD_Parola"
in
installed_libraries
assert
"MD_MAX72XX"
in
installed_libraries
def
test_install_no_deps
(
run_command
):
assert
run_command
(
"update"
)
# Verifies libraries are not installed
res
=
run_command
(
"lib list --format json"
)
assert
res
.
ok
data
=
json
.
loads
(
res
.
stdout
)
installed_libraries
=
[
l
[
"library"
][
"name"
]
for
l
in
data
]
assert
"MD_Parola"
not
in
installed_libraries
assert
"MD_MAX72XX"
not
in
installed_libraries
# Install library skipping dependencies installation
assert
run_command
(
"lib install MD_Parola@3.5.5 --no-deps"
)
# Verifies library's dependencies are not installed
res
=
run_command
(
"lib list --format json"
)
assert
res
.
ok
data
=
json
.
loads
(
res
.
stdout
)
installed_libraries
=
[
l
[
"library"
][
"name"
]
for
l
in
data
]
assert
"MD_Parola"
in
installed_libraries
assert
"MD_MAX72XX"
not
in
installed_libraries
def
test_install_git_url_and_zip_path_flags_visibility
(
run_command
,
data_dir
,
downloads_dir
):
...
...
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