google-cloud-text_to_speech-v1 1.14.0 → 1.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/google/cloud/text_to_speech/v1/text_to_speech/client.rb +20 -3
- data/lib/google/cloud/text_to_speech/v1/text_to_speech_long_audio_synthesize/client.rb +20 -3
- data/lib/google/cloud/text_to_speech/v1/text_to_speech_long_audio_synthesize/operations.rb +20 -3
- data/lib/google/cloud/text_to_speech/v1/version.rb +1 -1
- data/lib/google/cloud/texttospeech/v1/cloud_tts_pb.rb +1 -1
- data/proto_docs/google/cloud/texttospeech/v1/cloud_tts.rb +6 -0
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5a40aba1ebd510b38c80b7ac849268f7fbafc02d7ccee2c32c0cd798c88559bb
|
|
4
|
+
data.tar.gz: f5593b7339e09003a59e4b4e55f4d49cc778ec96027fc7466f68ee1eccc5d3dd
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 48eb3d16835a0aead1bc1eeb58a95890597db50ea9fc391a792977fa5637940c5bef9befa367c601c0fde54d5ccb949f9ca9cb08a7e781f8c05a03b113165fb6
|
|
7
|
+
data.tar.gz: 170c45a9024baff8a70422d312ecbb8a780b119bba644f7430927cbfbdeef985cc85024faa89b25fd58b26abc666e4470f38754f738dd4d47a83b2ac99a2d33e
|
|
@@ -470,8 +470,6 @@ module Google
|
|
|
470
470
|
# @return [::String,nil]
|
|
471
471
|
# @!attribute [rw] credentials
|
|
472
472
|
# Credentials to send with calls. You may provide any of the following types:
|
|
473
|
-
# * (`String`) The path to a service account key file in JSON format
|
|
474
|
-
# * (`Hash`) A service account key as a Hash
|
|
475
473
|
# * (`Google::Auth::Credentials`) A googleauth credentials object
|
|
476
474
|
# (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
|
|
477
475
|
# * (`Signet::OAuth2::Client`) A signet oauth2 client object
|
|
@@ -480,7 +478,26 @@ module Google
|
|
|
480
478
|
# * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
|
|
481
479
|
# * (`nil`) indicating no credentials
|
|
482
480
|
#
|
|
483
|
-
# Warning:
|
|
481
|
+
# @note Warning: Passing a `String` to a keyfile path or a `Hash` of credentials
|
|
482
|
+
# is deprecated. Providing an unvalidated credential configuration to
|
|
483
|
+
# Google APIs can compromise the security of your systems and data.
|
|
484
|
+
#
|
|
485
|
+
# @example
|
|
486
|
+
#
|
|
487
|
+
# # The recommended way to provide credentials is to use the `make_creds` method
|
|
488
|
+
# # on the appropriate credentials class for your environment.
|
|
489
|
+
#
|
|
490
|
+
# require "googleauth"
|
|
491
|
+
#
|
|
492
|
+
# credentials = ::Google::Auth::ServiceAccountCredentials.make_creds(
|
|
493
|
+
# json_key_io: ::File.open("/path/to/keyfile.json")
|
|
494
|
+
# )
|
|
495
|
+
#
|
|
496
|
+
# client = ::Google::Cloud::TextToSpeech::V1::TextToSpeech::Client.new do |config|
|
|
497
|
+
# config.credentials = credentials
|
|
498
|
+
# end
|
|
499
|
+
#
|
|
500
|
+
# @note Warning: If you accept a credential configuration (JSON file or Hash) from an
|
|
484
501
|
# external source for authentication to Google Cloud, you must validate it before
|
|
485
502
|
# providing it to a Google API client library. Providing an unvalidated credential
|
|
486
503
|
# configuration to Google APIs can compromise the security of your systems and data.
|
|
@@ -339,8 +339,6 @@ module Google
|
|
|
339
339
|
# @return [::String,nil]
|
|
340
340
|
# @!attribute [rw] credentials
|
|
341
341
|
# Credentials to send with calls. You may provide any of the following types:
|
|
342
|
-
# * (`String`) The path to a service account key file in JSON format
|
|
343
|
-
# * (`Hash`) A service account key as a Hash
|
|
344
342
|
# * (`Google::Auth::Credentials`) A googleauth credentials object
|
|
345
343
|
# (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
|
|
346
344
|
# * (`Signet::OAuth2::Client`) A signet oauth2 client object
|
|
@@ -349,7 +347,26 @@ module Google
|
|
|
349
347
|
# * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
|
|
350
348
|
# * (`nil`) indicating no credentials
|
|
351
349
|
#
|
|
352
|
-
# Warning:
|
|
350
|
+
# @note Warning: Passing a `String` to a keyfile path or a `Hash` of credentials
|
|
351
|
+
# is deprecated. Providing an unvalidated credential configuration to
|
|
352
|
+
# Google APIs can compromise the security of your systems and data.
|
|
353
|
+
#
|
|
354
|
+
# @example
|
|
355
|
+
#
|
|
356
|
+
# # The recommended way to provide credentials is to use the `make_creds` method
|
|
357
|
+
# # on the appropriate credentials class for your environment.
|
|
358
|
+
#
|
|
359
|
+
# require "googleauth"
|
|
360
|
+
#
|
|
361
|
+
# credentials = ::Google::Auth::ServiceAccountCredentials.make_creds(
|
|
362
|
+
# json_key_io: ::File.open("/path/to/keyfile.json")
|
|
363
|
+
# )
|
|
364
|
+
#
|
|
365
|
+
# client = ::Google::Cloud::TextToSpeech::V1::TextToSpeechLongAudioSynthesize::Client.new do |config|
|
|
366
|
+
# config.credentials = credentials
|
|
367
|
+
# end
|
|
368
|
+
#
|
|
369
|
+
# @note Warning: If you accept a credential configuration (JSON file or Hash) from an
|
|
353
370
|
# external source for authentication to Google Cloud, you must validate it before
|
|
354
371
|
# providing it to a Google API client library. Providing an unvalidated credential
|
|
355
372
|
# configuration to Google APIs can compromise the security of your systems and data.
|
|
@@ -642,8 +642,6 @@ module Google
|
|
|
642
642
|
# @return [::String,nil]
|
|
643
643
|
# @!attribute [rw] credentials
|
|
644
644
|
# Credentials to send with calls. You may provide any of the following types:
|
|
645
|
-
# * (`String`) The path to a service account key file in JSON format
|
|
646
|
-
# * (`Hash`) A service account key as a Hash
|
|
647
645
|
# * (`Google::Auth::Credentials`) A googleauth credentials object
|
|
648
646
|
# (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
|
|
649
647
|
# * (`Signet::OAuth2::Client`) A signet oauth2 client object
|
|
@@ -652,7 +650,26 @@ module Google
|
|
|
652
650
|
# * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
|
|
653
651
|
# * (`nil`) indicating no credentials
|
|
654
652
|
#
|
|
655
|
-
# Warning:
|
|
653
|
+
# @note Warning: Passing a `String` to a keyfile path or a `Hash` of credentials
|
|
654
|
+
# is deprecated. Providing an unvalidated credential configuration to
|
|
655
|
+
# Google APIs can compromise the security of your systems and data.
|
|
656
|
+
#
|
|
657
|
+
# @example
|
|
658
|
+
#
|
|
659
|
+
# # The recommended way to provide credentials is to use the `make_creds` method
|
|
660
|
+
# # on the appropriate credentials class for your environment.
|
|
661
|
+
#
|
|
662
|
+
# require "googleauth"
|
|
663
|
+
#
|
|
664
|
+
# credentials = ::Google::Auth::ServiceAccountCredentials.make_creds(
|
|
665
|
+
# json_key_io: ::File.open("/path/to/keyfile.json")
|
|
666
|
+
# )
|
|
667
|
+
#
|
|
668
|
+
# client = ::Google::Longrunning::Operations::Client.new do |config|
|
|
669
|
+
# config.credentials = credentials
|
|
670
|
+
# end
|
|
671
|
+
#
|
|
672
|
+
# @note Warning: If you accept a credential configuration (JSON file or Hash) from an
|
|
656
673
|
# external source for authentication to Google Cloud, you must validate it before
|
|
657
674
|
# providing it to a Google API client library. Providing an unvalidated credential
|
|
658
675
|
# configuration to Google APIs can compromise the security of your systems and data.
|
|
@@ -10,7 +10,7 @@ require 'google/api/field_behavior_pb'
|
|
|
10
10
|
require 'google/api/resource_pb'
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
descriptor_data = "\n,google/cloud/texttospeech/v1/cloud_tts.proto\x12\x1cgoogle.cloud.texttospeech.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\"/\n\x11ListVoicesRequest\x12\x1a\n\rlanguage_code\x18\x01 \x01(\tB\x03\xe0\x41\x01\"I\n\x12ListVoicesResponse\x12\x33\n\x06voices\x18\x01 \x03(\x0b\x32#.google.cloud.texttospeech.v1.Voice\"\x94\x01\n\x05Voice\x12\x16\n\x0elanguage_codes\x18\x01 \x03(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x42\n\x0bssml_gender\x18\x03 \x01(\x0e\x32-.google.cloud.texttospeech.v1.SsmlVoiceGender\x12!\n\x19natural_sample_rate_hertz\x18\x04 \x01(\x05\"
|
|
13
|
+
descriptor_data = "\n,google/cloud/texttospeech/v1/cloud_tts.proto\x12\x1cgoogle.cloud.texttospeech.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\"/\n\x11ListVoicesRequest\x12\x1a\n\rlanguage_code\x18\x01 \x01(\tB\x03\xe0\x41\x01\"I\n\x12ListVoicesResponse\x12\x33\n\x06voices\x18\x01 \x03(\x0b\x32#.google.cloud.texttospeech.v1.Voice\"\x94\x01\n\x05Voice\x12\x16\n\x0elanguage_codes\x18\x01 \x03(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x42\n\x0bssml_gender\x18\x03 \x01(\x0e\x32-.google.cloud.texttospeech.v1.SsmlVoiceGender\x12!\n\x19natural_sample_rate_hertz\x18\x04 \x01(\x05\"\x8a\x01\n\x14\x41\x64vancedVoiceOptions\x12*\n\x1dlow_latency_journey_synthesis\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12$\n\x14relax_safety_filters\x18\x08 \x01(\x08\x42\x06\xe0\x41\x04\xe0\x41\x01\x42 \n\x1e_low_latency_journey_synthesis\"\xdd\x02\n\x17SynthesizeSpeechRequest\x12@\n\x05input\x18\x01 \x01(\x0b\x32,.google.cloud.texttospeech.v1.SynthesisInputB\x03\xe0\x41\x02\x12\x46\n\x05voice\x18\x02 \x01(\x0b\x32\x32.google.cloud.texttospeech.v1.VoiceSelectionParamsB\x03\xe0\x41\x02\x12\x44\n\x0c\x61udio_config\x18\x03 \x01(\x0b\x32).google.cloud.texttospeech.v1.AudioConfigB\x03\xe0\x41\x02\x12W\n\x16\x61\x64vanced_voice_options\x18\x08 \x01(\x0b\x32\x32.google.cloud.texttospeech.v1.AdvancedVoiceOptionsH\x00\x88\x01\x01\x42\x19\n\x17_advanced_voice_options\"\xa2\x03\n\x19\x43ustomPronunciationParams\x12\x13\n\x06phrase\x18\x01 \x01(\tH\x00\x88\x01\x01\x12h\n\x11phonetic_encoding\x18\x02 \x01(\x0e\x32H.google.cloud.texttospeech.v1.CustomPronunciationParams.PhoneticEncodingH\x01\x88\x01\x01\x12\x1a\n\rpronunciation\x18\x03 \x01(\tH\x02\x88\x01\x01\"\xb6\x01\n\x10PhoneticEncoding\x12!\n\x1dPHONETIC_ENCODING_UNSPECIFIED\x10\x00\x12\x19\n\x15PHONETIC_ENCODING_IPA\x10\x01\x12\x1d\n\x19PHONETIC_ENCODING_X_SAMPA\x10\x02\x12\'\n#PHONETIC_ENCODING_JAPANESE_YOMIGANA\x10\x03\x12\x1c\n\x18PHONETIC_ENCODING_PINYIN\x10\x04\x42\t\n\x07_phraseB\x14\n\x12_phonetic_encodingB\x10\n\x0e_pronunciation\"g\n\x14\x43ustomPronunciations\x12O\n\x0epronunciations\x18\x01 \x03(\x0b\x32\x37.google.cloud.texttospeech.v1.CustomPronunciationParams\"\x90\x01\n\x12MultiSpeakerMarkup\x12I\n\x05turns\x18\x01 \x03(\x0b\x32\x35.google.cloud.texttospeech.v1.MultiSpeakerMarkup.TurnB\x03\xe0\x41\x02\x1a/\n\x04Turn\x12\x14\n\x07speaker\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x11\n\x04text\x18\x02 \x01(\tB\x03\xe0\x41\x02\"P\n\x19MultispeakerPrebuiltVoice\x12\x1a\n\rspeaker_alias\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\nspeaker_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\"v\n\x17MultiSpeakerVoiceConfig\x12[\n\x15speaker_voice_configs\x18\x02 \x03(\x0b\x32\x37.google.cloud.texttospeech.v1.MultispeakerPrebuiltVoiceB\x03\xe0\x41\x02\"\x9c\x02\n\x0eSynthesisInput\x12\x0e\n\x04text\x18\x01 \x01(\tH\x00\x12\x10\n\x06markup\x18\x05 \x01(\tH\x00\x12\x0e\n\x04ssml\x18\x02 \x01(\tH\x00\x12P\n\x14multi_speaker_markup\x18\x04 \x01(\x0b\x32\x30.google.cloud.texttospeech.v1.MultiSpeakerMarkupH\x00\x12\x13\n\x06prompt\x18\x06 \x01(\tH\x01\x88\x01\x01\x12V\n\x15\x63ustom_pronunciations\x18\x03 \x01(\x0b\x32\x32.google.cloud.texttospeech.v1.CustomPronunciationsB\x03\xe0\x41\x01\x42\x0e\n\x0cinput_sourceB\t\n\x07_prompt\"\x8e\x03\n\x14VoiceSelectionParams\x12\x1a\n\rlanguage_code\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x42\n\x0bssml_gender\x18\x03 \x01(\x0e\x32-.google.cloud.texttospeech.v1.SsmlVoiceGender\x12\x45\n\x0c\x63ustom_voice\x18\x04 \x01(\x0b\x32/.google.cloud.texttospeech.v1.CustomVoiceParams\x12H\n\x0bvoice_clone\x18\x05 \x01(\x0b\x32..google.cloud.texttospeech.v1.VoiceCloneParamsB\x03\xe0\x41\x01\x12\x17\n\nmodel_name\x18\x06 \x01(\tB\x03\xe0\x41\x01\x12^\n\x1amulti_speaker_voice_config\x18\x07 \x01(\x0b\x32\x35.google.cloud.texttospeech.v1.MultiSpeakerVoiceConfigB\x03\xe0\x41\x01\"\xf1\x01\n\x0b\x41udioConfig\x12H\n\x0e\x61udio_encoding\x18\x01 \x01(\x0e\x32+.google.cloud.texttospeech.v1.AudioEncodingB\x03\xe0\x41\x02\x12\x1d\n\rspeaking_rate\x18\x02 \x01(\x01\x42\x06\xe0\x41\x04\xe0\x41\x01\x12\x15\n\x05pitch\x18\x03 \x01(\x01\x42\x06\xe0\x41\x04\xe0\x41\x01\x12\x1e\n\x0evolume_gain_db\x18\x04 \x01(\x01\x42\x06\xe0\x41\x04\xe0\x41\x01\x12\x1e\n\x11sample_rate_hertz\x18\x05 \x01(\x05\x42\x03\xe0\x41\x01\x12\"\n\x12\x65\x66\x66\x65\x63ts_profile_id\x18\x06 \x03(\tB\x06\xe0\x41\x04\xe0\x41\x01\"\xf1\x01\n\x11\x43ustomVoiceParams\x12\x32\n\x05model\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1b\x61utoml.googleapis.com/Model\x12\\\n\x0ereported_usage\x18\x03 \x01(\x0e\x32=.google.cloud.texttospeech.v1.CustomVoiceParams.ReportedUsageB\x05\x18\x01\xe0\x41\x01\"J\n\rReportedUsage\x12\x1e\n\x1aREPORTED_USAGE_UNSPECIFIED\x10\x00\x12\x0c\n\x08REALTIME\x10\x01\x12\x0b\n\x07OFFLINE\x10\x02\"2\n\x10VoiceCloneParams\x12\x1e\n\x11voice_cloning_key\x18\x01 \x01(\tB\x03\xe0\x41\x02\"1\n\x18SynthesizeSpeechResponse\x12\x15\n\raudio_content\x18\x01 \x01(\x0c\"\x9f\x01\n\x14StreamingAudioConfig\x12H\n\x0e\x61udio_encoding\x18\x01 \x01(\x0e\x32+.google.cloud.texttospeech.v1.AudioEncodingB\x03\xe0\x41\x02\x12\x1e\n\x11sample_rate_hertz\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x1d\n\rspeaking_rate\x18\x03 \x01(\x01\x42\x06\xe0\x41\x04\xe0\x41\x01\"\x94\x02\n\x19StreamingSynthesizeConfig\x12\x46\n\x05voice\x18\x01 \x01(\x0b\x32\x32.google.cloud.texttospeech.v1.VoiceSelectionParamsB\x03\xe0\x41\x02\x12W\n\x16streaming_audio_config\x18\x04 \x01(\x0b\x32\x32.google.cloud.texttospeech.v1.StreamingAudioConfigB\x03\xe0\x41\x01\x12V\n\x15\x63ustom_pronunciations\x18\x05 \x01(\x0b\x32\x32.google.cloud.texttospeech.v1.CustomPronunciationsB\x03\xe0\x41\x01\"\xbd\x01\n\x17StreamingSynthesisInput\x12\x0e\n\x04text\x18\x01 \x01(\tH\x00\x12\x10\n\x06markup\x18\x05 \x01(\tH\x00\x12P\n\x14multi_speaker_markup\x18\x07 \x01(\x0b\x32\x30.google.cloud.texttospeech.v1.MultiSpeakerMarkupH\x00\x12\x13\n\x06prompt\x18\x06 \x01(\tH\x01\x88\x01\x01\x42\x0e\n\x0cinput_sourceB\t\n\x07_prompt\"\xce\x01\n\x1aStreamingSynthesizeRequest\x12S\n\x10streaming_config\x18\x01 \x01(\x0b\x32\x37.google.cloud.texttospeech.v1.StreamingSynthesizeConfigH\x00\x12\x46\n\x05input\x18\x02 \x01(\x0b\x32\x35.google.cloud.texttospeech.v1.StreamingSynthesisInputH\x00\x42\x13\n\x11streaming_request\"4\n\x1bStreamingSynthesizeResponse\x12\x15\n\raudio_content\x18\x01 \x01(\x0c*W\n\x0fSsmlVoiceGender\x12!\n\x1dSSML_VOICE_GENDER_UNSPECIFIED\x10\x00\x12\x08\n\x04MALE\x10\x01\x12\n\n\x06\x46\x45MALE\x10\x02\x12\x0b\n\x07NEUTRAL\x10\x03*{\n\rAudioEncoding\x12\x1e\n\x1a\x41UDIO_ENCODING_UNSPECIFIED\x10\x00\x12\x0c\n\x08LINEAR16\x10\x01\x12\x07\n\x03MP3\x10\x02\x12\x0c\n\x08OGG_OPUS\x10\x03\x12\t\n\x05MULAW\x10\x05\x12\x08\n\x04\x41LAW\x10\x06\x12\x07\n\x03PCM\x10\x07\x12\x07\n\x03M4A\x10\x08\x32\xc7\x04\n\x0cTextToSpeech\x12\x93\x01\n\nListVoices\x12/.google.cloud.texttospeech.v1.ListVoicesRequest\x1a\x30.google.cloud.texttospeech.v1.ListVoicesResponse\"\"\xda\x41\rlanguage_code\x82\xd3\xe4\x93\x02\x0c\x12\n/v1/voices\x12\xbc\x01\n\x10SynthesizeSpeech\x12\x35.google.cloud.texttospeech.v1.SynthesizeSpeechRequest\x1a\x36.google.cloud.texttospeech.v1.SynthesizeSpeechResponse\"9\xda\x41\x18input,voice,audio_config\x82\xd3\xe4\x93\x02\x18\"\x13/v1/text:synthesize:\x01*\x12\x90\x01\n\x13StreamingSynthesize\x12\x38.google.cloud.texttospeech.v1.StreamingSynthesizeRequest\x1a\x39.google.cloud.texttospeech.v1.StreamingSynthesizeResponse\"\x00(\x01\x30\x01\x1aO\xca\x41\x1btexttospeech.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xbc\x02\n com.google.cloud.texttospeech.v1B\x11TextToSpeechProtoP\x01ZDcloud.google.com/go/texttospeech/apiv1/texttospeechpb;texttospeechpb\xa2\x02\x04\x43TTS\xaa\x02\x1cGoogle.Cloud.TextToSpeech.V1\xca\x02\x1cGoogle\\Cloud\\TextToSpeech\\V1\xea\x02\x1fGoogle::Cloud::TextToSpeech::V1\xea\x41U\n\x1b\x61utoml.googleapis.com/Model\x12\x36projects/{project}/locations/{location}/models/{model}b\x06proto3"
|
|
14
14
|
|
|
15
15
|
pool = Google::Protobuf::DescriptorPool.generated_pool
|
|
16
16
|
|
|
@@ -71,6 +71,12 @@ module Google
|
|
|
71
71
|
# @return [::Boolean]
|
|
72
72
|
# Only for Journey voices. If false, the synthesis is context aware
|
|
73
73
|
# and has a higher latency.
|
|
74
|
+
# @!attribute [rw] relax_safety_filters
|
|
75
|
+
# @return [::Boolean]
|
|
76
|
+
# Optional. Input only. If true, relaxes safety filters for Gemini TTS. Only
|
|
77
|
+
# supported for accounts linked to Invoiced (Offline) Cloud billing accounts.
|
|
78
|
+
# Otherwise, will return result
|
|
79
|
+
# [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
|
|
74
80
|
class AdvancedVoiceOptions
|
|
75
81
|
include ::Google::Protobuf::MessageExts
|
|
76
82
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|