// Code generated by protoc-gen-gogo. DO NOT EDIT. // source: app/service/openplatform/anti-fraud/api/grpc/v1/risk.proto package v1 import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" import _ "github.com/gogo/protobuf/gogoproto" import ( context "golang.org/x/net/context" grpc "google.golang.org/grpc" ) import strings "strings" import reflect "reflect" import io "io" // 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.GoGoProtoPackageIsVersion2 // please upgrade the proto package type RiskCheckRequest struct { MID int64 `protobuf:"varint,1,opt,name=mid,proto3" json:"mid" form:"mid" validate:"required"` IP string `protobuf:"bytes,2,opt,name=ip,proto3" json:"ip" form:"ip" validate:"required"` ItemID int64 `protobuf:"varint,3,opt,name=item_id,json=itemId,proto3" json:"item_id" form:"item_id" validate:"required"` Path string `protobuf:"bytes,4,opt,name=path,proto3" json:"path" form:"path" validate:"required"` Customer int64 `protobuf:"varint,5,opt,name=customer,proto3" json:"customer" form:"customer" validate:"required"` OpenTime int64 `protobuf:"varint,6,opt,name=open_time,json=openTime,proto3" json:"open_time" form:"open_time" validate:"required"` Voucher string `protobuf:"bytes,7,opt,name=voucher,proto3" json:"voucher" form:"voucher"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *RiskCheckRequest) Reset() { *m = RiskCheckRequest{} } func (*RiskCheckRequest) ProtoMessage() {} func (*RiskCheckRequest) Descriptor() ([]byte, []int) { return fileDescriptor_risk_5894149e138ee66f, []int{0} } func (m *RiskCheckRequest) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } func (m *RiskCheckRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { return xxx_messageInfo_RiskCheckRequest.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalTo(b) if err != nil { return nil, err } return b[:n], nil } } func (dst *RiskCheckRequest) XXX_Merge(src proto.Message) { xxx_messageInfo_RiskCheckRequest.Merge(dst, src) } func (m *RiskCheckRequest) XXX_Size() int { return m.Size() } func (m *RiskCheckRequest) XXX_DiscardUnknown() { xxx_messageInfo_RiskCheckRequest.DiscardUnknown(m) } var xxx_messageInfo_RiskCheckRequest proto.InternalMessageInfo type RiskCheckResponse struct { Success int64 `protobuf:"varint,1,opt,name=success,proto3" json:"success"` Rank int64 `protobuf:"varint,2,opt,name=rank,proto3" json:"rank"` Method int64 `protobuf:"varint,3,opt,name=method,proto3" json:"method"` Desc string `protobuf:"bytes,4,opt,name=desc,proto3" json:"desc"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` } func (m *RiskCheckResponse) Reset() { *m = RiskCheckResponse{} } func (*RiskCheckResponse) ProtoMessage() {} func (*RiskCheckResponse) Descriptor() ([]byte, []int) { return fileDescriptor_risk_5894149e138ee66f, []int{1} } func (m *RiskCheckResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } func (m *RiskCheckResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { return xxx_messageInfo_RiskCheckResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalTo(b) if err != nil { return nil, err } return b[:n], nil } } func (dst *RiskCheckResponse) XXX_Merge(src proto.Message) { xxx_messageInfo_RiskCheckResponse.Merge(dst, src) } func (m *RiskCheckResponse) XXX_Size() int { return m.Size() } func (m *RiskCheckResponse) XXX_DiscardUnknown() { xxx_messageInfo_RiskCheckResponse.DiscardUnknown(m) } var xxx_messageInfo_RiskCheckResponse proto.InternalMessageInfo func init() { proto.RegisterType((*RiskCheckRequest)(nil), "open.service.antifraud.v1.RiskCheckRequest") proto.RegisterType((*RiskCheckResponse)(nil), "open.service.antifraud.v1.RiskCheckResponse") } // Reference imports to suppress errors if they are not otherwise used. var _ context.Context var _ grpc.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 _ = grpc.SupportPackageIsVersion4 // RiskClient is the client API for Risk service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type RiskClient interface { // 风险检查 RiskCheck(ctx context.Context, in *RiskCheckRequest, opts ...grpc.CallOption) (*RiskCheckResponse, error) } type riskClient struct { cc *grpc.ClientConn } func NewRiskClient(cc *grpc.ClientConn) RiskClient { return &riskClient{cc} } func (c *riskClient) RiskCheck(ctx context.Context, in *RiskCheckRequest, opts ...grpc.CallOption) (*RiskCheckResponse, error) { out := new(RiskCheckResponse) err := c.cc.Invoke(ctx, "/open.service.antifraud.v1.Risk/RiskCheck", in, out, opts...) if err != nil { return nil, err } return out, nil } // RiskServer is the server API for Risk service. type RiskServer interface { // 风险检查 RiskCheck(context.Context, *RiskCheckRequest) (*RiskCheckResponse, error) } func RegisterRiskServer(s *grpc.Server, srv RiskServer) { s.RegisterService(&_Risk_serviceDesc, srv) } func _Risk_RiskCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(RiskCheckRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { return srv.(RiskServer).RiskCheck(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, FullMethod: "/open.service.antifraud.v1.Risk/RiskCheck", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { return srv.(RiskServer).RiskCheck(ctx, req.(*RiskCheckRequest)) } return interceptor(ctx, in, info, handler) } var _Risk_serviceDesc = grpc.ServiceDesc{ ServiceName: "open.service.antifraud.v1.Risk", HandlerType: (*RiskServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "RiskCheck", Handler: _Risk_RiskCheck_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "app/service/openplatform/anti-fraud/api/grpc/v1/risk.proto", } func (m *RiskCheckRequest) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalTo(dAtA) if err != nil { return nil, err } return dAtA[:n], nil } func (m *RiskCheckRequest) MarshalTo(dAtA []byte) (int, error) { var i int _ = i var l int _ = l if m.MID != 0 { dAtA[i] = 0x8 i++ i = encodeVarintRisk(dAtA, i, uint64(m.MID)) } if len(m.IP) > 0 { dAtA[i] = 0x12 i++ i = encodeVarintRisk(dAtA, i, uint64(len(m.IP))) i += copy(dAtA[i:], m.IP) } if m.ItemID != 0 { dAtA[i] = 0x18 i++ i = encodeVarintRisk(dAtA, i, uint64(m.ItemID)) } if len(m.Path) > 0 { dAtA[i] = 0x22 i++ i = encodeVarintRisk(dAtA, i, uint64(len(m.Path))) i += copy(dAtA[i:], m.Path) } if m.Customer != 0 { dAtA[i] = 0x28 i++ i = encodeVarintRisk(dAtA, i, uint64(m.Customer)) } if m.OpenTime != 0 { dAtA[i] = 0x30 i++ i = encodeVarintRisk(dAtA, i, uint64(m.OpenTime)) } if len(m.Voucher) > 0 { dAtA[i] = 0x3a i++ i = encodeVarintRisk(dAtA, i, uint64(len(m.Voucher))) i += copy(dAtA[i:], m.Voucher) } if m.XXX_unrecognized != nil { i += copy(dAtA[i:], m.XXX_unrecognized) } return i, nil } func (m *RiskCheckResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalTo(dAtA) if err != nil { return nil, err } return dAtA[:n], nil } func (m *RiskCheckResponse) MarshalTo(dAtA []byte) (int, error) { var i int _ = i var l int _ = l if m.Success != 0 { dAtA[i] = 0x8 i++ i = encodeVarintRisk(dAtA, i, uint64(m.Success)) } if m.Rank != 0 { dAtA[i] = 0x10 i++ i = encodeVarintRisk(dAtA, i, uint64(m.Rank)) } if m.Method != 0 { dAtA[i] = 0x18 i++ i = encodeVarintRisk(dAtA, i, uint64(m.Method)) } if len(m.Desc) > 0 { dAtA[i] = 0x22 i++ i = encodeVarintRisk(dAtA, i, uint64(len(m.Desc))) i += copy(dAtA[i:], m.Desc) } if m.XXX_unrecognized != nil { i += copy(dAtA[i:], m.XXX_unrecognized) } return i, nil } func encodeVarintRisk(dAtA []byte, offset int, v uint64) int { for v >= 1<<7 { dAtA[offset] = uint8(v&0x7f | 0x80) v >>= 7 offset++ } dAtA[offset] = uint8(v) return offset + 1 } func (m *RiskCheckRequest) Size() (n int) { if m == nil { return 0 } var l int _ = l if m.MID != 0 { n += 1 + sovRisk(uint64(m.MID)) } l = len(m.IP) if l > 0 { n += 1 + l + sovRisk(uint64(l)) } if m.ItemID != 0 { n += 1 + sovRisk(uint64(m.ItemID)) } l = len(m.Path) if l > 0 { n += 1 + l + sovRisk(uint64(l)) } if m.Customer != 0 { n += 1 + sovRisk(uint64(m.Customer)) } if m.OpenTime != 0 { n += 1 + sovRisk(uint64(m.OpenTime)) } l = len(m.Voucher) if l > 0 { n += 1 + l + sovRisk(uint64(l)) } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } return n } func (m *RiskCheckResponse) Size() (n int) { if m == nil { return 0 } var l int _ = l if m.Success != 0 { n += 1 + sovRisk(uint64(m.Success)) } if m.Rank != 0 { n += 1 + sovRisk(uint64(m.Rank)) } if m.Method != 0 { n += 1 + sovRisk(uint64(m.Method)) } l = len(m.Desc) if l > 0 { n += 1 + l + sovRisk(uint64(l)) } if m.XXX_unrecognized != nil { n += len(m.XXX_unrecognized) } return n } func sovRisk(x uint64) (n int) { for { n++ x >>= 7 if x == 0 { break } } return n } func sozRisk(x uint64) (n int) { return sovRisk(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } func (this *RiskCheckRequest) String() string { if this == nil { return "nil" } s := strings.Join([]string{`&RiskCheckRequest{`, `MID:` + fmt.Sprintf("%v", this.MID) + `,`, `IP:` + fmt.Sprintf("%v", this.IP) + `,`, `ItemID:` + fmt.Sprintf("%v", this.ItemID) + `,`, `Path:` + fmt.Sprintf("%v", this.Path) + `,`, `Customer:` + fmt.Sprintf("%v", this.Customer) + `,`, `OpenTime:` + fmt.Sprintf("%v", this.OpenTime) + `,`, `Voucher:` + fmt.Sprintf("%v", this.Voucher) + `,`, `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") return s } func (this *RiskCheckResponse) String() string { if this == nil { return "nil" } s := strings.Join([]string{`&RiskCheckResponse{`, `Success:` + fmt.Sprintf("%v", this.Success) + `,`, `Rank:` + fmt.Sprintf("%v", this.Rank) + `,`, `Method:` + fmt.Sprintf("%v", this.Method) + `,`, `Desc:` + fmt.Sprintf("%v", this.Desc) + `,`, `XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`, `}`, }, "") return s } func valueToStringRisk(v interface{}) string { rv := reflect.ValueOf(v) if rv.IsNil() { return "nil" } pv := reflect.Indirect(rv).Interface() return fmt.Sprintf("*%v", pv) } func (m *RiskCheckRequest) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { preIndex := iNdEx var wire uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowRisk } if iNdEx >= l { return io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { return fmt.Errorf("proto: RiskCheckRequest: wiretype end group for non-group") } if fieldNum <= 0 { return fmt.Errorf("proto: RiskCheckRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field MID", wireType) } m.MID = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowRisk } if iNdEx >= l { return io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ m.MID |= (int64(b) & 0x7F) << shift if b < 0x80 { break } } case 2: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field IP", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowRisk } if iNdEx >= l { return io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } intStringLen := int(stringLen) if intStringLen < 0 { return ErrInvalidLengthRisk } postIndex := iNdEx + intStringLen if postIndex > l { return io.ErrUnexpectedEOF } m.IP = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 3: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field ItemID", wireType) } m.ItemID = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowRisk } if iNdEx >= l { return io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ m.ItemID |= (int64(b) & 0x7F) << shift if b < 0x80 { break } } case 4: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowRisk } if iNdEx >= l { return io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } intStringLen := int(stringLen) if intStringLen < 0 { return ErrInvalidLengthRisk } postIndex := iNdEx + intStringLen if postIndex > l { return io.ErrUnexpectedEOF } m.Path = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 5: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field Customer", wireType) } m.Customer = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowRisk } if iNdEx >= l { return io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ m.Customer |= (int64(b) & 0x7F) << shift if b < 0x80 { break } } case 6: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field OpenTime", wireType) } m.OpenTime = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowRisk } if iNdEx >= l { return io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ m.OpenTime |= (int64(b) & 0x7F) << shift if b < 0x80 { break } } case 7: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Voucher", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowRisk } if iNdEx >= l { return io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } intStringLen := int(stringLen) if intStringLen < 0 { return ErrInvalidLengthRisk } postIndex := iNdEx + intStringLen if postIndex > l { return io.ErrUnexpectedEOF } m.Voucher = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipRisk(dAtA[iNdEx:]) if err != nil { return err } if skippy < 0 { return ErrInvalidLengthRisk } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } if iNdEx > l { return io.ErrUnexpectedEOF } return nil } func (m *RiskCheckResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { preIndex := iNdEx var wire uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowRisk } if iNdEx >= l { return io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { return fmt.Errorf("proto: RiskCheckResponse: wiretype end group for non-group") } if fieldNum <= 0 { return fmt.Errorf("proto: RiskCheckResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field Success", wireType) } m.Success = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowRisk } if iNdEx >= l { return io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ m.Success |= (int64(b) & 0x7F) << shift if b < 0x80 { break } } case 2: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field Rank", wireType) } m.Rank = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowRisk } if iNdEx >= l { return io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ m.Rank |= (int64(b) & 0x7F) << shift if b < 0x80 { break } } case 3: if wireType != 0 { return fmt.Errorf("proto: wrong wireType = %d for field Method", wireType) } m.Method = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowRisk } if iNdEx >= l { return io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ m.Method |= (int64(b) & 0x7F) << shift if b < 0x80 { break } } case 4: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field Desc", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return ErrIntOverflowRisk } if iNdEx >= l { return io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ stringLen |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } intStringLen := int(stringLen) if intStringLen < 0 { return ErrInvalidLengthRisk } postIndex := iNdEx + intStringLen if postIndex > l { return io.ErrUnexpectedEOF } m.Desc = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipRisk(dAtA[iNdEx:]) if err != nil { return err } if skippy < 0 { return ErrInvalidLengthRisk } if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...) iNdEx += skippy } } if iNdEx > l { return io.ErrUnexpectedEOF } return nil } func skipRisk(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 for iNdEx < l { var wire uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return 0, ErrIntOverflowRisk } if iNdEx >= l { return 0, io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ wire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } wireType := int(wire & 0x7) switch wireType { case 0: for shift := uint(0); ; shift += 7 { if shift >= 64 { return 0, ErrIntOverflowRisk } if iNdEx >= l { return 0, io.ErrUnexpectedEOF } iNdEx++ if dAtA[iNdEx-1] < 0x80 { break } } return iNdEx, nil case 1: iNdEx += 8 return iNdEx, nil case 2: var length int for shift := uint(0); ; shift += 7 { if shift >= 64 { return 0, ErrIntOverflowRisk } if iNdEx >= l { return 0, io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ length |= (int(b) & 0x7F) << shift if b < 0x80 { break } } iNdEx += length if length < 0 { return 0, ErrInvalidLengthRisk } return iNdEx, nil case 3: for { var innerWire uint64 var start int = iNdEx for shift := uint(0); ; shift += 7 { if shift >= 64 { return 0, ErrIntOverflowRisk } if iNdEx >= l { return 0, io.ErrUnexpectedEOF } b := dAtA[iNdEx] iNdEx++ innerWire |= (uint64(b) & 0x7F) << shift if b < 0x80 { break } } innerWireType := int(innerWire & 0x7) if innerWireType == 4 { break } next, err := skipRisk(dAtA[start:]) if err != nil { return 0, err } iNdEx = start + next } return iNdEx, nil case 4: return iNdEx, nil case 5: iNdEx += 4 return iNdEx, nil default: return 0, fmt.Errorf("proto: illegal wireType %d", wireType) } } panic("unreachable") } var ( ErrInvalidLengthRisk = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowRisk = fmt.Errorf("proto: integer overflow") ) func init() { proto.RegisterFile("app/service/openplatform/anti-fraud/api/grpc/v1/risk.proto", fileDescriptor_risk_5894149e138ee66f) } var fileDescriptor_risk_5894149e138ee66f = []byte{ // 541 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0x41, 0x6f, 0xd3, 0x30, 0x14, 0xc7, 0x97, 0xb4, 0xb4, 0xab, 0x91, 0x10, 0xf8, 0x14, 0xa6, 0x2d, 0xae, 0x02, 0x48, 0x93, 0x46, 0x13, 0xca, 0x84, 0x90, 0x8a, 0x10, 0x52, 0xe1, 0xd2, 0x03, 0x02, 0x45, 0x3b, 0x71, 0x99, 0xd2, 0xc4, 0x6d, 0xad, 0xce, 0xb5, 0x67, 0x3b, 0x39, 0x73, 0xe6, 0x23, 0xf0, 0x89, 0x76, 0xe4, 0xc8, 0xc9, 0x62, 0x39, 0xe6, 0x98, 0x4f, 0x80, 0xec, 0xa4, 0x05, 0xa1, 0x4e, 0xe2, 0x92, 0xf8, 0xfd, 0xdf, 0x7b, 0x3f, 0xfd, 0xed, 0x67, 0x83, 0x49, 0xc2, 0x79, 0x24, 0xb1, 0x28, 0x48, 0x8a, 0x23, 0xc6, 0xf1, 0x86, 0x5f, 0x25, 0x6a, 0xc1, 0x04, 0x8d, 0x92, 0x8d, 0x22, 0xa3, 0x85, 0x48, 0xf2, 0x2c, 0x4a, 0x38, 0x89, 0x96, 0x82, 0xa7, 0x51, 0x31, 0x8e, 0x04, 0x91, 0xeb, 0x90, 0x0b, 0xa6, 0x18, 0x7c, 0x6c, 0xea, 0xc3, 0xb6, 0x39, 0x34, 0xf5, 0xb6, 0x3c, 0x2c, 0xc6, 0x47, 0xa3, 0x25, 0x51, 0xab, 0x7c, 0x1e, 0xa6, 0x8c, 0x46, 0x4b, 0xb6, 0x64, 0x91, 0xed, 0x98, 0xe7, 0x0b, 0x1b, 0xd9, 0xc0, 0xae, 0x1a, 0x52, 0xf0, 0xad, 0x0b, 0x1e, 0xc6, 0x44, 0xae, 0xdf, 0xaf, 0x70, 0xba, 0x8e, 0xf1, 0x75, 0x8e, 0xa5, 0x82, 0x53, 0xd0, 0xa1, 0x24, 0xf3, 0x9c, 0xa1, 0x73, 0xda, 0x99, 0xbe, 0x28, 0x35, 0xea, 0x7c, 0x9c, 0x7d, 0xa8, 0x34, 0x32, 0x6a, 0xad, 0x91, 0x6f, 0x5c, 0x4e, 0x02, 0x4a, 0xb2, 0x60, 0x58, 0x24, 0x57, 0x24, 0x4b, 0x14, 0x9e, 0x04, 0x02, 0x5f, 0xe7, 0x44, 0xe0, 0x2c, 0x88, 0x4d, 0x19, 0x7c, 0x0b, 0x5c, 0xc2, 0x3d, 0x77, 0xe8, 0x9c, 0x0e, 0xa6, 0xa3, 0x52, 0x23, 0x77, 0xf6, 0xb9, 0xd2, 0xc8, 0x25, 0xbc, 0xd6, 0xe8, 0xa4, 0x01, 0x10, 0xbe, 0xbf, 0xdf, 0x25, 0x1c, 0x5e, 0x80, 0x3e, 0x51, 0x98, 0x5e, 0x92, 0xcc, 0xeb, 0x58, 0x1b, 0x6f, 0x4a, 0x8d, 0x7a, 0x33, 0x85, 0xa9, 0x75, 0xb2, 0x4d, 0xd6, 0x1a, 0x05, 0x2d, 0xac, 0x11, 0xf6, 0x13, 0x7b, 0x26, 0x3b, 0xcb, 0xe0, 0x3b, 0xd0, 0xe5, 0x89, 0x5a, 0x79, 0x5d, 0x6b, 0xeb, 0xac, 0xd2, 0xc8, 0xc6, 0xb5, 0x46, 0xa8, 0xa1, 0x98, 0x68, 0x3f, 0xc2, 0x16, 0xc2, 0x4f, 0xe0, 0x30, 0xcd, 0xa5, 0x62, 0x14, 0x0b, 0xef, 0x9e, 0xf5, 0x75, 0x5e, 0x69, 0xb4, 0xd3, 0x6a, 0x8d, 0x9e, 0x34, 0xa0, 0xad, 0xb2, 0x1f, 0xb6, 0x6b, 0x80, 0x31, 0x18, 0x98, 0x59, 0x5e, 0x2a, 0x42, 0xb1, 0xd7, 0xb3, 0xc4, 0x57, 0x95, 0x46, 0x7f, 0xc4, 0x5a, 0xa3, 0xa7, 0x0d, 0x72, 0x27, 0xdd, 0xc1, 0x34, 0xf9, 0x0b, 0x42, 0x31, 0x7c, 0x0d, 0xfa, 0x05, 0xcb, 0xd3, 0x15, 0x16, 0x5e, 0xdf, 0x6e, 0xf4, 0xc4, 0x9c, 0x58, 0x2b, 0xd5, 0x1a, 0x3d, 0x68, 0x78, 0xad, 0x10, 0xc4, 0xdb, 0x54, 0xf0, 0xdd, 0x01, 0x8f, 0xfe, 0xba, 0x0c, 0x92, 0xb3, 0x8d, 0xc4, 0xf0, 0x19, 0xe8, 0xcb, 0x3c, 0x4d, 0xb1, 0x94, 0xed, 0x8d, 0xb8, 0x6f, 0x70, 0xad, 0x14, 0x6f, 0x17, 0xf0, 0x18, 0x74, 0x45, 0xb2, 0x59, 0xdb, 0x91, 0x77, 0xa6, 0x87, 0xe6, 0x6c, 0x4d, 0x1c, 0xdb, 0x2f, 0x0c, 0x40, 0x8f, 0x62, 0xb5, 0x62, 0xdb, 0x71, 0x82, 0x4a, 0xa3, 0x56, 0x89, 0xdb, 0xbf, 0x21, 0x64, 0x58, 0xa6, 0xed, 0x74, 0x2c, 0xc1, 0xc4, 0xb1, 0xfd, 0xbe, 0xdc, 0x80, 0xae, 0xf1, 0x06, 0x17, 0x60, 0xb0, 0xf3, 0x08, 0xcf, 0xc2, 0x3b, 0x5f, 0x42, 0xf8, 0xef, 0xb5, 0x3e, 0x7a, 0xfe, 0x7f, 0xc5, 0xcd, 0xb6, 0xa7, 0xc7, 0x37, 0xb7, 0xfe, 0xc1, 0xcf, 0x5b, 0xff, 0xe0, 0x6b, 0xe9, 0x3b, 0x37, 0xa5, 0xef, 0xfc, 0x28, 0x7d, 0xe7, 0x57, 0xe9, 0x3b, 0x5f, 0xdc, 0x62, 0x3c, 0xef, 0xd9, 0xe7, 0x73, 0xfe, 0x3b, 0x00, 0x00, 0xff, 0xff, 0x79, 0xb3, 0x6d, 0xb9, 0xc6, 0x03, 0x00, 0x00, }