You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

1508 lines
61 KiB

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