github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/golang/protobuf/protoc-gen-go/descriptor/descriptor.pb.go (about)

     1  // Code generated by protoc-gen-go.
     2  // source: google/protobuf/descriptor.proto
     3  // DO NOT EDIT!
     4  
     5  /*
     6  Package descriptor is a generated protocol buffer package.
     7  
     8  It is generated from these files:
     9  	google/protobuf/descriptor.proto
    10  
    11  It has these top-level messages:
    12  	FileDescriptorSet
    13  	FileDescriptorProto
    14  	DescriptorProto
    15  	FieldDescriptorProto
    16  	OneofDescriptorProto
    17  	EnumDescriptorProto
    18  	EnumValueDescriptorProto
    19  	ServiceDescriptorProto
    20  	MethodDescriptorProto
    21  	FileOptions
    22  	MessageOptions
    23  	FieldOptions
    24  	EnumOptions
    25  	EnumValueOptions
    26  	ServiceOptions
    27  	MethodOptions
    28  	UninterpretedOption
    29  	SourceCodeInfo
    30  */
    31  package descriptor
    32  
    33  import proto "github.com/insionng/yougam/libraries/golang/protobuf/proto"
    34  import fmt "fmt"
    35  import math "math"
    36  
    37  // Reference imports to suppress errors if they are not otherwise used.
    38  var _ = proto.Marshal
    39  var _ = fmt.Errorf
    40  var _ = math.Inf
    41  
    42  // This is a compile-time assertion to ensure that this generated file
    43  // is compatible with the proto package it is being compiled against.
    44  const _ = proto.ProtoPackageIsVersion1
    45  
    46  type FieldDescriptorProto_Type int32
    47  
    48  const (
    49  	// 0 is reserved for errors.
    50  	// Order is weird for historical reasons.
    51  	FieldDescriptorProto_TYPE_DOUBLE FieldDescriptorProto_Type = 1
    52  	FieldDescriptorProto_TYPE_FLOAT  FieldDescriptorProto_Type = 2
    53  	// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT64 if
    54  	// negative values are likely.
    55  	FieldDescriptorProto_TYPE_INT64  FieldDescriptorProto_Type = 3
    56  	FieldDescriptorProto_TYPE_UINT64 FieldDescriptorProto_Type = 4
    57  	// Not ZigZag encoded.  Negative numbers take 10 bytes.  Use TYPE_SINT32 if
    58  	// negative values are likely.
    59  	FieldDescriptorProto_TYPE_INT32   FieldDescriptorProto_Type = 5
    60  	FieldDescriptorProto_TYPE_FIXED64 FieldDescriptorProto_Type = 6
    61  	FieldDescriptorProto_TYPE_FIXED32 FieldDescriptorProto_Type = 7
    62  	FieldDescriptorProto_TYPE_BOOL    FieldDescriptorProto_Type = 8
    63  	FieldDescriptorProto_TYPE_STRING  FieldDescriptorProto_Type = 9
    64  	FieldDescriptorProto_TYPE_GROUP   FieldDescriptorProto_Type = 10
    65  	FieldDescriptorProto_TYPE_MESSAGE FieldDescriptorProto_Type = 11
    66  	// New in version 2.
    67  	FieldDescriptorProto_TYPE_BYTES    FieldDescriptorProto_Type = 12
    68  	FieldDescriptorProto_TYPE_UINT32   FieldDescriptorProto_Type = 13
    69  	FieldDescriptorProto_TYPE_ENUM     FieldDescriptorProto_Type = 14
    70  	FieldDescriptorProto_TYPE_SFIXED32 FieldDescriptorProto_Type = 15
    71  	FieldDescriptorProto_TYPE_SFIXED64 FieldDescriptorProto_Type = 16
    72  	FieldDescriptorProto_TYPE_SINT32   FieldDescriptorProto_Type = 17
    73  	FieldDescriptorProto_TYPE_SINT64   FieldDescriptorProto_Type = 18
    74  )
    75  
    76  var FieldDescriptorProto_Type_name = map[int32]string{
    77  	1:  "TYPE_DOUBLE",
    78  	2:  "TYPE_FLOAT",
    79  	3:  "TYPE_INT64",
    80  	4:  "TYPE_UINT64",
    81  	5:  "TYPE_INT32",
    82  	6:  "TYPE_FIXED64",
    83  	7:  "TYPE_FIXED32",
    84  	8:  "TYPE_BOOL",
    85  	9:  "TYPE_STRING",
    86  	10: "TYPE_GROUP",
    87  	11: "TYPE_MESSAGE",
    88  	12: "TYPE_BYTES",
    89  	13: "TYPE_UINT32",
    90  	14: "TYPE_ENUM",
    91  	15: "TYPE_SFIXED32",
    92  	16: "TYPE_SFIXED64",
    93  	17: "TYPE_SINT32",
    94  	18: "TYPE_SINT64",
    95  }
    96  var FieldDescriptorProto_Type_value = map[string]int32{
    97  	"TYPE_DOUBLE":   1,
    98  	"TYPE_FLOAT":    2,
    99  	"TYPE_INT64":    3,
   100  	"TYPE_UINT64":   4,
   101  	"TYPE_INT32":    5,
   102  	"TYPE_FIXED64":  6,
   103  	"TYPE_FIXED32":  7,
   104  	"TYPE_BOOL":     8,
   105  	"TYPE_STRING":   9,
   106  	"TYPE_GROUP":    10,
   107  	"TYPE_MESSAGE":  11,
   108  	"TYPE_BYTES":    12,
   109  	"TYPE_UINT32":   13,
   110  	"TYPE_ENUM":     14,
   111  	"TYPE_SFIXED32": 15,
   112  	"TYPE_SFIXED64": 16,
   113  	"TYPE_SINT32":   17,
   114  	"TYPE_SINT64":   18,
   115  }
   116  
   117  func (x FieldDescriptorProto_Type) Enum() *FieldDescriptorProto_Type {
   118  	p := new(FieldDescriptorProto_Type)
   119  	*p = x
   120  	return p
   121  }
   122  func (x FieldDescriptorProto_Type) String() string {
   123  	return proto.EnumName(FieldDescriptorProto_Type_name, int32(x))
   124  }
   125  func (x *FieldDescriptorProto_Type) UnmarshalJSON(data []byte) error {
   126  	value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Type_value, data, "FieldDescriptorProto_Type")
   127  	if err != nil {
   128  		return err
   129  	}
   130  	*x = FieldDescriptorProto_Type(value)
   131  	return nil
   132  }
   133  func (FieldDescriptorProto_Type) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{3, 0} }
   134  
   135  type FieldDescriptorProto_Label int32
   136  
   137  const (
   138  	// 0 is reserved for errors
   139  	FieldDescriptorProto_LABEL_OPTIONAL FieldDescriptorProto_Label = 1
   140  	FieldDescriptorProto_LABEL_REQUIRED FieldDescriptorProto_Label = 2
   141  	FieldDescriptorProto_LABEL_REPEATED FieldDescriptorProto_Label = 3
   142  )
   143  
   144  var FieldDescriptorProto_Label_name = map[int32]string{
   145  	1: "LABEL_OPTIONAL",
   146  	2: "LABEL_REQUIRED",
   147  	3: "LABEL_REPEATED",
   148  }
   149  var FieldDescriptorProto_Label_value = map[string]int32{
   150  	"LABEL_OPTIONAL": 1,
   151  	"LABEL_REQUIRED": 2,
   152  	"LABEL_REPEATED": 3,
   153  }
   154  
   155  func (x FieldDescriptorProto_Label) Enum() *FieldDescriptorProto_Label {
   156  	p := new(FieldDescriptorProto_Label)
   157  	*p = x
   158  	return p
   159  }
   160  func (x FieldDescriptorProto_Label) String() string {
   161  	return proto.EnumName(FieldDescriptorProto_Label_name, int32(x))
   162  }
   163  func (x *FieldDescriptorProto_Label) UnmarshalJSON(data []byte) error {
   164  	value, err := proto.UnmarshalJSONEnum(FieldDescriptorProto_Label_value, data, "FieldDescriptorProto_Label")
   165  	if err != nil {
   166  		return err
   167  	}
   168  	*x = FieldDescriptorProto_Label(value)
   169  	return nil
   170  }
   171  func (FieldDescriptorProto_Label) EnumDescriptor() ([]byte, []int) {
   172  	return fileDescriptor0, []int{3, 1}
   173  }
   174  
   175  // Generated classes can be optimized for speed or code size.
   176  type FileOptions_OptimizeMode int32
   177  
   178  const (
   179  	FileOptions_SPEED FileOptions_OptimizeMode = 1
   180  	// etc.
   181  	FileOptions_CODE_SIZE    FileOptions_OptimizeMode = 2
   182  	FileOptions_LITE_RUNTIME FileOptions_OptimizeMode = 3
   183  )
   184  
   185  var FileOptions_OptimizeMode_name = map[int32]string{
   186  	1: "SPEED",
   187  	2: "CODE_SIZE",
   188  	3: "LITE_RUNTIME",
   189  }
   190  var FileOptions_OptimizeMode_value = map[string]int32{
   191  	"SPEED":        1,
   192  	"CODE_SIZE":    2,
   193  	"LITE_RUNTIME": 3,
   194  }
   195  
   196  func (x FileOptions_OptimizeMode) Enum() *FileOptions_OptimizeMode {
   197  	p := new(FileOptions_OptimizeMode)
   198  	*p = x
   199  	return p
   200  }
   201  func (x FileOptions_OptimizeMode) String() string {
   202  	return proto.EnumName(FileOptions_OptimizeMode_name, int32(x))
   203  }
   204  func (x *FileOptions_OptimizeMode) UnmarshalJSON(data []byte) error {
   205  	value, err := proto.UnmarshalJSONEnum(FileOptions_OptimizeMode_value, data, "FileOptions_OptimizeMode")
   206  	if err != nil {
   207  		return err
   208  	}
   209  	*x = FileOptions_OptimizeMode(value)
   210  	return nil
   211  }
   212  func (FileOptions_OptimizeMode) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{9, 0} }
   213  
   214  type FieldOptions_CType int32
   215  
   216  const (
   217  	// Default mode.
   218  	FieldOptions_STRING       FieldOptions_CType = 0
   219  	FieldOptions_CORD         FieldOptions_CType = 1
   220  	FieldOptions_STRING_PIECE FieldOptions_CType = 2
   221  )
   222  
   223  var FieldOptions_CType_name = map[int32]string{
   224  	0: "STRING",
   225  	1: "CORD",
   226  	2: "STRING_PIECE",
   227  }
   228  var FieldOptions_CType_value = map[string]int32{
   229  	"STRING":       0,
   230  	"CORD":         1,
   231  	"STRING_PIECE": 2,
   232  }
   233  
   234  func (x FieldOptions_CType) Enum() *FieldOptions_CType {
   235  	p := new(FieldOptions_CType)
   236  	*p = x
   237  	return p
   238  }
   239  func (x FieldOptions_CType) String() string {
   240  	return proto.EnumName(FieldOptions_CType_name, int32(x))
   241  }
   242  func (x *FieldOptions_CType) UnmarshalJSON(data []byte) error {
   243  	value, err := proto.UnmarshalJSONEnum(FieldOptions_CType_value, data, "FieldOptions_CType")
   244  	if err != nil {
   245  		return err
   246  	}
   247  	*x = FieldOptions_CType(value)
   248  	return nil
   249  }
   250  func (FieldOptions_CType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{11, 0} }
   251  
   252  type FieldOptions_JSType int32
   253  
   254  const (
   255  	// Use the default type.
   256  	FieldOptions_JS_NORMAL FieldOptions_JSType = 0
   257  	// Use JavaScript strings.
   258  	FieldOptions_JS_STRING FieldOptions_JSType = 1
   259  	// Use JavaScript numbers.
   260  	FieldOptions_JS_NUMBER FieldOptions_JSType = 2
   261  )
   262  
   263  var FieldOptions_JSType_name = map[int32]string{
   264  	0: "JS_NORMAL",
   265  	1: "JS_STRING",
   266  	2: "JS_NUMBER",
   267  }
   268  var FieldOptions_JSType_value = map[string]int32{
   269  	"JS_NORMAL": 0,
   270  	"JS_STRING": 1,
   271  	"JS_NUMBER": 2,
   272  }
   273  
   274  func (x FieldOptions_JSType) Enum() *FieldOptions_JSType {
   275  	p := new(FieldOptions_JSType)
   276  	*p = x
   277  	return p
   278  }
   279  func (x FieldOptions_JSType) String() string {
   280  	return proto.EnumName(FieldOptions_JSType_name, int32(x))
   281  }
   282  func (x *FieldOptions_JSType) UnmarshalJSON(data []byte) error {
   283  	value, err := proto.UnmarshalJSONEnum(FieldOptions_JSType_value, data, "FieldOptions_JSType")
   284  	if err != nil {
   285  		return err
   286  	}
   287  	*x = FieldOptions_JSType(value)
   288  	return nil
   289  }
   290  func (FieldOptions_JSType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{11, 1} }
   291  
   292  // The protocol compiler can output a FileDescriptorSet containing the .proto
   293  // files it parses.
   294  type FileDescriptorSet struct {
   295  	File             []*FileDescriptorProto `protobuf:"bytes,1,rep,name=file" json:"file,omitempty"`
   296  	XXX_unrecognized []byte                 `json:"-"`
   297  }
   298  
   299  func (m *FileDescriptorSet) Reset()                    { *m = FileDescriptorSet{} }
   300  func (m *FileDescriptorSet) String() string            { return proto.CompactTextString(m) }
   301  func (*FileDescriptorSet) ProtoMessage()               {}
   302  func (*FileDescriptorSet) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
   303  
   304  func (m *FileDescriptorSet) GetFile() []*FileDescriptorProto {
   305  	if m != nil {
   306  		return m.File
   307  	}
   308  	return nil
   309  }
   310  
   311  // Describes a complete .proto file.
   312  type FileDescriptorProto struct {
   313  	Name    *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
   314  	Package *string `protobuf:"bytes,2,opt,name=package" json:"package,omitempty"`
   315  	// Names of files imported by this file.
   316  	Dependency []string `protobuf:"bytes,3,rep,name=dependency" json:"dependency,omitempty"`
   317  	// Indexes of the public imported files in the dependency list above.
   318  	PublicDependency []int32 `protobuf:"varint,10,rep,name=public_dependency,json=publicDependency" json:"public_dependency,omitempty"`
   319  	// Indexes of the weak imported files in the dependency list.
   320  	// For Google-internal migration only. Do not use.
   321  	WeakDependency []int32 `protobuf:"varint,11,rep,name=weak_dependency,json=weakDependency" json:"weak_dependency,omitempty"`
   322  	// All top-level definitions in this file.
   323  	MessageType []*DescriptorProto        `protobuf:"bytes,4,rep,name=message_type,json=messageType" json:"message_type,omitempty"`
   324  	EnumType    []*EnumDescriptorProto    `protobuf:"bytes,5,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
   325  	Service     []*ServiceDescriptorProto `protobuf:"bytes,6,rep,name=service" json:"service,omitempty"`
   326  	Extension   []*FieldDescriptorProto   `protobuf:"bytes,7,rep,name=extension" json:"extension,omitempty"`
   327  	Options     *FileOptions              `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
   328  	// This field contains optional information about the original source code.
   329  	// You may safely remove this entire field without harming runtime
   330  	// functionality of the descriptors -- the information is needed only by
   331  	// development tools.
   332  	SourceCodeInfo *SourceCodeInfo `protobuf:"bytes,9,opt,name=source_code_info,json=sourceCodeInfo" json:"source_code_info,omitempty"`
   333  	// The syntax of the proto file.
   334  	// The supported values are "proto2" and "proto3".
   335  	Syntax           *string `protobuf:"bytes,12,opt,name=syntax" json:"syntax,omitempty"`
   336  	XXX_unrecognized []byte  `json:"-"`
   337  }
   338  
   339  func (m *FileDescriptorProto) Reset()                    { *m = FileDescriptorProto{} }
   340  func (m *FileDescriptorProto) String() string            { return proto.CompactTextString(m) }
   341  func (*FileDescriptorProto) ProtoMessage()               {}
   342  func (*FileDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
   343  
   344  func (m *FileDescriptorProto) GetName() string {
   345  	if m != nil && m.Name != nil {
   346  		return *m.Name
   347  	}
   348  	return ""
   349  }
   350  
   351  func (m *FileDescriptorProto) GetPackage() string {
   352  	if m != nil && m.Package != nil {
   353  		return *m.Package
   354  	}
   355  	return ""
   356  }
   357  
   358  func (m *FileDescriptorProto) GetDependency() []string {
   359  	if m != nil {
   360  		return m.Dependency
   361  	}
   362  	return nil
   363  }
   364  
   365  func (m *FileDescriptorProto) GetPublicDependency() []int32 {
   366  	if m != nil {
   367  		return m.PublicDependency
   368  	}
   369  	return nil
   370  }
   371  
   372  func (m *FileDescriptorProto) GetWeakDependency() []int32 {
   373  	if m != nil {
   374  		return m.WeakDependency
   375  	}
   376  	return nil
   377  }
   378  
   379  func (m *FileDescriptorProto) GetMessageType() []*DescriptorProto {
   380  	if m != nil {
   381  		return m.MessageType
   382  	}
   383  	return nil
   384  }
   385  
   386  func (m *FileDescriptorProto) GetEnumType() []*EnumDescriptorProto {
   387  	if m != nil {
   388  		return m.EnumType
   389  	}
   390  	return nil
   391  }
   392  
   393  func (m *FileDescriptorProto) GetService() []*ServiceDescriptorProto {
   394  	if m != nil {
   395  		return m.Service
   396  	}
   397  	return nil
   398  }
   399  
   400  func (m *FileDescriptorProto) GetExtension() []*FieldDescriptorProto {
   401  	if m != nil {
   402  		return m.Extension
   403  	}
   404  	return nil
   405  }
   406  
   407  func (m *FileDescriptorProto) GetOptions() *FileOptions {
   408  	if m != nil {
   409  		return m.Options
   410  	}
   411  	return nil
   412  }
   413  
   414  func (m *FileDescriptorProto) GetSourceCodeInfo() *SourceCodeInfo {
   415  	if m != nil {
   416  		return m.SourceCodeInfo
   417  	}
   418  	return nil
   419  }
   420  
   421  func (m *FileDescriptorProto) GetSyntax() string {
   422  	if m != nil && m.Syntax != nil {
   423  		return *m.Syntax
   424  	}
   425  	return ""
   426  }
   427  
   428  // Describes a message type.
   429  type DescriptorProto struct {
   430  	Name           *string                           `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
   431  	Field          []*FieldDescriptorProto           `protobuf:"bytes,2,rep,name=field" json:"field,omitempty"`
   432  	Extension      []*FieldDescriptorProto           `protobuf:"bytes,6,rep,name=extension" json:"extension,omitempty"`
   433  	NestedType     []*DescriptorProto                `protobuf:"bytes,3,rep,name=nested_type,json=nestedType" json:"nested_type,omitempty"`
   434  	EnumType       []*EnumDescriptorProto            `protobuf:"bytes,4,rep,name=enum_type,json=enumType" json:"enum_type,omitempty"`
   435  	ExtensionRange []*DescriptorProto_ExtensionRange `protobuf:"bytes,5,rep,name=extension_range,json=extensionRange" json:"extension_range,omitempty"`
   436  	OneofDecl      []*OneofDescriptorProto           `protobuf:"bytes,8,rep,name=oneof_decl,json=oneofDecl" json:"oneof_decl,omitempty"`
   437  	Options        *MessageOptions                   `protobuf:"bytes,7,opt,name=options" json:"options,omitempty"`
   438  	ReservedRange  []*DescriptorProto_ReservedRange  `protobuf:"bytes,9,rep,name=reserved_range,json=reservedRange" json:"reserved_range,omitempty"`
   439  	// Reserved field names, which may not be used by fields in the same message.
   440  	// A given name may only be reserved once.
   441  	ReservedName     []string `protobuf:"bytes,10,rep,name=reserved_name,json=reservedName" json:"reserved_name,omitempty"`
   442  	XXX_unrecognized []byte   `json:"-"`
   443  }
   444  
   445  func (m *DescriptorProto) Reset()                    { *m = DescriptorProto{} }
   446  func (m *DescriptorProto) String() string            { return proto.CompactTextString(m) }
   447  func (*DescriptorProto) ProtoMessage()               {}
   448  func (*DescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
   449  
   450  func (m *DescriptorProto) GetName() string {
   451  	if m != nil && m.Name != nil {
   452  		return *m.Name
   453  	}
   454  	return ""
   455  }
   456  
   457  func (m *DescriptorProto) GetField() []*FieldDescriptorProto {
   458  	if m != nil {
   459  		return m.Field
   460  	}
   461  	return nil
   462  }
   463  
   464  func (m *DescriptorProto) GetExtension() []*FieldDescriptorProto {
   465  	if m != nil {
   466  		return m.Extension
   467  	}
   468  	return nil
   469  }
   470  
   471  func (m *DescriptorProto) GetNestedType() []*DescriptorProto {
   472  	if m != nil {
   473  		return m.NestedType
   474  	}
   475  	return nil
   476  }
   477  
   478  func (m *DescriptorProto) GetEnumType() []*EnumDescriptorProto {
   479  	if m != nil {
   480  		return m.EnumType
   481  	}
   482  	return nil
   483  }
   484  
   485  func (m *DescriptorProto) GetExtensionRange() []*DescriptorProto_ExtensionRange {
   486  	if m != nil {
   487  		return m.ExtensionRange
   488  	}
   489  	return nil
   490  }
   491  
   492  func (m *DescriptorProto) GetOneofDecl() []*OneofDescriptorProto {
   493  	if m != nil {
   494  		return m.OneofDecl
   495  	}
   496  	return nil
   497  }
   498  
   499  func (m *DescriptorProto) GetOptions() *MessageOptions {
   500  	if m != nil {
   501  		return m.Options
   502  	}
   503  	return nil
   504  }
   505  
   506  func (m *DescriptorProto) GetReservedRange() []*DescriptorProto_ReservedRange {
   507  	if m != nil {
   508  		return m.ReservedRange
   509  	}
   510  	return nil
   511  }
   512  
   513  func (m *DescriptorProto) GetReservedName() []string {
   514  	if m != nil {
   515  		return m.ReservedName
   516  	}
   517  	return nil
   518  }
   519  
   520  type DescriptorProto_ExtensionRange struct {
   521  	Start            *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
   522  	End              *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
   523  	XXX_unrecognized []byte `json:"-"`
   524  }
   525  
   526  func (m *DescriptorProto_ExtensionRange) Reset()         { *m = DescriptorProto_ExtensionRange{} }
   527  func (m *DescriptorProto_ExtensionRange) String() string { return proto.CompactTextString(m) }
   528  func (*DescriptorProto_ExtensionRange) ProtoMessage()    {}
   529  func (*DescriptorProto_ExtensionRange) Descriptor() ([]byte, []int) {
   530  	return fileDescriptor0, []int{2, 0}
   531  }
   532  
   533  func (m *DescriptorProto_ExtensionRange) GetStart() int32 {
   534  	if m != nil && m.Start != nil {
   535  		return *m.Start
   536  	}
   537  	return 0
   538  }
   539  
   540  func (m *DescriptorProto_ExtensionRange) GetEnd() int32 {
   541  	if m != nil && m.End != nil {
   542  		return *m.End
   543  	}
   544  	return 0
   545  }
   546  
   547  // Range of reserved tag numbers. Reserved tag numbers may not be used by
   548  // fields or extension ranges in the same message. Reserved ranges may
   549  // not overlap.
   550  type DescriptorProto_ReservedRange struct {
   551  	Start            *int32 `protobuf:"varint,1,opt,name=start" json:"start,omitempty"`
   552  	End              *int32 `protobuf:"varint,2,opt,name=end" json:"end,omitempty"`
   553  	XXX_unrecognized []byte `json:"-"`
   554  }
   555  
   556  func (m *DescriptorProto_ReservedRange) Reset()         { *m = DescriptorProto_ReservedRange{} }
   557  func (m *DescriptorProto_ReservedRange) String() string { return proto.CompactTextString(m) }
   558  func (*DescriptorProto_ReservedRange) ProtoMessage()    {}
   559  func (*DescriptorProto_ReservedRange) Descriptor() ([]byte, []int) {
   560  	return fileDescriptor0, []int{2, 1}
   561  }
   562  
   563  func (m *DescriptorProto_ReservedRange) GetStart() int32 {
   564  	if m != nil && m.Start != nil {
   565  		return *m.Start
   566  	}
   567  	return 0
   568  }
   569  
   570  func (m *DescriptorProto_ReservedRange) GetEnd() int32 {
   571  	if m != nil && m.End != nil {
   572  		return *m.End
   573  	}
   574  	return 0
   575  }
   576  
   577  // Describes a field within a message.
   578  type FieldDescriptorProto struct {
   579  	Name   *string                     `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
   580  	Number *int32                      `protobuf:"varint,3,opt,name=number" json:"number,omitempty"`
   581  	Label  *FieldDescriptorProto_Label `protobuf:"varint,4,opt,name=label,enum=google.protobuf.FieldDescriptorProto_Label" json:"label,omitempty"`
   582  	// If type_name is set, this need not be set.  If both this and type_name
   583  	// are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
   584  	Type *FieldDescriptorProto_Type `protobuf:"varint,5,opt,name=type,enum=google.protobuf.FieldDescriptorProto_Type" json:"type,omitempty"`
   585  	// For message and enum types, this is the name of the type.  If the name
   586  	// starts with a '.', it is fully-qualified.  Otherwise, C++-like scoping
   587  	// rules are used to find the type (i.e. first the nested types within this
   588  	// message are searched, then within the parent, on up to the root
   589  	// namespace).
   590  	TypeName *string `protobuf:"bytes,6,opt,name=type_name,json=typeName" json:"type_name,omitempty"`
   591  	// For extensions, this is the name of the type being extended.  It is
   592  	// resolved in the same manner as type_name.
   593  	Extendee *string `protobuf:"bytes,2,opt,name=extendee" json:"extendee,omitempty"`
   594  	// For numeric types, contains the original text representation of the value.
   595  	// For booleans, "true" or "false".
   596  	// For strings, contains the default text contents (not escaped in any way).
   597  	// For bytes, contains the C escaped value.  All bytes >= 128 are escaped.
   598  	// TODO(kenton):  Base-64 encode?
   599  	DefaultValue *string `protobuf:"bytes,7,opt,name=default_value,json=defaultValue" json:"default_value,omitempty"`
   600  	// If set, gives the index of a oneof in the containing type's oneof_decl
   601  	// list.  This field is a member of that oneof.
   602  	OneofIndex *int32 `protobuf:"varint,9,opt,name=oneof_index,json=oneofIndex" json:"oneof_index,omitempty"`
   603  	// JSON name of this field. The value is set by protocol compiler. If the
   604  	// user has set a "json_name" option on this field, that option's value
   605  	// will be used. Otherwise, it's deduced from the field's name by converting
   606  	// it to camelCase.
   607  	JsonName         *string       `protobuf:"bytes,10,opt,name=json_name,json=jsonName" json:"json_name,omitempty"`
   608  	Options          *FieldOptions `protobuf:"bytes,8,opt,name=options" json:"options,omitempty"`
   609  	XXX_unrecognized []byte        `json:"-"`
   610  }
   611  
   612  func (m *FieldDescriptorProto) Reset()                    { *m = FieldDescriptorProto{} }
   613  func (m *FieldDescriptorProto) String() string            { return proto.CompactTextString(m) }
   614  func (*FieldDescriptorProto) ProtoMessage()               {}
   615  func (*FieldDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
   616  
   617  func (m *FieldDescriptorProto) GetName() string {
   618  	if m != nil && m.Name != nil {
   619  		return *m.Name
   620  	}
   621  	return ""
   622  }
   623  
   624  func (m *FieldDescriptorProto) GetNumber() int32 {
   625  	if m != nil && m.Number != nil {
   626  		return *m.Number
   627  	}
   628  	return 0
   629  }
   630  
   631  func (m *FieldDescriptorProto) GetLabel() FieldDescriptorProto_Label {
   632  	if m != nil && m.Label != nil {
   633  		return *m.Label
   634  	}
   635  	return FieldDescriptorProto_LABEL_OPTIONAL
   636  }
   637  
   638  func (m *FieldDescriptorProto) GetType() FieldDescriptorProto_Type {
   639  	if m != nil && m.Type != nil {
   640  		return *m.Type
   641  	}
   642  	return FieldDescriptorProto_TYPE_DOUBLE
   643  }
   644  
   645  func (m *FieldDescriptorProto) GetTypeName() string {
   646  	if m != nil && m.TypeName != nil {
   647  		return *m.TypeName
   648  	}
   649  	return ""
   650  }
   651  
   652  func (m *FieldDescriptorProto) GetExtendee() string {
   653  	if m != nil && m.Extendee != nil {
   654  		return *m.Extendee
   655  	}
   656  	return ""
   657  }
   658  
   659  func (m *FieldDescriptorProto) GetDefaultValue() string {
   660  	if m != nil && m.DefaultValue != nil {
   661  		return *m.DefaultValue
   662  	}
   663  	return ""
   664  }
   665  
   666  func (m *FieldDescriptorProto) GetOneofIndex() int32 {
   667  	if m != nil && m.OneofIndex != nil {
   668  		return *m.OneofIndex
   669  	}
   670  	return 0
   671  }
   672  
   673  func (m *FieldDescriptorProto) GetJsonName() string {
   674  	if m != nil && m.JsonName != nil {
   675  		return *m.JsonName
   676  	}
   677  	return ""
   678  }
   679  
   680  func (m *FieldDescriptorProto) GetOptions() *FieldOptions {
   681  	if m != nil {
   682  		return m.Options
   683  	}
   684  	return nil
   685  }
   686  
   687  // Describes a oneof.
   688  type OneofDescriptorProto struct {
   689  	Name             *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
   690  	XXX_unrecognized []byte  `json:"-"`
   691  }
   692  
   693  func (m *OneofDescriptorProto) Reset()                    { *m = OneofDescriptorProto{} }
   694  func (m *OneofDescriptorProto) String() string            { return proto.CompactTextString(m) }
   695  func (*OneofDescriptorProto) ProtoMessage()               {}
   696  func (*OneofDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
   697  
   698  func (m *OneofDescriptorProto) GetName() string {
   699  	if m != nil && m.Name != nil {
   700  		return *m.Name
   701  	}
   702  	return ""
   703  }
   704  
   705  // Describes an enum type.
   706  type EnumDescriptorProto struct {
   707  	Name             *string                     `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
   708  	Value            []*EnumValueDescriptorProto `protobuf:"bytes,2,rep,name=value" json:"value,omitempty"`
   709  	Options          *EnumOptions                `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
   710  	XXX_unrecognized []byte                      `json:"-"`
   711  }
   712  
   713  func (m *EnumDescriptorProto) Reset()                    { *m = EnumDescriptorProto{} }
   714  func (m *EnumDescriptorProto) String() string            { return proto.CompactTextString(m) }
   715  func (*EnumDescriptorProto) ProtoMessage()               {}
   716  func (*EnumDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
   717  
   718  func (m *EnumDescriptorProto) GetName() string {
   719  	if m != nil && m.Name != nil {
   720  		return *m.Name
   721  	}
   722  	return ""
   723  }
   724  
   725  func (m *EnumDescriptorProto) GetValue() []*EnumValueDescriptorProto {
   726  	if m != nil {
   727  		return m.Value
   728  	}
   729  	return nil
   730  }
   731  
   732  func (m *EnumDescriptorProto) GetOptions() *EnumOptions {
   733  	if m != nil {
   734  		return m.Options
   735  	}
   736  	return nil
   737  }
   738  
   739  // Describes a value within an enum.
   740  type EnumValueDescriptorProto struct {
   741  	Name             *string           `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
   742  	Number           *int32            `protobuf:"varint,2,opt,name=number" json:"number,omitempty"`
   743  	Options          *EnumValueOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
   744  	XXX_unrecognized []byte            `json:"-"`
   745  }
   746  
   747  func (m *EnumValueDescriptorProto) Reset()                    { *m = EnumValueDescriptorProto{} }
   748  func (m *EnumValueDescriptorProto) String() string            { return proto.CompactTextString(m) }
   749  func (*EnumValueDescriptorProto) ProtoMessage()               {}
   750  func (*EnumValueDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
   751  
   752  func (m *EnumValueDescriptorProto) GetName() string {
   753  	if m != nil && m.Name != nil {
   754  		return *m.Name
   755  	}
   756  	return ""
   757  }
   758  
   759  func (m *EnumValueDescriptorProto) GetNumber() int32 {
   760  	if m != nil && m.Number != nil {
   761  		return *m.Number
   762  	}
   763  	return 0
   764  }
   765  
   766  func (m *EnumValueDescriptorProto) GetOptions() *EnumValueOptions {
   767  	if m != nil {
   768  		return m.Options
   769  	}
   770  	return nil
   771  }
   772  
   773  // Describes a service.
   774  type ServiceDescriptorProto struct {
   775  	Name             *string                  `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
   776  	Method           []*MethodDescriptorProto `protobuf:"bytes,2,rep,name=method" json:"method,omitempty"`
   777  	Options          *ServiceOptions          `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
   778  	XXX_unrecognized []byte                   `json:"-"`
   779  }
   780  
   781  func (m *ServiceDescriptorProto) Reset()                    { *m = ServiceDescriptorProto{} }
   782  func (m *ServiceDescriptorProto) String() string            { return proto.CompactTextString(m) }
   783  func (*ServiceDescriptorProto) ProtoMessage()               {}
   784  func (*ServiceDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
   785  
   786  func (m *ServiceDescriptorProto) GetName() string {
   787  	if m != nil && m.Name != nil {
   788  		return *m.Name
   789  	}
   790  	return ""
   791  }
   792  
   793  func (m *ServiceDescriptorProto) GetMethod() []*MethodDescriptorProto {
   794  	if m != nil {
   795  		return m.Method
   796  	}
   797  	return nil
   798  }
   799  
   800  func (m *ServiceDescriptorProto) GetOptions() *ServiceOptions {
   801  	if m != nil {
   802  		return m.Options
   803  	}
   804  	return nil
   805  }
   806  
   807  // Describes a method of a service.
   808  type MethodDescriptorProto struct {
   809  	Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
   810  	// Input and output type names.  These are resolved in the same way as
   811  	// FieldDescriptorProto.type_name, but must refer to a message type.
   812  	InputType  *string        `protobuf:"bytes,2,opt,name=input_type,json=inputType" json:"input_type,omitempty"`
   813  	OutputType *string        `protobuf:"bytes,3,opt,name=output_type,json=outputType" json:"output_type,omitempty"`
   814  	Options    *MethodOptions `protobuf:"bytes,4,opt,name=options" json:"options,omitempty"`
   815  	// Identifies if client streams multiple client messages
   816  	ClientStreaming *bool `protobuf:"varint,5,opt,name=client_streaming,json=clientStreaming,def=0" json:"client_streaming,omitempty"`
   817  	// Identifies if server streams multiple server messages
   818  	ServerStreaming  *bool  `protobuf:"varint,6,opt,name=server_streaming,json=serverStreaming,def=0" json:"server_streaming,omitempty"`
   819  	XXX_unrecognized []byte `json:"-"`
   820  }
   821  
   822  func (m *MethodDescriptorProto) Reset()                    { *m = MethodDescriptorProto{} }
   823  func (m *MethodDescriptorProto) String() string            { return proto.CompactTextString(m) }
   824  func (*MethodDescriptorProto) ProtoMessage()               {}
   825  func (*MethodDescriptorProto) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
   826  
   827  const Default_MethodDescriptorProto_ClientStreaming bool = false
   828  const Default_MethodDescriptorProto_ServerStreaming bool = false
   829  
   830  func (m *MethodDescriptorProto) GetName() string {
   831  	if m != nil && m.Name != nil {
   832  		return *m.Name
   833  	}
   834  	return ""
   835  }
   836  
   837  func (m *MethodDescriptorProto) GetInputType() string {
   838  	if m != nil && m.InputType != nil {
   839  		return *m.InputType
   840  	}
   841  	return ""
   842  }
   843  
   844  func (m *MethodDescriptorProto) GetOutputType() string {
   845  	if m != nil && m.OutputType != nil {
   846  		return *m.OutputType
   847  	}
   848  	return ""
   849  }
   850  
   851  func (m *MethodDescriptorProto) GetOptions() *MethodOptions {
   852  	if m != nil {
   853  		return m.Options
   854  	}
   855  	return nil
   856  }
   857  
   858  func (m *MethodDescriptorProto) GetClientStreaming() bool {
   859  	if m != nil && m.ClientStreaming != nil {
   860  		return *m.ClientStreaming
   861  	}
   862  	return Default_MethodDescriptorProto_ClientStreaming
   863  }
   864  
   865  func (m *MethodDescriptorProto) GetServerStreaming() bool {
   866  	if m != nil && m.ServerStreaming != nil {
   867  		return *m.ServerStreaming
   868  	}
   869  	return Default_MethodDescriptorProto_ServerStreaming
   870  }
   871  
   872  type FileOptions struct {
   873  	// Sets the Java package where classes generated from this .proto will be
   874  	// placed.  By default, the proto package is used, but this is often
   875  	// inappropriate because proto packages do not normally start with backwards
   876  	// domain names.
   877  	JavaPackage *string `protobuf:"bytes,1,opt,name=java_package,json=javaPackage" json:"java_package,omitempty"`
   878  	// If set, all the classes from the .proto file are wrapped in a single
   879  	// outer class with the given name.  This applies to both Proto1
   880  	// (equivalent to the old "--one_java_file" option) and Proto2 (where
   881  	// a .proto always translates to a single class, but you may want to
   882  	// explicitly choose the class name).
   883  	JavaOuterClassname *string `protobuf:"bytes,8,opt,name=java_outer_classname,json=javaOuterClassname" json:"java_outer_classname,omitempty"`
   884  	// If set true, then the Java code generator will generate a separate .java
   885  	// file for each top-level message, enum, and service defined in the .proto
   886  	// file.  Thus, these types will *not* be nested inside the outer class
   887  	// named by java_outer_classname.  However, the outer class will still be
   888  	// generated to contain the file's getDescriptor() method as well as any
   889  	// top-level extensions defined in the file.
   890  	JavaMultipleFiles *bool `protobuf:"varint,10,opt,name=java_multiple_files,json=javaMultipleFiles,def=0" json:"java_multiple_files,omitempty"`
   891  	// If set true, then the Java code generator will generate equals() and
   892  	// hashCode() methods for all messages defined in the .proto file.
   893  	// This increases generated code size, potentially substantially for large
   894  	// protos, which may harm a memory-constrained application.
   895  	// - In the full runtime this is a speed optimization, as the
   896  	// AbstractMessage base class includes reflection-based implementations of
   897  	// these methods.
   898  	// - In the lite runtime, setting this option changes the semantics of
   899  	// equals() and hashCode() to more closely match those of the full runtime;
   900  	// the generated methods compute their results based on field values rather
   901  	// than object identity. (Implementations should not assume that hashcodes
   902  	// will be consistent across runtimes or versions of the protocol compiler.)
   903  	JavaGenerateEqualsAndHash *bool `protobuf:"varint,20,opt,name=java_generate_equals_and_hash,json=javaGenerateEqualsAndHash,def=0" json:"java_generate_equals_and_hash,omitempty"`
   904  	// If set true, then the Java2 code generator will generate code that
   905  	// throws an exception whenever an attempt is made to assign a non-UTF-8
   906  	// byte sequence to a string field.
   907  	// Message reflection will do the same.
   908  	// However, an extension field still accepts non-UTF-8 byte sequences.
   909  	// This option has no effect on when used with the lite runtime.
   910  	JavaStringCheckUtf8 *bool                     `protobuf:"varint,27,opt,name=java_string_check_utf8,json=javaStringCheckUtf8,def=0" json:"java_string_check_utf8,omitempty"`
   911  	OptimizeFor         *FileOptions_OptimizeMode `protobuf:"varint,9,opt,name=optimize_for,json=optimizeFor,enum=google.protobuf.FileOptions_OptimizeMode,def=1" json:"optimize_for,omitempty"`
   912  	// Sets the Go package where structs generated from this .proto will be
   913  	// placed. If omitted, the Go package will be derived from the following:
   914  	//   - The basename of the package import path, if provided.
   915  	//   - Otherwise, the package statement in the .proto file, if present.
   916  	//   - Otherwise, the basename of the .proto file, without extension.
   917  	GoPackage *string `protobuf:"bytes,11,opt,name=go_package,json=goPackage" json:"go_package,omitempty"`
   918  	// Should generic services be generated in each language?  "Generic" services
   919  	// are not specific to any particular RPC system.  They are generated by the
   920  	// main code generators in each language (without additional plugins).
   921  	// Generic services were the only kind of service generation supported by
   922  	// early versions of google.protobuf.
   923  	//
   924  	// Generic services are now considered deprecated in favor of using plugins
   925  	// that generate code specific to your particular RPC system.  Therefore,
   926  	// these default to false.  Old code which depends on generic services should
   927  	// explicitly set them to true.
   928  	CcGenericServices   *bool `protobuf:"varint,16,opt,name=cc_generic_services,json=ccGenericServices,def=0" json:"cc_generic_services,omitempty"`
   929  	JavaGenericServices *bool `protobuf:"varint,17,opt,name=java_generic_services,json=javaGenericServices,def=0" json:"java_generic_services,omitempty"`
   930  	PyGenericServices   *bool `protobuf:"varint,18,opt,name=py_generic_services,json=pyGenericServices,def=0" json:"py_generic_services,omitempty"`
   931  	// Is this file deprecated?
   932  	// Depending on the target platform, this can emit Deprecated annotations
   933  	// for everything in the file, or it will be completely ignored; in the very
   934  	// least, this is a formalization for deprecating files.
   935  	Deprecated *bool `protobuf:"varint,23,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
   936  	// Enables the use of arenas for the proto messages in this file. This applies
   937  	// only to generated classes for C++.
   938  	CcEnableArenas *bool `protobuf:"varint,31,opt,name=cc_enable_arenas,json=ccEnableArenas,def=0" json:"cc_enable_arenas,omitempty"`
   939  	// Sets the objective c class prefix which is prepended to all objective c
   940  	// generated classes from this .proto. There is no default.
   941  	ObjcClassPrefix *string `protobuf:"bytes,36,opt,name=objc_class_prefix,json=objcClassPrefix" json:"objc_class_prefix,omitempty"`
   942  	// Namespace for generated classes; defaults to the package.
   943  	CsharpNamespace *string `protobuf:"bytes,37,opt,name=csharp_namespace,json=csharpNamespace" json:"csharp_namespace,omitempty"`
   944  	// Whether the nano proto compiler should generate in the deprecated non-nano
   945  	// suffixed package.
   946  	JavananoUseDeprecatedPackage *bool `protobuf:"varint,38,opt,name=javanano_use_deprecated_package,json=javananoUseDeprecatedPackage" json:"javanano_use_deprecated_package,omitempty"`
   947  	// The parser stores options it doesn't recognize here. See above.
   948  	UninterpretedOption []*UninterpretedOption    `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
   949  	XXX_extensions      map[int32]proto.Extension `json:"-"`
   950  	XXX_unrecognized    []byte                    `json:"-"`
   951  }
   952  
   953  func (m *FileOptions) Reset()                    { *m = FileOptions{} }
   954  func (m *FileOptions) String() string            { return proto.CompactTextString(m) }
   955  func (*FileOptions) ProtoMessage()               {}
   956  func (*FileOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
   957  
   958  var extRange_FileOptions = []proto.ExtensionRange{
   959  	{1000, 536870911},
   960  }
   961  
   962  func (*FileOptions) ExtensionRangeArray() []proto.ExtensionRange {
   963  	return extRange_FileOptions
   964  }
   965  func (m *FileOptions) ExtensionMap() map[int32]proto.Extension {
   966  	if m.XXX_extensions == nil {
   967  		m.XXX_extensions = make(map[int32]proto.Extension)
   968  	}
   969  	return m.XXX_extensions
   970  }
   971  
   972  const Default_FileOptions_JavaMultipleFiles bool = false
   973  const Default_FileOptions_JavaGenerateEqualsAndHash bool = false
   974  const Default_FileOptions_JavaStringCheckUtf8 bool = false
   975  const Default_FileOptions_OptimizeFor FileOptions_OptimizeMode = FileOptions_SPEED
   976  const Default_FileOptions_CcGenericServices bool = false
   977  const Default_FileOptions_JavaGenericServices bool = false
   978  const Default_FileOptions_PyGenericServices bool = false
   979  const Default_FileOptions_Deprecated bool = false
   980  const Default_FileOptions_CcEnableArenas bool = false
   981  
   982  func (m *FileOptions) GetJavaPackage() string {
   983  	if m != nil && m.JavaPackage != nil {
   984  		return *m.JavaPackage
   985  	}
   986  	return ""
   987  }
   988  
   989  func (m *FileOptions) GetJavaOuterClassname() string {
   990  	if m != nil && m.JavaOuterClassname != nil {
   991  		return *m.JavaOuterClassname
   992  	}
   993  	return ""
   994  }
   995  
   996  func (m *FileOptions) GetJavaMultipleFiles() bool {
   997  	if m != nil && m.JavaMultipleFiles != nil {
   998  		return *m.JavaMultipleFiles
   999  	}
  1000  	return Default_FileOptions_JavaMultipleFiles
  1001  }
  1002  
  1003  func (m *FileOptions) GetJavaGenerateEqualsAndHash() bool {
  1004  	if m != nil && m.JavaGenerateEqualsAndHash != nil {
  1005  		return *m.JavaGenerateEqualsAndHash
  1006  	}
  1007  	return Default_FileOptions_JavaGenerateEqualsAndHash
  1008  }
  1009  
  1010  func (m *FileOptions) GetJavaStringCheckUtf8() bool {
  1011  	if m != nil && m.JavaStringCheckUtf8 != nil {
  1012  		return *m.JavaStringCheckUtf8
  1013  	}
  1014  	return Default_FileOptions_JavaStringCheckUtf8
  1015  }
  1016  
  1017  func (m *FileOptions) GetOptimizeFor() FileOptions_OptimizeMode {
  1018  	if m != nil && m.OptimizeFor != nil {
  1019  		return *m.OptimizeFor
  1020  	}
  1021  	return Default_FileOptions_OptimizeFor
  1022  }
  1023  
  1024  func (m *FileOptions) GetGoPackage() string {
  1025  	if m != nil && m.GoPackage != nil {
  1026  		return *m.GoPackage
  1027  	}
  1028  	return ""
  1029  }
  1030  
  1031  func (m *FileOptions) GetCcGenericServices() bool {
  1032  	if m != nil && m.CcGenericServices != nil {
  1033  		return *m.CcGenericServices
  1034  	}
  1035  	return Default_FileOptions_CcGenericServices
  1036  }
  1037  
  1038  func (m *FileOptions) GetJavaGenericServices() bool {
  1039  	if m != nil && m.JavaGenericServices != nil {
  1040  		return *m.JavaGenericServices
  1041  	}
  1042  	return Default_FileOptions_JavaGenericServices
  1043  }
  1044  
  1045  func (m *FileOptions) GetPyGenericServices() bool {
  1046  	if m != nil && m.PyGenericServices != nil {
  1047  		return *m.PyGenericServices
  1048  	}
  1049  	return Default_FileOptions_PyGenericServices
  1050  }
  1051  
  1052  func (m *FileOptions) GetDeprecated() bool {
  1053  	if m != nil && m.Deprecated != nil {
  1054  		return *m.Deprecated
  1055  	}
  1056  	return Default_FileOptions_Deprecated
  1057  }
  1058  
  1059  func (m *FileOptions) GetCcEnableArenas() bool {
  1060  	if m != nil && m.CcEnableArenas != nil {
  1061  		return *m.CcEnableArenas
  1062  	}
  1063  	return Default_FileOptions_CcEnableArenas
  1064  }
  1065  
  1066  func (m *FileOptions) GetObjcClassPrefix() string {
  1067  	if m != nil && m.ObjcClassPrefix != nil {
  1068  		return *m.ObjcClassPrefix
  1069  	}
  1070  	return ""
  1071  }
  1072  
  1073  func (m *FileOptions) GetCsharpNamespace() string {
  1074  	if m != nil && m.CsharpNamespace != nil {
  1075  		return *m.CsharpNamespace
  1076  	}
  1077  	return ""
  1078  }
  1079  
  1080  func (m *FileOptions) GetJavananoUseDeprecatedPackage() bool {
  1081  	if m != nil && m.JavananoUseDeprecatedPackage != nil {
  1082  		return *m.JavananoUseDeprecatedPackage
  1083  	}
  1084  	return false
  1085  }
  1086  
  1087  func (m *FileOptions) GetUninterpretedOption() []*UninterpretedOption {
  1088  	if m != nil {
  1089  		return m.UninterpretedOption
  1090  	}
  1091  	return nil
  1092  }
  1093  
  1094  type MessageOptions struct {
  1095  	// Set true to use the old proto1 MessageSet wire format for extensions.
  1096  	// This is provided for backwards-compatibility with the MessageSet wire
  1097  	// format.  You should not use this for any other reason:  It's less
  1098  	// efficient, has fewer features, and is more complicated.
  1099  	//
  1100  	// The message must be defined exactly as follows:
  1101  	//   message Foo {
  1102  	//     option message_set_wire_format = true;
  1103  	//     extensions 4 to max;
  1104  	//   }
  1105  	// Note that the message cannot have any defined fields; MessageSets only
  1106  	// have extensions.
  1107  	//
  1108  	// All extensions of your type must be singular messages; e.g. they cannot
  1109  	// be int32s, enums, or repeated messages.
  1110  	//
  1111  	// Because this is an option, the above two restrictions are not enforced by
  1112  	// the protocol compiler.
  1113  	MessageSetWireFormat *bool `protobuf:"varint,1,opt,name=message_set_wire_format,json=messageSetWireFormat,def=0" json:"message_set_wire_format,omitempty"`
  1114  	// Disables the generation of the standard "descriptor()" accessor, which can
  1115  	// conflict with a field of the same name.  This is meant to make migration
  1116  	// from proto1 easier; new code should avoid fields named "descriptor".
  1117  	NoStandardDescriptorAccessor *bool `protobuf:"varint,2,opt,name=no_standard_descriptor_accessor,json=noStandardDescriptorAccessor,def=0" json:"no_standard_descriptor_accessor,omitempty"`
  1118  	// Is this message deprecated?
  1119  	// Depending on the target platform, this can emit Deprecated annotations
  1120  	// for the message, or it will be completely ignored; in the very least,
  1121  	// this is a formalization for deprecating messages.
  1122  	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  1123  	// Whether the message is an automatically generated map entry type for the
  1124  	// maps field.
  1125  	//
  1126  	// For maps fields:
  1127  	//     map<KeyType, ValueType> map_field = 1;
  1128  	// The parsed descriptor looks like:
  1129  	//     message MapFieldEntry {
  1130  	//         option map_entry = true;
  1131  	//         optional KeyType key = 1;
  1132  	//         optional ValueType value = 2;
  1133  	//     }
  1134  	//     repeated MapFieldEntry map_field = 1;
  1135  	//
  1136  	// Implementations may choose not to generate the map_entry=true message, but
  1137  	// use a native map in the target language to hold the keys and values.
  1138  	// The reflection APIs in such implementions still need to work as
  1139  	// if the field is a repeated message field.
  1140  	//
  1141  	// NOTE: Do not set the option in .proto files. Always use the maps syntax
  1142  	// instead. The option should only be implicitly set by the proto compiler
  1143  	// parser.
  1144  	MapEntry *bool `protobuf:"varint,7,opt,name=map_entry,json=mapEntry" json:"map_entry,omitempty"`
  1145  	// The parser stores options it doesn't recognize here. See above.
  1146  	UninterpretedOption []*UninterpretedOption    `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  1147  	XXX_extensions      map[int32]proto.Extension `json:"-"`
  1148  	XXX_unrecognized    []byte                    `json:"-"`
  1149  }
  1150  
  1151  func (m *MessageOptions) Reset()                    { *m = MessageOptions{} }
  1152  func (m *MessageOptions) String() string            { return proto.CompactTextString(m) }
  1153  func (*MessageOptions) ProtoMessage()               {}
  1154  func (*MessageOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
  1155  
  1156  var extRange_MessageOptions = []proto.ExtensionRange{
  1157  	{1000, 536870911},
  1158  }
  1159  
  1160  func (*MessageOptions) ExtensionRangeArray() []proto.ExtensionRange {
  1161  	return extRange_MessageOptions
  1162  }
  1163  func (m *MessageOptions) ExtensionMap() map[int32]proto.Extension {
  1164  	if m.XXX_extensions == nil {
  1165  		m.XXX_extensions = make(map[int32]proto.Extension)
  1166  	}
  1167  	return m.XXX_extensions
  1168  }
  1169  
  1170  const Default_MessageOptions_MessageSetWireFormat bool = false
  1171  const Default_MessageOptions_NoStandardDescriptorAccessor bool = false
  1172  const Default_MessageOptions_Deprecated bool = false
  1173  
  1174  func (m *MessageOptions) GetMessageSetWireFormat() bool {
  1175  	if m != nil && m.MessageSetWireFormat != nil {
  1176  		return *m.MessageSetWireFormat
  1177  	}
  1178  	return Default_MessageOptions_MessageSetWireFormat
  1179  }
  1180  
  1181  func (m *MessageOptions) GetNoStandardDescriptorAccessor() bool {
  1182  	if m != nil && m.NoStandardDescriptorAccessor != nil {
  1183  		return *m.NoStandardDescriptorAccessor
  1184  	}
  1185  	return Default_MessageOptions_NoStandardDescriptorAccessor
  1186  }
  1187  
  1188  func (m *MessageOptions) GetDeprecated() bool {
  1189  	if m != nil && m.Deprecated != nil {
  1190  		return *m.Deprecated
  1191  	}
  1192  	return Default_MessageOptions_Deprecated
  1193  }
  1194  
  1195  func (m *MessageOptions) GetMapEntry() bool {
  1196  	if m != nil && m.MapEntry != nil {
  1197  		return *m.MapEntry
  1198  	}
  1199  	return false
  1200  }
  1201  
  1202  func (m *MessageOptions) GetUninterpretedOption() []*UninterpretedOption {
  1203  	if m != nil {
  1204  		return m.UninterpretedOption
  1205  	}
  1206  	return nil
  1207  }
  1208  
  1209  type FieldOptions struct {
  1210  	// The ctype option instructs the C++ code generator to use a different
  1211  	// representation of the field than it normally would.  See the specific
  1212  	// options below.  This option is not yet implemented in the open source
  1213  	// release -- sorry, we'll try to include it in a future version!
  1214  	Ctype *FieldOptions_CType `protobuf:"varint,1,opt,name=ctype,enum=google.protobuf.FieldOptions_CType,def=0" json:"ctype,omitempty"`
  1215  	// The packed option can be enabled for repeated primitive fields to enable
  1216  	// a more efficient representation on the wire. Rather than repeatedly
  1217  	// writing the tag and type for each element, the entire array is encoded as
  1218  	// a single length-delimited blob. In proto3, only explicit setting it to
  1219  	// false will avoid using packed encoding.
  1220  	Packed *bool `protobuf:"varint,2,opt,name=packed" json:"packed,omitempty"`
  1221  	// The jstype option determines the JavaScript type used for values of the
  1222  	// field.  The option is permitted only for 64 bit integral and fixed types
  1223  	// (int64, uint64, sint64, fixed64, sfixed64).  By default these types are
  1224  	// represented as JavaScript strings.  This avoids loss of precision that can
  1225  	// happen when a large value is converted to a floating point JavaScript
  1226  	// numbers.  Specifying JS_NUMBER for the jstype causes the generated
  1227  	// JavaScript code to use the JavaScript "number" type instead of strings.
  1228  	// This option is an enum to permit additional types to be added,
  1229  	// e.g. goog.math.Integer.
  1230  	Jstype *FieldOptions_JSType `protobuf:"varint,6,opt,name=jstype,enum=google.protobuf.FieldOptions_JSType,def=0" json:"jstype,omitempty"`
  1231  	// Should this field be parsed lazily?  Lazy applies only to message-type
  1232  	// fields.  It means that when the outer message is initially parsed, the
  1233  	// inner message's contents will not be parsed but instead stored in encoded
  1234  	// form.  The inner message will actually be parsed when it is first accessed.
  1235  	//
  1236  	// This is only a hint.  Implementations are free to choose whether to use
  1237  	// eager or lazy parsing regardless of the value of this option.  However,
  1238  	// setting this option true suggests that the protocol author believes that
  1239  	// using lazy parsing on this field is worth the additional bookkeeping
  1240  	// overhead typically needed to implement it.
  1241  	//
  1242  	// This option does not affect the public interface of any generated code;
  1243  	// all method signatures remain the same.  Furthermore, thread-safety of the
  1244  	// interface is not affected by this option; const methods remain safe to
  1245  	// call from multiple threads concurrently, while non-const methods continue
  1246  	// to require exclusive access.
  1247  	//
  1248  	//
  1249  	// Note that implementations may choose not to check required fields within
  1250  	// a lazy sub-message.  That is, calling IsInitialized() on the outher message
  1251  	// may return true even if the inner message has missing required fields.
  1252  	// This is necessary because otherwise the inner message would have to be
  1253  	// parsed in order to perform the check, defeating the purpose of lazy
  1254  	// parsing.  An implementation which chooses not to check required fields
  1255  	// must be consistent about it.  That is, for any particular sub-message, the
  1256  	// implementation must either *always* check its required fields, or *never*
  1257  	// check its required fields, regardless of whether or not the message has
  1258  	// been parsed.
  1259  	Lazy *bool `protobuf:"varint,5,opt,name=lazy,def=0" json:"lazy,omitempty"`
  1260  	// Is this field deprecated?
  1261  	// Depending on the target platform, this can emit Deprecated annotations
  1262  	// for accessors, or it will be completely ignored; in the very least, this
  1263  	// is a formalization for deprecating fields.
  1264  	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  1265  	// For Google-internal migration only. Do not use.
  1266  	Weak *bool `protobuf:"varint,10,opt,name=weak,def=0" json:"weak,omitempty"`
  1267  	// The parser stores options it doesn't recognize here. See above.
  1268  	UninterpretedOption []*UninterpretedOption    `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  1269  	XXX_extensions      map[int32]proto.Extension `json:"-"`
  1270  	XXX_unrecognized    []byte                    `json:"-"`
  1271  }
  1272  
  1273  func (m *FieldOptions) Reset()                    { *m = FieldOptions{} }
  1274  func (m *FieldOptions) String() string            { return proto.CompactTextString(m) }
  1275  func (*FieldOptions) ProtoMessage()               {}
  1276  func (*FieldOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
  1277  
  1278  var extRange_FieldOptions = []proto.ExtensionRange{
  1279  	{1000, 536870911},
  1280  }
  1281  
  1282  func (*FieldOptions) ExtensionRangeArray() []proto.ExtensionRange {
  1283  	return extRange_FieldOptions
  1284  }
  1285  func (m *FieldOptions) ExtensionMap() map[int32]proto.Extension {
  1286  	if m.XXX_extensions == nil {
  1287  		m.XXX_extensions = make(map[int32]proto.Extension)
  1288  	}
  1289  	return m.XXX_extensions
  1290  }
  1291  
  1292  const Default_FieldOptions_Ctype FieldOptions_CType = FieldOptions_STRING
  1293  const Default_FieldOptions_Jstype FieldOptions_JSType = FieldOptions_JS_NORMAL
  1294  const Default_FieldOptions_Lazy bool = false
  1295  const Default_FieldOptions_Deprecated bool = false
  1296  const Default_FieldOptions_Weak bool = false
  1297  
  1298  func (m *FieldOptions) GetCtype() FieldOptions_CType {
  1299  	if m != nil && m.Ctype != nil {
  1300  		return *m.Ctype
  1301  	}
  1302  	return Default_FieldOptions_Ctype
  1303  }
  1304  
  1305  func (m *FieldOptions) GetPacked() bool {
  1306  	if m != nil && m.Packed != nil {
  1307  		return *m.Packed
  1308  	}
  1309  	return false
  1310  }
  1311  
  1312  func (m *FieldOptions) GetJstype() FieldOptions_JSType {
  1313  	if m != nil && m.Jstype != nil {
  1314  		return *m.Jstype
  1315  	}
  1316  	return Default_FieldOptions_Jstype
  1317  }
  1318  
  1319  func (m *FieldOptions) GetLazy() bool {
  1320  	if m != nil && m.Lazy != nil {
  1321  		return *m.Lazy
  1322  	}
  1323  	return Default_FieldOptions_Lazy
  1324  }
  1325  
  1326  func (m *FieldOptions) GetDeprecated() bool {
  1327  	if m != nil && m.Deprecated != nil {
  1328  		return *m.Deprecated
  1329  	}
  1330  	return Default_FieldOptions_Deprecated
  1331  }
  1332  
  1333  func (m *FieldOptions) GetWeak() bool {
  1334  	if m != nil && m.Weak != nil {
  1335  		return *m.Weak
  1336  	}
  1337  	return Default_FieldOptions_Weak
  1338  }
  1339  
  1340  func (m *FieldOptions) GetUninterpretedOption() []*UninterpretedOption {
  1341  	if m != nil {
  1342  		return m.UninterpretedOption
  1343  	}
  1344  	return nil
  1345  }
  1346  
  1347  type EnumOptions struct {
  1348  	// Set this option to true to allow mapping different tag names to the same
  1349  	// value.
  1350  	AllowAlias *bool `protobuf:"varint,2,opt,name=allow_alias,json=allowAlias" json:"allow_alias,omitempty"`
  1351  	// Is this enum deprecated?
  1352  	// Depending on the target platform, this can emit Deprecated annotations
  1353  	// for the enum, or it will be completely ignored; in the very least, this
  1354  	// is a formalization for deprecating enums.
  1355  	Deprecated *bool `protobuf:"varint,3,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  1356  	// The parser stores options it doesn't recognize here. See above.
  1357  	UninterpretedOption []*UninterpretedOption    `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  1358  	XXX_extensions      map[int32]proto.Extension `json:"-"`
  1359  	XXX_unrecognized    []byte                    `json:"-"`
  1360  }
  1361  
  1362  func (m *EnumOptions) Reset()                    { *m = EnumOptions{} }
  1363  func (m *EnumOptions) String() string            { return proto.CompactTextString(m) }
  1364  func (*EnumOptions) ProtoMessage()               {}
  1365  func (*EnumOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
  1366  
  1367  var extRange_EnumOptions = []proto.ExtensionRange{
  1368  	{1000, 536870911},
  1369  }
  1370  
  1371  func (*EnumOptions) ExtensionRangeArray() []proto.ExtensionRange {
  1372  	return extRange_EnumOptions
  1373  }
  1374  func (m *EnumOptions) ExtensionMap() map[int32]proto.Extension {
  1375  	if m.XXX_extensions == nil {
  1376  		m.XXX_extensions = make(map[int32]proto.Extension)
  1377  	}
  1378  	return m.XXX_extensions
  1379  }
  1380  
  1381  const Default_EnumOptions_Deprecated bool = false
  1382  
  1383  func (m *EnumOptions) GetAllowAlias() bool {
  1384  	if m != nil && m.AllowAlias != nil {
  1385  		return *m.AllowAlias
  1386  	}
  1387  	return false
  1388  }
  1389  
  1390  func (m *EnumOptions) GetDeprecated() bool {
  1391  	if m != nil && m.Deprecated != nil {
  1392  		return *m.Deprecated
  1393  	}
  1394  	return Default_EnumOptions_Deprecated
  1395  }
  1396  
  1397  func (m *EnumOptions) GetUninterpretedOption() []*UninterpretedOption {
  1398  	if m != nil {
  1399  		return m.UninterpretedOption
  1400  	}
  1401  	return nil
  1402  }
  1403  
  1404  type EnumValueOptions struct {
  1405  	// Is this enum value deprecated?
  1406  	// Depending on the target platform, this can emit Deprecated annotations
  1407  	// for the enum value, or it will be completely ignored; in the very least,
  1408  	// this is a formalization for deprecating enum values.
  1409  	Deprecated *bool `protobuf:"varint,1,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  1410  	// The parser stores options it doesn't recognize here. See above.
  1411  	UninterpretedOption []*UninterpretedOption    `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  1412  	XXX_extensions      map[int32]proto.Extension `json:"-"`
  1413  	XXX_unrecognized    []byte                    `json:"-"`
  1414  }
  1415  
  1416  func (m *EnumValueOptions) Reset()                    { *m = EnumValueOptions{} }
  1417  func (m *EnumValueOptions) String() string            { return proto.CompactTextString(m) }
  1418  func (*EnumValueOptions) ProtoMessage()               {}
  1419  func (*EnumValueOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
  1420  
  1421  var extRange_EnumValueOptions = []proto.ExtensionRange{
  1422  	{1000, 536870911},
  1423  }
  1424  
  1425  func (*EnumValueOptions) ExtensionRangeArray() []proto.ExtensionRange {
  1426  	return extRange_EnumValueOptions
  1427  }
  1428  func (m *EnumValueOptions) ExtensionMap() map[int32]proto.Extension {
  1429  	if m.XXX_extensions == nil {
  1430  		m.XXX_extensions = make(map[int32]proto.Extension)
  1431  	}
  1432  	return m.XXX_extensions
  1433  }
  1434  
  1435  const Default_EnumValueOptions_Deprecated bool = false
  1436  
  1437  func (m *EnumValueOptions) GetDeprecated() bool {
  1438  	if m != nil && m.Deprecated != nil {
  1439  		return *m.Deprecated
  1440  	}
  1441  	return Default_EnumValueOptions_Deprecated
  1442  }
  1443  
  1444  func (m *EnumValueOptions) GetUninterpretedOption() []*UninterpretedOption {
  1445  	if m != nil {
  1446  		return m.UninterpretedOption
  1447  	}
  1448  	return nil
  1449  }
  1450  
  1451  type ServiceOptions struct {
  1452  	// Is this service deprecated?
  1453  	// Depending on the target platform, this can emit Deprecated annotations
  1454  	// for the service, or it will be completely ignored; in the very least,
  1455  	// this is a formalization for deprecating services.
  1456  	Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  1457  	// The parser stores options it doesn't recognize here. See above.
  1458  	UninterpretedOption []*UninterpretedOption    `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  1459  	XXX_extensions      map[int32]proto.Extension `json:"-"`
  1460  	XXX_unrecognized    []byte                    `json:"-"`
  1461  }
  1462  
  1463  func (m *ServiceOptions) Reset()                    { *m = ServiceOptions{} }
  1464  func (m *ServiceOptions) String() string            { return proto.CompactTextString(m) }
  1465  func (*ServiceOptions) ProtoMessage()               {}
  1466  func (*ServiceOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
  1467  
  1468  var extRange_ServiceOptions = []proto.ExtensionRange{
  1469  	{1000, 536870911},
  1470  }
  1471  
  1472  func (*ServiceOptions) ExtensionRangeArray() []proto.ExtensionRange {
  1473  	return extRange_ServiceOptions
  1474  }
  1475  func (m *ServiceOptions) ExtensionMap() map[int32]proto.Extension {
  1476  	if m.XXX_extensions == nil {
  1477  		m.XXX_extensions = make(map[int32]proto.Extension)
  1478  	}
  1479  	return m.XXX_extensions
  1480  }
  1481  
  1482  const Default_ServiceOptions_Deprecated bool = false
  1483  
  1484  func (m *ServiceOptions) GetDeprecated() bool {
  1485  	if m != nil && m.Deprecated != nil {
  1486  		return *m.Deprecated
  1487  	}
  1488  	return Default_ServiceOptions_Deprecated
  1489  }
  1490  
  1491  func (m *ServiceOptions) GetUninterpretedOption() []*UninterpretedOption {
  1492  	if m != nil {
  1493  		return m.UninterpretedOption
  1494  	}
  1495  	return nil
  1496  }
  1497  
  1498  type MethodOptions struct {
  1499  	// Is this method deprecated?
  1500  	// Depending on the target platform, this can emit Deprecated annotations
  1501  	// for the method, or it will be completely ignored; in the very least,
  1502  	// this is a formalization for deprecating methods.
  1503  	Deprecated *bool `protobuf:"varint,33,opt,name=deprecated,def=0" json:"deprecated,omitempty"`
  1504  	// The parser stores options it doesn't recognize here. See above.
  1505  	UninterpretedOption []*UninterpretedOption    `protobuf:"bytes,999,rep,name=uninterpreted_option,json=uninterpretedOption" json:"uninterpreted_option,omitempty"`
  1506  	XXX_extensions      map[int32]proto.Extension `json:"-"`
  1507  	XXX_unrecognized    []byte                    `json:"-"`
  1508  }
  1509  
  1510  func (m *MethodOptions) Reset()                    { *m = MethodOptions{} }
  1511  func (m *MethodOptions) String() string            { return proto.CompactTextString(m) }
  1512  func (*MethodOptions) ProtoMessage()               {}
  1513  func (*MethodOptions) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
  1514  
  1515  var extRange_MethodOptions = []proto.ExtensionRange{
  1516  	{1000, 536870911},
  1517  }
  1518  
  1519  func (*MethodOptions) ExtensionRangeArray() []proto.ExtensionRange {
  1520  	return extRange_MethodOptions
  1521  }
  1522  func (m *MethodOptions) ExtensionMap() map[int32]proto.Extension {
  1523  	if m.XXX_extensions == nil {
  1524  		m.XXX_extensions = make(map[int32]proto.Extension)
  1525  	}
  1526  	return m.XXX_extensions
  1527  }
  1528  
  1529  const Default_MethodOptions_Deprecated bool = false
  1530  
  1531  func (m *MethodOptions) GetDeprecated() bool {
  1532  	if m != nil && m.Deprecated != nil {
  1533  		return *m.Deprecated
  1534  	}
  1535  	return Default_MethodOptions_Deprecated
  1536  }
  1537  
  1538  func (m *MethodOptions) GetUninterpretedOption() []*UninterpretedOption {
  1539  	if m != nil {
  1540  		return m.UninterpretedOption
  1541  	}
  1542  	return nil
  1543  }
  1544  
  1545  // A message representing a option the parser does not recognize. This only
  1546  // appears in options protos created by the compiler::Parser class.
  1547  // DescriptorPool resolves these when building Descriptor objects. Therefore,
  1548  // options protos in descriptor objects (e.g. returned by Descriptor::options(),
  1549  // or produced by Descriptor::CopyTo()) will never have UninterpretedOptions
  1550  // in them.
  1551  type UninterpretedOption struct {
  1552  	Name []*UninterpretedOption_NamePart `protobuf:"bytes,2,rep,name=name" json:"name,omitempty"`
  1553  	// The value of the uninterpreted option, in whatever type the tokenizer
  1554  	// identified it as during parsing. Exactly one of these should be set.
  1555  	IdentifierValue  *string  `protobuf:"bytes,3,opt,name=identifier_value,json=identifierValue" json:"identifier_value,omitempty"`
  1556  	PositiveIntValue *uint64  `protobuf:"varint,4,opt,name=positive_int_value,json=positiveIntValue" json:"positive_int_value,omitempty"`
  1557  	NegativeIntValue *int64   `protobuf:"varint,5,opt,name=negative_int_value,json=negativeIntValue" json:"negative_int_value,omitempty"`
  1558  	DoubleValue      *float64 `protobuf:"fixed64,6,opt,name=double_value,json=doubleValue" json:"double_value,omitempty"`
  1559  	StringValue      []byte   `protobuf:"bytes,7,opt,name=string_value,json=stringValue" json:"string_value,omitempty"`
  1560  	AggregateValue   *string  `protobuf:"bytes,8,opt,name=aggregate_value,json=aggregateValue" json:"aggregate_value,omitempty"`
  1561  	XXX_unrecognized []byte   `json:"-"`
  1562  }
  1563  
  1564  func (m *UninterpretedOption) Reset()                    { *m = UninterpretedOption{} }
  1565  func (m *UninterpretedOption) String() string            { return proto.CompactTextString(m) }
  1566  func (*UninterpretedOption) ProtoMessage()               {}
  1567  func (*UninterpretedOption) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
  1568  
  1569  func (m *UninterpretedOption) GetName() []*UninterpretedOption_NamePart {
  1570  	if m != nil {
  1571  		return m.Name
  1572  	}
  1573  	return nil
  1574  }
  1575  
  1576  func (m *UninterpretedOption) GetIdentifierValue() string {
  1577  	if m != nil && m.IdentifierValue != nil {
  1578  		return *m.IdentifierValue
  1579  	}
  1580  	return ""
  1581  }
  1582  
  1583  func (m *UninterpretedOption) GetPositiveIntValue() uint64 {
  1584  	if m != nil && m.PositiveIntValue != nil {
  1585  		return *m.PositiveIntValue
  1586  	}
  1587  	return 0
  1588  }
  1589  
  1590  func (m *UninterpretedOption) GetNegativeIntValue() int64 {
  1591  	if m != nil && m.NegativeIntValue != nil {
  1592  		return *m.NegativeIntValue
  1593  	}
  1594  	return 0
  1595  }
  1596  
  1597  func (m *UninterpretedOption) GetDoubleValue() float64 {
  1598  	if m != nil && m.DoubleValue != nil {
  1599  		return *m.DoubleValue
  1600  	}
  1601  	return 0
  1602  }
  1603  
  1604  func (m *UninterpretedOption) GetStringValue() []byte {
  1605  	if m != nil {
  1606  		return m.StringValue
  1607  	}
  1608  	return nil
  1609  }
  1610  
  1611  func (m *UninterpretedOption) GetAggregateValue() string {
  1612  	if m != nil && m.AggregateValue != nil {
  1613  		return *m.AggregateValue
  1614  	}
  1615  	return ""
  1616  }
  1617  
  1618  // The name of the uninterpreted option.  Each string represents a segment in
  1619  // a dot-separated name.  is_extension is true iff a segment represents an
  1620  // extension (denoted with parentheses in options specs in .proto files).
  1621  // E.g.,{ ["foo", false], ["bar.baz", true], ["qux", false] } represents
  1622  // "foo.(bar.baz).qux".
  1623  type UninterpretedOption_NamePart struct {
  1624  	NamePart         *string `protobuf:"bytes,1,req,name=name_part,json=namePart" json:"name_part,omitempty"`
  1625  	IsExtension      *bool   `protobuf:"varint,2,req,name=is_extension,json=isExtension" json:"is_extension,omitempty"`
  1626  	XXX_unrecognized []byte  `json:"-"`
  1627  }
  1628  
  1629  func (m *UninterpretedOption_NamePart) Reset()         { *m = UninterpretedOption_NamePart{} }
  1630  func (m *UninterpretedOption_NamePart) String() string { return proto.CompactTextString(m) }
  1631  func (*UninterpretedOption_NamePart) ProtoMessage()    {}
  1632  func (*UninterpretedOption_NamePart) Descriptor() ([]byte, []int) {
  1633  	return fileDescriptor0, []int{16, 0}
  1634  }
  1635  
  1636  func (m *UninterpretedOption_NamePart) GetNamePart() string {
  1637  	if m != nil && m.NamePart != nil {
  1638  		return *m.NamePart
  1639  	}
  1640  	return ""
  1641  }
  1642  
  1643  func (m *UninterpretedOption_NamePart) GetIsExtension() bool {
  1644  	if m != nil && m.IsExtension != nil {
  1645  		return *m.IsExtension
  1646  	}
  1647  	return false
  1648  }
  1649  
  1650  // Encapsulates information about the original source file from which a
  1651  // FileDescriptorProto was generated.
  1652  type SourceCodeInfo struct {
  1653  	// A Location identifies a piece of source code in a .proto file which
  1654  	// corresponds to a particular definition.  This information is intended
  1655  	// to be useful to IDEs, code indexers, documentation generators, and similar
  1656  	// tools.
  1657  	//
  1658  	// For example, say we have a file like:
  1659  	//   message Foo {
  1660  	//     optional string foo = 1;
  1661  	//   }
  1662  	// Let's look at just the field definition:
  1663  	//   optional string foo = 1;
  1664  	//   ^       ^^     ^^  ^  ^^^
  1665  	//   a       bc     de  f  ghi
  1666  	// We have the following locations:
  1667  	//   span   path               represents
  1668  	//   [a,i)  [ 4, 0, 2, 0 ]     The whole field definition.
  1669  	//   [a,b)  [ 4, 0, 2, 0, 4 ]  The label (optional).
  1670  	//   [c,d)  [ 4, 0, 2, 0, 5 ]  The type (string).
  1671  	//   [e,f)  [ 4, 0, 2, 0, 1 ]  The name (foo).
  1672  	//   [g,h)  [ 4, 0, 2, 0, 3 ]  The number (1).
  1673  	//
  1674  	// Notes:
  1675  	// - A location may refer to a repeated field itself (i.e. not to any
  1676  	//   particular index within it).  This is used whenever a set of elements are
  1677  	//   logically enclosed in a single code segment.  For example, an entire
  1678  	//   extend block (possibly containing multiple extension definitions) will
  1679  	//   have an outer location whose path refers to the "extensions" repeated
  1680  	//   field without an index.
  1681  	// - Multiple locations may have the same path.  This happens when a single
  1682  	//   logical declaration is spread out across multiple places.  The most
  1683  	//   obvious example is the "extend" block again -- there may be multiple
  1684  	//   extend blocks in the same scope, each of which will have the same path.
  1685  	// - A location's span is not always a subset of its parent's span.  For
  1686  	//   example, the "extendee" of an extension declaration appears at the
  1687  	//   beginning of the "extend" block and is shared by all extensions within
  1688  	//   the block.
  1689  	// - Just because a location's span is a subset of some other location's span
  1690  	//   does not mean that it is a descendent.  For example, a "group" defines
  1691  	//   both a type and a field in a single declaration.  Thus, the locations
  1692  	//   corresponding to the type and field and their components will overlap.
  1693  	// - Code which tries to interpret locations should probably be designed to
  1694  	//   ignore those that it doesn't understand, as more types of locations could
  1695  	//   be recorded in the future.
  1696  	Location         []*SourceCodeInfo_Location `protobuf:"bytes,1,rep,name=location" json:"location,omitempty"`
  1697  	XXX_unrecognized []byte                     `json:"-"`
  1698  }
  1699  
  1700  func (m *SourceCodeInfo) Reset()                    { *m = SourceCodeInfo{} }
  1701  func (m *SourceCodeInfo) String() string            { return proto.CompactTextString(m) }
  1702  func (*SourceCodeInfo) ProtoMessage()               {}
  1703  func (*SourceCodeInfo) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
  1704  
  1705  func (m *SourceCodeInfo) GetLocation() []*SourceCodeInfo_Location {
  1706  	if m != nil {
  1707  		return m.Location
  1708  	}
  1709  	return nil
  1710  }
  1711  
  1712  type SourceCodeInfo_Location struct {
  1713  	// Identifies which part of the FileDescriptorProto was defined at this
  1714  	// location.
  1715  	//
  1716  	// Each element is a field number or an index.  They form a path from
  1717  	// the root FileDescriptorProto to the place where the definition.  For
  1718  	// example, this path:
  1719  	//   [ 4, 3, 2, 7, 1 ]
  1720  	// refers to:
  1721  	//   file.message_type(3)  // 4, 3
  1722  	//       .field(7)         // 2, 7
  1723  	//       .name()           // 1
  1724  	// This is because FileDescriptorProto.message_type has field number 4:
  1725  	//   repeated DescriptorProto message_type = 4;
  1726  	// and DescriptorProto.field has field number 2:
  1727  	//   repeated FieldDescriptorProto field = 2;
  1728  	// and FieldDescriptorProto.name has field number 1:
  1729  	//   optional string name = 1;
  1730  	//
  1731  	// Thus, the above path gives the location of a field name.  If we removed
  1732  	// the last element:
  1733  	//   [ 4, 3, 2, 7 ]
  1734  	// this path refers to the whole field declaration (from the beginning
  1735  	// of the label to the terminating semicolon).
  1736  	Path []int32 `protobuf:"varint,1,rep,packed,name=path" json:"path,omitempty"`
  1737  	// Always has exactly three or four elements: start line, start column,
  1738  	// end line (optional, otherwise assumed same as start line), end column.
  1739  	// These are packed into a single field for efficiency.  Note that line
  1740  	// and column numbers are zero-based -- typically you will want to add
  1741  	// 1 to each before displaying to a user.
  1742  	Span []int32 `protobuf:"varint,2,rep,packed,name=span" json:"span,omitempty"`
  1743  	// If this SourceCodeInfo represents a complete declaration, these are any
  1744  	// comments appearing before and after the declaration which appear to be
  1745  	// attached to the declaration.
  1746  	//
  1747  	// A series of line comments appearing on consecutive lines, with no other
  1748  	// tokens appearing on those lines, will be treated as a single comment.
  1749  	//
  1750  	// leading_detached_comments will keep paragraphs of comments that appear
  1751  	// before (but not connected to) the current element. Each paragraph,
  1752  	// separated by empty lines, will be one comment element in the repeated
  1753  	// field.
  1754  	//
  1755  	// Only the comment content is provided; comment markers (e.g. //) are
  1756  	// stripped out.  For block comments, leading whitespace and an asterisk
  1757  	// will be stripped from the beginning of each line other than the first.
  1758  	// Newlines are included in the output.
  1759  	//
  1760  	// Examples:
  1761  	//
  1762  	//   optional int32 foo = 1;  // Comment attached to foo.
  1763  	//   // Comment attached to bar.
  1764  	//   optional int32 bar = 2;
  1765  	//
  1766  	//   optional string baz = 3;
  1767  	//   // Comment attached to baz.
  1768  	//   // Another line attached to baz.
  1769  	//
  1770  	//   // Comment attached to qux.
  1771  	//   //
  1772  	//   // Another line attached to qux.
  1773  	//   optional double qux = 4;
  1774  	//
  1775  	//   // Detached comment for corge. This is not leading or trailing comments
  1776  	//   // to qux or corge because there are blank lines separating it from
  1777  	//   // both.
  1778  	//
  1779  	//   // Detached comment for corge paragraph 2.
  1780  	//
  1781  	//   optional string corge = 5;
  1782  	//   /* Block comment attached
  1783  	//    * to corge.  Leading asterisks
  1784  	//    * will be removed. */
  1785  	//   /* Block comment attached to
  1786  	//    * grault. */
  1787  	//   optional int32 grault = 6;
  1788  	//
  1789  	//   // ignored detached comments.
  1790  	LeadingComments         *string  `protobuf:"bytes,3,opt,name=leading_comments,json=leadingComments" json:"leading_comments,omitempty"`
  1791  	TrailingComments        *string  `protobuf:"bytes,4,opt,name=trailing_comments,json=trailingComments" json:"trailing_comments,omitempty"`
  1792  	LeadingDetachedComments []string `protobuf:"bytes,6,rep,name=leading_detached_comments,json=leadingDetachedComments" json:"leading_detached_comments,omitempty"`
  1793  	XXX_unrecognized        []byte   `json:"-"`
  1794  }
  1795  
  1796  func (m *SourceCodeInfo_Location) Reset()                    { *m = SourceCodeInfo_Location{} }
  1797  func (m *SourceCodeInfo_Location) String() string            { return proto.CompactTextString(m) }
  1798  func (*SourceCodeInfo_Location) ProtoMessage()               {}
  1799  func (*SourceCodeInfo_Location) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17, 0} }
  1800  
  1801  func (m *SourceCodeInfo_Location) GetPath() []int32 {
  1802  	if m != nil {
  1803  		return m.Path
  1804  	}
  1805  	return nil
  1806  }
  1807  
  1808  func (m *SourceCodeInfo_Location) GetSpan() []int32 {
  1809  	if m != nil {
  1810  		return m.Span
  1811  	}
  1812  	return nil
  1813  }
  1814  
  1815  func (m *SourceCodeInfo_Location) GetLeadingComments() string {
  1816  	if m != nil && m.LeadingComments != nil {
  1817  		return *m.LeadingComments
  1818  	}
  1819  	return ""
  1820  }
  1821  
  1822  func (m *SourceCodeInfo_Location) GetTrailingComments() string {
  1823  	if m != nil && m.TrailingComments != nil {
  1824  		return *m.TrailingComments
  1825  	}
  1826  	return ""
  1827  }
  1828  
  1829  func (m *SourceCodeInfo_Location) GetLeadingDetachedComments() []string {
  1830  	if m != nil {
  1831  		return m.LeadingDetachedComments
  1832  	}
  1833  	return nil
  1834  }
  1835  
  1836  func init() {
  1837  	proto.RegisterType((*FileDescriptorSet)(nil), "google.protobuf.FileDescriptorSet")
  1838  	proto.RegisterType((*FileDescriptorProto)(nil), "google.protobuf.FileDescriptorProto")
  1839  	proto.RegisterType((*DescriptorProto)(nil), "google.protobuf.DescriptorProto")
  1840  	proto.RegisterType((*DescriptorProto_ExtensionRange)(nil), "google.protobuf.DescriptorProto.ExtensionRange")
  1841  	proto.RegisterType((*DescriptorProto_ReservedRange)(nil), "google.protobuf.DescriptorProto.ReservedRange")
  1842  	proto.RegisterType((*FieldDescriptorProto)(nil), "google.protobuf.FieldDescriptorProto")
  1843  	proto.RegisterType((*OneofDescriptorProto)(nil), "google.protobuf.OneofDescriptorProto")
  1844  	proto.RegisterType((*EnumDescriptorProto)(nil), "google.protobuf.EnumDescriptorProto")
  1845  	proto.RegisterType((*EnumValueDescriptorProto)(nil), "google.protobuf.EnumValueDescriptorProto")
  1846  	proto.RegisterType((*ServiceDescriptorProto)(nil), "google.protobuf.ServiceDescriptorProto")
  1847  	proto.RegisterType((*MethodDescriptorProto)(nil), "google.protobuf.MethodDescriptorProto")
  1848  	proto.RegisterType((*FileOptions)(nil), "google.protobuf.FileOptions")
  1849  	proto.RegisterType((*MessageOptions)(nil), "google.protobuf.MessageOptions")
  1850  	proto.RegisterType((*FieldOptions)(nil), "google.protobuf.FieldOptions")
  1851  	proto.RegisterType((*EnumOptions)(nil), "google.protobuf.EnumOptions")
  1852  	proto.RegisterType((*EnumValueOptions)(nil), "google.protobuf.EnumValueOptions")
  1853  	proto.RegisterType((*ServiceOptions)(nil), "google.protobuf.ServiceOptions")
  1854  	proto.RegisterType((*MethodOptions)(nil), "google.protobuf.MethodOptions")
  1855  	proto.RegisterType((*UninterpretedOption)(nil), "google.protobuf.UninterpretedOption")
  1856  	proto.RegisterType((*UninterpretedOption_NamePart)(nil), "google.protobuf.UninterpretedOption.NamePart")
  1857  	proto.RegisterType((*SourceCodeInfo)(nil), "google.protobuf.SourceCodeInfo")
  1858  	proto.RegisterType((*SourceCodeInfo_Location)(nil), "google.protobuf.SourceCodeInfo.Location")
  1859  	proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Type", FieldDescriptorProto_Type_name, FieldDescriptorProto_Type_value)
  1860  	proto.RegisterEnum("google.protobuf.FieldDescriptorProto_Label", FieldDescriptorProto_Label_name, FieldDescriptorProto_Label_value)
  1861  	proto.RegisterEnum("google.protobuf.FileOptions_OptimizeMode", FileOptions_OptimizeMode_name, FileOptions_OptimizeMode_value)
  1862  	proto.RegisterEnum("google.protobuf.FieldOptions_CType", FieldOptions_CType_name, FieldOptions_CType_value)
  1863  	proto.RegisterEnum("google.protobuf.FieldOptions_JSType", FieldOptions_JSType_name, FieldOptions_JSType_value)
  1864  }
  1865  
  1866  var fileDescriptor0 = []byte{
  1867  	// 2199 bytes of a gzipped FileDescriptorProto
  1868  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x58, 0x4f, 0x73, 0xdb, 0xd6,
  1869  	0x11, 0x2f, 0xff, 0x8a, 0x5c, 0x52, 0x24, 0xf4, 0xa4, 0xd8, 0xb4, 0x62, 0x47, 0x36, 0x63, 0xc7,
  1870  	0x8e, 0xd3, 0x52, 0x19, 0xb7, 0x49, 0x5c, 0xa5, 0x93, 0x0e, 0x45, 0xc2, 0x0a, 0x3d, 0x94, 0xc8,
  1871  	0x82, 0x64, 0xeb, 0xe4, 0x82, 0x81, 0xc0, 0x47, 0x0a, 0x36, 0x08, 0xb0, 0x00, 0x68, 0x5b, 0x39,
  1872  	0x75, 0xa6, 0xa7, 0x7e, 0x83, 0x4e, 0xdb, 0xe9, 0x21, 0x97, 0xcc, 0xf4, 0x03, 0xf4, 0xd0, 0x7b,
  1873  	0xaf, 0x3d, 0xf4, 0xdc, 0x63, 0x67, 0xda, 0x6f, 0xd0, 0x6b, 0xf7, 0xbd, 0x07, 0x80, 0x00, 0x09,
  1874  	0xc5, 0x6a, 0x66, 0x52, 0x47, 0x17, 0xf1, 0xed, 0xfe, 0x76, 0xb1, 0x6f, 0xdf, 0xef, 0xed, 0x2e,
  1875  	0x00, 0x37, 0xa7, 0xb6, 0x3d, 0x35, 0xe9, 0xfe, 0xdc, 0xb1, 0x3d, 0xfb, 0x74, 0x31, 0xd9, 0x1f,
  1876  	0x53, 0x57, 0x77, 0x8c, 0xb9, 0x67, 0x3b, 0x0d, 0x2e, 0x23, 0x55, 0x81, 0x68, 0x04, 0x88, 0xfa,
  1877  	0x31, 0x6c, 0x3d, 0x32, 0x4c, 0xda, 0x0e, 0x81, 0x03, 0xea, 0x91, 0x87, 0x90, 0x9d, 0xa0, 0xb0,
  1878  	0x96, 0xba, 0x99, 0xb9, 0x57, 0x7a, 0x70, 0xbb, 0xb1, 0x62, 0xd4, 0x88, 0x5b, 0xf4, 0x99, 0x58,
  1879  	0xe1, 0x16, 0xf5, 0x7f, 0x66, 0x61, 0x3b, 0x41, 0x4b, 0x08, 0x64, 0x2d, 0x6d, 0xc6, 0x3c, 0xa6,
  1880  	0xee, 0x15, 0x15, 0xfe, 0x9b, 0xd4, 0x60, 0x63, 0xae, 0xe9, 0xcf, 0xb4, 0x29, 0xad, 0xa5, 0xb9,
  1881  	0x38, 0x58, 0x92, 0xb7, 0x00, 0xc6, 0x74, 0x4e, 0xad, 0x31, 0xb5, 0xf4, 0xf3, 0x5a, 0x06, 0xa3,
  1882  	0x28, 0x2a, 0x11, 0x09, 0x79, 0x0f, 0xb6, 0xe6, 0x8b, 0x53, 0xd3, 0xd0, 0xd5, 0x08, 0x0c, 0x10,
  1883  	0x96, 0x53, 0x24, 0xa1, 0x68, 0x2f, 0xc1, 0x77, 0xa1, 0xfa, 0x82, 0x6a, 0xcf, 0xa2, 0xd0, 0x12,
  1884  	0x87, 0x56, 0x98, 0x38, 0x02, 0x6c, 0x41, 0x79, 0x46, 0x5d, 0x17, 0x03, 0x50, 0xbd, 0xf3, 0x39,
  1885  	0xad, 0x65, 0xf9, 0xee, 0x6f, 0xae, 0xed, 0x7e, 0x75, 0xe7, 0x25, 0xdf, 0x6a, 0x88, 0x46, 0xa4,
  1886  	0x09, 0x45, 0x6a, 0x2d, 0x66, 0xc2, 0x43, 0xee, 0x82, 0xfc, 0xc9, 0x88, 0x58, 0xf5, 0x52, 0x60,
  1887  	0x66, 0xbe, 0x8b, 0x0d, 0x97, 0x3a, 0xcf, 0x0d, 0x9d, 0xd6, 0xf2, 0xdc, 0xc1, 0xdd, 0x35, 0x07,
  1888  	0x03, 0xa1, 0x5f, 0xf5, 0x11, 0xd8, 0xe1, 0x56, 0x8a, 0xf4, 0xa5, 0x47, 0x2d, 0xd7, 0xb0, 0xad,
  1889  	0xda, 0x06, 0x77, 0x72, 0x27, 0xe1, 0x14, 0xa9, 0x39, 0x5e, 0x75, 0xb1, 0xb4, 0x23, 0x1f, 0xc2,
  1890  	0x86, 0x3d, 0xf7, 0xf0, 0x97, 0x5b, 0x2b, 0xe0, 0xf9, 0x94, 0x1e, 0x5c, 0x4f, 0x24, 0x42, 0x4f,
  1891  	0x60, 0x94, 0x00, 0x4c, 0x3a, 0x20, 0xb9, 0xf6, 0xc2, 0xd1, 0xa9, 0xaa, 0xdb, 0x63, 0xaa, 0x1a,
  1892  	0xd6, 0xc4, 0xae, 0x15, 0xb9, 0x83, 0xbd, 0xf5, 0x8d, 0x70, 0x60, 0x0b, 0x71, 0x1d, 0x84, 0x29,
  1893  	0x15, 0x37, 0xb6, 0x26, 0x57, 0x20, 0xef, 0x9e, 0x5b, 0x9e, 0xf6, 0xb2, 0x56, 0xe6, 0x0c, 0xf1,
  1894  	0x57, 0xf5, 0xff, 0xe4, 0xa0, 0x7a, 0x19, 0x8a, 0x7d, 0x0c, 0xb9, 0x09, 0xdb, 0x25, 0x12, 0xec,
  1895  	0x7f, 0xc8, 0x81, 0xb0, 0x89, 0x27, 0x31, 0xff, 0x0d, 0x93, 0xd8, 0x84, 0x92, 0x45, 0x5d, 0x8f,
  1896  	0x8e, 0x05, 0x23, 0x32, 0x97, 0xe4, 0x14, 0x08, 0xa3, 0x75, 0x4a, 0x65, 0xbf, 0x11, 0xa5, 0x9e,
  1897  	0x40, 0x35, 0x0c, 0x49, 0x75, 0x34, 0x6b, 0x1a, 0x70, 0x73, 0xff, 0x55, 0x91, 0x34, 0xe4, 0xc0,
  1898  	0x4e, 0x61, 0x66, 0x4a, 0x85, 0xc6, 0xd6, 0xa4, 0x0d, 0x60, 0x5b, 0xd4, 0x9e, 0xe0, 0xf5, 0xd2,
  1899  	0x4d, 0xe4, 0x49, 0x72, 0x96, 0x7a, 0x0c, 0xb2, 0x96, 0x25, 0x5b, 0x48, 0x75, 0x93, 0xfc, 0x78,
  1900  	0x49, 0xb5, 0x8d, 0x0b, 0x98, 0x72, 0x2c, 0x2e, 0xd9, 0x1a, 0xdb, 0x46, 0x50, 0x71, 0x28, 0xe3,
  1901  	0x3d, 0xa6, 0x58, 0xec, 0xac, 0xc8, 0x83, 0x68, 0xbc, 0x72, 0x67, 0x8a, 0x6f, 0x26, 0x36, 0xb6,
  1902  	0xe9, 0x44, 0x97, 0xe4, 0x6d, 0x08, 0x05, 0x2a, 0xa7, 0x15, 0xf0, 0x2a, 0x54, 0x0e, 0x84, 0x27,
  1903  	0x28, 0xdb, 0x7d, 0x08, 0x95, 0x78, 0x7a, 0xc8, 0x0e, 0xe4, 0x5c, 0x4f, 0x73, 0x3c, 0xce, 0xc2,
  1904  	0x9c, 0x22, 0x16, 0x44, 0x82, 0x0c, 0x16, 0x19, 0x5e, 0xe5, 0x72, 0x0a, 0xfb, 0xb9, 0xfb, 0x11,
  1905  	0x6c, 0xc6, 0x1e, 0x7f, 0x59, 0xc3, 0xfa, 0x6f, 0xf3, 0xb0, 0x93, 0xc4, 0xb9, 0x44, 0xfa, 0xe3,
  1906  	0xf5, 0x41, 0x06, 0x9c, 0x52, 0x07, 0x79, 0xc7, 0x3c, 0xf8, 0x2b, 0x64, 0x54, 0xce, 0xd4, 0x4e,
  1907  	0xa9, 0x89, 0x6c, 0x4a, 0xdd, 0xab, 0x3c, 0x78, 0xef, 0x52, 0xac, 0x6e, 0x74, 0x99, 0x89, 0x22,
  1908  	0x2c, 0xc9, 0x27, 0x90, 0xf5, 0x4b, 0x1c, 0xf3, 0x70, 0xff, 0x72, 0x1e, 0x18, 0x17, 0x15, 0x6e,
  1909  	0x47, 0xde, 0x84, 0x22, 0xfb, 0x2f, 0x72, 0x9b, 0xe7, 0x31, 0x17, 0x98, 0x80, 0xe5, 0x95, 0xec,
  1910  	0x42, 0x81, 0xd3, 0x6c, 0x4c, 0x83, 0xd6, 0x10, 0xae, 0xd9, 0xc1, 0x8c, 0xe9, 0x44, 0x5b, 0x98,
  1911  	0x9e, 0xfa, 0x5c, 0x33, 0x17, 0x94, 0x13, 0x06, 0x0f, 0xc6, 0x17, 0xfe, 0x9c, 0xc9, 0xc8, 0x1e,
  1912  	0x94, 0x04, 0x2b, 0x0d, 0xb4, 0x79, 0xc9, 0xab, 0x4f, 0x4e, 0x11, 0x44, 0xed, 0x30, 0x09, 0x7b,
  1913  	0xfc, 0x53, 0x17, 0xef, 0x82, 0x7f, 0xb4, 0xfc, 0x11, 0x4c, 0xc0, 0x1f, 0xff, 0xd1, 0x6a, 0xe1,
  1914  	0xbb, 0x91, 0xbc, 0xbd, 0x55, 0x2e, 0xd6, 0xff, 0x9c, 0x86, 0x2c, 0xbf, 0x6f, 0x55, 0x28, 0x0d,
  1915  	0x3f, 0xeb, 0xcb, 0x6a, 0xbb, 0x37, 0x3a, 0xec, 0xca, 0x52, 0x8a, 0x54, 0x00, 0xb8, 0xe0, 0x51,
  1916  	0xb7, 0xd7, 0x1c, 0x4a, 0xe9, 0x70, 0xdd, 0x39, 0x19, 0x7e, 0xf8, 0x23, 0x29, 0x13, 0x1a, 0x8c,
  1917  	0x84, 0x20, 0x1b, 0x05, 0xfc, 0xf0, 0x81, 0x94, 0x43, 0x26, 0x94, 0x85, 0x83, 0xce, 0x13, 0xb9,
  1918  	0x8d, 0x88, 0x7c, 0x5c, 0x82, 0x98, 0x0d, 0xb2, 0x09, 0x45, 0x2e, 0x39, 0xec, 0xf5, 0xba, 0x52,
  1919  	0x21, 0xf4, 0x39, 0x18, 0x2a, 0x9d, 0x93, 0x23, 0xa9, 0x18, 0xfa, 0x3c, 0x52, 0x7a, 0xa3, 0xbe,
  1920  	0x04, 0xa1, 0x87, 0x63, 0x79, 0x30, 0x68, 0x1e, 0xc9, 0x52, 0x29, 0x44, 0x1c, 0x7e, 0x36, 0x94,
  1921  	0x07, 0x52, 0x39, 0x16, 0x16, 0x3e, 0x62, 0x33, 0x7c, 0x84, 0x7c, 0x32, 0x3a, 0x96, 0x2a, 0x64,
  1922  	0x0b, 0x36, 0xc5, 0x23, 0x82, 0x20, 0xaa, 0x2b, 0x22, 0x8c, 0x54, 0x5a, 0x06, 0x22, 0xbc, 0x6c,
  1923  	0xc5, 0x04, 0x88, 0x20, 0xf5, 0x16, 0xe4, 0x38, 0xbb, 0x90, 0xc5, 0x95, 0x6e, 0xf3, 0x50, 0xee,
  1924  	0xaa, 0xbd, 0xfe, 0xb0, 0xd3, 0x3b, 0x69, 0x76, 0x31, 0x77, 0xa1, 0x4c, 0x91, 0x7f, 0x36, 0xea,
  1925  	0x28, 0x72, 0x1b, 0xf3, 0x17, 0x91, 0xf5, 0xe5, 0xe6, 0x10, 0x65, 0x99, 0xfa, 0x7d, 0xd8, 0x49,
  1926  	0xaa, 0x33, 0x49, 0x37, 0xa3, 0xfe, 0x65, 0x0a, 0xb6, 0x13, 0x4a, 0x66, 0xe2, 0x2d, 0xfa, 0x29,
  1927  	0xe4, 0x04, 0xd3, 0x44, 0x13, 0x79, 0x37, 0xb1, 0xf6, 0x72, 0xde, 0xad, 0x35, 0x12, 0x6e, 0x17,
  1928  	0x6d, 0xa4, 0x99, 0x0b, 0x1a, 0x29, 0x73, 0xb1, 0x46, 0xa7, 0x5f, 0xa7, 0xa0, 0x76, 0x91, 0xef,
  1929  	0x57, 0xdc, 0xf7, 0x74, 0xec, 0xbe, 0x7f, 0xbc, 0x1a, 0xc0, 0xad, 0x8b, 0xf7, 0xb0, 0x16, 0xc5,
  1930  	0x57, 0x29, 0xb8, 0x92, 0x3c, 0x6f, 0x24, 0xc6, 0xf0, 0x09, 0xe4, 0x67, 0xd4, 0x3b, 0xb3, 0x83,
  1931  	0x9e, 0xfb, 0x4e, 0x42, 0x25, 0x67, 0xea, 0xd5, 0x5c, 0xf9, 0x56, 0xd1, 0x56, 0x90, 0xb9, 0x68,
  1932  	0x68, 0x10, 0xd1, 0xac, 0x45, 0xfa, 0x9b, 0x34, 0xbc, 0x91, 0xe8, 0x3c, 0x31, 0xd0, 0x1b, 0x00,
  1933  	0x86, 0x35, 0x5f, 0x78, 0xa2, 0xaf, 0x8a, 0x32, 0x53, 0xe4, 0x12, 0x7e, 0x85, 0x59, 0x09, 0x59,
  1934  	0x78, 0xa1, 0x3e, 0xc3, 0xf5, 0x20, 0x44, 0x1c, 0xf0, 0x70, 0x19, 0x68, 0x96, 0x07, 0xfa, 0xd6,
  1935  	0x05, 0x3b, 0x5d, 0x6b, 0x59, 0xef, 0x83, 0xa4, 0x9b, 0x06, 0xb5, 0x3c, 0xd5, 0xf5, 0x1c, 0xaa,
  1936  	0xcd, 0x0c, 0x6b, 0xca, 0xeb, 0x68, 0xe1, 0x20, 0x37, 0xd1, 0x4c, 0x97, 0x2a, 0x55, 0xa1, 0x1e,
  1937  	0x04, 0x5a, 0x66, 0xc1, 0x9b, 0x85, 0x13, 0xb1, 0xc8, 0xc7, 0x2c, 0x84, 0x3a, 0xb4, 0xa8, 0xff,
  1938  	0x7d, 0x03, 0x4a, 0x91, 0xe9, 0x8c, 0xdc, 0x82, 0xf2, 0x53, 0xed, 0xb9, 0xa6, 0x06, 0x13, 0xb7,
  1939  	0xc8, 0x44, 0x89, 0xc9, 0xfa, 0xfe, 0xd4, 0xfd, 0x3e, 0xec, 0x70, 0x08, 0xee, 0x11, 0x1f, 0xa4,
  1940  	0x9b, 0x9a, 0xeb, 0xf2, 0xa4, 0x15, 0x38, 0x94, 0x30, 0x5d, 0x8f, 0xa9, 0x5a, 0x81, 0x86, 0x7c,
  1941  	0x00, 0xdb, 0xdc, 0x62, 0x86, 0x85, 0xd7, 0x98, 0x9b, 0x54, 0x65, 0xef, 0x00, 0x2e, 0xaf, 0xa7,
  1942  	0x61, 0x64, 0x5b, 0x0c, 0x71, 0xec, 0x03, 0x58, 0x44, 0x2e, 0x39, 0x82, 0x1b, 0xdc, 0x6c, 0x4a,
  1943  	0x2d, 0xea, 0x68, 0x1e, 0x55, 0xe9, 0x2f, 0x17, 0x88, 0x55, 0x35, 0x6b, 0xac, 0x9e, 0x69, 0xee,
  1944  	0x59, 0x6d, 0x27, 0xea, 0xe0, 0x1a, 0xc3, 0x1e, 0xf9, 0x50, 0x99, 0x23, 0x9b, 0xd6, 0xf8, 0x53,
  1945  	0xc4, 0x91, 0x03, 0xb8, 0xc2, 0x1d, 0x61, 0x52, 0x70, 0xcf, 0xaa, 0x7e, 0x46, 0xf5, 0x67, 0xea,
  1946  	0xc2, 0x9b, 0x3c, 0xac, 0xbd, 0x19, 0xf5, 0xc0, 0x83, 0x1c, 0x70, 0x4c, 0x8b, 0x41, 0x46, 0x88,
  1947  	0x20, 0x03, 0x28, 0xb3, 0xf3, 0x98, 0x19, 0x5f, 0x60, 0xd8, 0xb6, 0xc3, 0x7b, 0x44, 0x25, 0xe1,
  1948  	0x72, 0x47, 0x92, 0xd8, 0xe8, 0xf9, 0x06, 0xc7, 0x38, 0x9f, 0x1e, 0xe4, 0x06, 0x7d, 0x59, 0x6e,
  1949  	0x2b, 0xa5, 0xc0, 0xcb, 0x23, 0xdb, 0x61, 0x9c, 0x9a, 0xda, 0x61, 0x8e, 0x4b, 0x82, 0x53, 0x53,
  1950  	0x3b, 0xc8, 0x30, 0xe6, 0x4b, 0xd7, 0xc5, 0xb6, 0xf1, 0xdd, 0xc5, 0x1f, 0xd6, 0xdd, 0x9a, 0x14,
  1951  	0xcb, 0x97, 0xae, 0x1f, 0x09, 0x80, 0x4f, 0x73, 0x17, 0xaf, 0xc4, 0x1b, 0xcb, 0x7c, 0x45, 0x0d,
  1952  	0xb7, 0xd6, 0x76, 0xb9, 0x6a, 0x8a, 0x4f, 0x9c, 0x9f, 0xaf, 0x1b, 0x92, 0xd8, 0x13, 0xe7, 0xe7,
  1953  	0xab, 0x66, 0x77, 0xf8, 0x0b, 0x98, 0x43, 0x75, 0x4c, 0xf9, 0xb8, 0x76, 0x35, 0x8a, 0x8e, 0x28,
  1954  	0xc8, 0x3e, 0x12, 0x59, 0x57, 0xa9, 0xa5, 0x9d, 0xe2, 0xd9, 0x6b, 0x0e, 0xfe, 0x70, 0x6b, 0x7b,
  1955  	0x51, 0x70, 0x45, 0xd7, 0x65, 0xae, 0x6d, 0x72, 0x25, 0xb9, 0x0f, 0x5b, 0xf6, 0xe9, 0x53, 0x5d,
  1956  	0x90, 0x4b, 0x45, 0x3f, 0x13, 0xe3, 0x65, 0xed, 0x36, 0x4f, 0x53, 0x95, 0x29, 0x38, 0xb5, 0xfa,
  1957  	0x5c, 0x4c, 0xde, 0x45, 0xe7, 0xee, 0x99, 0xe6, 0xcc, 0x79, 0x93, 0x76, 0x31, 0xa9, 0xb4, 0x76,
  1958  	0x47, 0x40, 0x85, 0xfc, 0x24, 0x10, 0x13, 0x19, 0xf6, 0xd8, 0xe6, 0x2d, 0xcd, 0xb2, 0xd5, 0x85,
  1959  	0x4b, 0xd5, 0x65, 0x88, 0xe1, 0x59, 0xbc, 0xc3, 0xc2, 0x52, 0xae, 0x07, 0xb0, 0x91, 0x8b, 0xc5,
  1960  	0x2c, 0x00, 0x05, 0xc7, 0xf3, 0x04, 0x76, 0x16, 0x96, 0x61, 0x21, 0xc5, 0x51, 0xc3, 0x8c, 0xc5,
  1961  	0x85, 0xad, 0xfd, 0x6b, 0xe3, 0x82, 0xa1, 0x7b, 0x14, 0x45, 0x0b, 0x92, 0x28, 0xdb, 0x8b, 0x75,
  1962  	0x61, 0xfd, 0x00, 0xca, 0x51, 0xee, 0x90, 0x22, 0x08, 0xf6, 0x60, 0x77, 0xc3, 0x8e, 0xda, 0xea,
  1963  	0xb5, 0x59, 0x2f, 0xfc, 0x5c, 0xc6, 0xc6, 0x86, 0x3d, 0xb9, 0xdb, 0x19, 0xca, 0xaa, 0x32, 0x3a,
  1964  	0x19, 0x76, 0x8e, 0x65, 0x29, 0x73, 0xbf, 0x58, 0xf8, 0xf7, 0x86, 0xf4, 0x2b, 0xfc, 0x4b, 0xd7,
  1965  	0xff, 0x9a, 0x86, 0x4a, 0x7c, 0x0e, 0x26, 0x3f, 0x81, 0xab, 0xc1, 0x4b, 0xab, 0x4b, 0x3d, 0xf5,
  1966  	0x85, 0xe1, 0x70, 0x3a, 0xcf, 0x34, 0x31, 0x49, 0x86, 0x27, 0xb1, 0xe3, 0xa3, 0xf0, 0xf5, 0xfe,
  1967  	0x17, 0x88, 0x79, 0xc4, 0x21, 0xa4, 0x0b, 0x7b, 0x98, 0x32, 0x9c, 0x35, 0xad, 0xb1, 0xe6, 0x8c,
  1968  	0xd5, 0xe5, 0xe7, 0x02, 0x55, 0xd3, 0x91, 0x07, 0xae, 0x2d, 0x3a, 0x49, 0xe8, 0xe5, 0xba, 0x65,
  1969  	0x0f, 0x7c, 0xf0, 0xb2, 0xc4, 0x36, 0x7d, 0xe8, 0x0a, 0x6b, 0x32, 0x17, 0xb1, 0x06, 0x67, 0xaf,
  1970  	0x99, 0x36, 0x47, 0xda, 0x78, 0xce, 0x39, 0x9f, 0xde, 0x0a, 0x4a, 0x01, 0x05, 0x32, 0x5b, 0x7f,
  1971  	0x7b, 0x67, 0x10, 0xcd, 0xe3, 0x3f, 0x32, 0x50, 0x8e, 0x4e, 0x70, 0x6c, 0x20, 0xd6, 0x79, 0x99,
  1972  	0x4f, 0xf1, 0x2a, 0xf0, 0xf6, 0xd7, 0xce, 0x7b, 0x8d, 0x16, 0xab, 0xff, 0x07, 0x79, 0x31, 0x57,
  1973  	0x29, 0xc2, 0x92, 0xf5, 0x5e, 0xc6, 0x35, 0x2a, 0xa6, 0xf5, 0x82, 0xe2, 0xaf, 0xb0, 0xd8, 0xe5,
  1974  	0x9f, 0xba, 0xdc, 0x77, 0x9e, 0xfb, 0xbe, 0xfd, 0xf5, 0xbe, 0x1f, 0x0f, 0xb8, 0xf3, 0xe2, 0xe3,
  1975  	0x81, 0x7a, 0xd2, 0x53, 0x8e, 0x9b, 0x5d, 0xc5, 0x37, 0x27, 0xd7, 0x20, 0x6b, 0x6a, 0x5f, 0x9c,
  1976  	0xc7, 0x3b, 0x05, 0x17, 0x5d, 0x36, 0xf1, 0xe8, 0x81, 0x7d, 0xf2, 0x88, 0xd7, 0x67, 0x2e, 0xfa,
  1977  	0x16, 0xa9, 0xbf, 0x0f, 0x39, 0x9e, 0x2f, 0x02, 0xe0, 0x67, 0x4c, 0xfa, 0x1e, 0x29, 0x40, 0xb6,
  1978  	0xd5, 0x53, 0x18, 0xfd, 0x91, 0xef, 0x42, 0xaa, 0xf6, 0x3b, 0x72, 0x0b, 0x6f, 0x40, 0xfd, 0x03,
  1979  	0xc8, 0x8b, 0x24, 0xb0, 0xab, 0x11, 0xa6, 0x01, 0x8d, 0xc4, 0xd2, 0xf7, 0x91, 0x0a, 0xb4, 0xa3,
  1980  	0xe3, 0x43, 0x59, 0x91, 0xd2, 0xd1, 0xe3, 0xfd, 0x4b, 0x0a, 0x4a, 0x91, 0x81, 0x8a, 0xb5, 0x72,
  1981  	0xcd, 0x34, 0xed, 0x17, 0xaa, 0x66, 0x1a, 0x58, 0xa1, 0xc4, 0xf9, 0x00, 0x17, 0x35, 0x99, 0xe4,
  1982  	0xb2, 0xf9, 0xfb, 0xbf, 0x70, 0xf3, 0x8f, 0x29, 0x90, 0x56, 0x87, 0xb1, 0x95, 0x00, 0x53, 0xaf,
  1983  	0x35, 0xc0, 0x3f, 0xa4, 0xa0, 0x12, 0x9f, 0xc0, 0x56, 0xc2, 0xbb, 0xf5, 0x5a, 0xc3, 0xfb, 0x7d,
  1984  	0x0a, 0x36, 0x63, 0x73, 0xd7, 0x77, 0x2a, 0xba, 0xdf, 0x65, 0x60, 0x3b, 0xc1, 0x0e, 0x0b, 0x90,
  1985  	0x18, 0x50, 0xc5, 0xcc, 0xfc, 0x83, 0xcb, 0x3c, 0xab, 0xc1, 0xfa, 0x5f, 0x5f, 0x73, 0x3c, 0x7f,
  1986  	0x9e, 0xc5, 0x7e, 0x69, 0x8c, 0xb1, 0xa8, 0x1a, 0x13, 0x03, 0xc7, 0x37, 0xf1, 0xc6, 0x22, 0xa6,
  1987  	0xd6, 0xea, 0x52, 0x2e, 0x5e, 0x8f, 0xbf, 0x0f, 0x64, 0x6e, 0xbb, 0x86, 0x67, 0x3c, 0x67, 0x9f,
  1988  	0xe7, 0x82, 0x17, 0x69, 0x36, 0xc5, 0x66, 0x15, 0x29, 0xd0, 0x74, 0x2c, 0x2f, 0x44, 0x5b, 0x74,
  1989  	0xaa, 0xad, 0xa0, 0x59, 0x19, 0xca, 0x28, 0x52, 0xa0, 0x09, 0xd1, 0x38, 0x68, 0x8e, 0xed, 0x05,
  1990  	0x1b, 0x08, 0x04, 0x8e, 0x55, 0xbd, 0x94, 0x52, 0x12, 0xb2, 0x10, 0xe2, 0x4f, 0x6c, 0xcb, 0x37,
  1991  	0xf8, 0xb2, 0x52, 0x12, 0x32, 0x01, 0xb9, 0x0b, 0x55, 0x6d, 0x3a, 0x75, 0x98, 0xf3, 0xc0, 0x91,
  1992  	0x18, 0x43, 0x2b, 0xa1, 0x98, 0x03, 0x77, 0x1f, 0x43, 0x21, 0xc8, 0x03, 0x6b, 0x2c, 0x2c, 0x13,
  1993  	0xd8, 0xf3, 0xf9, 0x77, 0x94, 0x34, 0x7b, 0xa9, 0xb7, 0x02, 0x25, 0x3e, 0xd4, 0x70, 0xd5, 0xe5,
  1994  	0x07, 0xbd, 0x34, 0xea, 0x0b, 0x4a, 0xc9, 0x70, 0xc3, 0x2f, 0x38, 0xf5, 0xaf, 0xb0, 0xbd, 0xc6,
  1995  	0x3f, 0x48, 0x92, 0x36, 0x14, 0x4c, 0x1b, 0xf9, 0xc1, 0x2c, 0xc4, 0xd7, 0xf0, 0x7b, 0xaf, 0xf8,
  1996  	0x86, 0xd9, 0xe8, 0xfa, 0x78, 0x25, 0xb4, 0xdc, 0xfd, 0x5b, 0x0a, 0x0a, 0x81, 0x18, 0x1b, 0x45,
  1997  	0x76, 0xae, 0x79, 0x67, 0xdc, 0x5d, 0xee, 0x30, 0x2d, 0xa5, 0x14, 0xbe, 0x66, 0x72, 0x9c, 0x66,
  1998  	0x2c, 0x4e, 0x01, 0x5f, 0xce, 0xd6, 0xec, 0x5c, 0x4d, 0xaa, 0x8d, 0xf9, 0x80, 0x6b, 0xcf, 0x66,
  1999  	0x78, 0x92, 0x6e, 0x70, 0xae, 0xbe, 0xbc, 0xe5, 0x8b, 0xd9, 0x77, 0x71, 0xcf, 0xd1, 0x0c, 0x33,
  2000  	0x86, 0xcd, 0x72, 0xac, 0x14, 0x28, 0x42, 0xf0, 0x01, 0x5c, 0x0b, 0xfc, 0x8e, 0xa9, 0xa7, 0xe1,
  2001  	0xf0, 0x3c, 0x5e, 0x1a, 0xe5, 0xf9, 0xd7, 0xae, 0xab, 0x3e, 0xa0, 0xed, 0xeb, 0x03, 0xdb, 0xc3,
  2002  	0x27, 0x38, 0xc8, 0xda, 0xb3, 0xd5, 0x4c, 0x1c, 0x4a, 0x2b, 0xef, 0x5d, 0xee, 0xa7, 0xa9, 0xcf,
  2003  	0x61, 0x39, 0x54, 0x7c, 0x99, 0xce, 0x1c, 0xf5, 0x0f, 0xff, 0x94, 0xde, 0x3d, 0x12, 0x76, 0xfd,
  2004  	0x20, 0x83, 0x0a, 0x9d, 0x98, 0x54, 0x67, 0xd9, 0xf9, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xc3,
  2005  	0xe8, 0xdf, 0x9c, 0xc3, 0x18, 0x00, 0x00,
  2006  }