// Code generated by protoc-gen-go. // source: grpc.proto // DO NOT EDIT! /* Package grpc is a generated protocol buffer package. It is generated from these files: grpc.proto It has these top-level messages: Empty Boolean InputArray Init Input InputAdd Output */ package grpc import proto "github.com/golang/protobuf/proto" import fmt "fmt" import math "math" import ( context "golang.org/x/net/context" grpc1 "google.golang.org/grpc" ) // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf // This is a compile-time assertion to ensure that this generated file // is compatible with the proto package it is being compiled against. // A compilation error at this line likely means your copy of the // proto package needs to be updated. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package type Crawlers int32 const ( Crawlers_HEALTH_ACTIVEDIRECTORY Crawlers = 0 Crawlers_HEALTH_DNS Crawlers = 1 Crawlers_HEALTH_FTP Crawlers = 2 Crawlers_HEALTH_FTPS Crawlers = 3 Crawlers_HEALTH_IMAP Crawlers = 4 Crawlers_HEALTH_LDAP Crawlers = 5 Crawlers_HEALTH_MONGODB Crawlers = 6 Crawlers_HEALTH_MSSQL Crawlers = 7 Crawlers_HEALTH_MYSQL Crawlers = 8 Crawlers_HEALTH_MARIADB Crawlers = 9 Crawlers_HEALTH_PGSQL Crawlers = 10 Crawlers_HEALTH_NETBIOS Crawlers = 11 Crawlers_HEALTH_ORACLE Crawlers = 12 Crawlers_HEALTH_POP3 Crawlers = 13 Crawlers_HEALTH_REDIS Crawlers = 14 Crawlers_HEALTH_RMI Crawlers = 15 Crawlers_HEALTH_SMB Crawlers = 16 Crawlers_HEALTH_SMTP Crawlers = 17 Crawlers_HEALTH_SNMPV2C Crawlers = 18 Crawlers_HEALTH_SNMPV3 Crawlers = 19 Crawlers_HEALTH_SSH Crawlers = 20 Crawlers_HEALTH_TELNET Crawlers = 21 Crawlers_HEALTH_WMI Crawlers = 22 Crawlers_HEALTH_CASSANDRA Crawlers = 23 Crawlers_HEALTH_HTTP Crawlers = 24 Crawlers_SQL Crawlers = 25 Crawlers_SNMP Crawlers = 26 Crawlers_WMI Crawlers = 27 Crawlers_JMX Crawlers = 28 Crawlers_REDIS Crawlers = 29 Crawlers_MONGODB Crawlers = 30 ) var Crawlers_name = map[int32]string{ 0: "HEALTH_ACTIVEDIRECTORY", 1: "HEALTH_DNS", 2: "HEALTH_FTP", 3: "HEALTH_FTPS", 4: "HEALTH_IMAP", 5: "HEALTH_LDAP", 6: "HEALTH_MONGODB", 7: "HEALTH_MSSQL", 8: "HEALTH_MYSQL", 9: "HEALTH_MARIADB", 10: "HEALTH_PGSQL", 11: "HEALTH_NETBIOS", 12: "HEALTH_ORACLE", 13: "HEALTH_POP3", 14: "HEALTH_REDIS", 15: "HEALTH_RMI", 16: "HEALTH_SMB", 17: "HEALTH_SMTP", 18: "HEALTH_SNMPV2C", 19: "HEALTH_SNMPV3", 20: "HEALTH_SSH", 21: "HEALTH_TELNET", 22: "HEALTH_WMI", 23: "HEALTH_CASSANDRA", 24: "HEALTH_HTTP", 25: "SQL", 26: "SNMP", 27: "WMI", 28: "JMX", 29: "REDIS", 30: "MONGODB", } var Crawlers_value = map[string]int32{ "HEALTH_ACTIVEDIRECTORY": 0, "HEALTH_DNS": 1, "HEALTH_FTP": 2, "HEALTH_FTPS": 3, "HEALTH_IMAP": 4, "HEALTH_LDAP": 5, "HEALTH_MONGODB": 6, "HEALTH_MSSQL": 7, "HEALTH_MYSQL": 8, "HEALTH_MARIADB": 9, "HEALTH_PGSQL": 10, "HEALTH_NETBIOS": 11, "HEALTH_ORACLE": 12, "HEALTH_POP3": 13, "HEALTH_REDIS": 14, "HEALTH_RMI": 15, "HEALTH_SMB": 16, "HEALTH_SMTP": 17, "HEALTH_SNMPV2C": 18, "HEALTH_SNMPV3": 19, "HEALTH_SSH": 20, "HEALTH_TELNET": 21, "HEALTH_WMI": 22, "HEALTH_CASSANDRA": 23, "HEALTH_HTTP": 24, "SQL": 25, "SNMP": 26, "WMI": 27, "JMX": 28, "REDIS": 29, "MONGODB": 30, } func (x Crawlers) String() string { return proto.EnumName(Crawlers_name, int32(x)) } func (Crawlers) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } type Empty struct { } func (m *Empty) Reset() { *m = Empty{} } func (m *Empty) String() string { return proto.CompactTextString(m) } func (*Empty) ProtoMessage() {} func (*Empty) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } type Boolean struct { Check bool `protobuf:"varint,1,opt,name=check" json:"check,omitempty"` } func (m *Boolean) Reset() { *m = Boolean{} } func (m *Boolean) String() string { return proto.CompactTextString(m) } func (*Boolean) ProtoMessage() {} func (*Boolean) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} } func (m *Boolean) GetCheck() bool { if m != nil { return m.Check } return false } type InputArray struct { In []*Init `protobuf:"bytes,1,rep,name=in" json:"in,omitempty"` } func (m *InputArray) Reset() { *m = InputArray{} } func (m *InputArray) String() string { return proto.CompactTextString(m) } func (*InputArray) ProtoMessage() {} func (*InputArray) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} } func (m *InputArray) GetIn() []*Init { if m != nil { return m.In } return nil } type Init struct { Name Crawlers `protobuf:"varint,1,opt,name=name,enum=Crawlers" json:"name,omitempty"` Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` } func (m *Init) Reset() { *m = Init{} } func (m *Init) String() string { return proto.CompactTextString(m) } func (*Init) ProtoMessage() {} func (*Init) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} } func (m *Init) GetName() Crawlers { if m != nil { return m.Name } return Crawlers_HEALTH_ACTIVEDIRECTORY } func (m *Init) GetData() []byte { if m != nil { return m.Data } return nil } type Input struct { Name Crawlers `protobuf:"varint,1,opt,name=name,enum=Crawlers" json:"name,omitempty"` Id string `protobuf:"bytes,2,opt,name=id" json:"id,omitempty"` } func (m *Input) Reset() { *m = Input{} } func (m *Input) String() string { return proto.CompactTextString(m) } func (*Input) ProtoMessage() {} func (*Input) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} } func (m *Input) GetName() Crawlers { if m != nil { return m.Name } return Crawlers_HEALTH_ACTIVEDIRECTORY } func (m *Input) GetId() string { if m != nil { return m.Id } return "" } type InputAdd struct { Name Crawlers `protobuf:"varint,1,opt,name=name,enum=Crawlers" json:"name,omitempty"` Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` } func (m *InputAdd) Reset() { *m = InputAdd{} } func (m *InputAdd) String() string { return proto.CompactTextString(m) } func (*InputAdd) ProtoMessage() {} func (*InputAdd) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} } func (m *InputAdd) GetName() Crawlers { if m != nil { return m.Name } return Crawlers_HEALTH_ACTIVEDIRECTORY } func (m *InputAdd) GetData() []byte { if m != nil { return m.Data } return nil } // response models type Output struct { StartDate int64 `protobuf:"varint,1,opt,name=startDate" json:"startDate,omitempty"` EndDate int64 `protobuf:"varint,2,opt,name=endDate" json:"endDate,omitempty"` Data []byte `protobuf:"bytes,3,opt,name=data,proto3" json:"data,omitempty"` } func (m *Output) Reset() { *m = Output{} } func (m *Output) String() string { return proto.CompactTextString(m) } func (*Output) ProtoMessage() {} func (*Output) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} } func (m *Output) GetStartDate() int64 { if m != nil { return m.StartDate } return 0 } func (m *Output) GetEndDate() int64 { if m != nil { return m.EndDate } return 0 } func (m *Output) GetData() []byte { if m != nil { return m.Data } return nil } func init() { proto.RegisterType((*Empty)(nil), "Empty") proto.RegisterType((*Boolean)(nil), "Boolean") proto.RegisterType((*InputArray)(nil), "InputArray") proto.RegisterType((*Init)(nil), "Init") proto.RegisterType((*Input)(nil), "Input") proto.RegisterType((*InputAdd)(nil), "InputAdd") proto.RegisterType((*Output)(nil), "Output") proto.RegisterEnum("Crawlers", Crawlers_name, Crawlers_value) } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc1.ClientConn // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. const _ = grpc1.SupportPackageIsVersion4 // Client API for Config service type ConfigClient interface { Add(ctx context.Context, in *InputAdd, opts ...grpc1.CallOption) (*Output, error) Remove(ctx context.Context, in *Input, opts ...grpc1.CallOption) (*Output, error) Init(ctx context.Context, in *InputArray, opts ...grpc1.CallOption) (*Output, error) } type configClient struct { cc *grpc1.ClientConn } func NewConfigClient(cc *grpc1.ClientConn) ConfigClient { return &configClient{cc} } func (c *configClient) Add(ctx context.Context, in *InputAdd, opts ...grpc1.CallOption) (*Output, error) { out := new(Output) err := grpc1.Invoke(ctx, "/Config/Add", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *configClient) Remove(ctx context.Context, in *Input, opts ...grpc1.CallOption) (*Output, error) { out := new(Output) err := grpc1.Invoke(ctx, "/Config/Remove", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } func (c *configClient) Init(ctx context.Context, in *InputArray, opts ...grpc1.CallOption) (*Output, error) { out := new(Output) err := grpc1.Invoke(ctx, "/Config/Init", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } // Server API for Config service type ConfigServer interface { Add(context.Context, *InputAdd) (*Output, error) Remove(context.Context, *Input) (*Output, error) Init(context.Context, *InputArray) (*Output, error) } func RegisterConfigServer(s *grpc1.Server, srv ConfigServer) { s.RegisterService(&_Config_serviceDesc, srv) } func _Config_Add_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc1.UnaryServerInterceptor) (interface{}, error) { in := new(InputAdd) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ConfigServer).Add(ctx, in) } info := &grpc1.UnaryServerInfo{ Server: srv, FullMethod: "/Config/Add", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ConfigServer).Add(ctx, req.(*InputAdd)) } return interceptor(ctx, in, info, handler) } func _Config_Remove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc1.UnaryServerInterceptor) (interface{}, error) { in := new(Input) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ConfigServer).Remove(ctx, in) } info := &grpc1.UnaryServerInfo{ Server: srv, FullMethod: "/Config/Remove", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ConfigServer).Remove(ctx, req.(*Input)) } return interceptor(ctx, in, info, handler) } func _Config_Init_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc1.UnaryServerInterceptor) (interface{}, error) { in := new(InputArray) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(ConfigServer).Init(ctx, in) } info := &grpc1.UnaryServerInfo{ Server: srv, FullMethod: "/Config/Init", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(ConfigServer).Init(ctx, req.(*InputArray)) } return interceptor(ctx, in, info, handler) } var _Config_serviceDesc = grpc1.ServiceDesc{ ServiceName: "Config", HandlerType: (*ConfigServer)(nil), Methods: []grpc1.MethodDesc{ { MethodName: "Add", Handler: _Config_Add_Handler, }, { MethodName: "Remove", Handler: _Config_Remove_Handler, }, { MethodName: "Init", Handler: _Config_Init_Handler, }, }, Streams: []grpc1.StreamDesc{}, Metadata: "grpc.proto", } // Client API for Data service type DataClient interface { Get(ctx context.Context, in *Input, opts ...grpc1.CallOption) (*Output, error) } type dataClient struct { cc *grpc1.ClientConn } func NewDataClient(cc *grpc1.ClientConn) DataClient { return &dataClient{cc} } func (c *dataClient) Get(ctx context.Context, in *Input, opts ...grpc1.CallOption) (*Output, error) { out := new(Output) err := grpc1.Invoke(ctx, "/Data/Get", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } // Server API for Data service type DataServer interface { Get(context.Context, *Input) (*Output, error) } func RegisterDataServer(s *grpc1.Server, srv DataServer) { s.RegisterService(&_Data_serviceDesc, srv) } func _Data_Get_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc1.UnaryServerInterceptor) (interface{}, error) { in := new(Input) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(DataServer).Get(ctx, in) } info := &grpc1.UnaryServerInfo{ Server: srv, FullMethod: "/Data/Get", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(DataServer).Get(ctx, req.(*Input)) } return interceptor(ctx, in, info, handler) } var _Data_serviceDesc = grpc1.ServiceDesc{ ServiceName: "Data", HandlerType: (*DataServer)(nil), Methods: []grpc1.MethodDesc{ { MethodName: "Get", Handler: _Data_Get_Handler, }, }, Streams: []grpc1.StreamDesc{}, Metadata: "grpc.proto", } // Client API for Status service type StatusClient interface { Status(ctx context.Context, in *Empty, opts ...grpc1.CallOption) (*Boolean, error) } type statusClient struct { cc *grpc1.ClientConn } func NewStatusClient(cc *grpc1.ClientConn) StatusClient { return &statusClient{cc} } func (c *statusClient) Status(ctx context.Context, in *Empty, opts ...grpc1.CallOption) (*Boolean, error) { out := new(Boolean) err := grpc1.Invoke(ctx, "/Status/Status", in, out, c.cc, opts...) if err != nil { return nil, err } return out, nil } // Server API for Status service type StatusServer interface { Status(context.Context, *Empty) (*Boolean, error) } func RegisterStatusServer(s *grpc1.Server, srv StatusServer) { s.RegisterService(&_Status_serviceDesc, srv) } func _Status_Status_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc1.UnaryServerInterceptor) (interface{}, error) { in := new(Empty) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(StatusServer).Status(ctx, in) } info := &grpc1.UnaryServerInfo{ Server: srv, FullMethod: "/Status/Status", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(StatusServer).Status(ctx, req.(*Empty)) } return interceptor(ctx, in, info, handler) } var _Status_serviceDesc = grpc1.ServiceDesc{ ServiceName: "Status", HandlerType: (*StatusServer)(nil), Methods: []grpc1.MethodDesc{ { MethodName: "Status", Handler: _Status_Status_Handler, }, }, Streams: []grpc1.StreamDesc{}, Metadata: "grpc.proto", } func init() { proto.RegisterFile("grpc.proto", fileDescriptor0) } var fileDescriptor0 = []byte{ // 576 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x54, 0x4d, 0x6f, 0xd3, 0x40, 0x10, 0x6d, 0x6c, 0xc7, 0x4e, 0x26, 0x6d, 0x3a, 0x1d, 0xda, 0x12, 0xd2, 0x0f, 0x22, 0x23, 0xa1, 0x8a, 0x83, 0x0f, 0xa9, 0x84, 0xc4, 0x81, 0x83, 0x63, 0x9b, 0xc6, 0x28, 0x8e, 0xcd, 0xae, 0x55, 0xe8, 0x09, 0xb9, 0x8d, 0x29, 0x11, 0xad, 0x13, 0xb9, 0x1b, 0x50, 0xff, 0x05, 0x3f, 0x19, 0xf9, 0x23, 0xcd, 0x1e, 0x90, 0x90, 0xb8, 0xcd, 0x7b, 0x6f, 0xf6, 0xbd, 0x5d, 0x7b, 0x77, 0x00, 0x6e, 0xf3, 0xe5, 0x8d, 0xb5, 0xcc, 0x17, 0x62, 0x61, 0x1a, 0xd0, 0xf4, 0xee, 0x97, 0xe2, 0xd1, 0x7c, 0x09, 0xc6, 0x68, 0xb1, 0xb8, 0x4b, 0x93, 0x8c, 0xf6, 0xa1, 0x79, 0xf3, 0x3d, 0xbd, 0xf9, 0xd1, 0x6b, 0x0c, 0x1a, 0x67, 0x2d, 0x56, 0x01, 0xf3, 0x15, 0x80, 0x9f, 0x2d, 0x57, 0xc2, 0xce, 0xf3, 0xe4, 0x91, 0x0e, 0x40, 0x99, 0x67, 0xbd, 0xc6, 0x40, 0x3d, 0xeb, 0x0c, 0x9b, 0x96, 0x9f, 0xcd, 0x05, 0x53, 0xe6, 0x99, 0xf9, 0x0e, 0xb4, 0xa2, 0xa6, 0x13, 0xd0, 0xb2, 0xe4, 0x3e, 0x2d, 0x1d, 0xba, 0xc3, 0xb6, 0xe5, 0xe4, 0xc9, 0xaf, 0xbb, 0x34, 0x7f, 0x60, 0x25, 0x4d, 0x04, 0xda, 0x2c, 0x11, 0x49, 0x4f, 0x19, 0x34, 0xce, 0xb6, 0x59, 0x59, 0x9b, 0x6f, 0xa1, 0x59, 0xfa, 0xff, 0x6b, 0x6d, 0x17, 0x94, 0xf9, 0xac, 0x5c, 0xd9, 0x66, 0xca, 0x7c, 0x66, 0xbe, 0x87, 0x56, 0xb5, 0xaf, 0xd9, 0xec, 0x7f, 0x62, 0x63, 0xd0, 0xc3, 0x95, 0x28, 0x72, 0x8f, 0xa1, 0xfd, 0x20, 0x92, 0x5c, 0xb8, 0x89, 0xa8, 0x1c, 0x54, 0xb6, 0x21, 0xa8, 0x07, 0x46, 0x9a, 0xcd, 0x4a, 0x4d, 0x29, 0xb5, 0x35, 0x7c, 0x72, 0x55, 0x37, 0xae, 0x6f, 0x7e, 0x6b, 0xd0, 0x5a, 0x87, 0x53, 0x1f, 0x0e, 0xc7, 0x9e, 0x3d, 0x89, 0xc7, 0x5f, 0x6d, 0x27, 0xf6, 0x2f, 0x3d, 0xd7, 0x67, 0x9e, 0x13, 0x87, 0xec, 0x0a, 0xb7, 0xa8, 0x0b, 0x50, 0x6b, 0xee, 0x94, 0x63, 0x43, 0xc2, 0x1f, 0xe2, 0x08, 0x15, 0xda, 0x85, 0xce, 0x06, 0x73, 0x54, 0x25, 0xc2, 0x0f, 0xec, 0x08, 0x35, 0x89, 0x98, 0xb8, 0x76, 0x84, 0x4d, 0x22, 0xe8, 0xd6, 0x44, 0x10, 0x4e, 0x2f, 0x42, 0x77, 0x84, 0x3a, 0x21, 0x6c, 0xaf, 0x39, 0xce, 0x3f, 0x4d, 0xd0, 0x90, 0x99, 0xab, 0x82, 0x69, 0xc9, 0xeb, 0x6c, 0xe6, 0xdb, 0xee, 0x08, 0xdb, 0x52, 0x57, 0x74, 0x51, 0x74, 0x81, 0xd4, 0x35, 0xf5, 0xe2, 0x91, 0x1f, 0x72, 0xec, 0xd0, 0x1e, 0xec, 0xd4, 0x5c, 0xc8, 0x6c, 0x67, 0xe2, 0xe1, 0xb6, 0xb4, 0xab, 0x28, 0x8c, 0xce, 0x71, 0x47, 0x72, 0x62, 0x9e, 0xeb, 0x73, 0xec, 0x4a, 0x47, 0x65, 0x81, 0x8f, 0xbb, 0x12, 0xe6, 0xc1, 0x08, 0x51, 0xb2, 0xe0, 0x41, 0x1c, 0xe1, 0x9e, 0x14, 0xcd, 0xa7, 0x41, 0x74, 0x39, 0x74, 0x90, 0xa4, 0xe8, 0x92, 0x3b, 0xc7, 0x67, 0xb2, 0x0f, 0x1f, 0xe3, 0xbe, 0xd4, 0x12, 0x7b, 0x93, 0xa9, 0x17, 0xe3, 0x81, 0xd4, 0xf2, 0x39, 0xf0, 0xf1, 0x90, 0xf6, 0x01, 0x6b, 0xec, 0xd8, 0x9c, 0xdb, 0x53, 0x97, 0xd9, 0xf8, 0x5c, 0xda, 0xc0, 0x38, 0x8e, 0x23, 0xec, 0x91, 0x01, 0x6a, 0xf1, 0x11, 0x5e, 0x50, 0x0b, 0xb4, 0x22, 0x0e, 0xfb, 0x05, 0x55, 0x58, 0x1c, 0x15, 0xc5, 0xc7, 0xe0, 0x0b, 0x1e, 0x53, 0x1b, 0x9a, 0xd5, 0x09, 0x4f, 0xa8, 0x03, 0xc6, 0xfa, 0x17, 0x9c, 0x0e, 0xaf, 0x41, 0x77, 0x16, 0xd9, 0xb7, 0xf9, 0x2d, 0x1d, 0x81, 0x5a, 0x5c, 0xd6, 0xb6, 0xb5, 0xbe, 0xb7, 0x7d, 0xc3, 0xaa, 0xee, 0xa0, 0xb9, 0x45, 0x47, 0xa0, 0xb3, 0xf4, 0x7e, 0xf1, 0x33, 0x25, 0xbd, 0xd2, 0x65, 0xf1, 0xb4, 0x7e, 0x5e, 0x1d, 0x6b, 0xf3, 0x14, 0x25, 0x7d, 0x38, 0x00, 0xcd, 0x4d, 0x44, 0x42, 0x3d, 0x50, 0x2f, 0x52, 0xf1, 0x17, 0x87, 0xe1, 0x6b, 0xd0, 0xb9, 0x48, 0xc4, 0xea, 0x81, 0x8e, 0x9f, 0x2a, 0xdd, 0x2a, 0x47, 0x40, 0xbf, 0x65, 0xd5, 0x13, 0xc0, 0xdc, 0xba, 0xd6, 0xcb, 0xf1, 0x70, 0xfe, 0x27, 0x00, 0x00, 0xff, 0xff, 0xe6, 0x5f, 0x44, 0x44, 0x2c, 0x04, 0x00, 0x00, }