Update data values from byte arrays to strings in proto definition (#3829)

* Update data values from byte arrays to strings in proto definition

* Update comments
This commit is contained in:
Brian Kassouf 2018-01-22 17:56:34 -08:00 committed by GitHub
parent 524ec14f9d
commit b597e14f01
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 165 additions and 165 deletions

View file

@ -91,7 +91,7 @@ func (s *gRPCSystemViewClient) ResponseWrapData(ctx context.Context, data map[st
} }
reply, err := s.client.ResponseWrapData(ctx, &pb.ResponseWrapDataArgs{ reply, err := s.client.ResponseWrapData(ctx, &pb.ResponseWrapDataArgs{
Data: buf, Data: string(buf[:]),
TTL: int64(ttl), TTL: int64(ttl),
JWT: false, JWT: false,
}) })
@ -171,7 +171,7 @@ func (s *gRPCSystemViewServer) ReplicationState(ctx context.Context, _ *pb.Empty
func (s *gRPCSystemViewServer) ResponseWrapData(ctx context.Context, args *pb.ResponseWrapDataArgs) (*pb.ResponseWrapDataReply, error) { func (s *gRPCSystemViewServer) ResponseWrapData(ctx context.Context, args *pb.ResponseWrapDataArgs) (*pb.ResponseWrapDataReply, error) {
data := map[string]interface{}{} data := map[string]interface{}{}
err := json.Unmarshal(args.Data, &data) err := json.Unmarshal([]byte(args.Data), &data)
if err != nil { if err != nil {
return &pb.ResponseWrapDataReply{}, err return &pb.ResponseWrapDataReply{}, err
} }

View file

@ -188,8 +188,8 @@ type Request struct {
// and the AWS logical backend is mounted at "prod/aws/", then the // and the AWS logical backend is mounted at "prod/aws/", then the
// final path is "foo" since the mount prefix is trimmed. // final path is "foo" since the mount prefix is trimmed.
Path string `sentinel:"" protobuf:"bytes,4,opt,name=path" json:"path,omitempty"` Path string `sentinel:"" protobuf:"bytes,4,opt,name=path" json:"path,omitempty"`
// Request data is an opaque map that must have string keys. // Request data is a json object that must have keys with string type.
Data []byte `sentinel:"" protobuf:"bytes,5,opt,name=data,proto3" json:"data,omitempty"` Data string `sentinel:"" protobuf:"bytes,5,opt,name=data" json:"data,omitempty"`
// Secret will be non-nil only for Revoke and Renew operations // Secret will be non-nil only for Revoke and Renew operations
// to represent the secret that was returned prior. // to represent the secret that was returned prior.
Secret *Secret `sentinel:"" protobuf:"bytes,6,opt,name=secret" json:"secret,omitempty"` Secret *Secret `sentinel:"" protobuf:"bytes,6,opt,name=secret" json:"secret,omitempty"`
@ -273,11 +273,11 @@ func (m *Request) GetPath() string {
return "" return ""
} }
func (m *Request) GetData() []byte { func (m *Request) GetData() string {
if m != nil { if m != nil {
return m.Data return m.Data
} }
return nil return ""
} }
func (m *Request) GetSecret() *Secret { func (m *Request) GetSecret() *Secret {
@ -419,7 +419,7 @@ type Auth struct {
// InternalData is JSON-encodable data that is stored with the auth struct. // InternalData is JSON-encodable data that is stored with the auth struct.
// This will be sent back during a Renew/Revoke for storing internal data // This will be sent back during a Renew/Revoke for storing internal data
// used for those operations. // used for those operations.
InternalData []byte `sentinel:"" protobuf:"bytes,2,opt,name=internal_data,json=internalData,proto3" json:"internal_data,omitempty"` InternalData string `sentinel:"" protobuf:"bytes,2,opt,name=internal_data,json=internalData" json:"internal_data,omitempty"`
// DisplayName is a non-security sensitive identifier that is // DisplayName is a non-security sensitive identifier that is
// applicable to this Auth. It is used for logging and prefixing // applicable to this Auth. It is used for logging and prefixing
// of dynamic secrets. For example, DisplayName may be "armon" for // of dynamic secrets. For example, DisplayName may be "armon" for
@ -475,11 +475,11 @@ func (m *Auth) GetLeaseOptions() *LeaseOptions {
return nil return nil
} }
func (m *Auth) GetInternalData() []byte { func (m *Auth) GetInternalData() string {
if m != nil { if m != nil {
return m.InternalData return m.InternalData
} }
return nil return ""
} }
func (m *Auth) GetDisplayName() string { func (m *Auth) GetDisplayName() string {
@ -594,10 +594,10 @@ func (m *LeaseOptions) GetIssueTime() *google_protobuf.Timestamp {
type Secret struct { type Secret struct {
LeaseOptions *LeaseOptions `sentinel:"" protobuf:"bytes,1,opt,name=lease_options,json=leaseOptions" json:"lease_options,omitempty"` LeaseOptions *LeaseOptions `sentinel:"" protobuf:"bytes,1,opt,name=lease_options,json=leaseOptions" json:"lease_options,omitempty"`
// InternalData is JSON-encodable data that is stored with the secret. // InternalData is JSON objext that is stored with the secret.
// This will be sent back during a Renew/Revoke for storing internal data // This will be sent back during a Renew/Revoke for storing internal data
// used for those operations. // used for those operations.
InternalData []byte `sentinel:"" protobuf:"bytes,2,opt,name=internal_data,json=internalData,proto3" json:"internal_data,omitempty"` InternalData string `sentinel:"" protobuf:"bytes,2,opt,name=internal_data,json=internalData" json:"internal_data,omitempty"`
// LeaseID is the ID returned to the user to manage this secret. // LeaseID is the ID returned to the user to manage this secret.
// This is generated by Vault core. Any set value will be ignored. // This is generated by Vault core. Any set value will be ignored.
// For requests, this will always be blank. // For requests, this will always be blank.
@ -616,11 +616,11 @@ func (m *Secret) GetLeaseOptions() *LeaseOptions {
return nil return nil
} }
func (m *Secret) GetInternalData() []byte { func (m *Secret) GetInternalData() string {
if m != nil { if m != nil {
return m.InternalData return m.InternalData
} }
return nil return ""
} }
func (m *Secret) GetLeaseID() string { func (m *Secret) GetLeaseID() string {
@ -637,11 +637,11 @@ type Response struct {
// this response. This is only checked and means something for // this response. This is only checked and means something for
// credential backends. // credential backends.
Auth *Auth `sentinel:"" protobuf:"bytes,2,opt,name=auth" json:"auth,omitempty"` Auth *Auth `sentinel:"" protobuf:"bytes,2,opt,name=auth" json:"auth,omitempty"`
// Response data is an opaque map that must have string keys. For // Response data is JSON object that must have string keys. For
// secrets, this data is sent down to the user as-is. To store internal // secrets, this data is sent down to the user as-is. To store internal
// data that you don't want the user to see, store it in // data that you don't want the user to see, store it in
// Secret.InternalData. // Secret.InternalData.
Data []byte `sentinel:"" protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` Data string `sentinel:"" protobuf:"bytes,3,opt,name=data" json:"data,omitempty"`
// Redirect is an HTTP URL to redirect to for further authentication. // Redirect is an HTTP URL to redirect to for further authentication.
// This is only valid for credential backends. This will be blanked // This is only valid for credential backends. This will be blanked
// for any logical backend and ignored. // for any logical backend and ignored.
@ -672,11 +672,11 @@ func (m *Response) GetAuth() *Auth {
return nil return nil
} }
func (m *Response) GetData() []byte { func (m *Response) GetData() string {
if m != nil { if m != nil {
return m.Data return m.Data
} }
return nil return ""
} }
func (m *Response) GetRedirect() string { func (m *Response) GetRedirect() string {
@ -1313,7 +1313,7 @@ func (m *ReplicationStateReply) GetState() int32 {
} }
type ResponseWrapDataArgs struct { type ResponseWrapDataArgs struct {
Data []byte `sentinel:"" protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` Data string `sentinel:"" protobuf:"bytes,1,opt,name=data" json:"data,omitempty"`
TTL int64 `sentinel:"" protobuf:"varint,2,opt,name=TTL" json:"TTL,omitempty"` TTL int64 `sentinel:"" protobuf:"varint,2,opt,name=TTL" json:"TTL,omitempty"`
JWT bool `sentinel:"" protobuf:"varint,3,opt,name=JWT" json:"JWT,omitempty"` JWT bool `sentinel:"" protobuf:"varint,3,opt,name=JWT" json:"JWT,omitempty"`
} }
@ -1323,11 +1323,11 @@ func (m *ResponseWrapDataArgs) String() string { return proto.Compact
func (*ResponseWrapDataArgs) ProtoMessage() {} func (*ResponseWrapDataArgs) ProtoMessage() {}
func (*ResponseWrapDataArgs) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} } func (*ResponseWrapDataArgs) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{36} }
func (m *ResponseWrapDataArgs) GetData() []byte { func (m *ResponseWrapDataArgs) GetData() string {
if m != nil { if m != nil {
return m.Data return m.Data
} }
return nil return ""
} }
func (m *ResponseWrapDataArgs) GetTTL() int64 { func (m *ResponseWrapDataArgs) GetTTL() int64 {
@ -2190,132 +2190,132 @@ var _SystemView_serviceDesc = grpc.ServiceDesc{
func init() { proto.RegisterFile("logical/plugin/pb/backend.proto", fileDescriptor0) } func init() { proto.RegisterFile("logical/plugin/pb/backend.proto", fileDescriptor0) }
var fileDescriptor0 = []byte{ var fileDescriptor0 = []byte{
// 2030 bytes of a gzipped FileDescriptorProto // 2025 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0xef, 0x6e, 0xdb, 0xc8, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x58, 0xef, 0x6e, 0xe3, 0xc6,
0x11, 0x87, 0x24, 0x4b, 0xa2, 0x46, 0x92, 0xff, 0x6c, 0x7c, 0x29, 0xa3, 0xe4, 0x6a, 0x95, 0x87, 0x11, 0x87, 0x24, 0x4b, 0xa2, 0x46, 0x92, 0xff, 0xac, 0x9d, 0x2b, 0xad, 0xbb, 0xd4, 0x2a, 0x83,
0xb8, 0xba, 0x00, 0x27, 0x27, 0xea, 0xbf, 0x5c, 0x8b, 0xbb, 0xc2, 0x75, 0x7c, 0x39, 0xf7, 0x92, 0x73, 0x95, 0x03, 0x22, 0xdf, 0xa9, 0xff, 0x2e, 0x2d, 0x92, 0xc2, 0xf5, 0x39, 0x17, 0x37, 0x77,
0x3b, 0x83, 0x76, 0x7b, 0x2d, 0x5a, 0x40, 0xb7, 0x16, 0xc7, 0x32, 0x61, 0x8a, 0x64, 0x97, 0x4b, 0x89, 0x41, 0xab, 0x4d, 0x8b, 0x16, 0x50, 0xd6, 0xe4, 0x58, 0x5e, 0x98, 0x22, 0xd9, 0xe5, 0xd2,
0x3b, 0xea, 0x97, 0x3e, 0x42, 0x81, 0x7e, 0xb8, 0x3e, 0x49, 0xdf, 0xa1, 0x40, 0x3f, 0xf7, 0x45, 0x3e, 0xf5, 0x4b, 0x1f, 0xa1, 0x40, 0x3f, 0xa4, 0x4f, 0xd2, 0x77, 0x28, 0xd0, 0xcf, 0x7d, 0x91,
0xfa, 0x04, 0xc5, 0xce, 0x2e, 0x29, 0x52, 0x92, 0x9b, 0x14, 0x68, 0xbf, 0xed, 0xfc, 0xd9, 0x99, 0x3e, 0x41, 0xb1, 0x7f, 0x48, 0x91, 0x92, 0xdc, 0xbb, 0x02, 0xed, 0xb7, 0x9d, 0x3f, 0x3b, 0x33,
0xd9, 0xd9, 0x99, 0xdf, 0x2c, 0x09, 0x7b, 0x41, 0x34, 0xf5, 0x27, 0x3c, 0x38, 0x88, 0x83, 0x74, 0x3b, 0x3b, 0xf3, 0x9b, 0x25, 0xe1, 0x20, 0x88, 0xa6, 0xcc, 0xa3, 0xc1, 0x51, 0x1c, 0xa4, 0x53,
0xea, 0x87, 0x07, 0xf1, 0xc5, 0xc1, 0x05, 0x9f, 0x5c, 0x63, 0xe8, 0x0d, 0x63, 0x11, 0xc9, 0x88, 0x16, 0x1e, 0xc5, 0x97, 0x47, 0x97, 0xd4, 0xbb, 0xc1, 0xd0, 0x1f, 0xc6, 0x3c, 0x12, 0x11, 0xa9,
0x55, 0xe3, 0x8b, 0xde, 0xde, 0x34, 0x8a, 0xa6, 0x01, 0x1e, 0x10, 0xe7, 0x22, 0xbd, 0x3c, 0x90, 0xc6, 0x97, 0xbd, 0x83, 0x69, 0x14, 0x4d, 0x03, 0x3c, 0x52, 0x9c, 0xcb, 0xf4, 0xea, 0x48, 0xb0,
0xfe, 0x0c, 0x13, 0xc9, 0x67, 0xb1, 0x56, 0x72, 0x9a, 0x50, 0x3f, 0x9e, 0xc5, 0x72, 0xee, 0xf4, 0x19, 0x26, 0x82, 0xce, 0x62, 0xad, 0xe4, 0x34, 0xa1, 0x7e, 0x3a, 0x8b, 0xc5, 0xdc, 0xe9, 0x43,
0xa1, 0xf1, 0x39, 0x72, 0x0f, 0x05, 0xbb, 0x0f, 0x8d, 0x2b, 0x5a, 0xd9, 0x95, 0x7e, 0x6d, 0xd0, 0xe3, 0x73, 0xa4, 0x3e, 0x72, 0xf2, 0x00, 0x1a, 0xd7, 0x6a, 0x65, 0x57, 0xfa, 0xb5, 0x41, 0xcb,
0x72, 0x0d, 0xe5, 0xfc, 0x0e, 0xe0, 0x54, 0xed, 0x39, 0x16, 0x22, 0x12, 0xec, 0x01, 0x58, 0x28, 0x35, 0x94, 0xf3, 0x3b, 0x80, 0x73, 0xb9, 0xe7, 0x94, 0xf3, 0x88, 0x93, 0x7d, 0xb0, 0x90, 0xf3,
0xc4, 0x58, 0xce, 0x63, 0xb4, 0x2b, 0xfd, 0xca, 0xa0, 0xeb, 0x36, 0x51, 0x88, 0xf3, 0x79, 0x8c, 0x89, 0x98, 0xc7, 0x68, 0x57, 0xfa, 0x95, 0x41, 0xd7, 0x6d, 0x22, 0xe7, 0xe3, 0x79, 0x8c, 0xe4,
0xec, 0x3b, 0xa0, 0x96, 0xe3, 0x59, 0x32, 0xb5, 0xab, 0xfd, 0x8a, 0xb2, 0x80, 0x42, 0xbc, 0x4e, 0x3b, 0x20, 0x97, 0x93, 0x59, 0x32, 0xb5, 0xab, 0xfd, 0x8a, 0xb4, 0x80, 0x9c, 0xbf, 0x4e, 0xa6,
0xa6, 0xd9, 0x9e, 0x49, 0xe4, 0xa1, 0x5d, 0xeb, 0x57, 0x06, 0x35, 0xda, 0x73, 0x14, 0x79, 0xe8, 0xd9, 0x1e, 0x2f, 0xf2, 0xd1, 0xae, 0xf5, 0x2b, 0x83, 0x9a, 0xda, 0x73, 0x12, 0xf9, 0xe8, 0x7c,
0x7c, 0x5b, 0x81, 0xfa, 0x29, 0x97, 0x57, 0x09, 0x63, 0xb0, 0x21, 0xa2, 0x48, 0x1a, 0xe7, 0xb4, 0x5b, 0x81, 0xfa, 0x39, 0x15, 0xd7, 0x09, 0x21, 0xb0, 0xc1, 0xa3, 0x48, 0x18, 0xe7, 0x6a, 0x4d,
0x66, 0x03, 0xd8, 0x4a, 0x43, 0x9e, 0xca, 0x2b, 0x0c, 0xa5, 0x3f, 0xe1, 0x12, 0x3d, 0xbb, 0x4a, 0x06, 0xb0, 0x95, 0x86, 0x34, 0x15, 0xd7, 0x18, 0x0a, 0xe6, 0x51, 0x81, 0xbe, 0x5d, 0x55, 0xe2,
0xe2, 0x65, 0x36, 0xfb, 0x00, 0xba, 0x41, 0x34, 0xe1, 0xc1, 0x38, 0x91, 0x91, 0xe0, 0x53, 0xe5, 0x65, 0x36, 0xf9, 0x00, 0xba, 0x41, 0xe4, 0xd1, 0x60, 0x92, 0x88, 0x88, 0xd3, 0xa9, 0xf4, 0x23,
0x47, 0xe9, 0x75, 0x88, 0x79, 0xa6, 0x79, 0xec, 0x09, 0xec, 0x24, 0xc8, 0x83, 0xf1, 0xad, 0xe0, 0xf5, 0x3a, 0x8a, 0x79, 0xa1, 0x79, 0xe4, 0x09, 0xec, 0x24, 0x48, 0x83, 0xc9, 0x1d, 0xa7, 0x71,
0x71, 0xae, 0xb8, 0xa1, 0x0d, 0x2a, 0xc1, 0xd7, 0x82, 0xc7, 0x46, 0xd7, 0xf9, 0x73, 0x03, 0x9a, 0xae, 0xb8, 0xa1, 0x0d, 0x4a, 0xc1, 0xd7, 0x9c, 0xc6, 0x46, 0xd7, 0xf9, 0x73, 0x03, 0x9a, 0x2e,
0x2e, 0xfe, 0x21, 0xc5, 0x44, 0xb2, 0x4d, 0xa8, 0xfa, 0x1e, 0x9d, 0xb6, 0xe5, 0x56, 0x7d, 0x8f, 0xfe, 0x21, 0xc5, 0x44, 0x90, 0x4d, 0xa8, 0x32, 0x5f, 0x9d, 0xb6, 0xe5, 0x56, 0x99, 0x4f, 0x86,
0x0d, 0x81, 0xb9, 0x18, 0x07, 0xca, 0xb5, 0x1f, 0x85, 0x47, 0x41, 0x9a, 0x48, 0x14, 0xe6, 0xcc, 0x40, 0x5c, 0x8c, 0x03, 0xe9, 0x9a, 0x45, 0xe1, 0x49, 0x90, 0x26, 0x02, 0xb9, 0x39, 0xf3, 0x1a,
0x6b, 0x24, 0xec, 0x11, 0xb4, 0xa2, 0x18, 0x05, 0xf1, 0x28, 0x01, 0x2d, 0x77, 0xc1, 0x50, 0x07, 0x09, 0x79, 0x04, 0xad, 0x28, 0x46, 0xae, 0x78, 0x2a, 0x01, 0x2d, 0x77, 0xc1, 0x90, 0x07, 0x8f,
0x8f, 0xb9, 0xbc, 0xb2, 0x37, 0x48, 0x40, 0x6b, 0xc5, 0xf3, 0xb8, 0xe4, 0x76, 0xbd, 0x5f, 0x19, 0xa9, 0xb8, 0xb6, 0x37, 0x94, 0x40, 0xad, 0x25, 0xcf, 0xa7, 0x82, 0xda, 0x75, 0xcd, 0x93, 0x6b,
0x74, 0x5c, 0x5a, 0x33, 0x07, 0x1a, 0x09, 0x4e, 0x04, 0x4a, 0xbb, 0xd1, 0xaf, 0x0c, 0xda, 0x23, 0xe2, 0x40, 0x23, 0x41, 0x8f, 0xa3, 0xb0, 0x1b, 0xfd, 0xca, 0xa0, 0x3d, 0x82, 0x61, 0x7c, 0x39,
0x18, 0xc6, 0x17, 0xc3, 0x33, 0xe2, 0xb8, 0x46, 0xc2, 0x1e, 0xc1, 0x86, 0xca, 0x8b, 0xdd, 0x24, 0xbc, 0x50, 0x1c, 0xd7, 0x48, 0xc8, 0x23, 0xd8, 0x90, 0x79, 0xb1, 0x9b, 0x4a, 0xc3, 0x92, 0x1a,
0x0d, 0x4b, 0x69, 0x1c, 0xa6, 0xf2, 0xca, 0x25, 0x2e, 0x1b, 0x41, 0x53, 0xdf, 0x69, 0x62, 0x5b, 0xc7, 0xa9, 0xb8, 0x76, 0x15, 0x97, 0x8c, 0xa0, 0xa9, 0xef, 0x34, 0xb1, 0xad, 0x7e, 0x6d, 0xd0,
0xfd, 0xda, 0xa0, 0x3d, 0xb2, 0x95, 0x82, 0x39, 0xe5, 0x50, 0x97, 0x41, 0x72, 0x1c, 0x4a, 0x31, 0x1e, 0xd9, 0x52, 0xc1, 0x9c, 0x72, 0xa8, 0xcb, 0x20, 0x39, 0x0d, 0x05, 0x9f, 0xbb, 0x99, 0x22,
0x77, 0x33, 0x45, 0xf6, 0x3d, 0xe8, 0x4c, 0x02, 0x1f, 0x43, 0x39, 0x96, 0xd1, 0x35, 0x86, 0x76, 0xf9, 0x1e, 0x74, 0xbc, 0x80, 0x61, 0x28, 0x26, 0x22, 0xba, 0xc1, 0xd0, 0x6e, 0xa9, 0x88, 0xda,
0x8b, 0xa2, 0x6c, 0x6b, 0xde, 0xb9, 0x62, 0xb1, 0x11, 0xbc, 0x57, 0x54, 0x19, 0xf3, 0xc9, 0x04, 0x9a, 0x37, 0x96, 0x2c, 0x32, 0x82, 0xf7, 0x8a, 0x2a, 0x13, 0xea, 0x79, 0x98, 0x24, 0x11, 0xb7,
0x93, 0x24, 0x12, 0x36, 0x90, 0xee, 0xbd, 0x82, 0xee, 0xa1, 0x11, 0x29, 0xb3, 0x9e, 0x9f, 0xc4, 0x41, 0xe9, 0xee, 0x16, 0x74, 0x8f, 0x8d, 0x48, 0x9a, 0xf5, 0x59, 0x12, 0x07, 0x74, 0x3e, 0x09,
0x01, 0x9f, 0x8f, 0x43, 0x3e, 0x43, 0xbb, 0xad, 0xcd, 0x1a, 0xde, 0x97, 0x7c, 0x86, 0x6c, 0x0f, 0xe9, 0x0c, 0xed, 0xb6, 0x36, 0x6b, 0x78, 0x5f, 0xd2, 0x19, 0x92, 0x03, 0x68, 0xcf, 0xa2, 0x34,
0xda, 0xb3, 0x28, 0x0d, 0xe5, 0x38, 0x8e, 0xfc, 0x50, 0xda, 0x1d, 0xd2, 0x00, 0x62, 0x9d, 0x2a, 0x14, 0x93, 0x38, 0x62, 0xa1, 0xb0, 0x3b, 0x4a, 0x03, 0x14, 0xeb, 0x5c, 0x72, 0xc8, 0xfb, 0xa0,
0x0e, 0x7b, 0x1f, 0x34, 0xa5, 0x8b, 0xb1, 0xab, 0xf3, 0x4a, 0x1c, 0x2a, 0xc7, 0xc7, 0xb0, 0xa9, 0x29, 0x5d, 0x8c, 0x5d, 0x9d, 0x57, 0xc5, 0x51, 0xe5, 0xf8, 0x18, 0x36, 0xb5, 0x38, 0x8f, 0x67,
0xc5, 0x79, 0x3c, 0x9b, 0xa4, 0xd2, 0x25, 0x6e, 0x1e, 0xc9, 0x53, 0x68, 0x51, 0x3d, 0xf8, 0xe1, 0x53, 0xa9, 0x74, 0x15, 0x37, 0x8f, 0xe4, 0x29, 0xb4, 0x54, 0x3d, 0xb0, 0xf0, 0x2a, 0xb2, 0xb7,
0x65, 0x64, 0x6f, 0x51, 0xde, 0xee, 0x15, 0xd2, 0xa2, 0x6a, 0xe2, 0x24, 0xbc, 0x8c, 0x5c, 0xeb, 0x54, 0xde, 0x76, 0x0b, 0x69, 0x91, 0x35, 0x71, 0x16, 0x5e, 0x45, 0xae, 0x75, 0x67, 0x56, 0xe4,
0xd6, 0xac, 0xd8, 0x27, 0xf0, 0xb0, 0x74, 0x5e, 0x81, 0x33, 0xee, 0x87, 0x7e, 0x38, 0x1d, 0xa7, 0x13, 0x78, 0x58, 0x3a, 0x2f, 0xc7, 0x19, 0x65, 0x21, 0x0b, 0xa7, 0x93, 0x34, 0xc1, 0xc4, 0xde,
0x09, 0x26, 0xf6, 0x36, 0x55, 0xb8, 0x5d, 0x38, 0xb5, 0x9b, 0x29, 0xfc, 0x2a, 0xc1, 0x84, 0x3d, 0x56, 0x15, 0x6e, 0x17, 0x4e, 0xed, 0x66, 0x0a, 0xbf, 0x4a, 0x30, 0x21, 0x0f, 0xa1, 0x25, 0xeb,
0x84, 0x96, 0xaa, 0x5b, 0x39, 0x1f, 0xfb, 0x9e, 0xbd, 0x43, 0x21, 0x59, 0x9a, 0x71, 0xe2, 0xb1, 0x56, 0xcc, 0x27, 0xcc, 0xb7, 0x77, 0x54, 0x48, 0x96, 0x66, 0x9c, 0xf9, 0xe4, 0xfb, 0xb0, 0x15,
0xef, 0xc3, 0x56, 0x1c, 0x05, 0xfe, 0x64, 0x3e, 0x8e, 0x6e, 0x50, 0x08, 0xdf, 0x43, 0x9b, 0xf5, 0x47, 0x01, 0xf3, 0xe6, 0x93, 0xe8, 0x16, 0x39, 0x67, 0x3e, 0xda, 0xa4, 0x5f, 0x19, 0x58, 0xee,
0x2b, 0x03, 0xcb, 0xdd, 0xd4, 0xec, 0xaf, 0x0c, 0x77, 0x5d, 0x6b, 0xdc, 0x23, 0xc5, 0x65, 0x76, 0xa6, 0x66, 0x7f, 0x65, 0xb8, 0xeb, 0x5a, 0x63, 0x57, 0x29, 0x2e, 0xb3, 0x7b, 0x9f, 0x41, 0xa7,
0xef, 0x33, 0xe8, 0x14, 0xaf, 0x96, 0x6d, 0x43, 0xed, 0x1a, 0xe7, 0xa6, 0x9c, 0xd5, 0x92, 0xf5, 0x78, 0xb5, 0x64, 0x1b, 0x6a, 0x37, 0x38, 0x37, 0xe5, 0x2c, 0x97, 0xa4, 0x0f, 0xf5, 0x5b, 0x1a,
0xa1, 0x7e, 0xc3, 0x83, 0x14, 0xa9, 0x84, 0x4d, 0x61, 0xe9, 0x2d, 0xae, 0x16, 0xfc, 0xb4, 0xfa, 0xa4, 0xa8, 0x4a, 0xd8, 0x14, 0x96, 0xde, 0xe2, 0x6a, 0xc1, 0x4f, 0xab, 0xcf, 0x2b, 0x0e, 0x85,
0xbc, 0xe2, 0x70, 0xa8, 0x1f, 0x06, 0x3e, 0x4f, 0x96, 0xf2, 0x5e, 0x79, 0x7b, 0xde, 0xab, 0xeb, 0xfa, 0x71, 0xc0, 0x68, 0xb2, 0x94, 0xf7, 0xca, 0xdb, 0xf3, 0x5e, 0x5d, 0x97, 0x77, 0x02, 0x1b,
0xf2, 0xce, 0x60, 0x83, 0x6e, 0x5e, 0xf7, 0x03, 0xad, 0x9d, 0x7f, 0xd5, 0x60, 0x43, 0xd5, 0x2b, 0xea, 0xe6, 0x75, 0x3f, 0xa8, 0xb5, 0xf3, 0xaf, 0x1a, 0x6c, 0xc8, 0x7a, 0x25, 0x3f, 0x82, 0x6e,
0xfb, 0x11, 0x74, 0x03, 0xe4, 0x09, 0x8e, 0xa3, 0x58, 0xf5, 0x48, 0x42, 0x5e, 0xda, 0xa3, 0x6d, 0x80, 0x34, 0xc1, 0x49, 0x14, 0xcb, 0x1e, 0x49, 0x94, 0x97, 0xf6, 0x68, 0x5b, 0x46, 0xf6, 0x4a,
0x15, 0xd9, 0x2b, 0x25, 0xf8, 0x4a, 0xf3, 0xdd, 0x4e, 0x50, 0xa0, 0x14, 0x0a, 0xf8, 0xa1, 0x44, 0x0a, 0xbe, 0xd2, 0x7c, 0xb7, 0x13, 0x14, 0x28, 0x89, 0x02, 0x2c, 0x14, 0xc8, 0x43, 0x1a, 0x4c,
0x11, 0xf2, 0x60, 0x4c, 0xfd, 0x53, 0xa5, 0xfe, 0xe9, 0x64, 0xcc, 0x17, 0xaa, 0x8f, 0x96, 0x4b, 0x54, 0xff, 0x68, 0xcf, 0x9d, 0x8c, 0xf9, 0x42, 0xf6, 0xd1, 0x72, 0xe9, 0xd5, 0x56, 0x4b, 0xaf,
0xaf, 0xb6, 0x5a, 0x7a, 0x3d, 0xb0, 0x28, 0xdd, 0x3e, 0x26, 0x06, 0x1f, 0x72, 0x9a, 0x8d, 0xc0, 0x07, 0x96, 0x4a, 0x37, 0xc3, 0xc4, 0xe0, 0x43, 0x4e, 0x93, 0x11, 0x58, 0x33, 0x14, 0xd4, 0xb4,
0x9a, 0xa1, 0xe4, 0xa6, 0x3d, 0x55, 0x17, 0xdd, 0xcf, 0xda, 0x6c, 0xf8, 0xda, 0x08, 0x74, 0x0f, 0xa7, 0xec, 0xa2, 0x07, 0x59, 0x9b, 0x0d, 0x5f, 0x1b, 0x81, 0xee, 0xa1, 0x5c, 0x6f, 0xa5, 0x89,
0xe5, 0x7a, 0x2b, 0x4d, 0xd4, 0x58, 0x6d, 0xa2, 0x1e, 0x58, 0x79, 0xbe, 0x9a, 0xba, 0x28, 0x32, 0x1a, 0xab, 0x4d, 0xd4, 0x03, 0x2b, 0xcf, 0x57, 0x53, 0x17, 0x45, 0x46, 0x4b, 0x64, 0x8e, 0x91,
0x5a, 0x21, 0x73, 0x8c, 0xc2, 0x8f, 0x3c, 0xdb, 0xa2, 0xda, 0x32, 0x94, 0xc2, 0xd5, 0x30, 0x9d, 0xb3, 0xc8, 0xb7, 0x2d, 0x55, 0x5b, 0x86, 0x92, 0xb8, 0x1a, 0xa6, 0x33, 0x5d, 0x75, 0x2d, 0x8d,
0xe9, 0xaa, 0x6b, 0x69, 0x5c, 0x0d, 0xd3, 0xd9, 0x6a, 0x91, 0xc1, 0x52, 0x91, 0xed, 0x41, 0x9d, 0xab, 0x61, 0x3a, 0x5b, 0x2d, 0x32, 0x58, 0x2a, 0xb2, 0x03, 0xa8, 0x53, 0x79, 0x93, 0xaa, 0xeb,
0xab, 0x9b, 0xa4, 0xae, 0x6b, 0x8f, 0x5a, 0x14, 0xbf, 0x62, 0xb8, 0x9a, 0xcf, 0x86, 0xd0, 0x9d, 0xda, 0xa3, 0x96, 0x8a, 0x5f, 0x32, 0x5c, 0xcd, 0x27, 0x43, 0xe8, 0x4e, 0x79, 0x94, 0xc6, 0x13,
0x8a, 0x28, 0x8d, 0xc7, 0x44, 0x62, 0x62, 0x77, 0xe8, 0xa0, 0x05, 0xc5, 0x0e, 0xc9, 0x0f, 0xb5, 0x45, 0x62, 0x62, 0x77, 0xd4, 0x41, 0x0b, 0x8a, 0x1d, 0x25, 0x3f, 0xd6, 0xe2, 0xde, 0xcf, 0xa0,
0xb8, 0xf7, 0x33, 0xe8, 0x96, 0x8e, 0xbe, 0xa6, 0xc6, 0x76, 0x8b, 0x35, 0xd6, 0x2a, 0xd6, 0xd5, 0x5b, 0x3a, 0xfa, 0x9a, 0x1a, 0xdb, 0x2b, 0xd6, 0x58, 0xab, 0x58, 0x57, 0x7f, 0xad, 0x40, 0xa7,
0x5f, 0x2b, 0xd0, 0x29, 0xde, 0xa9, 0xda, 0x7c, 0x7e, 0xfe, 0x8a, 0x36, 0xd7, 0x5c, 0xb5, 0x54, 0x78, 0xa7, 0x72, 0xf3, 0x78, 0xfc, 0x4a, 0x6d, 0xae, 0xb9, 0x72, 0x29, 0x01, 0x94, 0x63, 0x88,
0x00, 0x2a, 0x30, 0xc4, 0x5b, 0x7e, 0x11, 0x68, 0x03, 0x96, 0xbb, 0x60, 0x28, 0xa9, 0x1f, 0x4e, 0x77, 0xf4, 0x32, 0xd0, 0x06, 0x2c, 0x77, 0xc1, 0x90, 0x52, 0x16, 0x7a, 0x1c, 0x67, 0x18, 0x0a,
0x04, 0xce, 0x30, 0x94, 0x66, 0xbe, 0x2c, 0x18, 0xec, 0x63, 0x00, 0x3f, 0x49, 0x52, 0x1c, 0xab, 0x33, 0x5f, 0x16, 0x0c, 0xf2, 0x31, 0x00, 0x4b, 0x92, 0x14, 0x27, 0x72, 0x04, 0x2a, 0x90, 0x6d,
0x11, 0x48, 0x20, 0xdb, 0x1e, 0xf5, 0x86, 0x7a, 0x3e, 0x0e, 0xb3, 0xf9, 0x38, 0x3c, 0xcf, 0xe6, 0x8f, 0x7a, 0x43, 0x3d, 0x1f, 0x87, 0xd9, 0x7c, 0x1c, 0x8e, 0xb3, 0xf9, 0xe8, 0xb6, 0x94, 0xb6,
0xa3, 0xdb, 0x22, 0x6d, 0x45, 0x3b, 0x7f, 0x82, 0x86, 0xc6, 0xd7, 0xff, 0x6b, 0x3d, 0x3e, 0x00, 0xa4, 0x9d, 0x3f, 0x41, 0x43, 0xe3, 0xeb, 0xff, 0xb5, 0x1e, 0xf7, 0xc1, 0xd2, 0xb6, 0x99, 0x6f,
0x4b, 0xdb, 0xf6, 0x3d, 0x53, 0x8b, 0x4d, 0xa2, 0x4f, 0x3c, 0xe7, 0x1f, 0x15, 0xb0, 0x5c, 0x4c, 0x6a, 0xb1, 0xa9, 0xe8, 0x33, 0xdf, 0xf9, 0x47, 0x05, 0x2c, 0x17, 0x93, 0x38, 0x0a, 0x13, 0x2c,
0xe2, 0x28, 0x4c, 0xb0, 0x80, 0xff, 0x95, 0xb7, 0xe2, 0x7f, 0x75, 0x2d, 0xfe, 0x67, 0x53, 0xa5, 0xe0, 0x7f, 0xe5, 0xad, 0xf8, 0x5f, 0x5d, 0x8b, 0xff, 0xd9, 0x54, 0xa9, 0x15, 0xa6, 0x4a, 0x0f,
0x56, 0x98, 0x2a, 0x3d, 0xb0, 0x04, 0x7a, 0xbe, 0xc0, 0x89, 0x34, 0x13, 0x28, 0xa7, 0x95, 0xec, 0x2c, 0x8e, 0x3e, 0xe3, 0xe8, 0x09, 0x33, 0x81, 0x72, 0x5a, 0xca, 0xee, 0x28, 0x97, 0xc0, 0x95,
0x96, 0x0b, 0x05, 0x5c, 0x09, 0x95, 0x7a, 0xcb, 0xcd, 0x69, 0xf6, 0xac, 0x08, 0x9b, 0x7a, 0x20, 0xa8, 0x52, 0x6f, 0xb9, 0x39, 0x4d, 0x9e, 0x15, 0x61, 0x53, 0x0f, 0xa4, 0x3d, 0x0d, 0x9b, 0x3a,
0xed, 0x6a, 0xd8, 0xd4, 0xe1, 0xae, 0xe2, 0xa6, 0xf3, 0xf7, 0x2a, 0x6c, 0x2f, 0x8b, 0xd7, 0x5c, 0xdc, 0x55, 0xdc, 0x74, 0xfe, 0x5e, 0x85, 0xed, 0x65, 0xf1, 0x9a, 0xcb, 0xde, 0x83, 0xba, 0xee,
0xf6, 0x2e, 0xd4, 0x75, 0x97, 0x98, 0x4a, 0x91, 0x2b, 0xfd, 0x51, 0x5b, 0xea, 0x8f, 0x9f, 0x43, 0x12, 0x53, 0x29, 0x62, 0xa5, 0x3f, 0x6a, 0x4b, 0xfd, 0xf1, 0x73, 0xe8, 0x7a, 0x1c, 0xd5, 0x34,
0x77, 0x22, 0x90, 0xa6, 0xe9, 0xbb, 0xde, 0x72, 0x27, 0xdb, 0xa0, 0x58, 0xec, 0x43, 0xd8, 0x56, 0x7d, 0xd7, 0x5b, 0xee, 0x64, 0x1b, 0x24, 0x8b, 0x7c, 0x08, 0xdb, 0x32, 0xca, 0x18, 0xfd, 0x05,
0x51, 0xc6, 0xe8, 0x2d, 0x40, 0xab, 0x4e, 0x4e, 0xb6, 0x0c, 0x3f, 0x87, 0xad, 0x27, 0xb0, 0x93, 0x68, 0xe9, 0xd1, 0xbb, 0x65, 0xf8, 0x39, 0x6c, 0x3d, 0x81, 0x9d, 0x4c, 0x75, 0xd1, 0x60, 0x8d,
0xa9, 0x2e, 0x1a, 0xac, 0x51, 0xd2, 0x3d, 0xce, 0xfa, 0xec, 0x3e, 0x34, 0x2e, 0x23, 0x31, 0xe3, 0x92, 0xee, 0x69, 0xd6, 0x67, 0x0f, 0xa0, 0x71, 0x15, 0xf1, 0x19, 0x15, 0xa6, 0xa3, 0x0d, 0x25,
0xd2, 0x74, 0xb4, 0xa1, 0x54, 0x59, 0xe4, 0xf1, 0xd2, 0xe8, 0xb7, 0x48, 0x9c, 0xc7, 0xa4, 0x1e, 0xcb, 0x22, 0x8f, 0x57, 0x8d, 0x7e, 0x4b, 0x97, 0x45, 0xc6, 0x94, 0x0f, 0x22, 0xd9, 0xc1, 0xf9,
0x44, 0xaa, 0x83, 0xf3, 0xc7, 0x0a, 0x75, 0xb7, 0xe5, 0x5a, 0xd9, 0x23, 0xc5, 0xf9, 0x0d, 0x6c, 0x63, 0x45, 0x75, 0xb7, 0xe5, 0x5a, 0xd9, 0x23, 0xc5, 0xf9, 0x0d, 0x6c, 0x2d, 0xcd, 0xa7, 0x35,
0x2d, 0xcd, 0xa7, 0x35, 0x89, 0x5c, 0xb8, 0xaf, 0x96, 0xdc, 0x97, 0x2c, 0xd7, 0x96, 0x2c, 0xff, 0x89, 0x5c, 0xb8, 0xaf, 0x96, 0xdc, 0x97, 0x2c, 0xd7, 0x96, 0x2c, 0xff, 0x16, 0x76, 0x3e, 0xa7,
0x16, 0x76, 0x3e, 0xe7, 0xa1, 0x17, 0xa0, 0xb1, 0x7f, 0x28, 0xa6, 0x84, 0xf8, 0xe6, 0xb9, 0x34, 0xa1, 0x1f, 0xa0, 0xb1, 0x7f, 0xcc, 0xa7, 0x0a, 0xf1, 0xcd, 0x73, 0x69, 0x62, 0x1e, 0x42, 0x5d,
0x36, 0x0f, 0xa1, 0xae, 0xdb, 0x32, 0x9c, 0x13, 0x8f, 0x3d, 0x86, 0xa6, 0xd0, 0xda, 0xa6, 0xf0, 0xb7, 0x65, 0x38, 0x67, 0x3e, 0x79, 0x0c, 0x4d, 0xae, 0xb5, 0x4d, 0xe1, 0xb5, 0x0b, 0x03, 0xd4,
0xda, 0x85, 0x01, 0xea, 0x66, 0x32, 0xe7, 0x1b, 0x60, 0x25, 0xd3, 0xea, 0xa5, 0x34, 0x67, 0x03, 0xcd, 0x64, 0xce, 0x37, 0x40, 0x4a, 0xa6, 0xe5, 0x4b, 0x69, 0x4e, 0x06, 0xb2, 0x00, 0x75, 0x51,
0x55, 0x80, 0xba, 0x28, 0x4c, 0x61, 0x77, 0x8a, 0x75, 0xe4, 0xe6, 0x52, 0xd6, 0x87, 0x1a, 0x0a, 0x98, 0xc2, 0xee, 0x14, 0xeb, 0xc8, 0xcd, 0xa5, 0xa4, 0x0f, 0x35, 0xe4, 0xdc, 0xb8, 0xd8, 0x94,
0x61, 0x5c, 0x6c, 0x2a, 0xa5, 0xc5, 0xbb, 0xd4, 0x55, 0x22, 0xe7, 0x87, 0xb0, 0x73, 0x16, 0xe3, 0x4a, 0x8b, 0x77, 0xa9, 0x2b, 0x45, 0xce, 0x0f, 0x61, 0xe7, 0x22, 0x46, 0x8f, 0xd1, 0x40, 0xbd,
0xc4, 0xe7, 0x01, 0xbd, 0x29, 0xb5, 0x83, 0x3d, 0xa8, 0xab, 0x24, 0x67, 0x3d, 0x4b, 0x20, 0xa6, 0x29, 0xb5, 0x83, 0x03, 0xa8, 0xcb, 0x24, 0x67, 0x3d, 0xab, 0x40, 0x4c, 0x8b, 0x35, 0xdf, 0xf9,
0xc5, 0x9a, 0xef, 0x7c, 0x03, 0xb6, 0x8e, 0xeb, 0xf8, 0x8d, 0x9f, 0x48, 0x0c, 0x27, 0x78, 0x74, 0x06, 0x6c, 0x1d, 0xd7, 0xe9, 0x1b, 0x96, 0x08, 0x0c, 0x3d, 0x3c, 0xb9, 0x46, 0xef, 0xe6, 0x7f,
0x85, 0x93, 0xeb, 0xff, 0xe1, 0xc9, 0x6f, 0xe0, 0xc1, 0x3a, 0x0f, 0x59, 0x7c, 0xed, 0x89, 0xa2, 0x78, 0xf2, 0x5b, 0xd8, 0x5f, 0xe7, 0x21, 0x8b, 0xaf, 0xed, 0x49, 0x6a, 0x72, 0x15, 0xa5, 0xa1,
0xc6, 0x97, 0x51, 0x1a, 0x6a, 0x1f, 0x96, 0x0b, 0xc4, 0xfa, 0x4c, 0x71, 0xd4, 0x3d, 0xa2, 0xda, 0xf6, 0x61, 0xb9, 0xa0, 0x58, 0x9f, 0x49, 0x8e, 0xbc, 0x47, 0x94, 0xfb, 0x12, 0x03, 0x7d, 0x86,
0x97, 0x18, 0xe8, 0x33, 0x54, 0x96, 0x8f, 0xda, 0xdd, 0xf9, 0xf8, 0xb6, 0x02, 0xad, 0x33, 0x94, 0xca, 0xf2, 0x51, 0xbb, 0x3f, 0x1f, 0xdf, 0x56, 0xa0, 0x75, 0x81, 0x22, 0x8d, 0xd5, 0x59, 0x1e,
0x69, 0x4c, 0x67, 0x79, 0x08, 0xad, 0x0b, 0x11, 0x5d, 0xa3, 0x58, 0x1c, 0xc5, 0xd2, 0x8c, 0x13, 0x42, 0xeb, 0x92, 0x47, 0x37, 0xc8, 0x17, 0x47, 0xb1, 0x34, 0xe3, 0xcc, 0x27, 0xcf, 0xa0, 0x71,
0x8f, 0x3d, 0x83, 0xc6, 0x51, 0x14, 0x5e, 0xfa, 0x53, 0x7a, 0x61, 0xb7, 0x47, 0x0f, 0x34, 0xba, 0x12, 0x85, 0x57, 0x6c, 0xaa, 0x5e, 0xd8, 0xed, 0xd1, 0xbe, 0x46, 0x17, 0xb3, 0x77, 0xa8, 0x65,
0x98, 0xbd, 0x43, 0x2d, 0xd3, 0x73, 0xcd, 0x28, 0xf6, 0x3e, 0x86, 0x76, 0x81, 0xfd, 0x5f, 0x61, 0x7a, 0xae, 0x19, 0xc5, 0xde, 0xc7, 0xd0, 0x2e, 0xb0, 0xff, 0x2b, 0xcc, 0xff, 0x2e, 0x80, 0xb2,
0xfe, 0x77, 0x01, 0xc8, 0xb6, 0xce, 0xc0, 0xb6, 0x3e, 0x88, 0xd9, 0xa9, 0x02, 0xdf, 0x83, 0x96, 0xad, 0x33, 0xb0, 0xad, 0x0f, 0x62, 0x76, 0xca, 0xc0, 0x0f, 0xa0, 0x25, 0xdf, 0x12, 0x5a, 0x4c,
0x7a, 0x4b, 0x68, 0x31, 0x83, 0x8d, 0xc2, 0xe7, 0x06, 0xad, 0x9d, 0xc7, 0xb0, 0x73, 0x12, 0xde, 0x60, 0xa3, 0xf0, 0xb9, 0xa1, 0xd6, 0xce, 0x63, 0xd8, 0x39, 0x0b, 0x6f, 0x69, 0xc0, 0x7c, 0x2a,
0xf0, 0xc0, 0xf7, 0xb8, 0xc4, 0x2f, 0x70, 0x4e, 0x07, 0x5c, 0x89, 0xc0, 0x39, 0x83, 0x8e, 0x79, 0xf0, 0x0b, 0x9c, 0xab, 0x03, 0xae, 0x44, 0xe0, 0x5c, 0x40, 0xc7, 0x3c, 0xe8, 0xdf, 0x29, 0xc6,
0xd0, 0xbf, 0x53, 0x8c, 0x1d, 0x13, 0xe3, 0x7f, 0x6e, 0x91, 0x0f, 0x61, 0xcb, 0x18, 0x7d, 0xe5, 0x8e, 0x89, 0xf1, 0x3f, 0xb7, 0xc8, 0x87, 0xb0, 0x65, 0x8c, 0xbe, 0x62, 0xa6, 0x41, 0xe4, 0x84,
0x9b, 0x06, 0x51, 0x13, 0x5a, 0xe0, 0xa5, 0xff, 0xc6, 0x98, 0x36, 0x94, 0xf3, 0x1c, 0xb6, 0x0b, 0xe6, 0x78, 0xc5, 0xde, 0x18, 0xd3, 0x86, 0x72, 0x9e, 0xc3, 0x76, 0x41, 0x35, 0x3f, 0xce, 0x0d,
0xaa, 0xf9, 0x71, 0xae, 0x71, 0x9e, 0x64, 0x1f, 0x3a, 0x6a, 0x9d, 0x65, 0xa0, 0xba, 0xc8, 0x80, 0xce, 0x93, 0xec, 0x43, 0x47, 0xae, 0xb3, 0x0c, 0x54, 0x17, 0x19, 0x70, 0x60, 0xd3, 0xec, 0x7c,
0x03, 0x9b, 0x66, 0xe7, 0x4b, 0x94, 0x77, 0x9c, 0xee, 0x8b, 0x3c, 0x90, 0x97, 0x68, 0x8c, 0xef, 0x89, 0xe2, 0x9e, 0xd3, 0x7d, 0x91, 0x07, 0xf2, 0x12, 0x8d, 0xf1, 0x43, 0xa8, 0xa3, 0x3c, 0x69,
0x43, 0x1d, 0xd5, 0x49, 0x8b, 0x03, 0xaa, 0x98, 0x01, 0x57, 0x8b, 0xd7, 0x38, 0x7c, 0x9e, 0x3b, 0x71, 0x40, 0x15, 0x33, 0xe0, 0x6a, 0xf1, 0x1a, 0x87, 0xcf, 0x73, 0x87, 0xe7, 0xa9, 0x76, 0xf8,
0x3c, 0x4d, 0xb5, 0xc3, 0x77, 0xb4, 0xe5, 0x7c, 0x90, 0x87, 0x71, 0x9a, 0xca, 0xbb, 0x6e, 0xf4, 0x8e, 0xb6, 0x9c, 0x0f, 0xf2, 0x30, 0xce, 0x53, 0x71, 0xdf, 0x8d, 0x3e, 0x86, 0x1d, 0xa3, 0xf4,
0x31, 0xec, 0x18, 0xa5, 0x17, 0x18, 0xa0, 0xc4, 0x3b, 0x8e, 0xb4, 0x0f, 0xac, 0xa4, 0x76, 0x97, 0x02, 0x03, 0x14, 0x78, 0xcf, 0x91, 0x0e, 0x81, 0x94, 0xd4, 0xee, 0x33, 0xf7, 0x08, 0xac, 0xf1,
0xb9, 0x47, 0x60, 0x9d, 0x9f, 0xbf, 0xca, 0xa5, 0x65, 0xe4, 0x73, 0x3e, 0x81, 0x9d, 0xb3, 0xd4, 0xf8, 0x55, 0x2e, 0x2d, 0x23, 0x9f, 0xf3, 0x09, 0xec, 0x5c, 0xa4, 0x7e, 0x74, 0xce, 0xd9, 0x2d,
0x8b, 0x4e, 0x85, 0x7f, 0xe3, 0x07, 0x38, 0xd5, 0xce, 0xb2, 0xef, 0xac, 0x4a, 0xe1, 0x3b, 0x6b, 0x0b, 0x70, 0xaa, 0x9d, 0x65, 0xdf, 0x59, 0x95, 0xc2, 0x77, 0xd6, 0xda, 0x59, 0xe3, 0x0c, 0x80,
0xed, 0xac, 0x71, 0x06, 0xc0, 0x4a, 0xdb, 0xf3, 0x7b, 0x4b, 0x52, 0x2f, 0x32, 0x0d, 0x4a, 0x6b, 0x94, 0xb6, 0xe7, 0xf7, 0x96, 0xa4, 0x7e, 0x64, 0x1a, 0x54, 0xad, 0x9d, 0x01, 0x74, 0xc6, 0x54,
0x67, 0x00, 0x9d, 0x73, 0xae, 0xa6, 0xb9, 0xa7, 0x75, 0x6c, 0x68, 0x4a, 0x4d, 0x1b, 0xb5, 0x8c, 0x4e, 0x73, 0x5f, 0xeb, 0xd8, 0xd0, 0x14, 0x9a, 0x36, 0x6a, 0x19, 0xe9, 0x8c, 0x60, 0xef, 0x84,
0x74, 0x46, 0xb0, 0x7b, 0xc4, 0x27, 0x57, 0x7e, 0x38, 0x7d, 0xe1, 0x27, 0xea, 0xd9, 0x62, 0x76, 0x7a, 0xd7, 0x2c, 0x9c, 0xbe, 0x60, 0x89, 0x7c, 0xb6, 0x98, 0x1d, 0x3d, 0xb0, 0x7c, 0xc3, 0x30,
0xf4, 0xc0, 0xf2, 0x0c, 0xc3, 0x6c, 0xc9, 0x69, 0xe7, 0x23, 0x78, 0xaf, 0xf0, 0x35, 0x79, 0x26, 0x5b, 0x72, 0xda, 0xf9, 0x08, 0xde, 0x2b, 0x7c, 0x4d, 0x5e, 0x08, 0x9a, 0xe5, 0x63, 0x0f, 0xea,
0x79, 0x96, 0x8f, 0x5d, 0xa8, 0x27, 0x8a, 0xa2, 0x1d, 0x75, 0x57, 0x13, 0xce, 0x97, 0xb0, 0x5b, 0x89, 0xa4, 0xd4, 0x8e, 0xba, 0xab, 0x09, 0xe7, 0x4b, 0xd8, 0x2b, 0x8e, 0x57, 0xf9, 0xb8, 0xc8,
0x1c, 0xaf, 0xea, 0x71, 0x91, 0x1d, 0x9c, 0xc6, 0x7e, 0xa5, 0x30, 0xf6, 0x4d, 0xce, 0xaa, 0x8b, 0x0e, 0xae, 0xc6, 0x7e, 0xa5, 0x30, 0xf6, 0x4d, 0xce, 0xaa, 0x8b, 0x69, 0xb1, 0x0d, 0xb5, 0x5f,
0x69, 0xb1, 0x0d, 0xb5, 0x5f, 0x7e, 0x7d, 0x6e, 0x8a, 0x5d, 0x2d, 0x9d, 0xdf, 0x2b, 0xf7, 0x65, 0x7e, 0x3d, 0x36, 0xc5, 0x2e, 0x97, 0xce, 0xef, 0xa5, 0xfb, 0xb2, 0x3d, 0xed, 0xbe, 0x34, 0xfb,
0x7b, 0xda, 0x7d, 0x69, 0xf6, 0x57, 0xde, 0x65, 0xf6, 0xaf, 0xa9, 0xb7, 0x8f, 0x60, 0xe7, 0x75, 0x2b, 0xef, 0x32, 0xfb, 0xd7, 0xd4, 0xdb, 0x47, 0xb0, 0xf3, 0x3a, 0x88, 0xbc, 0x9b, 0xd3, 0xb0,
0x10, 0x4d, 0xae, 0x8f, 0xc3, 0x42, 0x36, 0x6c, 0x68, 0x62, 0x58, 0x4c, 0x46, 0x46, 0x8e, 0xfe, 0x90, 0x0d, 0x1b, 0x9a, 0x18, 0x16, 0x93, 0x91, 0x91, 0xa3, 0xbf, 0xd4, 0xa0, 0xf9, 0x0b, 0xfd,
0x52, 0x83, 0xe6, 0x2f, 0xf4, 0x7f, 0x0e, 0xf6, 0x29, 0x74, 0x4b, 0x83, 0x84, 0xbd, 0x47, 0x5f, 0x9f, 0x83, 0x7c, 0x0a, 0xdd, 0xd2, 0x20, 0x21, 0xef, 0xa9, 0x2f, 0x96, 0xe5, 0xb1, 0xd5, 0x7b,
0x2c, 0xcb, 0x63, 0xab, 0x77, 0x7f, 0x85, 0xad, 0xbd, 0x3c, 0x85, 0x4e, 0x71, 0x4c, 0x30, 0x1a, 0xb0, 0xc2, 0xd6, 0x5e, 0x9e, 0x42, 0xa7, 0x38, 0x26, 0x88, 0x1a, 0x09, 0xea, 0x77, 0x48, 0x4f,
0x09, 0xf4, 0x3b, 0xa4, 0x47, 0x96, 0x56, 0x67, 0xc8, 0x19, 0xec, 0xae, 0x03, 0x70, 0xf6, 0x68, 0x59, 0x5a, 0x9d, 0x21, 0x17, 0xb0, 0xb7, 0x0e, 0xc0, 0xc9, 0xa3, 0x85, 0x87, 0xd5, 0xe1, 0xd1,
0xe1, 0x61, 0x75, 0x78, 0xf4, 0xde, 0xbf, 0x4b, 0xaa, 0x8d, 0x3a, 0x00, 0x27, 0xa1, 0x2f, 0x7d, 0x7b, 0xff, 0x3e, 0xa9, 0x36, 0xea, 0x00, 0x9c, 0x85, 0x4c, 0x30, 0x1a, 0xb0, 0x3f, 0x62, 0x31,
0x1e, 0xf8, 0x7f, 0xc4, 0x62, 0x10, 0x8b, 0x25, 0xdb, 0x83, 0xe6, 0x51, 0x80, 0x3c, 0x4c, 0xe3, 0x88, 0xc5, 0x92, 0x1c, 0x40, 0xf3, 0x24, 0x40, 0x1a, 0xa6, 0xf1, 0x3d, 0x0a, 0xcf, 0xa0, 0x5b,
0x3b, 0x14, 0x9e, 0x41, 0xb7, 0x04, 0x84, 0x3a, 0x17, 0x2b, 0xd8, 0x58, 0xdc, 0xb2, 0x0f, 0x75, 0x02, 0x42, 0x9d, 0x8b, 0x15, 0x6c, 0x2c, 0x6e, 0x39, 0x84, 0xba, 0x02, 0x5f, 0xd2, 0x2d, 0x61,
0x02, 0x5f, 0xd6, 0x2d, 0x61, 0x7c, 0x6f, 0x33, 0x27, 0x75, 0x7c, 0x7d, 0xd8, 0xa0, 0x0f, 0xba, 0x7c, 0x6f, 0x33, 0x27, 0x75, 0x7c, 0x7d, 0xd8, 0x50, 0x1f, 0x74, 0x05, 0xc7, 0x6a, 0x47, 0x8e,
0x82, 0x63, 0xda, 0x91, 0x23, 0xf3, 0xe8, 0x9f, 0x15, 0x68, 0x66, 0x3f, 0x57, 0x9e, 0xc1, 0x86, 0xcc, 0xa3, 0x7f, 0x56, 0xa0, 0x99, 0xfd, 0x5c, 0x79, 0x06, 0x1b, 0x12, 0xe3, 0xc8, 0x6e, 0x01,
0xc2, 0x38, 0x76, 0xaf, 0x00, 0x13, 0x19, 0x3e, 0xf6, 0x76, 0x97, 0x98, 0xda, 0xc1, 0x10, 0x6a, 0x26, 0x32, 0x7c, 0xec, 0xed, 0x2d, 0x31, 0xb5, 0x83, 0x21, 0xd4, 0x5e, 0xa2, 0x20, 0xa4, 0x20,
0x2f, 0x51, 0x32, 0x56, 0x10, 0x1a, 0xb0, 0xeb, 0xdd, 0x2b, 0xf3, 0x72, 0xfd, 0xd3, 0xb4, 0xac, 0x34, 0x60, 0xd7, 0xdb, 0x2d, 0xf3, 0x72, 0xfd, 0xf3, 0xb4, 0xac, 0x6f, 0xb0, 0xaa, 0xa4, 0x9f,
0x6f, 0xb0, 0xaa, 0xa4, 0x9f, 0xa3, 0xd0, 0x4f, 0xa0, 0xa1, 0x51, 0x44, 0x27, 0x65, 0x05, 0x7f, 0xa3, 0xd0, 0x4f, 0xa0, 0xa1, 0x51, 0x44, 0x27, 0x65, 0x05, 0x7f, 0x74, 0x81, 0xac, 0xe2, 0xcd,
0x74, 0x81, 0xac, 0xe2, 0xcd, 0xe8, 0x6f, 0x35, 0x80, 0xb3, 0x79, 0x22, 0x71, 0xf6, 0x6b, 0x1f, 0xe8, 0x6f, 0x35, 0x80, 0x8b, 0x79, 0x22, 0x70, 0xf6, 0x6b, 0x86, 0x77, 0xe4, 0x09, 0x6c, 0xbd,
0x6f, 0xd9, 0x13, 0xd8, 0x7a, 0x81, 0x97, 0x3c, 0x0d, 0x24, 0xbd, 0xf5, 0x55, 0xb7, 0x14, 0x72, 0xc0, 0x2b, 0x9a, 0x06, 0x42, 0xbd, 0xf5, 0x65, 0xb7, 0x14, 0x72, 0xa2, 0x9e, 0x2b, 0x39, 0x18,
0x42, 0xcf, 0x95, 0x1c, 0x8c, 0xf6, 0xa1, 0xfd, 0x9a, 0xbf, 0x79, 0xbb, 0xde, 0xa7, 0xd0, 0x2d, 0x1d, 0x42, 0xfb, 0x35, 0x7d, 0xf3, 0x76, 0xbd, 0x4f, 0xa1, 0x5b, 0xc2, 0x18, 0x13, 0xe2, 0x32,
0x61, 0x8c, 0x09, 0x71, 0x19, 0xb5, 0x4c, 0x88, 0xab, 0x68, 0xb4, 0x0f, 0x4d, 0x83, 0x3c, 0x45, 0x6a, 0x99, 0x10, 0x57, 0xd1, 0xe8, 0x10, 0x9a, 0x06, 0x79, 0x8a, 0x3e, 0x14, 0x46, 0x97, 0x10,
0x1f, 0x84, 0xd1, 0x25, 0x44, 0xfa, 0x31, 0x6c, 0x2d, 0xe1, 0x4e, 0x51, 0x9f, 0x7e, 0x00, 0xad, 0xe9, 0xc7, 0xb0, 0xb5, 0x84, 0x3b, 0x45, 0x7d, 0xf5, 0x03, 0x68, 0x2d, 0x2e, 0x3d, 0x97, 0x6f,
0xc5, 0xa5, 0xe7, 0xea, 0xad, 0x5e, 0xc6, 0x9e, 0xe2, 0xc6, 0x07, 0xba, 0xdf, 0xd7, 0x81, 0xd3, 0xf5, 0x32, 0xf6, 0x14, 0x37, 0xee, 0xeb, 0x7e, 0x5f, 0x07, 0x4e, 0x2f, 0xcb, 0xaf, 0x7c, 0xf5,
0xcb, 0xf2, 0x2b, 0x9f, 0xbe, 0x71, 0xec, 0x65, 0x78, 0xc8, 0xc0, 0x29, 0x33, 0xb4, 0x0e, 0x66, 0x8d, 0x63, 0x2f, 0xc3, 0x43, 0x06, 0x4e, 0x99, 0xa1, 0x75, 0x30, 0xf3, 0x14, 0x3a, 0x45, 0x84,
0x9e, 0x42, 0xa7, 0x88, 0x10, 0x2b, 0x6d, 0xba, 0x02, 0x1f, 0x17, 0x0d, 0x7a, 0xe9, 0xff, 0xe0, 0x58, 0x69, 0xd3, 0x15, 0xf8, 0xb8, 0x6c, 0xa8, 0x97, 0xfe, 0x0f, 0xfe, 0x1d, 0x00, 0x00, 0xff,
0xdf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x2b, 0x08, 0x2c, 0x55, 0x24, 0x15, 0x00, 0x00, 0xff, 0xde, 0xe9, 0x24, 0xef, 0x24, 0x15, 0x00, 0x00,
} }

View file

@ -50,8 +50,8 @@ message Request {
// final path is "foo" since the mount prefix is trimmed. // final path is "foo" since the mount prefix is trimmed.
string path = 4; string path = 4;
// Request data is an opaque map that must have string keys. // Request data is a JSON object that must have keys with string type.
bytes data = 5; string data = 5;
// Secret will be non-nil only for Revoke and Renew operations // Secret will be non-nil only for Revoke and Renew operations
// to represent the secret that was returned prior. // to represent the secret that was returned prior.
@ -131,10 +131,10 @@ message Alias {
message Auth { message Auth {
LeaseOptions lease_options = 1; LeaseOptions lease_options = 1;
// InternalData is JSON-encodable data that is stored with the auth struct. // InternalData is a JSON object that is stored with the auth struct.
// This will be sent back during a Renew/Revoke for storing internal data // This will be sent back during a Renew/Revoke for storing internal data
// used for those operations. // used for those operations.
bytes internal_data = 2; string internal_data = 2;
// DisplayName is a non-security sensitive identifier that is // DisplayName is a non-security sensitive identifier that is
// applicable to this Auth. It is used for logging and prefixing // applicable to this Auth. It is used for logging and prefixing
@ -201,10 +201,10 @@ message LeaseOptions {
message Secret { message Secret {
LeaseOptions lease_options = 1; LeaseOptions lease_options = 1;
// InternalData is JSON-encodable data that is stored with the secret. // InternalData is a JSON object that is stored with the secret.
// This will be sent back during a Renew/Revoke for storing internal data // This will be sent back during a Renew/Revoke for storing internal data
// used for those operations. // used for those operations.
bytes internal_data = 2; string internal_data = 2;
// LeaseID is the ID returned to the user to manage this secret. // LeaseID is the ID returned to the user to manage this secret.
// This is generated by Vault core. Any set value will be ignored. // This is generated by Vault core. Any set value will be ignored.
@ -221,11 +221,11 @@ message Response {
// credential backends. // credential backends.
Auth auth = 2; Auth auth = 2;
// Response data is an opaque map that must have string keys. For // Response data is a JSON object that must have string keys. For
// secrets, this data is sent down to the user as-is. To store internal // secrets, this data is sent down to the user as-is. To store internal
// data that you don't want the user to see, store it in // data that you don't want the user to see, store it in
// Secret.InternalData. // Secret.InternalData.
bytes data = 3; string data = 3;
// Redirect is an HTTP URL to redirect to for further authentication. // Redirect is an HTTP URL to redirect to for further authentication.
// This is only valid for credential backends. This will be blanked // This is only valid for credential backends. This will be blanked
@ -422,7 +422,7 @@ message ReplicationStateReply {
} }
message ResponseWrapDataArgs { message ResponseWrapDataArgs {
bytes data = 1; string data = 1;
int64 TTL = 2; int64 TTL = 2;
bool JWT = 3; bool JWT = 3;
} }

View file

@ -159,7 +159,7 @@ func ProtoSecretToLogicalSecret(s *Secret) (*logical.Secret, error) {
} }
data := map[string]interface{}{} data := map[string]interface{}{}
err := json.Unmarshal(s.InternalData, &data) err := json.Unmarshal([]byte(s.InternalData), &data)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -193,7 +193,7 @@ func LogicalSecretToProtoSecret(s *logical.Secret) (*Secret, error) {
return &Secret{ return &Secret{
LeaseOptions: lease, LeaseOptions: lease,
InternalData: buf, InternalData: string(buf[:]),
LeaseID: s.LeaseID, LeaseID: s.LeaseID,
}, err }, err
} }
@ -228,7 +228,7 @@ func LogicalRequestToProtoRequest(r *logical.Request) (*Request, error) {
ReplicationCluster: r.ReplicationCluster, ReplicationCluster: r.ReplicationCluster,
Operation: string(r.Operation), Operation: string(r.Operation),
Path: r.Path, Path: r.Path,
Data: buf, Data: string(buf[:]),
Secret: secret, Secret: secret,
Auth: auth, Auth: auth,
Headers: headers, Headers: headers,
@ -253,7 +253,7 @@ func ProtoRequestToLogicalRequest(r *Request) (*logical.Request, error) {
} }
data := map[string]interface{}{} data := map[string]interface{}{}
err := json.Unmarshal(r.Data, &data) err := json.Unmarshal([]byte(r.Data), &data)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -340,7 +340,7 @@ func ProtoResponseToLogicalResponse(r *Response) (*logical.Response, error) {
} }
data := map[string]interface{}{} data := map[string]interface{}{}
err = json.Unmarshal(r.Data, &data) err = json.Unmarshal([]byte(r.Data), &data)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -434,7 +434,7 @@ func LogicalResponseToProtoResponse(r *logical.Response) (*Response, error) {
return &Response{ return &Response{
Secret: secret, Secret: secret,
Auth: auth, Auth: auth,
Data: buf, Data: string(buf[:]),
Redirect: r.Redirect, Redirect: r.Redirect,
Warnings: r.Warnings, Warnings: r.Warnings,
WrapInfo: wrapInfo, WrapInfo: wrapInfo,
@ -487,7 +487,7 @@ func LogicalAuthToProtoAuth(a *logical.Auth) (*Auth, error) {
return &Auth{ return &Auth{
LeaseOptions: lo, LeaseOptions: lo,
InternalData: buf, InternalData: string(buf[:]),
DisplayName: a.DisplayName, DisplayName: a.DisplayName,
Policies: a.Policies, Policies: a.Policies,
Metadata: a.Metadata, Metadata: a.Metadata,
@ -507,7 +507,7 @@ func ProtoAuthToLogicalAuth(a *Auth) (*logical.Auth, error) {
} }
data := map[string]interface{}{} data := map[string]interface{}{}
err := json.Unmarshal(a.InternalData, &data) err := json.Unmarshal([]byte(a.InternalData), &data)
if err != nil { if err != nil {
return nil, err return nil, err
} }