1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/cloud/dialogflow/v2/session.proto
3
4package dialogflow // import "google.golang.org/genproto/googleapis/cloud/dialogflow/v2"
5
6import proto "github.com/golang/protobuf/proto"
7import fmt "fmt"
8import math "math"
9import _struct "github.com/golang/protobuf/ptypes/struct"
10import _ "google.golang.org/genproto/googleapis/api/annotations"
11import status "google.golang.org/genproto/googleapis/rpc/status"
12import latlng "google.golang.org/genproto/googleapis/type/latlng"
13
14import (
15	context "golang.org/x/net/context"
16	grpc "google.golang.org/grpc"
17)
18
19// Reference imports to suppress errors if they are not otherwise used.
20var _ = proto.Marshal
21var _ = fmt.Errorf
22var _ = math.Inf
23
24// This is a compile-time assertion to ensure that this generated file
25// is compatible with the proto package it is being compiled against.
26// A compilation error at this line likely means your copy of the
27// proto package needs to be updated.
28const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
29
30// Audio encoding of the audio content sent in the conversational query request.
31// Refer to the [Cloud Speech API documentation](/speech/docs/basics) for more
32// details.
33type AudioEncoding int32
34
35const (
36	// Not specified.
37	AudioEncoding_AUDIO_ENCODING_UNSPECIFIED AudioEncoding = 0
38	// Uncompressed 16-bit signed little-endian samples (Linear PCM).
39	AudioEncoding_AUDIO_ENCODING_LINEAR_16 AudioEncoding = 1
40	// [`FLAC`](https://xiph.org/flac/documentation.html) (Free Lossless Audio
41	// Codec) is the recommended encoding because it is lossless (therefore
42	// recognition is not compromised) and requires only about half the
43	// bandwidth of `LINEAR16`. `FLAC` stream encoding supports 16-bit and
44	// 24-bit samples, however, not all fields in `STREAMINFO` are supported.
45	AudioEncoding_AUDIO_ENCODING_FLAC AudioEncoding = 2
46	// 8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law.
47	AudioEncoding_AUDIO_ENCODING_MULAW AudioEncoding = 3
48	// Adaptive Multi-Rate Narrowband codec. `sample_rate_hertz` must be 8000.
49	AudioEncoding_AUDIO_ENCODING_AMR AudioEncoding = 4
50	// Adaptive Multi-Rate Wideband codec. `sample_rate_hertz` must be 16000.
51	AudioEncoding_AUDIO_ENCODING_AMR_WB AudioEncoding = 5
52	// Opus encoded audio frames in Ogg container
53	// ([OggOpus](https://wiki.xiph.org/OggOpus)).
54	// `sample_rate_hertz` must be 16000.
55	AudioEncoding_AUDIO_ENCODING_OGG_OPUS AudioEncoding = 6
56	// Although the use of lossy encodings is not recommended, if a very low
57	// bitrate encoding is required, `OGG_OPUS` is highly preferred over
58	// Speex encoding. The [Speex](https://speex.org/) encoding supported by
59	// Dialogflow API has a header byte in each block, as in MIME type
60	// `audio/x-speex-with-header-byte`.
61	// It is a variant of the RTP Speex encoding defined in
62	// [RFC 5574](https://tools.ietf.org/html/rfc5574).
63	// The stream is a sequence of blocks, one block per RTP packet. Each block
64	// starts with a byte containing the length of the block, in bytes, followed
65	// by one or more frames of Speex data, padded to an integral number of
66	// bytes (octets) as specified in RFC 5574. In other words, each RTP header
67	// is replaced with a single byte containing the block length. Only Speex
68	// wideband is supported. `sample_rate_hertz` must be 16000.
69	AudioEncoding_AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE AudioEncoding = 7
70)
71
72var AudioEncoding_name = map[int32]string{
73	0: "AUDIO_ENCODING_UNSPECIFIED",
74	1: "AUDIO_ENCODING_LINEAR_16",
75	2: "AUDIO_ENCODING_FLAC",
76	3: "AUDIO_ENCODING_MULAW",
77	4: "AUDIO_ENCODING_AMR",
78	5: "AUDIO_ENCODING_AMR_WB",
79	6: "AUDIO_ENCODING_OGG_OPUS",
80	7: "AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE",
81}
82var AudioEncoding_value = map[string]int32{
83	"AUDIO_ENCODING_UNSPECIFIED":            0,
84	"AUDIO_ENCODING_LINEAR_16":              1,
85	"AUDIO_ENCODING_FLAC":                   2,
86	"AUDIO_ENCODING_MULAW":                  3,
87	"AUDIO_ENCODING_AMR":                    4,
88	"AUDIO_ENCODING_AMR_WB":                 5,
89	"AUDIO_ENCODING_OGG_OPUS":               6,
90	"AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE": 7,
91}
92
93func (x AudioEncoding) String() string {
94	return proto.EnumName(AudioEncoding_name, int32(x))
95}
96func (AudioEncoding) EnumDescriptor() ([]byte, []int) {
97	return fileDescriptor_session_e51df00932adac70, []int{0}
98}
99
100// Type of the response message.
101type StreamingRecognitionResult_MessageType int32
102
103const (
104	// Not specified. Should never be used.
105	StreamingRecognitionResult_MESSAGE_TYPE_UNSPECIFIED StreamingRecognitionResult_MessageType = 0
106	// Message contains a (possibly partial) transcript.
107	StreamingRecognitionResult_TRANSCRIPT StreamingRecognitionResult_MessageType = 1
108	// Event indicates that the server has detected the end of the user's speech
109	// utterance and expects no additional speech. Therefore, the server will
110	// not process additional audio (although it may subsequently return
111	// additional results). The client should stop sending additional audio
112	// data, half-close the gRPC connection, and wait for any additional results
113	// until the server closes the gRPC connection. This message is only sent if
114	// `single_utterance` was set to `true`, and is not used otherwise.
115	StreamingRecognitionResult_END_OF_SINGLE_UTTERANCE StreamingRecognitionResult_MessageType = 2
116)
117
118var StreamingRecognitionResult_MessageType_name = map[int32]string{
119	0: "MESSAGE_TYPE_UNSPECIFIED",
120	1: "TRANSCRIPT",
121	2: "END_OF_SINGLE_UTTERANCE",
122}
123var StreamingRecognitionResult_MessageType_value = map[string]int32{
124	"MESSAGE_TYPE_UNSPECIFIED": 0,
125	"TRANSCRIPT":               1,
126	"END_OF_SINGLE_UTTERANCE":  2,
127}
128
129func (x StreamingRecognitionResult_MessageType) String() string {
130	return proto.EnumName(StreamingRecognitionResult_MessageType_name, int32(x))
131}
132func (StreamingRecognitionResult_MessageType) EnumDescriptor() ([]byte, []int) {
133	return fileDescriptor_session_e51df00932adac70, []int{7, 0}
134}
135
136// The request to detect user's intent.
137type DetectIntentRequest struct {
138	// Required. The name of the session this query is sent to. Format:
139	// `projects/<Project ID>/agent/sessions/<Session ID>`. It's up to the API
140	// caller to choose an appropriate session ID. It can be a random number or
141	// some type of user identifier (preferably hashed). The length of the session
142	// ID must not exceed 36 bytes.
143	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
144	// Optional. The parameters of this query.
145	QueryParams *QueryParameters `protobuf:"bytes,2,opt,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"`
146	// Required. The input specification. It can be set to:
147	//
148	// 1.  an audio config
149	//     which instructs the speech recognizer how to process the speech audio,
150	//
151	// 2.  a conversational query in the form of text, or
152	//
153	// 3.  an event that specifies which intent to trigger.
154	QueryInput *QueryInput `protobuf:"bytes,3,opt,name=query_input,json=queryInput,proto3" json:"query_input,omitempty"`
155	// Optional. The natural language speech audio to be processed. This field
156	// should be populated iff `query_input` is set to an input audio config.
157	// A single request can contain up to 1 minute of speech audio data.
158	InputAudio           []byte   `protobuf:"bytes,5,opt,name=input_audio,json=inputAudio,proto3" json:"input_audio,omitempty"`
159	XXX_NoUnkeyedLiteral struct{} `json:"-"`
160	XXX_unrecognized     []byte   `json:"-"`
161	XXX_sizecache        int32    `json:"-"`
162}
163
164func (m *DetectIntentRequest) Reset()         { *m = DetectIntentRequest{} }
165func (m *DetectIntentRequest) String() string { return proto.CompactTextString(m) }
166func (*DetectIntentRequest) ProtoMessage()    {}
167func (*DetectIntentRequest) Descriptor() ([]byte, []int) {
168	return fileDescriptor_session_e51df00932adac70, []int{0}
169}
170func (m *DetectIntentRequest) XXX_Unmarshal(b []byte) error {
171	return xxx_messageInfo_DetectIntentRequest.Unmarshal(m, b)
172}
173func (m *DetectIntentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
174	return xxx_messageInfo_DetectIntentRequest.Marshal(b, m, deterministic)
175}
176func (dst *DetectIntentRequest) XXX_Merge(src proto.Message) {
177	xxx_messageInfo_DetectIntentRequest.Merge(dst, src)
178}
179func (m *DetectIntentRequest) XXX_Size() int {
180	return xxx_messageInfo_DetectIntentRequest.Size(m)
181}
182func (m *DetectIntentRequest) XXX_DiscardUnknown() {
183	xxx_messageInfo_DetectIntentRequest.DiscardUnknown(m)
184}
185
186var xxx_messageInfo_DetectIntentRequest proto.InternalMessageInfo
187
188func (m *DetectIntentRequest) GetSession() string {
189	if m != nil {
190		return m.Session
191	}
192	return ""
193}
194
195func (m *DetectIntentRequest) GetQueryParams() *QueryParameters {
196	if m != nil {
197		return m.QueryParams
198	}
199	return nil
200}
201
202func (m *DetectIntentRequest) GetQueryInput() *QueryInput {
203	if m != nil {
204		return m.QueryInput
205	}
206	return nil
207}
208
209func (m *DetectIntentRequest) GetInputAudio() []byte {
210	if m != nil {
211		return m.InputAudio
212	}
213	return nil
214}
215
216// The message returned from the DetectIntent method.
217type DetectIntentResponse struct {
218	// The unique identifier of the response. It can be used to
219	// locate a response in the training example set or for reporting issues.
220	ResponseId string `protobuf:"bytes,1,opt,name=response_id,json=responseId,proto3" json:"response_id,omitempty"`
221	// The results of the conversational query or event processing.
222	QueryResult *QueryResult `protobuf:"bytes,2,opt,name=query_result,json=queryResult,proto3" json:"query_result,omitempty"`
223	// Specifies the status of the webhook request. `webhook_status`
224	// is never populated in webhook requests.
225	WebhookStatus        *status.Status `protobuf:"bytes,3,opt,name=webhook_status,json=webhookStatus,proto3" json:"webhook_status,omitempty"`
226	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
227	XXX_unrecognized     []byte         `json:"-"`
228	XXX_sizecache        int32          `json:"-"`
229}
230
231func (m *DetectIntentResponse) Reset()         { *m = DetectIntentResponse{} }
232func (m *DetectIntentResponse) String() string { return proto.CompactTextString(m) }
233func (*DetectIntentResponse) ProtoMessage()    {}
234func (*DetectIntentResponse) Descriptor() ([]byte, []int) {
235	return fileDescriptor_session_e51df00932adac70, []int{1}
236}
237func (m *DetectIntentResponse) XXX_Unmarshal(b []byte) error {
238	return xxx_messageInfo_DetectIntentResponse.Unmarshal(m, b)
239}
240func (m *DetectIntentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
241	return xxx_messageInfo_DetectIntentResponse.Marshal(b, m, deterministic)
242}
243func (dst *DetectIntentResponse) XXX_Merge(src proto.Message) {
244	xxx_messageInfo_DetectIntentResponse.Merge(dst, src)
245}
246func (m *DetectIntentResponse) XXX_Size() int {
247	return xxx_messageInfo_DetectIntentResponse.Size(m)
248}
249func (m *DetectIntentResponse) XXX_DiscardUnknown() {
250	xxx_messageInfo_DetectIntentResponse.DiscardUnknown(m)
251}
252
253var xxx_messageInfo_DetectIntentResponse proto.InternalMessageInfo
254
255func (m *DetectIntentResponse) GetResponseId() string {
256	if m != nil {
257		return m.ResponseId
258	}
259	return ""
260}
261
262func (m *DetectIntentResponse) GetQueryResult() *QueryResult {
263	if m != nil {
264		return m.QueryResult
265	}
266	return nil
267}
268
269func (m *DetectIntentResponse) GetWebhookStatus() *status.Status {
270	if m != nil {
271		return m.WebhookStatus
272	}
273	return nil
274}
275
276// Represents the parameters of the conversational query.
277type QueryParameters struct {
278	// Optional. The time zone of this conversational query from the
279	// [time zone database](https://www.iana.org/time-zones), e.g.,
280	// America/New_York, Europe/Paris. If not provided, the time zone specified in
281	// agent settings is used.
282	TimeZone string `protobuf:"bytes,1,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"`
283	// Optional. The geo location of this conversational query.
284	GeoLocation *latlng.LatLng `protobuf:"bytes,2,opt,name=geo_location,json=geoLocation,proto3" json:"geo_location,omitempty"`
285	// Optional. The collection of contexts to be activated before this query is
286	// executed.
287	Contexts []*Context `protobuf:"bytes,3,rep,name=contexts,proto3" json:"contexts,omitempty"`
288	// Optional. Specifies whether to delete all contexts in the current session
289	// before the new ones are activated.
290	ResetContexts bool `protobuf:"varint,4,opt,name=reset_contexts,json=resetContexts,proto3" json:"reset_contexts,omitempty"`
291	// Optional. The collection of session entity types to replace or extend
292	// developer entities with for this query only. The entity synonyms apply
293	// to all languages.
294	SessionEntityTypes []*SessionEntityType `protobuf:"bytes,5,rep,name=session_entity_types,json=sessionEntityTypes,proto3" json:"session_entity_types,omitempty"`
295	// Optional. This field can be used to pass custom data into the webhook
296	// associated with the agent. Arbitrary JSON objects are supported.
297	Payload              *_struct.Struct `protobuf:"bytes,6,opt,name=payload,proto3" json:"payload,omitempty"`
298	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
299	XXX_unrecognized     []byte          `json:"-"`
300	XXX_sizecache        int32           `json:"-"`
301}
302
303func (m *QueryParameters) Reset()         { *m = QueryParameters{} }
304func (m *QueryParameters) String() string { return proto.CompactTextString(m) }
305func (*QueryParameters) ProtoMessage()    {}
306func (*QueryParameters) Descriptor() ([]byte, []int) {
307	return fileDescriptor_session_e51df00932adac70, []int{2}
308}
309func (m *QueryParameters) XXX_Unmarshal(b []byte) error {
310	return xxx_messageInfo_QueryParameters.Unmarshal(m, b)
311}
312func (m *QueryParameters) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
313	return xxx_messageInfo_QueryParameters.Marshal(b, m, deterministic)
314}
315func (dst *QueryParameters) XXX_Merge(src proto.Message) {
316	xxx_messageInfo_QueryParameters.Merge(dst, src)
317}
318func (m *QueryParameters) XXX_Size() int {
319	return xxx_messageInfo_QueryParameters.Size(m)
320}
321func (m *QueryParameters) XXX_DiscardUnknown() {
322	xxx_messageInfo_QueryParameters.DiscardUnknown(m)
323}
324
325var xxx_messageInfo_QueryParameters proto.InternalMessageInfo
326
327func (m *QueryParameters) GetTimeZone() string {
328	if m != nil {
329		return m.TimeZone
330	}
331	return ""
332}
333
334func (m *QueryParameters) GetGeoLocation() *latlng.LatLng {
335	if m != nil {
336		return m.GeoLocation
337	}
338	return nil
339}
340
341func (m *QueryParameters) GetContexts() []*Context {
342	if m != nil {
343		return m.Contexts
344	}
345	return nil
346}
347
348func (m *QueryParameters) GetResetContexts() bool {
349	if m != nil {
350		return m.ResetContexts
351	}
352	return false
353}
354
355func (m *QueryParameters) GetSessionEntityTypes() []*SessionEntityType {
356	if m != nil {
357		return m.SessionEntityTypes
358	}
359	return nil
360}
361
362func (m *QueryParameters) GetPayload() *_struct.Struct {
363	if m != nil {
364		return m.Payload
365	}
366	return nil
367}
368
369// Represents the query input. It can contain either:
370//
371// 1.  An audio config which
372//     instructs the speech recognizer how to process the speech audio.
373//
374// 2.  A conversational query in the form of text,.
375//
376// 3.  An event that specifies which intent to trigger.
377type QueryInput struct {
378	// Required. The input specification.
379	//
380	// Types that are valid to be assigned to Input:
381	//	*QueryInput_AudioConfig
382	//	*QueryInput_Text
383	//	*QueryInput_Event
384	Input                isQueryInput_Input `protobuf_oneof:"input"`
385	XXX_NoUnkeyedLiteral struct{}           `json:"-"`
386	XXX_unrecognized     []byte             `json:"-"`
387	XXX_sizecache        int32              `json:"-"`
388}
389
390func (m *QueryInput) Reset()         { *m = QueryInput{} }
391func (m *QueryInput) String() string { return proto.CompactTextString(m) }
392func (*QueryInput) ProtoMessage()    {}
393func (*QueryInput) Descriptor() ([]byte, []int) {
394	return fileDescriptor_session_e51df00932adac70, []int{3}
395}
396func (m *QueryInput) XXX_Unmarshal(b []byte) error {
397	return xxx_messageInfo_QueryInput.Unmarshal(m, b)
398}
399func (m *QueryInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
400	return xxx_messageInfo_QueryInput.Marshal(b, m, deterministic)
401}
402func (dst *QueryInput) XXX_Merge(src proto.Message) {
403	xxx_messageInfo_QueryInput.Merge(dst, src)
404}
405func (m *QueryInput) XXX_Size() int {
406	return xxx_messageInfo_QueryInput.Size(m)
407}
408func (m *QueryInput) XXX_DiscardUnknown() {
409	xxx_messageInfo_QueryInput.DiscardUnknown(m)
410}
411
412var xxx_messageInfo_QueryInput proto.InternalMessageInfo
413
414type isQueryInput_Input interface {
415	isQueryInput_Input()
416}
417
418type QueryInput_AudioConfig struct {
419	AudioConfig *InputAudioConfig `protobuf:"bytes,1,opt,name=audio_config,json=audioConfig,proto3,oneof"`
420}
421
422type QueryInput_Text struct {
423	Text *TextInput `protobuf:"bytes,2,opt,name=text,proto3,oneof"`
424}
425
426type QueryInput_Event struct {
427	Event *EventInput `protobuf:"bytes,3,opt,name=event,proto3,oneof"`
428}
429
430func (*QueryInput_AudioConfig) isQueryInput_Input() {}
431
432func (*QueryInput_Text) isQueryInput_Input() {}
433
434func (*QueryInput_Event) isQueryInput_Input() {}
435
436func (m *QueryInput) GetInput() isQueryInput_Input {
437	if m != nil {
438		return m.Input
439	}
440	return nil
441}
442
443func (m *QueryInput) GetAudioConfig() *InputAudioConfig {
444	if x, ok := m.GetInput().(*QueryInput_AudioConfig); ok {
445		return x.AudioConfig
446	}
447	return nil
448}
449
450func (m *QueryInput) GetText() *TextInput {
451	if x, ok := m.GetInput().(*QueryInput_Text); ok {
452		return x.Text
453	}
454	return nil
455}
456
457func (m *QueryInput) GetEvent() *EventInput {
458	if x, ok := m.GetInput().(*QueryInput_Event); ok {
459		return x.Event
460	}
461	return nil
462}
463
464// XXX_OneofFuncs is for the internal use of the proto package.
465func (*QueryInput) XXX_OneofFuncs() (func(msg proto.Message, b *proto.Buffer) error, func(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error), func(msg proto.Message) (n int), []interface{}) {
466	return _QueryInput_OneofMarshaler, _QueryInput_OneofUnmarshaler, _QueryInput_OneofSizer, []interface{}{
467		(*QueryInput_AudioConfig)(nil),
468		(*QueryInput_Text)(nil),
469		(*QueryInput_Event)(nil),
470	}
471}
472
473func _QueryInput_OneofMarshaler(msg proto.Message, b *proto.Buffer) error {
474	m := msg.(*QueryInput)
475	// input
476	switch x := m.Input.(type) {
477	case *QueryInput_AudioConfig:
478		b.EncodeVarint(1<<3 | proto.WireBytes)
479		if err := b.EncodeMessage(x.AudioConfig); err != nil {
480			return err
481		}
482	case *QueryInput_Text:
483		b.EncodeVarint(2<<3 | proto.WireBytes)
484		if err := b.EncodeMessage(x.Text); err != nil {
485			return err
486		}
487	case *QueryInput_Event:
488		b.EncodeVarint(3<<3 | proto.WireBytes)
489		if err := b.EncodeMessage(x.Event); err != nil {
490			return err
491		}
492	case nil:
493	default:
494		return fmt.Errorf("QueryInput.Input has unexpected type %T", x)
495	}
496	return nil
497}
498
499func _QueryInput_OneofUnmarshaler(msg proto.Message, tag, wire int, b *proto.Buffer) (bool, error) {
500	m := msg.(*QueryInput)
501	switch tag {
502	case 1: // input.audio_config
503		if wire != proto.WireBytes {
504			return true, proto.ErrInternalBadWireType
505		}
506		msg := new(InputAudioConfig)
507		err := b.DecodeMessage(msg)
508		m.Input = &QueryInput_AudioConfig{msg}
509		return true, err
510	case 2: // input.text
511		if wire != proto.WireBytes {
512			return true, proto.ErrInternalBadWireType
513		}
514		msg := new(TextInput)
515		err := b.DecodeMessage(msg)
516		m.Input = &QueryInput_Text{msg}
517		return true, err
518	case 3: // input.event
519		if wire != proto.WireBytes {
520			return true, proto.ErrInternalBadWireType
521		}
522		msg := new(EventInput)
523		err := b.DecodeMessage(msg)
524		m.Input = &QueryInput_Event{msg}
525		return true, err
526	default:
527		return false, nil
528	}
529}
530
531func _QueryInput_OneofSizer(msg proto.Message) (n int) {
532	m := msg.(*QueryInput)
533	// input
534	switch x := m.Input.(type) {
535	case *QueryInput_AudioConfig:
536		s := proto.Size(x.AudioConfig)
537		n += 1 // tag and wire
538		n += proto.SizeVarint(uint64(s))
539		n += s
540	case *QueryInput_Text:
541		s := proto.Size(x.Text)
542		n += 1 // tag and wire
543		n += proto.SizeVarint(uint64(s))
544		n += s
545	case *QueryInput_Event:
546		s := proto.Size(x.Event)
547		n += 1 // tag and wire
548		n += proto.SizeVarint(uint64(s))
549		n += s
550	case nil:
551	default:
552		panic(fmt.Sprintf("proto: unexpected type %T in oneof", x))
553	}
554	return n
555}
556
557// Represents the result of conversational query or event processing.
558type QueryResult struct {
559	// The original conversational query text:
560	// - If natural language text was provided as input, `query_text` contains
561	//   a copy of the input.
562	// - If natural language speech audio was provided as input, `query_text`
563	//   contains the speech recognition result. If speech recognizer produced
564	//   multiple alternatives, a particular one is picked.
565	// - If an event was provided as input, `query_text` is not set.
566	QueryText string `protobuf:"bytes,1,opt,name=query_text,json=queryText,proto3" json:"query_text,omitempty"`
567	// The language that was triggered during intent detection.
568	// See [Language Support](https://dialogflow.com/docs/reference/language)
569	// for a list of the currently supported language codes.
570	LanguageCode string `protobuf:"bytes,15,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
571	// The Speech recognition confidence between 0.0 and 1.0. A higher number
572	// indicates an estimated greater likelihood that the recognized words are
573	// correct. The default of 0.0 is a sentinel value indicating that confidence
574	// was not set.
575	//
576	// You should not rely on this field as it isn't guaranteed to be accurate, or
577	// even set. In particular this field isn't set in Webhook calls and for
578	// StreamingDetectIntent since the streaming endpoint has separate confidence
579	// estimates per portion of the audio in StreamingRecognitionResult.
580	SpeechRecognitionConfidence float32 `protobuf:"fixed32,2,opt,name=speech_recognition_confidence,json=speechRecognitionConfidence,proto3" json:"speech_recognition_confidence,omitempty"`
581	// The action name from the matched intent.
582	Action string `protobuf:"bytes,3,opt,name=action,proto3" json:"action,omitempty"`
583	// The collection of extracted parameters.
584	Parameters *_struct.Struct `protobuf:"bytes,4,opt,name=parameters,proto3" json:"parameters,omitempty"`
585	// This field is set to:
586	// - `false` if the matched intent has required parameters and not all of
587	//    the required parameter values have been collected.
588	// - `true` if all required parameter values have been collected, or if the
589	//    matched intent doesn't contain any required parameters.
590	AllRequiredParamsPresent bool `protobuf:"varint,5,opt,name=all_required_params_present,json=allRequiredParamsPresent,proto3" json:"all_required_params_present,omitempty"`
591	// The text to be pronounced to the user or shown on the screen.
592	FulfillmentText string `protobuf:"bytes,6,opt,name=fulfillment_text,json=fulfillmentText,proto3" json:"fulfillment_text,omitempty"`
593	// The collection of rich messages to present to the user.
594	FulfillmentMessages []*Intent_Message `protobuf:"bytes,7,rep,name=fulfillment_messages,json=fulfillmentMessages,proto3" json:"fulfillment_messages,omitempty"`
595	// If the query was fulfilled by a webhook call, this field is set to the
596	// value of the `source` field returned in the webhook response.
597	WebhookSource string `protobuf:"bytes,8,opt,name=webhook_source,json=webhookSource,proto3" json:"webhook_source,omitempty"`
598	// If the query was fulfilled by a webhook call, this field is set to the
599	// value of the `payload` field returned in the webhook response.
600	WebhookPayload *_struct.Struct `protobuf:"bytes,9,opt,name=webhook_payload,json=webhookPayload,proto3" json:"webhook_payload,omitempty"`
601	// The collection of output contexts. If applicable,
602	// `output_contexts.parameters` contains entries with name
603	// `<parameter name>.original` containing the original parameter values
604	// before the query.
605	OutputContexts []*Context `protobuf:"bytes,10,rep,name=output_contexts,json=outputContexts,proto3" json:"output_contexts,omitempty"`
606	// The intent that matched the conversational query. Some, not
607	// all fields are filled in this message, including but not limited to:
608	// `name`, `display_name` and `webhook_state`.
609	Intent *Intent `protobuf:"bytes,11,opt,name=intent,proto3" json:"intent,omitempty"`
610	// The intent detection confidence. Values range from 0.0
611	// (completely uncertain) to 1.0 (completely certain).
612	IntentDetectionConfidence float32 `protobuf:"fixed32,12,opt,name=intent_detection_confidence,json=intentDetectionConfidence,proto3" json:"intent_detection_confidence,omitempty"`
613	// The free-form diagnostic info. For example, this field
614	// could contain webhook call latency.
615	DiagnosticInfo       *_struct.Struct `protobuf:"bytes,14,opt,name=diagnostic_info,json=diagnosticInfo,proto3" json:"diagnostic_info,omitempty"`
616	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
617	XXX_unrecognized     []byte          `json:"-"`
618	XXX_sizecache        int32           `json:"-"`
619}
620
621func (m *QueryResult) Reset()         { *m = QueryResult{} }
622func (m *QueryResult) String() string { return proto.CompactTextString(m) }
623func (*QueryResult) ProtoMessage()    {}
624func (*QueryResult) Descriptor() ([]byte, []int) {
625	return fileDescriptor_session_e51df00932adac70, []int{4}
626}
627func (m *QueryResult) XXX_Unmarshal(b []byte) error {
628	return xxx_messageInfo_QueryResult.Unmarshal(m, b)
629}
630func (m *QueryResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
631	return xxx_messageInfo_QueryResult.Marshal(b, m, deterministic)
632}
633func (dst *QueryResult) XXX_Merge(src proto.Message) {
634	xxx_messageInfo_QueryResult.Merge(dst, src)
635}
636func (m *QueryResult) XXX_Size() int {
637	return xxx_messageInfo_QueryResult.Size(m)
638}
639func (m *QueryResult) XXX_DiscardUnknown() {
640	xxx_messageInfo_QueryResult.DiscardUnknown(m)
641}
642
643var xxx_messageInfo_QueryResult proto.InternalMessageInfo
644
645func (m *QueryResult) GetQueryText() string {
646	if m != nil {
647		return m.QueryText
648	}
649	return ""
650}
651
652func (m *QueryResult) GetLanguageCode() string {
653	if m != nil {
654		return m.LanguageCode
655	}
656	return ""
657}
658
659func (m *QueryResult) GetSpeechRecognitionConfidence() float32 {
660	if m != nil {
661		return m.SpeechRecognitionConfidence
662	}
663	return 0
664}
665
666func (m *QueryResult) GetAction() string {
667	if m != nil {
668		return m.Action
669	}
670	return ""
671}
672
673func (m *QueryResult) GetParameters() *_struct.Struct {
674	if m != nil {
675		return m.Parameters
676	}
677	return nil
678}
679
680func (m *QueryResult) GetAllRequiredParamsPresent() bool {
681	if m != nil {
682		return m.AllRequiredParamsPresent
683	}
684	return false
685}
686
687func (m *QueryResult) GetFulfillmentText() string {
688	if m != nil {
689		return m.FulfillmentText
690	}
691	return ""
692}
693
694func (m *QueryResult) GetFulfillmentMessages() []*Intent_Message {
695	if m != nil {
696		return m.FulfillmentMessages
697	}
698	return nil
699}
700
701func (m *QueryResult) GetWebhookSource() string {
702	if m != nil {
703		return m.WebhookSource
704	}
705	return ""
706}
707
708func (m *QueryResult) GetWebhookPayload() *_struct.Struct {
709	if m != nil {
710		return m.WebhookPayload
711	}
712	return nil
713}
714
715func (m *QueryResult) GetOutputContexts() []*Context {
716	if m != nil {
717		return m.OutputContexts
718	}
719	return nil
720}
721
722func (m *QueryResult) GetIntent() *Intent {
723	if m != nil {
724		return m.Intent
725	}
726	return nil
727}
728
729func (m *QueryResult) GetIntentDetectionConfidence() float32 {
730	if m != nil {
731		return m.IntentDetectionConfidence
732	}
733	return 0
734}
735
736func (m *QueryResult) GetDiagnosticInfo() *_struct.Struct {
737	if m != nil {
738		return m.DiagnosticInfo
739	}
740	return nil
741}
742
743// The top-level message sent by the client to the
744// `StreamingDetectIntent` method.
745//
746// Multiple request messages should be sent in order:
747//
748// 1.  The first message must contain `session`, `query_input` plus optionally
749//     `query_params` and/or `single_utterance`. The message must not contain `input_audio`.
750//
751// 2.  If `query_input` was set to a streaming input audio config,
752//     all subsequent messages must contain only `input_audio`.
753//     Otherwise, finish the request stream.
754type StreamingDetectIntentRequest struct {
755	// Required. The name of the session the query is sent to.
756	// Format of the session name:
757	// `projects/<Project ID>/agent/sessions/<Session ID>`. It’s up to the API
758	// caller to choose an appropriate <Session ID>. It can be a random number or
759	// some type of user identifier (preferably hashed). The length of the session
760	// ID must not exceed 36 characters.
761	Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"`
762	// Optional. The parameters of this query.
763	QueryParams *QueryParameters `protobuf:"bytes,2,opt,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"`
764	// Required. The input specification. It can be set to:
765	//
766	// 1.  an audio config which instructs the speech recognizer how to process
767	//     the speech audio,
768	//
769	// 2.  a conversational query in the form of text, or
770	//
771	// 3.  an event that specifies which intent to trigger.
772	QueryInput *QueryInput `protobuf:"bytes,3,opt,name=query_input,json=queryInput,proto3" json:"query_input,omitempty"`
773	// Optional. If `false` (default), recognition does not cease until the
774	// client closes the stream.
775	// If `true`, the recognizer will detect a single spoken utterance in input
776	// audio. Recognition ceases when it detects the audio's voice has
777	// stopped or paused. In this case, once a detected intent is received, the
778	// client should close the stream and start a new request with a new stream as
779	// needed.
780	// This setting is ignored when `query_input` is a piece of text or an event.
781	SingleUtterance bool `protobuf:"varint,4,opt,name=single_utterance,json=singleUtterance,proto3" json:"single_utterance,omitempty"`
782	// Optional. The input audio content to be recognized. Must be sent if
783	// `query_input` was set to a streaming input audio config. The complete audio
784	// over all streaming messages must not exceed 1 minute.
785	InputAudio           []byte   `protobuf:"bytes,6,opt,name=input_audio,json=inputAudio,proto3" json:"input_audio,omitempty"`
786	XXX_NoUnkeyedLiteral struct{} `json:"-"`
787	XXX_unrecognized     []byte   `json:"-"`
788	XXX_sizecache        int32    `json:"-"`
789}
790
791func (m *StreamingDetectIntentRequest) Reset()         { *m = StreamingDetectIntentRequest{} }
792func (m *StreamingDetectIntentRequest) String() string { return proto.CompactTextString(m) }
793func (*StreamingDetectIntentRequest) ProtoMessage()    {}
794func (*StreamingDetectIntentRequest) Descriptor() ([]byte, []int) {
795	return fileDescriptor_session_e51df00932adac70, []int{5}
796}
797func (m *StreamingDetectIntentRequest) XXX_Unmarshal(b []byte) error {
798	return xxx_messageInfo_StreamingDetectIntentRequest.Unmarshal(m, b)
799}
800func (m *StreamingDetectIntentRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
801	return xxx_messageInfo_StreamingDetectIntentRequest.Marshal(b, m, deterministic)
802}
803func (dst *StreamingDetectIntentRequest) XXX_Merge(src proto.Message) {
804	xxx_messageInfo_StreamingDetectIntentRequest.Merge(dst, src)
805}
806func (m *StreamingDetectIntentRequest) XXX_Size() int {
807	return xxx_messageInfo_StreamingDetectIntentRequest.Size(m)
808}
809func (m *StreamingDetectIntentRequest) XXX_DiscardUnknown() {
810	xxx_messageInfo_StreamingDetectIntentRequest.DiscardUnknown(m)
811}
812
813var xxx_messageInfo_StreamingDetectIntentRequest proto.InternalMessageInfo
814
815func (m *StreamingDetectIntentRequest) GetSession() string {
816	if m != nil {
817		return m.Session
818	}
819	return ""
820}
821
822func (m *StreamingDetectIntentRequest) GetQueryParams() *QueryParameters {
823	if m != nil {
824		return m.QueryParams
825	}
826	return nil
827}
828
829func (m *StreamingDetectIntentRequest) GetQueryInput() *QueryInput {
830	if m != nil {
831		return m.QueryInput
832	}
833	return nil
834}
835
836func (m *StreamingDetectIntentRequest) GetSingleUtterance() bool {
837	if m != nil {
838		return m.SingleUtterance
839	}
840	return false
841}
842
843func (m *StreamingDetectIntentRequest) GetInputAudio() []byte {
844	if m != nil {
845		return m.InputAudio
846	}
847	return nil
848}
849
850// The top-level message returned from the
851// `StreamingDetectIntent` method.
852//
853// Multiple response messages can be returned in order:
854//
855// 1.  If the input was set to streaming audio, the first one or more messages
856//     contain `recognition_result`. Each `recognition_result` represents a more
857//     complete transcript of what the user said. The last `recognition_result`
858//     has `is_final` set to `true`.
859//
860// 2.  The next message contains `response_id`, `query_result`
861//     and optionally `webhook_status` if a WebHook was called.
862type StreamingDetectIntentResponse struct {
863	// The unique identifier of the response. It can be used to
864	// locate a response in the training example set or for reporting issues.
865	ResponseId string `protobuf:"bytes,1,opt,name=response_id,json=responseId,proto3" json:"response_id,omitempty"`
866	// The result of speech recognition.
867	RecognitionResult *StreamingRecognitionResult `protobuf:"bytes,2,opt,name=recognition_result,json=recognitionResult,proto3" json:"recognition_result,omitempty"`
868	// The result of the conversational query or event processing.
869	QueryResult *QueryResult `protobuf:"bytes,3,opt,name=query_result,json=queryResult,proto3" json:"query_result,omitempty"`
870	// Specifies the status of the webhook request.
871	WebhookStatus        *status.Status `protobuf:"bytes,4,opt,name=webhook_status,json=webhookStatus,proto3" json:"webhook_status,omitempty"`
872	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
873	XXX_unrecognized     []byte         `json:"-"`
874	XXX_sizecache        int32          `json:"-"`
875}
876
877func (m *StreamingDetectIntentResponse) Reset()         { *m = StreamingDetectIntentResponse{} }
878func (m *StreamingDetectIntentResponse) String() string { return proto.CompactTextString(m) }
879func (*StreamingDetectIntentResponse) ProtoMessage()    {}
880func (*StreamingDetectIntentResponse) Descriptor() ([]byte, []int) {
881	return fileDescriptor_session_e51df00932adac70, []int{6}
882}
883func (m *StreamingDetectIntentResponse) XXX_Unmarshal(b []byte) error {
884	return xxx_messageInfo_StreamingDetectIntentResponse.Unmarshal(m, b)
885}
886func (m *StreamingDetectIntentResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
887	return xxx_messageInfo_StreamingDetectIntentResponse.Marshal(b, m, deterministic)
888}
889func (dst *StreamingDetectIntentResponse) XXX_Merge(src proto.Message) {
890	xxx_messageInfo_StreamingDetectIntentResponse.Merge(dst, src)
891}
892func (m *StreamingDetectIntentResponse) XXX_Size() int {
893	return xxx_messageInfo_StreamingDetectIntentResponse.Size(m)
894}
895func (m *StreamingDetectIntentResponse) XXX_DiscardUnknown() {
896	xxx_messageInfo_StreamingDetectIntentResponse.DiscardUnknown(m)
897}
898
899var xxx_messageInfo_StreamingDetectIntentResponse proto.InternalMessageInfo
900
901func (m *StreamingDetectIntentResponse) GetResponseId() string {
902	if m != nil {
903		return m.ResponseId
904	}
905	return ""
906}
907
908func (m *StreamingDetectIntentResponse) GetRecognitionResult() *StreamingRecognitionResult {
909	if m != nil {
910		return m.RecognitionResult
911	}
912	return nil
913}
914
915func (m *StreamingDetectIntentResponse) GetQueryResult() *QueryResult {
916	if m != nil {
917		return m.QueryResult
918	}
919	return nil
920}
921
922func (m *StreamingDetectIntentResponse) GetWebhookStatus() *status.Status {
923	if m != nil {
924		return m.WebhookStatus
925	}
926	return nil
927}
928
929// Contains a speech recognition result corresponding to a portion of the audio
930// that is currently being processed or an indication that this is the end
931// of the single requested utterance.
932//
933// Example:
934//
935// 1.  transcript: "tube"
936//
937// 2.  transcript: "to be a"
938//
939// 3.  transcript: "to be"
940//
941// 4.  transcript: "to be or not to be"
942//     is_final: true
943//
944// 5.  transcript: " that's"
945//
946// 6.  transcript: " that is"
947//
948// 7.  recognition_event_type: `RECOGNITION_EVENT_END_OF_SINGLE_UTTERANCE`
949//
950// 8.  transcript: " that is the question"
951//     is_final: true
952//
953// Only two of the responses contain final results (#4 and #8 indicated by
954// `is_final: true`). Concatenating these generates the full transcript: "to be
955// or not to be that is the question".
956//
957// In each response we populate:
958//
959// *  for `MESSAGE_TYPE_TRANSCRIPT`: `transcript` and possibly `is_final`.
960//
961// *  for `MESSAGE_TYPE_END_OF_SINGLE_UTTERANCE`: only `event_type`.
962type StreamingRecognitionResult struct {
963	// Type of the result message.
964	MessageType StreamingRecognitionResult_MessageType `protobuf:"varint,1,opt,name=message_type,json=messageType,proto3,enum=google.cloud.dialogflow.v2.StreamingRecognitionResult_MessageType" json:"message_type,omitempty"`
965	// Transcript text representing the words that the user spoke.
966	// Populated if and only if `event_type` = `RECOGNITION_EVENT_TRANSCRIPT`.
967	Transcript string `protobuf:"bytes,2,opt,name=transcript,proto3" json:"transcript,omitempty"`
968	// The default of 0.0 is a sentinel value indicating `confidence` was not set.
969	// If `false`, the `StreamingRecognitionResult` represents an
970	// interim result that may change. If `true`, the recognizer will not return
971	// any further hypotheses about this piece of the audio. May only be populated
972	// for `event_type` = `RECOGNITION_EVENT_TRANSCRIPT`.
973	IsFinal bool `protobuf:"varint,3,opt,name=is_final,json=isFinal,proto3" json:"is_final,omitempty"`
974	// The Speech confidence between 0.0 and 1.0 for the current portion of audio.
975	// A higher number indicates an estimated greater likelihood that the
976	// recognized words are correct. The default of 0.0 is a sentinel value
977	// indicating that confidence was not set.
978	//
979	// This field is typically only provided if `is_final` is true and you should
980	// not rely on it being accurate or even set.
981	Confidence           float32  `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"`
982	XXX_NoUnkeyedLiteral struct{} `json:"-"`
983	XXX_unrecognized     []byte   `json:"-"`
984	XXX_sizecache        int32    `json:"-"`
985}
986
987func (m *StreamingRecognitionResult) Reset()         { *m = StreamingRecognitionResult{} }
988func (m *StreamingRecognitionResult) String() string { return proto.CompactTextString(m) }
989func (*StreamingRecognitionResult) ProtoMessage()    {}
990func (*StreamingRecognitionResult) Descriptor() ([]byte, []int) {
991	return fileDescriptor_session_e51df00932adac70, []int{7}
992}
993func (m *StreamingRecognitionResult) XXX_Unmarshal(b []byte) error {
994	return xxx_messageInfo_StreamingRecognitionResult.Unmarshal(m, b)
995}
996func (m *StreamingRecognitionResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
997	return xxx_messageInfo_StreamingRecognitionResult.Marshal(b, m, deterministic)
998}
999func (dst *StreamingRecognitionResult) XXX_Merge(src proto.Message) {
1000	xxx_messageInfo_StreamingRecognitionResult.Merge(dst, src)
1001}
1002func (m *StreamingRecognitionResult) XXX_Size() int {
1003	return xxx_messageInfo_StreamingRecognitionResult.Size(m)
1004}
1005func (m *StreamingRecognitionResult) XXX_DiscardUnknown() {
1006	xxx_messageInfo_StreamingRecognitionResult.DiscardUnknown(m)
1007}
1008
1009var xxx_messageInfo_StreamingRecognitionResult proto.InternalMessageInfo
1010
1011func (m *StreamingRecognitionResult) GetMessageType() StreamingRecognitionResult_MessageType {
1012	if m != nil {
1013		return m.MessageType
1014	}
1015	return StreamingRecognitionResult_MESSAGE_TYPE_UNSPECIFIED
1016}
1017
1018func (m *StreamingRecognitionResult) GetTranscript() string {
1019	if m != nil {
1020		return m.Transcript
1021	}
1022	return ""
1023}
1024
1025func (m *StreamingRecognitionResult) GetIsFinal() bool {
1026	if m != nil {
1027		return m.IsFinal
1028	}
1029	return false
1030}
1031
1032func (m *StreamingRecognitionResult) GetConfidence() float32 {
1033	if m != nil {
1034		return m.Confidence
1035	}
1036	return 0
1037}
1038
1039// Instructs the speech recognizer how to process the audio content.
1040type InputAudioConfig struct {
1041	// Required. Audio encoding of the audio content to process.
1042	AudioEncoding AudioEncoding `protobuf:"varint,1,opt,name=audio_encoding,json=audioEncoding,proto3,enum=google.cloud.dialogflow.v2.AudioEncoding" json:"audio_encoding,omitempty"`
1043	// Required. Sample rate (in Hertz) of the audio content sent in the query.
1044	// Refer to [Cloud Speech API documentation](/speech/docs/basics) for more
1045	// details.
1046	SampleRateHertz int32 `protobuf:"varint,2,opt,name=sample_rate_hertz,json=sampleRateHertz,proto3" json:"sample_rate_hertz,omitempty"`
1047	// Required. The language of the supplied audio. Dialogflow does not do
1048	// translations. See [Language
1049	// Support](https://dialogflow.com/docs/languages) for a list of the
1050	// currently supported language codes. Note that queries in the same session
1051	// do not necessarily need to specify the same language.
1052	LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
1053	// Optional. The collection of phrase hints which are used to boost accuracy
1054	// of speech recognition.
1055	// Refer to [Cloud Speech API documentation](/speech/docs/basics#phrase-hints)
1056	// for more details.
1057	PhraseHints          []string `protobuf:"bytes,4,rep,name=phrase_hints,json=phraseHints,proto3" json:"phrase_hints,omitempty"`
1058	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1059	XXX_unrecognized     []byte   `json:"-"`
1060	XXX_sizecache        int32    `json:"-"`
1061}
1062
1063func (m *InputAudioConfig) Reset()         { *m = InputAudioConfig{} }
1064func (m *InputAudioConfig) String() string { return proto.CompactTextString(m) }
1065func (*InputAudioConfig) ProtoMessage()    {}
1066func (*InputAudioConfig) Descriptor() ([]byte, []int) {
1067	return fileDescriptor_session_e51df00932adac70, []int{8}
1068}
1069func (m *InputAudioConfig) XXX_Unmarshal(b []byte) error {
1070	return xxx_messageInfo_InputAudioConfig.Unmarshal(m, b)
1071}
1072func (m *InputAudioConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1073	return xxx_messageInfo_InputAudioConfig.Marshal(b, m, deterministic)
1074}
1075func (dst *InputAudioConfig) XXX_Merge(src proto.Message) {
1076	xxx_messageInfo_InputAudioConfig.Merge(dst, src)
1077}
1078func (m *InputAudioConfig) XXX_Size() int {
1079	return xxx_messageInfo_InputAudioConfig.Size(m)
1080}
1081func (m *InputAudioConfig) XXX_DiscardUnknown() {
1082	xxx_messageInfo_InputAudioConfig.DiscardUnknown(m)
1083}
1084
1085var xxx_messageInfo_InputAudioConfig proto.InternalMessageInfo
1086
1087func (m *InputAudioConfig) GetAudioEncoding() AudioEncoding {
1088	if m != nil {
1089		return m.AudioEncoding
1090	}
1091	return AudioEncoding_AUDIO_ENCODING_UNSPECIFIED
1092}
1093
1094func (m *InputAudioConfig) GetSampleRateHertz() int32 {
1095	if m != nil {
1096		return m.SampleRateHertz
1097	}
1098	return 0
1099}
1100
1101func (m *InputAudioConfig) GetLanguageCode() string {
1102	if m != nil {
1103		return m.LanguageCode
1104	}
1105	return ""
1106}
1107
1108func (m *InputAudioConfig) GetPhraseHints() []string {
1109	if m != nil {
1110		return m.PhraseHints
1111	}
1112	return nil
1113}
1114
1115// Represents the natural language text to be processed.
1116type TextInput struct {
1117	// Required. The UTF-8 encoded natural language text to be processed.
1118	// Text length must not exceed 256 bytes.
1119	Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
1120	// Required. The language of this conversational query. See [Language
1121	// Support](https://dialogflow.com/docs/languages) for a list of the
1122	// currently supported language codes. Note that queries in the same session
1123	// do not necessarily need to specify the same language.
1124	LanguageCode         string   `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
1125	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1126	XXX_unrecognized     []byte   `json:"-"`
1127	XXX_sizecache        int32    `json:"-"`
1128}
1129
1130func (m *TextInput) Reset()         { *m = TextInput{} }
1131func (m *TextInput) String() string { return proto.CompactTextString(m) }
1132func (*TextInput) ProtoMessage()    {}
1133func (*TextInput) Descriptor() ([]byte, []int) {
1134	return fileDescriptor_session_e51df00932adac70, []int{9}
1135}
1136func (m *TextInput) XXX_Unmarshal(b []byte) error {
1137	return xxx_messageInfo_TextInput.Unmarshal(m, b)
1138}
1139func (m *TextInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1140	return xxx_messageInfo_TextInput.Marshal(b, m, deterministic)
1141}
1142func (dst *TextInput) XXX_Merge(src proto.Message) {
1143	xxx_messageInfo_TextInput.Merge(dst, src)
1144}
1145func (m *TextInput) XXX_Size() int {
1146	return xxx_messageInfo_TextInput.Size(m)
1147}
1148func (m *TextInput) XXX_DiscardUnknown() {
1149	xxx_messageInfo_TextInput.DiscardUnknown(m)
1150}
1151
1152var xxx_messageInfo_TextInput proto.InternalMessageInfo
1153
1154func (m *TextInput) GetText() string {
1155	if m != nil {
1156		return m.Text
1157	}
1158	return ""
1159}
1160
1161func (m *TextInput) GetLanguageCode() string {
1162	if m != nil {
1163		return m.LanguageCode
1164	}
1165	return ""
1166}
1167
1168// Events allow for matching intents by event name instead of the natural
1169// language input. For instance, input `<event: { name: “welcome_event”,
1170// parameters: { name: “Sam” } }>` can trigger a personalized welcome response.
1171// The parameter `name` may be used by the agent in the response:
1172// `“Hello #welcome_event.name! What can I do for you today?”`.
1173type EventInput struct {
1174	// Required. The unique identifier of the event.
1175	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1176	// Optional. The collection of parameters associated with the event.
1177	Parameters *_struct.Struct `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"`
1178	// Required. The language of this query. See [Language
1179	// Support](https://dialogflow.com/docs/languages) for a list of the
1180	// currently supported language codes. Note that queries in the same session
1181	// do not necessarily need to specify the same language.
1182	LanguageCode         string   `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
1183	XXX_NoUnkeyedLiteral struct{} `json:"-"`
1184	XXX_unrecognized     []byte   `json:"-"`
1185	XXX_sizecache        int32    `json:"-"`
1186}
1187
1188func (m *EventInput) Reset()         { *m = EventInput{} }
1189func (m *EventInput) String() string { return proto.CompactTextString(m) }
1190func (*EventInput) ProtoMessage()    {}
1191func (*EventInput) Descriptor() ([]byte, []int) {
1192	return fileDescriptor_session_e51df00932adac70, []int{10}
1193}
1194func (m *EventInput) XXX_Unmarshal(b []byte) error {
1195	return xxx_messageInfo_EventInput.Unmarshal(m, b)
1196}
1197func (m *EventInput) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1198	return xxx_messageInfo_EventInput.Marshal(b, m, deterministic)
1199}
1200func (dst *EventInput) XXX_Merge(src proto.Message) {
1201	xxx_messageInfo_EventInput.Merge(dst, src)
1202}
1203func (m *EventInput) XXX_Size() int {
1204	return xxx_messageInfo_EventInput.Size(m)
1205}
1206func (m *EventInput) XXX_DiscardUnknown() {
1207	xxx_messageInfo_EventInput.DiscardUnknown(m)
1208}
1209
1210var xxx_messageInfo_EventInput proto.InternalMessageInfo
1211
1212func (m *EventInput) GetName() string {
1213	if m != nil {
1214		return m.Name
1215	}
1216	return ""
1217}
1218
1219func (m *EventInput) GetParameters() *_struct.Struct {
1220	if m != nil {
1221		return m.Parameters
1222	}
1223	return nil
1224}
1225
1226func (m *EventInput) GetLanguageCode() string {
1227	if m != nil {
1228		return m.LanguageCode
1229	}
1230	return ""
1231}
1232
1233func init() {
1234	proto.RegisterType((*DetectIntentRequest)(nil), "google.cloud.dialogflow.v2.DetectIntentRequest")
1235	proto.RegisterType((*DetectIntentResponse)(nil), "google.cloud.dialogflow.v2.DetectIntentResponse")
1236	proto.RegisterType((*QueryParameters)(nil), "google.cloud.dialogflow.v2.QueryParameters")
1237	proto.RegisterType((*QueryInput)(nil), "google.cloud.dialogflow.v2.QueryInput")
1238	proto.RegisterType((*QueryResult)(nil), "google.cloud.dialogflow.v2.QueryResult")
1239	proto.RegisterType((*StreamingDetectIntentRequest)(nil), "google.cloud.dialogflow.v2.StreamingDetectIntentRequest")
1240	proto.RegisterType((*StreamingDetectIntentResponse)(nil), "google.cloud.dialogflow.v2.StreamingDetectIntentResponse")
1241	proto.RegisterType((*StreamingRecognitionResult)(nil), "google.cloud.dialogflow.v2.StreamingRecognitionResult")
1242	proto.RegisterType((*InputAudioConfig)(nil), "google.cloud.dialogflow.v2.InputAudioConfig")
1243	proto.RegisterType((*TextInput)(nil), "google.cloud.dialogflow.v2.TextInput")
1244	proto.RegisterType((*EventInput)(nil), "google.cloud.dialogflow.v2.EventInput")
1245	proto.RegisterEnum("google.cloud.dialogflow.v2.AudioEncoding", AudioEncoding_name, AudioEncoding_value)
1246	proto.RegisterEnum("google.cloud.dialogflow.v2.StreamingRecognitionResult_MessageType", StreamingRecognitionResult_MessageType_name, StreamingRecognitionResult_MessageType_value)
1247}
1248
1249// Reference imports to suppress errors if they are not otherwise used.
1250var _ context.Context
1251var _ grpc.ClientConn
1252
1253// This is a compile-time assertion to ensure that this generated file
1254// is compatible with the grpc package it is being compiled against.
1255const _ = grpc.SupportPackageIsVersion4
1256
1257// SessionsClient is the client API for Sessions service.
1258//
1259// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
1260type SessionsClient interface {
1261	// Processes a natural language query and returns structured, actionable data
1262	// as a result. This method is not idempotent, because it may cause contexts
1263	// and session entity types to be updated, which in turn might affect
1264	// results of future queries.
1265	DetectIntent(ctx context.Context, in *DetectIntentRequest, opts ...grpc.CallOption) (*DetectIntentResponse, error)
1266	// Processes a natural language query in audio format in a streaming fashion
1267	// and returns structured, actionable data as a result. This method is only
1268	// available via the gRPC API (not REST).
1269	StreamingDetectIntent(ctx context.Context, opts ...grpc.CallOption) (Sessions_StreamingDetectIntentClient, error)
1270}
1271
1272type sessionsClient struct {
1273	cc *grpc.ClientConn
1274}
1275
1276func NewSessionsClient(cc *grpc.ClientConn) SessionsClient {
1277	return &sessionsClient{cc}
1278}
1279
1280func (c *sessionsClient) DetectIntent(ctx context.Context, in *DetectIntentRequest, opts ...grpc.CallOption) (*DetectIntentResponse, error) {
1281	out := new(DetectIntentResponse)
1282	err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.v2.Sessions/DetectIntent", in, out, opts...)
1283	if err != nil {
1284		return nil, err
1285	}
1286	return out, nil
1287}
1288
1289func (c *sessionsClient) StreamingDetectIntent(ctx context.Context, opts ...grpc.CallOption) (Sessions_StreamingDetectIntentClient, error) {
1290	stream, err := c.cc.NewStream(ctx, &_Sessions_serviceDesc.Streams[0], "/google.cloud.dialogflow.v2.Sessions/StreamingDetectIntent", opts...)
1291	if err != nil {
1292		return nil, err
1293	}
1294	x := &sessionsStreamingDetectIntentClient{stream}
1295	return x, nil
1296}
1297
1298type Sessions_StreamingDetectIntentClient interface {
1299	Send(*StreamingDetectIntentRequest) error
1300	Recv() (*StreamingDetectIntentResponse, error)
1301	grpc.ClientStream
1302}
1303
1304type sessionsStreamingDetectIntentClient struct {
1305	grpc.ClientStream
1306}
1307
1308func (x *sessionsStreamingDetectIntentClient) Send(m *StreamingDetectIntentRequest) error {
1309	return x.ClientStream.SendMsg(m)
1310}
1311
1312func (x *sessionsStreamingDetectIntentClient) Recv() (*StreamingDetectIntentResponse, error) {
1313	m := new(StreamingDetectIntentResponse)
1314	if err := x.ClientStream.RecvMsg(m); err != nil {
1315		return nil, err
1316	}
1317	return m, nil
1318}
1319
1320// SessionsServer is the server API for Sessions service.
1321type SessionsServer interface {
1322	// Processes a natural language query and returns structured, actionable data
1323	// as a result. This method is not idempotent, because it may cause contexts
1324	// and session entity types to be updated, which in turn might affect
1325	// results of future queries.
1326	DetectIntent(context.Context, *DetectIntentRequest) (*DetectIntentResponse, error)
1327	// Processes a natural language query in audio format in a streaming fashion
1328	// and returns structured, actionable data as a result. This method is only
1329	// available via the gRPC API (not REST).
1330	StreamingDetectIntent(Sessions_StreamingDetectIntentServer) error
1331}
1332
1333func RegisterSessionsServer(s *grpc.Server, srv SessionsServer) {
1334	s.RegisterService(&_Sessions_serviceDesc, srv)
1335}
1336
1337func _Sessions_DetectIntent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1338	in := new(DetectIntentRequest)
1339	if err := dec(in); err != nil {
1340		return nil, err
1341	}
1342	if interceptor == nil {
1343		return srv.(SessionsServer).DetectIntent(ctx, in)
1344	}
1345	info := &grpc.UnaryServerInfo{
1346		Server:     srv,
1347		FullMethod: "/google.cloud.dialogflow.v2.Sessions/DetectIntent",
1348	}
1349	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1350		return srv.(SessionsServer).DetectIntent(ctx, req.(*DetectIntentRequest))
1351	}
1352	return interceptor(ctx, in, info, handler)
1353}
1354
1355func _Sessions_StreamingDetectIntent_Handler(srv interface{}, stream grpc.ServerStream) error {
1356	return srv.(SessionsServer).StreamingDetectIntent(&sessionsStreamingDetectIntentServer{stream})
1357}
1358
1359type Sessions_StreamingDetectIntentServer interface {
1360	Send(*StreamingDetectIntentResponse) error
1361	Recv() (*StreamingDetectIntentRequest, error)
1362	grpc.ServerStream
1363}
1364
1365type sessionsStreamingDetectIntentServer struct {
1366	grpc.ServerStream
1367}
1368
1369func (x *sessionsStreamingDetectIntentServer) Send(m *StreamingDetectIntentResponse) error {
1370	return x.ServerStream.SendMsg(m)
1371}
1372
1373func (x *sessionsStreamingDetectIntentServer) Recv() (*StreamingDetectIntentRequest, error) {
1374	m := new(StreamingDetectIntentRequest)
1375	if err := x.ServerStream.RecvMsg(m); err != nil {
1376		return nil, err
1377	}
1378	return m, nil
1379}
1380
1381var _Sessions_serviceDesc = grpc.ServiceDesc{
1382	ServiceName: "google.cloud.dialogflow.v2.Sessions",
1383	HandlerType: (*SessionsServer)(nil),
1384	Methods: []grpc.MethodDesc{
1385		{
1386			MethodName: "DetectIntent",
1387			Handler:    _Sessions_DetectIntent_Handler,
1388		},
1389	},
1390	Streams: []grpc.StreamDesc{
1391		{
1392			StreamName:    "StreamingDetectIntent",
1393			Handler:       _Sessions_StreamingDetectIntent_Handler,
1394			ServerStreams: true,
1395			ClientStreams: true,
1396		},
1397	},
1398	Metadata: "google/cloud/dialogflow/v2/session.proto",
1399}
1400
1401func init() {
1402	proto.RegisterFile("google/cloud/dialogflow/v2/session.proto", fileDescriptor_session_e51df00932adac70)
1403}
1404
1405var fileDescriptor_session_e51df00932adac70 = []byte{
1406	// 1575 bytes of a gzipped FileDescriptorProto
1407	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xdc, 0x57, 0x4f, 0x73, 0x1b, 0x49,
1408	0x15, 0xcf, 0xc8, 0xff, 0xe4, 0x27, 0xd9, 0xd2, 0x76, 0xb2, 0x9b, 0x89, 0x9d, 0x84, 0xa0, 0xad,
1409	0xb0, 0x8a, 0x01, 0x69, 0x57, 0x50, 0x81, 0x4d, 0x6a, 0x97, 0x95, 0xa5, 0xb1, 0x2d, 0x4a, 0x96,
1410	0xb5, 0x2d, 0x99, 0xec, 0x6e, 0x15, 0xd5, 0xd5, 0x19, 0xb5, 0xc6, 0x03, 0xa3, 0xee, 0xf1, 0x74,
1411	0x2b, 0xbb, 0x5e, 0x0a, 0x0e, 0x7c, 0x02, 0xaa, 0x38, 0x52, 0x5c, 0x28, 0x4e, 0x1c, 0x38, 0x71,
1412	0xe0, 0xc4, 0x97, 0x80, 0x03, 0x67, 0x0a, 0x0e, 0x7c, 0x03, 0xaa, 0xb8, 0x50, 0xd3, 0x3d, 0x23,
1413	0x29, 0xb2, 0x23, 0xab, 0x52, 0x9c, 0xf6, 0x36, 0xfd, 0xfa, 0xf7, 0x5e, 0xbf, 0xf7, 0xe6, 0xd7,
1414	0xef, 0x37, 0x03, 0x65, 0x4f, 0x08, 0x2f, 0x60, 0x55, 0x37, 0x10, 0xe3, 0x41, 0x75, 0xe0, 0xd3,
1415	0x40, 0x78, 0xc3, 0x40, 0x7c, 0x5e, 0x7d, 0x51, 0xab, 0x4a, 0x26, 0xa5, 0x2f, 0x78, 0x25, 0x8c,
1416	0x84, 0x12, 0x68, 0xc7, 0x20, 0x2b, 0x1a, 0x59, 0x99, 0x22, 0x2b, 0x2f, 0x6a, 0x3b, 0x77, 0x93,
1417	0x28, 0x34, 0xf4, 0xab, 0x94, 0x73, 0xa1, 0xa8, 0xf2, 0x05, 0x97, 0xc6, 0x73, 0x67, 0xd1, 0x19,
1418	0xae, 0xe0, 0x8a, 0x7d, 0xa1, 0x12, 0xe4, 0x3b, 0x0b, 0x90, 0x3e, 0x57, 0x8c, 0xa7, 0xc0, 0xef,
1419	0x5e, 0x9f, 0x36, 0x61, 0x5c, 0xf9, 0xea, 0x82, 0xa8, 0x8b, 0x90, 0x25, 0x5e, 0x69, 0x9a, 0x7a,
1420	0xf5, 0x7c, 0x3c, 0xac, 0x4a, 0x15, 0x8d, 0xdd, 0x34, 0xe6, 0xed, 0x64, 0x37, 0x0a, 0xdd, 0xaa,
1421	0x54, 0x54, 0x8d, 0xd3, 0xfc, 0xed, 0x64, 0x23, 0x8e, 0x54, 0x0d, 0xa8, 0x0a, 0xb8, 0x67, 0x76,
1422	0x4a, 0xff, 0xb6, 0xe0, 0x66, 0x93, 0x29, 0xe6, 0xaa, 0x96, 0xce, 0x0e, 0xb3, 0xf3, 0x31, 0x93,
1423	0x0a, 0xd9, 0xb0, 0x91, 0x64, 0x61, 0x5b, 0x0f, 0xac, 0xf2, 0x26, 0x4e, 0x97, 0xa8, 0x03, 0xf9,
1424	0xf3, 0x31, 0x8b, 0x2e, 0x48, 0x48, 0x23, 0x3a, 0x92, 0x76, 0xe6, 0x81, 0x55, 0xce, 0xd5, 0xbe,
1425	0x59, 0x79, 0x75, 0x73, 0x2b, 0x1f, 0xc7, 0xf8, 0x6e, 0x0c, 0x67, 0x8a, 0x45, 0x12, 0xe7, 0xce,
1426	0x27, 0x06, 0x89, 0x0e, 0xc1, 0x2c, 0x89, 0xcf, 0xc3, 0xb1, 0xb2, 0x57, 0x74, 0xb8, 0x6f, 0x5c,
1427	0x1b, 0xae, 0x15, 0xa3, 0x31, 0x9c, 0x4f, 0x9e, 0xd1, 0xd7, 0x20, 0xa7, 0x43, 0x10, 0x3a, 0x1e,
1428	0xf8, 0xc2, 0x5e, 0x7b, 0x60, 0x95, 0xf3, 0x18, 0xb4, 0xa9, 0x1e, 0x5b, 0x4a, 0x7f, 0xb1, 0xe0,
1429	0xd6, 0xcb, 0xb5, 0xca, 0x50, 0x70, 0xc9, 0x62, 0xcf, 0x28, 0x79, 0x26, 0xfe, 0x20, 0x29, 0x18,
1430	0x52, 0x53, 0x6b, 0x80, 0x7e, 0x98, 0xd6, 0x1c, 0x31, 0x39, 0x0e, 0x54, 0x52, 0xf3, 0x3b, 0xd7,
1431	0x26, 0x89, 0x35, 0x3c, 0xa9, 0xd7, 0x2c, 0xd0, 0xfb, 0xb0, 0xfd, 0x39, 0x7b, 0x7e, 0x26, 0xc4,
1432	0x4f, 0x89, 0x79, 0x47, 0x49, 0xc9, 0x28, 0x8d, 0x16, 0x85, 0x6e, 0xa5, 0xa7, 0x77, 0xf0, 0x56,
1433	0x82, 0x34, 0xcb, 0xd2, 0x3f, 0x32, 0x50, 0x98, 0xeb, 0x25, 0xda, 0x85, 0x4d, 0xe5, 0x8f, 0x18,
1434	0xf9, 0x52, 0x70, 0x96, 0x64, 0x9e, 0x8d, 0x0d, 0x9f, 0x09, 0xce, 0xd0, 0x63, 0xc8, 0x7b, 0x4c,
1435	0x90, 0x40, 0xb8, 0x9a, 0xce, 0x49, 0xde, 0x37, 0xd3, 0x93, 0x34, 0xb1, 0xda, 0x54, 0xb5, 0xb9,
1436	0x87, 0x73, 0x1e, 0x13, 0xed, 0x04, 0x87, 0x7e, 0x00, 0xd9, 0x84, 0xd6, 0x71, 0x76, 0x2b, 0xe5,
1437	0x5c, 0xed, 0xed, 0x45, 0xb5, 0x36, 0x0c, 0x16, 0x4f, 0x9c, 0xd0, 0x43, 0xd8, 0x8e, 0x98, 0x64,
1438	0x8a, 0x4c, 0xc2, 0xac, 0x3e, 0xb0, 0xca, 0x59, 0xbc, 0xa5, 0xad, 0x8d, 0x14, 0x46, 0xe0, 0xd6,
1439	0x15, 0x5c, 0x97, 0xf6, 0x9a, 0x3e, 0xf3, 0xdb, 0x8b, 0xce, 0xec, 0x19, 0x3f, 0x47, 0xbb, 0xf5,
1440	0x2f, 0x42, 0x86, 0x91, 0x9c, 0x37, 0x49, 0xf4, 0x1e, 0x6c, 0x84, 0xf4, 0x22, 0x10, 0x74, 0x60,
1441	0xaf, 0xeb, 0xda, 0x6f, 0xa7, 0x31, 0xd3, 0x1b, 0x54, 0xe9, 0xe9, 0x1b, 0x84, 0x53, 0x5c, 0xe9,
1442	0x5f, 0x16, 0xc0, 0x94, 0x61, 0xe8, 0x63, 0xc8, 0x6b, 0x3e, 0xc5, 0x95, 0x0c, 0x7d, 0x4f, 0xb7,
1443	0x38, 0x57, 0xfb, 0xd6, 0xa2, 0xd4, 0x5a, 0x13, 0xca, 0x35, 0xb4, 0xcf, 0xd1, 0x0d, 0x9c, 0xa3,
1444	0xd3, 0x25, 0x7a, 0x0a, 0xab, 0x71, 0xf9, 0xc9, 0xdb, 0x78, 0xb8, 0x28, 0x54, 0x9f, 0x7d, 0xa1,
1445	0x74, 0xb8, 0xa3, 0x1b, 0x58, 0x3b, 0xa1, 0x0f, 0x61, 0x8d, 0xbd, 0x60, 0x7c, 0xa9, 0x8b, 0xe2,
1446	0xc4, 0xc0, 0xd4, 0xdd, 0xb8, 0xed, 0x6f, 0xc0, 0x9a, 0xbe, 0x12, 0xa5, 0xdf, 0xaf, 0x43, 0x6e,
1447	0x86, 0xa4, 0xe8, 0x1e, 0x98, 0xcb, 0x44, 0x74, 0x6e, 0x86, 0x49, 0x9b, 0xda, 0x12, 0x27, 0x81,
1448	0xde, 0x86, 0xad, 0x80, 0x72, 0x6f, 0x4c, 0x3d, 0x46, 0x5c, 0x31, 0x60, 0x76, 0x41, 0x23, 0xf2,
1449	0xa9, 0xb1, 0x21, 0x06, 0x0c, 0xed, 0xc3, 0x3d, 0x19, 0x32, 0xe6, 0x9e, 0x91, 0x88, 0xb9, 0xc2,
1450	0xe3, 0x7e, 0xcc, 0x26, 0xd3, 0xb9, 0x01, 0xe3, 0x2e, 0xd3, 0x25, 0x67, 0xf0, 0xae, 0x01, 0xe1,
1451	0x29, 0xa6, 0x31, 0x81, 0xa0, 0xb7, 0x60, 0x9d, 0xba, 0x9a, 0xad, 0x2b, 0xfa, 0x84, 0x64, 0x85,
1452	0xbe, 0x07, 0x10, 0x4e, 0x68, 0xaf, 0xe9, 0xb4, 0xe0, 0x6d, 0xce, 0x40, 0xd1, 0x07, 0xb0, 0x4b,
1453	0x83, 0x80, 0x44, 0xec, 0x7c, 0xec, 0x47, 0x6c, 0x90, 0xcc, 0x2d, 0x12, 0xc6, 0x54, 0xe4, 0x4a,
1454	0xcf, 0x89, 0x2c, 0xb6, 0x69, 0x10, 0xe0, 0x04, 0x61, 0x06, 0x53, 0xd7, 0xec, 0xa3, 0x47, 0x50,
1455	0x1c, 0x8e, 0x83, 0xa1, 0x1f, 0x04, 0x23, 0xc6, 0x95, 0xe9, 0xce, 0xba, 0xce, 0xac, 0x30, 0x63,
1456	0xd7, 0x3d, 0xfa, 0x31, 0xdc, 0x9a, 0x85, 0x8e, 0x98, 0x94, 0xd4, 0x63, 0xd2, 0xde, 0xd0, 0x74,
1457	0xde, 0x5b, 0xcc, 0x19, 0xad, 0x0d, 0xc7, 0xc6, 0x05, 0xdf, 0x9c, 0x89, 0x93, 0xd8, 0xf4, 0xa5,
1458	0x9a, 0x4c, 0x0e, 0x31, 0x8e, 0x5c, 0x66, 0x67, 0x75, 0x1e, 0x93, 0x29, 0xa1, 0x8d, 0xe8, 0x23,
1459	0x28, 0xa4, 0xb0, 0x94, 0xfb, 0x9b, 0x8b, 0xbb, 0x95, 0x86, 0xed, 0x1a, 0x38, 0x6a, 0x43, 0x41,
1460	0x8c, 0x55, 0x3c, 0x4a, 0x27, 0xd7, 0x17, 0x96, 0x9f, 0x02, 0xdb, 0xc6, 0x77, 0x72, 0xc9, 0x9f,
1461	0xc0, 0xba, 0x51, 0x3e, 0x3b, 0xa7, 0xd3, 0x28, 0x5d, 0xdf, 0x07, 0x9c, 0x78, 0xa0, 0x0f, 0x61,
1462	0xd7, 0x3c, 0x91, 0x81, 0x1e, 0xdc, 0x73, 0x74, 0xca, 0x6b, 0x3a, 0xdd, 0x31, 0x90, 0x66, 0x8a,
1463	0x98, 0x21, 0xd3, 0x47, 0x50, 0x18, 0xf8, 0xd4, 0xe3, 0x42, 0x2a, 0xdf, 0x25, 0x3e, 0x1f, 0x0a,
1464	0x7b, 0xfb, 0x9a, 0x5e, 0x4c, 0xf1, 0x2d, 0x3e, 0x14, 0xa5, 0xdf, 0x66, 0xe0, 0x6e, 0x4f, 0x45,
1465	0x8c, 0x8e, 0x7c, 0xee, 0x7d, 0x45, 0x94, 0xf2, 0x11, 0x14, 0xa5, 0xcf, 0xbd, 0x80, 0x91, 0xb1,
1466	0x52, 0x2c, 0xa2, 0x71, 0x2b, 0xcd, 0x7c, 0x2e, 0x18, 0xfb, 0x69, 0x6a, 0x9e, 0x17, 0xd5, 0xf5,
1467	0x4b, 0xa2, 0xfa, 0xc7, 0x0c, 0xdc, 0x7b, 0x45, 0x7f, 0x96, 0x55, 0x57, 0x06, 0x68, 0x76, 0x5c,
1468	0xbc, 0xa4, 0xb1, 0x8f, 0x17, 0x6a, 0x40, 0x7a, 0xee, 0xcc, 0x24, 0x49, 0x24, 0xf7, 0x8d, 0x68,
1469	0xde, 0x74, 0x49, 0xc4, 0x57, 0xfe, 0xaf, 0x22, 0xbe, 0xba, 0xac, 0x88, 0xff, 0x39, 0x03, 0x3b,
1470	0xaf, 0x4e, 0x1c, 0x31, 0xc8, 0x27, 0x73, 0x43, 0x6b, 0xa1, 0x6e, 0xd7, 0x76, 0x6d, 0xff, 0xf5,
1471	0xda, 0x90, 0xce, 0x13, 0xad, 0x8f, 0xb9, 0xd1, 0x74, 0x81, 0xee, 0x03, 0xa8, 0x88, 0x72, 0xe9,
1472	0x46, 0x7e, 0x68, 0x7a, 0xbd, 0x89, 0x67, 0x2c, 0xe8, 0x0e, 0x64, 0x7d, 0x49, 0x86, 0x3e, 0xa7,
1473	0x81, 0x6e, 0x54, 0x16, 0x6f, 0xf8, 0xf2, 0x20, 0x5e, 0xc6, 0xae, 0x33, 0x57, 0x70, 0x55, 0x5f,
1474	0xc1, 0x19, 0x4b, 0xe9, 0x13, 0xc8, 0xcd, 0x1c, 0x8b, 0xee, 0x82, 0x7d, 0xec, 0xf4, 0x7a, 0xf5,
1475	0x43, 0x87, 0xf4, 0x3f, 0xed, 0x3a, 0xe4, 0xb4, 0xd3, 0xeb, 0x3a, 0x8d, 0xd6, 0x41, 0xcb, 0x69,
1476	0x16, 0x6f, 0xa0, 0x6d, 0x80, 0x3e, 0xae, 0x77, 0x7a, 0x0d, 0xdc, 0xea, 0xf6, 0x8b, 0x16, 0xda,
1477	0x85, 0xdb, 0x4e, 0xa7, 0x49, 0x4e, 0x0e, 0x48, 0xaf, 0xd5, 0x39, 0x6c, 0x3b, 0xe4, 0xb4, 0xdf,
1478	0x77, 0x70, 0xbd, 0xd3, 0x70, 0x8a, 0x99, 0xd2, 0xdf, 0x2d, 0x28, 0xce, 0x8b, 0x2b, 0xea, 0xc2,
1479	0xb6, 0x11, 0x68, 0xc6, 0x5d, 0x31, 0xf0, 0xb9, 0x97, 0xb4, 0xec, 0xd1, 0xa2, 0x96, 0xe9, 0x00,
1480	0x4e, 0xe2, 0x80, 0xb7, 0xe8, 0xec, 0x12, 0xed, 0xc1, 0x1b, 0x92, 0x8e, 0xc2, 0x80, 0x91, 0x88,
1481	0x2a, 0x46, 0xce, 0x58, 0xa4, 0xbe, 0xd4, 0x2d, 0x5a, 0xc3, 0x05, 0xb3, 0x81, 0xa9, 0x62, 0x47,
1482	0xb1, 0xf9, 0xb2, 0x2c, 0xae, 0x5c, 0x21, 0x8b, 0x5f, 0x87, 0x7c, 0x78, 0x16, 0x51, 0xc9, 0xc8,
1483	0x99, 0xcf, 0xf5, 0xb7, 0xd0, 0x4a, 0x79, 0x13, 0xe7, 0x8c, 0xed, 0x28, 0x36, 0x95, 0x9a, 0xb0,
1484	0x39, 0xd1, 0x7a, 0x84, 0x92, 0x0f, 0x04, 0x73, 0x55, 0x8c, 0xee, 0x5f, 0x3a, 0x28, 0x73, 0xf9,
1485	0xa0, 0xd2, 0x2f, 0x00, 0xa6, 0x9a, 0x1f, 0x87, 0xe1, 0x74, 0x94, 0x7e, 0x15, 0xea, 0xe7, 0x39,
1486	0x15, 0xcd, 0x2c, 0xaf, 0xa2, 0xcb, 0x14, 0xba, 0xf7, 0x5f, 0x0b, 0xb6, 0x5e, 0x6a, 0x2d, 0xba,
1487	0x0f, 0x3b, 0xf5, 0xd3, 0x66, 0xeb, 0x84, 0x38, 0x9d, 0xc6, 0x49, 0xb3, 0xd5, 0x39, 0x9c, 0x7b,
1488	0xff, 0x77, 0xc1, 0x9e, 0xdb, 0x6f, 0xb7, 0x3a, 0x4e, 0x1d, 0x93, 0xf7, 0x1e, 0x17, 0x2d, 0x74,
1489	0x1b, 0x6e, 0xce, 0xed, 0x1e, 0xb4, 0xeb, 0x8d, 0x62, 0x06, 0xd9, 0x70, 0x6b, 0x6e, 0xe3, 0xf8,
1490	0xb4, 0x5d, 0x7f, 0x56, 0x5c, 0x41, 0x6f, 0x01, 0x9a, 0xdb, 0xa9, 0x1f, 0xe3, 0xe2, 0x2a, 0xba,
1491	0x03, 0x6f, 0x5e, 0xb6, 0x93, 0x67, 0xfb, 0xc5, 0xb5, 0x98, 0x73, 0x73, 0x5b, 0x27, 0x87, 0x87,
1492	0xe4, 0xa4, 0x7b, 0xda, 0x2b, 0xae, 0xa3, 0x47, 0xf0, 0x70, 0x6e, 0xb3, 0xd7, 0x75, 0x9c, 0x4f,
1493	0xc8, 0xb3, 0x56, 0xff, 0x88, 0x1c, 0x39, 0xf5, 0xa6, 0x83, 0xc9, 0xfe, 0xa7, 0x7d, 0xa7, 0xb8,
1494	0x51, 0xfb, 0x5b, 0x06, 0xb2, 0xc9, 0x67, 0xa9, 0x44, 0x7f, 0xb2, 0x20, 0x3f, 0x3b, 0x0e, 0x51,
1495	0x75, 0x11, 0x1f, 0xaf, 0x10, 0x96, 0x9d, 0x77, 0x97, 0x77, 0x30, 0xa3, 0xb4, 0x54, 0xff, 0xe5,
1496	0x5f, 0xff, 0xf9, 0xeb, 0xcc, 0xd3, 0xd2, 0xe3, 0xf8, 0x27, 0xf2, 0x67, 0x89, 0x0c, 0x7d, 0x10,
1497	0x46, 0xe2, 0x27, 0xcc, 0x55, 0xb2, 0xba, 0x57, 0xa5, 0x1e, 0xe3, 0x2a, 0xfd, 0xbd, 0x94, 0xd5,
1498	0xbd, 0x9f, 0x3f, 0x19, 0xcc, 0xc4, 0x79, 0x62, 0xed, 0xa1, 0x5f, 0x59, 0xf0, 0xe6, 0x95, 0xe3,
1499	0x1c, 0x7d, 0x7f, 0xa9, 0x11, 0x74, 0x55, 0x21, 0xef, 0xbf, 0x86, 0xa7, 0xa9, 0xa8, 0x6c, 0xbd,
1500	0x6b, 0xed, 0xff, 0xc6, 0x82, 0xfb, 0xae, 0x18, 0x2d, 0x08, 0xb2, 0x9f, 0x4f, 0xda, 0xde, 0x8d,
1501	0x09, 0xdc, 0xb5, 0x3e, 0x6b, 0x26, 0x58, 0x4f, 0xc4, 0xf4, 0xac, 0x88, 0xc8, 0xab, 0x7a, 0x8c,
1502	0x6b, 0x7a, 0x57, 0xcd, 0x16, 0x0d, 0x7d, 0x79, 0xd5, 0xbf, 0xf7, 0xd3, 0xe9, 0xea, 0x3f, 0x96,
1503	0xf5, 0xbb, 0x4c, 0xa6, 0x79, 0xf0, 0x87, 0xcc, 0xce, 0xa1, 0x09, 0xd7, 0xd0, 0x47, 0x37, 0xa7,
1504	0x47, 0xff, 0xa8, 0xf6, 0x7c, 0x5d, 0x47, 0xfd, 0xce, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0xe8,
1505	0xf3, 0x64, 0x26, 0x87, 0x10, 0x00, 0x00,
1506}
1507