github.com/mre-fog/trillianxx@v1.1.2-0.20180615153820-ae375a99d36a/trillian_admin_api.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // source: trillian_admin_api.proto
     3  
     4  package trillian
     5  
     6  import proto "github.com/golang/protobuf/proto"
     7  import fmt "fmt"
     8  import math "math"
     9  import keyspb "github.com/google/trillian/crypto/keyspb"
    10  import _ "google.golang.org/genproto/googleapis/api/annotations"
    11  import google_protobuf4 "google.golang.org/genproto/protobuf/field_mask"
    12  
    13  import (
    14  	context "golang.org/x/net/context"
    15  	grpc "google.golang.org/grpc"
    16  )
    17  
    18  // Reference imports to suppress errors if they are not otherwise used.
    19  var _ = proto.Marshal
    20  var _ = fmt.Errorf
    21  var _ = math.Inf
    22  
    23  // ListTrees request.
    24  // No filters or pagination options are provided.
    25  type ListTreesRequest struct {
    26  	// If true, deleted trees are included in the response.
    27  	ShowDeleted bool `protobuf:"varint,1,opt,name=show_deleted,json=showDeleted" json:"show_deleted,omitempty"`
    28  }
    29  
    30  func (m *ListTreesRequest) Reset()                    { *m = ListTreesRequest{} }
    31  func (m *ListTreesRequest) String() string            { return proto.CompactTextString(m) }
    32  func (*ListTreesRequest) ProtoMessage()               {}
    33  func (*ListTreesRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{0} }
    34  
    35  func (m *ListTreesRequest) GetShowDeleted() bool {
    36  	if m != nil {
    37  		return m.ShowDeleted
    38  	}
    39  	return false
    40  }
    41  
    42  // ListTrees response.
    43  // No pagination is provided, all trees the requester has access to are
    44  // returned.
    45  type ListTreesResponse struct {
    46  	// Trees matching the list request filters.
    47  	Tree []*Tree `protobuf:"bytes,1,rep,name=tree" json:"tree,omitempty"`
    48  }
    49  
    50  func (m *ListTreesResponse) Reset()                    { *m = ListTreesResponse{} }
    51  func (m *ListTreesResponse) String() string            { return proto.CompactTextString(m) }
    52  func (*ListTreesResponse) ProtoMessage()               {}
    53  func (*ListTreesResponse) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{1} }
    54  
    55  func (m *ListTreesResponse) GetTree() []*Tree {
    56  	if m != nil {
    57  		return m.Tree
    58  	}
    59  	return nil
    60  }
    61  
    62  // GetTree request.
    63  type GetTreeRequest struct {
    64  	// ID of the tree to retrieve.
    65  	TreeId int64 `protobuf:"varint,1,opt,name=tree_id,json=treeId" json:"tree_id,omitempty"`
    66  }
    67  
    68  func (m *GetTreeRequest) Reset()                    { *m = GetTreeRequest{} }
    69  func (m *GetTreeRequest) String() string            { return proto.CompactTextString(m) }
    70  func (*GetTreeRequest) ProtoMessage()               {}
    71  func (*GetTreeRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{2} }
    72  
    73  func (m *GetTreeRequest) GetTreeId() int64 {
    74  	if m != nil {
    75  		return m.TreeId
    76  	}
    77  	return 0
    78  }
    79  
    80  // CreateTree request.
    81  type CreateTreeRequest struct {
    82  	// Tree to be created. See Tree and CreateTree for more details.
    83  	Tree *Tree `protobuf:"bytes,1,opt,name=tree" json:"tree,omitempty"`
    84  	// Describes how the tree's private key should be generated.
    85  	// Only needs to be set if tree.private_key is not set.
    86  	KeySpec *keyspb.Specification `protobuf:"bytes,2,opt,name=key_spec,json=keySpec" json:"key_spec,omitempty"`
    87  }
    88  
    89  func (m *CreateTreeRequest) Reset()                    { *m = CreateTreeRequest{} }
    90  func (m *CreateTreeRequest) String() string            { return proto.CompactTextString(m) }
    91  func (*CreateTreeRequest) ProtoMessage()               {}
    92  func (*CreateTreeRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{3} }
    93  
    94  func (m *CreateTreeRequest) GetTree() *Tree {
    95  	if m != nil {
    96  		return m.Tree
    97  	}
    98  	return nil
    99  }
   100  
   101  func (m *CreateTreeRequest) GetKeySpec() *keyspb.Specification {
   102  	if m != nil {
   103  		return m.KeySpec
   104  	}
   105  	return nil
   106  }
   107  
   108  // UpdateTree request.
   109  type UpdateTreeRequest struct {
   110  	// Tree to be updated.
   111  	Tree *Tree `protobuf:"bytes,1,opt,name=tree" json:"tree,omitempty"`
   112  	// Fields modified by the update request.
   113  	// For example: "tree_state", "display_name", "description".
   114  	UpdateMask *google_protobuf4.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask" json:"update_mask,omitempty"`
   115  }
   116  
   117  func (m *UpdateTreeRequest) Reset()                    { *m = UpdateTreeRequest{} }
   118  func (m *UpdateTreeRequest) String() string            { return proto.CompactTextString(m) }
   119  func (*UpdateTreeRequest) ProtoMessage()               {}
   120  func (*UpdateTreeRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{4} }
   121  
   122  func (m *UpdateTreeRequest) GetTree() *Tree {
   123  	if m != nil {
   124  		return m.Tree
   125  	}
   126  	return nil
   127  }
   128  
   129  func (m *UpdateTreeRequest) GetUpdateMask() *google_protobuf4.FieldMask {
   130  	if m != nil {
   131  		return m.UpdateMask
   132  	}
   133  	return nil
   134  }
   135  
   136  // DeleteTree request.
   137  type DeleteTreeRequest struct {
   138  	// ID of the tree to delete.
   139  	TreeId int64 `protobuf:"varint,1,opt,name=tree_id,json=treeId" json:"tree_id,omitempty"`
   140  }
   141  
   142  func (m *DeleteTreeRequest) Reset()                    { *m = DeleteTreeRequest{} }
   143  func (m *DeleteTreeRequest) String() string            { return proto.CompactTextString(m) }
   144  func (*DeleteTreeRequest) ProtoMessage()               {}
   145  func (*DeleteTreeRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{5} }
   146  
   147  func (m *DeleteTreeRequest) GetTreeId() int64 {
   148  	if m != nil {
   149  		return m.TreeId
   150  	}
   151  	return 0
   152  }
   153  
   154  // UndeleteTree request.
   155  type UndeleteTreeRequest struct {
   156  	// ID of the tree to undelete.
   157  	TreeId int64 `protobuf:"varint,1,opt,name=tree_id,json=treeId" json:"tree_id,omitempty"`
   158  }
   159  
   160  func (m *UndeleteTreeRequest) Reset()                    { *m = UndeleteTreeRequest{} }
   161  func (m *UndeleteTreeRequest) String() string            { return proto.CompactTextString(m) }
   162  func (*UndeleteTreeRequest) ProtoMessage()               {}
   163  func (*UndeleteTreeRequest) Descriptor() ([]byte, []int) { return fileDescriptor2, []int{6} }
   164  
   165  func (m *UndeleteTreeRequest) GetTreeId() int64 {
   166  	if m != nil {
   167  		return m.TreeId
   168  	}
   169  	return 0
   170  }
   171  
   172  func init() {
   173  	proto.RegisterType((*ListTreesRequest)(nil), "trillian.ListTreesRequest")
   174  	proto.RegisterType((*ListTreesResponse)(nil), "trillian.ListTreesResponse")
   175  	proto.RegisterType((*GetTreeRequest)(nil), "trillian.GetTreeRequest")
   176  	proto.RegisterType((*CreateTreeRequest)(nil), "trillian.CreateTreeRequest")
   177  	proto.RegisterType((*UpdateTreeRequest)(nil), "trillian.UpdateTreeRequest")
   178  	proto.RegisterType((*DeleteTreeRequest)(nil), "trillian.DeleteTreeRequest")
   179  	proto.RegisterType((*UndeleteTreeRequest)(nil), "trillian.UndeleteTreeRequest")
   180  }
   181  
   182  // Reference imports to suppress errors if they are not otherwise used.
   183  var _ context.Context
   184  var _ grpc.ClientConn
   185  
   186  // This is a compile-time assertion to ensure that this generated file
   187  // is compatible with the grpc package it is being compiled against.
   188  const _ = grpc.SupportPackageIsVersion4
   189  
   190  // Client API for TrillianAdmin service
   191  
   192  type TrillianAdminClient interface {
   193  	// Lists all trees the requester has access to.
   194  	ListTrees(ctx context.Context, in *ListTreesRequest, opts ...grpc.CallOption) (*ListTreesResponse, error)
   195  	// Retrieves a tree by ID.
   196  	GetTree(ctx context.Context, in *GetTreeRequest, opts ...grpc.CallOption) (*Tree, error)
   197  	// Creates a new tree.
   198  	// System-generated fields are not required and will be ignored if present,
   199  	// e.g.: tree_id, create_time and update_time.
   200  	// Returns the created tree, with all system-generated fields assigned.
   201  	CreateTree(ctx context.Context, in *CreateTreeRequest, opts ...grpc.CallOption) (*Tree, error)
   202  	// Updates a tree.
   203  	// See Tree for details. Readonly fields cannot be updated.
   204  	UpdateTree(ctx context.Context, in *UpdateTreeRequest, opts ...grpc.CallOption) (*Tree, error)
   205  	// Soft-deletes a tree.
   206  	// A soft-deleted tree may be undeleted for a certain period, after which
   207  	// it'll be permanently deleted.
   208  	DeleteTree(ctx context.Context, in *DeleteTreeRequest, opts ...grpc.CallOption) (*Tree, error)
   209  	// Undeletes a soft-deleted a tree.
   210  	// A soft-deleted tree may be undeleted for a certain period, after which
   211  	// it'll be permanently deleted.
   212  	UndeleteTree(ctx context.Context, in *UndeleteTreeRequest, opts ...grpc.CallOption) (*Tree, error)
   213  }
   214  
   215  type trillianAdminClient struct {
   216  	cc *grpc.ClientConn
   217  }
   218  
   219  func NewTrillianAdminClient(cc *grpc.ClientConn) TrillianAdminClient {
   220  	return &trillianAdminClient{cc}
   221  }
   222  
   223  func (c *trillianAdminClient) ListTrees(ctx context.Context, in *ListTreesRequest, opts ...grpc.CallOption) (*ListTreesResponse, error) {
   224  	out := new(ListTreesResponse)
   225  	err := grpc.Invoke(ctx, "/trillian.TrillianAdmin/ListTrees", in, out, c.cc, opts...)
   226  	if err != nil {
   227  		return nil, err
   228  	}
   229  	return out, nil
   230  }
   231  
   232  func (c *trillianAdminClient) GetTree(ctx context.Context, in *GetTreeRequest, opts ...grpc.CallOption) (*Tree, error) {
   233  	out := new(Tree)
   234  	err := grpc.Invoke(ctx, "/trillian.TrillianAdmin/GetTree", in, out, c.cc, opts...)
   235  	if err != nil {
   236  		return nil, err
   237  	}
   238  	return out, nil
   239  }
   240  
   241  func (c *trillianAdminClient) CreateTree(ctx context.Context, in *CreateTreeRequest, opts ...grpc.CallOption) (*Tree, error) {
   242  	out := new(Tree)
   243  	err := grpc.Invoke(ctx, "/trillian.TrillianAdmin/CreateTree", in, out, c.cc, opts...)
   244  	if err != nil {
   245  		return nil, err
   246  	}
   247  	return out, nil
   248  }
   249  
   250  func (c *trillianAdminClient) UpdateTree(ctx context.Context, in *UpdateTreeRequest, opts ...grpc.CallOption) (*Tree, error) {
   251  	out := new(Tree)
   252  	err := grpc.Invoke(ctx, "/trillian.TrillianAdmin/UpdateTree", in, out, c.cc, opts...)
   253  	if err != nil {
   254  		return nil, err
   255  	}
   256  	return out, nil
   257  }
   258  
   259  func (c *trillianAdminClient) DeleteTree(ctx context.Context, in *DeleteTreeRequest, opts ...grpc.CallOption) (*Tree, error) {
   260  	out := new(Tree)
   261  	err := grpc.Invoke(ctx, "/trillian.TrillianAdmin/DeleteTree", in, out, c.cc, opts...)
   262  	if err != nil {
   263  		return nil, err
   264  	}
   265  	return out, nil
   266  }
   267  
   268  func (c *trillianAdminClient) UndeleteTree(ctx context.Context, in *UndeleteTreeRequest, opts ...grpc.CallOption) (*Tree, error) {
   269  	out := new(Tree)
   270  	err := grpc.Invoke(ctx, "/trillian.TrillianAdmin/UndeleteTree", in, out, c.cc, opts...)
   271  	if err != nil {
   272  		return nil, err
   273  	}
   274  	return out, nil
   275  }
   276  
   277  // Server API for TrillianAdmin service
   278  
   279  type TrillianAdminServer interface {
   280  	// Lists all trees the requester has access to.
   281  	ListTrees(context.Context, *ListTreesRequest) (*ListTreesResponse, error)
   282  	// Retrieves a tree by ID.
   283  	GetTree(context.Context, *GetTreeRequest) (*Tree, error)
   284  	// Creates a new tree.
   285  	// System-generated fields are not required and will be ignored if present,
   286  	// e.g.: tree_id, create_time and update_time.
   287  	// Returns the created tree, with all system-generated fields assigned.
   288  	CreateTree(context.Context, *CreateTreeRequest) (*Tree, error)
   289  	// Updates a tree.
   290  	// See Tree for details. Readonly fields cannot be updated.
   291  	UpdateTree(context.Context, *UpdateTreeRequest) (*Tree, error)
   292  	// Soft-deletes a tree.
   293  	// A soft-deleted tree may be undeleted for a certain period, after which
   294  	// it'll be permanently deleted.
   295  	DeleteTree(context.Context, *DeleteTreeRequest) (*Tree, error)
   296  	// Undeletes a soft-deleted a tree.
   297  	// A soft-deleted tree may be undeleted for a certain period, after which
   298  	// it'll be permanently deleted.
   299  	UndeleteTree(context.Context, *UndeleteTreeRequest) (*Tree, error)
   300  }
   301  
   302  func RegisterTrillianAdminServer(s *grpc.Server, srv TrillianAdminServer) {
   303  	s.RegisterService(&_TrillianAdmin_serviceDesc, srv)
   304  }
   305  
   306  func _TrillianAdmin_ListTrees_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   307  	in := new(ListTreesRequest)
   308  	if err := dec(in); err != nil {
   309  		return nil, err
   310  	}
   311  	if interceptor == nil {
   312  		return srv.(TrillianAdminServer).ListTrees(ctx, in)
   313  	}
   314  	info := &grpc.UnaryServerInfo{
   315  		Server:     srv,
   316  		FullMethod: "/trillian.TrillianAdmin/ListTrees",
   317  	}
   318  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   319  		return srv.(TrillianAdminServer).ListTrees(ctx, req.(*ListTreesRequest))
   320  	}
   321  	return interceptor(ctx, in, info, handler)
   322  }
   323  
   324  func _TrillianAdmin_GetTree_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   325  	in := new(GetTreeRequest)
   326  	if err := dec(in); err != nil {
   327  		return nil, err
   328  	}
   329  	if interceptor == nil {
   330  		return srv.(TrillianAdminServer).GetTree(ctx, in)
   331  	}
   332  	info := &grpc.UnaryServerInfo{
   333  		Server:     srv,
   334  		FullMethod: "/trillian.TrillianAdmin/GetTree",
   335  	}
   336  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   337  		return srv.(TrillianAdminServer).GetTree(ctx, req.(*GetTreeRequest))
   338  	}
   339  	return interceptor(ctx, in, info, handler)
   340  }
   341  
   342  func _TrillianAdmin_CreateTree_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   343  	in := new(CreateTreeRequest)
   344  	if err := dec(in); err != nil {
   345  		return nil, err
   346  	}
   347  	if interceptor == nil {
   348  		return srv.(TrillianAdminServer).CreateTree(ctx, in)
   349  	}
   350  	info := &grpc.UnaryServerInfo{
   351  		Server:     srv,
   352  		FullMethod: "/trillian.TrillianAdmin/CreateTree",
   353  	}
   354  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   355  		return srv.(TrillianAdminServer).CreateTree(ctx, req.(*CreateTreeRequest))
   356  	}
   357  	return interceptor(ctx, in, info, handler)
   358  }
   359  
   360  func _TrillianAdmin_UpdateTree_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   361  	in := new(UpdateTreeRequest)
   362  	if err := dec(in); err != nil {
   363  		return nil, err
   364  	}
   365  	if interceptor == nil {
   366  		return srv.(TrillianAdminServer).UpdateTree(ctx, in)
   367  	}
   368  	info := &grpc.UnaryServerInfo{
   369  		Server:     srv,
   370  		FullMethod: "/trillian.TrillianAdmin/UpdateTree",
   371  	}
   372  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   373  		return srv.(TrillianAdminServer).UpdateTree(ctx, req.(*UpdateTreeRequest))
   374  	}
   375  	return interceptor(ctx, in, info, handler)
   376  }
   377  
   378  func _TrillianAdmin_DeleteTree_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   379  	in := new(DeleteTreeRequest)
   380  	if err := dec(in); err != nil {
   381  		return nil, err
   382  	}
   383  	if interceptor == nil {
   384  		return srv.(TrillianAdminServer).DeleteTree(ctx, in)
   385  	}
   386  	info := &grpc.UnaryServerInfo{
   387  		Server:     srv,
   388  		FullMethod: "/trillian.TrillianAdmin/DeleteTree",
   389  	}
   390  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   391  		return srv.(TrillianAdminServer).DeleteTree(ctx, req.(*DeleteTreeRequest))
   392  	}
   393  	return interceptor(ctx, in, info, handler)
   394  }
   395  
   396  func _TrillianAdmin_UndeleteTree_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
   397  	in := new(UndeleteTreeRequest)
   398  	if err := dec(in); err != nil {
   399  		return nil, err
   400  	}
   401  	if interceptor == nil {
   402  		return srv.(TrillianAdminServer).UndeleteTree(ctx, in)
   403  	}
   404  	info := &grpc.UnaryServerInfo{
   405  		Server:     srv,
   406  		FullMethod: "/trillian.TrillianAdmin/UndeleteTree",
   407  	}
   408  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
   409  		return srv.(TrillianAdminServer).UndeleteTree(ctx, req.(*UndeleteTreeRequest))
   410  	}
   411  	return interceptor(ctx, in, info, handler)
   412  }
   413  
   414  var _TrillianAdmin_serviceDesc = grpc.ServiceDesc{
   415  	ServiceName: "trillian.TrillianAdmin",
   416  	HandlerType: (*TrillianAdminServer)(nil),
   417  	Methods: []grpc.MethodDesc{
   418  		{
   419  			MethodName: "ListTrees",
   420  			Handler:    _TrillianAdmin_ListTrees_Handler,
   421  		},
   422  		{
   423  			MethodName: "GetTree",
   424  			Handler:    _TrillianAdmin_GetTree_Handler,
   425  		},
   426  		{
   427  			MethodName: "CreateTree",
   428  			Handler:    _TrillianAdmin_CreateTree_Handler,
   429  		},
   430  		{
   431  			MethodName: "UpdateTree",
   432  			Handler:    _TrillianAdmin_UpdateTree_Handler,
   433  		},
   434  		{
   435  			MethodName: "DeleteTree",
   436  			Handler:    _TrillianAdmin_DeleteTree_Handler,
   437  		},
   438  		{
   439  			MethodName: "UndeleteTree",
   440  			Handler:    _TrillianAdmin_UndeleteTree_Handler,
   441  		},
   442  	},
   443  	Streams:  []grpc.StreamDesc{},
   444  	Metadata: "trillian_admin_api.proto",
   445  }
   446  
   447  func init() { proto.RegisterFile("trillian_admin_api.proto", fileDescriptor2) }
   448  
   449  var fileDescriptor2 = []byte{
   450  	// 548 bytes of a gzipped FileDescriptorProto
   451  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0xe1, 0x6a, 0x13, 0x4d,
   452  	0x14, 0xfd, 0xb6, 0x2d, 0x6d, 0xbe, 0x9b, 0x1a, 0xcc, 0x94, 0x62, 0xba, 0x56, 0x8c, 0xa3, 0x42,
   453  	0x8d, 0xb2, 0x6b, 0x23, 0x22, 0x54, 0xfc, 0xd1, 0x2a, 0x15, 0x41, 0x21, 0xac, 0x29, 0x82, 0x20,
   454  	0xcb, 0x66, 0xf7, 0x26, 0x1d, 0x93, 0xec, 0xac, 0x3b, 0x13, 0x25, 0x88, 0x7f, 0x7c, 0x05, 0x5f,
   455  	0xc6, 0xf7, 0xf0, 0x15, 0x7c, 0x10, 0x99, 0xd9, 0xd9, 0xee, 0xa6, 0xdb, 0x48, 0xf1, 0xd7, 0xee,
   456  	0xdc, 0x73, 0xef, 0x3d, 0x77, 0xce, 0xb9, 0x0c, 0xb4, 0x64, 0xca, 0x26, 0x13, 0x16, 0xc4, 0x7e,
   457  	0x10, 0x4d, 0x59, 0xec, 0x07, 0x09, 0x73, 0x92, 0x94, 0x4b, 0x4e, 0x6a, 0x39, 0x62, 0x37, 0xf2,
   458  	0xbf, 0x0c, 0xb1, 0xed, 0x30, 0x9d, 0x27, 0x92, 0xbb, 0x63, 0x9c, 0x8b, 0x64, 0x60, 0x3e, 0x06,
   459  	0xdb, 0x1d, 0x71, 0x3e, 0x9a, 0xa0, 0x1b, 0x24, 0xcc, 0x0d, 0xe2, 0x98, 0xcb, 0x40, 0x32, 0x1e,
   460  	0x0b, 0x83, 0xb6, 0x0d, 0xaa, 0x4f, 0x83, 0xd9, 0xd0, 0x1d, 0x32, 0x9c, 0x44, 0xfe, 0x34, 0x10,
   461  	0xe3, 0x2c, 0x83, 0x3e, 0x86, 0xab, 0xaf, 0x99, 0x90, 0xfd, 0x14, 0x51, 0x78, 0xf8, 0x69, 0x86,
   462  	0x42, 0x92, 0x5b, 0xb0, 0x29, 0x4e, 0xf9, 0x17, 0x3f, 0xc2, 0x09, 0x4a, 0x8c, 0x5a, 0x56, 0xdb,
   463  	0xda, 0xab, 0x79, 0x75, 0x15, 0x7b, 0x91, 0x85, 0xe8, 0x13, 0x68, 0x96, 0xca, 0x44, 0xc2, 0x63,
   464  	0x81, 0x84, 0xc2, 0x9a, 0x4c, 0x11, 0x5b, 0x56, 0x7b, 0x75, 0xaf, 0xde, 0x6d, 0x38, 0x67, 0xd7,
   465  	0x50, 0x69, 0x9e, 0xc6, 0xe8, 0x3d, 0x68, 0xbc, 0x44, 0x5d, 0x97, 0xb3, 0x5d, 0x83, 0x0d, 0x85,
   466  	0xf8, 0x2c, 0x23, 0x5a, 0xf5, 0xd6, 0xd5, 0xf1, 0x55, 0x44, 0x19, 0x34, 0x9f, 0xa7, 0x18, 0x48,
   467  	0x2c, 0x67, 0x17, 0x1c, 0xd6, 0x32, 0x0e, 0xf2, 0x10, 0x6a, 0x63, 0x9c, 0xfb, 0x22, 0xc1, 0xb0,
   468  	0xb5, 0xa2, 0xf3, 0xb6, 0x1d, 0x23, 0xda, 0xdb, 0x04, 0x43, 0x36, 0x64, 0xa1, 0x56, 0xc9, 0xdb,
   469  	0x18, 0xe3, 0x5c, 0x45, 0xa8, 0x84, 0xe6, 0x49, 0x12, 0xfd, 0x03, 0xd5, 0x53, 0xa8, 0xcf, 0x74,
   470  	0xa1, 0xd6, 0xd4, 0xb0, 0xd9, 0x4e, 0x26, 0xbb, 0x93, 0xcb, 0xee, 0x1c, 0x2b, 0xd9, 0xdf, 0x04,
   471  	0x62, 0xec, 0x41, 0x96, 0xae, 0xfe, 0xe9, 0x03, 0x68, 0x66, 0x7a, 0x5e, 0x4a, 0x0e, 0x07, 0xb6,
   472  	0x4e, 0xe2, 0xe8, 0xd2, 0xf9, 0xdd, 0x9f, 0x6b, 0x70, 0xa5, 0x6f, 0x46, 0x3e, 0x54, 0xbb, 0x46,
   473  	0x8e, 0xe1, 0xff, 0x33, 0xd3, 0x88, 0x5d, 0xdc, 0xe7, 0xfc, 0x02, 0xd8, 0xd7, 0x2f, 0xc4, 0x32,
   474  	0x97, 0xe9, 0x7f, 0xe4, 0x1d, 0x6c, 0x18, 0x0f, 0x49, 0xab, 0xc8, 0x5c, 0xb4, 0xd5, 0x3e, 0xa7,
   475  	0x17, 0xa5, 0xdf, 0x7f, 0xfd, 0xfe, 0xb1, 0xb2, 0x4b, 0x6c, 0xf7, 0xf3, 0xfe, 0x00, 0x65, 0xb0,
   476  	0xef, 0xaa, 0x39, 0x85, 0xfb, 0xd5, 0x4c, 0xff, 0xac, 0xf3, 0x8d, 0xf4, 0x01, 0x0a, 0xc7, 0x49,
   477  	0x69, 0x8a, 0xca, 0x1e, 0x54, 0xda, 0xef, 0xe8, 0xf6, 0x5b, 0xb4, 0xb1, 0xd8, 0xfe, 0xc0, 0xea,
   478  	0x10, 0x04, 0x28, 0xcc, 0x2d, 0x77, 0xad, 0x58, 0x5e, 0xe9, 0xda, 0xd1, 0x5d, 0xef, 0x74, 0x6f,
   479  	0x5e, 0x34, 0xb4, 0x53, 0x4c, 0xae, 0x68, 0x3e, 0x00, 0x14, 0x6e, 0x96, 0x69, 0x2a, 0x1e, 0x2f,
   480  	0xd3, 0xa6, 0xf3, 0x37, 0x6d, 0x3e, 0xc2, 0x66, 0xd9, 0x7e, 0x72, 0xa3, 0x74, 0x8f, 0xea, 0x5a,
   481  	0x54, 0x28, 0xee, 0x6b, 0x8a, 0xbb, 0x9d, 0xdb, 0xcb, 0x29, 0x0e, 0x66, 0xa6, 0xcf, 0x51, 0x0f,
   482  	0x76, 0x42, 0x3e, 0xcd, 0xb7, 0x78, 0xf1, 0x35, 0x3a, 0xda, 0x5e, 0x58, 0xaa, 0xc3, 0x84, 0xf5,
   483  	0x54, 0xb8, 0x67, 0xbd, 0xb7, 0x47, 0x4c, 0x9e, 0xce, 0x06, 0x4e, 0xc8, 0xa7, 0xae, 0x79, 0x77,
   484  	0xf2, 0xd2, 0xc1, 0xba, 0xae, 0x7d, 0xf4, 0x27, 0x00, 0x00, 0xff, 0xff, 0x58, 0xc1, 0xa5, 0x85,
   485  	0xff, 0x04, 0x00, 0x00,
   486  }