github.com/kchristidis/fabric@v1.0.4-0.20171028114726-837acd08cde1/protos/peer/events.pb.go (about) 1 // Code generated by protoc-gen-go. DO NOT EDIT. 2 // source: peer/events.proto 3 4 package peer 5 6 import proto "github.com/golang/protobuf/proto" 7 import fmt "fmt" 8 import math "math" 9 import common "github.com/hyperledger/fabric/protos/common" 10 11 import ( 12 context "golang.org/x/net/context" 13 grpc "google.golang.org/grpc" 14 ) 15 16 // Reference imports to suppress errors if they are not otherwise used. 17 var _ = proto.Marshal 18 var _ = fmt.Errorf 19 var _ = math.Inf 20 21 type EventType int32 22 23 const ( 24 EventType_REGISTER EventType = 0 25 EventType_BLOCK EventType = 1 26 EventType_CHAINCODE EventType = 2 27 EventType_REJECTION EventType = 3 28 ) 29 30 var EventType_name = map[int32]string{ 31 0: "REGISTER", 32 1: "BLOCK", 33 2: "CHAINCODE", 34 3: "REJECTION", 35 } 36 var EventType_value = map[string]int32{ 37 "REGISTER": 0, 38 "BLOCK": 1, 39 "CHAINCODE": 2, 40 "REJECTION": 3, 41 } 42 43 func (x EventType) String() string { 44 return proto.EnumName(EventType_name, int32(x)) 45 } 46 func (EventType) EnumDescriptor() ([]byte, []int) { return fileDescriptor5, []int{0} } 47 48 // ChaincodeReg is used for registering chaincode Interests 49 // when EventType is CHAINCODE 50 type ChaincodeReg struct { 51 ChaincodeId string `protobuf:"bytes,1,opt,name=chaincode_id,json=chaincodeId" json:"chaincode_id,omitempty"` 52 EventName string `protobuf:"bytes,2,opt,name=event_name,json=eventName" json:"event_name,omitempty"` 53 } 54 55 func (m *ChaincodeReg) Reset() { *m = ChaincodeReg{} } 56 func (m *ChaincodeReg) String() string { return proto.CompactTextString(m) } 57 func (*ChaincodeReg) ProtoMessage() {} 58 func (*ChaincodeReg) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{0} } 59 60 func (m *ChaincodeReg) GetChaincodeId() string { 61 if m != nil { 62 return m.ChaincodeId 63 } 64 return "" 65 } 66 67 func (m *ChaincodeReg) GetEventName() string { 68 if m != nil { 69 return m.EventName 70 } 71 return "" 72 } 73 74 type Interest struct { 75 EventType EventType `protobuf:"varint,1,opt,name=event_type,json=eventType,enum=protos.EventType" json:"event_type,omitempty"` 76 // Ideally we should just have the following oneof for different 77 // Reg types and get rid of EventType. But this is an API change 78 // Additional Reg types may add messages specific to their type 79 // to the oneof. 80 // 81 // Types that are valid to be assigned to RegInfo: 82 // *Interest_ChaincodeRegInfo 83 RegInfo isInterest_RegInfo `protobuf_oneof:"RegInfo"` 84 ChainID string `protobuf:"bytes,3,opt,name=chainID" json:"chainID,omitempty"` 85 } 86 87 func (m *Interest) Reset() { *m = Interest{} } 88 func (m *Interest) String() string { return proto.CompactTextString(m) } 89 func (*Interest) ProtoMessage() {} 90 func (*Interest) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{1} } 91 92 type isInterest_RegInfo interface { 93 isInterest_RegInfo() 94 } 95 96 type Interest_ChaincodeRegInfo struct { 97 ChaincodeRegInfo *ChaincodeReg `protobuf:"bytes,2,opt,name=chaincode_reg_info,json=chaincodeRegInfo,oneof"` 98 } 99 100 func (*Interest_ChaincodeRegInfo) isInterest_RegInfo() {} 101 102 func (m *Interest) GetRegInfo() isInterest_RegInfo { 103 if m != nil { 104 return m.RegInfo 105 } 106 return nil 107 } 108 109 func (m *Interest) GetEventType() EventType { 110 if m != nil { 111 return m.EventType 112 } 113 return EventType_REGISTER 114 } 115 116 func (m *Interest) GetChaincodeRegInfo() *ChaincodeReg { 117 if x, ok := m.GetRegInfo().(*Interest_ChaincodeRegInfo); ok { 118 return x.ChaincodeRegInfo 119 } 120 return nil 121 } 122 123 func (m *Interest) GetChainID() string { 124 if m != nil { 125 return m.ChainID 126 } 127 return "" 128 } 129 130 // XXX_OneofFuncs is for the internal use of the proto package. 131 func (*Interest) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { 132 return _Interest_OneofMarshaler, _Interest_OneofUnmarshaler, _Interest_OneofSizer, []interface{}{ 133 (*Interest_ChaincodeRegInfo)(nil), 134 } 135 } 136 137 func _Interest_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { 138 m := msg.(*Interest) 139 // RegInfo 140 switch x := m.RegInfo.(type) { 141 case *Interest_ChaincodeRegInfo: 142 b.EncodeVarint(2<<3 | proto.WireBytes) 143 if err := b.EncodeMessage(x.ChaincodeRegInfo); err != nil { 144 return err 145 } 146 case nil: 147 default: 148 return fmt.Errorf("Interest.RegInfo has unexpected type %T", x) 149 } 150 return nil 151 } 152 153 func _Interest_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { 154 m := msg.(*Interest) 155 switch tag { 156 case 2: // RegInfo.chaincode_reg_info 157 if wire != proto.WireBytes { 158 return true, proto.ErrInternalBadWireType 159 } 160 msg := new(ChaincodeReg) 161 err := b.DecodeMessage(msg) 162 m.RegInfo = &Interest_ChaincodeRegInfo{msg} 163 return true, err 164 default: 165 return false, nil 166 } 167 } 168 169 func _Interest_OneofSizer(msg proto.Message) (n int) { 170 m := msg.(*Interest) 171 // RegInfo 172 switch x := m.RegInfo.(type) { 173 case *Interest_ChaincodeRegInfo: 174 s := proto.Size(x.ChaincodeRegInfo) 175 n += proto.SizeVarint(2<<3 | proto.WireBytes) 176 n += proto.SizeVarint(uint64(s)) 177 n += s 178 case nil: 179 default: 180 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) 181 } 182 return n 183 } 184 185 // ---------- consumer events --------- 186 // Register is sent by consumers for registering events 187 // string type - "register" 188 type Register struct { 189 Events []*Interest `protobuf:"bytes,1,rep,name=events" json:"events,omitempty"` 190 } 191 192 func (m *Register) Reset() { *m = Register{} } 193 func (m *Register) String() string { return proto.CompactTextString(m) } 194 func (*Register) ProtoMessage() {} 195 func (*Register) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{2} } 196 197 func (m *Register) GetEvents() []*Interest { 198 if m != nil { 199 return m.Events 200 } 201 return nil 202 } 203 204 // Rejection is sent by consumers for erroneous transaction rejection events 205 // string type - "rejection" 206 type Rejection struct { 207 Tx *Transaction `protobuf:"bytes,1,opt,name=tx" json:"tx,omitempty"` 208 ErrorMsg string `protobuf:"bytes,2,opt,name=error_msg,json=errorMsg" json:"error_msg,omitempty"` 209 } 210 211 func (m *Rejection) Reset() { *m = Rejection{} } 212 func (m *Rejection) String() string { return proto.CompactTextString(m) } 213 func (*Rejection) ProtoMessage() {} 214 func (*Rejection) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{3} } 215 216 func (m *Rejection) GetTx() *Transaction { 217 if m != nil { 218 return m.Tx 219 } 220 return nil 221 } 222 223 func (m *Rejection) GetErrorMsg() string { 224 if m != nil { 225 return m.ErrorMsg 226 } 227 return "" 228 } 229 230 // ---------- producer events --------- 231 type Unregister struct { 232 Events []*Interest `protobuf:"bytes,1,rep,name=events" json:"events,omitempty"` 233 } 234 235 func (m *Unregister) Reset() { *m = Unregister{} } 236 func (m *Unregister) String() string { return proto.CompactTextString(m) } 237 func (*Unregister) ProtoMessage() {} 238 func (*Unregister) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{4} } 239 240 func (m *Unregister) GetEvents() []*Interest { 241 if m != nil { 242 return m.Events 243 } 244 return nil 245 } 246 247 // SignedEvent is used for any communication between consumer and producer 248 type SignedEvent struct { 249 // Signature over the event bytes 250 Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"` 251 // Marshal of Event object 252 EventBytes []byte `protobuf:"bytes,2,opt,name=eventBytes,proto3" json:"eventBytes,omitempty"` 253 } 254 255 func (m *SignedEvent) Reset() { *m = SignedEvent{} } 256 func (m *SignedEvent) String() string { return proto.CompactTextString(m) } 257 func (*SignedEvent) ProtoMessage() {} 258 func (*SignedEvent) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{5} } 259 260 func (m *SignedEvent) GetSignature() []byte { 261 if m != nil { 262 return m.Signature 263 } 264 return nil 265 } 266 267 func (m *SignedEvent) GetEventBytes() []byte { 268 if m != nil { 269 return m.EventBytes 270 } 271 return nil 272 } 273 274 // Event is used by 275 // - consumers (adapters) to send Register 276 // - producer to advertise supported types and events 277 type Event struct { 278 // Types that are valid to be assigned to Event: 279 // *Event_Register 280 // *Event_Block 281 // *Event_ChaincodeEvent 282 // *Event_Rejection 283 // *Event_Unregister 284 Event isEvent_Event `protobuf_oneof:"Event"` 285 // Creator of the event, specified as a certificate chain 286 Creator []byte `protobuf:"bytes,6,opt,name=creator,proto3" json:"creator,omitempty"` 287 } 288 289 func (m *Event) Reset() { *m = Event{} } 290 func (m *Event) String() string { return proto.CompactTextString(m) } 291 func (*Event) ProtoMessage() {} 292 func (*Event) Descriptor() ([]byte, []int) { return fileDescriptor5, []int{6} } 293 294 type isEvent_Event interface { 295 isEvent_Event() 296 } 297 298 type Event_Register struct { 299 Register *Register `protobuf:"bytes,1,opt,name=register,oneof"` 300 } 301 type Event_Block struct { 302 Block *common.Block `protobuf:"bytes,2,opt,name=block,oneof"` 303 } 304 type Event_ChaincodeEvent struct { 305 ChaincodeEvent *ChaincodeEvent `protobuf:"bytes,3,opt,name=chaincode_event,json=chaincodeEvent,oneof"` 306 } 307 type Event_Rejection struct { 308 Rejection *Rejection `protobuf:"bytes,4,opt,name=rejection,oneof"` 309 } 310 type Event_Unregister struct { 311 Unregister *Unregister `protobuf:"bytes,5,opt,name=unregister,oneof"` 312 } 313 314 func (*Event_Register) isEvent_Event() {} 315 func (*Event_Block) isEvent_Event() {} 316 func (*Event_ChaincodeEvent) isEvent_Event() {} 317 func (*Event_Rejection) isEvent_Event() {} 318 func (*Event_Unregister) isEvent_Event() {} 319 320 func (m *Event) GetEvent() isEvent_Event { 321 if m != nil { 322 return m.Event 323 } 324 return nil 325 } 326 327 func (m *Event) GetRegister() *Register { 328 if x, ok := m.GetEvent().(*Event_Register); ok { 329 return x.Register 330 } 331 return nil 332 } 333 334 func (m *Event) GetBlock() *common.Block { 335 if x, ok := m.GetEvent().(*Event_Block); ok { 336 return x.Block 337 } 338 return nil 339 } 340 341 func (m *Event) GetChaincodeEvent() *ChaincodeEvent { 342 if x, ok := m.GetEvent().(*Event_ChaincodeEvent); ok { 343 return x.ChaincodeEvent 344 } 345 return nil 346 } 347 348 func (m *Event) GetRejection() *Rejection { 349 if x, ok := m.GetEvent().(*Event_Rejection); ok { 350 return x.Rejection 351 } 352 return nil 353 } 354 355 func (m *Event) GetUnregister() *Unregister { 356 if x, ok := m.GetEvent().(*Event_Unregister); ok { 357 return x.Unregister 358 } 359 return nil 360 } 361 362 func (m *Event) GetCreator() []byte { 363 if m != nil { 364 return m.Creator 365 } 366 return nil 367 } 368 369 // XXX_OneofFuncs is for the internal use of the proto package. 370 func (*Event) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) { 371 return _Event_OneofMarshaler, _Event_OneofUnmarshaler, _Event_OneofSizer, []interface{}{ 372 (*Event_Register)(nil), 373 (*Event_Block)(nil), 374 (*Event_ChaincodeEvent)(nil), 375 (*Event_Rejection)(nil), 376 (*Event_Unregister)(nil), 377 } 378 } 379 380 func _Event_OneofMarshaler(msg proto.Message, b *proto.Buffer) error { 381 m := msg.(*Event) 382 // Event 383 switch x := m.Event.(type) { 384 case *Event_Register: 385 b.EncodeVarint(1<<3 | proto.WireBytes) 386 if err := b.EncodeMessage(x.Register); err != nil { 387 return err 388 } 389 case *Event_Block: 390 b.EncodeVarint(2<<3 | proto.WireBytes) 391 if err := b.EncodeMessage(x.Block); err != nil { 392 return err 393 } 394 case *Event_ChaincodeEvent: 395 b.EncodeVarint(3<<3 | proto.WireBytes) 396 if err := b.EncodeMessage(x.ChaincodeEvent); err != nil { 397 return err 398 } 399 case *Event_Rejection: 400 b.EncodeVarint(4<<3 | proto.WireBytes) 401 if err := b.EncodeMessage(x.Rejection); err != nil { 402 return err 403 } 404 case *Event_Unregister: 405 b.EncodeVarint(5<<3 | proto.WireBytes) 406 if err := b.EncodeMessage(x.Unregister); err != nil { 407 return err 408 } 409 case nil: 410 default: 411 return fmt.Errorf("Event.Event has unexpected type %T", x) 412 } 413 return nil 414 } 415 416 func _Event_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) { 417 m := msg.(*Event) 418 switch tag { 419 case 1: // Event.register 420 if wire != proto.WireBytes { 421 return true, proto.ErrInternalBadWireType 422 } 423 msg := new(Register) 424 err := b.DecodeMessage(msg) 425 m.Event = &Event_Register{msg} 426 return true, err 427 case 2: // Event.block 428 if wire != proto.WireBytes { 429 return true, proto.ErrInternalBadWireType 430 } 431 msg := new(common.Block) 432 err := b.DecodeMessage(msg) 433 m.Event = &Event_Block{msg} 434 return true, err 435 case 3: // Event.chaincode_event 436 if wire != proto.WireBytes { 437 return true, proto.ErrInternalBadWireType 438 } 439 msg := new(ChaincodeEvent) 440 err := b.DecodeMessage(msg) 441 m.Event = &Event_ChaincodeEvent{msg} 442 return true, err 443 case 4: // Event.rejection 444 if wire != proto.WireBytes { 445 return true, proto.ErrInternalBadWireType 446 } 447 msg := new(Rejection) 448 err := b.DecodeMessage(msg) 449 m.Event = &Event_Rejection{msg} 450 return true, err 451 case 5: // Event.unregister 452 if wire != proto.WireBytes { 453 return true, proto.ErrInternalBadWireType 454 } 455 msg := new(Unregister) 456 err := b.DecodeMessage(msg) 457 m.Event = &Event_Unregister{msg} 458 return true, err 459 default: 460 return false, nil 461 } 462 } 463 464 func _Event_OneofSizer(msg proto.Message) (n int) { 465 m := msg.(*Event) 466 // Event 467 switch x := m.Event.(type) { 468 case *Event_Register: 469 s := proto.Size(x.Register) 470 n += proto.SizeVarint(1<<3 | proto.WireBytes) 471 n += proto.SizeVarint(uint64(s)) 472 n += s 473 case *Event_Block: 474 s := proto.Size(x.Block) 475 n += proto.SizeVarint(2<<3 | proto.WireBytes) 476 n += proto.SizeVarint(uint64(s)) 477 n += s 478 case *Event_ChaincodeEvent: 479 s := proto.Size(x.ChaincodeEvent) 480 n += proto.SizeVarint(3<<3 | proto.WireBytes) 481 n += proto.SizeVarint(uint64(s)) 482 n += s 483 case *Event_Rejection: 484 s := proto.Size(x.Rejection) 485 n += proto.SizeVarint(4<<3 | proto.WireBytes) 486 n += proto.SizeVarint(uint64(s)) 487 n += s 488 case *Event_Unregister: 489 s := proto.Size(x.Unregister) 490 n += proto.SizeVarint(5<<3 | proto.WireBytes) 491 n += proto.SizeVarint(uint64(s)) 492 n += s 493 case nil: 494 default: 495 panic(fmt.Sprintf("proto: unexpected type %T in oneof", x)) 496 } 497 return n 498 } 499 500 func init() { 501 proto.RegisterType((*ChaincodeReg)(nil), "protos.ChaincodeReg") 502 proto.RegisterType((*Interest)(nil), "protos.Interest") 503 proto.RegisterType((*Register)(nil), "protos.Register") 504 proto.RegisterType((*Rejection)(nil), "protos.Rejection") 505 proto.RegisterType((*Unregister)(nil), "protos.Unregister") 506 proto.RegisterType((*SignedEvent)(nil), "protos.SignedEvent") 507 proto.RegisterType((*Event)(nil), "protos.Event") 508 proto.RegisterEnum("protos.EventType", EventType_name, EventType_value) 509 } 510 511 // Reference imports to suppress errors if they are not otherwise used. 512 var _ context.Context 513 var _ grpc.ClientConn 514 515 // This is a compile-time assertion to ensure that this generated file 516 // is compatible with the grpc package it is being compiled against. 517 const _ = grpc.SupportPackageIsVersion4 518 519 // Client API for Events service 520 521 type EventsClient interface { 522 // event chatting using Event 523 Chat(ctx context.Context, opts ...grpc.CallOption) (Events_ChatClient, error) 524 } 525 526 type eventsClient struct { 527 cc *grpc.ClientConn 528 } 529 530 func NewEventsClient(cc *grpc.ClientConn) EventsClient { 531 return &eventsClient{cc} 532 } 533 534 func (c *eventsClient) Chat(ctx context.Context, opts ...grpc.CallOption) (Events_ChatClient, error) { 535 stream, err := grpc.NewClientStream(ctx, &_Events_serviceDesc.Streams[0], c.cc, "/protos.Events/Chat", opts...) 536 if err != nil { 537 return nil, err 538 } 539 x := &eventsChatClient{stream} 540 return x, nil 541 } 542 543 type Events_ChatClient interface { 544 Send(*SignedEvent) error 545 Recv() (*Event, error) 546 grpc.ClientStream 547 } 548 549 type eventsChatClient struct { 550 grpc.ClientStream 551 } 552 553 func (x *eventsChatClient) Send(m *SignedEvent) error { 554 return x.ClientStream.SendMsg(m) 555 } 556 557 func (x *eventsChatClient) Recv() (*Event, error) { 558 m := new(Event) 559 if err := x.ClientStream.RecvMsg(m); err != nil { 560 return nil, err 561 } 562 return m, nil 563 } 564 565 // Server API for Events service 566 567 type EventsServer interface { 568 // event chatting using Event 569 Chat(Events_ChatServer) error 570 } 571 572 func RegisterEventsServer(s *grpc.Server, srv EventsServer) { 573 s.RegisterService(&_Events_serviceDesc, srv) 574 } 575 576 func _Events_Chat_Handler(srv interface{}, stream grpc.ServerStream) error { 577 return srv.(EventsServer).Chat(&eventsChatServer{stream}) 578 } 579 580 type Events_ChatServer interface { 581 Send(*Event) error 582 Recv() (*SignedEvent, error) 583 grpc.ServerStream 584 } 585 586 type eventsChatServer struct { 587 grpc.ServerStream 588 } 589 590 func (x *eventsChatServer) Send(m *Event) error { 591 return x.ServerStream.SendMsg(m) 592 } 593 594 func (x *eventsChatServer) Recv() (*SignedEvent, error) { 595 m := new(SignedEvent) 596 if err := x.ServerStream.RecvMsg(m); err != nil { 597 return nil, err 598 } 599 return m, nil 600 } 601 602 var _Events_serviceDesc = grpc.ServiceDesc{ 603 ServiceName: "protos.Events", 604 HandlerType: (*EventsServer)(nil), 605 Methods: []grpc.MethodDesc{}, 606 Streams: []grpc.StreamDesc{ 607 { 608 StreamName: "Chat", 609 Handler: _Events_Chat_Handler, 610 ServerStreams: true, 611 ClientStreams: true, 612 }, 613 }, 614 Metadata: "peer/events.proto", 615 } 616 617 func init() { proto.RegisterFile("peer/events.proto", fileDescriptor5) } 618 619 var fileDescriptor5 = []byte{ 620 // 611 bytes of a gzipped FileDescriptorProto 621 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x54, 0x4f, 0x6f, 0x9b, 0x4e, 622 0x10, 0x05, 0x27, 0x76, 0xcc, 0xd8, 0xce, 0xcf, 0xd9, 0xfc, 0x14, 0x21, 0xf7, 0x8f, 0x52, 0xaa, 623 0x4a, 0x6e, 0x0f, 0x26, 0xa5, 0x51, 0x0f, 0xbd, 0x05, 0x82, 0x0a, 0x4d, 0xf3, 0x47, 0x1b, 0xf7, 624 0xd2, 0x43, 0x2d, 0x8c, 0x27, 0x98, 0x26, 0x06, 0x6b, 0xd9, 0x54, 0xf1, 0x27, 0xea, 0xa9, 0xdf, 625 0xb1, 0x62, 0x61, 0x81, 0xb4, 0xa7, 0x9e, 0xf0, 0xcc, 0xbc, 0x37, 0xfb, 0xf6, 0xcd, 0xac, 0x61, 626 0x6f, 0x8d, 0xc8, 0x4c, 0xfc, 0x81, 0x09, 0xcf, 0x26, 0x6b, 0x96, 0xf2, 0x94, 0x74, 0xc4, 0x27, 627 0x1b, 0xed, 0x87, 0xe9, 0x6a, 0x95, 0x26, 0x66, 0xf1, 0x29, 0x8a, 0xa3, 0x91, 0xc0, 0x87, 0xcb, 628 0x20, 0x4e, 0xc2, 0x74, 0x81, 0x33, 0xc1, 0x2c, 0x6b, 0x07, 0xa2, 0xc6, 0x59, 0x90, 0x64, 0x41, 629 0xc8, 0x63, 0xc9, 0x31, 0xae, 0xa0, 0xef, 0x48, 0x02, 0xc5, 0x88, 0xbc, 0x80, 0x7e, 0xdd, 0x20, 630 0x5e, 0xe8, 0xea, 0xa1, 0x3a, 0xd6, 0x68, 0xaf, 0xca, 0xf9, 0x0b, 0xf2, 0x0c, 0x40, 0x74, 0x9e, 631 0x25, 0xc1, 0x0a, 0xf5, 0x96, 0x00, 0x68, 0x22, 0x73, 0x11, 0xac, 0xd0, 0xf8, 0xa9, 0x42, 0xd7, 632 0x4f, 0x38, 0x32, 0xcc, 0x38, 0x39, 0x92, 0x58, 0xbe, 0x59, 0xa3, 0x68, 0xb6, 0x6b, 0xed, 0x15, 633 0x47, 0x67, 0x13, 0x37, 0xaf, 0x4c, 0x37, 0x6b, 0x2c, 0xe9, 0xf9, 0x4f, 0x72, 0x0a, 0xa4, 0x16, 634 0xc0, 0x30, 0x9a, 0xc5, 0xc9, 0x4d, 0x2a, 0x4e, 0xe9, 0x59, 0xff, 0x4b, 0x66, 0x53, 0xb2, 0xa7, 635 0xd0, 0x61, 0xd8, 0x88, 0xfd, 0xe4, 0x26, 0x25, 0x3a, 0xec, 0x88, 0x9c, 0x7f, 0xaa, 0x6f, 0x09, 636 0x81, 0x32, 0xb4, 0x35, 0xd8, 0x29, 0x41, 0xc6, 0x31, 0x74, 0x29, 0x46, 0x71, 0xc6, 0x91, 0x91, 637 0x31, 0x74, 0x0a, 0xa3, 0x75, 0xf5, 0x70, 0x6b, 0xdc, 0xb3, 0x86, 0xf2, 0x28, 0x79, 0x15, 0x5a, 638 0xd6, 0x8d, 0x73, 0xd0, 0x28, 0x7e, 0x47, 0x61, 0x22, 0x79, 0x09, 0x2d, 0xfe, 0x20, 0xee, 0xd5, 639 0xb3, 0xf6, 0x25, 0x65, 0x5a, 0xbb, 0x4c, 0x5b, 0xfc, 0x81, 0x3c, 0x01, 0x0d, 0x19, 0x4b, 0xd9, 640 0x6c, 0x95, 0x45, 0xa5, 0x5f, 0x5d, 0x91, 0x38, 0xcf, 0x22, 0xe3, 0x3d, 0xc0, 0x97, 0x84, 0xfd, 641 0xbb, 0x8c, 0x33, 0xe8, 0x5d, 0xc7, 0x51, 0x82, 0x0b, 0xe1, 0x22, 0x79, 0x0a, 0x5a, 0x16, 0x47, 642 0x49, 0xc0, 0xef, 0x59, 0xe1, 0x73, 0x9f, 0xd6, 0x09, 0xf2, 0xbc, 0x1c, 0x83, 0xbd, 0xe1, 0x98, 643 0x09, 0x09, 0x7d, 0xda, 0xc8, 0x18, 0xbf, 0x5a, 0xd0, 0x2e, 0xfa, 0x4c, 0xa0, 0x2b, 0xc5, 0x94, 644 0xd7, 0xaa, 0x24, 0x48, 0xaf, 0x3c, 0x85, 0x56, 0x18, 0xf2, 0x0a, 0xda, 0xf3, 0xbb, 0x34, 0xbc, 645 0x2d, 0x27, 0x34, 0x98, 0x94, 0x1b, 0x69, 0xe7, 0x49, 0x4f, 0xa1, 0x45, 0x95, 0x9c, 0xc0, 0x7f, 646 0x7f, 0xec, 0xa5, 0x98, 0x4b, 0xcf, 0x3a, 0xf8, 0x6b, 0xa4, 0x42, 0x87, 0xa7, 0xd0, 0xdd, 0xf0, 647 0x51, 0x86, 0xbc, 0x05, 0x8d, 0x49, 0xdf, 0xf5, 0x6d, 0x41, 0xde, 0xab, 0xa5, 0x95, 0x05, 0x4f, 648 0xa1, 0x35, 0x8a, 0x1c, 0x03, 0xdc, 0x57, 0xde, 0xea, 0x6d, 0xc1, 0x21, 0x92, 0x53, 0xbb, 0xee, 649 0x29, 0xb4, 0x81, 0x13, 0xbb, 0xc3, 0x30, 0xe0, 0x29, 0xd3, 0x3b, 0xc2, 0x29, 0x19, 0xda, 0x3b, 650 0xa5, 0x4b, 0x6f, 0x6c, 0xd0, 0xaa, 0xe5, 0x25, 0x7d, 0xe8, 0x52, 0xf7, 0xa3, 0x7f, 0x3d, 0x75, 651 0xe9, 0x50, 0x21, 0x1a, 0xb4, 0xed, 0xcf, 0x97, 0xce, 0xd9, 0x50, 0x25, 0x03, 0xd0, 0x1c, 0xef, 652 0xc4, 0xbf, 0x70, 0x2e, 0x4f, 0xdd, 0x61, 0x2b, 0x0f, 0xa9, 0xfb, 0xc9, 0x75, 0xa6, 0xfe, 0xe5, 653 0xc5, 0x70, 0xcb, 0xfa, 0x00, 0x1d, 0xd1, 0x23, 0x23, 0x47, 0xb0, 0xed, 0x2c, 0x03, 0x4e, 0xaa, 654 0x05, 0x6a, 0x0c, 0x76, 0x34, 0x78, 0xf4, 0x5a, 0x0c, 0x65, 0xac, 0x1e, 0xa9, 0xf6, 0x37, 0x30, 655 0x52, 0x16, 0x4d, 0x96, 0x9b, 0x35, 0xb2, 0x3b, 0x5c, 0x44, 0xc8, 0x26, 0x37, 0xc1, 0x9c, 0xc5, 656 0xa1, 0x04, 0xe7, 0xaf, 0xdd, 0x1e, 0x14, 0xfd, 0xaf, 0x82, 0xf0, 0x36, 0x88, 0xf0, 0xeb, 0xeb, 657 0x28, 0xe6, 0xcb, 0xfb, 0x79, 0x3e, 0x21, 0xb3, 0xc1, 0x34, 0x0b, 0xa6, 0x59, 0x30, 0xcd, 0x9c, 658 0x39, 0x2f, 0xfe, 0x66, 0xde, 0xfd, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x19, 0x83, 0x34, 0xd3, 0x82, 659 0x04, 0x00, 0x00, 660 }