tensorboard_proto/
attr_value.rs

1// This file is generated by rust-protobuf 2.27.1. 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#![allow(unused_attributes)]
9#![cfg_attr(rustfmt, rustfmt::skip)]
10
11#![allow(box_pointers)]
12#![allow(dead_code)]
13#![allow(missing_docs)]
14#![allow(non_camel_case_types)]
15#![allow(non_snake_case)]
16#![allow(non_upper_case_globals)]
17#![allow(trivial_casts)]
18#![allow(unused_imports)]
19#![allow(unused_results)]
20//! Generated file from `src/attr_value.proto`
21
22/// Generated files are compatible only with the same version
23/// of protobuf runtime.
24// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_27_1;
25
26#[derive(PartialEq,Clone,Default)]
27pub struct AttrValue {
28    // message oneof groups
29    pub value: ::std::option::Option<AttrValue_oneof_value>,
30    // special fields
31    pub unknown_fields: ::protobuf::UnknownFields,
32    pub cached_size: ::protobuf::CachedSize,
33}
34
35impl<'a> ::std::default::Default for &'a AttrValue {
36    fn default() -> &'a AttrValue {
37        <AttrValue as ::protobuf::Message>::default_instance()
38    }
39}
40
41#[derive(Clone,PartialEq,Debug)]
42pub enum AttrValue_oneof_value {
43    s(::std::vec::Vec<u8>),
44    i(i64),
45    f(f32),
46    b(bool),
47    field_type(super::types::DataType),
48    shape(super::tensor_shape::TensorShapeProto),
49    tensor(super::tensor::TensorProto),
50    list(AttrValue_ListValue),
51    func(NameAttrList),
52    placeholder(::std::string::String),
53}
54
55impl AttrValue {
56    pub fn new() -> AttrValue {
57        ::std::default::Default::default()
58    }
59
60    // bytes s = 2;
61
62
63    pub fn get_s(&self) -> &[u8] {
64        match self.value {
65            ::std::option::Option::Some(AttrValue_oneof_value::s(ref v)) => v,
66            _ => &[],
67        }
68    }
69    pub fn clear_s(&mut self) {
70        self.value = ::std::option::Option::None;
71    }
72
73    pub fn has_s(&self) -> bool {
74        match self.value {
75            ::std::option::Option::Some(AttrValue_oneof_value::s(..)) => true,
76            _ => false,
77        }
78    }
79
80    // Param is passed by value, moved
81    pub fn set_s(&mut self, v: ::std::vec::Vec<u8>) {
82        self.value = ::std::option::Option::Some(AttrValue_oneof_value::s(v))
83    }
84
85    // Mutable pointer to the field.
86    pub fn mut_s(&mut self) -> &mut ::std::vec::Vec<u8> {
87        if let ::std::option::Option::Some(AttrValue_oneof_value::s(_)) = self.value {
88        } else {
89            self.value = ::std::option::Option::Some(AttrValue_oneof_value::s(::std::vec::Vec::new()));
90        }
91        match self.value {
92            ::std::option::Option::Some(AttrValue_oneof_value::s(ref mut v)) => v,
93            _ => panic!(),
94        }
95    }
96
97    // Take field
98    pub fn take_s(&mut self) -> ::std::vec::Vec<u8> {
99        if self.has_s() {
100            match self.value.take() {
101                ::std::option::Option::Some(AttrValue_oneof_value::s(v)) => v,
102                _ => panic!(),
103            }
104        } else {
105            ::std::vec::Vec::new()
106        }
107    }
108
109    // int64 i = 3;
110
111
112    pub fn get_i(&self) -> i64 {
113        match self.value {
114            ::std::option::Option::Some(AttrValue_oneof_value::i(v)) => v,
115            _ => 0,
116        }
117    }
118    pub fn clear_i(&mut self) {
119        self.value = ::std::option::Option::None;
120    }
121
122    pub fn has_i(&self) -> bool {
123        match self.value {
124            ::std::option::Option::Some(AttrValue_oneof_value::i(..)) => true,
125            _ => false,
126        }
127    }
128
129    // Param is passed by value, moved
130    pub fn set_i(&mut self, v: i64) {
131        self.value = ::std::option::Option::Some(AttrValue_oneof_value::i(v))
132    }
133
134    // float f = 4;
135
136
137    pub fn get_f(&self) -> f32 {
138        match self.value {
139            ::std::option::Option::Some(AttrValue_oneof_value::f(v)) => v,
140            _ => 0.,
141        }
142    }
143    pub fn clear_f(&mut self) {
144        self.value = ::std::option::Option::None;
145    }
146
147    pub fn has_f(&self) -> bool {
148        match self.value {
149            ::std::option::Option::Some(AttrValue_oneof_value::f(..)) => true,
150            _ => false,
151        }
152    }
153
154    // Param is passed by value, moved
155    pub fn set_f(&mut self, v: f32) {
156        self.value = ::std::option::Option::Some(AttrValue_oneof_value::f(v))
157    }
158
159    // bool b = 5;
160
161
162    pub fn get_b(&self) -> bool {
163        match self.value {
164            ::std::option::Option::Some(AttrValue_oneof_value::b(v)) => v,
165            _ => false,
166        }
167    }
168    pub fn clear_b(&mut self) {
169        self.value = ::std::option::Option::None;
170    }
171
172    pub fn has_b(&self) -> bool {
173        match self.value {
174            ::std::option::Option::Some(AttrValue_oneof_value::b(..)) => true,
175            _ => false,
176        }
177    }
178
179    // Param is passed by value, moved
180    pub fn set_b(&mut self, v: bool) {
181        self.value = ::std::option::Option::Some(AttrValue_oneof_value::b(v))
182    }
183
184    // .tensorboardrs.DataType type = 6;
185
186
187    pub fn get_field_type(&self) -> super::types::DataType {
188        match self.value {
189            ::std::option::Option::Some(AttrValue_oneof_value::field_type(v)) => v,
190            _ => super::types::DataType::DT_INVALID,
191        }
192    }
193    pub fn clear_field_type(&mut self) {
194        self.value = ::std::option::Option::None;
195    }
196
197    pub fn has_field_type(&self) -> bool {
198        match self.value {
199            ::std::option::Option::Some(AttrValue_oneof_value::field_type(..)) => true,
200            _ => false,
201        }
202    }
203
204    // Param is passed by value, moved
205    pub fn set_field_type(&mut self, v: super::types::DataType) {
206        self.value = ::std::option::Option::Some(AttrValue_oneof_value::field_type(v))
207    }
208
209    // .tensorboardrs.TensorShapeProto shape = 7;
210
211
212    pub fn get_shape(&self) -> &super::tensor_shape::TensorShapeProto {
213        match self.value {
214            ::std::option::Option::Some(AttrValue_oneof_value::shape(ref v)) => v,
215            _ => <super::tensor_shape::TensorShapeProto as ::protobuf::Message>::default_instance(),
216        }
217    }
218    pub fn clear_shape(&mut self) {
219        self.value = ::std::option::Option::None;
220    }
221
222    pub fn has_shape(&self) -> bool {
223        match self.value {
224            ::std::option::Option::Some(AttrValue_oneof_value::shape(..)) => true,
225            _ => false,
226        }
227    }
228
229    // Param is passed by value, moved
230    pub fn set_shape(&mut self, v: super::tensor_shape::TensorShapeProto) {
231        self.value = ::std::option::Option::Some(AttrValue_oneof_value::shape(v))
232    }
233
234    // Mutable pointer to the field.
235    pub fn mut_shape(&mut self) -> &mut super::tensor_shape::TensorShapeProto {
236        if let ::std::option::Option::Some(AttrValue_oneof_value::shape(_)) = self.value {
237        } else {
238            self.value = ::std::option::Option::Some(AttrValue_oneof_value::shape(super::tensor_shape::TensorShapeProto::new()));
239        }
240        match self.value {
241            ::std::option::Option::Some(AttrValue_oneof_value::shape(ref mut v)) => v,
242            _ => panic!(),
243        }
244    }
245
246    // Take field
247    pub fn take_shape(&mut self) -> super::tensor_shape::TensorShapeProto {
248        if self.has_shape() {
249            match self.value.take() {
250                ::std::option::Option::Some(AttrValue_oneof_value::shape(v)) => v,
251                _ => panic!(),
252            }
253        } else {
254            super::tensor_shape::TensorShapeProto::new()
255        }
256    }
257
258    // .tensorboardrs.TensorProto tensor = 8;
259
260
261    pub fn get_tensor(&self) -> &super::tensor::TensorProto {
262        match self.value {
263            ::std::option::Option::Some(AttrValue_oneof_value::tensor(ref v)) => v,
264            _ => <super::tensor::TensorProto as ::protobuf::Message>::default_instance(),
265        }
266    }
267    pub fn clear_tensor(&mut self) {
268        self.value = ::std::option::Option::None;
269    }
270
271    pub fn has_tensor(&self) -> bool {
272        match self.value {
273            ::std::option::Option::Some(AttrValue_oneof_value::tensor(..)) => true,
274            _ => false,
275        }
276    }
277
278    // Param is passed by value, moved
279    pub fn set_tensor(&mut self, v: super::tensor::TensorProto) {
280        self.value = ::std::option::Option::Some(AttrValue_oneof_value::tensor(v))
281    }
282
283    // Mutable pointer to the field.
284    pub fn mut_tensor(&mut self) -> &mut super::tensor::TensorProto {
285        if let ::std::option::Option::Some(AttrValue_oneof_value::tensor(_)) = self.value {
286        } else {
287            self.value = ::std::option::Option::Some(AttrValue_oneof_value::tensor(super::tensor::TensorProto::new()));
288        }
289        match self.value {
290            ::std::option::Option::Some(AttrValue_oneof_value::tensor(ref mut v)) => v,
291            _ => panic!(),
292        }
293    }
294
295    // Take field
296    pub fn take_tensor(&mut self) -> super::tensor::TensorProto {
297        if self.has_tensor() {
298            match self.value.take() {
299                ::std::option::Option::Some(AttrValue_oneof_value::tensor(v)) => v,
300                _ => panic!(),
301            }
302        } else {
303            super::tensor::TensorProto::new()
304        }
305    }
306
307    // .tensorboardrs.AttrValue.ListValue list = 1;
308
309
310    pub fn get_list(&self) -> &AttrValue_ListValue {
311        match self.value {
312            ::std::option::Option::Some(AttrValue_oneof_value::list(ref v)) => v,
313            _ => <AttrValue_ListValue as ::protobuf::Message>::default_instance(),
314        }
315    }
316    pub fn clear_list(&mut self) {
317        self.value = ::std::option::Option::None;
318    }
319
320    pub fn has_list(&self) -> bool {
321        match self.value {
322            ::std::option::Option::Some(AttrValue_oneof_value::list(..)) => true,
323            _ => false,
324        }
325    }
326
327    // Param is passed by value, moved
328    pub fn set_list(&mut self, v: AttrValue_ListValue) {
329        self.value = ::std::option::Option::Some(AttrValue_oneof_value::list(v))
330    }
331
332    // Mutable pointer to the field.
333    pub fn mut_list(&mut self) -> &mut AttrValue_ListValue {
334        if let ::std::option::Option::Some(AttrValue_oneof_value::list(_)) = self.value {
335        } else {
336            self.value = ::std::option::Option::Some(AttrValue_oneof_value::list(AttrValue_ListValue::new()));
337        }
338        match self.value {
339            ::std::option::Option::Some(AttrValue_oneof_value::list(ref mut v)) => v,
340            _ => panic!(),
341        }
342    }
343
344    // Take field
345    pub fn take_list(&mut self) -> AttrValue_ListValue {
346        if self.has_list() {
347            match self.value.take() {
348                ::std::option::Option::Some(AttrValue_oneof_value::list(v)) => v,
349                _ => panic!(),
350            }
351        } else {
352            AttrValue_ListValue::new()
353        }
354    }
355
356    // .tensorboardrs.NameAttrList func = 10;
357
358
359    pub fn get_func(&self) -> &NameAttrList {
360        match self.value {
361            ::std::option::Option::Some(AttrValue_oneof_value::func(ref v)) => v,
362            _ => <NameAttrList as ::protobuf::Message>::default_instance(),
363        }
364    }
365    pub fn clear_func(&mut self) {
366        self.value = ::std::option::Option::None;
367    }
368
369    pub fn has_func(&self) -> bool {
370        match self.value {
371            ::std::option::Option::Some(AttrValue_oneof_value::func(..)) => true,
372            _ => false,
373        }
374    }
375
376    // Param is passed by value, moved
377    pub fn set_func(&mut self, v: NameAttrList) {
378        self.value = ::std::option::Option::Some(AttrValue_oneof_value::func(v))
379    }
380
381    // Mutable pointer to the field.
382    pub fn mut_func(&mut self) -> &mut NameAttrList {
383        if let ::std::option::Option::Some(AttrValue_oneof_value::func(_)) = self.value {
384        } else {
385            self.value = ::std::option::Option::Some(AttrValue_oneof_value::func(NameAttrList::new()));
386        }
387        match self.value {
388            ::std::option::Option::Some(AttrValue_oneof_value::func(ref mut v)) => v,
389            _ => panic!(),
390        }
391    }
392
393    // Take field
394    pub fn take_func(&mut self) -> NameAttrList {
395        if self.has_func() {
396            match self.value.take() {
397                ::std::option::Option::Some(AttrValue_oneof_value::func(v)) => v,
398                _ => panic!(),
399            }
400        } else {
401            NameAttrList::new()
402        }
403    }
404
405    // string placeholder = 9;
406
407
408    pub fn get_placeholder(&self) -> &str {
409        match self.value {
410            ::std::option::Option::Some(AttrValue_oneof_value::placeholder(ref v)) => v,
411            _ => "",
412        }
413    }
414    pub fn clear_placeholder(&mut self) {
415        self.value = ::std::option::Option::None;
416    }
417
418    pub fn has_placeholder(&self) -> bool {
419        match self.value {
420            ::std::option::Option::Some(AttrValue_oneof_value::placeholder(..)) => true,
421            _ => false,
422        }
423    }
424
425    // Param is passed by value, moved
426    pub fn set_placeholder(&mut self, v: ::std::string::String) {
427        self.value = ::std::option::Option::Some(AttrValue_oneof_value::placeholder(v))
428    }
429
430    // Mutable pointer to the field.
431    pub fn mut_placeholder(&mut self) -> &mut ::std::string::String {
432        if let ::std::option::Option::Some(AttrValue_oneof_value::placeholder(_)) = self.value {
433        } else {
434            self.value = ::std::option::Option::Some(AttrValue_oneof_value::placeholder(::std::string::String::new()));
435        }
436        match self.value {
437            ::std::option::Option::Some(AttrValue_oneof_value::placeholder(ref mut v)) => v,
438            _ => panic!(),
439        }
440    }
441
442    // Take field
443    pub fn take_placeholder(&mut self) -> ::std::string::String {
444        if self.has_placeholder() {
445            match self.value.take() {
446                ::std::option::Option::Some(AttrValue_oneof_value::placeholder(v)) => v,
447                _ => panic!(),
448            }
449        } else {
450            ::std::string::String::new()
451        }
452    }
453}
454
455impl ::protobuf::Message for AttrValue {
456    fn is_initialized(&self) -> bool {
457        if let Some(AttrValue_oneof_value::shape(ref v)) = self.value {
458            if !v.is_initialized() {
459                return false;
460            }
461        }
462        if let Some(AttrValue_oneof_value::tensor(ref v)) = self.value {
463            if !v.is_initialized() {
464                return false;
465            }
466        }
467        if let Some(AttrValue_oneof_value::list(ref v)) = self.value {
468            if !v.is_initialized() {
469                return false;
470            }
471        }
472        if let Some(AttrValue_oneof_value::func(ref v)) = self.value {
473            if !v.is_initialized() {
474                return false;
475            }
476        }
477        true
478    }
479
480    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
481        while !is.eof()? {
482            let (field_number, wire_type) = is.read_tag_unpack()?;
483            match field_number {
484                2 => {
485                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
486                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
487                    }
488                    self.value = ::std::option::Option::Some(AttrValue_oneof_value::s(is.read_bytes()?));
489                },
490                3 => {
491                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
492                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
493                    }
494                    self.value = ::std::option::Option::Some(AttrValue_oneof_value::i(is.read_int64()?));
495                },
496                4 => {
497                    if wire_type != ::protobuf::wire_format::WireTypeFixed32 {
498                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
499                    }
500                    self.value = ::std::option::Option::Some(AttrValue_oneof_value::f(is.read_float()?));
501                },
502                5 => {
503                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
504                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
505                    }
506                    self.value = ::std::option::Option::Some(AttrValue_oneof_value::b(is.read_bool()?));
507                },
508                6 => {
509                    if wire_type != ::protobuf::wire_format::WireTypeVarint {
510                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
511                    }
512                    self.value = ::std::option::Option::Some(AttrValue_oneof_value::field_type(is.read_enum()?));
513                },
514                7 => {
515                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
516                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
517                    }
518                    self.value = ::std::option::Option::Some(AttrValue_oneof_value::shape(is.read_message()?));
519                },
520                8 => {
521                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
522                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
523                    }
524                    self.value = ::std::option::Option::Some(AttrValue_oneof_value::tensor(is.read_message()?));
525                },
526                1 => {
527                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
528                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
529                    }
530                    self.value = ::std::option::Option::Some(AttrValue_oneof_value::list(is.read_message()?));
531                },
532                10 => {
533                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
534                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
535                    }
536                    self.value = ::std::option::Option::Some(AttrValue_oneof_value::func(is.read_message()?));
537                },
538                9 => {
539                    if wire_type != ::protobuf::wire_format::WireTypeLengthDelimited {
540                        return ::std::result::Result::Err(::protobuf::rt::unexpected_wire_type(wire_type));
541                    }
542                    self.value = ::std::option::Option::Some(AttrValue_oneof_value::placeholder(is.read_string()?));
543                },
544                _ => {
545                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
546                },
547            };
548        }
549        ::std::result::Result::Ok(())
550    }
551
552    // Compute sizes of nested messages
553    #[allow(unused_variables)]
554    fn compute_size(&self) -> u32 {
555        let mut my_size = 0;
556        if let ::std::option::Option::Some(ref v) = self.value {
557            match v {
558                &AttrValue_oneof_value::s(ref v) => {
559                    my_size += ::protobuf::rt::bytes_size(2, &v);
560                },
561                &AttrValue_oneof_value::i(v) => {
562                    my_size += ::protobuf::rt::value_size(3, v, ::protobuf::wire_format::WireTypeVarint);
563                },
564                &AttrValue_oneof_value::f(v) => {
565                    my_size += 5;
566                },
567                &AttrValue_oneof_value::b(v) => {
568                    my_size += 2;
569                },
570                &AttrValue_oneof_value::field_type(v) => {
571                    my_size += ::protobuf::rt::enum_size(6, v);
572                },
573                &AttrValue_oneof_value::shape(ref v) => {
574                    let len = v.compute_size();
575                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
576                },
577                &AttrValue_oneof_value::tensor(ref v) => {
578                    let len = v.compute_size();
579                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
580                },
581                &AttrValue_oneof_value::list(ref v) => {
582                    let len = v.compute_size();
583                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
584                },
585                &AttrValue_oneof_value::func(ref v) => {
586                    let len = v.compute_size();
587                    my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
588                },
589                &AttrValue_oneof_value::placeholder(ref v) => {
590                    my_size += ::protobuf::rt::string_size(9, &v);
591                },
592            };
593        }
594        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
595        self.cached_size.set(my_size);
596        my_size
597    }
598
599    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
600        if let ::std::option::Option::Some(ref v) = self.value {
601            match v {
602                &AttrValue_oneof_value::s(ref v) => {
603                    os.write_bytes(2, v)?;
604                },
605                &AttrValue_oneof_value::i(v) => {
606                    os.write_int64(3, v)?;
607                },
608                &AttrValue_oneof_value::f(v) => {
609                    os.write_float(4, v)?;
610                },
611                &AttrValue_oneof_value::b(v) => {
612                    os.write_bool(5, v)?;
613                },
614                &AttrValue_oneof_value::field_type(v) => {
615                    os.write_enum(6, ::protobuf::ProtobufEnum::value(&v))?;
616                },
617                &AttrValue_oneof_value::shape(ref v) => {
618                    os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
619                    os.write_raw_varint32(v.get_cached_size())?;
620                    v.write_to_with_cached_sizes(os)?;
621                },
622                &AttrValue_oneof_value::tensor(ref v) => {
623                    os.write_tag(8, ::protobuf::wire_format::WireTypeLengthDelimited)?;
624                    os.write_raw_varint32(v.get_cached_size())?;
625                    v.write_to_with_cached_sizes(os)?;
626                },
627                &AttrValue_oneof_value::list(ref v) => {
628                    os.write_tag(1, ::protobuf::wire_format::WireTypeLengthDelimited)?;
629                    os.write_raw_varint32(v.get_cached_size())?;
630                    v.write_to_with_cached_sizes(os)?;
631                },
632                &AttrValue_oneof_value::func(ref v) => {
633                    os.write_tag(10, ::protobuf::wire_format::WireTypeLengthDelimited)?;
634                    os.write_raw_varint32(v.get_cached_size())?;
635                    v.write_to_with_cached_sizes(os)?;
636                },
637                &AttrValue_oneof_value::placeholder(ref v) => {
638                    os.write_string(9, v)?;
639                },
640            };
641        }
642        os.write_unknown_fields(self.get_unknown_fields())?;
643        ::std::result::Result::Ok(())
644    }
645
646    fn get_cached_size(&self) -> u32 {
647        self.cached_size.get()
648    }
649
650    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
651        &self.unknown_fields
652    }
653
654    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
655        &mut self.unknown_fields
656    }
657
658    fn as_any(&self) -> &dyn (::std::any::Any) {
659        self as &dyn (::std::any::Any)
660    }
661    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
662        self as &mut dyn (::std::any::Any)
663    }
664    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
665        self
666    }
667
668    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
669        Self::descriptor_static()
670    }
671
672    fn new() -> AttrValue {
673        AttrValue::new()
674    }
675
676    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
677        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
678        descriptor.get(|| {
679            let mut fields = ::std::vec::Vec::new();
680            fields.push(::protobuf::reflect::accessor::make_singular_bytes_accessor::<_>(
681                "s",
682                AttrValue::has_s,
683                AttrValue::get_s,
684            ));
685            fields.push(::protobuf::reflect::accessor::make_singular_i64_accessor::<_>(
686                "i",
687                AttrValue::has_i,
688                AttrValue::get_i,
689            ));
690            fields.push(::protobuf::reflect::accessor::make_singular_f32_accessor::<_>(
691                "f",
692                AttrValue::has_f,
693                AttrValue::get_f,
694            ));
695            fields.push(::protobuf::reflect::accessor::make_singular_bool_accessor::<_>(
696                "b",
697                AttrValue::has_b,
698                AttrValue::get_b,
699            ));
700            fields.push(::protobuf::reflect::accessor::make_singular_enum_accessor::<_, super::types::DataType>(
701                "type",
702                AttrValue::has_field_type,
703                AttrValue::get_field_type,
704            ));
705            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, super::tensor_shape::TensorShapeProto>(
706                "shape",
707                AttrValue::has_shape,
708                AttrValue::get_shape,
709            ));
710            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, super::tensor::TensorProto>(
711                "tensor",
712                AttrValue::has_tensor,
713                AttrValue::get_tensor,
714            ));
715            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, AttrValue_ListValue>(
716                "list",
717                AttrValue::has_list,
718                AttrValue::get_list,
719            ));
720            fields.push(::protobuf::reflect::accessor::make_singular_message_accessor::<_, NameAttrList>(
721                "func",
722                AttrValue::has_func,
723                AttrValue::get_func,
724            ));
725            fields.push(::protobuf::reflect::accessor::make_singular_string_accessor::<_>(
726                "placeholder",
727                AttrValue::has_placeholder,
728                AttrValue::get_placeholder,
729            ));
730            ::protobuf::reflect::MessageDescriptor::new_pb_name::<AttrValue>(
731                "AttrValue",
732                fields,
733                file_descriptor_proto()
734            )
735        })
736    }
737
738    fn default_instance() -> &'static AttrValue {
739        static instance: ::protobuf::rt::LazyV2<AttrValue> = ::protobuf::rt::LazyV2::INIT;
740        instance.get(AttrValue::new)
741    }
742}
743
744impl ::protobuf::Clear for AttrValue {
745    fn clear(&mut self) {
746        self.value = ::std::option::Option::None;
747        self.value = ::std::option::Option::None;
748        self.value = ::std::option::Option::None;
749        self.value = ::std::option::Option::None;
750        self.value = ::std::option::Option::None;
751        self.value = ::std::option::Option::None;
752        self.value = ::std::option::Option::None;
753        self.value = ::std::option::Option::None;
754        self.value = ::std::option::Option::None;
755        self.value = ::std::option::Option::None;
756        self.unknown_fields.clear();
757    }
758}
759
760impl ::std::fmt::Debug for AttrValue {
761    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
762        ::protobuf::text_format::fmt(self, f)
763    }
764}
765
766impl ::protobuf::reflect::ProtobufValue for AttrValue {
767    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
768        ::protobuf::reflect::ReflectValueRef::Message(self)
769    }
770}
771
772#[derive(PartialEq,Clone,Default)]
773pub struct AttrValue_ListValue {
774    // message fields
775    pub s: ::protobuf::RepeatedField<::std::vec::Vec<u8>>,
776    pub i: ::std::vec::Vec<i64>,
777    pub f: ::std::vec::Vec<f32>,
778    pub b: ::std::vec::Vec<bool>,
779    pub field_type: ::std::vec::Vec<super::types::DataType>,
780    pub shape: ::protobuf::RepeatedField<super::tensor_shape::TensorShapeProto>,
781    pub tensor: ::protobuf::RepeatedField<super::tensor::TensorProto>,
782    pub func: ::protobuf::RepeatedField<NameAttrList>,
783    // special fields
784    pub unknown_fields: ::protobuf::UnknownFields,
785    pub cached_size: ::protobuf::CachedSize,
786}
787
788impl<'a> ::std::default::Default for &'a AttrValue_ListValue {
789    fn default() -> &'a AttrValue_ListValue {
790        <AttrValue_ListValue as ::protobuf::Message>::default_instance()
791    }
792}
793
794impl AttrValue_ListValue {
795    pub fn new() -> AttrValue_ListValue {
796        ::std::default::Default::default()
797    }
798
799    // repeated bytes s = 2;
800
801
802    pub fn get_s(&self) -> &[::std::vec::Vec<u8>] {
803        &self.s
804    }
805    pub fn clear_s(&mut self) {
806        self.s.clear();
807    }
808
809    // Param is passed by value, moved
810    pub fn set_s(&mut self, v: ::protobuf::RepeatedField<::std::vec::Vec<u8>>) {
811        self.s = v;
812    }
813
814    // Mutable pointer to the field.
815    pub fn mut_s(&mut self) -> &mut ::protobuf::RepeatedField<::std::vec::Vec<u8>> {
816        &mut self.s
817    }
818
819    // Take field
820    pub fn take_s(&mut self) -> ::protobuf::RepeatedField<::std::vec::Vec<u8>> {
821        ::std::mem::replace(&mut self.s, ::protobuf::RepeatedField::new())
822    }
823
824    // repeated int64 i = 3;
825
826
827    pub fn get_i(&self) -> &[i64] {
828        &self.i
829    }
830    pub fn clear_i(&mut self) {
831        self.i.clear();
832    }
833
834    // Param is passed by value, moved
835    pub fn set_i(&mut self, v: ::std::vec::Vec<i64>) {
836        self.i = v;
837    }
838
839    // Mutable pointer to the field.
840    pub fn mut_i(&mut self) -> &mut ::std::vec::Vec<i64> {
841        &mut self.i
842    }
843
844    // Take field
845    pub fn take_i(&mut self) -> ::std::vec::Vec<i64> {
846        ::std::mem::replace(&mut self.i, ::std::vec::Vec::new())
847    }
848
849    // repeated float f = 4;
850
851
852    pub fn get_f(&self) -> &[f32] {
853        &self.f
854    }
855    pub fn clear_f(&mut self) {
856        self.f.clear();
857    }
858
859    // Param is passed by value, moved
860    pub fn set_f(&mut self, v: ::std::vec::Vec<f32>) {
861        self.f = v;
862    }
863
864    // Mutable pointer to the field.
865    pub fn mut_f(&mut self) -> &mut ::std::vec::Vec<f32> {
866        &mut self.f
867    }
868
869    // Take field
870    pub fn take_f(&mut self) -> ::std::vec::Vec<f32> {
871        ::std::mem::replace(&mut self.f, ::std::vec::Vec::new())
872    }
873
874    // repeated bool b = 5;
875
876
877    pub fn get_b(&self) -> &[bool] {
878        &self.b
879    }
880    pub fn clear_b(&mut self) {
881        self.b.clear();
882    }
883
884    // Param is passed by value, moved
885    pub fn set_b(&mut self, v: ::std::vec::Vec<bool>) {
886        self.b = v;
887    }
888
889    // Mutable pointer to the field.
890    pub fn mut_b(&mut self) -> &mut ::std::vec::Vec<bool> {
891        &mut self.b
892    }
893
894    // Take field
895    pub fn take_b(&mut self) -> ::std::vec::Vec<bool> {
896        ::std::mem::replace(&mut self.b, ::std::vec::Vec::new())
897    }
898
899    // repeated .tensorboardrs.DataType type = 6;
900
901
902    pub fn get_field_type(&self) -> &[super::types::DataType] {
903        &self.field_type
904    }
905    pub fn clear_field_type(&mut self) {
906        self.field_type.clear();
907    }
908
909    // Param is passed by value, moved
910    pub fn set_field_type(&mut self, v: ::std::vec::Vec<super::types::DataType>) {
911        self.field_type = v;
912    }
913
914    // Mutable pointer to the field.
915    pub fn mut_field_type(&mut self) -> &mut ::std::vec::Vec<super::types::DataType> {
916        &mut self.field_type
917    }
918
919    // Take field
920    pub fn take_field_type(&mut self) -> ::std::vec::Vec<super::types::DataType> {
921        ::std::mem::replace(&mut self.field_type, ::std::vec::Vec::new())
922    }
923
924    // repeated .tensorboardrs.TensorShapeProto shape = 7;
925
926
927    pub fn get_shape(&self) -> &[super::tensor_shape::TensorShapeProto] {
928        &self.shape
929    }
930    pub fn clear_shape(&mut self) {
931        self.shape.clear();
932    }
933
934    // Param is passed by value, moved
935    pub fn set_shape(&mut self, v: ::protobuf::RepeatedField<super::tensor_shape::TensorShapeProto>) {
936        self.shape = v;
937    }
938
939    // Mutable pointer to the field.
940    pub fn mut_shape(&mut self) -> &mut ::protobuf::RepeatedField<super::tensor_shape::TensorShapeProto> {
941        &mut self.shape
942    }
943
944    // Take field
945    pub fn take_shape(&mut self) -> ::protobuf::RepeatedField<super::tensor_shape::TensorShapeProto> {
946        ::std::mem::replace(&mut self.shape, ::protobuf::RepeatedField::new())
947    }
948
949    // repeated .tensorboardrs.TensorProto tensor = 8;
950
951
952    pub fn get_tensor(&self) -> &[super::tensor::TensorProto] {
953        &self.tensor
954    }
955    pub fn clear_tensor(&mut self) {
956        self.tensor.clear();
957    }
958
959    // Param is passed by value, moved
960    pub fn set_tensor(&mut self, v: ::protobuf::RepeatedField<super::tensor::TensorProto>) {
961        self.tensor = v;
962    }
963
964    // Mutable pointer to the field.
965    pub fn mut_tensor(&mut self) -> &mut ::protobuf::RepeatedField<super::tensor::TensorProto> {
966        &mut self.tensor
967    }
968
969    // Take field
970    pub fn take_tensor(&mut self) -> ::protobuf::RepeatedField<super::tensor::TensorProto> {
971        ::std::mem::replace(&mut self.tensor, ::protobuf::RepeatedField::new())
972    }
973
974    // repeated .tensorboardrs.NameAttrList func = 9;
975
976
977    pub fn get_func(&self) -> &[NameAttrList] {
978        &self.func
979    }
980    pub fn clear_func(&mut self) {
981        self.func.clear();
982    }
983
984    // Param is passed by value, moved
985    pub fn set_func(&mut self, v: ::protobuf::RepeatedField<NameAttrList>) {
986        self.func = v;
987    }
988
989    // Mutable pointer to the field.
990    pub fn mut_func(&mut self) -> &mut ::protobuf::RepeatedField<NameAttrList> {
991        &mut self.func
992    }
993
994    // Take field
995    pub fn take_func(&mut self) -> ::protobuf::RepeatedField<NameAttrList> {
996        ::std::mem::replace(&mut self.func, ::protobuf::RepeatedField::new())
997    }
998}
999
1000impl ::protobuf::Message for AttrValue_ListValue {
1001    fn is_initialized(&self) -> bool {
1002        for v in &self.shape {
1003            if !v.is_initialized() {
1004                return false;
1005            }
1006        };
1007        for v in &self.tensor {
1008            if !v.is_initialized() {
1009                return false;
1010            }
1011        };
1012        for v in &self.func {
1013            if !v.is_initialized() {
1014                return false;
1015            }
1016        };
1017        true
1018    }
1019
1020    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1021        while !is.eof()? {
1022            let (field_number, wire_type) = is.read_tag_unpack()?;
1023            match field_number {
1024                2 => {
1025                    ::protobuf::rt::read_repeated_bytes_into(wire_type, is, &mut self.s)?;
1026                },
1027                3 => {
1028                    ::protobuf::rt::read_repeated_int64_into(wire_type, is, &mut self.i)?;
1029                },
1030                4 => {
1031                    ::protobuf::rt::read_repeated_float_into(wire_type, is, &mut self.f)?;
1032                },
1033                5 => {
1034                    ::protobuf::rt::read_repeated_bool_into(wire_type, is, &mut self.b)?;
1035                },
1036                6 => {
1037                    ::protobuf::rt::read_repeated_enum_with_unknown_fields_into(wire_type, is, &mut self.field_type, 6, &mut self.unknown_fields)?
1038                },
1039                7 => {
1040                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.shape)?;
1041                },
1042                8 => {
1043                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.tensor)?;
1044                },
1045                9 => {
1046                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.func)?;
1047                },
1048                _ => {
1049                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1050                },
1051            };
1052        }
1053        ::std::result::Result::Ok(())
1054    }
1055
1056    // Compute sizes of nested messages
1057    #[allow(unused_variables)]
1058    fn compute_size(&self) -> u32 {
1059        let mut my_size = 0;
1060        for value in &self.s {
1061            my_size += ::protobuf::rt::bytes_size(2, &value);
1062        };
1063        if !self.i.is_empty() {
1064            my_size += ::protobuf::rt::vec_packed_varint_size(3, &self.i);
1065        }
1066        if !self.f.is_empty() {
1067            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size((self.f.len() * 4) as u32) + (self.f.len() * 4) as u32;
1068        }
1069        if !self.b.is_empty() {
1070            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size((self.b.len() * 1) as u32) + (self.b.len() * 1) as u32;
1071        }
1072        if !self.field_type.is_empty() {
1073            my_size += ::protobuf::rt::vec_packed_enum_size(6, &self.field_type);
1074        }
1075        for value in &self.shape {
1076            let len = value.compute_size();
1077            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1078        };
1079        for value in &self.tensor {
1080            let len = value.compute_size();
1081            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1082        };
1083        for value in &self.func {
1084            let len = value.compute_size();
1085            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
1086        };
1087        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1088        self.cached_size.set(my_size);
1089        my_size
1090    }
1091
1092    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1093        for v in &self.s {
1094            os.write_bytes(2, &v)?;
1095        };
1096        if !self.i.is_empty() {
1097            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1098            // TODO: Data size is computed again, it should be cached
1099            os.write_raw_varint32(::protobuf::rt::vec_packed_varint_data_size(&self.i))?;
1100            for v in &self.i {
1101                os.write_int64_no_tag(*v)?;
1102            };
1103        }
1104        if !self.f.is_empty() {
1105            os.write_tag(4, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1106            // TODO: Data size is computed again, it should be cached
1107            os.write_raw_varint32((self.f.len() * 4) as u32)?;
1108            for v in &self.f {
1109                os.write_float_no_tag(*v)?;
1110            };
1111        }
1112        if !self.b.is_empty() {
1113            os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1114            // TODO: Data size is computed again, it should be cached
1115            os.write_raw_varint32((self.b.len() * 1) as u32)?;
1116            for v in &self.b {
1117                os.write_bool_no_tag(*v)?;
1118            };
1119        }
1120        if !self.field_type.is_empty() {
1121            os.write_tag(6, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1122            // TODO: Data size is computed again, it should be cached
1123            os.write_raw_varint32(::protobuf::rt::vec_packed_enum_data_size(&self.field_type))?;
1124            for v in &self.field_type {
1125                os.write_enum_no_tag(::protobuf::ProtobufEnum::value(v))?;
1126            };
1127        }
1128        for v in &self.shape {
1129            os.write_tag(7, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1130            os.write_raw_varint32(v.get_cached_size())?;
1131            v.write_to_with_cached_sizes(os)?;
1132        };
1133        for v in &self.tensor {
1134            os.write_tag(8, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1135            os.write_raw_varint32(v.get_cached_size())?;
1136            v.write_to_with_cached_sizes(os)?;
1137        };
1138        for v in &self.func {
1139            os.write_tag(9, ::protobuf::wire_format::WireTypeLengthDelimited)?;
1140            os.write_raw_varint32(v.get_cached_size())?;
1141            v.write_to_with_cached_sizes(os)?;
1142        };
1143        os.write_unknown_fields(self.get_unknown_fields())?;
1144        ::std::result::Result::Ok(())
1145    }
1146
1147    fn get_cached_size(&self) -> u32 {
1148        self.cached_size.get()
1149    }
1150
1151    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1152        &self.unknown_fields
1153    }
1154
1155    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1156        &mut self.unknown_fields
1157    }
1158
1159    fn as_any(&self) -> &dyn (::std::any::Any) {
1160        self as &dyn (::std::any::Any)
1161    }
1162    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1163        self as &mut dyn (::std::any::Any)
1164    }
1165    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1166        self
1167    }
1168
1169    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1170        Self::descriptor_static()
1171    }
1172
1173    fn new() -> AttrValue_ListValue {
1174        AttrValue_ListValue::new()
1175    }
1176
1177    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1178        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1179        descriptor.get(|| {
1180            let mut fields = ::std::vec::Vec::new();
1181            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeBytes>(
1182                "s",
1183                |m: &AttrValue_ListValue| { &m.s },
1184                |m: &mut AttrValue_ListValue| { &mut m.s },
1185            ));
1186            fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeInt64>(
1187                "i",
1188                |m: &AttrValue_ListValue| { &m.i },
1189                |m: &mut AttrValue_ListValue| { &mut m.i },
1190            ));
1191            fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeFloat>(
1192                "f",
1193                |m: &AttrValue_ListValue| { &m.f },
1194                |m: &mut AttrValue_ListValue| { &mut m.f },
1195            ));
1196            fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeBool>(
1197                "b",
1198                |m: &AttrValue_ListValue| { &m.b },
1199                |m: &mut AttrValue_ListValue| { &mut m.b },
1200            ));
1201            fields.push(::protobuf::reflect::accessor::make_vec_accessor::<_, ::protobuf::types::ProtobufTypeEnum<super::types::DataType>>(
1202                "type",
1203                |m: &AttrValue_ListValue| { &m.field_type },
1204                |m: &mut AttrValue_ListValue| { &mut m.field_type },
1205            ));
1206            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::tensor_shape::TensorShapeProto>>(
1207                "shape",
1208                |m: &AttrValue_ListValue| { &m.shape },
1209                |m: &mut AttrValue_ListValue| { &mut m.shape },
1210            ));
1211            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<super::tensor::TensorProto>>(
1212                "tensor",
1213                |m: &AttrValue_ListValue| { &m.tensor },
1214                |m: &mut AttrValue_ListValue| { &mut m.tensor },
1215            ));
1216            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<NameAttrList>>(
1217                "func",
1218                |m: &AttrValue_ListValue| { &m.func },
1219                |m: &mut AttrValue_ListValue| { &mut m.func },
1220            ));
1221            ::protobuf::reflect::MessageDescriptor::new_pb_name::<AttrValue_ListValue>(
1222                "AttrValue.ListValue",
1223                fields,
1224                file_descriptor_proto()
1225            )
1226        })
1227    }
1228
1229    fn default_instance() -> &'static AttrValue_ListValue {
1230        static instance: ::protobuf::rt::LazyV2<AttrValue_ListValue> = ::protobuf::rt::LazyV2::INIT;
1231        instance.get(AttrValue_ListValue::new)
1232    }
1233}
1234
1235impl ::protobuf::Clear for AttrValue_ListValue {
1236    fn clear(&mut self) {
1237        self.s.clear();
1238        self.i.clear();
1239        self.f.clear();
1240        self.b.clear();
1241        self.field_type.clear();
1242        self.shape.clear();
1243        self.tensor.clear();
1244        self.func.clear();
1245        self.unknown_fields.clear();
1246    }
1247}
1248
1249impl ::std::fmt::Debug for AttrValue_ListValue {
1250    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1251        ::protobuf::text_format::fmt(self, f)
1252    }
1253}
1254
1255impl ::protobuf::reflect::ProtobufValue for AttrValue_ListValue {
1256    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1257        ::protobuf::reflect::ReflectValueRef::Message(self)
1258    }
1259}
1260
1261#[derive(PartialEq,Clone,Default)]
1262pub struct NameAttrList {
1263    // message fields
1264    pub name: ::std::string::String,
1265    pub attr: ::std::collections::HashMap<::std::string::String, AttrValue>,
1266    // special fields
1267    pub unknown_fields: ::protobuf::UnknownFields,
1268    pub cached_size: ::protobuf::CachedSize,
1269}
1270
1271impl<'a> ::std::default::Default for &'a NameAttrList {
1272    fn default() -> &'a NameAttrList {
1273        <NameAttrList as ::protobuf::Message>::default_instance()
1274    }
1275}
1276
1277impl NameAttrList {
1278    pub fn new() -> NameAttrList {
1279        ::std::default::Default::default()
1280    }
1281
1282    // string name = 1;
1283
1284
1285    pub fn get_name(&self) -> &str {
1286        &self.name
1287    }
1288    pub fn clear_name(&mut self) {
1289        self.name.clear();
1290    }
1291
1292    // Param is passed by value, moved
1293    pub fn set_name(&mut self, v: ::std::string::String) {
1294        self.name = v;
1295    }
1296
1297    // Mutable pointer to the field.
1298    // If field is not initialized, it is initialized with default value first.
1299    pub fn mut_name(&mut self) -> &mut ::std::string::String {
1300        &mut self.name
1301    }
1302
1303    // Take field
1304    pub fn take_name(&mut self) -> ::std::string::String {
1305        ::std::mem::replace(&mut self.name, ::std::string::String::new())
1306    }
1307
1308    // repeated .tensorboardrs.NameAttrList.AttrEntry attr = 2;
1309
1310
1311    pub fn get_attr(&self) -> &::std::collections::HashMap<::std::string::String, AttrValue> {
1312        &self.attr
1313    }
1314    pub fn clear_attr(&mut self) {
1315        self.attr.clear();
1316    }
1317
1318    // Param is passed by value, moved
1319    pub fn set_attr(&mut self, v: ::std::collections::HashMap<::std::string::String, AttrValue>) {
1320        self.attr = v;
1321    }
1322
1323    // Mutable pointer to the field.
1324    pub fn mut_attr(&mut self) -> &mut ::std::collections::HashMap<::std::string::String, AttrValue> {
1325        &mut self.attr
1326    }
1327
1328    // Take field
1329    pub fn take_attr(&mut self) -> ::std::collections::HashMap<::std::string::String, AttrValue> {
1330        ::std::mem::replace(&mut self.attr, ::std::collections::HashMap::new())
1331    }
1332}
1333
1334impl ::protobuf::Message for NameAttrList {
1335    fn is_initialized(&self) -> bool {
1336        true
1337    }
1338
1339    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1340        while !is.eof()? {
1341            let (field_number, wire_type) = is.read_tag_unpack()?;
1342            match field_number {
1343                1 => {
1344                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
1345                },
1346                2 => {
1347                    ::protobuf::rt::read_map_into::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<AttrValue>>(wire_type, is, &mut self.attr)?;
1348                },
1349                _ => {
1350                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
1351                },
1352            };
1353        }
1354        ::std::result::Result::Ok(())
1355    }
1356
1357    // Compute sizes of nested messages
1358    #[allow(unused_variables)]
1359    fn compute_size(&self) -> u32 {
1360        let mut my_size = 0;
1361        if !self.name.is_empty() {
1362            my_size += ::protobuf::rt::string_size(1, &self.name);
1363        }
1364        my_size += ::protobuf::rt::compute_map_size::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<AttrValue>>(2, &self.attr);
1365        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
1366        self.cached_size.set(my_size);
1367        my_size
1368    }
1369
1370    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
1371        if !self.name.is_empty() {
1372            os.write_string(1, &self.name)?;
1373        }
1374        ::protobuf::rt::write_map_with_cached_sizes::<::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<AttrValue>>(2, &self.attr, os)?;
1375        os.write_unknown_fields(self.get_unknown_fields())?;
1376        ::std::result::Result::Ok(())
1377    }
1378
1379    fn get_cached_size(&self) -> u32 {
1380        self.cached_size.get()
1381    }
1382
1383    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
1384        &self.unknown_fields
1385    }
1386
1387    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
1388        &mut self.unknown_fields
1389    }
1390
1391    fn as_any(&self) -> &dyn (::std::any::Any) {
1392        self as &dyn (::std::any::Any)
1393    }
1394    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
1395        self as &mut dyn (::std::any::Any)
1396    }
1397    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
1398        self
1399    }
1400
1401    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
1402        Self::descriptor_static()
1403    }
1404
1405    fn new() -> NameAttrList {
1406        NameAttrList::new()
1407    }
1408
1409    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
1410        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
1411        descriptor.get(|| {
1412            let mut fields = ::std::vec::Vec::new();
1413            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
1414                "name",
1415                |m: &NameAttrList| { &m.name },
1416                |m: &mut NameAttrList| { &mut m.name },
1417            ));
1418            fields.push(::protobuf::reflect::accessor::make_map_accessor::<_, ::protobuf::types::ProtobufTypeString, ::protobuf::types::ProtobufTypeMessage<AttrValue>>(
1419                "attr",
1420                |m: &NameAttrList| { &m.attr },
1421                |m: &mut NameAttrList| { &mut m.attr },
1422            ));
1423            ::protobuf::reflect::MessageDescriptor::new_pb_name::<NameAttrList>(
1424                "NameAttrList",
1425                fields,
1426                file_descriptor_proto()
1427            )
1428        })
1429    }
1430
1431    fn default_instance() -> &'static NameAttrList {
1432        static instance: ::protobuf::rt::LazyV2<NameAttrList> = ::protobuf::rt::LazyV2::INIT;
1433        instance.get(NameAttrList::new)
1434    }
1435}
1436
1437impl ::protobuf::Clear for NameAttrList {
1438    fn clear(&mut self) {
1439        self.name.clear();
1440        self.attr.clear();
1441        self.unknown_fields.clear();
1442    }
1443}
1444
1445impl ::std::fmt::Debug for NameAttrList {
1446    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1447        ::protobuf::text_format::fmt(self, f)
1448    }
1449}
1450
1451impl ::protobuf::reflect::ProtobufValue for NameAttrList {
1452    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
1453        ::protobuf::reflect::ReflectValueRef::Message(self)
1454    }
1455}
1456
1457static file_descriptor_proto_data: &'static [u8] = b"\
1458    \n\x14src/attr_value.proto\x12\rtensorboardrs\x1a\x10src/tensor.proto\
1459    \x1a\x16src/tensor_shape.proto\x1a\x0fsrc/types.proto\"\xa2\x05\n\tAttrV\
1460    alue\x12\x0e\n\x01s\x18\x02\x20\x01(\x0cH\0R\x01s\x12\x0e\n\x01i\x18\x03\
1461    \x20\x01(\x03H\0R\x01i\x12\x0e\n\x01f\x18\x04\x20\x01(\x02H\0R\x01f\x12\
1462    \x0e\n\x01b\x18\x05\x20\x01(\x08H\0R\x01b\x12-\n\x04type\x18\x06\x20\x01\
1463    (\x0e2\x17.tensorboardrs.DataTypeH\0R\x04type\x127\n\x05shape\x18\x07\
1464    \x20\x01(\x0b2\x1f.tensorboardrs.TensorShapeProtoH\0R\x05shape\x124\n\
1465    \x06tensor\x18\x08\x20\x01(\x0b2\x1a.tensorboardrs.TensorProtoH\0R\x06te\
1466    nsor\x128\n\x04list\x18\x01\x20\x01(\x0b2\".tensorboardrs.AttrValue.List\
1467    ValueH\0R\x04list\x121\n\x04func\x18\n\x20\x01(\x0b2\x1b.tensorboardrs.N\
1468    ameAttrListH\0R\x04func\x12\"\n\x0bplaceholder\x18\t\x20\x01(\tH\0R\x0bp\
1469    laceholder\x1a\x9c\x02\n\tListValue\x12\x0c\n\x01s\x18\x02\x20\x03(\x0cR\
1470    \x01s\x12\x10\n\x01i\x18\x03\x20\x03(\x03R\x01iB\x02\x10\x01\x12\x10\n\
1471    \x01f\x18\x04\x20\x03(\x02R\x01fB\x02\x10\x01\x12\x10\n\x01b\x18\x05\x20\
1472    \x03(\x08R\x01bB\x02\x10\x01\x12/\n\x04type\x18\x06\x20\x03(\x0e2\x17.te\
1473    nsorboardrs.DataTypeR\x04typeB\x02\x10\x01\x125\n\x05shape\x18\x07\x20\
1474    \x03(\x0b2\x1f.tensorboardrs.TensorShapeProtoR\x05shape\x122\n\x06tensor\
1475    \x18\x08\x20\x03(\x0b2\x1a.tensorboardrs.TensorProtoR\x06tensor\x12/\n\
1476    \x04func\x18\t\x20\x03(\x0b2\x1b.tensorboardrs.NameAttrListR\x04funcB\
1477    \x07\n\x05value\"\xb0\x01\n\x0cNameAttrList\x12\x12\n\x04name\x18\x01\
1478    \x20\x01(\tR\x04name\x129\n\x04attr\x18\x02\x20\x03(\x0b2%.tensorboardrs\
1479    .NameAttrList.AttrEntryR\x04attr\x1aQ\n\tAttrEntry\x12\x10\n\x03key\x18\
1480    \x01\x20\x01(\tR\x03key\x12.\n\x05value\x18\x02\x20\x01(\x0b2\x18.tensor\
1481    boardrs.AttrValueR\x05value:\x028\x01B0\n\x18org.tensorflow.frameworkB\
1482    \x0fAttrValueProtosP\x01\xf8\x01\x01J\x95\x16\n\x06\x12\x04\0\0=\x01\n\
1483    \x08\n\x01\x0c\x12\x03\0\0\x12\n\x08\n\x01\x02\x12\x03\x02\0\x16\n\x08\n\
1484    \x01\x08\x12\x03\x03\0\x1f\n\t\n\x02\x08\x1f\x12\x03\x03\0\x1f\n\x08\n\
1485    \x01\x08\x12\x03\x04\00\n\t\n\x02\x08\x08\x12\x03\x04\00\n\x08\n\x01\x08\
1486    \x12\x03\x05\0\"\n\t\n\x02\x08\n\x12\x03\x05\0\"\n\x08\n\x01\x08\x12\x03\
1487    \x06\01\n\t\n\x02\x08\x01\x12\x03\x06\01\n\t\n\x02\x03\0\x12\x03\x08\0\
1488    \x1a\n\t\n\x02\x03\x01\x12\x03\t\0\x20\n\t\n\x02\x03\x02\x12\x03\n\0\x19\
1489    \n\xc1\x01\n\x02\x04\0\x12\x04\x0f\06\x01\x1a\xb4\x01\x20Protocol\x20buf\
1490    fer\x20representing\x20the\x20value\x20for\x20an\x20attr\x20used\x20to\
1491    \x20configure\x20an\x20Op.\n\x20Comment\x20indicates\x20the\x20correspon\
1492    ding\x20attr\x20type.\x20\x20Only\x20the\x20field\x20matching\x20the\n\
1493    \x20attr\x20type\x20may\x20be\x20filled.\n\n\n\n\x03\x04\0\x01\x12\x03\
1494    \x0f\x08\x11\n\x1d\n\x04\x04\0\x03\0\x12\x04\x11\x02\x1a\x03\x1a\x0f\x20\
1495    LINT.IfChange\n\n\x0c\n\x05\x04\0\x03\0\x01\x12\x03\x11\n\x13\n\x1f\n\
1496    \x06\x04\0\x03\0\x02\0\x12\x03\x12\x04\x19\"\x10\x20\"list(string)\"\n\n\
1497    \x0e\n\x07\x04\0\x03\0\x02\0\x04\x12\x03\x12\x04\x0c\n\x0e\n\x07\x04\0\
1498    \x03\0\x02\0\x05\x12\x03\x12\r\x12\n\x0e\n\x07\x04\0\x03\0\x02\0\x01\x12\
1499    \x03\x12\x13\x14\n\x0e\n\x07\x04\0\x03\0\x02\0\x03\x12\x03\x12\x17\x18\n\
1500    \x1c\n\x06\x04\0\x03\0\x02\x01\x12\x03\x13\x04)\"\r\x20\"list(int)\"\n\n\
1501    \x0e\n\x07\x04\0\x03\0\x02\x01\x04\x12\x03\x13\x04\x0c\n\x0e\n\x07\x04\0\
1502    \x03\0\x02\x01\x05\x12\x03\x13\r\x12\n\x0e\n\x07\x04\0\x03\0\x02\x01\x01\
1503    \x12\x03\x13\x13\x14\n\x0e\n\x07\x04\0\x03\0\x02\x01\x03\x12\x03\x13\x17\
1504    \x18\n\x0e\n\x07\x04\0\x03\0\x02\x01\x08\x12\x03\x13\x19(\n\x0f\n\x08\
1505    \x04\0\x03\0\x02\x01\x08\x02\x12\x03\x13\x1a'\n\x1e\n\x06\x04\0\x03\0\
1506    \x02\x02\x12\x03\x14\x04)\"\x0f\x20\"list(float)\"\n\n\x0e\n\x07\x04\0\
1507    \x03\0\x02\x02\x04\x12\x03\x14\x04\x0c\n\x0e\n\x07\x04\0\x03\0\x02\x02\
1508    \x05\x12\x03\x14\r\x12\n\x0e\n\x07\x04\0\x03\0\x02\x02\x01\x12\x03\x14\
1509    \x13\x14\n\x0e\n\x07\x04\0\x03\0\x02\x02\x03\x12\x03\x14\x17\x18\n\x0e\n\
1510    \x07\x04\0\x03\0\x02\x02\x08\x12\x03\x14\x19(\n\x0f\n\x08\x04\0\x03\0\
1511    \x02\x02\x08\x02\x12\x03\x14\x1a'\n\x1d\n\x06\x04\0\x03\0\x02\x03\x12\
1512    \x03\x15\x04(\"\x0e\x20\"list(bool)\"\n\n\x0e\n\x07\x04\0\x03\0\x02\x03\
1513    \x04\x12\x03\x15\x04\x0c\n\x0e\n\x07\x04\0\x03\0\x02\x03\x05\x12\x03\x15\
1514    \r\x11\n\x0e\n\x07\x04\0\x03\0\x02\x03\x01\x12\x03\x15\x12\x13\n\x0e\n\
1515    \x07\x04\0\x03\0\x02\x03\x03\x12\x03\x15\x16\x17\n\x0e\n\x07\x04\0\x03\0\
1516    \x02\x03\x08\x12\x03\x15\x18'\n\x0f\n\x08\x04\0\x03\0\x02\x03\x08\x02\
1517    \x12\x03\x15\x19&\n\x1d\n\x06\x04\0\x03\0\x02\x04\x12\x03\x16\x04/\"\x0e\
1518    \x20\"list(type)\"\n\n\x0e\n\x07\x04\0\x03\0\x02\x04\x04\x12\x03\x16\x04\
1519    \x0c\n\x0e\n\x07\x04\0\x03\0\x02\x04\x06\x12\x03\x16\r\x15\n\x0e\n\x07\
1520    \x04\0\x03\0\x02\x04\x01\x12\x03\x16\x16\x1a\n\x0e\n\x07\x04\0\x03\0\x02\
1521    \x04\x03\x12\x03\x16\x1d\x1e\n\x0e\n\x07\x04\0\x03\0\x02\x04\x08\x12\x03\
1522    \x16\x1f.\n\x0f\n\x08\x04\0\x03\0\x02\x04\x08\x02\x12\x03\x16\x20-\n\x1e\
1523    \n\x06\x04\0\x03\0\x02\x05\x12\x03\x17\x04(\"\x0f\x20\"list(shape)\"\n\n\
1524    \x0e\n\x07\x04\0\x03\0\x02\x05\x04\x12\x03\x17\x04\x0c\n\x0e\n\x07\x04\0\
1525    \x03\0\x02\x05\x06\x12\x03\x17\r\x1d\n\x0e\n\x07\x04\0\x03\0\x02\x05\x01\
1526    \x12\x03\x17\x1e#\n\x0e\n\x07\x04\0\x03\0\x02\x05\x03\x12\x03\x17&'\n\
1527    \x1f\n\x06\x04\0\x03\0\x02\x06\x12\x03\x18\x04$\"\x10\x20\"list(tensor)\
1528    \"\n\n\x0e\n\x07\x04\0\x03\0\x02\x06\x04\x12\x03\x18\x04\x0c\n\x0e\n\x07\
1529    \x04\0\x03\0\x02\x06\x06\x12\x03\x18\r\x18\n\x0e\n\x07\x04\0\x03\0\x02\
1530    \x06\x01\x12\x03\x18\x19\x1f\n\x0e\n\x07\x04\0\x03\0\x02\x06\x03\x12\x03\
1531    \x18\"#\n\x1d\n\x06\x04\0\x03\0\x02\x07\x12\x03\x19\x04#\"\x0e\x20\"list\
1532    (attr)\"\n\n\x0e\n\x07\x04\0\x03\0\x02\x07\x04\x12\x03\x19\x04\x0c\n\x0e\
1533    \n\x07\x04\0\x03\0\x02\x07\x06\x12\x03\x19\r\x19\n\x0e\n\x07\x04\0\x03\0\
1534    \x02\x07\x01\x12\x03\x19\x1a\x1e\n\x0e\n\x07\x04\0\x03\0\x02\x07\x03\x12\
1535    \x03\x19!\"\n\x0c\n\x04\x04\0\x08\0\x12\x04\x1d\x025\x03\n\x0c\n\x05\x04\
1536    \0\x08\0\x01\x12\x03\x1d\x08\r\n\x17\n\x04\x04\0\x02\0\x12\x03\x1e\x04\
1537    \x10\"\n\x20\"string\"\n\n\x0c\n\x05\x04\0\x02\0\x05\x12\x03\x1e\x04\t\n\
1538    \x0c\n\x05\x04\0\x02\0\x01\x12\x03\x1e\n\x0b\n\x0c\n\x05\x04\0\x02\0\x03\
1539    \x12\x03\x1e\x0e\x0f\n\x14\n\x04\x04\0\x02\x01\x12\x03\x1f\x04\x10\"\x07\
1540    \x20\"int\"\n\n\x0c\n\x05\x04\0\x02\x01\x05\x12\x03\x1f\x04\t\n\x0c\n\
1541    \x05\x04\0\x02\x01\x01\x12\x03\x1f\n\x0b\n\x0c\n\x05\x04\0\x02\x01\x03\
1542    \x12\x03\x1f\x0e\x0f\n\x16\n\x04\x04\0\x02\x02\x12\x03\x20\x04\x10\"\t\
1543    \x20\"float\"\n\n\x0c\n\x05\x04\0\x02\x02\x05\x12\x03\x20\x04\t\n\x0c\n\
1544    \x05\x04\0\x02\x02\x01\x12\x03\x20\n\x0b\n\x0c\n\x05\x04\0\x02\x02\x03\
1545    \x12\x03\x20\x0e\x0f\n\x15\n\x04\x04\0\x02\x03\x12\x03!\x04\x0f\"\x08\
1546    \x20\"bool\"\n\n\x0c\n\x05\x04\0\x02\x03\x05\x12\x03!\x04\x08\n\x0c\n\
1547    \x05\x04\0\x02\x03\x01\x12\x03!\t\n\n\x0c\n\x05\x04\0\x02\x03\x03\x12\
1548    \x03!\r\x0e\n\x15\n\x04\x04\0\x02\x04\x12\x03\"\x04\x16\"\x08\x20\"type\
1549    \"\n\n\x0c\n\x05\x04\0\x02\x04\x06\x12\x03\"\x04\x0c\n\x0c\n\x05\x04\0\
1550    \x02\x04\x01\x12\x03\"\r\x11\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x03\"\x14\
1551    \x15\n\x16\n\x04\x04\0\x02\x05\x12\x03#\x04\x1f\"\t\x20\"shape\"\n\n\x0c\
1552    \n\x05\x04\0\x02\x05\x06\x12\x03#\x04\x14\n\x0c\n\x05\x04\0\x02\x05\x01\
1553    \x12\x03#\x15\x1a\n\x0c\n\x05\x04\0\x02\x05\x03\x12\x03#\x1d\x1e\n\x17\n\
1554    \x04\x04\0\x02\x06\x12\x03$\x04\x1b\"\n\x20\"tensor\"\n\n\x0c\n\x05\x04\
1555    \0\x02\x06\x06\x12\x03$\x04\x0f\n\x0c\n\x05\x04\0\x02\x06\x01\x12\x03$\
1556    \x10\x16\n\x0c\n\x05\x04\0\x02\x06\x03\x12\x03$\x19\x1a\n\x1e\n\x04\x04\
1557    \0\x02\x07\x12\x03%\x04\x17\"\x11\x20any\x20\"list(...)\"\n\n\x0c\n\x05\
1558    \x04\0\x02\x07\x06\x12\x03%\x04\r\n\x0c\n\x05\x04\0\x02\x07\x01\x12\x03%\
1559    \x0e\x12\n\x0c\n\x05\x04\0\x02\x07\x03\x12\x03%\x15\x16\n\xed\x01\n\x04\
1560    \x04\0\x02\x08\x12\x03+\x04\x1b\x1a\xdf\x01\x20\"func\"\x20represents\
1561    \x20a\x20function.\x20func.name\x20is\x20a\x20function's\x20name\x20or\n\
1562    \x20a\x20primitive\x20op's\x20name.\x20func.attr.first\x20is\x20the\x20n\
1563    ame\x20of\x20an\x20attr\n\x20defined\x20for\x20that\x20function.\x20func\
1564    .attr.second\x20is\x20the\x20value\x20for\n\x20that\x20attr\x20in\x20the\
1565    \x20instantiation.\n\n\x0c\n\x05\x04\0\x02\x08\x06\x12\x03+\x04\x10\n\
1566    \x0c\n\x05\x04\0\x02\x08\x01\x12\x03+\x11\x15\n\x0c\n\x05\x04\0\x02\x08\
1567    \x03\x12\x03+\x18\x1a\n\x95\x03\n\x04\x04\0\x02\t\x12\x034\x04\x1b\x1a\
1568    \x87\x03\x20This\x20is\x20a\x20placeholder\x20only\x20used\x20in\x20node\
1569    s\x20defined\x20inside\x20a\n\x20function.\x20\x20It\x20indicates\x20the\
1570    \x20attr\x20value\x20will\x20be\x20supplied\x20when\n\x20the\x20function\
1571    \x20is\x20instantiated.\x20\x20For\x20example,\x20let\x20us\x20suppose\
1572    \x20a\n\x20node\x20\"N\"\x20in\x20function\x20\"FN\".\x20\"N\"\x20has\
1573    \x20an\x20attr\x20\"A\"\x20with\x20value\n\x20placeholder\x20=\x20\"foo\
1574    \".\x20When\x20FN\x20is\x20instantiated\x20with\x20attr\x20\"foo\"\n\x20\
1575    set\x20to\x20\"bar\",\x20the\x20instantiated\x20node\x20N's\x20attr\x20A\
1576    \x20will\x20have\x20been\n\x20given\x20the\x20value\x20\"bar\".\n\n\x0c\
1577    \n\x05\x04\0\x02\t\x05\x12\x034\x04\n\n\x0c\n\x05\x04\0\x02\t\x01\x12\
1578    \x034\x0b\x16\n\x0c\n\x05\x04\0\x02\t\x03\x12\x034\x19\x1a\n|\n\x02\x04\
1579    \x01\x12\x04:\0=\x01\x1ap\x20A\x20list\x20of\x20attr\x20names\x20and\x20\
1580    their\x20values.\x20The\x20whole\x20list\x20is\x20attached\n\x20with\x20\
1581    a\x20string\x20name.\x20\x20E.g.,\x20MatMul[T=float].\n\n\n\n\x03\x04\
1582    \x01\x01\x12\x03:\x08\x14\n\x0b\n\x04\x04\x01\x02\0\x12\x03;\x02\x12\n\
1583    \x0c\n\x05\x04\x01\x02\0\x05\x12\x03;\x02\x08\n\x0c\n\x05\x04\x01\x02\0\
1584    \x01\x12\x03;\t\r\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03;\x10\x11\n\x0b\n\
1585    \x04\x04\x01\x02\x01\x12\x03<\x02\"\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\
1586    \x03<\x02\x18\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03<\x19\x1d\n\x0c\n\
1587    \x05\x04\x01\x02\x01\x03\x12\x03<\x20!b\x06proto3\
1588";
1589
1590static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
1591
1592fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
1593    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
1594}
1595
1596pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
1597    file_descriptor_proto_lazy.get(|| {
1598        parse_descriptor_proto()
1599    })
1600}