github.com/gogo/protobuf@v1.3.2/test/casttype/combos/marshaler/casttype.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: combos/marshaler/casttype.proto
     3  
     4  package casttype
     5  
     6  import (
     7  	bytes "bytes"
     8  	compress_gzip "compress/gzip"
     9  	encoding_binary "encoding/binary"
    10  	fmt "fmt"
    11  	_ "github.com/gogo/protobuf/gogoproto"
    12  	github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto"
    13  	proto "github.com/gogo/protobuf/proto"
    14  	github_com_gogo_protobuf_protoc_gen_gogo_descriptor "github.com/gogo/protobuf/protoc-gen-gogo/descriptor"
    15  	github_com_gogo_protobuf_sortkeys "github.com/gogo/protobuf/sortkeys"
    16  	github_com_gogo_protobuf_test_casttype "github.com/gogo/protobuf/test/casttype"
    17  	io_ioutil "io/ioutil"
    18  	math "math"
    19  	math_bits "math/bits"
    20  	reflect "reflect"
    21  	strings "strings"
    22  )
    23  
    24  // Reference imports to suppress errors if they are not otherwise used.
    25  var _ = proto.Marshal
    26  var _ = fmt.Errorf
    27  var _ = math.Inf
    28  
    29  // This is a compile-time assertion to ensure that this generated file
    30  // is compatible with the proto package it is being compiled against.
    31  // A compilation error at this line likely means your copy of the
    32  // proto package needs to be updated.
    33  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    34  
    35  type Castaway struct {
    36  	Int32Ptr             *int32                                                                                                      `protobuf:"varint,1,opt,name=Int32Ptr,casttype=int32" json:"Int32Ptr,omitempty"`
    37  	Int32                int32                                                                                                       `protobuf:"varint,2,opt,name=Int32,casttype=int32" json:"Int32"`
    38  	MyUint64Ptr          *github_com_gogo_protobuf_test_casttype.MyUint64Type                                                        `protobuf:"varint,3,opt,name=MyUint64Ptr,casttype=github.com/gogo/protobuf/test/casttype.MyUint64Type" json:"MyUint64Ptr,omitempty"`
    39  	MyUint64             github_com_gogo_protobuf_test_casttype.MyUint64Type                                                         `protobuf:"varint,4,opt,name=MyUint64,casttype=github.com/gogo/protobuf/test/casttype.MyUint64Type" json:"MyUint64"`
    40  	MyFloat32Ptr         *github_com_gogo_protobuf_test_casttype.MyFloat32Type                                                       `protobuf:"fixed32,5,opt,name=MyFloat32Ptr,casttype=github.com/gogo/protobuf/test/casttype.MyFloat32Type" json:"MyFloat32Ptr,omitempty"`
    41  	MyFloat32            github_com_gogo_protobuf_test_casttype.MyFloat32Type                                                        `protobuf:"fixed32,6,opt,name=MyFloat32,casttype=github.com/gogo/protobuf/test/casttype.MyFloat32Type" json:"MyFloat32"`
    42  	MyFloat64Ptr         *github_com_gogo_protobuf_test_casttype.MyFloat64Type                                                       `protobuf:"fixed64,7,opt,name=MyFloat64Ptr,casttype=github.com/gogo/protobuf/test/casttype.MyFloat64Type" json:"MyFloat64Ptr,omitempty"`
    43  	MyFloat64            github_com_gogo_protobuf_test_casttype.MyFloat64Type                                                        `protobuf:"fixed64,8,opt,name=MyFloat64,casttype=github.com/gogo/protobuf/test/casttype.MyFloat64Type" json:"MyFloat64"`
    44  	MyBytes              github_com_gogo_protobuf_test_casttype.Bytes                                                                `protobuf:"bytes,9,opt,name=MyBytes,casttype=github.com/gogo/protobuf/test/casttype.Bytes" json:"MyBytes,omitempty"`
    45  	NormalBytes          []byte                                                                                                      `protobuf:"bytes,10,opt,name=NormalBytes" json:"NormalBytes,omitempty"`
    46  	MyUint64S            []github_com_gogo_protobuf_test_casttype.MyUint64Type                                                       `protobuf:"varint,11,rep,name=MyUint64s,casttype=github.com/gogo/protobuf/test/casttype.MyUint64Type" json:"MyUint64s,omitempty"`
    47  	MyMap                github_com_gogo_protobuf_test_casttype.MyMapType                                                            `protobuf:"bytes,12,rep,name=MyMap,casttype=github.com/gogo/protobuf/test/casttype.MyMapType" json:"MyMap,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
    48  	MyCustomMap          map[github_com_gogo_protobuf_test_casttype.MyStringType]github_com_gogo_protobuf_test_casttype.MyUint64Type `protobuf:"bytes,13,rep,name=MyCustomMap,castkey=github.com/gogo/protobuf/test/casttype.MyStringType,castvalue=github.com/gogo/protobuf/test/casttype.MyUint64Type" json:"MyCustomMap,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
    49  	MyNullableMap        map[github_com_gogo_protobuf_test_casttype.MyInt32Type]*Wilson                                              `protobuf:"bytes,14,rep,name=MyNullableMap,castkey=github.com/gogo/protobuf/test/casttype.MyInt32Type" json:"MyNullableMap,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
    50  	MyEmbeddedMap        map[github_com_gogo_protobuf_test_casttype.MyInt32Type]Wilson                                               `protobuf:"bytes,15,rep,name=MyEmbeddedMap,castkey=github.com/gogo/protobuf/test/casttype.MyInt32Type" json:"MyEmbeddedMap" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
    51  	String_              *github_com_gogo_protobuf_test_casttype.MyStringType                                                        `protobuf:"bytes,16,opt,name=String,casttype=github.com/gogo/protobuf/test/casttype.MyStringType" json:"String,omitempty"`
    52  	XXX_NoUnkeyedLiteral struct{}                                                                                                    `json:"-"`
    53  	XXX_unrecognized     []byte                                                                                                      `json:"-"`
    54  	XXX_sizecache        int32                                                                                                       `json:"-"`
    55  }
    56  
    57  func (m *Castaway) Reset()      { *m = Castaway{} }
    58  func (*Castaway) ProtoMessage() {}
    59  func (*Castaway) Descriptor() ([]byte, []int) {
    60  	return fileDescriptor_aae4edfe8cc8b226, []int{0}
    61  }
    62  func (m *Castaway) XXX_Unmarshal(b []byte) error {
    63  	return xxx_messageInfo_Castaway.Unmarshal(m, b)
    64  }
    65  func (m *Castaway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
    66  	if deterministic {
    67  		return xxx_messageInfo_Castaway.Marshal(b, m, deterministic)
    68  	} else {
    69  		b = b[:cap(b)]
    70  		n, err := m.MarshalToSizedBuffer(b)
    71  		if err != nil {
    72  			return nil, err
    73  		}
    74  		return b[:n], nil
    75  	}
    76  }
    77  func (m *Castaway) XXX_Merge(src proto.Message) {
    78  	xxx_messageInfo_Castaway.Merge(m, src)
    79  }
    80  func (m *Castaway) XXX_Size() int {
    81  	return m.Size()
    82  }
    83  func (m *Castaway) XXX_DiscardUnknown() {
    84  	xxx_messageInfo_Castaway.DiscardUnknown(m)
    85  }
    86  
    87  var xxx_messageInfo_Castaway proto.InternalMessageInfo
    88  
    89  type Wilson struct {
    90  	Int64                *int64   `protobuf:"varint,1,opt,name=Int64" json:"Int64,omitempty"`
    91  	XXX_NoUnkeyedLiteral struct{} `json:"-"`
    92  	XXX_unrecognized     []byte   `json:"-"`
    93  	XXX_sizecache        int32    `json:"-"`
    94  }
    95  
    96  func (m *Wilson) Reset()      { *m = Wilson{} }
    97  func (*Wilson) ProtoMessage() {}
    98  func (*Wilson) Descriptor() ([]byte, []int) {
    99  	return fileDescriptor_aae4edfe8cc8b226, []int{1}
   100  }
   101  func (m *Wilson) XXX_Unmarshal(b []byte) error {
   102  	return xxx_messageInfo_Wilson.Unmarshal(m, b)
   103  }
   104  func (m *Wilson) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   105  	if deterministic {
   106  		return xxx_messageInfo_Wilson.Marshal(b, m, deterministic)
   107  	} else {
   108  		b = b[:cap(b)]
   109  		n, err := m.MarshalToSizedBuffer(b)
   110  		if err != nil {
   111  			return nil, err
   112  		}
   113  		return b[:n], nil
   114  	}
   115  }
   116  func (m *Wilson) XXX_Merge(src proto.Message) {
   117  	xxx_messageInfo_Wilson.Merge(m, src)
   118  }
   119  func (m *Wilson) XXX_Size() int {
   120  	return m.Size()
   121  }
   122  func (m *Wilson) XXX_DiscardUnknown() {
   123  	xxx_messageInfo_Wilson.DiscardUnknown(m)
   124  }
   125  
   126  var xxx_messageInfo_Wilson proto.InternalMessageInfo
   127  
   128  func init() {
   129  	proto.RegisterType((*Castaway)(nil), "casttype.Castaway")
   130  	proto.RegisterMapType((map[github_com_gogo_protobuf_test_casttype.MyStringType]github_com_gogo_protobuf_test_casttype.MyUint64Type)(nil), "casttype.Castaway.MyCustomMapEntry")
   131  	proto.RegisterMapType((map[github_com_gogo_protobuf_test_casttype.MyInt32Type]Wilson)(nil), "casttype.Castaway.MyEmbeddedMapEntry")
   132  	proto.RegisterMapType((github_com_gogo_protobuf_test_casttype.MyMapType)(nil), "casttype.Castaway.MyMapEntry")
   133  	proto.RegisterMapType((map[github_com_gogo_protobuf_test_casttype.MyInt32Type]*Wilson)(nil), "casttype.Castaway.MyNullableMapEntry")
   134  	proto.RegisterType((*Wilson)(nil), "casttype.Wilson")
   135  }
   136  
   137  func init() { proto.RegisterFile("combos/marshaler/casttype.proto", fileDescriptor_aae4edfe8cc8b226) }
   138  
   139  var fileDescriptor_aae4edfe8cc8b226 = []byte{
   140  	// 698 bytes of a gzipped FileDescriptorProto
   141  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x95, 0xbf, 0x6f, 0xd3, 0x4c,
   142  	0x18, 0xc7, 0x7d, 0x4d, 0xd3, 0x26, 0x97, 0xe6, 0x7d, 0xa3, 0x13, 0x83, 0x55, 0x89, 0xb3, 0xd5,
   143  	0xaa, 0xc8, 0x03, 0x24, 0x55, 0x1a, 0x95, 0xaa, 0x20, 0x06, 0x57, 0x45, 0x2a, 0xc2, 0x05, 0x19,
   144  	0xaa, 0x0a, 0xc4, 0x72, 0x69, 0x4d, 0x1a, 0xe1, 0xc4, 0x91, 0x7d, 0x01, 0x79, 0xab, 0xca, 0x80,
   145  	0xc4, 0x5f, 0xc2, 0xc8, 0x82, 0xc4, 0xc8, 0xd8, 0xb1, 0x23, 0x53, 0x5a, 0x9b, 0xa5, 0x6c, 0x1d,
   146  	0xab, 0x4c, 0xe8, 0xee, 0x9c, 0xd8, 0xfd, 0x01, 0x4a, 0xdc, 0xed, 0x9e, 0xbb, 0xe7, 0xf9, 0x3c,
   147  	0xdf, 0x7b, 0xee, 0xb9, 0x3b, 0xa8, 0xec, 0x38, 0xad, 0xba, 0xe3, 0x55, 0x5a, 0xc4, 0xf5, 0xf6,
   148  	0x88, 0x6d, 0xb9, 0x95, 0x1d, 0xe2, 0x51, 0xea, 0x77, 0xac, 0x72, 0xc7, 0x75, 0xa8, 0x83, 0x72,
   149  	0x03, 0x7b, 0xf6, 0x5e, 0xa3, 0x49, 0xf7, 0xba, 0xf5, 0xf2, 0x8e, 0xd3, 0xaa, 0x34, 0x9c, 0x86,
   150  	0x53, 0xe1, 0x0e, 0xf5, 0xee, 0x5b, 0x6e, 0x71, 0x83, 0x8f, 0x44, 0xe0, 0xdc, 0xef, 0x22, 0xcc,
   151  	0xad, 0x11, 0x8f, 0x92, 0x0f, 0xc4, 0x47, 0x0b, 0x30, 0xb7, 0xd1, 0xa6, 0x4b, 0xd5, 0xe7, 0xd4,
   152  	0x95, 0x81, 0x0a, 0xb4, 0x8c, 0x9e, 0xef, 0xf7, 0x94, 0x6c, 0x93, 0xcd, 0x99, 0xc3, 0x25, 0x34,
   153  	0x0f, 0xb3, 0x7c, 0x2c, 0x4f, 0x70, 0x9f, 0xe2, 0x61, 0x4f, 0x91, 0x62, 0x3f, 0xb1, 0x86, 0x5e,
   154  	0xc1, 0x82, 0xe1, 0x6f, 0x35, 0xdb, 0x74, 0xb9, 0xc6, 0x70, 0x19, 0x15, 0x68, 0x93, 0xfa, 0xfd,
   155  	0x7e, 0x4f, 0x59, 0xfa, 0xab, 0x40, 0x6a, 0x79, 0x34, 0xde, 0xd8, 0x20, 0xfa, 0xa5, 0xdf, 0xb1,
   156  	0xcc, 0x24, 0x0b, 0x6d, 0xc3, 0xdc, 0xc0, 0x94, 0x27, 0x39, 0xf7, 0x41, 0x24, 0x21, 0x15, 0x7b,
   157  	0x08, 0x43, 0x6f, 0xe0, 0x8c, 0xe1, 0x3f, 0xb6, 0x1d, 0x12, 0xd5, 0x20, 0xab, 0x02, 0x6d, 0x42,
   158  	0x5f, 0xe9, 0xf7, 0x94, 0xda, 0xc8, 0xe0, 0x28, 0x9c, 0x93, 0x2f, 0xd0, 0xd0, 0x6b, 0x98, 0x1f,
   159  	0xda, 0xf2, 0x14, 0x47, 0x3f, 0x8c, 0x74, 0xa7, 0xc3, 0xc7, 0xb8, 0x84, 0x72, 0x51, 0xee, 0x69,
   160  	0x15, 0x68, 0x20, 0x8d, 0xf2, 0xa8, 0x26, 0x17, 0x68, 0x09, 0xe5, 0xcb, 0x35, 0x39, 0xc7, 0xd1,
   161  	0x29, 0x95, 0x47, 0xf8, 0x18, 0x87, 0x9e, 0xc0, 0x69, 0xc3, 0xd7, 0x7d, 0x6a, 0x79, 0x72, 0x5e,
   162  	0x05, 0xda, 0x8c, 0xbe, 0xd8, 0xef, 0x29, 0x77, 0x47, 0xa4, 0xf2, 0x38, 0x73, 0x00, 0x40, 0x2a,
   163  	0x2c, 0x6c, 0x3a, 0x6e, 0x8b, 0xd8, 0x82, 0x07, 0x19, 0xcf, 0x4c, 0x4e, 0xa1, 0x2d, 0xb6, 0x13,
   164  	0x71, 0xda, 0x9e, 0x5c, 0x50, 0x33, 0x37, 0xe9, 0xc9, 0x98, 0x84, 0x9a, 0x30, 0x6b, 0xf8, 0x06,
   165  	0xe9, 0xc8, 0x33, 0x6a, 0x46, 0x2b, 0x54, 0x6f, 0x97, 0x87, 0x11, 0x83, 0xbb, 0x55, 0xe6, 0xeb,
   166  	0xeb, 0x6d, 0xea, 0xfa, 0x7a, 0xad, 0xdf, 0x53, 0x16, 0x47, 0xce, 0x68, 0x90, 0x0e, 0x4f, 0x27,
   167  	0x32, 0xa0, 0x6f, 0x80, 0x5d, 0xac, 0xb5, 0xae, 0x47, 0x9d, 0x16, 0xcb, 0x58, 0xe4, 0x19, 0xe7,
   168  	0xaf, 0xcd, 0x38, 0xf4, 0x12, 0x79, 0xdb, 0x07, 0xc7, 0x63, 0xec, 0xf4, 0x05, 0x75, 0x9b, 0xed,
   169  	0x06, 0x4b, 0xfd, 0xf9, 0x38, 0xf5, 0xa5, 0x1d, 0x2a, 0x40, 0x1f, 0x01, 0x2c, 0x1a, 0xfe, 0x66,
   170  	0xd7, 0xb6, 0x49, 0xdd, 0xb6, 0x98, 0xf2, 0xff, 0xb8, 0xf2, 0x85, 0x6b, 0x95, 0x27, 0xfc, 0x84,
   171  	0xf6, 0xe5, 0x83, 0x63, 0xa5, 0x3a, 0xb2, 0x08, 0xfe, 0x04, 0x71, 0x0d, 0x17, 0x73, 0xa2, 0x4f,
   172  	0x5c, 0xc5, 0x7a, 0xab, 0x6e, 0xed, 0xee, 0x5a, 0xbb, 0x4c, 0xc5, 0xff, 0xff, 0x50, 0x91, 0xf0,
   173  	0x13, 0x2a, 0x56, 0x59, 0xd7, 0xa7, 0x57, 0x92, 0xe0, 0xa1, 0x67, 0x70, 0x4a, 0x54, 0x58, 0x2e,
   174  	0xa9, 0x40, 0xcb, 0x8f, 0xd9, 0x86, 0xf1, 0xe1, 0x98, 0x11, 0x66, 0x76, 0x05, 0xc2, 0xb8, 0xc7,
   175  	0x50, 0x09, 0x66, 0xde, 0x59, 0x3e, 0x7f, 0xc5, 0xf3, 0x26, 0x1b, 0xa2, 0x5b, 0x30, 0xfb, 0x9e,
   176  	0xd8, 0x5d, 0x8b, 0xbf, 0xda, 0x93, 0xa6, 0x30, 0x56, 0x27, 0x56, 0xc0, 0xec, 0x23, 0x58, 0xba,
   177  	0xdc, 0x2b, 0x63, 0xc5, 0x9b, 0x10, 0x5d, 0x3d, 0xb1, 0x24, 0x21, 0x2b, 0x08, 0x77, 0x92, 0x84,
   178  	0x42, 0xb5, 0x14, 0xd7, 0x7c, 0xbb, 0x69, 0x7b, 0x4e, 0xfb, 0x0a, 0xf3, 0x72, 0xfd, 0x6f, 0xc6,
   179  	0x9c, 0xc3, 0x70, 0x4a, 0x4c, 0xb2, 0xbd, 0x6c, 0xf0, 0xef, 0x83, 0xff, 0x72, 0xa6, 0x30, 0xf4,
   180  	0xa7, 0x87, 0x01, 0x96, 0x8e, 0x02, 0x2c, 0xfd, 0x0c, 0xb0, 0x74, 0x12, 0x60, 0x70, 0x1a, 0x60,
   181  	0x70, 0x16, 0x60, 0x70, 0x1e, 0x60, 0xb0, 0x1f, 0x62, 0xf0, 0x25, 0xc4, 0xe0, 0x6b, 0x88, 0xc1,
   182  	0xf7, 0x10, 0x83, 0x1f, 0x21, 0x06, 0x87, 0x21, 0x06, 0x47, 0x21, 0x96, 0x4e, 0x42, 0x0c, 0x4e,
   183  	0x43, 0x2c, 0x9d, 0x85, 0x18, 0x9c, 0x87, 0x58, 0xda, 0xff, 0x85, 0xa5, 0x3f, 0x01, 0x00, 0x00,
   184  	0xff, 0xff, 0xec, 0xe2, 0x9e, 0x1c, 0xb4, 0x07, 0x00, 0x00,
   185  }
   186  
   187  func (this *Castaway) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
   188  	return CasttypeDescription()
   189  }
   190  func (this *Wilson) Description() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
   191  	return CasttypeDescription()
   192  }
   193  func CasttypeDescription() (desc *github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet) {
   194  	d := &github_com_gogo_protobuf_protoc_gen_gogo_descriptor.FileDescriptorSet{}
   195  	var gzipped = []byte{
   196  		// 4378 bytes of a gzipped FileDescriptorSet
   197  		0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x7b, 0x5b, 0x70, 0x1c, 0xc7,
   198  		0x75, 0x36, 0x66, 0x2f, 0xc0, 0xee, 0xd9, 0xc5, 0x62, 0xd0, 0x80, 0xa8, 0x15, 0x64, 0x2d, 0x40,
   199  		0x50, 0x17, 0xe8, 0x06, 0xaa, 0x78, 0xd7, 0xd2, 0x96, 0x7e, 0x2c, 0xb0, 0x84, 0x97, 0x3f, 0x16,
   200  		0x80, 0x07, 0x80, 0x29, 0xca, 0x49, 0x4d, 0x0d, 0x66, 0x1b, 0x8b, 0x21, 0x67, 0x67, 0xc6, 0x33,
   201  		0xb3, 0xa4, 0x96, 0x95, 0x07, 0xc6, 0x4a, 0xe2, 0x72, 0xee, 0xb7, 0xaa, 0xd8, 0x8a, 0xac, 0xc4,
   202  		0x4e, 0xc5, 0x72, 0x9c, 0x9b, 0x9d, 0xd8, 0x8e, 0xed, 0xbc, 0xf8, 0xc5, 0x09, 0x9f, 0x52, 0xf6,
   203  		0x5b, 0x1e, 0x52, 0x94, 0x08, 0xab, 0x2a, 0x72, 0xa2, 0x24, 0x4a, 0xc2, 0x07, 0x15, 0xf5, 0x92,
   204  		0xea, 0xdb, 0xec, 0xec, 0x05, 0x9c, 0x05, 0x5d, 0x92, 0x9f, 0xb0, 0x73, 0xfa, 0x7c, 0x5f, 0x9f,
   205  		0x3e, 0x7d, 0xba, 0xcf, 0xe9, 0x9e, 0x01, 0xdc, 0x28, 0xc2, 0x4c, 0xdd, 0xb6, 0xeb, 0x26, 0x3e,
   206  		0xea, 0xb8, 0xb6, 0x6f, 0x6f, 0x37, 0x77, 0x8e, 0xd6, 0xb0, 0xa7, 0xbb, 0x86, 0xe3, 0xdb, 0xee,
   207  		0x3c, 0x95, 0xa1, 0x31, 0xa6, 0x31, 0x2f, 0x34, 0x66, 0xab, 0x30, 0x7e, 0xce, 0x30, 0xf1, 0x52,
   208  		0xa0, 0xb8, 0x81, 0x7d, 0x74, 0x06, 0x12, 0x3b, 0x86, 0x89, 0xf3, 0xd2, 0x4c, 0x7c, 0x2e, 0x73,
   209  		0xec, 0xe1, 0xf9, 0x2e, 0xd0, 0x7c, 0x27, 0x62, 0x9d, 0x88, 0x15, 0x8a, 0x98, 0x7d, 0x2b, 0x01,
   210  		0x13, 0x7d, 0x5a, 0x11, 0x82, 0x84, 0xa5, 0x35, 0x08, 0xa3, 0x34, 0x97, 0x56, 0xe8, 0x6f, 0x94,
   211  		0x87, 0x11, 0x47, 0xd3, 0x2f, 0x6b, 0x75, 0x9c, 0x8f, 0x51, 0xb1, 0x78, 0x44, 0x05, 0x80, 0x1a,
   212  		0x76, 0xb0, 0x55, 0xc3, 0x96, 0xde, 0xca, 0xc7, 0x67, 0xe2, 0x73, 0x69, 0x25, 0x24, 0x41, 0x4f,
   213  		0xc2, 0xb8, 0xd3, 0xdc, 0x36, 0x0d, 0x5d, 0x0d, 0xa9, 0xc1, 0x4c, 0x7c, 0x2e, 0xa9, 0xc8, 0xac,
   214  		0x61, 0xa9, 0xad, 0xfc, 0x18, 0x8c, 0x5d, 0xc5, 0xda, 0xe5, 0xb0, 0x6a, 0x86, 0xaa, 0xe6, 0x88,
   215  		0x38, 0xa4, 0xb8, 0x08, 0xd9, 0x06, 0xf6, 0x3c, 0xad, 0x8e, 0x55, 0xbf, 0xe5, 0xe0, 0x7c, 0x82,
   216  		0x8e, 0x7e, 0xa6, 0x67, 0xf4, 0xdd, 0x23, 0xcf, 0x70, 0xd4, 0x66, 0xcb, 0xc1, 0x68, 0x01, 0xd2,
   217  		0xd8, 0x6a, 0x36, 0x18, 0x43, 0x72, 0x1f, 0xff, 0x95, 0xad, 0x66, 0xa3, 0x9b, 0x25, 0x45, 0x60,
   218  		0x9c, 0x62, 0xc4, 0xc3, 0xee, 0x15, 0x43, 0xc7, 0xf9, 0x61, 0x4a, 0xf0, 0x58, 0x0f, 0xc1, 0x06,
   219  		0x6b, 0xef, 0xe6, 0x10, 0x38, 0xb4, 0x08, 0x69, 0xfc, 0x92, 0x8f, 0x2d, 0xcf, 0xb0, 0xad, 0xfc,
   220  		0x08, 0x25, 0x79, 0xa4, 0xcf, 0x2c, 0x62, 0xb3, 0xd6, 0x4d, 0xd1, 0xc6, 0xa1, 0x53, 0x30, 0x62,
   221  		0x3b, 0xbe, 0x61, 0x5b, 0x5e, 0x3e, 0x35, 0x23, 0xcd, 0x65, 0x8e, 0x7d, 0xa4, 0x6f, 0x20, 0xac,
   222  		0x31, 0x1d, 0x45, 0x28, 0xa3, 0x0a, 0xc8, 0x9e, 0xdd, 0x74, 0x75, 0xac, 0xea, 0x76, 0x0d, 0xab,
   223  		0x86, 0xb5, 0x63, 0xe7, 0xd3, 0x94, 0x60, 0xba, 0x77, 0x20, 0x54, 0x71, 0xd1, 0xae, 0xe1, 0x8a,
   224  		0xb5, 0x63, 0x2b, 0x39, 0xaf, 0xe3, 0x19, 0x1d, 0x82, 0x61, 0xaf, 0x65, 0xf9, 0xda, 0x4b, 0xf9,
   225  		0x2c, 0x8d, 0x10, 0xfe, 0x34, 0xfb, 0xdd, 0x61, 0x18, 0x1b, 0x24, 0xc4, 0xce, 0x42, 0x72, 0x87,
   226  		0x8c, 0x32, 0x1f, 0x3b, 0x88, 0x0f, 0x18, 0xa6, 0xd3, 0x89, 0xc3, 0xf7, 0xe8, 0xc4, 0x05, 0xc8,
   227  		0x58, 0xd8, 0xf3, 0x71, 0x8d, 0x45, 0x44, 0x7c, 0xc0, 0x98, 0x02, 0x06, 0xea, 0x0d, 0xa9, 0xc4,
   228  		0x3d, 0x85, 0xd4, 0x0b, 0x30, 0x16, 0x98, 0xa4, 0xba, 0x9a, 0x55, 0x17, 0xb1, 0x79, 0x34, 0xca,
   229  		0x92, 0xf9, 0xb2, 0xc0, 0x29, 0x04, 0xa6, 0xe4, 0x70, 0xc7, 0x33, 0x5a, 0x02, 0xb0, 0x2d, 0x6c,
   230  		0xef, 0xa8, 0x35, 0xac, 0x9b, 0xf9, 0xd4, 0x3e, 0x5e, 0x5a, 0x23, 0x2a, 0x3d, 0x5e, 0xb2, 0x99,
   231  		0x54, 0x37, 0xd1, 0xb3, 0xed, 0x50, 0x1b, 0xd9, 0x27, 0x52, 0xaa, 0x6c, 0x91, 0xf5, 0x44, 0xdb,
   232  		0x16, 0xe4, 0x5c, 0x4c, 0xe2, 0x1e, 0xd7, 0xf8, 0xc8, 0xd2, 0xd4, 0x88, 0xf9, 0xc8, 0x91, 0x29,
   233  		0x1c, 0xc6, 0x06, 0x36, 0xea, 0x86, 0x1f, 0xd1, 0x11, 0x08, 0x04, 0x2a, 0x0d, 0x2b, 0xa0, 0xbb,
   234  		0x50, 0x56, 0x08, 0x57, 0xb5, 0x06, 0x9e, 0xba, 0x06, 0xb9, 0x4e, 0xf7, 0xa0, 0x49, 0x48, 0x7a,
   235  		0xbe, 0xe6, 0xfa, 0x34, 0x0a, 0x93, 0x0a, 0x7b, 0x40, 0x32, 0xc4, 0xb1, 0x55, 0xa3, 0xbb, 0x5c,
   236  		0x52, 0x21, 0x3f, 0xd1, 0xff, 0x6b, 0x0f, 0x38, 0x4e, 0x07, 0xfc, 0x68, 0xef, 0x8c, 0x76, 0x30,
   237  		0x77, 0x8f, 0x7b, 0xea, 0x34, 0x8c, 0x76, 0x0c, 0x60, 0xd0, 0xae, 0x67, 0x7f, 0x01, 0xee, 0xeb,
   238  		0x4b, 0x8d, 0x5e, 0x80, 0xc9, 0xa6, 0x65, 0x58, 0x3e, 0x76, 0x1d, 0x17, 0x93, 0x88, 0x65, 0x5d,
   239  		0xe5, 0xff, 0x75, 0x64, 0x9f, 0x98, 0xdb, 0x0a, 0x6b, 0x33, 0x16, 0x65, 0xa2, 0xd9, 0x2b, 0x7c,
   240  		0x22, 0x9d, 0x7a, 0x7b, 0x44, 0xbe, 0x7e, 0xfd, 0xfa, 0xf5, 0xd8, 0xec, 0xe7, 0x87, 0x61, 0xb2,
   241  		0xdf, 0x9a, 0xe9, 0xbb, 0x7c, 0x0f, 0xc1, 0xb0, 0xd5, 0x6c, 0x6c, 0x63, 0x97, 0x3a, 0x29, 0xa9,
   242  		0xf0, 0x27, 0xb4, 0x00, 0x49, 0x53, 0xdb, 0xc6, 0x66, 0x3e, 0x31, 0x23, 0xcd, 0xe5, 0x8e, 0x3d,
   243  		0x39, 0xd0, 0xaa, 0x9c, 0x5f, 0x21, 0x10, 0x85, 0x21, 0xd1, 0x73, 0x90, 0xe0, 0x5b, 0x34, 0x61,
   244  		0x78, 0x62, 0x30, 0x06, 0xb2, 0x96, 0x14, 0x8a, 0x43, 0x0f, 0x42, 0x9a, 0xfc, 0x65, 0xb1, 0x31,
   245  		0x4c, 0x6d, 0x4e, 0x11, 0x01, 0x89, 0x0b, 0x34, 0x05, 0x29, 0xba, 0x4c, 0x6a, 0x58, 0xa4, 0xb6,
   246  		0xe0, 0x99, 0x04, 0x56, 0x0d, 0xef, 0x68, 0x4d, 0xd3, 0x57, 0xaf, 0x68, 0x66, 0x13, 0xd3, 0x80,
   247  		0x4f, 0x2b, 0x59, 0x2e, 0xfc, 0x24, 0x91, 0xa1, 0x69, 0xc8, 0xb0, 0x55, 0x65, 0x58, 0x35, 0xfc,
   248  		0x12, 0xdd, 0x3d, 0x93, 0x0a, 0x5b, 0x68, 0x15, 0x22, 0x21, 0xdd, 0x5f, 0xf2, 0x6c, 0x4b, 0x84,
   249  		0x26, 0xed, 0x82, 0x08, 0x68, 0xf7, 0xa7, 0xbb, 0x37, 0xee, 0x87, 0xfa, 0x0f, 0xaf, 0x3b, 0xa6,
   250  		0x66, 0xbf, 0x1d, 0x83, 0x04, 0xdd, 0x2f, 0xc6, 0x20, 0xb3, 0x79, 0x71, 0xbd, 0xac, 0x2e, 0xad,
   251  		0x6d, 0x95, 0x56, 0xca, 0xb2, 0x84, 0x72, 0x00, 0x54, 0x70, 0x6e, 0x65, 0x6d, 0x61, 0x53, 0x8e,
   252  		0x05, 0xcf, 0x95, 0xd5, 0xcd, 0x53, 0x27, 0xe4, 0x78, 0x00, 0xd8, 0x62, 0x82, 0x44, 0x58, 0xe1,
   253  		0xf8, 0x31, 0x39, 0x89, 0x64, 0xc8, 0x32, 0x82, 0xca, 0x0b, 0xe5, 0xa5, 0x53, 0x27, 0xe4, 0xe1,
   254  		0x4e, 0xc9, 0xf1, 0x63, 0xf2, 0x08, 0x1a, 0x85, 0x34, 0x95, 0x94, 0xd6, 0xd6, 0x56, 0xe4, 0x54,
   255  		0xc0, 0xb9, 0xb1, 0xa9, 0x54, 0x56, 0x97, 0xe5, 0x74, 0xc0, 0xb9, 0xac, 0xac, 0x6d, 0xad, 0xcb,
   256  		0x10, 0x30, 0x54, 0xcb, 0x1b, 0x1b, 0x0b, 0xcb, 0x65, 0x39, 0x13, 0x68, 0x94, 0x2e, 0x6e, 0x96,
   257  		0x37, 0xe4, 0x6c, 0x87, 0x59, 0xc7, 0x8f, 0xc9, 0xa3, 0x41, 0x17, 0xe5, 0xd5, 0xad, 0xaa, 0x9c,
   258  		0x43, 0xe3, 0x30, 0xca, 0xba, 0x10, 0x46, 0x8c, 0x75, 0x89, 0x4e, 0x9d, 0x90, 0xe5, 0xb6, 0x21,
   259  		0x8c, 0x65, 0xbc, 0x43, 0x70, 0xea, 0x84, 0x8c, 0x66, 0x17, 0x21, 0x49, 0xa3, 0x0b, 0x21, 0xc8,
   260  		0xad, 0x2c, 0x94, 0xca, 0x2b, 0xea, 0xda, 0xfa, 0x66, 0x65, 0x6d, 0x75, 0x61, 0x45, 0x96, 0xda,
   261  		0x32, 0xa5, 0xfc, 0x89, 0xad, 0x8a, 0x52, 0x5e, 0x92, 0x63, 0x61, 0xd9, 0x7a, 0x79, 0x61, 0xb3,
   262  		0xbc, 0x24, 0xc7, 0x67, 0x75, 0x98, 0xec, 0xb7, 0x4f, 0xf6, 0x5d, 0x19, 0xa1, 0x29, 0x8e, 0xed,
   263  		0x33, 0xc5, 0x94, 0xab, 0x67, 0x8a, 0x7f, 0x1c, 0x83, 0x89, 0x3e, 0xb9, 0xa2, 0x6f, 0x27, 0xcf,
   264  		0x43, 0x92, 0x85, 0x28, 0xcb, 0x9e, 0x8f, 0xf7, 0x4d, 0x3a, 0x34, 0x60, 0x7b, 0x32, 0x28, 0xc5,
   265  		0x85, 0x2b, 0x88, 0xf8, 0x3e, 0x15, 0x04, 0xa1, 0xe8, 0xd9, 0xd3, 0x7f, 0xbe, 0x67, 0x4f, 0x67,
   266  		0x69, 0xef, 0xd4, 0x20, 0x69, 0x8f, 0xca, 0x0e, 0xb6, 0xb7, 0x27, 0xfb, 0xec, 0xed, 0x67, 0x61,
   267  		0xbc, 0x87, 0x68, 0xe0, 0x3d, 0xf6, 0x65, 0x09, 0xf2, 0xfb, 0x39, 0x27, 0x62, 0xa7, 0x8b, 0x75,
   268  		0xec, 0x74, 0x67, 0xbb, 0x3d, 0x78, 0x78, 0xff, 0x49, 0xe8, 0x99, 0xeb, 0xd7, 0x25, 0x38, 0xd4,
   269  		0xbf, 0x52, 0xec, 0x6b, 0xc3, 0x73, 0x30, 0xdc, 0xc0, 0xfe, 0xae, 0x2d, 0xaa, 0xa5, 0x47, 0xfb,
   270  		0xe4, 0x60, 0xd2, 0xdc, 0x3d, 0xd9, 0x1c, 0x15, 0x4e, 0xe2, 0xf1, 0xfd, 0xca, 0x3d, 0x66, 0x4d,
   271  		0x8f, 0xa5, 0x9f, 0x8b, 0xc1, 0x7d, 0x7d, 0xc9, 0xfb, 0x1a, 0xfa, 0x10, 0x80, 0x61, 0x39, 0x4d,
   272  		0x9f, 0x55, 0x44, 0x6c, 0x83, 0x4d, 0x53, 0x09, 0xdd, 0xbc, 0xc8, 0xe6, 0xd9, 0xf4, 0x83, 0xf6,
   273  		0x38, 0x6d, 0x07, 0x26, 0xa2, 0x0a, 0x67, 0xda, 0x86, 0x26, 0xa8, 0xa1, 0x85, 0x7d, 0x46, 0xda,
   274  		0x13, 0x98, 0xcf, 0x80, 0xac, 0x9b, 0x06, 0xb6, 0x7c, 0xd5, 0xf3, 0x5d, 0xac, 0x35, 0x0c, 0xab,
   275  		0x4e, 0x33, 0x48, 0xaa, 0x98, 0xdc, 0xd1, 0x4c, 0x0f, 0x2b, 0x63, 0xac, 0x79, 0x43, 0xb4, 0x12,
   276  		0x04, 0x0d, 0x20, 0x37, 0x84, 0x18, 0xee, 0x40, 0xb0, 0xe6, 0x00, 0x31, 0xfb, 0xeb, 0x69, 0xc8,
   277  		0x84, 0xea, 0x6a, 0x74, 0x18, 0xb2, 0x97, 0xb4, 0x2b, 0x9a, 0x2a, 0xce, 0x4a, 0xcc, 0x13, 0x19,
   278  		0x22, 0x5b, 0xe7, 0xe7, 0xa5, 0x67, 0x60, 0x92, 0xaa, 0xd8, 0x4d, 0x1f, 0xbb, 0xaa, 0x6e, 0x6a,
   279  		0x9e, 0x47, 0x9d, 0x96, 0xa2, 0xaa, 0x88, 0xb4, 0xad, 0x91, 0xa6, 0x45, 0xd1, 0x82, 0x4e, 0xc2,
   280  		0x04, 0x45, 0x34, 0x9a, 0xa6, 0x6f, 0x38, 0x26, 0x56, 0xc9, 0xe9, 0xcd, 0xa3, 0x99, 0x24, 0xb0,
   281  		0x6c, 0x9c, 0x68, 0x54, 0xb9, 0x02, 0xb1, 0xc8, 0x43, 0x4b, 0xf0, 0x10, 0x85, 0xd5, 0xb1, 0x85,
   282  		0x5d, 0xcd, 0xc7, 0x2a, 0xfe, 0x74, 0x53, 0x33, 0x3d, 0x55, 0xb3, 0x6a, 0xea, 0xae, 0xe6, 0xed,
   283  		0xe6, 0x27, 0x09, 0x41, 0x29, 0x96, 0x97, 0x94, 0x07, 0x88, 0xe2, 0x32, 0xd7, 0x2b, 0x53, 0xb5,
   284  		0x05, 0xab, 0xf6, 0x71, 0xcd, 0xdb, 0x45, 0x45, 0x38, 0x44, 0x59, 0x3c, 0xdf, 0x35, 0xac, 0xba,
   285  		0xaa, 0xef, 0x62, 0xfd, 0xb2, 0xda, 0xf4, 0x77, 0xce, 0xe4, 0x1f, 0x0c, 0xf7, 0x4f, 0x2d, 0xdc,
   286  		0xa0, 0x3a, 0x8b, 0x44, 0x65, 0xcb, 0xdf, 0x39, 0x83, 0x36, 0x20, 0x4b, 0x26, 0xa3, 0x61, 0x5c,
   287  		0xc3, 0xea, 0x8e, 0xed, 0xd2, 0xd4, 0x98, 0xeb, 0xb3, 0x35, 0x85, 0x3c, 0x38, 0xbf, 0xc6, 0x01,
   288  		0x55, 0xbb, 0x86, 0x8b, 0xc9, 0x8d, 0xf5, 0x72, 0x79, 0x49, 0xc9, 0x08, 0x96, 0x73, 0xb6, 0x4b,
   289  		0x02, 0xaa, 0x6e, 0x07, 0x0e, 0xce, 0xb0, 0x80, 0xaa, 0xdb, 0xc2, 0xbd, 0x27, 0x61, 0x42, 0xd7,
   290  		0xd9, 0x98, 0x0d, 0x5d, 0xe5, 0x67, 0x2c, 0x2f, 0x2f, 0x77, 0x38, 0x4b, 0xd7, 0x97, 0x99, 0x02,
   291  		0x8f, 0x71, 0x0f, 0x3d, 0x0b, 0xf7, 0xb5, 0x9d, 0x15, 0x06, 0x8e, 0xf7, 0x8c, 0xb2, 0x1b, 0x7a,
   292  		0x12, 0x26, 0x9c, 0x56, 0x2f, 0x10, 0x75, 0xf4, 0xe8, 0xb4, 0xba, 0x61, 0xa7, 0x61, 0xd2, 0xd9,
   293  		0x75, 0x7a, 0x71, 0x4f, 0x84, 0x71, 0xc8, 0xd9, 0x75, 0xba, 0x81, 0x8f, 0xd0, 0x03, 0xb7, 0x8b,
   294  		0x75, 0xcd, 0xc7, 0xb5, 0xfc, 0xfd, 0x61, 0xf5, 0x50, 0x03, 0x3a, 0x0a, 0xb2, 0xae, 0xab, 0xd8,
   295  		0xd2, 0xb6, 0x4d, 0xac, 0x6a, 0x2e, 0xb6, 0x34, 0x2f, 0x3f, 0x1d, 0x56, 0xce, 0xe9, 0x7a, 0x99,
   296  		0xb6, 0x2e, 0xd0, 0x46, 0xf4, 0x04, 0x8c, 0xdb, 0xdb, 0x97, 0x74, 0x16, 0x92, 0xaa, 0xe3, 0xe2,
   297  		0x1d, 0xe3, 0xa5, 0xfc, 0xc3, 0xd4, 0xbf, 0x63, 0xa4, 0x81, 0x06, 0xe4, 0x3a, 0x15, 0xa3, 0xc7,
   298  		0x41, 0xd6, 0xbd, 0x5d, 0xcd, 0x75, 0xe8, 0x9e, 0xec, 0x39, 0x9a, 0x8e, 0xf3, 0x8f, 0x30, 0x55,
   299  		0x26, 0x5f, 0x15, 0x62, 0xb2, 0x24, 0xbc, 0xab, 0xc6, 0x8e, 0x2f, 0x18, 0x1f, 0x63, 0x4b, 0x82,
   300  		0xca, 0x38, 0xdb, 0x1c, 0xc8, 0xc4, 0x15, 0x1d, 0x1d, 0xcf, 0x51, 0xb5, 0x9c, 0xb3, 0xeb, 0x84,
   301  		0xfb, 0x3d, 0x02, 0xa3, 0x44, 0xb3, 0xdd, 0xe9, 0xe3, 0xac, 0x20, 0x73, 0x76, 0x43, 0x3d, 0x9e,
   302  		0x80, 0x43, 0x44, 0xa9, 0x81, 0x7d, 0xad, 0xa6, 0xf9, 0x5a, 0x48, 0xfb, 0x29, 0xaa, 0x4d, 0xfc,
   303  		0x5e, 0xe5, 0x8d, 0x1d, 0x76, 0xba, 0xcd, 0xed, 0x56, 0x10, 0x59, 0x4f, 0x33, 0x3b, 0x89, 0x4c,
   304  		0xc4, 0xd6, 0x07, 0x56, 0x74, 0xcf, 0x16, 0x21, 0x1b, 0x0e, 0x7c, 0x94, 0x06, 0x16, 0xfa, 0xb2,
   305  		0x44, 0xaa, 0xa0, 0xc5, 0xb5, 0x25, 0x52, 0xbf, 0xbc, 0x58, 0x96, 0x63, 0xa4, 0x8e, 0x5a, 0xa9,
   306  		0x6c, 0x96, 0x55, 0x65, 0x6b, 0x75, 0xb3, 0x52, 0x2d, 0xcb, 0xf1, 0x70, 0xc1, 0xfe, 0x83, 0x18,
   307  		0xe4, 0x3a, 0xcf, 0x5e, 0xe8, 0xa3, 0x70, 0xbf, 0xb8, 0x28, 0xf1, 0xb0, 0xaf, 0x5e, 0x35, 0x5c,
   308  		0xba, 0x16, 0x1b, 0x1a, 0xcb, 0x8b, 0x41, 0x34, 0x4c, 0x72, 0xad, 0x0d, 0xec, 0x5f, 0x30, 0x5c,
   309  		0xb2, 0xd2, 0x1a, 0x9a, 0x8f, 0x56, 0x60, 0xda, 0xb2, 0x55, 0xcf, 0xd7, 0xac, 0x9a, 0xe6, 0xd6,
   310  		0xd4, 0xf6, 0x15, 0x95, 0xaa, 0xe9, 0x3a, 0xf6, 0x3c, 0x9b, 0xe5, 0xc0, 0x80, 0xe5, 0x23, 0x96,
   311  		0xbd, 0xc1, 0x95, 0xdb, 0xc9, 0x61, 0x81, 0xab, 0x76, 0x45, 0x6e, 0x7c, 0xbf, 0xc8, 0x7d, 0x10,
   312  		0xd2, 0x0d, 0xcd, 0x51, 0xb1, 0xe5, 0xbb, 0x2d, 0x5a, 0x71, 0xa7, 0x94, 0x54, 0x43, 0x73, 0xca,
   313  		0xe4, 0xf9, 0xc3, 0x39, 0xf8, 0xfc, 0x4b, 0x1c, 0xb2, 0xe1, 0xaa, 0x9b, 0x1c, 0x62, 0x74, 0x9a,
   314  		0xa0, 0x24, 0xba, 0x85, 0x1d, 0xb9, 0x6b, 0x8d, 0x3e, 0xbf, 0x48, 0x32, 0x57, 0x71, 0x98, 0xd5,
   315  		0xc2, 0x0a, 0x43, 0x92, 0xaa, 0x81, 0x84, 0x16, 0x66, 0xb5, 0x47, 0x4a, 0xe1, 0x4f, 0x68, 0x19,
   316  		0x86, 0x2f, 0x79, 0x94, 0x7b, 0x98, 0x72, 0x3f, 0x7c, 0x77, 0xee, 0xf3, 0x1b, 0x94, 0x3c, 0x7d,
   317  		0x7e, 0x43, 0x5d, 0x5d, 0x53, 0xaa, 0x0b, 0x2b, 0x0a, 0x87, 0xa3, 0x07, 0x20, 0x61, 0x6a, 0xd7,
   318  		0x5a, 0x9d, 0x39, 0x8e, 0x8a, 0x06, 0x75, 0xfc, 0x03, 0x90, 0xb8, 0x8a, 0xb5, 0xcb, 0x9d, 0x99,
   319  		0x85, 0x8a, 0x3e, 0xc0, 0xd0, 0x3f, 0x0a, 0x49, 0xea, 0x2f, 0x04, 0xc0, 0x3d, 0x26, 0x0f, 0xa1,
   320  		0x14, 0x24, 0x16, 0xd7, 0x14, 0x12, 0xfe, 0x32, 0x64, 0x99, 0x54, 0x5d, 0xaf, 0x94, 0x17, 0xcb,
   321  		0x72, 0x6c, 0xf6, 0x24, 0x0c, 0x33, 0x27, 0x90, 0xa5, 0x11, 0xb8, 0x41, 0x1e, 0xe2, 0x8f, 0x9c,
   322  		0x43, 0x12, 0xad, 0x5b, 0xd5, 0x52, 0x59, 0x91, 0x63, 0xe1, 0xe9, 0xf5, 0x20, 0x1b, 0x2e, 0xb8,
   323  		0x3f, 0x9c, 0x98, 0xfa, 0x9e, 0x04, 0x99, 0x50, 0x01, 0x4d, 0x2a, 0x1f, 0xcd, 0x34, 0xed, 0xab,
   324  		0xaa, 0x66, 0x1a, 0x9a, 0xc7, 0x83, 0x02, 0xa8, 0x68, 0x81, 0x48, 0x06, 0x9d, 0xb4, 0x0f, 0xc5,
   325  		0xf8, 0xd7, 0x24, 0x90, 0xbb, 0x6b, 0xd7, 0x2e, 0x03, 0xa5, 0x9f, 0xa9, 0x81, 0xaf, 0x4a, 0x90,
   326  		0xeb, 0x2c, 0x58, 0xbb, 0xcc, 0x3b, 0xfc, 0x33, 0x35, 0xef, 0xcd, 0x18, 0x8c, 0x76, 0x94, 0xa9,
   327  		0x83, 0x5a, 0xf7, 0x69, 0x18, 0x37, 0x6a, 0xb8, 0xe1, 0xd8, 0x3e, 0xb6, 0xf4, 0x96, 0x6a, 0xe2,
   328  		0x2b, 0xd8, 0xcc, 0xcf, 0xd2, 0x8d, 0xe2, 0xe8, 0xdd, 0x0b, 0xe1, 0xf9, 0x4a, 0x1b, 0xb7, 0x42,
   329  		0x60, 0xc5, 0x89, 0xca, 0x52, 0xb9, 0xba, 0xbe, 0xb6, 0x59, 0x5e, 0x5d, 0xbc, 0xa8, 0x6e, 0xad,
   330  		0xfe, 0xff, 0xd5, 0xb5, 0x0b, 0xab, 0x8a, 0x6c, 0x74, 0xa9, 0x7d, 0x80, 0x4b, 0x7d, 0x1d, 0xe4,
   331  		0x6e, 0xa3, 0xd0, 0xfd, 0xd0, 0xcf, 0x2c, 0x79, 0x08, 0x4d, 0xc0, 0xd8, 0xea, 0x9a, 0xba, 0x51,
   332  		0x59, 0x2a, 0xab, 0xe5, 0x73, 0xe7, 0xca, 0x8b, 0x9b, 0x1b, 0xec, 0x6a, 0x23, 0xd0, 0xde, 0xec,
   333  		0x5c, 0xd4, 0xaf, 0xc4, 0x61, 0xa2, 0x8f, 0x25, 0x68, 0x81, 0x1f, 0x4a, 0xd8, 0x39, 0xe9, 0xe9,
   334  		0x41, 0xac, 0x9f, 0x27, 0x55, 0xc1, 0xba, 0xe6, 0xfa, 0xfc, 0x0c, 0xf3, 0x38, 0x10, 0x2f, 0x59,
   335  		0xbe, 0xb1, 0x63, 0x60, 0x97, 0xdf, 0x04, 0xb1, 0x93, 0xca, 0x58, 0x5b, 0xce, 0x2e, 0x83, 0x9e,
   336  		0x02, 0xe4, 0xd8, 0x9e, 0xe1, 0x1b, 0x57, 0xb0, 0x6a, 0x58, 0xe2, 0xda, 0x88, 0x9c, 0x5c, 0x12,
   337  		0x8a, 0x2c, 0x5a, 0x2a, 0x96, 0x1f, 0x68, 0x5b, 0xb8, 0xae, 0x75, 0x69, 0x93, 0x0d, 0x3c, 0xae,
   338  		0xc8, 0xa2, 0x25, 0xd0, 0x3e, 0x0c, 0xd9, 0x9a, 0xdd, 0x24, 0xe5, 0x1c, 0xd3, 0x23, 0xf9, 0x42,
   339  		0x52, 0x32, 0x4c, 0x16, 0xa8, 0xf0, 0x42, 0xbd, 0x7d, 0x5f, 0x95, 0x55, 0x32, 0x4c, 0xc6, 0x54,
   340  		0x1e, 0x83, 0x31, 0xad, 0x5e, 0x77, 0x09, 0xb9, 0x20, 0x62, 0x47, 0x8f, 0x5c, 0x20, 0xa6, 0x8a,
   341  		0x53, 0xe7, 0x21, 0x25, 0xfc, 0x40, 0x52, 0x32, 0xf1, 0x84, 0xea, 0xb0, 0xf3, 0x74, 0x6c, 0x2e,
   342  		0xad, 0xa4, 0x2c, 0xd1, 0x78, 0x18, 0xb2, 0x86, 0xa7, 0xb6, 0xaf, 0xdf, 0x63, 0x33, 0xb1, 0xb9,
   343  		0x94, 0x92, 0x31, 0xbc, 0xe0, 0xea, 0x72, 0xf6, 0xf5, 0x18, 0xe4, 0x3a, 0x5f, 0x1f, 0xa0, 0x25,
   344  		0x48, 0x99, 0xb6, 0xae, 0xd1, 0xd0, 0x62, 0xef, 0xae, 0xe6, 0x22, 0xde, 0x38, 0xcc, 0xaf, 0x70,
   345  		0x7d, 0x25, 0x40, 0x4e, 0xfd, 0x93, 0x04, 0x29, 0x21, 0x46, 0x87, 0x20, 0xe1, 0x68, 0xfe, 0x2e,
   346  		0xa5, 0x4b, 0x96, 0x62, 0xb2, 0xa4, 0xd0, 0x67, 0x22, 0xf7, 0x1c, 0xcd, 0xa2, 0x21, 0xc0, 0xe5,
   347  		0xe4, 0x99, 0xcc, 0xab, 0x89, 0xb5, 0x1a, 0x3d, 0xd7, 0xd8, 0x8d, 0x06, 0xb6, 0x7c, 0x4f, 0xcc,
   348  		0x2b, 0x97, 0x2f, 0x72, 0x31, 0x7a, 0x12, 0xc6, 0x7d, 0x57, 0x33, 0xcc, 0x0e, 0xdd, 0x04, 0xd5,
   349  		0x95, 0x45, 0x43, 0xa0, 0x5c, 0x84, 0x07, 0x04, 0x6f, 0x0d, 0xfb, 0x9a, 0xbe, 0x8b, 0x6b, 0x6d,
   350  		0xd0, 0x30, 0xbd, 0xbf, 0xb8, 0x9f, 0x2b, 0x2c, 0xf1, 0x76, 0x81, 0x9d, 0xfd, 0x91, 0x04, 0xe3,
   351  		0xe2, 0x24, 0x56, 0x0b, 0x9c, 0x55, 0x05, 0xd0, 0x2c, 0xcb, 0xf6, 0xc3, 0xee, 0xea, 0x0d, 0xe5,
   352  		0x1e, 0xdc, 0xfc, 0x42, 0x00, 0x52, 0x42, 0x04, 0x53, 0x0d, 0x80, 0x76, 0xcb, 0xbe, 0x6e, 0x9b,
   353  		0x86, 0x0c, 0x7f, 0x37, 0x44, 0x5f, 0x30, 0xb2, 0xb3, 0x3b, 0x30, 0x11, 0x39, 0xb2, 0xa1, 0x49,
   354  		0x48, 0x6e, 0xe3, 0xba, 0x61, 0xf1, 0x1b, 0x5f, 0xf6, 0x20, 0x6e, 0x58, 0x12, 0xc1, 0x0d, 0x4b,
   355  		0xe9, 0x53, 0x30, 0xa1, 0xdb, 0x8d, 0x6e, 0x73, 0x4b, 0x72, 0xd7, 0xfd, 0x81, 0xf7, 0x71, 0xe9,
   356  		0x45, 0x68, 0x97, 0x98, 0xef, 0x49, 0xd2, 0x97, 0x63, 0xf1, 0xe5, 0xf5, 0xd2, 0xd7, 0x62, 0x53,
   357  		0xcb, 0x0c, 0xba, 0x2e, 0x46, 0xaa, 0xe0, 0x1d, 0x13, 0xeb, 0xc4, 0x7a, 0xf8, 0xca, 0x93, 0xf0,
   358  		0x74, 0xdd, 0xf0, 0x77, 0x9b, 0xdb, 0xf3, 0xba, 0xdd, 0x38, 0x5a, 0xb7, 0xeb, 0x76, 0xfb, 0x9d,
   359  		0x2a, 0x79, 0xa2, 0x0f, 0xf4, 0x17, 0x7f, 0xaf, 0x9a, 0x0e, 0xa4, 0x53, 0x91, 0x2f, 0x61, 0x8b,
   360  		0xab, 0x30, 0xc1, 0x95, 0x55, 0xfa, 0x62, 0x87, 0x1d, 0x4f, 0xd0, 0x5d, 0x2f, 0xc7, 0xf2, 0xdf,
   361  		0x78, 0x8b, 0xa6, 0x6b, 0x65, 0x9c, 0x43, 0x49, 0x1b, 0x3b, 0xc1, 0x14, 0x15, 0xb8, 0xaf, 0x83,
   362  		0x8f, 0x2d, 0x4d, 0xec, 0x46, 0x30, 0xfe, 0x80, 0x33, 0x4e, 0x84, 0x18, 0x37, 0x38, 0xb4, 0xb8,
   363  		0x08, 0xa3, 0x07, 0xe1, 0xfa, 0x07, 0xce, 0x95, 0xc5, 0x61, 0x92, 0x65, 0x18, 0xa3, 0x24, 0x7a,
   364  		0xd3, 0xf3, 0xed, 0x06, 0xdd, 0xf7, 0xee, 0x4e, 0xf3, 0x8f, 0x6f, 0xb1, 0xb5, 0x92, 0x23, 0xb0,
   365  		0xc5, 0x00, 0x55, 0x2c, 0x02, 0x7d, 0x97, 0x55, 0xc3, 0xba, 0x19, 0xc1, 0x70, 0x83, 0x1b, 0x12,
   366  		0xe8, 0x17, 0x3f, 0x09, 0x93, 0xe4, 0x37, 0xdd, 0x96, 0xc2, 0x96, 0x44, 0xdf, 0xa4, 0xe5, 0x7f,
   367  		0xf4, 0x32, 0x5b, 0x8e, 0x13, 0x01, 0x41, 0xc8, 0xa6, 0xd0, 0x2c, 0xd6, 0xb1, 0xef, 0x63, 0xd7,
   368  		0x53, 0x35, 0xb3, 0x9f, 0x79, 0xa1, 0xab, 0x88, 0xfc, 0x17, 0xde, 0xe9, 0x9c, 0xc5, 0x65, 0x86,
   369  		0x5c, 0x30, 0xcd, 0xe2, 0x16, 0xdc, 0xdf, 0x27, 0x2a, 0x06, 0xe0, 0x7c, 0x85, 0x73, 0x4e, 0xf6,
   370  		0x44, 0x06, 0xa1, 0x5d, 0x07, 0x21, 0x0f, 0xe6, 0x72, 0x00, 0xce, 0x3f, 0xe4, 0x9c, 0x88, 0x63,
   371  		0xc5, 0x94, 0x12, 0xc6, 0xf3, 0x30, 0x7e, 0x05, 0xbb, 0xdb, 0xb6, 0xc7, 0xaf, 0x7f, 0x06, 0xa0,
   372  		0x7b, 0x95, 0xd3, 0x8d, 0x71, 0x20, 0xbd, 0x0f, 0x22, 0x5c, 0xcf, 0x42, 0x6a, 0x47, 0xd3, 0xf1,
   373  		0x00, 0x14, 0x5f, 0xe4, 0x14, 0x23, 0x44, 0x9f, 0x40, 0x17, 0x20, 0x5b, 0xb7, 0x79, 0x66, 0x8a,
   374  		0x86, 0xbf, 0xc6, 0xe1, 0x19, 0x81, 0xe1, 0x14, 0x8e, 0xed, 0x34, 0x4d, 0x92, 0xb6, 0xa2, 0x29,
   375  		0xfe, 0x48, 0x50, 0x08, 0x0c, 0xa7, 0x38, 0x80, 0x5b, 0xff, 0x58, 0x50, 0x78, 0x21, 0x7f, 0x3e,
   376  		0x0f, 0x19, 0xdb, 0x32, 0x5b, 0xb6, 0x35, 0x88, 0x11, 0x5f, 0xe2, 0x0c, 0xc0, 0x21, 0x84, 0xe0,
   377  		0x2c, 0xa4, 0x07, 0x9d, 0x88, 0x3f, 0x7d, 0x47, 0x2c, 0x0f, 0x31, 0x03, 0xcb, 0x30, 0x26, 0x36,
   378  		0x28, 0xc3, 0xb6, 0x06, 0xa0, 0xf8, 0x0a, 0xa7, 0xc8, 0x85, 0x60, 0x7c, 0x18, 0x3e, 0xf6, 0xfc,
   379  		0x3a, 0x1e, 0x84, 0xe4, 0x75, 0x31, 0x0c, 0x0e, 0xe1, 0xae, 0xdc, 0xc6, 0x96, 0xbe, 0x3b, 0x18,
   380  		0xc3, 0x57, 0x85, 0x2b, 0x05, 0x86, 0x50, 0x2c, 0xc2, 0x68, 0x43, 0x73, 0xbd, 0x5d, 0xcd, 0x1c,
   381  		0x68, 0x3a, 0xfe, 0x8c, 0x73, 0x64, 0x03, 0x10, 0xf7, 0x48, 0xd3, 0x3a, 0x08, 0xcd, 0xd7, 0x84,
   382  		0x47, 0x42, 0x30, 0xbe, 0xf4, 0x3c, 0x9f, 0xde, 0x95, 0x1d, 0x84, 0xed, 0xcf, 0xc5, 0xd2, 0x63,
   383  		0xd8, 0x6a, 0x98, 0xf1, 0x2c, 0xa4, 0x3d, 0xe3, 0xda, 0x40, 0x34, 0x7f, 0x21, 0x66, 0x9a, 0x02,
   384  		0x08, 0xf8, 0x22, 0x3c, 0xd0, 0x37, 0x4d, 0x0c, 0x40, 0xf6, 0x97, 0x9c, 0xec, 0x50, 0x9f, 0x54,
   385  		0xc1, 0xb7, 0x84, 0x83, 0x52, 0xfe, 0x95, 0xd8, 0x12, 0x70, 0x17, 0xd7, 0x3a, 0x39, 0x2b, 0x78,
   386  		0xda, 0xce, 0xc1, 0xbc, 0xf6, 0xd7, 0xc2, 0x6b, 0x0c, 0xdb, 0xe1, 0xb5, 0x4d, 0x38, 0xc4, 0x19,
   387  		0x0f, 0x36, 0xaf, 0x5f, 0x17, 0x1b, 0x2b, 0x43, 0x6f, 0x75, 0xce, 0xee, 0xa7, 0x60, 0x2a, 0x70,
   388  		0xa7, 0x28, 0x4a, 0x3d, 0xb5, 0xa1, 0x39, 0x03, 0x30, 0x7f, 0x83, 0x33, 0x8b, 0x1d, 0x3f, 0xa8,
   389  		0x6a, 0xbd, 0xaa, 0xe6, 0x10, 0xf2, 0x17, 0x20, 0x2f, 0xc8, 0x9b, 0x96, 0x8b, 0x75, 0xbb, 0x6e,
   390  		0x19, 0xd7, 0x70, 0x6d, 0x00, 0xea, 0xbf, 0xe9, 0x9a, 0xaa, 0xad, 0x10, 0x9c, 0x30, 0x57, 0x40,
   391  		0x0e, 0x6a, 0x15, 0xd5, 0x68, 0x38, 0xb6, 0xeb, 0x47, 0x30, 0xfe, 0xad, 0x98, 0xa9, 0x00, 0x57,
   392  		0xa1, 0xb0, 0x62, 0x19, 0x72, 0xf4, 0x71, 0xd0, 0x90, 0xfc, 0x26, 0x27, 0x1a, 0x6d, 0xa3, 0xf8,
   393  		0xc6, 0xa1, 0xdb, 0x0d, 0x47, 0x73, 0x07, 0xd9, 0xff, 0xbe, 0x25, 0x36, 0x0e, 0x0e, 0xe1, 0x1b,
   394  		0x87, 0xdf, 0x72, 0x30, 0xc9, 0xf6, 0x03, 0x30, 0x7c, 0x5b, 0x6c, 0x1c, 0x02, 0xc3, 0x29, 0x44,
   395  		0xc1, 0x30, 0x00, 0xc5, 0xdf, 0x09, 0x0a, 0x81, 0x21, 0x14, 0x9f, 0x68, 0x27, 0x5a, 0x17, 0xd7,
   396  		0x0d, 0xcf, 0x77, 0x59, 0x29, 0x7c, 0x77, 0xaa, 0xef, 0xbc, 0xd3, 0x59, 0x84, 0x29, 0x21, 0x28,
   397  		0xd9, 0x89, 0xf8, 0x15, 0x2a, 0x3d, 0x29, 0x45, 0x1b, 0xf6, 0x5d, 0xb1, 0x13, 0x85, 0x60, 0xc4,
   398  		0xb6, 0x50, 0x85, 0x48, 0xdc, 0xae, 0x93, 0xf3, 0xc1, 0x00, 0x74, 0xdf, 0xeb, 0x32, 0x6e, 0x43,
   399  		0x60, 0x09, 0x67, 0xa8, 0xfe, 0x69, 0x5a, 0x97, 0x71, 0x6b, 0xa0, 0xe8, 0xfc, 0xfb, 0xae, 0xfa,
   400  		0x67, 0x8b, 0x21, 0xd9, 0x1e, 0x32, 0xd6, 0x55, 0x4f, 0xa1, 0xa8, 0xaf, 0x80, 0xf2, 0xbf, 0x78,
   401  		0x9b, 0x8f, 0xb7, 0xb3, 0x9c, 0x2a, 0xae, 0x90, 0x20, 0xef, 0x2c, 0x7a, 0xa2, 0xc9, 0x5e, 0xbe,
   402  		0x1d, 0xc4, 0x79, 0x47, 0xcd, 0x53, 0x3c, 0x07, 0xa3, 0x1d, 0x05, 0x4f, 0x34, 0xd5, 0x2f, 0x71,
   403  		0xaa, 0x6c, 0xb8, 0xde, 0x29, 0x9e, 0x84, 0x04, 0x29, 0x5e, 0xa2, 0xe1, 0xbf, 0xcc, 0xe1, 0x54,
   404  		0xbd, 0xf8, 0x31, 0x48, 0x89, 0xa2, 0x25, 0x1a, 0xfa, 0x2b, 0x1c, 0x1a, 0x40, 0x08, 0x5c, 0x14,
   405  		0x2c, 0xd1, 0xf0, 0xcf, 0x0a, 0xb8, 0x80, 0x10, 0xf8, 0xe0, 0x2e, 0xfc, 0xfe, 0xaf, 0x25, 0x78,
   406  		0xd2, 0x11, 0xbe, 0x3b, 0x0b, 0x23, 0xbc, 0x52, 0x89, 0x46, 0x7f, 0x8e, 0x77, 0x2e, 0x10, 0xc5,
   407  		0xd3, 0x90, 0x1c, 0xd0, 0xe1, 0xbf, 0xc1, 0xa1, 0x4c, 0xbf, 0xb8, 0x08, 0x99, 0x50, 0x75, 0x12,
   408  		0x0d, 0xff, 0x4d, 0x0e, 0x0f, 0xa3, 0x88, 0xe9, 0xbc, 0x3a, 0x89, 0x26, 0xf8, 0x2d, 0x61, 0x3a,
   409  		0x47, 0x10, 0xb7, 0x89, 0xc2, 0x24, 0x1a, 0xfd, 0xdb, 0xc2, 0xeb, 0x02, 0x52, 0x7c, 0x1e, 0xd2,
   410  		0x41, 0xb2, 0x89, 0xc6, 0xff, 0x0e, 0xc7, 0xb7, 0x31, 0xc4, 0x03, 0xa1, 0x64, 0x17, 0x4d, 0xf1,
   411  		0xbb, 0xc2, 0x03, 0x21, 0x14, 0x59, 0x46, 0xdd, 0x05, 0x4c, 0x34, 0xd3, 0xef, 0x89, 0x65, 0xd4,
   412  		0x55, 0xbf, 0x90, 0xd9, 0xa4, 0x7b, 0x7e, 0x34, 0xc5, 0xef, 0x8b, 0xd9, 0xa4, 0xfa, 0xc4, 0x8c,
   413  		0xee, 0x8a, 0x20, 0x9a, 0xe3, 0x0f, 0x84, 0x19, 0x5d, 0x05, 0x41, 0x71, 0x1d, 0x50, 0x6f, 0x35,
   414  		0x10, 0xcd, 0xf7, 0x79, 0xce, 0x37, 0xde, 0x53, 0x0c, 0x14, 0x2f, 0xc0, 0xa1, 0xfe, 0x95, 0x40,
   415  		0x34, 0xeb, 0x17, 0x6e, 0x77, 0x9d, 0xdd, 0xc2, 0x85, 0x40, 0x71, 0xb3, 0x9d, 0x52, 0xc2, 0x55,
   416  		0x40, 0x34, 0xed, 0x2b, 0xb7, 0x3b, 0x37, 0xee, 0x70, 0x11, 0x50, 0x5c, 0x00, 0x68, 0x27, 0xe0,
   417  		0x68, 0xae, 0x57, 0x39, 0x57, 0x08, 0x44, 0x96, 0x06, 0xcf, 0xbf, 0xd1, 0xf8, 0x2f, 0x8a, 0xa5,
   418  		0xc1, 0x11, 0x64, 0x69, 0x88, 0xd4, 0x1b, 0x8d, 0x7e, 0x4d, 0x2c, 0x0d, 0x01, 0x21, 0x91, 0x1d,
   419  		0xca, 0x6e, 0xd1, 0x0c, 0x5f, 0x12, 0x91, 0x1d, 0x42, 0x15, 0x57, 0x61, 0xbc, 0x27, 0x21, 0x46,
   420  		0x53, 0x7d, 0x99, 0x53, 0xc9, 0xdd, 0xf9, 0x30, 0x9c, 0xbc, 0x78, 0x32, 0x8c, 0x66, 0xfb, 0x93,
   421  		0xae, 0xe4, 0xc5, 0x73, 0x61, 0xf1, 0x2c, 0xa4, 0xac, 0xa6, 0x69, 0x92, 0xc5, 0x83, 0xee, 0xfe,
   422  		0xe5, 0x5e, 0xfe, 0x27, 0xef, 0x73, 0xef, 0x08, 0x40, 0xf1, 0x24, 0x24, 0x71, 0x63, 0x1b, 0xd7,
   423  		0xa2, 0x90, 0xff, 0xf6, 0xbe, 0xd8, 0x30, 0x89, 0x76, 0xf1, 0x79, 0x00, 0x76, 0x35, 0x42, 0x5f,
   424  		0xfb, 0x45, 0x60, 0xff, 0xfd, 0x7d, 0xfe, 0x4d, 0x4d, 0x1b, 0xd2, 0x26, 0x60, 0x5f, 0xe8, 0xdc,
   425  		0x9d, 0xe0, 0x9d, 0x4e, 0x02, 0x3a, 0x23, 0xcf, 0xc2, 0xc8, 0x25, 0xcf, 0xb6, 0x7c, 0xad, 0x1e,
   426  		0x85, 0xfe, 0x0f, 0x8e, 0x16, 0xfa, 0xc4, 0x61, 0x0d, 0xdb, 0xc5, 0xbe, 0x56, 0xf7, 0xa2, 0xb0,
   427  		0xff, 0xc9, 0xb1, 0x01, 0x80, 0x80, 0x75, 0xcd, 0xf3, 0x07, 0x19, 0xf7, 0x7f, 0x09, 0xb0, 0x00,
   428  		0x10, 0xa3, 0xc9, 0xef, 0xcb, 0xb8, 0x15, 0x85, 0x7d, 0x57, 0x18, 0xcd, 0xf5, 0x8b, 0x1f, 0x83,
   429  		0x34, 0xf9, 0xc9, 0x3e, 0x94, 0x8b, 0x00, 0xff, 0x37, 0x07, 0xb7, 0x11, 0xa4, 0x67, 0xcf, 0xaf,
   430  		0xf9, 0x46, 0xb4, 0xb3, 0xff, 0x87, 0xcf, 0xb4, 0xd0, 0x2f, 0x2e, 0x40, 0xc6, 0xf3, 0x6b, 0xb5,
   431  		0x26, 0xaf, 0x4f, 0x23, 0xe0, 0xff, 0xfb, 0x7e, 0x70, 0x65, 0x11, 0x60, 0xc8, 0x6c, 0x5f, 0xbd,
   432  		0xec, 0x3b, 0x36, 0x7d, 0xcd, 0x11, 0xc5, 0x70, 0x9b, 0x33, 0x84, 0x20, 0xa5, 0x72, 0xff, 0xeb,
   433  		0x5b, 0x58, 0xb6, 0x97, 0x6d, 0x76, 0x71, 0xfb, 0xe2, 0x6c, 0xf4, 0x0d, 0x2c, 0x7c, 0x73, 0x0c,
   434  		0xa6, 0x75, 0xbb, 0xb1, 0x6d, 0x7b, 0x47, 0x83, 0xed, 0xf8, 0xa8, 0x98, 0x1d, 0x7e, 0x35, 0x1b,
   435  		0xcc, 0xd6, 0xd4, 0xc1, 0xee, 0x74, 0x67, 0x7f, 0x32, 0x0a, 0xa9, 0x45, 0xcd, 0xf3, 0xb5, 0xab,
   436  		0x5a, 0x0b, 0x3d, 0x02, 0xa9, 0x8a, 0xe5, 0x1f, 0x3f, 0xb6, 0xee, 0xbb, 0xf4, 0xb5, 0x64, 0xbc,
   437  		0x94, 0xbe, 0x73, 0x73, 0x3a, 0x69, 0x10, 0x99, 0x12, 0x34, 0xa1, 0x23, 0x90, 0xa4, 0xbf, 0xe9,
   438  		0xcd, 0x76, 0xbc, 0x34, 0x7a, 0xe3, 0xe6, 0xf4, 0x50, 0x5b, 0x8f, 0xb5, 0xa1, 0x8b, 0x90, 0xa9,
   439  		0xb6, 0xb6, 0x0c, 0xcb, 0x3f, 0x75, 0x82, 0xd0, 0x11, 0xef, 0x24, 0x4a, 0xa7, 0xef, 0xdc, 0x9c,
   440  		0x3e, 0xbe, 0xaf, 0x81, 0xa4, 0xac, 0x68, 0x0f, 0x4c, 0xa0, 0xe9, 0xf7, 0xc8, 0x61, 0x2e, 0x74,
   441  		0x01, 0x52, 0xe2, 0x91, 0xbd, 0x21, 0x2a, 0x9d, 0xe5, 0x26, 0xdc, 0x13, 0x77, 0x40, 0x86, 0x7e,
   442  		0x0e, 0xb2, 0xd5, 0xd6, 0x39, 0xd3, 0xd6, 0xb8, 0x0f, 0x92, 0x33, 0xd2, 0x5c, 0xac, 0x74, 0xe6,
   443  		0xce, 0xcd, 0xe9, 0x13, 0x03, 0x13, 0x73, 0x38, 0x65, 0xee, 0x60, 0x43, 0x2f, 0x42, 0x3a, 0x78,
   444  		0xa6, 0xef, 0xa0, 0x62, 0xa5, 0x8f, 0x72, 0xbb, 0xef, 0x8d, 0xbe, 0x4d, 0x17, 0xb2, 0x9c, 0xb9,
   445  		0x7b, 0x64, 0x46, 0x9a, 0x93, 0xee, 0xc5, 0x72, 0xee, 0x93, 0x0e, 0xb6, 0x90, 0xe5, 0xa7, 0x4e,
   446  		0xd0, 0x97, 0x5e, 0xd2, 0xbd, 0x5a, 0xce, 0xe9, 0xdb, 0x74, 0xe8, 0x3c, 0x8c, 0x54, 0x5b, 0xa5,
   447  		0x96, 0x8f, 0x3d, 0xfa, 0x99, 0x5b, 0xb6, 0xf4, 0xcc, 0x9d, 0x9b, 0xd3, 0x4f, 0x0d, 0xc8, 0x4a,
   448  		0x71, 0x8a, 0x20, 0x40, 0x33, 0x90, 0x59, 0xb5, 0xdd, 0x86, 0x66, 0x32, 0x3e, 0x60, 0x2f, 0xf1,
   449  		0x42, 0x22, 0xb4, 0x45, 0x46, 0xc2, 0x66, 0xdb, 0xa3, 0xff, 0x21, 0xf5, 0x53, 0xc4, 0x64, 0x9b,
   450  		0x09, 0x19, 0x90, 0xac, 0xb6, 0xaa, 0x9a, 0x93, 0xcf, 0xd2, 0x37, 0x4c, 0x0f, 0xcd, 0x07, 0x08,
   451  		0xb1, 0xb6, 0xe6, 0x69, 0x3b, 0xfd, 0x14, 0xa7, 0x74, 0xe2, 0xce, 0xcd, 0xe9, 0x67, 0x06, 0xee,
   452  		0xb1, 0xaa, 0x39, 0xb4, 0x3b, 0xd6, 0x03, 0xfa, 0x96, 0x44, 0x16, 0x16, 0xbb, 0xa2, 0x27, 0x3d,
   453  		0x8e, 0xd2, 0x1e, 0x8f, 0xf4, 0xed, 0x31, 0xd0, 0x62, 0xfd, 0x5a, 0x9f, 0x79, 0xe3, 0x00, 0x23,
   454  		0x65, 0x27, 0x43, 0xd2, 0xf5, 0xaf, 0xbe, 0x71, 0xcf, 0x8b, 0x36, 0xb0, 0x00, 0xbd, 0x2c, 0xc1,
   455  		0x68, 0xb5, 0xb5, 0xca, 0x53, 0x38, 0xb1, 0x3c, 0xc7, 0xff, 0x8f, 0xa6, 0x9f, 0xe5, 0x21, 0x3d,
   456  		0x66, 0xfb, 0xa9, 0xcf, 0xbc, 0x31, 0x7d, 0x6c, 0x60, 0x23, 0xe8, 0x16, 0x44, 0x6d, 0xe8, 0xec,
   457  		0x13, 0x7d, 0x96, 0x5a, 0x51, 0x26, 0xe5, 0x40, 0x0d, 0xd7, 0x88, 0x15, 0x63, 0x77, 0xb1, 0x22,
   458  		0xa4, 0xc7, 0xac, 0x28, 0x92, 0xa8, 0xbf, 0x77, 0x4b, 0x42, 0x7c, 0x68, 0x0d, 0x86, 0x99, 0x87,
   459  		0xe9, 0x27, 0x96, 0xe9, 0x03, 0x86, 0x61, 0x7b, 0x72, 0x14, 0x4e, 0x33, 0x75, 0x06, 0xa0, 0x1d,
   460  		0x63, 0x48, 0x86, 0xf8, 0x65, 0xdc, 0xe2, 0xdf, 0xd1, 0x92, 0x9f, 0x68, 0xb2, 0xfd, 0xa1, 0xbb,
   461  		0x34, 0x97, 0xe0, 0x5f, 0xaf, 0x17, 0x63, 0x67, 0xa4, 0xa9, 0xe7, 0x40, 0xee, 0x8e, 0x95, 0x03,
   462  		0xe1, 0x15, 0x40, 0xbd, 0x33, 0x16, 0x66, 0x48, 0x32, 0x86, 0x47, 0xc3, 0x0c, 0x99, 0x63, 0x72,
   463  		0xdb, 0xe7, 0x17, 0x0c, 0xd3, 0xb3, 0xad, 0x1e, 0xce, 0x6e, 0xff, 0xff, 0x74, 0x9c, 0xb3, 0x05,
   464  		0x18, 0x66, 0x42, 0x32, 0x96, 0x0a, 0x4d, 0x1f, 0x34, 0xcb, 0x29, 0xec, 0xa1, 0xb4, 0x72, 0xe3,
   465  		0x56, 0x61, 0xe8, 0x87, 0xb7, 0x0a, 0x43, 0xff, 0x7c, 0xab, 0x30, 0xf4, 0xe6, 0xad, 0x82, 0xf4,
   466  		0xf6, 0xad, 0x82, 0xf4, 0xee, 0xad, 0x82, 0xf4, 0xde, 0xad, 0x82, 0x74, 0x7d, 0xaf, 0x20, 0x7d,
   467  		0x75, 0xaf, 0x20, 0x7d, 0x7d, 0xaf, 0x20, 0x7d, 0x67, 0xaf, 0x20, 0x7d, 0x7f, 0xaf, 0x20, 0xdd,
   468  		0xd8, 0x2b, 0x48, 0x3f, 0xdc, 0x2b, 0x0c, 0xbd, 0xb9, 0x57, 0x90, 0xde, 0xde, 0x2b, 0x0c, 0xbd,
   469  		0xbb, 0x57, 0x90, 0xde, 0xdb, 0x2b, 0x0c, 0x5d, 0xff, 0x71, 0x61, 0xe8, 0xff, 0x02, 0x00, 0x00,
   470  		0xff, 0xff, 0x20, 0xb5, 0xdc, 0x39, 0xab, 0x3a, 0x00, 0x00,
   471  	}
   472  	r := bytes.NewReader(gzipped)
   473  	gzipr, err := compress_gzip.NewReader(r)
   474  	if err != nil {
   475  		panic(err)
   476  	}
   477  	ungzipped, err := io_ioutil.ReadAll(gzipr)
   478  	if err != nil {
   479  		panic(err)
   480  	}
   481  	if err := github_com_gogo_protobuf_proto.Unmarshal(ungzipped, d); err != nil {
   482  		panic(err)
   483  	}
   484  	return d
   485  }
   486  func (this *Castaway) VerboseEqual(that interface{}) error {
   487  	if that == nil {
   488  		if this == nil {
   489  			return nil
   490  		}
   491  		return fmt.Errorf("that == nil && this != nil")
   492  	}
   493  
   494  	that1, ok := that.(*Castaway)
   495  	if !ok {
   496  		that2, ok := that.(Castaway)
   497  		if ok {
   498  			that1 = &that2
   499  		} else {
   500  			return fmt.Errorf("that is not of type *Castaway")
   501  		}
   502  	}
   503  	if that1 == nil {
   504  		if this == nil {
   505  			return nil
   506  		}
   507  		return fmt.Errorf("that is type *Castaway but is nil && this != nil")
   508  	} else if this == nil {
   509  		return fmt.Errorf("that is type *Castaway but is not nil && this == nil")
   510  	}
   511  	if this.Int32Ptr != nil && that1.Int32Ptr != nil {
   512  		if *this.Int32Ptr != *that1.Int32Ptr {
   513  			return fmt.Errorf("Int32Ptr this(%v) Not Equal that(%v)", *this.Int32Ptr, *that1.Int32Ptr)
   514  		}
   515  	} else if this.Int32Ptr != nil {
   516  		return fmt.Errorf("this.Int32Ptr == nil && that.Int32Ptr != nil")
   517  	} else if that1.Int32Ptr != nil {
   518  		return fmt.Errorf("Int32Ptr this(%v) Not Equal that(%v)", this.Int32Ptr, that1.Int32Ptr)
   519  	}
   520  	if this.Int32 != that1.Int32 {
   521  		return fmt.Errorf("Int32 this(%v) Not Equal that(%v)", this.Int32, that1.Int32)
   522  	}
   523  	if this.MyUint64Ptr != nil && that1.MyUint64Ptr != nil {
   524  		if *this.MyUint64Ptr != *that1.MyUint64Ptr {
   525  			return fmt.Errorf("MyUint64Ptr this(%v) Not Equal that(%v)", *this.MyUint64Ptr, *that1.MyUint64Ptr)
   526  		}
   527  	} else if this.MyUint64Ptr != nil {
   528  		return fmt.Errorf("this.MyUint64Ptr == nil && that.MyUint64Ptr != nil")
   529  	} else if that1.MyUint64Ptr != nil {
   530  		return fmt.Errorf("MyUint64Ptr this(%v) Not Equal that(%v)", this.MyUint64Ptr, that1.MyUint64Ptr)
   531  	}
   532  	if this.MyUint64 != that1.MyUint64 {
   533  		return fmt.Errorf("MyUint64 this(%v) Not Equal that(%v)", this.MyUint64, that1.MyUint64)
   534  	}
   535  	if this.MyFloat32Ptr != nil && that1.MyFloat32Ptr != nil {
   536  		if *this.MyFloat32Ptr != *that1.MyFloat32Ptr {
   537  			return fmt.Errorf("MyFloat32Ptr this(%v) Not Equal that(%v)", *this.MyFloat32Ptr, *that1.MyFloat32Ptr)
   538  		}
   539  	} else if this.MyFloat32Ptr != nil {
   540  		return fmt.Errorf("this.MyFloat32Ptr == nil && that.MyFloat32Ptr != nil")
   541  	} else if that1.MyFloat32Ptr != nil {
   542  		return fmt.Errorf("MyFloat32Ptr this(%v) Not Equal that(%v)", this.MyFloat32Ptr, that1.MyFloat32Ptr)
   543  	}
   544  	if this.MyFloat32 != that1.MyFloat32 {
   545  		return fmt.Errorf("MyFloat32 this(%v) Not Equal that(%v)", this.MyFloat32, that1.MyFloat32)
   546  	}
   547  	if this.MyFloat64Ptr != nil && that1.MyFloat64Ptr != nil {
   548  		if *this.MyFloat64Ptr != *that1.MyFloat64Ptr {
   549  			return fmt.Errorf("MyFloat64Ptr this(%v) Not Equal that(%v)", *this.MyFloat64Ptr, *that1.MyFloat64Ptr)
   550  		}
   551  	} else if this.MyFloat64Ptr != nil {
   552  		return fmt.Errorf("this.MyFloat64Ptr == nil && that.MyFloat64Ptr != nil")
   553  	} else if that1.MyFloat64Ptr != nil {
   554  		return fmt.Errorf("MyFloat64Ptr this(%v) Not Equal that(%v)", this.MyFloat64Ptr, that1.MyFloat64Ptr)
   555  	}
   556  	if this.MyFloat64 != that1.MyFloat64 {
   557  		return fmt.Errorf("MyFloat64 this(%v) Not Equal that(%v)", this.MyFloat64, that1.MyFloat64)
   558  	}
   559  	if !bytes.Equal(this.MyBytes, that1.MyBytes) {
   560  		return fmt.Errorf("MyBytes this(%v) Not Equal that(%v)", this.MyBytes, that1.MyBytes)
   561  	}
   562  	if !bytes.Equal(this.NormalBytes, that1.NormalBytes) {
   563  		return fmt.Errorf("NormalBytes this(%v) Not Equal that(%v)", this.NormalBytes, that1.NormalBytes)
   564  	}
   565  	if len(this.MyUint64S) != len(that1.MyUint64S) {
   566  		return fmt.Errorf("MyUint64S this(%v) Not Equal that(%v)", len(this.MyUint64S), len(that1.MyUint64S))
   567  	}
   568  	for i := range this.MyUint64S {
   569  		if this.MyUint64S[i] != that1.MyUint64S[i] {
   570  			return fmt.Errorf("MyUint64S this[%v](%v) Not Equal that[%v](%v)", i, this.MyUint64S[i], i, that1.MyUint64S[i])
   571  		}
   572  	}
   573  	if len(this.MyMap) != len(that1.MyMap) {
   574  		return fmt.Errorf("MyMap this(%v) Not Equal that(%v)", len(this.MyMap), len(that1.MyMap))
   575  	}
   576  	for i := range this.MyMap {
   577  		if this.MyMap[i] != that1.MyMap[i] {
   578  			return fmt.Errorf("MyMap this[%v](%v) Not Equal that[%v](%v)", i, this.MyMap[i], i, that1.MyMap[i])
   579  		}
   580  	}
   581  	if len(this.MyCustomMap) != len(that1.MyCustomMap) {
   582  		return fmt.Errorf("MyCustomMap this(%v) Not Equal that(%v)", len(this.MyCustomMap), len(that1.MyCustomMap))
   583  	}
   584  	for i := range this.MyCustomMap {
   585  		if this.MyCustomMap[i] != that1.MyCustomMap[i] {
   586  			return fmt.Errorf("MyCustomMap this[%v](%v) Not Equal that[%v](%v)", i, this.MyCustomMap[i], i, that1.MyCustomMap[i])
   587  		}
   588  	}
   589  	if len(this.MyNullableMap) != len(that1.MyNullableMap) {
   590  		return fmt.Errorf("MyNullableMap this(%v) Not Equal that(%v)", len(this.MyNullableMap), len(that1.MyNullableMap))
   591  	}
   592  	for i := range this.MyNullableMap {
   593  		if !this.MyNullableMap[i].Equal(that1.MyNullableMap[i]) {
   594  			return fmt.Errorf("MyNullableMap this[%v](%v) Not Equal that[%v](%v)", i, this.MyNullableMap[i], i, that1.MyNullableMap[i])
   595  		}
   596  	}
   597  	if len(this.MyEmbeddedMap) != len(that1.MyEmbeddedMap) {
   598  		return fmt.Errorf("MyEmbeddedMap this(%v) Not Equal that(%v)", len(this.MyEmbeddedMap), len(that1.MyEmbeddedMap))
   599  	}
   600  	for i := range this.MyEmbeddedMap {
   601  		a := this.MyEmbeddedMap[i]
   602  		b := that1.MyEmbeddedMap[i]
   603  		if !(&a).Equal(&b) {
   604  			return fmt.Errorf("MyEmbeddedMap this[%v](%v) Not Equal that[%v](%v)", i, this.MyEmbeddedMap[i], i, that1.MyEmbeddedMap[i])
   605  		}
   606  	}
   607  	if this.String_ != nil && that1.String_ != nil {
   608  		if *this.String_ != *that1.String_ {
   609  			return fmt.Errorf("String_ this(%v) Not Equal that(%v)", *this.String_, *that1.String_)
   610  		}
   611  	} else if this.String_ != nil {
   612  		return fmt.Errorf("this.String_ == nil && that.String_ != nil")
   613  	} else if that1.String_ != nil {
   614  		return fmt.Errorf("String_ this(%v) Not Equal that(%v)", this.String_, that1.String_)
   615  	}
   616  	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
   617  		return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
   618  	}
   619  	return nil
   620  }
   621  func (this *Castaway) Equal(that interface{}) bool {
   622  	if that == nil {
   623  		return this == nil
   624  	}
   625  
   626  	that1, ok := that.(*Castaway)
   627  	if !ok {
   628  		that2, ok := that.(Castaway)
   629  		if ok {
   630  			that1 = &that2
   631  		} else {
   632  			return false
   633  		}
   634  	}
   635  	if that1 == nil {
   636  		return this == nil
   637  	} else if this == nil {
   638  		return false
   639  	}
   640  	if this.Int32Ptr != nil && that1.Int32Ptr != nil {
   641  		if *this.Int32Ptr != *that1.Int32Ptr {
   642  			return false
   643  		}
   644  	} else if this.Int32Ptr != nil {
   645  		return false
   646  	} else if that1.Int32Ptr != nil {
   647  		return false
   648  	}
   649  	if this.Int32 != that1.Int32 {
   650  		return false
   651  	}
   652  	if this.MyUint64Ptr != nil && that1.MyUint64Ptr != nil {
   653  		if *this.MyUint64Ptr != *that1.MyUint64Ptr {
   654  			return false
   655  		}
   656  	} else if this.MyUint64Ptr != nil {
   657  		return false
   658  	} else if that1.MyUint64Ptr != nil {
   659  		return false
   660  	}
   661  	if this.MyUint64 != that1.MyUint64 {
   662  		return false
   663  	}
   664  	if this.MyFloat32Ptr != nil && that1.MyFloat32Ptr != nil {
   665  		if *this.MyFloat32Ptr != *that1.MyFloat32Ptr {
   666  			return false
   667  		}
   668  	} else if this.MyFloat32Ptr != nil {
   669  		return false
   670  	} else if that1.MyFloat32Ptr != nil {
   671  		return false
   672  	}
   673  	if this.MyFloat32 != that1.MyFloat32 {
   674  		return false
   675  	}
   676  	if this.MyFloat64Ptr != nil && that1.MyFloat64Ptr != nil {
   677  		if *this.MyFloat64Ptr != *that1.MyFloat64Ptr {
   678  			return false
   679  		}
   680  	} else if this.MyFloat64Ptr != nil {
   681  		return false
   682  	} else if that1.MyFloat64Ptr != nil {
   683  		return false
   684  	}
   685  	if this.MyFloat64 != that1.MyFloat64 {
   686  		return false
   687  	}
   688  	if !bytes.Equal(this.MyBytes, that1.MyBytes) {
   689  		return false
   690  	}
   691  	if !bytes.Equal(this.NormalBytes, that1.NormalBytes) {
   692  		return false
   693  	}
   694  	if len(this.MyUint64S) != len(that1.MyUint64S) {
   695  		return false
   696  	}
   697  	for i := range this.MyUint64S {
   698  		if this.MyUint64S[i] != that1.MyUint64S[i] {
   699  			return false
   700  		}
   701  	}
   702  	if len(this.MyMap) != len(that1.MyMap) {
   703  		return false
   704  	}
   705  	for i := range this.MyMap {
   706  		if this.MyMap[i] != that1.MyMap[i] {
   707  			return false
   708  		}
   709  	}
   710  	if len(this.MyCustomMap) != len(that1.MyCustomMap) {
   711  		return false
   712  	}
   713  	for i := range this.MyCustomMap {
   714  		if this.MyCustomMap[i] != that1.MyCustomMap[i] {
   715  			return false
   716  		}
   717  	}
   718  	if len(this.MyNullableMap) != len(that1.MyNullableMap) {
   719  		return false
   720  	}
   721  	for i := range this.MyNullableMap {
   722  		if !this.MyNullableMap[i].Equal(that1.MyNullableMap[i]) {
   723  			return false
   724  		}
   725  	}
   726  	if len(this.MyEmbeddedMap) != len(that1.MyEmbeddedMap) {
   727  		return false
   728  	}
   729  	for i := range this.MyEmbeddedMap {
   730  		a := this.MyEmbeddedMap[i]
   731  		b := that1.MyEmbeddedMap[i]
   732  		if !(&a).Equal(&b) {
   733  			return false
   734  		}
   735  	}
   736  	if this.String_ != nil && that1.String_ != nil {
   737  		if *this.String_ != *that1.String_ {
   738  			return false
   739  		}
   740  	} else if this.String_ != nil {
   741  		return false
   742  	} else if that1.String_ != nil {
   743  		return false
   744  	}
   745  	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
   746  		return false
   747  	}
   748  	return true
   749  }
   750  func (this *Wilson) VerboseEqual(that interface{}) error {
   751  	if that == nil {
   752  		if this == nil {
   753  			return nil
   754  		}
   755  		return fmt.Errorf("that == nil && this != nil")
   756  	}
   757  
   758  	that1, ok := that.(*Wilson)
   759  	if !ok {
   760  		that2, ok := that.(Wilson)
   761  		if ok {
   762  			that1 = &that2
   763  		} else {
   764  			return fmt.Errorf("that is not of type *Wilson")
   765  		}
   766  	}
   767  	if that1 == nil {
   768  		if this == nil {
   769  			return nil
   770  		}
   771  		return fmt.Errorf("that is type *Wilson but is nil && this != nil")
   772  	} else if this == nil {
   773  		return fmt.Errorf("that is type *Wilson but is not nil && this == nil")
   774  	}
   775  	if this.Int64 != nil && that1.Int64 != nil {
   776  		if *this.Int64 != *that1.Int64 {
   777  			return fmt.Errorf("Int64 this(%v) Not Equal that(%v)", *this.Int64, *that1.Int64)
   778  		}
   779  	} else if this.Int64 != nil {
   780  		return fmt.Errorf("this.Int64 == nil && that.Int64 != nil")
   781  	} else if that1.Int64 != nil {
   782  		return fmt.Errorf("Int64 this(%v) Not Equal that(%v)", this.Int64, that1.Int64)
   783  	}
   784  	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
   785  		return fmt.Errorf("XXX_unrecognized this(%v) Not Equal that(%v)", this.XXX_unrecognized, that1.XXX_unrecognized)
   786  	}
   787  	return nil
   788  }
   789  func (this *Wilson) Equal(that interface{}) bool {
   790  	if that == nil {
   791  		return this == nil
   792  	}
   793  
   794  	that1, ok := that.(*Wilson)
   795  	if !ok {
   796  		that2, ok := that.(Wilson)
   797  		if ok {
   798  			that1 = &that2
   799  		} else {
   800  			return false
   801  		}
   802  	}
   803  	if that1 == nil {
   804  		return this == nil
   805  	} else if this == nil {
   806  		return false
   807  	}
   808  	if this.Int64 != nil && that1.Int64 != nil {
   809  		if *this.Int64 != *that1.Int64 {
   810  			return false
   811  		}
   812  	} else if this.Int64 != nil {
   813  		return false
   814  	} else if that1.Int64 != nil {
   815  		return false
   816  	}
   817  	if !bytes.Equal(this.XXX_unrecognized, that1.XXX_unrecognized) {
   818  		return false
   819  	}
   820  	return true
   821  }
   822  
   823  type CastawayFace interface {
   824  	Proto() github_com_gogo_protobuf_proto.Message
   825  	GetInt32Ptr() *int32
   826  	GetInt32() int32
   827  	GetMyUint64Ptr() *github_com_gogo_protobuf_test_casttype.MyUint64Type
   828  	GetMyUint64() github_com_gogo_protobuf_test_casttype.MyUint64Type
   829  	GetMyFloat32Ptr() *github_com_gogo_protobuf_test_casttype.MyFloat32Type
   830  	GetMyFloat32() github_com_gogo_protobuf_test_casttype.MyFloat32Type
   831  	GetMyFloat64Ptr() *github_com_gogo_protobuf_test_casttype.MyFloat64Type
   832  	GetMyFloat64() github_com_gogo_protobuf_test_casttype.MyFloat64Type
   833  	GetMyBytes() github_com_gogo_protobuf_test_casttype.Bytes
   834  	GetNormalBytes() []byte
   835  	GetMyUint64S() []github_com_gogo_protobuf_test_casttype.MyUint64Type
   836  	GetMyMap() github_com_gogo_protobuf_test_casttype.MyMapType
   837  	GetMyCustomMap() map[github_com_gogo_protobuf_test_casttype.MyStringType]github_com_gogo_protobuf_test_casttype.MyUint64Type
   838  	GetMyNullableMap() map[github_com_gogo_protobuf_test_casttype.MyInt32Type]*Wilson
   839  	GetMyEmbeddedMap() map[github_com_gogo_protobuf_test_casttype.MyInt32Type]Wilson
   840  	GetString_() *github_com_gogo_protobuf_test_casttype.MyStringType
   841  }
   842  
   843  func (this *Castaway) Proto() github_com_gogo_protobuf_proto.Message {
   844  	return this
   845  }
   846  
   847  func (this *Castaway) TestProto() github_com_gogo_protobuf_proto.Message {
   848  	return NewCastawayFromFace(this)
   849  }
   850  
   851  func (this *Castaway) GetInt32Ptr() *int32 {
   852  	return this.Int32Ptr
   853  }
   854  
   855  func (this *Castaway) GetInt32() int32 {
   856  	return this.Int32
   857  }
   858  
   859  func (this *Castaway) GetMyUint64Ptr() *github_com_gogo_protobuf_test_casttype.MyUint64Type {
   860  	return this.MyUint64Ptr
   861  }
   862  
   863  func (this *Castaway) GetMyUint64() github_com_gogo_protobuf_test_casttype.MyUint64Type {
   864  	return this.MyUint64
   865  }
   866  
   867  func (this *Castaway) GetMyFloat32Ptr() *github_com_gogo_protobuf_test_casttype.MyFloat32Type {
   868  	return this.MyFloat32Ptr
   869  }
   870  
   871  func (this *Castaway) GetMyFloat32() github_com_gogo_protobuf_test_casttype.MyFloat32Type {
   872  	return this.MyFloat32
   873  }
   874  
   875  func (this *Castaway) GetMyFloat64Ptr() *github_com_gogo_protobuf_test_casttype.MyFloat64Type {
   876  	return this.MyFloat64Ptr
   877  }
   878  
   879  func (this *Castaway) GetMyFloat64() github_com_gogo_protobuf_test_casttype.MyFloat64Type {
   880  	return this.MyFloat64
   881  }
   882  
   883  func (this *Castaway) GetMyBytes() github_com_gogo_protobuf_test_casttype.Bytes {
   884  	return this.MyBytes
   885  }
   886  
   887  func (this *Castaway) GetNormalBytes() []byte {
   888  	return this.NormalBytes
   889  }
   890  
   891  func (this *Castaway) GetMyUint64S() []github_com_gogo_protobuf_test_casttype.MyUint64Type {
   892  	return this.MyUint64S
   893  }
   894  
   895  func (this *Castaway) GetMyMap() github_com_gogo_protobuf_test_casttype.MyMapType {
   896  	return this.MyMap
   897  }
   898  
   899  func (this *Castaway) GetMyCustomMap() map[github_com_gogo_protobuf_test_casttype.MyStringType]github_com_gogo_protobuf_test_casttype.MyUint64Type {
   900  	return this.MyCustomMap
   901  }
   902  
   903  func (this *Castaway) GetMyNullableMap() map[github_com_gogo_protobuf_test_casttype.MyInt32Type]*Wilson {
   904  	return this.MyNullableMap
   905  }
   906  
   907  func (this *Castaway) GetMyEmbeddedMap() map[github_com_gogo_protobuf_test_casttype.MyInt32Type]Wilson {
   908  	return this.MyEmbeddedMap
   909  }
   910  
   911  func (this *Castaway) GetString_() *github_com_gogo_protobuf_test_casttype.MyStringType {
   912  	return this.String_
   913  }
   914  
   915  func NewCastawayFromFace(that CastawayFace) *Castaway {
   916  	this := &Castaway{}
   917  	this.Int32Ptr = that.GetInt32Ptr()
   918  	this.Int32 = that.GetInt32()
   919  	this.MyUint64Ptr = that.GetMyUint64Ptr()
   920  	this.MyUint64 = that.GetMyUint64()
   921  	this.MyFloat32Ptr = that.GetMyFloat32Ptr()
   922  	this.MyFloat32 = that.GetMyFloat32()
   923  	this.MyFloat64Ptr = that.GetMyFloat64Ptr()
   924  	this.MyFloat64 = that.GetMyFloat64()
   925  	this.MyBytes = that.GetMyBytes()
   926  	this.NormalBytes = that.GetNormalBytes()
   927  	this.MyUint64S = that.GetMyUint64S()
   928  	this.MyMap = that.GetMyMap()
   929  	this.MyCustomMap = that.GetMyCustomMap()
   930  	this.MyNullableMap = that.GetMyNullableMap()
   931  	this.MyEmbeddedMap = that.GetMyEmbeddedMap()
   932  	this.String_ = that.GetString_()
   933  	return this
   934  }
   935  
   936  type WilsonFace interface {
   937  	Proto() github_com_gogo_protobuf_proto.Message
   938  	GetInt64() *int64
   939  }
   940  
   941  func (this *Wilson) Proto() github_com_gogo_protobuf_proto.Message {
   942  	return this
   943  }
   944  
   945  func (this *Wilson) TestProto() github_com_gogo_protobuf_proto.Message {
   946  	return NewWilsonFromFace(this)
   947  }
   948  
   949  func (this *Wilson) GetInt64() *int64 {
   950  	return this.Int64
   951  }
   952  
   953  func NewWilsonFromFace(that WilsonFace) *Wilson {
   954  	this := &Wilson{}
   955  	this.Int64 = that.GetInt64()
   956  	return this
   957  }
   958  
   959  func (this *Castaway) GoString() string {
   960  	if this == nil {
   961  		return "nil"
   962  	}
   963  	s := make([]string, 0, 20)
   964  	s = append(s, "&casttype.Castaway{")
   965  	if this.Int32Ptr != nil {
   966  		s = append(s, "Int32Ptr: "+valueToGoStringCasttype(this.Int32Ptr, "int32")+",\n")
   967  	}
   968  	s = append(s, "Int32: "+fmt.Sprintf("%#v", this.Int32)+",\n")
   969  	if this.MyUint64Ptr != nil {
   970  		s = append(s, "MyUint64Ptr: "+valueToGoStringCasttype(this.MyUint64Ptr, "github_com_gogo_protobuf_test_casttype.MyUint64Type")+",\n")
   971  	}
   972  	s = append(s, "MyUint64: "+fmt.Sprintf("%#v", this.MyUint64)+",\n")
   973  	if this.MyFloat32Ptr != nil {
   974  		s = append(s, "MyFloat32Ptr: "+valueToGoStringCasttype(this.MyFloat32Ptr, "github_com_gogo_protobuf_test_casttype.MyFloat32Type")+",\n")
   975  	}
   976  	s = append(s, "MyFloat32: "+fmt.Sprintf("%#v", this.MyFloat32)+",\n")
   977  	if this.MyFloat64Ptr != nil {
   978  		s = append(s, "MyFloat64Ptr: "+valueToGoStringCasttype(this.MyFloat64Ptr, "github_com_gogo_protobuf_test_casttype.MyFloat64Type")+",\n")
   979  	}
   980  	s = append(s, "MyFloat64: "+fmt.Sprintf("%#v", this.MyFloat64)+",\n")
   981  	if this.MyBytes != nil {
   982  		s = append(s, "MyBytes: "+valueToGoStringCasttype(this.MyBytes, "github_com_gogo_protobuf_test_casttype.Bytes")+",\n")
   983  	}
   984  	if this.NormalBytes != nil {
   985  		s = append(s, "NormalBytes: "+valueToGoStringCasttype(this.NormalBytes, "byte")+",\n")
   986  	}
   987  	if this.MyUint64S != nil {
   988  		s = append(s, "MyUint64S: "+fmt.Sprintf("%#v", this.MyUint64S)+",\n")
   989  	}
   990  	keysForMyMap := make([]string, 0, len(this.MyMap))
   991  	for k := range this.MyMap {
   992  		keysForMyMap = append(keysForMyMap, k)
   993  	}
   994  	github_com_gogo_protobuf_sortkeys.Strings(keysForMyMap)
   995  	mapStringForMyMap := "github_com_gogo_protobuf_test_casttype.MyMapType{"
   996  	for _, k := range keysForMyMap {
   997  		mapStringForMyMap += fmt.Sprintf("%#v: %#v,", k, this.MyMap[k])
   998  	}
   999  	mapStringForMyMap += "}"
  1000  	if this.MyMap != nil {
  1001  		s = append(s, "MyMap: "+mapStringForMyMap+",\n")
  1002  	}
  1003  	keysForMyCustomMap := make([]string, 0, len(this.MyCustomMap))
  1004  	for k := range this.MyCustomMap {
  1005  		keysForMyCustomMap = append(keysForMyCustomMap, string(k))
  1006  	}
  1007  	github_com_gogo_protobuf_sortkeys.Strings(keysForMyCustomMap)
  1008  	mapStringForMyCustomMap := "map[github_com_gogo_protobuf_test_casttype.MyStringType]github_com_gogo_protobuf_test_casttype.MyUint64Type{"
  1009  	for _, k := range keysForMyCustomMap {
  1010  		mapStringForMyCustomMap += fmt.Sprintf("%#v: %#v,", k, this.MyCustomMap[github_com_gogo_protobuf_test_casttype.MyStringType(k)])
  1011  	}
  1012  	mapStringForMyCustomMap += "}"
  1013  	if this.MyCustomMap != nil {
  1014  		s = append(s, "MyCustomMap: "+mapStringForMyCustomMap+",\n")
  1015  	}
  1016  	keysForMyNullableMap := make([]int32, 0, len(this.MyNullableMap))
  1017  	for k := range this.MyNullableMap {
  1018  		keysForMyNullableMap = append(keysForMyNullableMap, int32(k))
  1019  	}
  1020  	github_com_gogo_protobuf_sortkeys.Int32s(keysForMyNullableMap)
  1021  	mapStringForMyNullableMap := "map[github_com_gogo_protobuf_test_casttype.MyInt32Type]*Wilson{"
  1022  	for _, k := range keysForMyNullableMap {
  1023  		mapStringForMyNullableMap += fmt.Sprintf("%#v: %#v,", k, this.MyNullableMap[github_com_gogo_protobuf_test_casttype.MyInt32Type(k)])
  1024  	}
  1025  	mapStringForMyNullableMap += "}"
  1026  	if this.MyNullableMap != nil {
  1027  		s = append(s, "MyNullableMap: "+mapStringForMyNullableMap+",\n")
  1028  	}
  1029  	keysForMyEmbeddedMap := make([]int32, 0, len(this.MyEmbeddedMap))
  1030  	for k := range this.MyEmbeddedMap {
  1031  		keysForMyEmbeddedMap = append(keysForMyEmbeddedMap, int32(k))
  1032  	}
  1033  	github_com_gogo_protobuf_sortkeys.Int32s(keysForMyEmbeddedMap)
  1034  	mapStringForMyEmbeddedMap := "map[github_com_gogo_protobuf_test_casttype.MyInt32Type]Wilson{"
  1035  	for _, k := range keysForMyEmbeddedMap {
  1036  		mapStringForMyEmbeddedMap += fmt.Sprintf("%#v: %#v,", k, this.MyEmbeddedMap[github_com_gogo_protobuf_test_casttype.MyInt32Type(k)])
  1037  	}
  1038  	mapStringForMyEmbeddedMap += "}"
  1039  	if this.MyEmbeddedMap != nil {
  1040  		s = append(s, "MyEmbeddedMap: "+mapStringForMyEmbeddedMap+",\n")
  1041  	}
  1042  	if this.String_ != nil {
  1043  		s = append(s, "String_: "+valueToGoStringCasttype(this.String_, "github_com_gogo_protobuf_test_casttype.MyStringType")+",\n")
  1044  	}
  1045  	if this.XXX_unrecognized != nil {
  1046  		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
  1047  	}
  1048  	s = append(s, "}")
  1049  	return strings.Join(s, "")
  1050  }
  1051  func (this *Wilson) GoString() string {
  1052  	if this == nil {
  1053  		return "nil"
  1054  	}
  1055  	s := make([]string, 0, 5)
  1056  	s = append(s, "&casttype.Wilson{")
  1057  	if this.Int64 != nil {
  1058  		s = append(s, "Int64: "+valueToGoStringCasttype(this.Int64, "int64")+",\n")
  1059  	}
  1060  	if this.XXX_unrecognized != nil {
  1061  		s = append(s, "XXX_unrecognized:"+fmt.Sprintf("%#v", this.XXX_unrecognized)+",\n")
  1062  	}
  1063  	s = append(s, "}")
  1064  	return strings.Join(s, "")
  1065  }
  1066  func valueToGoStringCasttype(v interface{}, typ string) string {
  1067  	rv := reflect.ValueOf(v)
  1068  	if rv.IsNil() {
  1069  		return "nil"
  1070  	}
  1071  	pv := reflect.Indirect(rv).Interface()
  1072  	return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
  1073  }
  1074  func (m *Castaway) Marshal() (dAtA []byte, err error) {
  1075  	size := m.Size()
  1076  	dAtA = make([]byte, size)
  1077  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1078  	if err != nil {
  1079  		return nil, err
  1080  	}
  1081  	return dAtA[:n], nil
  1082  }
  1083  
  1084  func (m *Castaway) MarshalTo(dAtA []byte) (int, error) {
  1085  	size := m.Size()
  1086  	return m.MarshalToSizedBuffer(dAtA[:size])
  1087  }
  1088  
  1089  func (m *Castaway) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1090  	i := len(dAtA)
  1091  	_ = i
  1092  	var l int
  1093  	_ = l
  1094  	if m.XXX_unrecognized != nil {
  1095  		i -= len(m.XXX_unrecognized)
  1096  		copy(dAtA[i:], m.XXX_unrecognized)
  1097  	}
  1098  	if m.String_ != nil {
  1099  		i -= len(*m.String_)
  1100  		copy(dAtA[i:], *m.String_)
  1101  		i = encodeVarintCasttype(dAtA, i, uint64(len(*m.String_)))
  1102  		i--
  1103  		dAtA[i] = 0x1
  1104  		i--
  1105  		dAtA[i] = 0x82
  1106  	}
  1107  	if len(m.MyEmbeddedMap) > 0 {
  1108  		for k := range m.MyEmbeddedMap {
  1109  			v := m.MyEmbeddedMap[k]
  1110  			baseI := i
  1111  			{
  1112  				size, err := (&v).MarshalToSizedBuffer(dAtA[:i])
  1113  				if err != nil {
  1114  					return 0, err
  1115  				}
  1116  				i -= size
  1117  				i = encodeVarintCasttype(dAtA, i, uint64(size))
  1118  			}
  1119  			i--
  1120  			dAtA[i] = 0x12
  1121  			i = encodeVarintCasttype(dAtA, i, uint64(k))
  1122  			i--
  1123  			dAtA[i] = 0x8
  1124  			i = encodeVarintCasttype(dAtA, i, uint64(baseI-i))
  1125  			i--
  1126  			dAtA[i] = 0x7a
  1127  		}
  1128  	}
  1129  	if len(m.MyNullableMap) > 0 {
  1130  		for k := range m.MyNullableMap {
  1131  			v := m.MyNullableMap[k]
  1132  			baseI := i
  1133  			if v != nil {
  1134  				{
  1135  					size, err := v.MarshalToSizedBuffer(dAtA[:i])
  1136  					if err != nil {
  1137  						return 0, err
  1138  					}
  1139  					i -= size
  1140  					i = encodeVarintCasttype(dAtA, i, uint64(size))
  1141  				}
  1142  				i--
  1143  				dAtA[i] = 0x12
  1144  			}
  1145  			i = encodeVarintCasttype(dAtA, i, uint64(k))
  1146  			i--
  1147  			dAtA[i] = 0x8
  1148  			i = encodeVarintCasttype(dAtA, i, uint64(baseI-i))
  1149  			i--
  1150  			dAtA[i] = 0x72
  1151  		}
  1152  	}
  1153  	if len(m.MyCustomMap) > 0 {
  1154  		for k := range m.MyCustomMap {
  1155  			v := m.MyCustomMap[k]
  1156  			baseI := i
  1157  			i = encodeVarintCasttype(dAtA, i, uint64(v))
  1158  			i--
  1159  			dAtA[i] = 0x10
  1160  			i -= len(k)
  1161  			copy(dAtA[i:], k)
  1162  			i = encodeVarintCasttype(dAtA, i, uint64(len(k)))
  1163  			i--
  1164  			dAtA[i] = 0xa
  1165  			i = encodeVarintCasttype(dAtA, i, uint64(baseI-i))
  1166  			i--
  1167  			dAtA[i] = 0x6a
  1168  		}
  1169  	}
  1170  	if len(m.MyMap) > 0 {
  1171  		for k := range m.MyMap {
  1172  			v := m.MyMap[k]
  1173  			baseI := i
  1174  			i = encodeVarintCasttype(dAtA, i, uint64(v))
  1175  			i--
  1176  			dAtA[i] = 0x10
  1177  			i -= len(k)
  1178  			copy(dAtA[i:], k)
  1179  			i = encodeVarintCasttype(dAtA, i, uint64(len(k)))
  1180  			i--
  1181  			dAtA[i] = 0xa
  1182  			i = encodeVarintCasttype(dAtA, i, uint64(baseI-i))
  1183  			i--
  1184  			dAtA[i] = 0x62
  1185  		}
  1186  	}
  1187  	if len(m.MyUint64S) > 0 {
  1188  		for iNdEx := len(m.MyUint64S) - 1; iNdEx >= 0; iNdEx-- {
  1189  			i = encodeVarintCasttype(dAtA, i, uint64(m.MyUint64S[iNdEx]))
  1190  			i--
  1191  			dAtA[i] = 0x58
  1192  		}
  1193  	}
  1194  	if m.NormalBytes != nil {
  1195  		i -= len(m.NormalBytes)
  1196  		copy(dAtA[i:], m.NormalBytes)
  1197  		i = encodeVarintCasttype(dAtA, i, uint64(len(m.NormalBytes)))
  1198  		i--
  1199  		dAtA[i] = 0x52
  1200  	}
  1201  	if m.MyBytes != nil {
  1202  		i -= len(m.MyBytes)
  1203  		copy(dAtA[i:], m.MyBytes)
  1204  		i = encodeVarintCasttype(dAtA, i, uint64(len(m.MyBytes)))
  1205  		i--
  1206  		dAtA[i] = 0x4a
  1207  	}
  1208  	i -= 8
  1209  	encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.MyFloat64))))
  1210  	i--
  1211  	dAtA[i] = 0x41
  1212  	if m.MyFloat64Ptr != nil {
  1213  		i -= 8
  1214  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(*m.MyFloat64Ptr))))
  1215  		i--
  1216  		dAtA[i] = 0x39
  1217  	}
  1218  	i -= 4
  1219  	encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(m.MyFloat32))))
  1220  	i--
  1221  	dAtA[i] = 0x35
  1222  	if m.MyFloat32Ptr != nil {
  1223  		i -= 4
  1224  		encoding_binary.LittleEndian.PutUint32(dAtA[i:], uint32(math.Float32bits(float32(*m.MyFloat32Ptr))))
  1225  		i--
  1226  		dAtA[i] = 0x2d
  1227  	}
  1228  	i = encodeVarintCasttype(dAtA, i, uint64(m.MyUint64))
  1229  	i--
  1230  	dAtA[i] = 0x20
  1231  	if m.MyUint64Ptr != nil {
  1232  		i = encodeVarintCasttype(dAtA, i, uint64(*m.MyUint64Ptr))
  1233  		i--
  1234  		dAtA[i] = 0x18
  1235  	}
  1236  	i = encodeVarintCasttype(dAtA, i, uint64(m.Int32))
  1237  	i--
  1238  	dAtA[i] = 0x10
  1239  	if m.Int32Ptr != nil {
  1240  		i = encodeVarintCasttype(dAtA, i, uint64(*m.Int32Ptr))
  1241  		i--
  1242  		dAtA[i] = 0x8
  1243  	}
  1244  	return len(dAtA) - i, nil
  1245  }
  1246  
  1247  func (m *Wilson) Marshal() (dAtA []byte, err error) {
  1248  	size := m.Size()
  1249  	dAtA = make([]byte, size)
  1250  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1251  	if err != nil {
  1252  		return nil, err
  1253  	}
  1254  	return dAtA[:n], nil
  1255  }
  1256  
  1257  func (m *Wilson) MarshalTo(dAtA []byte) (int, error) {
  1258  	size := m.Size()
  1259  	return m.MarshalToSizedBuffer(dAtA[:size])
  1260  }
  1261  
  1262  func (m *Wilson) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1263  	i := len(dAtA)
  1264  	_ = i
  1265  	var l int
  1266  	_ = l
  1267  	if m.XXX_unrecognized != nil {
  1268  		i -= len(m.XXX_unrecognized)
  1269  		copy(dAtA[i:], m.XXX_unrecognized)
  1270  	}
  1271  	if m.Int64 != nil {
  1272  		i = encodeVarintCasttype(dAtA, i, uint64(*m.Int64))
  1273  		i--
  1274  		dAtA[i] = 0x8
  1275  	}
  1276  	return len(dAtA) - i, nil
  1277  }
  1278  
  1279  func encodeVarintCasttype(dAtA []byte, offset int, v uint64) int {
  1280  	offset -= sovCasttype(v)
  1281  	base := offset
  1282  	for v >= 1<<7 {
  1283  		dAtA[offset] = uint8(v&0x7f | 0x80)
  1284  		v >>= 7
  1285  		offset++
  1286  	}
  1287  	dAtA[offset] = uint8(v)
  1288  	return base
  1289  }
  1290  func NewPopulatedCastaway(r randyCasttype, easy bool) *Castaway {
  1291  	this := &Castaway{}
  1292  	if r.Intn(5) != 0 {
  1293  		v1 := int32(r.Int63())
  1294  		if r.Intn(2) == 0 {
  1295  			v1 *= -1
  1296  		}
  1297  		this.Int32Ptr = &v1
  1298  	}
  1299  	this.Int32 = int32(r.Int63())
  1300  	if r.Intn(2) == 0 {
  1301  		this.Int32 *= -1
  1302  	}
  1303  	if r.Intn(5) != 0 {
  1304  		v2 := github_com_gogo_protobuf_test_casttype.MyUint64Type(uint64(r.Uint32()))
  1305  		this.MyUint64Ptr = &v2
  1306  	}
  1307  	this.MyUint64 = github_com_gogo_protobuf_test_casttype.MyUint64Type(uint64(r.Uint32()))
  1308  	if r.Intn(5) != 0 {
  1309  		v3 := github_com_gogo_protobuf_test_casttype.MyFloat32Type(r.Float32())
  1310  		if r.Intn(2) == 0 {
  1311  			v3 *= -1
  1312  		}
  1313  		this.MyFloat32Ptr = &v3
  1314  	}
  1315  	this.MyFloat32 = github_com_gogo_protobuf_test_casttype.MyFloat32Type(r.Float32())
  1316  	if r.Intn(2) == 0 {
  1317  		this.MyFloat32 *= -1
  1318  	}
  1319  	if r.Intn(5) != 0 {
  1320  		v4 := github_com_gogo_protobuf_test_casttype.MyFloat64Type(r.Float64())
  1321  		if r.Intn(2) == 0 {
  1322  			v4 *= -1
  1323  		}
  1324  		this.MyFloat64Ptr = &v4
  1325  	}
  1326  	this.MyFloat64 = github_com_gogo_protobuf_test_casttype.MyFloat64Type(r.Float64())
  1327  	if r.Intn(2) == 0 {
  1328  		this.MyFloat64 *= -1
  1329  	}
  1330  	if r.Intn(5) != 0 {
  1331  		v5 := r.Intn(100)
  1332  		this.MyBytes = make(github_com_gogo_protobuf_test_casttype.Bytes, v5)
  1333  		for i := 0; i < v5; i++ {
  1334  			this.MyBytes[i] = byte(r.Intn(256))
  1335  		}
  1336  	}
  1337  	if r.Intn(5) != 0 {
  1338  		v6 := r.Intn(100)
  1339  		this.NormalBytes = make([]byte, v6)
  1340  		for i := 0; i < v6; i++ {
  1341  			this.NormalBytes[i] = byte(r.Intn(256))
  1342  		}
  1343  	}
  1344  	if r.Intn(5) != 0 {
  1345  		v7 := r.Intn(10)
  1346  		this.MyUint64S = make([]github_com_gogo_protobuf_test_casttype.MyUint64Type, v7)
  1347  		for i := 0; i < v7; i++ {
  1348  			this.MyUint64S[i] = github_com_gogo_protobuf_test_casttype.MyUint64Type(uint64(r.Uint32()))
  1349  		}
  1350  	}
  1351  	if r.Intn(5) != 0 {
  1352  		v8 := r.Intn(10)
  1353  		this.MyMap = make(github_com_gogo_protobuf_test_casttype.MyMapType)
  1354  		for i := 0; i < v8; i++ {
  1355  			v9 := randStringCasttype(r)
  1356  			this.MyMap[v9] = uint64(uint64(r.Uint32()))
  1357  		}
  1358  	}
  1359  	if r.Intn(5) != 0 {
  1360  		v10 := r.Intn(10)
  1361  		this.MyCustomMap = make(map[github_com_gogo_protobuf_test_casttype.MyStringType]github_com_gogo_protobuf_test_casttype.MyUint64Type)
  1362  		for i := 0; i < v10; i++ {
  1363  			v11 := github_com_gogo_protobuf_test_casttype.MyStringType(randStringCasttype(r))
  1364  			this.MyCustomMap[v11] = github_com_gogo_protobuf_test_casttype.MyUint64Type(uint64(r.Uint32()))
  1365  		}
  1366  	}
  1367  	if r.Intn(5) != 0 {
  1368  		v12 := r.Intn(10)
  1369  		this.MyNullableMap = make(map[github_com_gogo_protobuf_test_casttype.MyInt32Type]*Wilson)
  1370  		for i := 0; i < v12; i++ {
  1371  			this.MyNullableMap[github_com_gogo_protobuf_test_casttype.MyInt32Type(int32(r.Int31()))] = NewPopulatedWilson(r, easy)
  1372  		}
  1373  	}
  1374  	if r.Intn(5) != 0 {
  1375  		v13 := r.Intn(10)
  1376  		this.MyEmbeddedMap = make(map[github_com_gogo_protobuf_test_casttype.MyInt32Type]Wilson)
  1377  		for i := 0; i < v13; i++ {
  1378  			this.MyEmbeddedMap[github_com_gogo_protobuf_test_casttype.MyInt32Type(int32(r.Int31()))] = *NewPopulatedWilson(r, easy)
  1379  		}
  1380  	}
  1381  	if r.Intn(5) != 0 {
  1382  		v14 := github_com_gogo_protobuf_test_casttype.MyStringType(randStringCasttype(r))
  1383  		this.String_ = &v14
  1384  	}
  1385  	if !easy && r.Intn(10) != 0 {
  1386  		this.XXX_unrecognized = randUnrecognizedCasttype(r, 17)
  1387  	}
  1388  	return this
  1389  }
  1390  
  1391  func NewPopulatedWilson(r randyCasttype, easy bool) *Wilson {
  1392  	this := &Wilson{}
  1393  	if r.Intn(5) != 0 {
  1394  		v15 := int64(r.Int63())
  1395  		if r.Intn(2) == 0 {
  1396  			v15 *= -1
  1397  		}
  1398  		this.Int64 = &v15
  1399  	}
  1400  	if !easy && r.Intn(10) != 0 {
  1401  		this.XXX_unrecognized = randUnrecognizedCasttype(r, 2)
  1402  	}
  1403  	return this
  1404  }
  1405  
  1406  type randyCasttype interface {
  1407  	Float32() float32
  1408  	Float64() float64
  1409  	Int63() int64
  1410  	Int31() int32
  1411  	Uint32() uint32
  1412  	Intn(n int) int
  1413  }
  1414  
  1415  func randUTF8RuneCasttype(r randyCasttype) rune {
  1416  	ru := r.Intn(62)
  1417  	if ru < 10 {
  1418  		return rune(ru + 48)
  1419  	} else if ru < 36 {
  1420  		return rune(ru + 55)
  1421  	}
  1422  	return rune(ru + 61)
  1423  }
  1424  func randStringCasttype(r randyCasttype) string {
  1425  	v16 := r.Intn(100)
  1426  	tmps := make([]rune, v16)
  1427  	for i := 0; i < v16; i++ {
  1428  		tmps[i] = randUTF8RuneCasttype(r)
  1429  	}
  1430  	return string(tmps)
  1431  }
  1432  func randUnrecognizedCasttype(r randyCasttype, maxFieldNumber int) (dAtA []byte) {
  1433  	l := r.Intn(5)
  1434  	for i := 0; i < l; i++ {
  1435  		wire := r.Intn(4)
  1436  		if wire == 3 {
  1437  			wire = 5
  1438  		}
  1439  		fieldNumber := maxFieldNumber + r.Intn(100)
  1440  		dAtA = randFieldCasttype(dAtA, r, fieldNumber, wire)
  1441  	}
  1442  	return dAtA
  1443  }
  1444  func randFieldCasttype(dAtA []byte, r randyCasttype, fieldNumber int, wire int) []byte {
  1445  	key := uint32(fieldNumber)<<3 | uint32(wire)
  1446  	switch wire {
  1447  	case 0:
  1448  		dAtA = encodeVarintPopulateCasttype(dAtA, uint64(key))
  1449  		v17 := r.Int63()
  1450  		if r.Intn(2) == 0 {
  1451  			v17 *= -1
  1452  		}
  1453  		dAtA = encodeVarintPopulateCasttype(dAtA, uint64(v17))
  1454  	case 1:
  1455  		dAtA = encodeVarintPopulateCasttype(dAtA, uint64(key))
  1456  		dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
  1457  	case 2:
  1458  		dAtA = encodeVarintPopulateCasttype(dAtA, uint64(key))
  1459  		ll := r.Intn(100)
  1460  		dAtA = encodeVarintPopulateCasttype(dAtA, uint64(ll))
  1461  		for j := 0; j < ll; j++ {
  1462  			dAtA = append(dAtA, byte(r.Intn(256)))
  1463  		}
  1464  	default:
  1465  		dAtA = encodeVarintPopulateCasttype(dAtA, uint64(key))
  1466  		dAtA = append(dAtA, byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)), byte(r.Intn(256)))
  1467  	}
  1468  	return dAtA
  1469  }
  1470  func encodeVarintPopulateCasttype(dAtA []byte, v uint64) []byte {
  1471  	for v >= 1<<7 {
  1472  		dAtA = append(dAtA, uint8(uint64(v)&0x7f|0x80))
  1473  		v >>= 7
  1474  	}
  1475  	dAtA = append(dAtA, uint8(v))
  1476  	return dAtA
  1477  }
  1478  func (m *Castaway) Size() (n int) {
  1479  	if m == nil {
  1480  		return 0
  1481  	}
  1482  	var l int
  1483  	_ = l
  1484  	if m.Int32Ptr != nil {
  1485  		n += 1 + sovCasttype(uint64(*m.Int32Ptr))
  1486  	}
  1487  	n += 1 + sovCasttype(uint64(m.Int32))
  1488  	if m.MyUint64Ptr != nil {
  1489  		n += 1 + sovCasttype(uint64(*m.MyUint64Ptr))
  1490  	}
  1491  	n += 1 + sovCasttype(uint64(m.MyUint64))
  1492  	if m.MyFloat32Ptr != nil {
  1493  		n += 5
  1494  	}
  1495  	n += 5
  1496  	if m.MyFloat64Ptr != nil {
  1497  		n += 9
  1498  	}
  1499  	n += 9
  1500  	if m.MyBytes != nil {
  1501  		l = len(m.MyBytes)
  1502  		n += 1 + l + sovCasttype(uint64(l))
  1503  	}
  1504  	if m.NormalBytes != nil {
  1505  		l = len(m.NormalBytes)
  1506  		n += 1 + l + sovCasttype(uint64(l))
  1507  	}
  1508  	if len(m.MyUint64S) > 0 {
  1509  		for _, e := range m.MyUint64S {
  1510  			n += 1 + sovCasttype(uint64(e))
  1511  		}
  1512  	}
  1513  	if len(m.MyMap) > 0 {
  1514  		for k, v := range m.MyMap {
  1515  			_ = k
  1516  			_ = v
  1517  			mapEntrySize := 1 + len(k) + sovCasttype(uint64(len(k))) + 1 + sovCasttype(uint64(v))
  1518  			n += mapEntrySize + 1 + sovCasttype(uint64(mapEntrySize))
  1519  		}
  1520  	}
  1521  	if len(m.MyCustomMap) > 0 {
  1522  		for k, v := range m.MyCustomMap {
  1523  			_ = k
  1524  			_ = v
  1525  			mapEntrySize := 1 + len(k) + sovCasttype(uint64(len(k))) + 1 + sovCasttype(uint64(v))
  1526  			n += mapEntrySize + 1 + sovCasttype(uint64(mapEntrySize))
  1527  		}
  1528  	}
  1529  	if len(m.MyNullableMap) > 0 {
  1530  		for k, v := range m.MyNullableMap {
  1531  			_ = k
  1532  			_ = v
  1533  			l = 0
  1534  			if v != nil {
  1535  				l = v.Size()
  1536  				l += 1 + sovCasttype(uint64(l))
  1537  			}
  1538  			mapEntrySize := 1 + sovCasttype(uint64(k)) + l
  1539  			n += mapEntrySize + 1 + sovCasttype(uint64(mapEntrySize))
  1540  		}
  1541  	}
  1542  	if len(m.MyEmbeddedMap) > 0 {
  1543  		for k, v := range m.MyEmbeddedMap {
  1544  			_ = k
  1545  			_ = v
  1546  			l = v.Size()
  1547  			mapEntrySize := 1 + sovCasttype(uint64(k)) + 1 + l + sovCasttype(uint64(l))
  1548  			n += mapEntrySize + 1 + sovCasttype(uint64(mapEntrySize))
  1549  		}
  1550  	}
  1551  	if m.String_ != nil {
  1552  		l = len(*m.String_)
  1553  		n += 2 + l + sovCasttype(uint64(l))
  1554  	}
  1555  	if m.XXX_unrecognized != nil {
  1556  		n += len(m.XXX_unrecognized)
  1557  	}
  1558  	return n
  1559  }
  1560  
  1561  func (m *Wilson) Size() (n int) {
  1562  	if m == nil {
  1563  		return 0
  1564  	}
  1565  	var l int
  1566  	_ = l
  1567  	if m.Int64 != nil {
  1568  		n += 1 + sovCasttype(uint64(*m.Int64))
  1569  	}
  1570  	if m.XXX_unrecognized != nil {
  1571  		n += len(m.XXX_unrecognized)
  1572  	}
  1573  	return n
  1574  }
  1575  
  1576  func sovCasttype(x uint64) (n int) {
  1577  	return (math_bits.Len64(x|1) + 6) / 7
  1578  }
  1579  func sozCasttype(x uint64) (n int) {
  1580  	return sovCasttype(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  1581  }
  1582  func (this *Castaway) String() string {
  1583  	if this == nil {
  1584  		return "nil"
  1585  	}
  1586  	keysForMyMap := make([]string, 0, len(this.MyMap))
  1587  	for k := range this.MyMap {
  1588  		keysForMyMap = append(keysForMyMap, k)
  1589  	}
  1590  	github_com_gogo_protobuf_sortkeys.Strings(keysForMyMap)
  1591  	mapStringForMyMap := "github_com_gogo_protobuf_test_casttype.MyMapType{"
  1592  	for _, k := range keysForMyMap {
  1593  		mapStringForMyMap += fmt.Sprintf("%v: %v,", k, this.MyMap[k])
  1594  	}
  1595  	mapStringForMyMap += "}"
  1596  	keysForMyCustomMap := make([]string, 0, len(this.MyCustomMap))
  1597  	for k := range this.MyCustomMap {
  1598  		keysForMyCustomMap = append(keysForMyCustomMap, string(k))
  1599  	}
  1600  	github_com_gogo_protobuf_sortkeys.Strings(keysForMyCustomMap)
  1601  	mapStringForMyCustomMap := "map[github_com_gogo_protobuf_test_casttype.MyStringType]github_com_gogo_protobuf_test_casttype.MyUint64Type{"
  1602  	for _, k := range keysForMyCustomMap {
  1603  		mapStringForMyCustomMap += fmt.Sprintf("%v: %v,", k, this.MyCustomMap[github_com_gogo_protobuf_test_casttype.MyStringType(k)])
  1604  	}
  1605  	mapStringForMyCustomMap += "}"
  1606  	keysForMyNullableMap := make([]int32, 0, len(this.MyNullableMap))
  1607  	for k := range this.MyNullableMap {
  1608  		keysForMyNullableMap = append(keysForMyNullableMap, int32(k))
  1609  	}
  1610  	github_com_gogo_protobuf_sortkeys.Int32s(keysForMyNullableMap)
  1611  	mapStringForMyNullableMap := "map[github_com_gogo_protobuf_test_casttype.MyInt32Type]*Wilson{"
  1612  	for _, k := range keysForMyNullableMap {
  1613  		mapStringForMyNullableMap += fmt.Sprintf("%v: %v,", k, this.MyNullableMap[github_com_gogo_protobuf_test_casttype.MyInt32Type(k)])
  1614  	}
  1615  	mapStringForMyNullableMap += "}"
  1616  	keysForMyEmbeddedMap := make([]int32, 0, len(this.MyEmbeddedMap))
  1617  	for k := range this.MyEmbeddedMap {
  1618  		keysForMyEmbeddedMap = append(keysForMyEmbeddedMap, int32(k))
  1619  	}
  1620  	github_com_gogo_protobuf_sortkeys.Int32s(keysForMyEmbeddedMap)
  1621  	mapStringForMyEmbeddedMap := "map[github_com_gogo_protobuf_test_casttype.MyInt32Type]Wilson{"
  1622  	for _, k := range keysForMyEmbeddedMap {
  1623  		mapStringForMyEmbeddedMap += fmt.Sprintf("%v: %v,", k, this.MyEmbeddedMap[github_com_gogo_protobuf_test_casttype.MyInt32Type(k)])
  1624  	}
  1625  	mapStringForMyEmbeddedMap += "}"
  1626  	s := strings.Join([]string{`&Castaway{`,
  1627  		`Int32Ptr:` + valueToStringCasttype(this.Int32Ptr) + `,`,
  1628  		`Int32:` + fmt.Sprintf("%v", this.Int32) + `,`,
  1629  		`MyUint64Ptr:` + valueToStringCasttype(this.MyUint64Ptr) + `,`,
  1630  		`MyUint64:` + fmt.Sprintf("%v", this.MyUint64) + `,`,
  1631  		`MyFloat32Ptr:` + valueToStringCasttype(this.MyFloat32Ptr) + `,`,
  1632  		`MyFloat32:` + fmt.Sprintf("%v", this.MyFloat32) + `,`,
  1633  		`MyFloat64Ptr:` + valueToStringCasttype(this.MyFloat64Ptr) + `,`,
  1634  		`MyFloat64:` + fmt.Sprintf("%v", this.MyFloat64) + `,`,
  1635  		`MyBytes:` + valueToStringCasttype(this.MyBytes) + `,`,
  1636  		`NormalBytes:` + valueToStringCasttype(this.NormalBytes) + `,`,
  1637  		`MyUint64S:` + fmt.Sprintf("%v", this.MyUint64S) + `,`,
  1638  		`MyMap:` + mapStringForMyMap + `,`,
  1639  		`MyCustomMap:` + mapStringForMyCustomMap + `,`,
  1640  		`MyNullableMap:` + mapStringForMyNullableMap + `,`,
  1641  		`MyEmbeddedMap:` + mapStringForMyEmbeddedMap + `,`,
  1642  		`String_:` + valueToStringCasttype(this.String_) + `,`,
  1643  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
  1644  		`}`,
  1645  	}, "")
  1646  	return s
  1647  }
  1648  func (this *Wilson) String() string {
  1649  	if this == nil {
  1650  		return "nil"
  1651  	}
  1652  	s := strings.Join([]string{`&Wilson{`,
  1653  		`Int64:` + valueToStringCasttype(this.Int64) + `,`,
  1654  		`XXX_unrecognized:` + fmt.Sprintf("%v", this.XXX_unrecognized) + `,`,
  1655  		`}`,
  1656  	}, "")
  1657  	return s
  1658  }
  1659  func valueToStringCasttype(v interface{}) string {
  1660  	rv := reflect.ValueOf(v)
  1661  	if rv.IsNil() {
  1662  		return "nil"
  1663  	}
  1664  	pv := reflect.Indirect(rv).Interface()
  1665  	return fmt.Sprintf("*%v", pv)
  1666  }