github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/pingcap/tipb/src/schema.rs (about)

     1  // This file is generated. Do not edit
     2  // @generated
     3  
     4  #![allow(dead_code)]
     5  #![allow(non_camel_case_types)]
     6  #![allow(non_snake_case)]
     7  #![allow(non_upper_case_globals)]
     8  #![allow(unused_imports)]
     9  
    10  use protobuf::Message as Message_imported_for_functions;
    11  use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
    12  
    13  #[derive(Clone,Default)]
    14  pub struct TableInfo {
    15      // message fields
    16      table_id: ::std::option::Option<i64>,
    17      columns: ::protobuf::RepeatedField<ColumnInfo>,
    18      // special fields
    19      unknown_fields: ::protobuf::UnknownFields,
    20      cached_size: ::std::cell::Cell<u32>,
    21  }
    22  
    23  // see codegen.rs for the explanation why impl Sync explicitly
    24  unsafe impl ::std::marker::Sync for TableInfo {}
    25  
    26  impl TableInfo {
    27      pub fn new() -> TableInfo {
    28          ::std::default::Default::default()
    29      }
    30  
    31      pub fn default_instance() -> &'static TableInfo {
    32          static mut instance: ::protobuf::lazy::Lazy<TableInfo> = ::protobuf::lazy::Lazy {
    33              lock: ::protobuf::lazy::ONCE_INIT,
    34              ptr: 0 as *const TableInfo,
    35          };
    36          unsafe {
    37              instance.get(|| {
    38                  TableInfo {
    39                      table_id: ::std::option::Option::None,
    40                      columns: ::protobuf::RepeatedField::new(),
    41                      unknown_fields: ::protobuf::UnknownFields::new(),
    42                      cached_size: ::std::cell::Cell::new(0),
    43                  }
    44              })
    45          }
    46      }
    47  
    48      // optional int64 table_id = 1;
    49  
    50      pub fn clear_table_id(&mut self) {
    51          self.table_id = ::std::option::Option::None;
    52      }
    53  
    54      pub fn has_table_id(&self) -> bool {
    55          self.table_id.is_some()
    56      }
    57  
    58      // Param is passed by value, moved
    59      pub fn set_table_id(&mut self, v: i64) {
    60          self.table_id = ::std::option::Option::Some(v);
    61      }
    62  
    63      pub fn get_table_id<'a>(&self) -> i64 {
    64          self.table_id.unwrap_or(0)
    65      }
    66  
    67      // repeated .tipb.ColumnInfo columns = 2;
    68  
    69      pub fn clear_columns(&mut self) {
    70          self.columns.clear();
    71      }
    72  
    73      // Param is passed by value, moved
    74      pub fn set_columns(&mut self, v: ::protobuf::RepeatedField<ColumnInfo>) {
    75          self.columns = v;
    76      }
    77  
    78      // Mutable pointer to the field.
    79      pub fn mut_columns<'a>(&'a mut self) -> &'a mut ::protobuf::RepeatedField<ColumnInfo> {
    80          &mut self.columns
    81      }
    82  
    83      // Take field
    84      pub fn take_columns(&mut self) -> ::protobuf::RepeatedField<ColumnInfo> {
    85          ::std::mem::replace(&mut self.columns, ::protobuf::RepeatedField::new())
    86      }
    87  
    88      pub fn get_columns<'a>(&'a self) -> &'a [ColumnInfo] {
    89          &self.columns
    90      }
    91  }
    92  
    93  impl ::protobuf::Message for TableInfo {
    94      fn is_initialized(&self) -> bool {
    95          true
    96      }
    97  
    98      fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
    99          while !try!(is.eof()) {
   100              let (field_number, wire_type) = try!(is.read_tag_unpack());
   101              match field_number {
   102                  1 => {
   103                      if wire_type != ::protobuf::wire_format::WireTypeVarint {
   104                          return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
   105                      };
   106                      let tmp = try!(is.read_int64());
   107                      self.table_id = ::std::option::Option::Some(tmp);
   108                  },
   109                  2 => {
   110                      try!(::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.columns));
   111                  },
   112                  _ => {
   113                      try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields()));
   114                  },
   115              };
   116          }
   117          ::std::result::Result::Ok(())
   118      }
   119  
   120      // Compute sizes of nested messages
   121      #[allow(unused_variables)]
   122      fn compute_size(&self) -> u32 {
   123          let mut my_size = 0;
   124          for value in self.table_id.iter() {
   125              my_size += ::protobuf::rt::value_size(1, *value, ::protobuf::wire_format::WireTypeVarint);
   126          };
   127          for value in self.columns.iter() {
   128              let len = value.compute_size();
   129              my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
   130          };
   131          my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
   132          self.cached_size.set(my_size);
   133          my_size
   134      }
   135  
   136      fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
   137          if let Some(v) = self.table_id {
   138              try!(os.write_int64(1, v));
   139          };
   140          for v in self.columns.iter() {
   141              try!(os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited));
   142              try!(os.write_raw_varint32(v.get_cached_size()));
   143              try!(v.write_to_with_cached_sizes(os));
   144          };
   145          try!(os.write_unknown_fields(self.get_unknown_fields()));
   146          ::std::result::Result::Ok(())
   147      }
   148  
   149      fn get_cached_size(&self) -> u32 {
   150          self.cached_size.get()
   151      }
   152  
   153      fn get_unknown_fields<'s>(&'s self) -> &'s ::protobuf::UnknownFields {
   154          &self.unknown_fields
   155      }
   156  
   157      fn mut_unknown_fields<'s>(&'s mut self) -> &'s mut ::protobuf::UnknownFields {
   158          &mut self.unknown_fields
   159      }
   160  
   161      fn type_id(&self) -> ::std::any::TypeId {
   162          ::std::any::TypeId::of::<TableInfo>()
   163      }
   164  
   165      fn as_any(&self) -> &::std::any::Any {
   166          self as &::std::any::Any
   167      }
   168  
   169      fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
   170          ::protobuf::MessageStatic::descriptor_static(None::<Self>)
   171      }
   172  }
   173  
   174  impl ::protobuf::MessageStatic for TableInfo {
   175      fn new() -> TableInfo {
   176          TableInfo::new()
   177      }
   178  
   179      fn descriptor_static(_: ::std::option::Option<TableInfo>) -> &'static ::protobuf::reflect::MessageDescriptor {
   180          static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
   181              lock: ::protobuf::lazy::ONCE_INIT,
   182              ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
   183          };
   184          unsafe {
   185              descriptor.get(|| {
   186                  let mut fields = ::std::vec::Vec::new();
   187                  fields.push(::protobuf::reflect::accessor::make_singular_i64_accessor(
   188                      "table_id",
   189                      TableInfo::has_table_id,
   190                      TableInfo::get_table_id,
   191                  ));
   192                  fields.push(::protobuf::reflect::accessor::make_repeated_message_accessor(
   193                      "columns",
   194                      TableInfo::get_columns,
   195                  ));
   196                  ::protobuf::reflect::MessageDescriptor::new::<TableInfo>(
   197                      "TableInfo",
   198                      fields,
   199                      file_descriptor_proto()
   200                  )
   201              })
   202          }
   203      }
   204  }
   205  
   206  impl ::protobuf::Clear for TableInfo {
   207      fn clear(&mut self) {
   208          self.clear_table_id();
   209          self.clear_columns();
   210          self.unknown_fields.clear();
   211      }
   212  }
   213  
   214  impl ::std::cmp::PartialEq for TableInfo {
   215      fn eq(&self, other: &TableInfo) -> bool {
   216          self.table_id == other.table_id &&
   217          self.columns == other.columns &&
   218          self.unknown_fields == other.unknown_fields
   219      }
   220  }
   221  
   222  impl ::std::fmt::Debug for TableInfo {
   223      fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
   224          ::protobuf::text_format::fmt(self, f)
   225      }
   226  }
   227  
   228  #[derive(Clone,Default)]
   229  pub struct ColumnInfo {
   230      // message fields
   231      column_id: ::std::option::Option<i64>,
   232      tp: ::std::option::Option<i32>,
   233      collation: ::std::option::Option<i32>,
   234      columnLen: ::std::option::Option<i32>,
   235      decimal: ::std::option::Option<i32>,
   236      flag: ::std::option::Option<i32>,
   237      elems: ::protobuf::RepeatedField<::std::string::String>,
   238      pk_handle: ::std::option::Option<bool>,
   239      // special fields
   240      unknown_fields: ::protobuf::UnknownFields,
   241      cached_size: ::std::cell::Cell<u32>,
   242  }
   243  
   244  // see codegen.rs for the explanation why impl Sync explicitly
   245  unsafe impl ::std::marker::Sync for ColumnInfo {}
   246  
   247  impl ColumnInfo {
   248      pub fn new() -> ColumnInfo {
   249          ::std::default::Default::default()
   250      }
   251  
   252      pub fn default_instance() -> &'static ColumnInfo {
   253          static mut instance: ::protobuf::lazy::Lazy<ColumnInfo> = ::protobuf::lazy::Lazy {
   254              lock: ::protobuf::lazy::ONCE_INIT,
   255              ptr: 0 as *const ColumnInfo,
   256          };
   257          unsafe {
   258              instance.get(|| {
   259                  ColumnInfo {
   260                      column_id: ::std::option::Option::None,
   261                      tp: ::std::option::Option::None,
   262                      collation: ::std::option::Option::None,
   263                      columnLen: ::std::option::Option::None,
   264                      decimal: ::std::option::Option::None,
   265                      flag: ::std::option::Option::None,
   266                      elems: ::protobuf::RepeatedField::new(),
   267                      pk_handle: ::std::option::Option::None,
   268                      unknown_fields: ::protobuf::UnknownFields::new(),
   269                      cached_size: ::std::cell::Cell::new(0),
   270                  }
   271              })
   272          }
   273      }
   274  
   275      // optional int64 column_id = 1;
   276  
   277      pub fn clear_column_id(&mut self) {
   278          self.column_id = ::std::option::Option::None;
   279      }
   280  
   281      pub fn has_column_id(&self) -> bool {
   282          self.column_id.is_some()
   283      }
   284  
   285      // Param is passed by value, moved
   286      pub fn set_column_id(&mut self, v: i64) {
   287          self.column_id = ::std::option::Option::Some(v);
   288      }
   289  
   290      pub fn get_column_id<'a>(&self) -> i64 {
   291          self.column_id.unwrap_or(0)
   292      }
   293  
   294      // optional int32 tp = 2;
   295  
   296      pub fn clear_tp(&mut self) {
   297          self.tp = ::std::option::Option::None;
   298      }
   299  
   300      pub fn has_tp(&self) -> bool {
   301          self.tp.is_some()
   302      }
   303  
   304      // Param is passed by value, moved
   305      pub fn set_tp(&mut self, v: i32) {
   306          self.tp = ::std::option::Option::Some(v);
   307      }
   308  
   309      pub fn get_tp<'a>(&self) -> i32 {
   310          self.tp.unwrap_or(0)
   311      }
   312  
   313      // optional int32 collation = 3;
   314  
   315      pub fn clear_collation(&mut self) {
   316          self.collation = ::std::option::Option::None;
   317      }
   318  
   319      pub fn has_collation(&self) -> bool {
   320          self.collation.is_some()
   321      }
   322  
   323      // Param is passed by value, moved
   324      pub fn set_collation(&mut self, v: i32) {
   325          self.collation = ::std::option::Option::Some(v);
   326      }
   327  
   328      pub fn get_collation<'a>(&self) -> i32 {
   329          self.collation.unwrap_or(0)
   330      }
   331  
   332      // optional int32 columnLen = 4;
   333  
   334      pub fn clear_columnLen(&mut self) {
   335          self.columnLen = ::std::option::Option::None;
   336      }
   337  
   338      pub fn has_columnLen(&self) -> bool {
   339          self.columnLen.is_some()
   340      }
   341  
   342      // Param is passed by value, moved
   343      pub fn set_columnLen(&mut self, v: i32) {
   344          self.columnLen = ::std::option::Option::Some(v);
   345      }
   346  
   347      pub fn get_columnLen<'a>(&self) -> i32 {
   348          self.columnLen.unwrap_or(0)
   349      }
   350  
   351      // optional int32 decimal = 5;
   352  
   353      pub fn clear_decimal(&mut self) {
   354          self.decimal = ::std::option::Option::None;
   355      }
   356  
   357      pub fn has_decimal(&self) -> bool {
   358          self.decimal.is_some()
   359      }
   360  
   361      // Param is passed by value, moved
   362      pub fn set_decimal(&mut self, v: i32) {
   363          self.decimal = ::std::option::Option::Some(v);
   364      }
   365  
   366      pub fn get_decimal<'a>(&self) -> i32 {
   367          self.decimal.unwrap_or(0)
   368      }
   369  
   370      // optional int32 flag = 6;
   371  
   372      pub fn clear_flag(&mut self) {
   373          self.flag = ::std::option::Option::None;
   374      }
   375  
   376      pub fn has_flag(&self) -> bool {
   377          self.flag.is_some()
   378      }
   379  
   380      // Param is passed by value, moved
   381      pub fn set_flag(&mut self, v: i32) {
   382          self.flag = ::std::option::Option::Some(v);
   383      }
   384  
   385      pub fn get_flag<'a>(&self) -> i32 {
   386          self.flag.unwrap_or(0)
   387      }
   388  
   389      // repeated string elems = 7;
   390  
   391      pub fn clear_elems(&mut self) {
   392          self.elems.clear();
   393      }
   394  
   395      // Param is passed by value, moved
   396      pub fn set_elems(&mut self, v: ::protobuf::RepeatedField<::std::string::String>) {
   397          self.elems = v;
   398      }
   399  
   400      // Mutable pointer to the field.
   401      pub fn mut_elems<'a>(&'a mut self) -> &'a mut ::protobuf::RepeatedField<::std::string::String> {
   402          &mut self.elems
   403      }
   404  
   405      // Take field
   406      pub fn take_elems(&mut self) -> ::protobuf::RepeatedField<::std::string::String> {
   407          ::std::mem::replace(&mut self.elems, ::protobuf::RepeatedField::new())
   408      }
   409  
   410      pub fn get_elems<'a>(&'a self) -> &'a [::std::string::String] {
   411          &self.elems
   412      }
   413  
   414      // optional bool pk_handle = 21;
   415  
   416      pub fn clear_pk_handle(&mut self) {
   417          self.pk_handle = ::std::option::Option::None;
   418      }
   419  
   420      pub fn has_pk_handle(&self) -> bool {
   421          self.pk_handle.is_some()
   422      }
   423  
   424      // Param is passed by value, moved
   425      pub fn set_pk_handle(&mut self, v: bool) {
   426          self.pk_handle = ::std::option::Option::Some(v);
   427      }
   428  
   429      pub fn get_pk_handle<'a>(&self) -> bool {
   430          self.pk_handle.unwrap_or(false)
   431      }
   432  }
   433  
   434  impl ::protobuf::Message for ColumnInfo {
   435      fn is_initialized(&self) -> bool {
   436          true
   437      }
   438  
   439      fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
   440          while !try!(is.eof()) {
   441              let (field_number, wire_type) = try!(is.read_tag_unpack());
   442              match field_number {
   443                  1 => {
   444                      if wire_type != ::protobuf::wire_format::WireTypeVarint {
   445                          return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
   446                      };
   447                      let tmp = try!(is.read_int64());
   448                      self.column_id = ::std::option::Option::Some(tmp);
   449                  },
   450                  2 => {
   451                      if wire_type != ::protobuf::wire_format::WireTypeVarint {
   452                          return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
   453                      };
   454                      let tmp = try!(is.read_int32());
   455                      self.tp = ::std::option::Option::Some(tmp);
   456                  },
   457                  3 => {
   458                      if wire_type != ::protobuf::wire_format::WireTypeVarint {
   459                          return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
   460                      };
   461                      let tmp = try!(is.read_int32());
   462                      self.collation = ::std::option::Option::Some(tmp);
   463                  },
   464                  4 => {
   465                      if wire_type != ::protobuf::wire_format::WireTypeVarint {
   466                          return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
   467                      };
   468                      let tmp = try!(is.read_int32());
   469                      self.columnLen = ::std::option::Option::Some(tmp);
   470                  },
   471                  5 => {
   472                      if wire_type != ::protobuf::wire_format::WireTypeVarint {
   473                          return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
   474                      };
   475                      let tmp = try!(is.read_int32());
   476                      self.decimal = ::std::option::Option::Some(tmp);
   477                  },
   478                  6 => {
   479                      if wire_type != ::protobuf::wire_format::WireTypeVarint {
   480                          return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
   481                      };
   482                      let tmp = try!(is.read_int32());
   483                      self.flag = ::std::option::Option::Some(tmp);
   484                  },
   485                  7 => {
   486                      try!(::protobuf::rt::read_repeated_string_into(wire_type, is, &mut self.elems));
   487                  },
   488                  21 => {
   489                      if wire_type != ::protobuf::wire_format::WireTypeVarint {
   490                          return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
   491                      };
   492                      let tmp = try!(is.read_bool());
   493                      self.pk_handle = ::std::option::Option::Some(tmp);
   494                  },
   495                  _ => {
   496                      try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields()));
   497                  },
   498              };
   499          }
   500          ::std::result::Result::Ok(())
   501      }
   502  
   503      // Compute sizes of nested messages
   504      #[allow(unused_variables)]
   505      fn compute_size(&self) -> u32 {
   506          let mut my_size = 0;
   507          for value in self.column_id.iter() {
   508              my_size += ::protobuf::rt::value_size(1, *value, ::protobuf::wire_format::WireTypeVarint);
   509          };
   510          for value in self.tp.iter() {
   511              my_size += ::protobuf::rt::value_size(2, *value, ::protobuf::wire_format::WireTypeVarint);
   512          };
   513          for value in self.collation.iter() {
   514              my_size += ::protobuf::rt::value_size(3, *value, ::protobuf::wire_format::WireTypeVarint);
   515          };
   516          for value in self.columnLen.iter() {
   517              my_size += ::protobuf::rt::value_size(4, *value, ::protobuf::wire_format::WireTypeVarint);
   518          };
   519          for value in self.decimal.iter() {
   520              my_size += ::protobuf::rt::value_size(5, *value, ::protobuf::wire_format::WireTypeVarint);
   521          };
   522          for value in self.flag.iter() {
   523              my_size += ::protobuf::rt::value_size(6, *value, ::protobuf::wire_format::WireTypeVarint);
   524          };
   525          for value in self.elems.iter() {
   526              my_size += ::protobuf::rt::string_size(7, &value);
   527          };
   528          if self.pk_handle.is_some() {
   529              my_size += 3;
   530          };
   531          my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
   532          self.cached_size.set(my_size);
   533          my_size
   534      }
   535  
   536      fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
   537          if let Some(v) = self.column_id {
   538              try!(os.write_int64(1, v));
   539          };
   540          if let Some(v) = self.tp {
   541              try!(os.write_int32(2, v));
   542          };
   543          if let Some(v) = self.collation {
   544              try!(os.write_int32(3, v));
   545          };
   546          if let Some(v) = self.columnLen {
   547              try!(os.write_int32(4, v));
   548          };
   549          if let Some(v) = self.decimal {
   550              try!(os.write_int32(5, v));
   551          };
   552          if let Some(v) = self.flag {
   553              try!(os.write_int32(6, v));
   554          };
   555          for v in self.elems.iter() {
   556              try!(os.write_string(7, &v));
   557          };
   558          if let Some(v) = self.pk_handle {
   559              try!(os.write_bool(21, v));
   560          };
   561          try!(os.write_unknown_fields(self.get_unknown_fields()));
   562          ::std::result::Result::Ok(())
   563      }
   564  
   565      fn get_cached_size(&self) -> u32 {
   566          self.cached_size.get()
   567      }
   568  
   569      fn get_unknown_fields<'s>(&'s self) -> &'s ::protobuf::UnknownFields {
   570          &self.unknown_fields
   571      }
   572  
   573      fn mut_unknown_fields<'s>(&'s mut self) -> &'s mut ::protobuf::UnknownFields {
   574          &mut self.unknown_fields
   575      }
   576  
   577      fn type_id(&self) -> ::std::any::TypeId {
   578          ::std::any::TypeId::of::<ColumnInfo>()
   579      }
   580  
   581      fn as_any(&self) -> &::std::any::Any {
   582          self as &::std::any::Any
   583      }
   584  
   585      fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
   586          ::protobuf::MessageStatic::descriptor_static(None::<Self>)
   587      }
   588  }
   589  
   590  impl ::protobuf::MessageStatic for ColumnInfo {
   591      fn new() -> ColumnInfo {
   592          ColumnInfo::new()
   593      }
   594  
   595      fn descriptor_static(_: ::std::option::Option<ColumnInfo>) -> &'static ::protobuf::reflect::MessageDescriptor {
   596          static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
   597              lock: ::protobuf::lazy::ONCE_INIT,
   598              ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
   599          };
   600          unsafe {
   601              descriptor.get(|| {
   602                  let mut fields = ::std::vec::Vec::new();
   603                  fields.push(::protobuf::reflect::accessor::make_singular_i64_accessor(
   604                      "column_id",
   605                      ColumnInfo::has_column_id,
   606                      ColumnInfo::get_column_id,
   607                  ));
   608                  fields.push(::protobuf::reflect::accessor::make_singular_i32_accessor(
   609                      "tp",
   610                      ColumnInfo::has_tp,
   611                      ColumnInfo::get_tp,
   612                  ));
   613                  fields.push(::protobuf::reflect::accessor::make_singular_i32_accessor(
   614                      "collation",
   615                      ColumnInfo::has_collation,
   616                      ColumnInfo::get_collation,
   617                  ));
   618                  fields.push(::protobuf::reflect::accessor::make_singular_i32_accessor(
   619                      "columnLen",
   620                      ColumnInfo::has_columnLen,
   621                      ColumnInfo::get_columnLen,
   622                  ));
   623                  fields.push(::protobuf::reflect::accessor::make_singular_i32_accessor(
   624                      "decimal",
   625                      ColumnInfo::has_decimal,
   626                      ColumnInfo::get_decimal,
   627                  ));
   628                  fields.push(::protobuf::reflect::accessor::make_singular_i32_accessor(
   629                      "flag",
   630                      ColumnInfo::has_flag,
   631                      ColumnInfo::get_flag,
   632                  ));
   633                  fields.push(::protobuf::reflect::accessor::make_repeated_string_accessor(
   634                      "elems",
   635                      ColumnInfo::get_elems,
   636                  ));
   637                  fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
   638                      "pk_handle",
   639                      ColumnInfo::has_pk_handle,
   640                      ColumnInfo::get_pk_handle,
   641                  ));
   642                  ::protobuf::reflect::MessageDescriptor::new::<ColumnInfo>(
   643                      "ColumnInfo",
   644                      fields,
   645                      file_descriptor_proto()
   646                  )
   647              })
   648          }
   649      }
   650  }
   651  
   652  impl ::protobuf::Clear for ColumnInfo {
   653      fn clear(&mut self) {
   654          self.clear_column_id();
   655          self.clear_tp();
   656          self.clear_collation();
   657          self.clear_columnLen();
   658          self.clear_decimal();
   659          self.clear_flag();
   660          self.clear_elems();
   661          self.clear_pk_handle();
   662          self.unknown_fields.clear();
   663      }
   664  }
   665  
   666  impl ::std::cmp::PartialEq for ColumnInfo {
   667      fn eq(&self, other: &ColumnInfo) -> bool {
   668          self.column_id == other.column_id &&
   669          self.tp == other.tp &&
   670          self.collation == other.collation &&
   671          self.columnLen == other.columnLen &&
   672          self.decimal == other.decimal &&
   673          self.flag == other.flag &&
   674          self.elems == other.elems &&
   675          self.pk_handle == other.pk_handle &&
   676          self.unknown_fields == other.unknown_fields
   677      }
   678  }
   679  
   680  impl ::std::fmt::Debug for ColumnInfo {
   681      fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
   682          ::protobuf::text_format::fmt(self, f)
   683      }
   684  }
   685  
   686  #[derive(Clone,Default)]
   687  pub struct IndexInfo {
   688      // message fields
   689      table_id: ::std::option::Option<i64>,
   690      index_id: ::std::option::Option<i64>,
   691      columns: ::protobuf::RepeatedField<ColumnInfo>,
   692      unique: ::std::option::Option<bool>,
   693      // special fields
   694      unknown_fields: ::protobuf::UnknownFields,
   695      cached_size: ::std::cell::Cell<u32>,
   696  }
   697  
   698  // see codegen.rs for the explanation why impl Sync explicitly
   699  unsafe impl ::std::marker::Sync for IndexInfo {}
   700  
   701  impl IndexInfo {
   702      pub fn new() -> IndexInfo {
   703          ::std::default::Default::default()
   704      }
   705  
   706      pub fn default_instance() -> &'static IndexInfo {
   707          static mut instance: ::protobuf::lazy::Lazy<IndexInfo> = ::protobuf::lazy::Lazy {
   708              lock: ::protobuf::lazy::ONCE_INIT,
   709              ptr: 0 as *const IndexInfo,
   710          };
   711          unsafe {
   712              instance.get(|| {
   713                  IndexInfo {
   714                      table_id: ::std::option::Option::None,
   715                      index_id: ::std::option::Option::None,
   716                      columns: ::protobuf::RepeatedField::new(),
   717                      unique: ::std::option::Option::None,
   718                      unknown_fields: ::protobuf::UnknownFields::new(),
   719                      cached_size: ::std::cell::Cell::new(0),
   720                  }
   721              })
   722          }
   723      }
   724  
   725      // optional int64 table_id = 1;
   726  
   727      pub fn clear_table_id(&mut self) {
   728          self.table_id = ::std::option::Option::None;
   729      }
   730  
   731      pub fn has_table_id(&self) -> bool {
   732          self.table_id.is_some()
   733      }
   734  
   735      // Param is passed by value, moved
   736      pub fn set_table_id(&mut self, v: i64) {
   737          self.table_id = ::std::option::Option::Some(v);
   738      }
   739  
   740      pub fn get_table_id<'a>(&self) -> i64 {
   741          self.table_id.unwrap_or(0)
   742      }
   743  
   744      // optional int64 index_id = 2;
   745  
   746      pub fn clear_index_id(&mut self) {
   747          self.index_id = ::std::option::Option::None;
   748      }
   749  
   750      pub fn has_index_id(&self) -> bool {
   751          self.index_id.is_some()
   752      }
   753  
   754      // Param is passed by value, moved
   755      pub fn set_index_id(&mut self, v: i64) {
   756          self.index_id = ::std::option::Option::Some(v);
   757      }
   758  
   759      pub fn get_index_id<'a>(&self) -> i64 {
   760          self.index_id.unwrap_or(0)
   761      }
   762  
   763      // repeated .tipb.ColumnInfo columns = 3;
   764  
   765      pub fn clear_columns(&mut self) {
   766          self.columns.clear();
   767      }
   768  
   769      // Param is passed by value, moved
   770      pub fn set_columns(&mut self, v: ::protobuf::RepeatedField<ColumnInfo>) {
   771          self.columns = v;
   772      }
   773  
   774      // Mutable pointer to the field.
   775      pub fn mut_columns<'a>(&'a mut self) -> &'a mut ::protobuf::RepeatedField<ColumnInfo> {
   776          &mut self.columns
   777      }
   778  
   779      // Take field
   780      pub fn take_columns(&mut self) -> ::protobuf::RepeatedField<ColumnInfo> {
   781          ::std::mem::replace(&mut self.columns, ::protobuf::RepeatedField::new())
   782      }
   783  
   784      pub fn get_columns<'a>(&'a self) -> &'a [ColumnInfo] {
   785          &self.columns
   786      }
   787  
   788      // optional bool unique = 4;
   789  
   790      pub fn clear_unique(&mut self) {
   791          self.unique = ::std::option::Option::None;
   792      }
   793  
   794      pub fn has_unique(&self) -> bool {
   795          self.unique.is_some()
   796      }
   797  
   798      // Param is passed by value, moved
   799      pub fn set_unique(&mut self, v: bool) {
   800          self.unique = ::std::option::Option::Some(v);
   801      }
   802  
   803      pub fn get_unique<'a>(&self) -> bool {
   804          self.unique.unwrap_or(false)
   805      }
   806  }
   807  
   808  impl ::protobuf::Message for IndexInfo {
   809      fn is_initialized(&self) -> bool {
   810          true
   811      }
   812  
   813      fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream) -> ::protobuf::ProtobufResult<()> {
   814          while !try!(is.eof()) {
   815              let (field_number, wire_type) = try!(is.read_tag_unpack());
   816              match field_number {
   817                  1 => {
   818                      if wire_type != ::protobuf::wire_format::WireTypeVarint {
   819                          return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
   820                      };
   821                      let tmp = try!(is.read_int64());
   822                      self.table_id = ::std::option::Option::Some(tmp);
   823                  },
   824                  2 => {
   825                      if wire_type != ::protobuf::wire_format::WireTypeVarint {
   826                          return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
   827                      };
   828                      let tmp = try!(is.read_int64());
   829                      self.index_id = ::std::option::Option::Some(tmp);
   830                  },
   831                  3 => {
   832                      try!(::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.columns));
   833                  },
   834                  4 => {
   835                      if wire_type != ::protobuf::wire_format::WireTypeVarint {
   836                          return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
   837                      };
   838                      let tmp = try!(is.read_bool());
   839                      self.unique = ::std::option::Option::Some(tmp);
   840                  },
   841                  _ => {
   842                      try!(::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields()));
   843                  },
   844              };
   845          }
   846          ::std::result::Result::Ok(())
   847      }
   848  
   849      // Compute sizes of nested messages
   850      #[allow(unused_variables)]
   851      fn compute_size(&self) -> u32 {
   852          let mut my_size = 0;
   853          for value in self.table_id.iter() {
   854              my_size += ::protobuf::rt::value_size(1, *value, ::protobuf::wire_format::WireTypeVarint);
   855          };
   856          for value in self.index_id.iter() {
   857              my_size += ::protobuf::rt::value_size(2, *value, ::protobuf::wire_format::WireTypeVarint);
   858          };
   859          for value in self.columns.iter() {
   860              let len = value.compute_size();
   861              my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
   862          };
   863          if self.unique.is_some() {
   864              my_size += 2;
   865          };
   866          my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
   867          self.cached_size.set(my_size);
   868          my_size
   869      }
   870  
   871      fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream) -> ::protobuf::ProtobufResult<()> {
   872          if let Some(v) = self.table_id {
   873              try!(os.write_int64(1, v));
   874          };
   875          if let Some(v) = self.index_id {
   876              try!(os.write_int64(2, v));
   877          };
   878          for v in self.columns.iter() {
   879              try!(os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited));
   880              try!(os.write_raw_varint32(v.get_cached_size()));
   881              try!(v.write_to_with_cached_sizes(os));
   882          };
   883          if let Some(v) = self.unique {
   884              try!(os.write_bool(4, v));
   885          };
   886          try!(os.write_unknown_fields(self.get_unknown_fields()));
   887          ::std::result::Result::Ok(())
   888      }
   889  
   890      fn get_cached_size(&self) -> u32 {
   891          self.cached_size.get()
   892      }
   893  
   894      fn get_unknown_fields<'s>(&'s self) -> &'s ::protobuf::UnknownFields {
   895          &self.unknown_fields
   896      }
   897  
   898      fn mut_unknown_fields<'s>(&'s mut self) -> &'s mut ::protobuf::UnknownFields {
   899          &mut self.unknown_fields
   900      }
   901  
   902      fn type_id(&self) -> ::std::any::TypeId {
   903          ::std::any::TypeId::of::<IndexInfo>()
   904      }
   905  
   906      fn as_any(&self) -> &::std::any::Any {
   907          self as &::std::any::Any
   908      }
   909  
   910      fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
   911          ::protobuf::MessageStatic::descriptor_static(None::<Self>)
   912      }
   913  }
   914  
   915  impl ::protobuf::MessageStatic for IndexInfo {
   916      fn new() -> IndexInfo {
   917          IndexInfo::new()
   918      }
   919  
   920      fn descriptor_static(_: ::std::option::Option<IndexInfo>) -> &'static ::protobuf::reflect::MessageDescriptor {
   921          static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy {
   922              lock: ::protobuf::lazy::ONCE_INIT,
   923              ptr: 0 as *const ::protobuf::reflect::MessageDescriptor,
   924          };
   925          unsafe {
   926              descriptor.get(|| {
   927                  let mut fields = ::std::vec::Vec::new();
   928                  fields.push(::protobuf::reflect::accessor::make_singular_i64_accessor(
   929                      "table_id",
   930                      IndexInfo::has_table_id,
   931                      IndexInfo::get_table_id,
   932                  ));
   933                  fields.push(::protobuf::reflect::accessor::make_singular_i64_accessor(
   934                      "index_id",
   935                      IndexInfo::has_index_id,
   936                      IndexInfo::get_index_id,
   937                  ));
   938                  fields.push(::protobuf::reflect::accessor::make_repeated_message_accessor(
   939                      "columns",
   940                      IndexInfo::get_columns,
   941                  ));
   942                  fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor(
   943                      "unique",
   944                      IndexInfo::has_unique,
   945                      IndexInfo::get_unique,
   946                  ));
   947                  ::protobuf::reflect::MessageDescriptor::new::<IndexInfo>(
   948                      "IndexInfo",
   949                      fields,
   950                      file_descriptor_proto()
   951                  )
   952              })
   953          }
   954      }
   955  }
   956  
   957  impl ::protobuf::Clear for IndexInfo {
   958      fn clear(&mut self) {
   959          self.clear_table_id();
   960          self.clear_index_id();
   961          self.clear_columns();
   962          self.clear_unique();
   963          self.unknown_fields.clear();
   964      }
   965  }
   966  
   967  impl ::std::cmp::PartialEq for IndexInfo {
   968      fn eq(&self, other: &IndexInfo) -> bool {
   969          self.table_id == other.table_id &&
   970          self.index_id == other.index_id &&
   971          self.columns == other.columns &&
   972          self.unique == other.unique &&
   973          self.unknown_fields == other.unknown_fields
   974      }
   975  }
   976  
   977  impl ::std::fmt::Debug for IndexInfo {
   978      fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
   979          ::protobuf::text_format::fmt(self, f)
   980      }
   981  }
   982  
   983  static file_descriptor_proto_data: &'static [u8] = &[
   984      0x0a, 0x0c, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x04,
   985      0x74, 0x69, 0x70, 0x62, 0x22, 0x40, 0x0a, 0x09, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x66,
   986      0x6f, 0x12, 0x10, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
   987      0x01, 0x28, 0x03, 0x12, 0x21, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02,
   988      0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x74, 0x69, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6c, 0x75,
   989      0x6d, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x92, 0x01, 0x0a, 0x0a, 0x43, 0x6f, 0x6c, 0x75, 0x6d,
   990      0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x11, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f,
   991      0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x12, 0x0a, 0x0a, 0x02, 0x74, 0x70, 0x18, 0x02,
   992      0x20, 0x01, 0x28, 0x05, 0x12, 0x11, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f,
   993      0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x12, 0x11, 0x0a, 0x09, 0x63, 0x6f, 0x6c, 0x75, 0x6d,
   994      0x6e, 0x4c, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0f, 0x0a, 0x07, 0x64, 0x65,
   995      0x63, 0x69, 0x6d, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0c, 0x0a, 0x04, 0x66,
   996      0x6c, 0x61, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x12, 0x0d, 0x0a, 0x05, 0x65, 0x6c, 0x65,
   997      0x6d, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x12, 0x11, 0x0a, 0x09, 0x70, 0x6b, 0x5f, 0x68,
   998      0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x22, 0x62, 0x0a, 0x09, 0x49,
   999      0x6e, 0x64, 0x65, 0x78, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c,
  1000      0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x12, 0x10, 0x0a, 0x08, 0x69, 0x6e,
  1001      0x64, 0x65, 0x78, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x12, 0x21, 0x0a, 0x07,
  1002      0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e,
  1003      0x74, 0x69, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12,
  1004      0x0e, 0x0a, 0x06, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42,
  1005      0x19, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x70, 0x69, 0x6e, 0x67, 0x63, 0x61, 0x70, 0x2e, 0x74,
  1006      0x69, 0x64, 0x62, 0x2e, 0x74, 0x69, 0x70, 0x62, 0x50, 0x01, 0x4a, 0xfc, 0x09, 0x0a, 0x06, 0x12,
  1007      0x04, 0x00, 0x00, 0x1c, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x08, 0x0c, 0x0a,
  1008      0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x04, 0x00, 0x22, 0x0a, 0x0b, 0x0a, 0x04, 0x08, 0xe7, 0x07,
  1009      0x00, 0x12, 0x03, 0x04, 0x00, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x08, 0xe7, 0x07, 0x00, 0x02, 0x12,
  1010      0x03, 0x04, 0x07, 0x1a, 0x0a, 0x0d, 0x0a, 0x06, 0x08, 0xe7, 0x07, 0x00, 0x02, 0x00, 0x12, 0x03,
  1011      0x04, 0x07, 0x1a, 0x0a, 0x0e, 0x0a, 0x07, 0x08, 0xe7, 0x07, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03,
  1012      0x04, 0x07, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x08, 0xe7, 0x07, 0x00, 0x03, 0x12, 0x03, 0x04, 0x1d,
  1013      0x21, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x05, 0x00, 0x2e, 0x0a, 0x0b, 0x0a, 0x04, 0x08,
  1014      0xe7, 0x07, 0x01, 0x12, 0x03, 0x05, 0x00, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x08, 0xe7, 0x07, 0x01,
  1015      0x02, 0x12, 0x03, 0x05, 0x07, 0x13, 0x0a, 0x0d, 0x0a, 0x06, 0x08, 0xe7, 0x07, 0x01, 0x02, 0x00,
  1016      0x12, 0x03, 0x05, 0x07, 0x13, 0x0a, 0x0e, 0x0a, 0x07, 0x08, 0xe7, 0x07, 0x01, 0x02, 0x00, 0x01,
  1017      0x12, 0x03, 0x05, 0x07, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x08, 0xe7, 0x07, 0x01, 0x07, 0x12, 0x03,
  1018      0x05, 0x16, 0x2d, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x07, 0x00, 0x0a, 0x01, 0x0a,
  1019      0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x07, 0x08, 0x11, 0x0a, 0x0b, 0x0a, 0x04, 0x04,
  1020      0x00, 0x02, 0x00, 0x12, 0x03, 0x08, 0x08, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00,
  1021      0x04, 0x12, 0x03, 0x08, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12,
  1022      0x03, 0x08, 0x11, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x08,
  1023      0x17, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x08, 0x22, 0x23,
  1024      0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x09, 0x08, 0x28, 0x0a, 0x0c, 0x0a,
  1025      0x05, 0x04, 0x00, 0x02, 0x01, 0x04, 0x12, 0x03, 0x09, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
  1026      0x00, 0x02, 0x01, 0x06, 0x12, 0x03, 0x09, 0x11, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02,
  1027      0x01, 0x01, 0x12, 0x03, 0x09, 0x1c, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03,
  1028      0x12, 0x03, 0x09, 0x26, 0x27, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x0c, 0x00, 0x15,
  1029      0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x0c, 0x08, 0x12, 0x0a, 0x0b, 0x0a,
  1030      0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x0d, 0x08, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01,
  1031      0x02, 0x00, 0x04, 0x12, 0x03, 0x0d, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00,
  1032      0x05, 0x12, 0x03, 0x0d, 0x11, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12,
  1033      0x03, 0x0d, 0x17, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0d,
  1034      0x23, 0x24, 0x0a, 0x1a, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x0e, 0x08, 0x1e, 0x22,
  1035      0x0d, 0x20, 0x4d, 0x79, 0x53, 0x51, 0x4c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0c,
  1036      0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x04, 0x12, 0x03, 0x0e, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05,
  1037      0x04, 0x01, 0x02, 0x01, 0x05, 0x12, 0x03, 0x0e, 0x11, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01,
  1038      0x02, 0x01, 0x01, 0x12, 0x03, 0x0e, 0x17, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01,
  1039      0x03, 0x12, 0x03, 0x0e, 0x1c, 0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x03,
  1040      0x0f, 0x08, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x04, 0x12, 0x03, 0x0f, 0x08,
  1041      0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x05, 0x12, 0x03, 0x0f, 0x11, 0x16, 0x0a,
  1042      0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x01, 0x12, 0x03, 0x0f, 0x17, 0x20, 0x0a, 0x0c, 0x0a,
  1043      0x05, 0x04, 0x01, 0x02, 0x02, 0x03, 0x12, 0x03, 0x0f, 0x23, 0x24, 0x0a, 0x0b, 0x0a, 0x04, 0x04,
  1044      0x01, 0x02, 0x03, 0x12, 0x03, 0x10, 0x08, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03,
  1045      0x04, 0x12, 0x03, 0x10, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x05, 0x12,
  1046      0x03, 0x10, 0x11, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x01, 0x12, 0x03, 0x10,
  1047      0x17, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x03, 0x12, 0x03, 0x10, 0x23, 0x24,
  1048      0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x04, 0x12, 0x03, 0x11, 0x08, 0x23, 0x0a, 0x0c, 0x0a,
  1049      0x05, 0x04, 0x01, 0x02, 0x04, 0x04, 0x12, 0x03, 0x11, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
  1050      0x01, 0x02, 0x04, 0x05, 0x12, 0x03, 0x11, 0x11, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02,
  1051      0x04, 0x01, 0x12, 0x03, 0x11, 0x17, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x03,
  1052      0x12, 0x03, 0x11, 0x21, 0x22, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x05, 0x12, 0x03, 0x12,
  1053      0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x04, 0x12, 0x03, 0x12, 0x08, 0x10,
  1054      0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x05, 0x12, 0x03, 0x12, 0x11, 0x16, 0x0a, 0x0c,
  1055      0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x01, 0x12, 0x03, 0x12, 0x17, 0x1b, 0x0a, 0x0c, 0x0a, 0x05,
  1056      0x04, 0x01, 0x02, 0x05, 0x03, 0x12, 0x03, 0x12, 0x1e, 0x1f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01,
  1057      0x02, 0x06, 0x12, 0x03, 0x13, 0x08, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x06, 0x04,
  1058      0x12, 0x03, 0x13, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x06, 0x05, 0x12, 0x03,
  1059      0x13, 0x11, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x06, 0x01, 0x12, 0x03, 0x13, 0x18,
  1060      0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x06, 0x03, 0x12, 0x03, 0x13, 0x20, 0x21, 0x0a,
  1061      0x34, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x07, 0x12, 0x03, 0x14, 0x08, 0x25, 0x22, 0x27, 0x20, 0x50,
  1062      0x4b, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x20, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x20,
  1063      0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x6f, 0x77, 0x20, 0x68, 0x61, 0x6e,
  1064      0x64, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x04, 0x12, 0x03,
  1065      0x14, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x05, 0x12, 0x03, 0x14, 0x11,
  1066      0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x01, 0x12, 0x03, 0x14, 0x16, 0x1f, 0x0a,
  1067      0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x03, 0x12, 0x03, 0x14, 0x22, 0x24, 0x0a, 0x0a, 0x0a,
  1068      0x02, 0x04, 0x02, 0x12, 0x04, 0x17, 0x00, 0x1c, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01,
  1069      0x12, 0x03, 0x17, 0x08, 0x11, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x18,
  1070      0x08, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x04, 0x12, 0x03, 0x18, 0x08, 0x10,
  1071      0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x05, 0x12, 0x03, 0x18, 0x11, 0x16, 0x0a, 0x0c,
  1072      0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x18, 0x17, 0x1f, 0x0a, 0x0c, 0x0a, 0x05,
  1073      0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x18, 0x22, 0x23, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02,
  1074      0x02, 0x01, 0x12, 0x03, 0x19, 0x08, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x04,
  1075      0x12, 0x03, 0x19, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x05, 0x12, 0x03,
  1076      0x19, 0x11, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x03, 0x19, 0x17,
  1077      0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x19, 0x22, 0x23, 0x0a,
  1078      0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x02, 0x12, 0x03, 0x1a, 0x08, 0x28, 0x0a, 0x0c, 0x0a, 0x05,
  1079      0x04, 0x02, 0x02, 0x02, 0x04, 0x12, 0x03, 0x1a, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02,
  1080      0x02, 0x02, 0x06, 0x12, 0x03, 0x1a, 0x11, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02,
  1081      0x01, 0x12, 0x03, 0x1a, 0x1c, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x03, 0x12,
  1082      0x03, 0x1a, 0x26, 0x27, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x03, 0x1b, 0x08,
  1083      0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x04, 0x12, 0x03, 0x1b, 0x08, 0x10, 0x0a,
  1084      0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x05, 0x12, 0x03, 0x1b, 0x11, 0x15, 0x0a, 0x0c, 0x0a,
  1085      0x05, 0x04, 0x02, 0x02, 0x03, 0x01, 0x12, 0x03, 0x1b, 0x16, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04,
  1086      0x02, 0x02, 0x03, 0x03, 0x12, 0x03, 0x1b, 0x1f, 0x20,
  1087  ];
  1088  
  1089  static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy {
  1090      lock: ::protobuf::lazy::ONCE_INIT,
  1091      ptr: 0 as *const ::protobuf::descriptor::FileDescriptorProto,
  1092  };
  1093  
  1094  fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
  1095      ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
  1096  }
  1097  
  1098  pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
  1099      unsafe {
  1100          file_descriptor_proto_lazy.get(|| {
  1101              parse_descriptor_proto()
  1102          })
  1103      }
  1104  }