tensorflow_serving_client/
feature.rs

1// This file is generated by rust-protobuf 2.14.0. Do not edit
2// @generated
3
4// https://github.com/rust-lang/rust-clippy/issues/702
5#![allow(unknown_lints)]
6#![allow(clippy::all)]
7
8#![cfg_attr(rustfmt, rustfmt_skip)]
9
10#![allow(box_pointers)]
11#![allow(dead_code)]
12#![allow(missing_docs)]
13#![allow(non_camel_case_types)]
14#![allow(non_snake_case)]
15#![allow(non_upper_case_globals)]
16#![allow(trivial_casts)]
17#![allow(unsafe_code)]
18#![allow(unused_imports)]
19#![allow(unused_results)]
20//! Generated file from `tensorflow/core/example/feature.proto`
21
22use protobuf::Message as Message_imported_for_functions;
23use protobuf::ProtobufEnum as ProtobufEnum_imported_for_functions;
24
25/// Generated files are compatible only with the same version
26/// of protobuf runtime.
27// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_14_0;
28
29#[derive(PartialEq,Clone,Default)]
30pub struct BytesList {
31    // message fields
32    pub value: ::protobuf::RepeatedField<::std::vec::Vec<u8>>,
33    // special fields
34    pub unknown_fields: ::protobuf::UnknownFields,
35    pub cached_size: ::protobuf::CachedSize,
36}
37
38impl<'a> ::std::default::Default for &'a BytesList {
39    fn default() -> &'a BytesList {
40        <BytesList as ::protobuf::Message>::default_instance()
41    }
42}
43
44impl BytesList {
45    pub fn new() -> BytesList {
46        ::std::default::Default::default()
47    }
48
49    // repeated bytes value = 1;
50
51
52    pub fn get_value(&self) -> &[::std::vec::Vec<u8>] {
53        &self.value
54    }
55    pub fn clear_value(&mut self) {
56        self.value.clear();
57    }
58
59    // Param is passed by value, moved
60    pub fn set_value(&mut self, v: ::protobuf::RepeatedField<::std::vec::Vec<u8>>) {
61        self.value = v;
62    }
63
64    // Mutable pointer to the field.
65    pub fn mut_value(&mut self) -> &mut ::protobuf::RepeatedField<::std::vec::Vec<u8>> {
66        &mut self.value
67    }
68
69    // Take field
70    pub fn take_value(&mut self) -> ::protobuf::RepeatedField<::std::vec::Vec<u8>> {
71        ::std::mem::replace(&mut self.value, ::protobuf::RepeatedField::new())
72    }
73}
74
75impl ::protobuf::Message for BytesList {
76    fn is_initialized(&self) -> bool {
77        true
78    }
79
80    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
81        while !is.eof()? {
82            let (field_number, wire_type) = is.read_tag_unpack()?;
83            match field_number {
84                1 => {
85                    ::protobuf::rt::read_repeated_bytes_into(wire_type, is, &mut self.value)?;
86                },
87                _ => {
88                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
89                },
90            };
91        }
92        ::std::result::Result::Ok(())
93    }
94
95    // Compute sizes of nested messages
96    #[allow(unused_variables)]
97    fn compute_size(&self) -> u32 {
98        let mut my_size = 0;
99        for value in &self.value {
100            my_size += ::protobuf::rt::bytes_size(1, &value);
101        };
102        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
103        self.cached_size.set(my_size);
104        my_size
105    }
106
107    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
108        for v in &self.value {
109            os.write_bytes(1, &v)?;
110        };
111        os.write_unknown_fields(self.get_unknown_fields())?;
112        ::std::result::Result::Ok(())
113    }
114
115    fn get_cached_size(&self) -> u32 {
116        self.cached_size.get()
117    }
118
119    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
120        &self.unknown_fields
121    }
122
123    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
124        &mut self.unknown_fields
125    }
126
127    fn as_any(&self) -> &dyn (::std::any::Any) {
128        self as &dyn (::std::any::Any)
129    }
130    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
131        self as &mut dyn (::std::any::Any)
132    }
133    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
134        self
135    }
136
137    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
138        Self::descriptor_static()
139    }
140
141    fn new() -> BytesList {
142        BytesList::new()
143    }
144
145    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
146        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
147        unsafe {
148            descriptor.get(|| {
149                let mut fields = ::std::vec::Vec::new();
150                fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
151                    "value",
152                    |m: &BytesList| { &m.value },
153                    |m: &mut BytesList| { &mut m.value },
154                ));
155                ::protobuf::reflect::MessageDescriptor::new_pb_name::<BytesList>(
156                    "BytesList",
157                    fields,
158                    file_descriptor_proto()
159                )
160            })
161        }
162    }
163
164    fn default_instance() -> &'static BytesList {
165        static mut instance: ::protobuf::lazy::Lazy<BytesList> = ::protobuf::lazy::Lazy::INIT;
166        unsafe {
167            instance.get(BytesList::new)
168        }
169    }
170}
171
172impl ::protobuf::Clear for BytesList {
173    fn clear(&mut self) {
174        self.value.clear();
175        self.unknown_fields.clear();
176    }
177}
178
179impl ::std::fmt::Debug for BytesList {
180    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
181        ::protobuf::text_format::fmt(self, f)
182    }
183}
184
185impl ::protobuf::reflect::ProtobufValue for BytesList {
186    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
187        ::protobuf::reflect::ReflectValueRef::Message(self)
188    }
189}
190
191#[derive(PartialEq,Clone,Default)]
192pub struct FloatList {
193    // message fields
194    pub value: ::std::vec::Vec<f32>,
195    // special fields
196    pub unknown_fields: ::protobuf::UnknownFields,
197    pub cached_size: ::protobuf::CachedSize,
198}
199
200impl<'a> ::std::default::Default for &'a FloatList {
201    fn default() -> &'a FloatList {
202        <FloatList as ::protobuf::Message>::default_instance()
203    }
204}
205
206impl FloatList {
207    pub fn new() -> FloatList {
208        ::std::default::Default::default()
209    }
210
211    // repeated float value = 1;
212
213
214    pub fn get_value(&self) -> &[f32] {
215        &self.value
216    }
217    pub fn clear_value(&mut self) {
218        self.value.clear();
219    }
220
221    // Param is passed by value, moved
222    pub fn set_value(&mut self, v: ::std::vec::Vec<f32>) {
223        self.value = v;
224    }
225
226    // Mutable pointer to the field.
227    pub fn mut_value(&mut self) -> &mut ::std::vec::Vec<f32> {
228        &mut self.value
229    }
230
231    // Take field
232    pub fn take_value(&mut self) -> ::std::vec::Vec<f32> {
233        ::std::mem::replace(&mut self.value, ::std::vec::Vec::new())
234    }
235}
236
237impl ::protobuf::Message for FloatList {
238    fn is_initialized(&self) -> bool {
239        true
240    }
241
242    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
243        while !is.eof()? {
244            let (field_number, wire_type) = is.read_tag_unpack()?;
245            match field_number {
246                1 => {
247                    ::protobuf::rt::read_repeated_float_into(wire_type, is, &mut self.value)?;
248                },
249                _ => {
250                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
251                },
252            };
253        }
254        ::std::result::Result::Ok(())
255    }
256
257    // Compute sizes of nested messages
258    #[allow(unused_variables)]
259    fn compute_size(&self) -> u32 {
260        let mut my_size = 0;
261        if !self.value.is_empty() {
262            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size((self.value.len() * 4) as u32) + (self.value.len() * 4) as u32;
263        }
264        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
265        self.cached_size.set(my_size);
266        my_size
267    }
268
269    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
270        if !self.value.is_empty() {
271            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
272            // TODO: Data size is computed again, it should be cached
273            os.write_raw_varint32((self.value.len() * 4) as u32)?;
274            for v in &self.value {
275                os.write_float_no_tag(*v)?;
276            };
277        }
278        os.write_unknown_fields(self.get_unknown_fields())?;
279        ::std::result::Result::Ok(())
280    }
281
282    fn get_cached_size(&self) -> u32 {
283        self.cached_size.get()
284    }
285
286    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
287        &self.unknown_fields
288    }
289
290    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
291        &mut self.unknown_fields
292    }
293
294    fn as_any(&self) -> &dyn (::std::any::Any) {
295        self as &dyn (::std::any::Any)
296    }
297    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
298        self as &mut dyn (::std::any::Any)
299    }
300    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
301        self
302    }
303
304    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
305        Self::descriptor_static()
306    }
307
308    fn new() -> FloatList {
309        FloatList::new()
310    }
311
312    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
313        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
314        unsafe {
315            descriptor.get(|| {
316                let mut fields = ::std::vec::Vec::new();
317                fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeFloat>(
318                    "value",
319                    |m: &FloatList| { &m.value },
320                    |m: &mut FloatList| { &mut m.value },
321                ));
322                ::protobuf::reflect::MessageDescriptor::new_pb_name::<FloatList>(
323                    "FloatList",
324                    fields,
325                    file_descriptor_proto()
326                )
327            })
328        }
329    }
330
331    fn default_instance() -> &'static FloatList {
332        static mut instance: ::protobuf::lazy::Lazy<FloatList> = ::protobuf::lazy::Lazy::INIT;
333        unsafe {
334            instance.get(FloatList::new)
335        }
336    }
337}
338
339impl ::protobuf::Clear for FloatList {
340    fn clear(&mut self) {
341        self.value.clear();
342        self.unknown_fields.clear();
343    }
344}
345
346impl ::std::fmt::Debug for FloatList {
347    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
348        ::protobuf::text_format::fmt(self, f)
349    }
350}
351
352impl ::protobuf::reflect::ProtobufValue for FloatList {
353    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
354        ::protobuf::reflect::ReflectValueRef::Message(self)
355    }
356}
357
358#[derive(PartialEq,Clone,Default)]
359pub struct Int64List {
360    // message fields
361    pub value: ::std::vec::Vec<i64>,
362    // special fields
363    pub unknown_fields: ::protobuf::UnknownFields,
364    pub cached_size: ::protobuf::CachedSize,
365}
366
367impl<'a> ::std::default::Default for &'a Int64List {
368    fn default() -> &'a Int64List {
369        <Int64List as ::protobuf::Message>::default_instance()
370    }
371}
372
373impl Int64List {
374    pub fn new() -> Int64List {
375        ::std::default::Default::default()
376    }
377
378    // repeated int64 value = 1;
379
380
381    pub fn get_value(&self) -> &[i64] {
382        &self.value
383    }
384    pub fn clear_value(&mut self) {
385        self.value.clear();
386    }
387
388    // Param is passed by value, moved
389    pub fn set_value(&mut self, v: ::std::vec::Vec<i64>) {
390        self.value = v;
391    }
392
393    // Mutable pointer to the field.
394    pub fn mut_value(&mut self) -> &mut ::std::vec::Vec<i64> {
395        &mut self.value
396    }
397
398    // Take field
399    pub fn take_value(&mut self) -> ::std::vec::Vec<i64> {
400        ::std::mem::replace(&mut self.value, ::std::vec::Vec::new())
401    }
402}
403
404impl ::protobuf::Message for Int64List {
405    fn is_initialized(&self) -> bool {
406        true
407    }
408
409    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
410        while !is.eof()? {
411            let (field_number, wire_type) = is.read_tag_unpack()?;
412            match field_number {
413                1 => {
414                    ::protobuf::rt::read_repeated_int64_into(wire_type, is, &mut self.value)?;
415                },
416                _ => {
417                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
418                },
419            };
420        }
421        ::std::result::Result::Ok(())
422    }
423
424    // Compute sizes of nested messages
425    #[allow(unused_variables)]
426    fn compute_size(&self) -> u32 {
427        let mut my_size = 0;
428        if !self.value.is_empty() {
429            my_size += ::protobuf::rt::vec_packed_varint_size(1, &self.value);
430        }
431        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
432        self.cached_size.set(my_size);
433        my_size
434    }
435
436    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
437        if !self.value.is_empty() {
438            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
439            // TODO: Data size is computed again, it should be cached
440            os.write_raw_varint32(::protobuf::rt::vec_packed_varint_data_size(&self.value))?;
441            for v in &self.value {
442                os.write_int64_no_tag(*v)?;
443            };
444        }
445        os.write_unknown_fields(self.get_unknown_fields())?;
446        ::std::result::Result::Ok(())
447    }
448
449    fn get_cached_size(&self) -> u32 {
450        self.cached_size.get()
451    }
452
453    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
454        &self.unknown_fields
455    }
456
457    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
458        &mut self.unknown_fields
459    }
460
461    fn as_any(&self) -> &dyn (::std::any::Any) {
462        self as &dyn (::std::any::Any)
463    }
464    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
465        self as &mut dyn (::std::any::Any)
466    }
467    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
468        self
469    }
470
471    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
472        Self::descriptor_static()
473    }
474
475    fn new() -> Int64List {
476        Int64List::new()
477    }
478
479    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
480        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
481        unsafe {
482            descriptor.get(|| {
483                let mut fields = ::std::vec::Vec::new();
484                fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
485                    "value",
486                    |m: &Int64List| { &m.value },
487                    |m: &mut Int64List| { &mut m.value },
488                ));
489                ::protobuf::reflect::MessageDescriptor::new_pb_name::<Int64List>(
490                    "Int64List",
491                    fields,
492                    file_descriptor_proto()
493                )
494            })
495        }
496    }
497
498    fn default_instance() -> &'static Int64List {
499        static mut instance: ::protobuf::lazy::Lazy<Int64List> = ::protobuf::lazy::Lazy::INIT;
500        unsafe {
501            instance.get(Int64List::new)
502        }
503    }
504}
505
506impl ::protobuf::Clear for Int64List {
507    fn clear(&mut self) {
508        self.value.clear();
509        self.unknown_fields.clear();
510    }
511}
512
513impl ::std::fmt::Debug for Int64List {
514    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
515        ::protobuf::text_format::fmt(self, f)
516    }
517}
518
519impl ::protobuf::reflect::ProtobufValue for Int64List {
520    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
521        ::protobuf::reflect::ReflectValueRef::Message(self)
522    }
523}
524
525#[derive(PartialEq,Clone,Default)]
526pub struct Feature {
527    // message oneof groups
528    pub kind: ::std::option::Option<Feature_oneof_kind>,
529    // special fields
530    pub unknown_fields: ::protobuf::UnknownFields,
531    pub cached_size: ::protobuf::CachedSize,
532}
533
534impl<'a> ::std::default::Default for &'a Feature {
535    fn default() -> &'a Feature {
536        <Feature as ::protobuf::Message>::default_instance()
537    }
538}
539
540#[derive(Clone,PartialEq,Debug)]
541pub enum Feature_oneof_kind {
542    bytes_list(BytesList),
543    float_list(FloatList),
544    int64_list(Int64List),
545}
546
547impl Feature {
548    pub fn new() -> Feature {
549        ::std::default::Default::default()
550    }
551
552    // .tensorflow.BytesList bytes_list = 1;
553
554
555    pub fn get_bytes_list(&self) -> &BytesList {
556        match self.kind {
557            ::std::option::Option::Some(Feature_oneof_kind::bytes_list(ref v)) => v,
558            _ => BytesList::default_instance(),
559        }
560    }
561    pub fn clear_bytes_list(&mut self) {
562        self.kind = ::std::option::Option::None;
563    }
564
565    pub fn has_bytes_list(&self) -> bool {
566        match self.kind {
567            ::std::option::Option::Some(Feature_oneof_kind::bytes_list(..)) => true,
568            _ => false,
569        }
570    }
571
572    // Param is passed by value, moved
573    pub fn set_bytes_list(&mut self, v: BytesList) {
574        self.kind = ::std::option::Option::Some(Feature_oneof_kind::bytes_list(v))
575    }
576
577    // Mutable pointer to the field.
578    pub fn mut_bytes_list(&mut self) -> &mut BytesList {
579        if let ::std::option::Option::Some(Feature_oneof_kind::bytes_list(_)) = self.kind {
580        } else {
581            self.kind = ::std::option::Option::Some(Feature_oneof_kind::bytes_list(BytesList::new()));
582        }
583        match self.kind {
584            ::std::option::Option::Some(Feature_oneof_kind::bytes_list(ref mut v)) => v,
585            _ => panic!(),
586        }
587    }
588
589    // Take field
590    pub fn take_bytes_list(&mut self) -> BytesList {
591        if self.has_bytes_list() {
592            match self.kind.take() {
593                ::std::option::Option::Some(Feature_oneof_kind::bytes_list(v)) => v,
594                _ => panic!(),
595            }
596        } else {
597            BytesList::new()
598        }
599    }
600
601    // .tensorflow.FloatList float_list = 2;
602
603
604    pub fn get_float_list(&self) -> &FloatList {
605        match self.kind {
606            ::std::option::Option::Some(Feature_oneof_kind::float_list(ref v)) => v,
607            _ => FloatList::default_instance(),
608        }
609    }
610    pub fn clear_float_list(&mut self) {
611        self.kind = ::std::option::Option::None;
612    }
613
614    pub fn has_float_list(&self) -> bool {
615        match self.kind {
616            ::std::option::Option::Some(Feature_oneof_kind::float_list(..)) => true,
617            _ => false,
618        }
619    }
620
621    // Param is passed by value, moved
622    pub fn set_float_list(&mut self, v: FloatList) {
623        self.kind = ::std::option::Option::Some(Feature_oneof_kind::float_list(v))
624    }
625
626    // Mutable pointer to the field.
627    pub fn mut_float_list(&mut self) -> &mut FloatList {
628        if let ::std::option::Option::Some(Feature_oneof_kind::float_list(_)) = self.kind {
629        } else {
630            self.kind = ::std::option::Option::Some(Feature_oneof_kind::float_list(FloatList::new()));
631        }
632        match self.kind {
633            ::std::option::Option::Some(Feature_oneof_kind::float_list(ref mut v)) => v,
634            _ => panic!(),
635        }
636    }
637
638    // Take field
639    pub fn take_float_list(&mut self) -> FloatList {
640        if self.has_float_list() {
641            match self.kind.take() {
642                ::std::option::Option::Some(Feature_oneof_kind::float_list(v)) => v,
643                _ => panic!(),
644            }
645        } else {
646            FloatList::new()
647        }
648    }
649
650    // .tensorflow.Int64List int64_list = 3;
651
652
653    pub fn get_int64_list(&self) -> &Int64List {
654        match self.kind {
655            ::std::option::Option::Some(Feature_oneof_kind::int64_list(ref v)) => v,
656            _ => Int64List::default_instance(),
657        }
658    }
659    pub fn clear_int64_list(&mut self) {
660        self.kind = ::std::option::Option::None;
661    }
662
663    pub fn has_int64_list(&self) -> bool {
664        match self.kind {
665            ::std::option::Option::Some(Feature_oneof_kind::int64_list(..)) => true,
666            _ => false,
667        }
668    }
669
670    // Param is passed by value, moved
671    pub fn set_int64_list(&mut self, v: Int64List) {
672        self.kind = ::std::option::Option::Some(Feature_oneof_kind::int64_list(v))
673    }
674
675    // Mutable pointer to the field.
676    pub fn mut_int64_list(&mut self) -> &mut Int64List {
677        if let ::std::option::Option::Some(Feature_oneof_kind::int64_list(_)) = self.kind {
678        } else {
679            self.kind = ::std::option::Option::Some(Feature_oneof_kind::int64_list(Int64List::new()));
680        }
681        match self.kind {
682            ::std::option::Option::Some(Feature_oneof_kind::int64_list(ref mut v)) => v,
683            _ => panic!(),
684        }
685    }
686
687    // Take field
688    pub fn take_int64_list(&mut self) -> Int64List {
689        if self.has_int64_list() {
690            match self.kind.take() {
691                ::std::option::Option::Some(Feature_oneof_kind::int64_list(v)) => v,
692                _ => panic!(),
693            }
694        } else {
695            Int64List::new()
696        }
697    }
698}
699
700impl ::protobuf::Message for Feature {
701    fn is_initialized(&self) -> bool {
702        if let Some(Feature_oneof_kind::bytes_list(ref v)) = self.kind {
703            if !v.is_initialized() {
704                return false;
705            }
706        }
707        if let Some(Feature_oneof_kind::float_list(ref v)) = self.kind {
708            if !v.is_initialized() {
709                return false;
710            }
711        }
712        if let Some(Feature_oneof_kind::int64_list(ref v)) = self.kind {
713            if !v.is_initialized() {
714                return false;
715            }
716        }
717        true
718    }
719
720    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
721        while !is.eof()? {
722            let (field_number, wire_type) = is.read_tag_unpack()?;
723            match field_number {
724                1 => {
725                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
726                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
727                    }
728                    self.kind = ::std::option::Option::Some(Feature_oneof_kind::bytes_list(is.read_message()?));
729                },
730                2 => {
731                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
732                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
733                    }
734                    self.kind = ::std::option::Option::Some(Feature_oneof_kind::float_list(is.read_message()?));
735                },
736                3 => {
737                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
738                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
739                    }
740                    self.kind = ::std::option::Option::Some(Feature_oneof_kind::int64_list(is.read_message()?));
741                },
742                _ => {
743                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
744                },
745            };
746        }
747        ::std::result::Result::Ok(())
748    }
749
750    // Compute sizes of nested messages
751    #[allow(unused_variables)]
752    fn compute_size(&self) -> u32 {
753        let mut my_size = 0;
754        if let ::std::option::Option::Some(ref v) = self.kind {
755            match v {
756                &Feature_oneof_kind::bytes_list(ref v) => {
757                    let len = v.compute_size();
758                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
759                },
760                &Feature_oneof_kind::float_list(ref v) => {
761                    let len = v.compute_size();
762                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
763                },
764                &Feature_oneof_kind::int64_list(ref v) => {
765                    let len = v.compute_size();
766                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
767                },
768            };
769        }
770        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
771        self.cached_size.set(my_size);
772        my_size
773    }
774
775    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
776        if let ::std::option::Option::Some(ref v) = self.kind {
777            match v {
778                &Feature_oneof_kind::bytes_list(ref v) => {
779                    os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
780                    os.write_raw_varint32(v.get_cached_size())?;
781                    v.write_to_with_cached_sizes(os)?;
782                },
783                &Feature_oneof_kind::float_list(ref v) => {
784                    os.write_tag(2, ::protobuf::wire_format::WireTypeLengthDelimited)?;
785                    os.write_raw_varint32(v.get_cached_size())?;
786                    v.write_to_with_cached_sizes(os)?;
787                },
788                &Feature_oneof_kind::int64_list(ref v) => {
789                    os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
790                    os.write_raw_varint32(v.get_cached_size())?;
791                    v.write_to_with_cached_sizes(os)?;
792                },
793            };
794        }
795        os.write_unknown_fields(self.get_unknown_fields())?;
796        ::std::result::Result::Ok(())
797    }
798
799    fn get_cached_size(&self) -> u32 {
800        self.cached_size.get()
801    }
802
803    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
804        &self.unknown_fields
805    }
806
807    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
808        &mut self.unknown_fields
809    }
810
811    fn as_any(&self) -> &dyn (::std::any::Any) {
812        self as &dyn (::std::any::Any)
813    }
814    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
815        self as &mut dyn (::std::any::Any)
816    }
817    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
818        self
819    }
820
821    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
822        Self::descriptor_static()
823    }
824
825    fn new() -> Feature {
826        Feature::new()
827    }
828
829    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
830        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
831        unsafe {
832            descriptor.get(|| {
833                let mut fields = ::std::vec::Vec::new();
834                fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, BytesList>(
835                    "bytes_list",
836                    Feature::has_bytes_list,
837                    Feature::get_bytes_list,
838                ));
839                fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, FloatList>(
840                    "float_list",
841                    Feature::has_float_list,
842                    Feature::get_float_list,
843                ));
844                fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, Int64List>(
845                    "int64_list",
846                    Feature::has_int64_list,
847                    Feature::get_int64_list,
848                ));
849                ::protobuf::reflect::MessageDescriptor::new_pb_name::<Feature>(
850                    "Feature",
851                    fields,
852                    file_descriptor_proto()
853                )
854            })
855        }
856    }
857
858    fn default_instance() -> &'static Feature {
859        static mut instance: ::protobuf::lazy::Lazy<Feature> = ::protobuf::lazy::Lazy::INIT;
860        unsafe {
861            instance.get(Feature::new)
862        }
863    }
864}
865
866impl ::protobuf::Clear for Feature {
867    fn clear(&mut self) {
868        self.kind = ::std::option::Option::None;
869        self.kind = ::std::option::Option::None;
870        self.kind = ::std::option::Option::None;
871        self.unknown_fields.clear();
872    }
873}
874
875impl ::std::fmt::Debug for Feature {
876    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
877        ::protobuf::text_format::fmt(self, f)
878    }
879}
880
881impl ::protobuf::reflect::ProtobufValue for Feature {
882    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
883        ::protobuf::reflect::ReflectValueRef::Message(self)
884    }
885}
886
887#[derive(PartialEq,Clone,Default)]
888pub struct Features {
889    // message fields
890    pub feature: ::std::collections::HashMap<::std::string::String, Feature>,
891    // special fields
892    pub unknown_fields: ::protobuf::UnknownFields,
893    pub cached_size: ::protobuf::CachedSize,
894}
895
896impl<'a> ::std::default::Default for &'a Features {
897    fn default() -> &'a Features {
898        <Features as ::protobuf::Message>::default_instance()
899    }
900}
901
902impl Features {
903    pub fn new() -> Features {
904        ::std::default::Default::default()
905    }
906
907    // repeated .tensorflow.Features.FeatureEntry feature = 1;
908
909
910    pub fn get_feature(&self) -> &::std::collections::HashMap<::std::string::String, Feature> {
911        &self.feature
912    }
913    pub fn clear_feature(&mut self) {
914        self.feature.clear();
915    }
916
917    // Param is passed by value, moved
918    pub fn set_feature(&mut self, v: ::std::collections::HashMap<::std::string::String, Feature>) {
919        self.feature = v;
920    }
921
922    // Mutable pointer to the field.
923    pub fn mut_feature(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, Feature> {
924        &mut self.feature
925    }
926
927    // Take field
928    pub fn take_feature(&mut self) -> ::std::collections::HashMap<::std::string::String, Feature> {
929        ::std::mem::replace(&mut self.feature, ::std::collections::HashMap::new())
930    }
931}
932
933impl ::protobuf::Message for Features {
934    fn is_initialized(&self) -> bool {
935        true
936    }
937
938    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
939        while !is.eof()? {
940            let (field_number, wire_type) = is.read_tag_unpack()?;
941            match field_number {
942                1 => {
943                    ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Feature>>(wire_type, is, &mut self.feature)?;
944                },
945                _ => {
946                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
947                },
948            };
949        }
950        ::std::result::Result::Ok(())
951    }
952
953    // Compute sizes of nested messages
954    #[allow(unused_variables)]
955    fn compute_size(&self) -> u32 {
956        let mut my_size = 0;
957        my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Feature>>(1, &self.feature);
958        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
959        self.cached_size.set(my_size);
960        my_size
961    }
962
963    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
964        ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Feature>>(1, &self.feature, os)?;
965        os.write_unknown_fields(self.get_unknown_fields())?;
966        ::std::result::Result::Ok(())
967    }
968
969    fn get_cached_size(&self) -> u32 {
970        self.cached_size.get()
971    }
972
973    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
974        &self.unknown_fields
975    }
976
977    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
978        &mut self.unknown_fields
979    }
980
981    fn as_any(&self) -> &dyn (::std::any::Any) {
982        self as &dyn (::std::any::Any)
983    }
984    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
985        self as &mut dyn (::std::any::Any)
986    }
987    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
988        self
989    }
990
991    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
992        Self::descriptor_static()
993    }
994
995    fn new() -> Features {
996        Features::new()
997    }
998
999    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1000        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
1001        unsafe {
1002            descriptor.get(|| {
1003                let mut fields = ::std::vec::Vec::new();
1004                fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<Feature>>(
1005                    "feature",
1006                    |m: &Features| { &m.feature },
1007                    |m: &mut Features| { &mut m.feature },
1008                ));
1009                ::protobuf::reflect::MessageDescriptor::new_pb_name::<Features>(
1010                    "Features",
1011                    fields,
1012                    file_descriptor_proto()
1013                )
1014            })
1015        }
1016    }
1017
1018    fn default_instance() -> &'static Features {
1019        static mut instance: ::protobuf::lazy::Lazy<Features> = ::protobuf::lazy::Lazy::INIT;
1020        unsafe {
1021            instance.get(Features::new)
1022        }
1023    }
1024}
1025
1026impl ::protobuf::Clear for Features {
1027    fn clear(&mut self) {
1028        self.feature.clear();
1029        self.unknown_fields.clear();
1030    }
1031}
1032
1033impl ::std::fmt::Debug for Features {
1034    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1035        ::protobuf::text_format::fmt(self, f)
1036    }
1037}
1038
1039impl ::protobuf::reflect::ProtobufValue for Features {
1040    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1041        ::protobuf::reflect::ReflectValueRef::Message(self)
1042    }
1043}
1044
1045#[derive(PartialEq,Clone,Default)]
1046pub struct FeatureList {
1047    // message fields
1048    pub feature: ::protobuf::RepeatedField<Feature>,
1049    // special fields
1050    pub unknown_fields: ::protobuf::UnknownFields,
1051    pub cached_size: ::protobuf::CachedSize,
1052}
1053
1054impl<'a> ::std::default::Default for &'a FeatureList {
1055    fn default() -> &'a FeatureList {
1056        <FeatureList as ::protobuf::Message>::default_instance()
1057    }
1058}
1059
1060impl FeatureList {
1061    pub fn new() -> FeatureList {
1062        ::std::default::Default::default()
1063    }
1064
1065    // repeated .tensorflow.Feature feature = 1;
1066
1067
1068    pub fn get_feature(&self) -> &[Feature] {
1069        &self.feature
1070    }
1071    pub fn clear_feature(&mut self) {
1072        self.feature.clear();
1073    }
1074
1075    // Param is passed by value, moved
1076    pub fn set_feature(&mut self, v: ::protobuf::RepeatedField<Feature>) {
1077        self.feature = v;
1078    }
1079
1080    // Mutable pointer to the field.
1081    pub fn mut_feature(&mut self) -> &mut ::protobuf::RepeatedField<Feature> {
1082        &mut self.feature
1083    }
1084
1085    // Take field
1086    pub fn take_feature(&mut self) -> ::protobuf::RepeatedField<Feature> {
1087        ::std::mem::replace(&mut self.feature, ::protobuf::RepeatedField::new())
1088    }
1089}
1090
1091impl ::protobuf::Message for FeatureList {
1092    fn is_initialized(&self) -> bool {
1093        for v in &self.feature {
1094            if !v.is_initialized() {
1095                return false;
1096            }
1097        };
1098        true
1099    }
1100
1101    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1102        while !is.eof()? {
1103            let (field_number, wire_type) = is.read_tag_unpack()?;
1104            match field_number {
1105                1 => {
1106                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.feature)?;
1107                },
1108                _ => {
1109                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1110                },
1111            };
1112        }
1113        ::std::result::Result::Ok(())
1114    }
1115
1116    // Compute sizes of nested messages
1117    #[allow(unused_variables)]
1118    fn compute_size(&self) -> u32 {
1119        let mut my_size = 0;
1120        for value in &self.feature {
1121            let len = value.compute_size();
1122            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1123        };
1124        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1125        self.cached_size.set(my_size);
1126        my_size
1127    }
1128
1129    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1130        for v in &self.feature {
1131            os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1132            os.write_raw_varint32(v.get_cached_size())?;
1133            v.write_to_with_cached_sizes(os)?;
1134        };
1135        os.write_unknown_fields(self.get_unknown_fields())?;
1136        ::std::result::Result::Ok(())
1137    }
1138
1139    fn get_cached_size(&self) -> u32 {
1140        self.cached_size.get()
1141    }
1142
1143    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1144        &self.unknown_fields
1145    }
1146
1147    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1148        &mut self.unknown_fields
1149    }
1150
1151    fn as_any(&self) -> &dyn (::std::any::Any) {
1152        self as &dyn (::std::any::Any)
1153    }
1154    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1155        self as &mut dyn (::std::any::Any)
1156    }
1157    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1158        self
1159    }
1160
1161    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1162        Self::descriptor_static()
1163    }
1164
1165    fn new() -> FeatureList {
1166        FeatureList::new()
1167    }
1168
1169    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1170        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
1171        unsafe {
1172            descriptor.get(|| {
1173                let mut fields = ::std::vec::Vec::new();
1174                fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Feature>>(
1175                    "feature",
1176                    |m: &FeatureList| { &m.feature },
1177                    |m: &mut FeatureList| { &mut m.feature },
1178                ));
1179                ::protobuf::reflect::MessageDescriptor::new_pb_name::<FeatureList>(
1180                    "FeatureList",
1181                    fields,
1182                    file_descriptor_proto()
1183                )
1184            })
1185        }
1186    }
1187
1188    fn default_instance() -> &'static FeatureList {
1189        static mut instance: ::protobuf::lazy::Lazy<FeatureList> = ::protobuf::lazy::Lazy::INIT;
1190        unsafe {
1191            instance.get(FeatureList::new)
1192        }
1193    }
1194}
1195
1196impl ::protobuf::Clear for FeatureList {
1197    fn clear(&mut self) {
1198        self.feature.clear();
1199        self.unknown_fields.clear();
1200    }
1201}
1202
1203impl ::std::fmt::Debug for FeatureList {
1204    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1205        ::protobuf::text_format::fmt(self, f)
1206    }
1207}
1208
1209impl ::protobuf::reflect::ProtobufValue for FeatureList {
1210    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1211        ::protobuf::reflect::ReflectValueRef::Message(self)
1212    }
1213}
1214
1215#[derive(PartialEq,Clone,Default)]
1216pub struct FeatureLists {
1217    // message fields
1218    pub feature_list: ::std::collections::HashMap<::std::string::String, FeatureList>,
1219    // special fields
1220    pub unknown_fields: ::protobuf::UnknownFields,
1221    pub cached_size: ::protobuf::CachedSize,
1222}
1223
1224impl<'a> ::std::default::Default for &'a FeatureLists {
1225    fn default() -> &'a FeatureLists {
1226        <FeatureLists as ::protobuf::Message>::default_instance()
1227    }
1228}
1229
1230impl FeatureLists {
1231    pub fn new() -> FeatureLists {
1232        ::std::default::Default::default()
1233    }
1234
1235    // repeated .tensorflow.FeatureLists.FeatureListEntry feature_list = 1;
1236
1237
1238    pub fn get_feature_list(&self) -> &::std::collections::HashMap<::std::string::String, FeatureList> {
1239        &self.feature_list
1240    }
1241    pub fn clear_feature_list(&mut self) {
1242        self.feature_list.clear();
1243    }
1244
1245    // Param is passed by value, moved
1246    pub fn set_feature_list(&mut self, v: ::std::collections::HashMap<::std::string::String, FeatureList>) {
1247        self.feature_list = v;
1248    }
1249
1250    // Mutable pointer to the field.
1251    pub fn mut_feature_list(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, FeatureList> {
1252        &mut self.feature_list
1253    }
1254
1255    // Take field
1256    pub fn take_feature_list(&mut self) -> ::std::collections::HashMap<::std::string::String, FeatureList> {
1257        ::std::mem::replace(&mut self.feature_list, ::std::collections::HashMap::new())
1258    }
1259}
1260
1261impl ::protobuf::Message for FeatureLists {
1262    fn is_initialized(&self) -> bool {
1263        true
1264    }
1265
1266    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1267        while !is.eof()? {
1268            let (field_number, wire_type) = is.read_tag_unpack()?;
1269            match field_number {
1270                1 => {
1271                    ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<FeatureList>>(wire_type, is, &mut self.feature_list)?;
1272                },
1273                _ => {
1274                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1275                },
1276            };
1277        }
1278        ::std::result::Result::Ok(())
1279    }
1280
1281    // Compute sizes of nested messages
1282    #[allow(unused_variables)]
1283    fn compute_size(&self) -> u32 {
1284        let mut my_size = 0;
1285        my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<FeatureList>>(1, &self.feature_list);
1286        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1287        self.cached_size.set(my_size);
1288        my_size
1289    }
1290
1291    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1292        ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<FeatureList>>(1, &self.feature_list, os)?;
1293        os.write_unknown_fields(self.get_unknown_fields())?;
1294        ::std::result::Result::Ok(())
1295    }
1296
1297    fn get_cached_size(&self) -> u32 {
1298        self.cached_size.get()
1299    }
1300
1301    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1302        &self.unknown_fields
1303    }
1304
1305    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1306        &mut self.unknown_fields
1307    }
1308
1309    fn as_any(&self) -> &dyn (::std::any::Any) {
1310        self as &dyn (::std::any::Any)
1311    }
1312    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1313        self as &mut dyn (::std::any::Any)
1314    }
1315    fn into_any(self: Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1316        self
1317    }
1318
1319    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1320        Self::descriptor_static()
1321    }
1322
1323    fn new() -> FeatureLists {
1324        FeatureLists::new()
1325    }
1326
1327    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1328        static mut descriptor: ::protobuf::lazy::Lazy<::protobuf::reflect::MessageDescriptor> = ::protobuf::lazy::Lazy::INIT;
1329        unsafe {
1330            descriptor.get(|| {
1331                let mut fields = ::std::vec::Vec::new();
1332                fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<FeatureList>>(
1333                    "feature_list",
1334                    |m: &FeatureLists| { &m.feature_list },
1335                    |m: &mut FeatureLists| { &mut m.feature_list },
1336                ));
1337                ::protobuf::reflect::MessageDescriptor::new_pb_name::<FeatureLists>(
1338                    "FeatureLists",
1339                    fields,
1340                    file_descriptor_proto()
1341                )
1342            })
1343        }
1344    }
1345
1346    fn default_instance() -> &'static FeatureLists {
1347        static mut instance: ::protobuf::lazy::Lazy<FeatureLists> = ::protobuf::lazy::Lazy::INIT;
1348        unsafe {
1349            instance.get(FeatureLists::new)
1350        }
1351    }
1352}
1353
1354impl ::protobuf::Clear for FeatureLists {
1355    fn clear(&mut self) {
1356        self.feature_list.clear();
1357        self.unknown_fields.clear();
1358    }
1359}
1360
1361impl ::std::fmt::Debug for FeatureLists {
1362    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1363        ::protobuf::text_format::fmt(self, f)
1364    }
1365}
1366
1367impl ::protobuf::reflect::ProtobufValue for FeatureLists {
1368    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1369        ::protobuf::reflect::ReflectValueRef::Message(self)
1370    }
1371}
1372
1373static file_descriptor_proto_data: &'static [u8] = b"\
1374    \n%tensorflow/core/example/feature.proto\x12\ntensorflow\"!\n\tBytesList\
1375    \x12\x14\n\x05value\x18\x01\x20\x03(\x0cR\x05value\"%\n\tFloatList\x12\
1376    \x18\n\x05value\x18\x01\x20\x03(\x02R\x05valueB\x02\x10\x01\"%\n\tInt64L\
1377    ist\x12\x18\n\x05value\x18\x01\x20\x03(\x03R\x05valueB\x02\x10\x01\"\xb9\
1378    \x01\n\x07Feature\x126\n\nbytes_list\x18\x01\x20\x01(\x0b2\x15.tensorflo\
1379    w.BytesListH\0R\tbytesList\x126\n\nfloat_list\x18\x02\x20\x01(\x0b2\x15.\
1380    tensorflow.FloatListH\0R\tfloatList\x126\n\nint64_list\x18\x03\x20\x01(\
1381    \x0b2\x15.tensorflow.Int64ListH\0R\tint64ListB\x06\n\x04kind\"\x98\x01\n\
1382    \x08Features\x12;\n\x07feature\x18\x01\x20\x03(\x0b2!.tensorflow.Feature\
1383    s.FeatureEntryR\x07feature\x1aO\n\x0cFeatureEntry\x12\x10\n\x03key\x18\
1384    \x01\x20\x01(\tR\x03key\x12)\n\x05value\x18\x02\x20\x01(\x0b2\x13.tensor\
1385    flow.FeatureR\x05value:\x028\x01\"<\n\x0bFeatureList\x12-\n\x07feature\
1386    \x18\x01\x20\x03(\x0b2\x13.tensorflow.FeatureR\x07feature\"\xb5\x01\n\
1387    \x0cFeatureLists\x12L\n\x0cfeature_list\x18\x01\x20\x03(\x0b2).tensorflo\
1388    w.FeatureLists.FeatureListEntryR\x0bfeatureList\x1aW\n\x10FeatureListEnt\
1389    ry\x12\x10\n\x03key\x18\x01\x20\x01(\tR\x03key\x12-\n\x05value\x18\x02\
1390    \x20\x01(\x0b2\x17.tensorflow.FeatureListR\x05value:\x028\x01B\x81\x01\n\
1391    \x16org.tensorflow.exampleB\rFeatureProtosP\x01ZSgithub.com/tensorflow/t\
1392    ensorflow/tensorflow/go/core/example/example_protos_go_proto\xf8\x01\x01\
1393    J\xd6\x13\n\x06\x12\x047\0j\x01\n\xe1\x08\n\x01\x0c\x12\x037\0\x122\xd6\
1394    \x08\x20Protocol\x20messages\x20for\x20describing\x20features\x20for\x20\
1395    machine\x20learning\x20model\n\x20training\x20or\x20inference.\n\n\x20Th\
1396    ere\x20are\x20three\x20base\x20Feature\x20types:\n\x20\x20\x20-\x20bytes\
1397    \n\x20\x20\x20-\x20float\n\x20\x20\x20-\x20int64\n\n\x20A\x20Feature\x20\
1398    contains\x20Lists\x20which\x20may\x20hold\x20zero\x20or\x20more\x20value\
1399    s.\x20\x20These\n\x20lists\x20are\x20the\x20base\x20values\x20BytesList,\
1400    \x20FloatList,\x20Int64List.\n\n\x20Features\x20are\x20organized\x20into\
1401    \x20categories\x20by\x20name.\x20\x20The\x20Features\x20message\n\x20con\
1402    tains\x20the\x20mapping\x20from\x20name\x20to\x20Feature.\n\n\x20Example\
1403    \x20Features\x20for\x20a\x20movie\x20recommendation\x20application:\n\
1404    \x20\x20\x20feature\x20{\n\x20\x20\x20\x20\x20key:\x20\"age\"\n\x20\x20\
1405    \x20\x20\x20value\x20{\x20float_list\x20{\n\x20\x20\x20\x20\x20\x20\x20v\
1406    alue:\x2029.0\n\x20\x20\x20\x20\x20}}\n\x20\x20\x20}\n\x20\x20\x20featur\
1407    e\x20{\n\x20\x20\x20\x20\x20key:\x20\"movie\"\n\x20\x20\x20\x20\x20value\
1408    \x20{\x20bytes_list\x20{\n\x20\x20\x20\x20\x20\x20\x20value:\x20\"The\
1409    \x20Shawshank\x20Redemption\"\n\x20\x20\x20\x20\x20\x20\x20value:\x20\"F\
1410    ight\x20Club\"\n\x20\x20\x20\x20\x20}}\n\x20\x20\x20}\n\x20\x20\x20featu\
1411    re\x20{\n\x20\x20\x20\x20\x20key:\x20\"movie_ratings\"\n\x20\x20\x20\x20\
1412    \x20value\x20{\x20float_list\x20{\n\x20\x20\x20\x20\x20\x20\x20value:\
1413    \x209.0\n\x20\x20\x20\x20\x20\x20\x20value:\x209.7\n\x20\x20\x20\x20\x20\
1414    }}\n\x20\x20\x20}\n\x20\x20\x20feature\x20{\n\x20\x20\x20\x20\x20key:\
1415    \x20\"suggestion\"\n\x20\x20\x20\x20\x20value\x20{\x20bytes_list\x20{\n\
1416    \x20\x20\x20\x20\x20\x20\x20value:\x20\"Inception\"\n\x20\x20\x20\x20\
1417    \x20}}\n\x20\x20\x20}\n\x20\x20\x20feature\x20{\n\x20\x20\x20\x20\x20key\
1418    :\x20\"suggestion_purchased\"\n\x20\x20\x20\x20\x20value\x20{\x20int64_l\
1419    ist\x20{\n\x20\x20\x20\x20\x20\x20\x20value:\x201\n\x20\x20\x20\x20\x20}\
1420    }\n\x20\x20\x20}\n\x20\x20\x20feature\x20{\n\x20\x20\x20\x20\x20key:\x20\
1421    \"purchase_price\"\n\x20\x20\x20\x20\x20value\x20{\x20float_list\x20{\n\
1422    \x20\x20\x20\x20\x20\x20\x20value:\x209.99\n\x20\x20\x20\x20\x20}}\n\x20\
1423    \x20\x20}\n\n\n\x08\n\x01\x02\x12\x039\0\x13\n\x08\n\x01\x08\x12\x03;\0\
1424    \x1f\n\t\n\x02\x08\x1f\x12\x03;\0\x1f\n\x08\n\x01\x08\x12\x03<\0.\n\t\n\
1425    \x02\x08\x08\x12\x03<\0.\n\x08\n\x01\x08\x12\x03=\0\"\n\t\n\x02\x08\n\
1426    \x12\x03=\0\"\n\x08\n\x01\x08\x12\x03>\0/\n\t\n\x02\x08\x01\x12\x03>\0/\
1427    \n\x08\n\x01\x08\x12\x03?\0j\n\t\n\x02\x08\x0b\x12\x03?\0j\n=\n\x02\x04\
1428    \0\x12\x04B\0D\x01\x1a1\x20Containers\x20to\x20hold\x20repeated\x20funda\
1429    mental\x20values.\n\n\n\n\x03\x04\0\x01\x12\x03B\x08\x11\n\x0b\n\x04\x04\
1430    \0\x02\0\x12\x03C\x02\x1b\n\x0c\n\x05\x04\0\x02\0\x04\x12\x03C\x02\n\n\
1431    \x0c\n\x05\x04\0\x02\0\x05\x12\x03C\x0b\x10\n\x0c\n\x05\x04\0\x02\0\x01\
1432    \x12\x03C\x11\x16\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03C\x19\x1a\n\n\n\x02\
1433    \x04\x01\x12\x04E\0G\x01\n\n\n\x03\x04\x01\x01\x12\x03E\x08\x11\n\x0b\n\
1434    \x04\x04\x01\x02\0\x12\x03F\x02+\n\x0c\n\x05\x04\x01\x02\0\x04\x12\x03F\
1435    \x02\n\n\x0c\n\x05\x04\x01\x02\0\x05\x12\x03F\x0b\x10\n\x0c\n\x05\x04\
1436    \x01\x02\0\x01\x12\x03F\x11\x16\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03F\
1437    \x19\x1a\n\x0c\n\x05\x04\x01\x02\0\x08\x12\x03F\x1b*\n\r\n\x06\x04\x01\
1438    \x02\0\x08\x02\x12\x03F\x1c)\n\n\n\x02\x04\x02\x12\x04H\0J\x01\n\n\n\x03\
1439    \x04\x02\x01\x12\x03H\x08\x11\n\x0b\n\x04\x04\x02\x02\0\x12\x03I\x02+\n\
1440    \x0c\n\x05\x04\x02\x02\0\x04\x12\x03I\x02\n\n\x0c\n\x05\x04\x02\x02\0\
1441    \x05\x12\x03I\x0b\x10\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03I\x11\x16\n\
1442    \x0c\n\x05\x04\x02\x02\0\x03\x12\x03I\x19\x1a\n\x0c\n\x05\x04\x02\x02\0\
1443    \x08\x12\x03I\x1b*\n\r\n\x06\x04\x02\x02\0\x08\x02\x12\x03I\x1c)\n1\n\
1444    \x02\x04\x03\x12\x04M\0T\x01\x1a%\x20Containers\x20for\x20non-sequential\
1445    \x20data.\n\n\n\n\x03\x04\x03\x01\x12\x03M\x08\x0f\n5\n\x04\x04\x03\x08\
1446    \0\x12\x04O\x02S\x03\x1a'\x20Each\x20feature\x20can\x20be\x20exactly\x20\
1447    one\x20kind.\n\n\x0c\n\x05\x04\x03\x08\0\x01\x12\x03O\x08\x0c\n\x0b\n\
1448    \x04\x04\x03\x02\0\x12\x03P\x04\x1d\n\x0c\n\x05\x04\x03\x02\0\x06\x12\
1449    \x03P\x04\r\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x03P\x0e\x18\n\x0c\n\x05\
1450    \x04\x03\x02\0\x03\x12\x03P\x1b\x1c\n\x0b\n\x04\x04\x03\x02\x01\x12\x03Q\
1451    \x04\x1d\n\x0c\n\x05\x04\x03\x02\x01\x06\x12\x03Q\x04\r\n\x0c\n\x05\x04\
1452    \x03\x02\x01\x01\x12\x03Q\x0e\x18\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\
1453    \x03Q\x1b\x1c\n\x0b\n\x04\x04\x03\x02\x02\x12\x03R\x04\x1d\n\x0c\n\x05\
1454    \x04\x03\x02\x02\x06\x12\x03R\x04\r\n\x0c\n\x05\x04\x03\x02\x02\x01\x12\
1455    \x03R\x0e\x18\n\x0c\n\x05\x04\x03\x02\x02\x03\x12\x03R\x1b\x1c\n\n\n\x02\
1456    \x04\x04\x12\x04V\0Y\x01\n\n\n\x03\x04\x04\x01\x12\x03V\x08\x10\n0\n\x04\
1457    \x04\x04\x02\0\x12\x03X\x02#\x1a#\x20Map\x20from\x20feature\x20name\x20t\
1458    o\x20feature.\n\n\x0c\n\x05\x04\x04\x02\0\x06\x12\x03X\x02\x16\n\x0c\n\
1459    \x05\x04\x04\x02\0\x01\x12\x03X\x17\x1e\n\x0c\n\x05\x04\x04\x02\0\x03\
1460    \x12\x03X!\"\n\x89\x02\n\x02\x04\x05\x12\x04c\0e\x01\x1a\xfc\x01\x20Cont\
1461    ainers\x20for\x20sequential\x20data.\n\n\x20A\x20FeatureList\x20contains\
1462    \x20lists\x20of\x20Features.\x20\x20These\x20may\x20hold\x20zero\x20or\
1463    \x20more\n\x20Feature\x20values.\n\n\x20FeatureLists\x20are\x20organized\
1464    \x20into\x20categories\x20by\x20name.\x20\x20The\x20FeatureLists\x20mess\
1465    age\n\x20contains\x20the\x20mapping\x20from\x20name\x20to\x20FeatureList\
1466    .\n\n\n\n\n\x03\x04\x05\x01\x12\x03c\x08\x13\n\x0b\n\x04\x04\x05\x02\0\
1467    \x12\x03d\x02\x1f\n\x0c\n\x05\x04\x05\x02\0\x04\x12\x03d\x02\n\n\x0c\n\
1468    \x05\x04\x05\x02\0\x06\x12\x03d\x0b\x12\n\x0c\n\x05\x04\x05\x02\0\x01\
1469    \x12\x03d\x13\x1a\n\x0c\n\x05\x04\x05\x02\0\x03\x12\x03d\x1d\x1e\n\n\n\
1470    \x02\x04\x06\x12\x04g\0j\x01\n\n\n\x03\x04\x06\x01\x12\x03g\x08\x14\n5\n\
1471    \x04\x04\x06\x02\0\x12\x03i\x02,\x1a(\x20Map\x20from\x20feature\x20name\
1472    \x20to\x20feature\x20list.\n\n\x0c\n\x05\x04\x06\x02\0\x06\x12\x03i\x02\
1473    \x1a\n\x0c\n\x05\x04\x06\x02\0\x01\x12\x03i\x1b'\n\x0c\n\x05\x04\x06\x02\
1474    \0\x03\x12\x03i*+b\x06proto3\
1475";
1476
1477static mut file_descriptor_proto_lazy: ::protobuf::lazy::Lazy<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::lazy::Lazy::INIT;
1478
1479fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
1480    ::protobuf::parse_from_bytes(file_descriptor_proto_data).unwrap()
1481}
1482
1483pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
1484    unsafe {
1485        file_descriptor_proto_lazy.get(|| {
1486            parse_descriptor_proto()
1487        })
1488    }
1489}