google_cloud_rust_raw/api/
documentation.rs

1// This file is generated by rust-protobuf 2.28.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#![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 `google/api/documentation.proto`
21
22/// Generated files are compatible only with the same version
23/// of protobuf runtime.
24// const _PROTOBUF_VERSION_CHECK: () = ::protobuf::VERSION_2_28_0;
25
26#[derive(PartialEq,Clone,Default)]
27pub struct Documentation {
28    // message fields
29    pub summary: ::std::string::String,
30    pub pages: ::protobuf::RepeatedField<Page>,
31    pub rules: ::protobuf::RepeatedField<DocumentationRule>,
32    pub documentation_root_url: ::std::string::String,
33    pub service_root_url: ::std::string::String,
34    pub overview: ::std::string::String,
35    // special fields
36    pub unknown_fields: ::protobuf::UnknownFields,
37    pub cached_size: ::protobuf::CachedSize,
38}
39
40impl<'a> ::std::default::Default for &'a Documentation {
41    fn default() -> &'a Documentation {
42        <Documentation as ::protobuf::Message>::default_instance()
43    }
44}
45
46impl Documentation {
47    pub fn new() -> Documentation {
48        ::std::default::Default::default()
49    }
50
51    // string summary = 1;
52
53
54    pub fn get_summary(&self) -> &str {
55        &self.summary
56    }
57    pub fn clear_summary(&mut self) {
58        self.summary.clear();
59    }
60
61    // Param is passed by value, moved
62    pub fn set_summary(&mut self, v: ::std::string::String) {
63        self.summary = v;
64    }
65
66    // Mutable pointer to the field.
67    // If field is not initialized, it is initialized with default value first.
68    pub fn mut_summary(&mut self) -> &mut ::std::string::String {
69        &mut self.summary
70    }
71
72    // Take field
73    pub fn take_summary(&mut self) -> ::std::string::String {
74        ::std::mem::replace(&mut self.summary, ::std::string::String::new())
75    }
76
77    // repeated .google.api.Page pages = 5;
78
79
80    pub fn get_pages(&self) -> &[Page] {
81        &self.pages
82    }
83    pub fn clear_pages(&mut self) {
84        self.pages.clear();
85    }
86
87    // Param is passed by value, moved
88    pub fn set_pages(&mut self, v: ::protobuf::RepeatedField<Page>) {
89        self.pages = v;
90    }
91
92    // Mutable pointer to the field.
93    pub fn mut_pages(&mut self) -> &mut ::protobuf::RepeatedField<Page> {
94        &mut self.pages
95    }
96
97    // Take field
98    pub fn take_pages(&mut self) -> ::protobuf::RepeatedField<Page> {
99        ::std::mem::replace(&mut self.pages, ::protobuf::RepeatedField::new())
100    }
101
102    // repeated .google.api.DocumentationRule rules = 3;
103
104
105    pub fn get_rules(&self) -> &[DocumentationRule] {
106        &self.rules
107    }
108    pub fn clear_rules(&mut self) {
109        self.rules.clear();
110    }
111
112    // Param is passed by value, moved
113    pub fn set_rules(&mut self, v: ::protobuf::RepeatedField<DocumentationRule>) {
114        self.rules = v;
115    }
116
117    // Mutable pointer to the field.
118    pub fn mut_rules(&mut self) -> &mut ::protobuf::RepeatedField<DocumentationRule> {
119        &mut self.rules
120    }
121
122    // Take field
123    pub fn take_rules(&mut self) -> ::protobuf::RepeatedField<DocumentationRule> {
124        ::std::mem::replace(&mut self.rules, ::protobuf::RepeatedField::new())
125    }
126
127    // string documentation_root_url = 4;
128
129
130    pub fn get_documentation_root_url(&self) -> &str {
131        &self.documentation_root_url
132    }
133    pub fn clear_documentation_root_url(&mut self) {
134        self.documentation_root_url.clear();
135    }
136
137    // Param is passed by value, moved
138    pub fn set_documentation_root_url(&mut self, v: ::std::string::String) {
139        self.documentation_root_url = v;
140    }
141
142    // Mutable pointer to the field.
143    // If field is not initialized, it is initialized with default value first.
144    pub fn mut_documentation_root_url(&mut self) -> &mut ::std::string::String {
145        &mut self.documentation_root_url
146    }
147
148    // Take field
149    pub fn take_documentation_root_url(&mut self) -> ::std::string::String {
150        ::std::mem::replace(&mut self.documentation_root_url, ::std::string::String::new())
151    }
152
153    // string service_root_url = 6;
154
155
156    pub fn get_service_root_url(&self) -> &str {
157        &self.service_root_url
158    }
159    pub fn clear_service_root_url(&mut self) {
160        self.service_root_url.clear();
161    }
162
163    // Param is passed by value, moved
164    pub fn set_service_root_url(&mut self, v: ::std::string::String) {
165        self.service_root_url = v;
166    }
167
168    // Mutable pointer to the field.
169    // If field is not initialized, it is initialized with default value first.
170    pub fn mut_service_root_url(&mut self) -> &mut ::std::string::String {
171        &mut self.service_root_url
172    }
173
174    // Take field
175    pub fn take_service_root_url(&mut self) -> ::std::string::String {
176        ::std::mem::replace(&mut self.service_root_url, ::std::string::String::new())
177    }
178
179    // string overview = 2;
180
181
182    pub fn get_overview(&self) -> &str {
183        &self.overview
184    }
185    pub fn clear_overview(&mut self) {
186        self.overview.clear();
187    }
188
189    // Param is passed by value, moved
190    pub fn set_overview(&mut self, v: ::std::string::String) {
191        self.overview = v;
192    }
193
194    // Mutable pointer to the field.
195    // If field is not initialized, it is initialized with default value first.
196    pub fn mut_overview(&mut self) -> &mut ::std::string::String {
197        &mut self.overview
198    }
199
200    // Take field
201    pub fn take_overview(&mut self) -> ::std::string::String {
202        ::std::mem::replace(&mut self.overview, ::std::string::String::new())
203    }
204}
205
206impl ::protobuf::Message for Documentation {
207    fn is_initialized(&self) -> bool {
208        for v in &self.pages {
209            if !v.is_initialized() {
210                return false;
211            }
212        };
213        for v in &self.rules {
214            if !v.is_initialized() {
215                return false;
216            }
217        };
218        true
219    }
220
221    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
222        while !is.eof()? {
223            let (field_number, wire_type) = is.read_tag_unpack()?;
224            match field_number {
225                1 => {
226                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.summary)?;
227                },
228                5 => {
229                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.pages)?;
230                },
231                3 => {
232                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.rules)?;
233                },
234                4 => {
235                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.documentation_root_url)?;
236                },
237                6 => {
238                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.service_root_url)?;
239                },
240                2 => {
241                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.overview)?;
242                },
243                _ => {
244                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
245                },
246            };
247        }
248        ::std::result::Result::Ok(())
249    }
250
251    // Compute sizes of nested messages
252    #[allow(unused_variables)]
253    fn compute_size(&self) -> u32 {
254        let mut my_size = 0;
255        if !self.summary.is_empty() {
256            my_size += ::protobuf::rt::string_size(1, &self.summary);
257        }
258        for value in &self.pages {
259            let len = value.compute_size();
260            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
261        };
262        for value in &self.rules {
263            let len = value.compute_size();
264            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
265        };
266        if !self.documentation_root_url.is_empty() {
267            my_size += ::protobuf::rt::string_size(4, &self.documentation_root_url);
268        }
269        if !self.service_root_url.is_empty() {
270            my_size += ::protobuf::rt::string_size(6, &self.service_root_url);
271        }
272        if !self.overview.is_empty() {
273            my_size += ::protobuf::rt::string_size(2, &self.overview);
274        }
275        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
276        self.cached_size.set(my_size);
277        my_size
278    }
279
280    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
281        if !self.summary.is_empty() {
282            os.write_string(1, &self.summary)?;
283        }
284        for v in &self.pages {
285            os.write_tag(5, ::protobuf::wire_format::WireTypeLengthDelimited)?;
286            os.write_raw_varint32(v.get_cached_size())?;
287            v.write_to_with_cached_sizes(os)?;
288        };
289        for v in &self.rules {
290            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
291            os.write_raw_varint32(v.get_cached_size())?;
292            v.write_to_with_cached_sizes(os)?;
293        };
294        if !self.documentation_root_url.is_empty() {
295            os.write_string(4, &self.documentation_root_url)?;
296        }
297        if !self.service_root_url.is_empty() {
298            os.write_string(6, &self.service_root_url)?;
299        }
300        if !self.overview.is_empty() {
301            os.write_string(2, &self.overview)?;
302        }
303        os.write_unknown_fields(self.get_unknown_fields())?;
304        ::std::result::Result::Ok(())
305    }
306
307    fn get_cached_size(&self) -> u32 {
308        self.cached_size.get()
309    }
310
311    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
312        &self.unknown_fields
313    }
314
315    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
316        &mut self.unknown_fields
317    }
318
319    fn as_any(&self) -> &dyn (::std::any::Any) {
320        self as &dyn (::std::any::Any)
321    }
322    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
323        self as &mut dyn (::std::any::Any)
324    }
325    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
326        self
327    }
328
329    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
330        Self::descriptor_static()
331    }
332
333    fn new() -> Documentation {
334        Documentation::new()
335    }
336
337    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
338        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
339        descriptor.get(|| {
340            let mut fields = ::std::vec::Vec::new();
341            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
342                "summary",
343                |m: &Documentation| { &m.summary },
344                |m: &mut Documentation| { &mut m.summary },
345            ));
346            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Page>>(
347                "pages",
348                |m: &Documentation| { &m.pages },
349                |m: &mut Documentation| { &mut m.pages },
350            ));
351            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<DocumentationRule>>(
352                "rules",
353                |m: &Documentation| { &m.rules },
354                |m: &mut Documentation| { &mut m.rules },
355            ));
356            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
357                "documentation_root_url",
358                |m: &Documentation| { &m.documentation_root_url },
359                |m: &mut Documentation| { &mut m.documentation_root_url },
360            ));
361            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
362                "service_root_url",
363                |m: &Documentation| { &m.service_root_url },
364                |m: &mut Documentation| { &mut m.service_root_url },
365            ));
366            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
367                "overview",
368                |m: &Documentation| { &m.overview },
369                |m: &mut Documentation| { &mut m.overview },
370            ));
371            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Documentation>(
372                "Documentation",
373                fields,
374                file_descriptor_proto()
375            )
376        })
377    }
378
379    fn default_instance() -> &'static Documentation {
380        static instance: ::protobuf::rt::LazyV2<Documentation> = ::protobuf::rt::LazyV2::INIT;
381        instance.get(Documentation::new)
382    }
383}
384
385impl ::protobuf::Clear for Documentation {
386    fn clear(&mut self) {
387        self.summary.clear();
388        self.pages.clear();
389        self.rules.clear();
390        self.documentation_root_url.clear();
391        self.service_root_url.clear();
392        self.overview.clear();
393        self.unknown_fields.clear();
394    }
395}
396
397impl ::std::fmt::Debug for Documentation {
398    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
399        ::protobuf::text_format::fmt(self, f)
400    }
401}
402
403impl ::protobuf::reflect::ProtobufValue for Documentation {
404    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
405        ::protobuf::reflect::ReflectValueRef::Message(self)
406    }
407}
408
409#[derive(PartialEq,Clone,Default)]
410pub struct DocumentationRule {
411    // message fields
412    pub selector: ::std::string::String,
413    pub description: ::std::string::String,
414    pub deprecation_description: ::std::string::String,
415    // special fields
416    pub unknown_fields: ::protobuf::UnknownFields,
417    pub cached_size: ::protobuf::CachedSize,
418}
419
420impl<'a> ::std::default::Default for &'a DocumentationRule {
421    fn default() -> &'a DocumentationRule {
422        <DocumentationRule as ::protobuf::Message>::default_instance()
423    }
424}
425
426impl DocumentationRule {
427    pub fn new() -> DocumentationRule {
428        ::std::default::Default::default()
429    }
430
431    // string selector = 1;
432
433
434    pub fn get_selector(&self) -> &str {
435        &self.selector
436    }
437    pub fn clear_selector(&mut self) {
438        self.selector.clear();
439    }
440
441    // Param is passed by value, moved
442    pub fn set_selector(&mut self, v: ::std::string::String) {
443        self.selector = v;
444    }
445
446    // Mutable pointer to the field.
447    // If field is not initialized, it is initialized with default value first.
448    pub fn mut_selector(&mut self) -> &mut ::std::string::String {
449        &mut self.selector
450    }
451
452    // Take field
453    pub fn take_selector(&mut self) -> ::std::string::String {
454        ::std::mem::replace(&mut self.selector, ::std::string::String::new())
455    }
456
457    // string description = 2;
458
459
460    pub fn get_description(&self) -> &str {
461        &self.description
462    }
463    pub fn clear_description(&mut self) {
464        self.description.clear();
465    }
466
467    // Param is passed by value, moved
468    pub fn set_description(&mut self, v: ::std::string::String) {
469        self.description = v;
470    }
471
472    // Mutable pointer to the field.
473    // If field is not initialized, it is initialized with default value first.
474    pub fn mut_description(&mut self) -> &mut ::std::string::String {
475        &mut self.description
476    }
477
478    // Take field
479    pub fn take_description(&mut self) -> ::std::string::String {
480        ::std::mem::replace(&mut self.description, ::std::string::String::new())
481    }
482
483    // string deprecation_description = 3;
484
485
486    pub fn get_deprecation_description(&self) -> &str {
487        &self.deprecation_description
488    }
489    pub fn clear_deprecation_description(&mut self) {
490        self.deprecation_description.clear();
491    }
492
493    // Param is passed by value, moved
494    pub fn set_deprecation_description(&mut self, v: ::std::string::String) {
495        self.deprecation_description = v;
496    }
497
498    // Mutable pointer to the field.
499    // If field is not initialized, it is initialized with default value first.
500    pub fn mut_deprecation_description(&mut self) -> &mut ::std::string::String {
501        &mut self.deprecation_description
502    }
503
504    // Take field
505    pub fn take_deprecation_description(&mut self) -> ::std::string::String {
506        ::std::mem::replace(&mut self.deprecation_description, ::std::string::String::new())
507    }
508}
509
510impl ::protobuf::Message for DocumentationRule {
511    fn is_initialized(&self) -> bool {
512        true
513    }
514
515    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
516        while !is.eof()? {
517            let (field_number, wire_type) = is.read_tag_unpack()?;
518            match field_number {
519                1 => {
520                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.selector)?;
521                },
522                2 => {
523                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.description)?;
524                },
525                3 => {
526                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.deprecation_description)?;
527                },
528                _ => {
529                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
530                },
531            };
532        }
533        ::std::result::Result::Ok(())
534    }
535
536    // Compute sizes of nested messages
537    #[allow(unused_variables)]
538    fn compute_size(&self) -> u32 {
539        let mut my_size = 0;
540        if !self.selector.is_empty() {
541            my_size += ::protobuf::rt::string_size(1, &self.selector);
542        }
543        if !self.description.is_empty() {
544            my_size += ::protobuf::rt::string_size(2, &self.description);
545        }
546        if !self.deprecation_description.is_empty() {
547            my_size += ::protobuf::rt::string_size(3, &self.deprecation_description);
548        }
549        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
550        self.cached_size.set(my_size);
551        my_size
552    }
553
554    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
555        if !self.selector.is_empty() {
556            os.write_string(1, &self.selector)?;
557        }
558        if !self.description.is_empty() {
559            os.write_string(2, &self.description)?;
560        }
561        if !self.deprecation_description.is_empty() {
562            os.write_string(3, &self.deprecation_description)?;
563        }
564        os.write_unknown_fields(self.get_unknown_fields())?;
565        ::std::result::Result::Ok(())
566    }
567
568    fn get_cached_size(&self) -> u32 {
569        self.cached_size.get()
570    }
571
572    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
573        &self.unknown_fields
574    }
575
576    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
577        &mut self.unknown_fields
578    }
579
580    fn as_any(&self) -> &dyn (::std::any::Any) {
581        self as &dyn (::std::any::Any)
582    }
583    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
584        self as &mut dyn (::std::any::Any)
585    }
586    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
587        self
588    }
589
590    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
591        Self::descriptor_static()
592    }
593
594    fn new() -> DocumentationRule {
595        DocumentationRule::new()
596    }
597
598    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
599        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
600        descriptor.get(|| {
601            let mut fields = ::std::vec::Vec::new();
602            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
603                "selector",
604                |m: &DocumentationRule| { &m.selector },
605                |m: &mut DocumentationRule| { &mut m.selector },
606            ));
607            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
608                "description",
609                |m: &DocumentationRule| { &m.description },
610                |m: &mut DocumentationRule| { &mut m.description },
611            ));
612            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
613                "deprecation_description",
614                |m: &DocumentationRule| { &m.deprecation_description },
615                |m: &mut DocumentationRule| { &mut m.deprecation_description },
616            ));
617            ::protobuf::reflect::MessageDescriptor::new_pb_name::<DocumentationRule>(
618                "DocumentationRule",
619                fields,
620                file_descriptor_proto()
621            )
622        })
623    }
624
625    fn default_instance() -> &'static DocumentationRule {
626        static instance: ::protobuf::rt::LazyV2<DocumentationRule> = ::protobuf::rt::LazyV2::INIT;
627        instance.get(DocumentationRule::new)
628    }
629}
630
631impl ::protobuf::Clear for DocumentationRule {
632    fn clear(&mut self) {
633        self.selector.clear();
634        self.description.clear();
635        self.deprecation_description.clear();
636        self.unknown_fields.clear();
637    }
638}
639
640impl ::std::fmt::Debug for DocumentationRule {
641    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
642        ::protobuf::text_format::fmt(self, f)
643    }
644}
645
646impl ::protobuf::reflect::ProtobufValue for DocumentationRule {
647    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
648        ::protobuf::reflect::ReflectValueRef::Message(self)
649    }
650}
651
652#[derive(PartialEq,Clone,Default)]
653pub struct Page {
654    // message fields
655    pub name: ::std::string::String,
656    pub content: ::std::string::String,
657    pub subpages: ::protobuf::RepeatedField<Page>,
658    // special fields
659    pub unknown_fields: ::protobuf::UnknownFields,
660    pub cached_size: ::protobuf::CachedSize,
661}
662
663impl<'a> ::std::default::Default for &'a Page {
664    fn default() -> &'a Page {
665        <Page as ::protobuf::Message>::default_instance()
666    }
667}
668
669impl Page {
670    pub fn new() -> Page {
671        ::std::default::Default::default()
672    }
673
674    // string name = 1;
675
676
677    pub fn get_name(&self) -> &str {
678        &self.name
679    }
680    pub fn clear_name(&mut self) {
681        self.name.clear();
682    }
683
684    // Param is passed by value, moved
685    pub fn set_name(&mut self, v: ::std::string::String) {
686        self.name = v;
687    }
688
689    // Mutable pointer to the field.
690    // If field is not initialized, it is initialized with default value first.
691    pub fn mut_name(&mut self) -> &mut ::std::string::String {
692        &mut self.name
693    }
694
695    // Take field
696    pub fn take_name(&mut self) -> ::std::string::String {
697        ::std::mem::replace(&mut self.name, ::std::string::String::new())
698    }
699
700    // string content = 2;
701
702
703    pub fn get_content(&self) -> &str {
704        &self.content
705    }
706    pub fn clear_content(&mut self) {
707        self.content.clear();
708    }
709
710    // Param is passed by value, moved
711    pub fn set_content(&mut self, v: ::std::string::String) {
712        self.content = v;
713    }
714
715    // Mutable pointer to the field.
716    // If field is not initialized, it is initialized with default value first.
717    pub fn mut_content(&mut self) -> &mut ::std::string::String {
718        &mut self.content
719    }
720
721    // Take field
722    pub fn take_content(&mut self) -> ::std::string::String {
723        ::std::mem::replace(&mut self.content, ::std::string::String::new())
724    }
725
726    // repeated .google.api.Page subpages = 3;
727
728
729    pub fn get_subpages(&self) -> &[Page] {
730        &self.subpages
731    }
732    pub fn clear_subpages(&mut self) {
733        self.subpages.clear();
734    }
735
736    // Param is passed by value, moved
737    pub fn set_subpages(&mut self, v: ::protobuf::RepeatedField<Page>) {
738        self.subpages = v;
739    }
740
741    // Mutable pointer to the field.
742    pub fn mut_subpages(&mut self) -> &mut ::protobuf::RepeatedField<Page> {
743        &mut self.subpages
744    }
745
746    // Take field
747    pub fn take_subpages(&mut self) -> ::protobuf::RepeatedField<Page> {
748        ::std::mem::replace(&mut self.subpages, ::protobuf::RepeatedField::new())
749    }
750}
751
752impl ::protobuf::Message for Page {
753    fn is_initialized(&self) -> bool {
754        for v in &self.subpages {
755            if !v.is_initialized() {
756                return false;
757            }
758        };
759        true
760    }
761
762    fn merge_from(&mut self, is: &mut ::protobuf::CodedInputStream<'_>) -> ::protobuf::ProtobufResult<()> {
763        while !is.eof()? {
764            let (field_number, wire_type) = is.read_tag_unpack()?;
765            match field_number {
766                1 => {
767                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.name)?;
768                },
769                2 => {
770                    ::protobuf::rt::read_singular_proto3_string_into(wire_type, is, &mut self.content)?;
771                },
772                3 => {
773                    ::protobuf::rt::read_repeated_message_into(wire_type, is, &mut self.subpages)?;
774                },
775                _ => {
776                    ::protobuf::rt::read_unknown_or_skip_group(field_number, wire_type, is, self.mut_unknown_fields())?;
777                },
778            };
779        }
780        ::std::result::Result::Ok(())
781    }
782
783    // Compute sizes of nested messages
784    #[allow(unused_variables)]
785    fn compute_size(&self) -> u32 {
786        let mut my_size = 0;
787        if !self.name.is_empty() {
788            my_size += ::protobuf::rt::string_size(1, &self.name);
789        }
790        if !self.content.is_empty() {
791            my_size += ::protobuf::rt::string_size(2, &self.content);
792        }
793        for value in &self.subpages {
794            let len = value.compute_size();
795            my_size += 1 + ::protobuf::rt::compute_raw_varint32_size(len) + len;
796        };
797        my_size += ::protobuf::rt::unknown_fields_size(self.get_unknown_fields());
798        self.cached_size.set(my_size);
799        my_size
800    }
801
802    fn write_to_with_cached_sizes(&self, os: &mut ::protobuf::CodedOutputStream<'_>) -> ::protobuf::ProtobufResult<()> {
803        if !self.name.is_empty() {
804            os.write_string(1, &self.name)?;
805        }
806        if !self.content.is_empty() {
807            os.write_string(2, &self.content)?;
808        }
809        for v in &self.subpages {
810            os.write_tag(3, ::protobuf::wire_format::WireTypeLengthDelimited)?;
811            os.write_raw_varint32(v.get_cached_size())?;
812            v.write_to_with_cached_sizes(os)?;
813        };
814        os.write_unknown_fields(self.get_unknown_fields())?;
815        ::std::result::Result::Ok(())
816    }
817
818    fn get_cached_size(&self) -> u32 {
819        self.cached_size.get()
820    }
821
822    fn get_unknown_fields(&self) -> &::protobuf::UnknownFields {
823        &self.unknown_fields
824    }
825
826    fn mut_unknown_fields(&mut self) -> &mut ::protobuf::UnknownFields {
827        &mut self.unknown_fields
828    }
829
830    fn as_any(&self) -> &dyn (::std::any::Any) {
831        self as &dyn (::std::any::Any)
832    }
833    fn as_any_mut(&mut self) -> &mut dyn (::std::any::Any) {
834        self as &mut dyn (::std::any::Any)
835    }
836    fn into_any(self: ::std::boxed::Box<Self>) -> ::std::boxed::Box<dyn (::std::any::Any)> {
837        self
838    }
839
840    fn descriptor(&self) -> &'static ::protobuf::reflect::MessageDescriptor {
841        Self::descriptor_static()
842    }
843
844    fn new() -> Page {
845        Page::new()
846    }
847
848    fn descriptor_static() -> &'static ::protobuf::reflect::MessageDescriptor {
849        static descriptor: ::protobuf::rt::LazyV2<::protobuf::reflect::MessageDescriptor> = ::protobuf::rt::LazyV2::INIT;
850        descriptor.get(|| {
851            let mut fields = ::std::vec::Vec::new();
852            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
853                "name",
854                |m: &Page| { &m.name },
855                |m: &mut Page| { &mut m.name },
856            ));
857            fields.push(::protobuf::reflect::accessor::make_simple_field_accessor::<_, ::protobuf::types::ProtobufTypeString>(
858                "content",
859                |m: &Page| { &m.content },
860                |m: &mut Page| { &mut m.content },
861            ));
862            fields.push(::protobuf::reflect::accessor::make_repeated_field_accessor::<_, ::protobuf::types::ProtobufTypeMessage<Page>>(
863                "subpages",
864                |m: &Page| { &m.subpages },
865                |m: &mut Page| { &mut m.subpages },
866            ));
867            ::protobuf::reflect::MessageDescriptor::new_pb_name::<Page>(
868                "Page",
869                fields,
870                file_descriptor_proto()
871            )
872        })
873    }
874
875    fn default_instance() -> &'static Page {
876        static instance: ::protobuf::rt::LazyV2<Page> = ::protobuf::rt::LazyV2::INIT;
877        instance.get(Page::new)
878    }
879}
880
881impl ::protobuf::Clear for Page {
882    fn clear(&mut self) {
883        self.name.clear();
884        self.content.clear();
885        self.subpages.clear();
886        self.unknown_fields.clear();
887    }
888}
889
890impl ::std::fmt::Debug for Page {
891    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
892        ::protobuf::text_format::fmt(self, f)
893    }
894}
895
896impl ::protobuf::reflect::ProtobufValue for Page {
897    fn as_ref(&self) -> ::protobuf::reflect::ReflectValueRef {
898        ::protobuf::reflect::ReflectValueRef::Message(self)
899    }
900}
901
902static file_descriptor_proto_data: &'static [u8] = b"\
903    \n\x1egoogle/api/documentation.proto\x12\ngoogle.api\"\x82\x02\n\rDocume\
904    ntation\x12\x18\n\x07summary\x18\x01\x20\x01(\tR\x07summary\x12&\n\x05pa\
905    ges\x18\x05\x20\x03(\x0b2\x10.google.api.PageR\x05pages\x123\n\x05rules\
906    \x18\x03\x20\x03(\x0b2\x1d.google.api.DocumentationRuleR\x05rules\x124\n\
907    \x16documentation_root_url\x18\x04\x20\x01(\tR\x14documentationRootUrl\
908    \x12(\n\x10service_root_url\x18\x06\x20\x01(\tR\x0eserviceRootUrl\x12\
909    \x1a\n\x08overview\x18\x02\x20\x01(\tR\x08overview\"\x8a\x01\n\x11Docume\
910    ntationRule\x12\x1a\n\x08selector\x18\x01\x20\x01(\tR\x08selector\x12\
911    \x20\n\x0bdescription\x18\x02\x20\x01(\tR\x0bdescription\x127\n\x17depre\
912    cation_description\x18\x03\x20\x01(\tR\x16deprecationDescription\"b\n\
913    \x04Page\x12\x12\n\x04name\x18\x01\x20\x01(\tR\x04name\x12\x18\n\x07cont\
914    ent\x18\x02\x20\x01(\tR\x07content\x12,\n\x08subpages\x18\x03\x20\x03(\
915    \x0b2\x10.google.api.PageR\x08subpagesBt\n\x0ecom.google.apiB\x12Documen\
916    tationProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceconfi\
917    g;serviceconfig\xa2\x02\x04GAPIJ\xb85\n\x07\x12\x05\x0e\0\xa7\x01\x01\n\
918    \xbc\x04\n\x01\x0c\x12\x03\x0e\0\x122\xb1\x04\x20Copyright\x202023\x20Go\
919    ogle\x20LLC\n\n\x20Licensed\x20under\x20the\x20Apache\x20License,\x20Ver\
920    sion\x202.0\x20(the\x20\"License\");\n\x20you\x20may\x20not\x20use\x20th\
921    is\x20file\x20except\x20in\x20compliance\x20with\x20the\x20License.\n\
922    \x20You\x20may\x20obtain\x20a\x20copy\x20of\x20the\x20License\x20at\n\n\
923    \x20\x20\x20\x20\x20http://www.apache.org/licenses/LICENSE-2.0\n\n\x20Un\
924    less\x20required\x20by\x20applicable\x20law\x20or\x20agreed\x20to\x20in\
925    \x20writing,\x20software\n\x20distributed\x20under\x20the\x20License\x20\
926    is\x20distributed\x20on\x20an\x20\"AS\x20IS\"\x20BASIS,\n\x20WITHOUT\x20\
927    WARRANTIES\x20OR\x20CONDITIONS\x20OF\x20ANY\x20KIND,\x20either\x20expres\
928    s\x20or\x20implied.\n\x20See\x20the\x20License\x20for\x20the\x20specific\
929    \x20language\x20governing\x20permissions\x20and\n\x20limitations\x20unde\
930    r\x20the\x20License.\n\n\x08\n\x01\x02\x12\x03\x10\0\x13\n\x08\n\x01\x08\
931    \x12\x03\x12\0\\\n\t\n\x02\x08\x0b\x12\x03\x12\0\\\n\x08\n\x01\x08\x12\
932    \x03\x13\0\"\n\t\n\x02\x08\n\x12\x03\x13\0\"\n\x08\n\x01\x08\x12\x03\x14\
933    \03\n\t\n\x02\x08\x08\x12\x03\x14\03\n\x08\n\x01\x08\x12\x03\x15\0'\n\t\
934    \n\x02\x08\x01\x12\x03\x15\0'\n\x08\n\x01\x08\x12\x03\x16\0\"\n\t\n\x02\
935    \x08$\x12\x03\x16\0\"\n\xf3\x11\n\x02\x04\0\x12\x04O\0u\x01\x1a\xe6\x11\
936    \x20`Documentation`\x20provides\x20the\x20information\x20for\x20describi\
937    ng\x20a\x20service.\n\n\x20Example:\n\x20<pre><code>documentation:\n\x20\
938    \x20\x20summary:\x20>\n\x20\x20\x20\x20\x20The\x20Google\x20Calendar\x20\
939    API\x20gives\x20access\n\x20\x20\x20\x20\x20to\x20most\x20calendar\x20fe\
940    atures.\n\x20\x20\x20pages:\n\x20\x20\x20-\x20name:\x20Overview\n\x20\
941    \x20\x20\x20\x20content:\x20&#40;==\x20include\x20google/foo/overview.md\
942    \x20==&#41;\n\x20\x20\x20-\x20name:\x20Tutorial\n\x20\x20\x20\x20\x20con\
943    tent:\x20&#40;==\x20include\x20google/foo/tutorial.md\x20==&#41;\n\x20\
944    \x20\x20\x20\x20subpages;\n\x20\x20\x20\x20\x20-\x20name:\x20Java\n\x20\
945    \x20\x20\x20\x20\x20\x20content:\x20&#40;==\x20include\x20google/foo/tut\
946    orial_java.md\x20==&#41;\n\x20\x20\x20rules:\n\x20\x20\x20-\x20selector:\
947    \x20google.calendar.Calendar.Get\n\x20\x20\x20\x20\x20description:\x20>\
948    \n\x20\x20\x20\x20\x20\x20\x20...\n\x20\x20\x20-\x20selector:\x20google.\
949    calendar.Calendar.Put\n\x20\x20\x20\x20\x20description:\x20>\n\x20\x20\
950    \x20\x20\x20\x20\x20...\n\x20</code></pre>\n\x20Documentation\x20is\x20p\
951    rovided\x20in\x20markdown\x20syntax.\x20In\x20addition\x20to\n\x20standa\
952    rd\x20markdown\x20features,\x20definition\x20lists,\x20tables\x20and\x20\
953    fenced\n\x20code\x20blocks\x20are\x20supported.\x20Section\x20headers\
954    \x20can\x20be\x20provided\x20and\x20are\n\x20interpreted\x20relative\x20\
955    to\x20the\x20section\x20nesting\x20of\x20the\x20context\x20where\n\x20a\
956    \x20documentation\x20fragment\x20is\x20embedded.\n\n\x20Documentation\
957    \x20from\x20the\x20IDL\x20is\x20merged\x20with\x20documentation\x20defin\
958    ed\n\x20via\x20the\x20config\x20at\x20normalization\x20time,\x20where\
959    \x20documentation\x20provided\n\x20by\x20config\x20rules\x20overrides\
960    \x20IDL\x20provided.\n\n\x20A\x20number\x20of\x20constructs\x20specific\
961    \x20to\x20the\x20API\x20platform\x20are\x20supported\n\x20in\x20document\
962    ation\x20text.\n\n\x20In\x20order\x20to\x20reference\x20a\x20proto\x20el\
963    ement,\x20the\x20following\n\x20notation\x20can\x20be\x20used:\n\x20<pre\
964    ><code>&#91;fully.qualified.proto.name]&#91;]</code></pre>\n\x20To\x20ov\
965    erride\x20the\x20display\x20text\x20used\x20for\x20the\x20link,\x20this\
966    \x20can\x20be\x20used:\n\x20<pre><code>&#91;display\x20text]&#91;fully.q\
967    ualified.proto.name]</code></pre>\n\x20Text\x20can\x20be\x20excluded\x20\
968    from\x20doc\x20using\x20the\x20following\x20notation:\n\x20<pre><code>&#\
969    40;--\x20internal\x20comment\x20--&#41;</code></pre>\n\n\x20A\x20few\x20\
970    directives\x20are\x20available\x20in\x20documentation.\x20Note\x20that\n\
971    \x20directives\x20must\x20appear\x20on\x20a\x20single\x20line\x20to\x20b\
972    e\x20properly\n\x20identified.\x20The\x20`include`\x20directive\x20inclu\
973    des\x20a\x20markdown\x20file\x20from\n\x20an\x20external\x20source:\n\
974    \x20<pre><code>&#40;==\x20include\x20path/to/file\x20==&#41;</code></pre\
975    >\n\x20The\x20`resource_for`\x20directive\x20marks\x20a\x20message\x20to\
976    \x20be\x20the\x20resource\x20of\n\x20a\x20collection\x20in\x20REST\x20vi\
977    ew.\x20If\x20it\x20is\x20not\x20specified,\x20tools\x20attempt\n\x20to\
978    \x20infer\x20the\x20resource\x20from\x20the\x20operations\x20in\x20a\x20\
979    collection:\n\x20<pre><code>&#40;==\x20resource_for\x20v1.shelves.books\
980    \x20==&#41;</code></pre>\n\x20The\x20directive\x20`suppress_warning`\x20\
981    does\x20not\x20directly\x20affect\x20documentation\n\x20and\x20is\x20doc\
982    umented\x20together\x20with\x20service\x20config\x20validation.\n\n\n\n\
983    \x03\x04\0\x01\x12\x03O\x08\x15\n\xee\x01\n\x04\x04\0\x02\0\x12\x03T\x02\
984    \x15\x1a\xe0\x01\x20A\x20short\x20description\x20of\x20what\x20the\x20se\
985    rvice\x20does.\x20The\x20summary\x20must\x20be\x20plain\n\x20text.\x20It\
986    \x20becomes\x20the\x20overview\x20of\x20the\x20service\x20displayed\x20i\
987    n\x20Google\x20Cloud\n\x20Console.\n\x20NOTE:\x20This\x20field\x20is\x20\
988    equivalent\x20to\x20the\x20standard\x20field\x20`description`.\n\n\x0c\n\
989    \x05\x04\0\x02\0\x05\x12\x03T\x02\x08\n\x0c\n\x05\x04\0\x02\0\x01\x12\
990    \x03T\t\x10\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03T\x13\x14\n=\n\x04\x04\0\
991    \x02\x01\x12\x03W\x02\x1a\x1a0\x20The\x20top\x20level\x20pages\x20for\
992    \x20the\x20documentation\x20set.\n\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x03\
993    W\x02\n\n\x0c\n\x05\x04\0\x02\x01\x06\x12\x03W\x0b\x0f\n\x0c\n\x05\x04\0\
994    \x02\x01\x01\x12\x03W\x10\x15\n\x0c\n\x05\x04\0\x02\x01\x03\x12\x03W\x18\
995    \x19\n\x9e\x01\n\x04\x04\0\x02\x02\x12\x03\\\x02'\x1a\x90\x01\x20A\x20li\
996    st\x20of\x20documentation\x20rules\x20that\x20apply\x20to\x20individual\
997    \x20API\x20elements.\n\n\x20**NOTE:**\x20All\x20service\x20configuration\
998    \x20rules\x20follow\x20\"last\x20one\x20wins\"\x20order.\n\n\x0c\n\x05\
999    \x04\0\x02\x02\x04\x12\x03\\\x02\n\n\x0c\n\x05\x04\0\x02\x02\x06\x12\x03\
1000    \\\x0b\x1c\n\x0c\n\x05\x04\0\x02\x02\x01\x12\x03\\\x1d\"\n\x0c\n\x05\x04\
1001    \0\x02\x02\x03\x12\x03\\%&\n4\n\x04\x04\0\x02\x03\x12\x03_\x02$\x1a'\x20\
1002    The\x20URL\x20to\x20the\x20root\x20of\x20documentation.\n\n\x0c\n\x05\
1003    \x04\0\x02\x03\x05\x12\x03_\x02\x08\n\x0c\n\x05\x04\0\x02\x03\x01\x12\
1004    \x03_\t\x1f\n\x0c\n\x05\x04\0\x02\x03\x03\x12\x03_\"#\n\xf6\x01\n\x04\
1005    \x04\0\x02\x04\x12\x03e\x02\x1e\x1a\xe8\x01\x20Specifies\x20the\x20servi\
1006    ce\x20root\x20url\x20if\x20the\x20default\x20one\x20(the\x20service\x20n\
1007    ame\n\x20from\x20the\x20yaml\x20file)\x20is\x20not\x20suitable.\x20This\
1008    \x20can\x20be\x20seen\x20in\x20any\x20fully\n\x20specified\x20service\
1009    \x20urls\x20as\x20well\x20as\x20sections\x20that\x20show\x20a\x20base\
1010    \x20that\x20other\n\x20urls\x20are\x20relative\x20to.\n\n\x0c\n\x05\x04\
1011    \0\x02\x04\x05\x12\x03e\x02\x08\n\x0c\n\x05\x04\0\x02\x04\x01\x12\x03e\t\
1012    \x19\n\x0c\n\x05\x04\0\x02\x04\x03\x12\x03e\x1c\x1d\n\xbc\x03\n\x04\x04\
1013    \0\x02\x05\x12\x03t\x02\x16\x1a\xae\x03\x20Declares\x20a\x20single\x20ov\
1014    erview\x20page.\x20For\x20example:\n\x20<pre><code>documentation:\n\x20\
1015    \x20\x20summary:\x20...\n\x20\x20\x20overview:\x20&#40;==\x20include\x20\
1016    overview.md\x20==&#41;\n\x20</code></pre>\n\x20This\x20is\x20a\x20shortc\
1017    ut\x20for\x20the\x20following\x20declaration\x20(using\x20pages\x20style\
1018    ):\n\x20<pre><code>documentation:\n\x20\x20\x20summary:\x20...\n\x20\x20\
1019    \x20pages:\n\x20\x20\x20-\x20name:\x20Overview\n\x20\x20\x20\x20\x20cont\
1020    ent:\x20&#40;==\x20include\x20overview.md\x20==&#41;\n\x20</code></pre>\
1021    \n\x20Note:\x20you\x20cannot\x20specify\x20both\x20`overview`\x20field\
1022    \x20and\x20`pages`\x20field.\n\n\x0c\n\x05\x04\0\x02\x05\x05\x12\x03t\
1023    \x02\x08\n\x0c\n\x05\x04\0\x02\x05\x01\x12\x03t\t\x11\n\x0c\n\x05\x04\0\
1024    \x02\x05\x03\x12\x03t\x14\x15\nW\n\x02\x04\x01\x12\x05x\0\x8a\x01\x01\
1025    \x1aJ\x20A\x20documentation\x20rule\x20provides\x20information\x20about\
1026    \x20individual\x20API\x20elements.\n\n\n\n\x03\x04\x01\x01\x12\x03x\x08\
1027    \x19\n\xeb\x03\n\x04\x04\x01\x02\0\x12\x04\x80\x01\x02\x16\x1a\xdc\x03\
1028    \x20The\x20selector\x20is\x20a\x20comma-separated\x20list\x20of\x20patte\
1029    rns\x20for\x20any\x20element\x20such\x20as\n\x20a\x20method,\x20a\x20fie\
1030    ld,\x20an\x20enum\x20value.\x20Each\x20pattern\x20is\x20a\x20qualified\
1031    \x20name\x20of\x20the\n\x20element\x20which\x20may\x20end\x20in\x20\"*\"\
1032    ,\x20indicating\x20a\x20wildcard.\x20Wildcards\x20are\x20only\n\x20allow\
1033    ed\x20at\x20the\x20end\x20and\x20for\x20a\x20whole\x20component\x20of\
1034    \x20the\x20qualified\x20name,\n\x20i.e.\x20\"foo.*\"\x20is\x20ok,\x20but\
1035    \x20not\x20\"foo.b*\"\x20or\x20\"foo.*.bar\".\x20A\x20wildcard\x20will\
1036    \x20match\n\x20one\x20or\x20more\x20components.\x20To\x20specify\x20a\
1037    \x20default\x20for\x20all\x20applicable\x20elements,\n\x20the\x20whole\
1038    \x20pattern\x20\"*\"\x20is\x20used.\n\n\r\n\x05\x04\x01\x02\0\x05\x12\
1039    \x04\x80\x01\x02\x08\n\r\n\x05\x04\x01\x02\0\x01\x12\x04\x80\x01\t\x11\n\
1040    \r\n\x05\x04\x01\x02\0\x03\x12\x04\x80\x01\x14\x15\n\xe1\x01\n\x04\x04\
1041    \x01\x02\x01\x12\x04\x85\x01\x02\x19\x1a\xd2\x01\x20Description\x20of\
1042    \x20the\x20selected\x20proto\x20element\x20(e.g.\x20a\x20message,\x20a\
1043    \x20method,\x20a\n\x20'service'\x20definition,\x20or\x20a\x20field).\x20\
1044    Defaults\x20to\x20leading\x20&\x20trailing\x20comments\n\x20taken\x20fro\
1045    m\x20the\x20proto\x20source\x20definition\x20of\x20the\x20proto\x20eleme\
1046    nt.\n\n\r\n\x05\x04\x01\x02\x01\x05\x12\x04\x85\x01\x02\x08\n\r\n\x05\
1047    \x04\x01\x02\x01\x01\x12\x04\x85\x01\t\x14\n\r\n\x05\x04\x01\x02\x01\x03\
1048    \x12\x04\x85\x01\x17\x18\n\x80\x01\n\x04\x04\x01\x02\x02\x12\x04\x89\x01\
1049    \x02%\x1ar\x20Deprecation\x20description\x20of\x20the\x20selected\x20ele\
1050    ment(s).\x20It\x20can\x20be\x20provided\x20if\n\x20an\x20element\x20is\
1051    \x20marked\x20as\x20`deprecated`.\n\n\r\n\x05\x04\x01\x02\x02\x05\x12\
1052    \x04\x89\x01\x02\x08\n\r\n\x05\x04\x01\x02\x02\x01\x12\x04\x89\x01\t\x20\
1053    \n\r\n\x05\x04\x01\x02\x02\x03\x12\x04\x89\x01#$\n~\n\x02\x04\x02\x12\
1054    \x06\x8e\x01\0\xa7\x01\x01\x1ap\x20Represents\x20a\x20documentation\x20p\
1055    age.\x20A\x20page\x20can\x20contain\x20subpages\x20to\x20represent\n\x20\
1056    nested\x20documentation\x20set\x20structure.\n\n\x0b\n\x03\x04\x02\x01\
1057    \x12\x04\x8e\x01\x08\x0c\n\xda\x04\n\x04\x04\x02\x02\0\x12\x04\x9d\x01\
1058    \x02\x12\x1a\xcb\x04\x20The\x20name\x20of\x20the\x20page.\x20It\x20will\
1059    \x20be\x20used\x20as\x20an\x20identity\x20of\x20the\x20page\x20to\n\x20g\
1060    enerate\x20URI\x20of\x20the\x20page,\x20text\x20of\x20the\x20link\x20to\
1061    \x20this\x20page\x20in\x20navigation,\n\x20etc.\x20The\x20full\x20page\
1062    \x20name\x20(start\x20from\x20the\x20root\x20page\x20name\x20to\x20this\
1063    \x20page\n\x20concatenated\x20with\x20`.`)\x20can\x20be\x20used\x20as\
1064    \x20reference\x20to\x20the\x20page\x20in\x20your\n\x20documentation.\x20\
1065    For\x20example:\n\x20<pre><code>pages:\n\x20-\x20name:\x20Tutorial\n\x20\
1066    \x20\x20content:\x20&#40;==\x20include\x20tutorial.md\x20==&#41;\n\x20\
1067    \x20\x20subpages:\n\x20\x20\x20-\x20name:\x20Java\n\x20\x20\x20\x20\x20c\
1068    ontent:\x20&#40;==\x20include\x20tutorial_java.md\x20==&#41;\n\x20</code\
1069    ></pre>\n\x20You\x20can\x20reference\x20`Java`\x20page\x20using\x20Markd\
1070    own\x20reference\x20link\x20syntax:\n\x20`[Java][Tutorial.Java]`.\n\n\r\
1071    \n\x05\x04\x02\x02\0\x05\x12\x04\x9d\x01\x02\x08\n\r\n\x05\x04\x02\x02\0\
1072    \x01\x12\x04\x9d\x01\t\r\n\r\n\x05\x04\x02\x02\0\x03\x12\x04\x9d\x01\x10\
1073    \x11\n\xe9\x01\n\x04\x04\x02\x02\x01\x12\x04\xa2\x01\x02\x15\x1a\xda\x01\
1074    \x20The\x20Markdown\x20content\x20of\x20the\x20page.\x20You\x20can\x20us\
1075    e\x20<code>&#40;==\x20include\x20{path}\n\x20==&#41;</code>\x20to\x20inc\
1076    lude\x20content\x20from\x20a\x20Markdown\x20file.\x20The\x20content\x20c\
1077    an\x20be\n\x20used\x20to\x20produce\x20the\x20documentation\x20page\x20s\
1078    uch\x20as\x20HTML\x20format\x20page.\n\n\r\n\x05\x04\x02\x02\x01\x05\x12\
1079    \x04\xa2\x01\x02\x08\n\r\n\x05\x04\x02\x02\x01\x01\x12\x04\xa2\x01\t\x10\
1080    \n\r\n\x05\x04\x02\x02\x01\x03\x12\x04\xa2\x01\x13\x14\nu\n\x04\x04\x02\
1081    \x02\x02\x12\x04\xa6\x01\x02\x1d\x1ag\x20Subpages\x20of\x20this\x20page.\
1082    \x20The\x20order\x20of\x20subpages\x20specified\x20here\x20will\x20be\n\
1083    \x20honored\x20in\x20the\x20generated\x20docset.\n\n\r\n\x05\x04\x02\x02\
1084    \x02\x04\x12\x04\xa6\x01\x02\n\n\r\n\x05\x04\x02\x02\x02\x06\x12\x04\xa6\
1085    \x01\x0b\x0f\n\r\n\x05\x04\x02\x02\x02\x01\x12\x04\xa6\x01\x10\x18\n\r\n\
1086    \x05\x04\x02\x02\x02\x03\x12\x04\xa6\x01\x1b\x1cb\x06proto3\
1087";
1088
1089static file_descriptor_proto_lazy: ::protobuf::rt::LazyV2<::protobuf::descriptor::FileDescriptorProto> = ::protobuf::rt::LazyV2::INIT;
1090
1091fn parse_descriptor_proto() -> ::protobuf::descriptor::FileDescriptorProto {
1092    ::protobuf::Message::parse_from_bytes(file_descriptor_proto_data).unwrap()
1093}
1094
1095pub fn file_descriptor_proto() -> &'static ::protobuf::descriptor::FileDescriptorProto {
1096    file_descriptor_proto_lazy.get(|| {
1097        parse_descriptor_proto()
1098    })
1099}