...

Source file src/google.golang.org/genproto/googleapis/apps/card/v1/card.pb.go

Documentation: google.golang.org/genproto/googleapis/apps/card/v1

     1  // Copyright 2024 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.26.0
    18  // 	protoc        v4.24.4
    19  // source: google/apps/card/v1/card.proto
    20  
    21  package card
    22  
    23  import (
    24  	reflect "reflect"
    25  	sync "sync"
    26  
    27  	color "google.golang.org/genproto/googleapis/type/color"
    28  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    29  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    30  )
    31  
    32  const (
    33  	// Verify that this generated code is sufficiently up-to-date.
    34  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    35  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    36  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    37  )
    38  
    39  // The divider style of a card. Currently only used for dividers betweens card
    40  // sections.
    41  //
    42  // [Google Workspace Add-ons and Chat
    43  // apps](https://developers.google.com/workspace/extend):
    44  type Card_DividerStyle int32
    45  
    46  const (
    47  	// Don't use. Unspecified.
    48  	Card_DIVIDER_STYLE_UNSPECIFIED Card_DividerStyle = 0
    49  	// Default option. Render a solid divider between sections.
    50  	Card_SOLID_DIVIDER Card_DividerStyle = 1
    51  	// If set, no divider is rendered between sections.
    52  	Card_NO_DIVIDER Card_DividerStyle = 2
    53  )
    54  
    55  // Enum value maps for Card_DividerStyle.
    56  var (
    57  	Card_DividerStyle_name = map[int32]string{
    58  		0: "DIVIDER_STYLE_UNSPECIFIED",
    59  		1: "SOLID_DIVIDER",
    60  		2: "NO_DIVIDER",
    61  	}
    62  	Card_DividerStyle_value = map[string]int32{
    63  		"DIVIDER_STYLE_UNSPECIFIED": 0,
    64  		"SOLID_DIVIDER":             1,
    65  		"NO_DIVIDER":                2,
    66  	}
    67  )
    68  
    69  func (x Card_DividerStyle) Enum() *Card_DividerStyle {
    70  	p := new(Card_DividerStyle)
    71  	*p = x
    72  	return p
    73  }
    74  
    75  func (x Card_DividerStyle) String() string {
    76  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    77  }
    78  
    79  func (Card_DividerStyle) Descriptor() protoreflect.EnumDescriptor {
    80  	return file_google_apps_card_v1_card_proto_enumTypes[0].Descriptor()
    81  }
    82  
    83  func (Card_DividerStyle) Type() protoreflect.EnumType {
    84  	return &file_google_apps_card_v1_card_proto_enumTypes[0]
    85  }
    86  
    87  func (x Card_DividerStyle) Number() protoreflect.EnumNumber {
    88  	return protoreflect.EnumNumber(x)
    89  }
    90  
    91  // Deprecated: Use Card_DividerStyle.Descriptor instead.
    92  func (Card_DividerStyle) EnumDescriptor() ([]byte, []int) {
    93  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{0, 0}
    94  }
    95  
    96  // In Google Workspace Add-ons,
    97  // determines how a card is displayed.
    98  //
    99  // [Google Workspace
   100  // Add-ons](https://developers.google.com/workspace/add-ons):
   101  type Card_DisplayStyle int32
   102  
   103  const (
   104  	// Don't use. Unspecified.
   105  	Card_DISPLAY_STYLE_UNSPECIFIED Card_DisplayStyle = 0
   106  	// The header of the card appears at the bottom of the
   107  	// sidebar, partially covering the current top card of the stack. Clicking
   108  	// the header pops the card into the card stack. If the card has no header,
   109  	// a generated header is used instead.
   110  	Card_PEEK Card_DisplayStyle = 1
   111  	// Default value. The card is shown by replacing the view of the top card in
   112  	// the card stack.
   113  	Card_REPLACE Card_DisplayStyle = 2
   114  )
   115  
   116  // Enum value maps for Card_DisplayStyle.
   117  var (
   118  	Card_DisplayStyle_name = map[int32]string{
   119  		0: "DISPLAY_STYLE_UNSPECIFIED",
   120  		1: "PEEK",
   121  		2: "REPLACE",
   122  	}
   123  	Card_DisplayStyle_value = map[string]int32{
   124  		"DISPLAY_STYLE_UNSPECIFIED": 0,
   125  		"PEEK":                      1,
   126  		"REPLACE":                   2,
   127  	}
   128  )
   129  
   130  func (x Card_DisplayStyle) Enum() *Card_DisplayStyle {
   131  	p := new(Card_DisplayStyle)
   132  	*p = x
   133  	return p
   134  }
   135  
   136  func (x Card_DisplayStyle) String() string {
   137  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   138  }
   139  
   140  func (Card_DisplayStyle) Descriptor() protoreflect.EnumDescriptor {
   141  	return file_google_apps_card_v1_card_proto_enumTypes[1].Descriptor()
   142  }
   143  
   144  func (Card_DisplayStyle) Type() protoreflect.EnumType {
   145  	return &file_google_apps_card_v1_card_proto_enumTypes[1]
   146  }
   147  
   148  func (x Card_DisplayStyle) Number() protoreflect.EnumNumber {
   149  	return protoreflect.EnumNumber(x)
   150  }
   151  
   152  // Deprecated: Use Card_DisplayStyle.Descriptor instead.
   153  func (Card_DisplayStyle) EnumDescriptor() ([]byte, []int) {
   154  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{0, 1}
   155  }
   156  
   157  // The shape used to crop the image.
   158  //
   159  // [Google Workspace Add-ons and Chat
   160  // apps](https://developers.google.com/workspace/extend):
   161  type Widget_ImageType int32
   162  
   163  const (
   164  	// Default value. Applies a square mask to the image. For example, a 4x3
   165  	// image becomes 3x3.
   166  	Widget_SQUARE Widget_ImageType = 0
   167  	// Applies a circular mask to the image. For example, a 4x3 image becomes a
   168  	// circle with a diameter of 3.
   169  	Widget_CIRCLE Widget_ImageType = 1
   170  )
   171  
   172  // Enum value maps for Widget_ImageType.
   173  var (
   174  	Widget_ImageType_name = map[int32]string{
   175  		0: "SQUARE",
   176  		1: "CIRCLE",
   177  	}
   178  	Widget_ImageType_value = map[string]int32{
   179  		"SQUARE": 0,
   180  		"CIRCLE": 1,
   181  	}
   182  )
   183  
   184  func (x Widget_ImageType) Enum() *Widget_ImageType {
   185  	p := new(Widget_ImageType)
   186  	*p = x
   187  	return p
   188  }
   189  
   190  func (x Widget_ImageType) String() string {
   191  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   192  }
   193  
   194  func (Widget_ImageType) Descriptor() protoreflect.EnumDescriptor {
   195  	return file_google_apps_card_v1_card_proto_enumTypes[2].Descriptor()
   196  }
   197  
   198  func (Widget_ImageType) Type() protoreflect.EnumType {
   199  	return &file_google_apps_card_v1_card_proto_enumTypes[2]
   200  }
   201  
   202  func (x Widget_ImageType) Number() protoreflect.EnumNumber {
   203  	return protoreflect.EnumNumber(x)
   204  }
   205  
   206  // Deprecated: Use Widget_ImageType.Descriptor instead.
   207  func (Widget_ImageType) EnumDescriptor() ([]byte, []int) {
   208  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{1, 0}
   209  }
   210  
   211  // Specifies whether widgets align to the left, right, or center of a column.
   212  //
   213  // [Google Chat apps](https://developers.google.com/workspace/chat):
   214  type Widget_HorizontalAlignment int32
   215  
   216  const (
   217  	// Don't use. Unspecified.
   218  	Widget_HORIZONTAL_ALIGNMENT_UNSPECIFIED Widget_HorizontalAlignment = 0
   219  	// Default value. Aligns widgets to the start position of the column. For
   220  	// left-to-right layouts, aligns to the left. For right-to-left layouts,
   221  	// aligns to the right.
   222  	Widget_START Widget_HorizontalAlignment = 1
   223  	// Aligns widgets to the center of the column.
   224  	Widget_CENTER Widget_HorizontalAlignment = 2
   225  	// Aligns widgets to the end position of the column. For left-to-right
   226  	// layouts, aligns widgets to the right. For right-to-left layouts, aligns
   227  	// widgets to the left.
   228  	Widget_END Widget_HorizontalAlignment = 3
   229  )
   230  
   231  // Enum value maps for Widget_HorizontalAlignment.
   232  var (
   233  	Widget_HorizontalAlignment_name = map[int32]string{
   234  		0: "HORIZONTAL_ALIGNMENT_UNSPECIFIED",
   235  		1: "START",
   236  		2: "CENTER",
   237  		3: "END",
   238  	}
   239  	Widget_HorizontalAlignment_value = map[string]int32{
   240  		"HORIZONTAL_ALIGNMENT_UNSPECIFIED": 0,
   241  		"START":                            1,
   242  		"CENTER":                           2,
   243  		"END":                              3,
   244  	}
   245  )
   246  
   247  func (x Widget_HorizontalAlignment) Enum() *Widget_HorizontalAlignment {
   248  	p := new(Widget_HorizontalAlignment)
   249  	*p = x
   250  	return p
   251  }
   252  
   253  func (x Widget_HorizontalAlignment) String() string {
   254  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   255  }
   256  
   257  func (Widget_HorizontalAlignment) Descriptor() protoreflect.EnumDescriptor {
   258  	return file_google_apps_card_v1_card_proto_enumTypes[3].Descriptor()
   259  }
   260  
   261  func (Widget_HorizontalAlignment) Type() protoreflect.EnumType {
   262  	return &file_google_apps_card_v1_card_proto_enumTypes[3]
   263  }
   264  
   265  func (x Widget_HorizontalAlignment) Number() protoreflect.EnumNumber {
   266  	return protoreflect.EnumNumber(x)
   267  }
   268  
   269  // Deprecated: Use Widget_HorizontalAlignment.Descriptor instead.
   270  func (Widget_HorizontalAlignment) EnumDescriptor() ([]byte, []int) {
   271  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{1, 1}
   272  }
   273  
   274  // How the switch appears in the user interface.
   275  //
   276  // [Google Workspace Add-ons
   277  // and Chat apps](https://developers.google.com/workspace/extend):
   278  type DecoratedText_SwitchControl_ControlType int32
   279  
   280  const (
   281  	// A toggle-style switch.
   282  	DecoratedText_SwitchControl_SWITCH DecoratedText_SwitchControl_ControlType = 0
   283  	// Deprecated in favor of `CHECK_BOX`.
   284  	DecoratedText_SwitchControl_CHECKBOX DecoratedText_SwitchControl_ControlType = 1
   285  	// A checkbox.
   286  	DecoratedText_SwitchControl_CHECK_BOX DecoratedText_SwitchControl_ControlType = 2
   287  )
   288  
   289  // Enum value maps for DecoratedText_SwitchControl_ControlType.
   290  var (
   291  	DecoratedText_SwitchControl_ControlType_name = map[int32]string{
   292  		0: "SWITCH",
   293  		1: "CHECKBOX",
   294  		2: "CHECK_BOX",
   295  	}
   296  	DecoratedText_SwitchControl_ControlType_value = map[string]int32{
   297  		"SWITCH":    0,
   298  		"CHECKBOX":  1,
   299  		"CHECK_BOX": 2,
   300  	}
   301  )
   302  
   303  func (x DecoratedText_SwitchControl_ControlType) Enum() *DecoratedText_SwitchControl_ControlType {
   304  	p := new(DecoratedText_SwitchControl_ControlType)
   305  	*p = x
   306  	return p
   307  }
   308  
   309  func (x DecoratedText_SwitchControl_ControlType) String() string {
   310  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   311  }
   312  
   313  func (DecoratedText_SwitchControl_ControlType) Descriptor() protoreflect.EnumDescriptor {
   314  	return file_google_apps_card_v1_card_proto_enumTypes[4].Descriptor()
   315  }
   316  
   317  func (DecoratedText_SwitchControl_ControlType) Type() protoreflect.EnumType {
   318  	return &file_google_apps_card_v1_card_proto_enumTypes[4]
   319  }
   320  
   321  func (x DecoratedText_SwitchControl_ControlType) Number() protoreflect.EnumNumber {
   322  	return protoreflect.EnumNumber(x)
   323  }
   324  
   325  // Deprecated: Use DecoratedText_SwitchControl_ControlType.Descriptor instead.
   326  func (DecoratedText_SwitchControl_ControlType) EnumDescriptor() ([]byte, []int) {
   327  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{5, 0, 0}
   328  }
   329  
   330  // How a text input field appears in the user interface. For example,
   331  // whether it's a single line input field, or a multi-line input. If
   332  // `initialSuggestions` is specified, `type` is always `SINGLE_LINE`,
   333  // even if it's set to `MULTIPLE_LINE`.
   334  //
   335  // [Google Workspace Add-ons and Chat
   336  // apps](https://developers.google.com/workspace/extend):
   337  type TextInput_Type int32
   338  
   339  const (
   340  	// The text input field has a fixed height of one line.
   341  	TextInput_SINGLE_LINE TextInput_Type = 0
   342  	// The text input field has a fixed height of multiple lines.
   343  	TextInput_MULTIPLE_LINE TextInput_Type = 1
   344  )
   345  
   346  // Enum value maps for TextInput_Type.
   347  var (
   348  	TextInput_Type_name = map[int32]string{
   349  		0: "SINGLE_LINE",
   350  		1: "MULTIPLE_LINE",
   351  	}
   352  	TextInput_Type_value = map[string]int32{
   353  		"SINGLE_LINE":   0,
   354  		"MULTIPLE_LINE": 1,
   355  	}
   356  )
   357  
   358  func (x TextInput_Type) Enum() *TextInput_Type {
   359  	p := new(TextInput_Type)
   360  	*p = x
   361  	return p
   362  }
   363  
   364  func (x TextInput_Type) String() string {
   365  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   366  }
   367  
   368  func (TextInput_Type) Descriptor() protoreflect.EnumDescriptor {
   369  	return file_google_apps_card_v1_card_proto_enumTypes[5].Descriptor()
   370  }
   371  
   372  func (TextInput_Type) Type() protoreflect.EnumType {
   373  	return &file_google_apps_card_v1_card_proto_enumTypes[5]
   374  }
   375  
   376  func (x TextInput_Type) Number() protoreflect.EnumNumber {
   377  	return protoreflect.EnumNumber(x)
   378  }
   379  
   380  // Deprecated: Use TextInput_Type.Descriptor instead.
   381  func (TextInput_Type) EnumDescriptor() ([]byte, []int) {
   382  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{6, 0}
   383  }
   384  
   385  // The format for the items that users can select. Different options support
   386  // different types of interactions. For example, users can select multiple
   387  // checkboxes, but can only select one item from a dropdown menu.
   388  //
   389  // Each selection input supports one type of selection. Mixing checkboxes
   390  // and switches, for example, isn't supported.
   391  //
   392  // [Google Workspace Add-ons and Chat
   393  // apps](https://developers.google.com/workspace/extend):
   394  type SelectionInput_SelectionType int32
   395  
   396  const (
   397  	// A set of checkboxes. Users can select one or more checkboxes.
   398  	SelectionInput_CHECK_BOX SelectionInput_SelectionType = 0
   399  	// A set of radio buttons. Users can select one radio button.
   400  	SelectionInput_RADIO_BUTTON SelectionInput_SelectionType = 1
   401  	// A set of switches. Users can turn on one or more switches.
   402  	SelectionInput_SWITCH SelectionInput_SelectionType = 2
   403  	// A dropdown menu. Users can select one item from the menu.
   404  	SelectionInput_DROPDOWN SelectionInput_SelectionType = 3
   405  	// A multiselect menu for static or dynamic data. From the menu bar,
   406  	// users select one or more items. Users can also input values to populate
   407  	// dynamic data. For example, users can start typing the name of a Google
   408  	// Chat space and the widget autosuggests the space.
   409  	//
   410  	// To populate items for a multiselect menu, you can use one of the
   411  	// following types of data sources:
   412  	//
   413  	//   - Static data: Items are specified as `SelectionItem` objects in the
   414  	//     widget. Up to 100 items.
   415  	//   - Google Workspace data: Items are populated using data from Google
   416  	//     Workspace, such as Google Workspace users or Google Chat spaces.
   417  	//   - External data: Items are populated from an external data
   418  	//     source outside of Google Workspace.
   419  	//
   420  	// For examples of how to implement multiselect menus, see
   421  	// [Add a multiselect
   422  	// menu](https://developers.google.com/workspace/chat/design-interactive-card-dialog#multiselect-menu).
   423  	//
   424  	// [Google Workspace Add-ons and Chat
   425  	// apps](https://developers.google.com/workspace/extend):
   426  	// Multiselect for Google Workspace Add-ons are in
   427  	// Developer Preview.
   428  	SelectionInput_MULTI_SELECT SelectionInput_SelectionType = 4
   429  )
   430  
   431  // Enum value maps for SelectionInput_SelectionType.
   432  var (
   433  	SelectionInput_SelectionType_name = map[int32]string{
   434  		0: "CHECK_BOX",
   435  		1: "RADIO_BUTTON",
   436  		2: "SWITCH",
   437  		3: "DROPDOWN",
   438  		4: "MULTI_SELECT",
   439  	}
   440  	SelectionInput_SelectionType_value = map[string]int32{
   441  		"CHECK_BOX":    0,
   442  		"RADIO_BUTTON": 1,
   443  		"SWITCH":       2,
   444  		"DROPDOWN":     3,
   445  		"MULTI_SELECT": 4,
   446  	}
   447  )
   448  
   449  func (x SelectionInput_SelectionType) Enum() *SelectionInput_SelectionType {
   450  	p := new(SelectionInput_SelectionType)
   451  	*p = x
   452  	return p
   453  }
   454  
   455  func (x SelectionInput_SelectionType) String() string {
   456  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   457  }
   458  
   459  func (SelectionInput_SelectionType) Descriptor() protoreflect.EnumDescriptor {
   460  	return file_google_apps_card_v1_card_proto_enumTypes[6].Descriptor()
   461  }
   462  
   463  func (SelectionInput_SelectionType) Type() protoreflect.EnumType {
   464  	return &file_google_apps_card_v1_card_proto_enumTypes[6]
   465  }
   466  
   467  func (x SelectionInput_SelectionType) Number() protoreflect.EnumNumber {
   468  	return protoreflect.EnumNumber(x)
   469  }
   470  
   471  // Deprecated: Use SelectionInput_SelectionType.Descriptor instead.
   472  func (SelectionInput_SelectionType) EnumDescriptor() ([]byte, []int) {
   473  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{9, 0}
   474  }
   475  
   476  // A data source shared by all [Google Workspace
   477  // applications]
   478  // (https://developers.google.com/workspace/chat/api/reference/rest/v1/HostApp).
   479  //
   480  // [Google Chat apps](https://developers.google.com/workspace/chat):
   481  type SelectionInput_PlatformDataSource_CommonDataSource int32
   482  
   483  const (
   484  	// Default value. Don't use.
   485  	SelectionInput_PlatformDataSource_UNKNOWN SelectionInput_PlatformDataSource_CommonDataSource = 0
   486  	// Google Workspace users. The user can only view and select users from
   487  	// their Google Workspace organization.
   488  	SelectionInput_PlatformDataSource_USER SelectionInput_PlatformDataSource_CommonDataSource = 1
   489  )
   490  
   491  // Enum value maps for SelectionInput_PlatformDataSource_CommonDataSource.
   492  var (
   493  	SelectionInput_PlatformDataSource_CommonDataSource_name = map[int32]string{
   494  		0: "UNKNOWN",
   495  		1: "USER",
   496  	}
   497  	SelectionInput_PlatformDataSource_CommonDataSource_value = map[string]int32{
   498  		"UNKNOWN": 0,
   499  		"USER":    1,
   500  	}
   501  )
   502  
   503  func (x SelectionInput_PlatformDataSource_CommonDataSource) Enum() *SelectionInput_PlatformDataSource_CommonDataSource {
   504  	p := new(SelectionInput_PlatformDataSource_CommonDataSource)
   505  	*p = x
   506  	return p
   507  }
   508  
   509  func (x SelectionInput_PlatformDataSource_CommonDataSource) String() string {
   510  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   511  }
   512  
   513  func (SelectionInput_PlatformDataSource_CommonDataSource) Descriptor() protoreflect.EnumDescriptor {
   514  	return file_google_apps_card_v1_card_proto_enumTypes[7].Descriptor()
   515  }
   516  
   517  func (SelectionInput_PlatformDataSource_CommonDataSource) Type() protoreflect.EnumType {
   518  	return &file_google_apps_card_v1_card_proto_enumTypes[7]
   519  }
   520  
   521  func (x SelectionInput_PlatformDataSource_CommonDataSource) Number() protoreflect.EnumNumber {
   522  	return protoreflect.EnumNumber(x)
   523  }
   524  
   525  // Deprecated: Use SelectionInput_PlatformDataSource_CommonDataSource.Descriptor instead.
   526  func (SelectionInput_PlatformDataSource_CommonDataSource) EnumDescriptor() ([]byte, []int) {
   527  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{9, 1, 0}
   528  }
   529  
   530  // The format for the date and time in the `DateTimePicker` widget.
   531  // Determines whether users can input a date, a time, or both a date and time.
   532  //
   533  // [Google Workspace Add-ons and Chat
   534  // apps](https://developers.google.com/workspace/extend):
   535  type DateTimePicker_DateTimePickerType int32
   536  
   537  const (
   538  	// Users input a date and time.
   539  	DateTimePicker_DATE_AND_TIME DateTimePicker_DateTimePickerType = 0
   540  	// Users input a date.
   541  	DateTimePicker_DATE_ONLY DateTimePicker_DateTimePickerType = 1
   542  	// Users input a time.
   543  	DateTimePicker_TIME_ONLY DateTimePicker_DateTimePickerType = 2
   544  )
   545  
   546  // Enum value maps for DateTimePicker_DateTimePickerType.
   547  var (
   548  	DateTimePicker_DateTimePickerType_name = map[int32]string{
   549  		0: "DATE_AND_TIME",
   550  		1: "DATE_ONLY",
   551  		2: "TIME_ONLY",
   552  	}
   553  	DateTimePicker_DateTimePickerType_value = map[string]int32{
   554  		"DATE_AND_TIME": 0,
   555  		"DATE_ONLY":     1,
   556  		"TIME_ONLY":     2,
   557  	}
   558  )
   559  
   560  func (x DateTimePicker_DateTimePickerType) Enum() *DateTimePicker_DateTimePickerType {
   561  	p := new(DateTimePicker_DateTimePickerType)
   562  	*p = x
   563  	return p
   564  }
   565  
   566  func (x DateTimePicker_DateTimePickerType) String() string {
   567  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   568  }
   569  
   570  func (DateTimePicker_DateTimePickerType) Descriptor() protoreflect.EnumDescriptor {
   571  	return file_google_apps_card_v1_card_proto_enumTypes[8].Descriptor()
   572  }
   573  
   574  func (DateTimePicker_DateTimePickerType) Type() protoreflect.EnumType {
   575  	return &file_google_apps_card_v1_card_proto_enumTypes[8]
   576  }
   577  
   578  func (x DateTimePicker_DateTimePickerType) Number() protoreflect.EnumNumber {
   579  	return protoreflect.EnumNumber(x)
   580  }
   581  
   582  // Deprecated: Use DateTimePicker_DateTimePickerType.Descriptor instead.
   583  func (DateTimePicker_DateTimePickerType) EnumDescriptor() ([]byte, []int) {
   584  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{10, 0}
   585  }
   586  
   587  // Represents the crop style applied to an image.
   588  //
   589  // [Google Workspace Add-ons
   590  // and Chat apps](https://developers.google.com/workspace/extend):
   591  type ImageCropStyle_ImageCropType int32
   592  
   593  const (
   594  	// Don't use. Unspecified.
   595  	ImageCropStyle_IMAGE_CROP_TYPE_UNSPECIFIED ImageCropStyle_ImageCropType = 0
   596  	// Default value. Applies a square crop.
   597  	ImageCropStyle_SQUARE ImageCropStyle_ImageCropType = 1
   598  	// Applies a circular crop.
   599  	ImageCropStyle_CIRCLE ImageCropStyle_ImageCropType = 2
   600  	// Applies a rectangular crop with a custom aspect ratio. Set the custom
   601  	// aspect ratio with `aspectRatio`.
   602  	ImageCropStyle_RECTANGLE_CUSTOM ImageCropStyle_ImageCropType = 3
   603  	// Applies a rectangular crop with a 4:3 aspect ratio.
   604  	ImageCropStyle_RECTANGLE_4_3 ImageCropStyle_ImageCropType = 4
   605  )
   606  
   607  // Enum value maps for ImageCropStyle_ImageCropType.
   608  var (
   609  	ImageCropStyle_ImageCropType_name = map[int32]string{
   610  		0: "IMAGE_CROP_TYPE_UNSPECIFIED",
   611  		1: "SQUARE",
   612  		2: "CIRCLE",
   613  		3: "RECTANGLE_CUSTOM",
   614  		4: "RECTANGLE_4_3",
   615  	}
   616  	ImageCropStyle_ImageCropType_value = map[string]int32{
   617  		"IMAGE_CROP_TYPE_UNSPECIFIED": 0,
   618  		"SQUARE":                      1,
   619  		"CIRCLE":                      2,
   620  		"RECTANGLE_CUSTOM":            3,
   621  		"RECTANGLE_4_3":               4,
   622  	}
   623  )
   624  
   625  func (x ImageCropStyle_ImageCropType) Enum() *ImageCropStyle_ImageCropType {
   626  	p := new(ImageCropStyle_ImageCropType)
   627  	*p = x
   628  	return p
   629  }
   630  
   631  func (x ImageCropStyle_ImageCropType) String() string {
   632  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   633  }
   634  
   635  func (ImageCropStyle_ImageCropType) Descriptor() protoreflect.EnumDescriptor {
   636  	return file_google_apps_card_v1_card_proto_enumTypes[9].Descriptor()
   637  }
   638  
   639  func (ImageCropStyle_ImageCropType) Type() protoreflect.EnumType {
   640  	return &file_google_apps_card_v1_card_proto_enumTypes[9]
   641  }
   642  
   643  func (x ImageCropStyle_ImageCropType) Number() protoreflect.EnumNumber {
   644  	return protoreflect.EnumNumber(x)
   645  }
   646  
   647  // Deprecated: Use ImageCropStyle_ImageCropType.Descriptor instead.
   648  func (ImageCropStyle_ImageCropType) EnumDescriptor() ([]byte, []int) {
   649  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{14, 0}
   650  }
   651  
   652  // Represents the border types applied to widgets.
   653  //
   654  // [Google Workspace Add-ons
   655  // and Chat apps](https://developers.google.com/workspace/extend):
   656  type BorderStyle_BorderType int32
   657  
   658  const (
   659  	// Don't use. Unspecified.
   660  	BorderStyle_BORDER_TYPE_UNSPECIFIED BorderStyle_BorderType = 0
   661  	// Default value. No border.
   662  	BorderStyle_NO_BORDER BorderStyle_BorderType = 1
   663  	// Outline.
   664  	BorderStyle_STROKE BorderStyle_BorderType = 2
   665  )
   666  
   667  // Enum value maps for BorderStyle_BorderType.
   668  var (
   669  	BorderStyle_BorderType_name = map[int32]string{
   670  		0: "BORDER_TYPE_UNSPECIFIED",
   671  		1: "NO_BORDER",
   672  		2: "STROKE",
   673  	}
   674  	BorderStyle_BorderType_value = map[string]int32{
   675  		"BORDER_TYPE_UNSPECIFIED": 0,
   676  		"NO_BORDER":               1,
   677  		"STROKE":                  2,
   678  	}
   679  )
   680  
   681  func (x BorderStyle_BorderType) Enum() *BorderStyle_BorderType {
   682  	p := new(BorderStyle_BorderType)
   683  	*p = x
   684  	return p
   685  }
   686  
   687  func (x BorderStyle_BorderType) String() string {
   688  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   689  }
   690  
   691  func (BorderStyle_BorderType) Descriptor() protoreflect.EnumDescriptor {
   692  	return file_google_apps_card_v1_card_proto_enumTypes[10].Descriptor()
   693  }
   694  
   695  func (BorderStyle_BorderType) Type() protoreflect.EnumType {
   696  	return &file_google_apps_card_v1_card_proto_enumTypes[10]
   697  }
   698  
   699  func (x BorderStyle_BorderType) Number() protoreflect.EnumNumber {
   700  	return protoreflect.EnumNumber(x)
   701  }
   702  
   703  // Deprecated: Use BorderStyle_BorderType.Descriptor instead.
   704  func (BorderStyle_BorderType) EnumDescriptor() ([]byte, []int) {
   705  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{15, 0}
   706  }
   707  
   708  // Represents the various layout options available for a grid item.
   709  //
   710  // [Google Workspace Add-ons and Chat
   711  // apps](https://developers.google.com/workspace/extend):
   712  type Grid_GridItem_GridItemLayout int32
   713  
   714  const (
   715  	// Don't use. Unspecified.
   716  	Grid_GridItem_GRID_ITEM_LAYOUT_UNSPECIFIED Grid_GridItem_GridItemLayout = 0
   717  	// The title and subtitle are shown below the grid item's image.
   718  	Grid_GridItem_TEXT_BELOW Grid_GridItem_GridItemLayout = 1
   719  	// The title and subtitle are shown above the grid item's image.
   720  	Grid_GridItem_TEXT_ABOVE Grid_GridItem_GridItemLayout = 2
   721  )
   722  
   723  // Enum value maps for Grid_GridItem_GridItemLayout.
   724  var (
   725  	Grid_GridItem_GridItemLayout_name = map[int32]string{
   726  		0: "GRID_ITEM_LAYOUT_UNSPECIFIED",
   727  		1: "TEXT_BELOW",
   728  		2: "TEXT_ABOVE",
   729  	}
   730  	Grid_GridItem_GridItemLayout_value = map[string]int32{
   731  		"GRID_ITEM_LAYOUT_UNSPECIFIED": 0,
   732  		"TEXT_BELOW":                   1,
   733  		"TEXT_ABOVE":                   2,
   734  	}
   735  )
   736  
   737  func (x Grid_GridItem_GridItemLayout) Enum() *Grid_GridItem_GridItemLayout {
   738  	p := new(Grid_GridItem_GridItemLayout)
   739  	*p = x
   740  	return p
   741  }
   742  
   743  func (x Grid_GridItem_GridItemLayout) String() string {
   744  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   745  }
   746  
   747  func (Grid_GridItem_GridItemLayout) Descriptor() protoreflect.EnumDescriptor {
   748  	return file_google_apps_card_v1_card_proto_enumTypes[11].Descriptor()
   749  }
   750  
   751  func (Grid_GridItem_GridItemLayout) Type() protoreflect.EnumType {
   752  	return &file_google_apps_card_v1_card_proto_enumTypes[11]
   753  }
   754  
   755  func (x Grid_GridItem_GridItemLayout) Number() protoreflect.EnumNumber {
   756  	return protoreflect.EnumNumber(x)
   757  }
   758  
   759  // Deprecated: Use Grid_GridItem_GridItemLayout.Descriptor instead.
   760  func (Grid_GridItem_GridItemLayout) EnumDescriptor() ([]byte, []int) {
   761  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{17, 0, 0}
   762  }
   763  
   764  // Specifies how a column fills the width of the card. The width of each
   765  // column depends on both the `HorizontalSizeStyle` and the width of the
   766  // widgets within the column.
   767  //
   768  // [Google Workspace Add-ons and Chat
   769  // apps](https://developers.google.com/workspace/extend):
   770  // Columns for Google Workspace Add-ons are in
   771  // Developer Preview.
   772  type Columns_Column_HorizontalSizeStyle int32
   773  
   774  const (
   775  	// Don't use. Unspecified.
   776  	Columns_Column_HORIZONTAL_SIZE_STYLE_UNSPECIFIED Columns_Column_HorizontalSizeStyle = 0
   777  	// Default value. Column fills the available space, up to 70% of the
   778  	// card's width. If both columns are set to `FILL_AVAILABLE_SPACE`, each
   779  	// column fills 50% of the space.
   780  	Columns_Column_FILL_AVAILABLE_SPACE Columns_Column_HorizontalSizeStyle = 1
   781  	// Column fills the least amount of space possible and no more than 30% of
   782  	// the card's width.
   783  	Columns_Column_FILL_MINIMUM_SPACE Columns_Column_HorizontalSizeStyle = 2
   784  )
   785  
   786  // Enum value maps for Columns_Column_HorizontalSizeStyle.
   787  var (
   788  	Columns_Column_HorizontalSizeStyle_name = map[int32]string{
   789  		0: "HORIZONTAL_SIZE_STYLE_UNSPECIFIED",
   790  		1: "FILL_AVAILABLE_SPACE",
   791  		2: "FILL_MINIMUM_SPACE",
   792  	}
   793  	Columns_Column_HorizontalSizeStyle_value = map[string]int32{
   794  		"HORIZONTAL_SIZE_STYLE_UNSPECIFIED": 0,
   795  		"FILL_AVAILABLE_SPACE":              1,
   796  		"FILL_MINIMUM_SPACE":                2,
   797  	}
   798  )
   799  
   800  func (x Columns_Column_HorizontalSizeStyle) Enum() *Columns_Column_HorizontalSizeStyle {
   801  	p := new(Columns_Column_HorizontalSizeStyle)
   802  	*p = x
   803  	return p
   804  }
   805  
   806  func (x Columns_Column_HorizontalSizeStyle) String() string {
   807  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   808  }
   809  
   810  func (Columns_Column_HorizontalSizeStyle) Descriptor() protoreflect.EnumDescriptor {
   811  	return file_google_apps_card_v1_card_proto_enumTypes[12].Descriptor()
   812  }
   813  
   814  func (Columns_Column_HorizontalSizeStyle) Type() protoreflect.EnumType {
   815  	return &file_google_apps_card_v1_card_proto_enumTypes[12]
   816  }
   817  
   818  func (x Columns_Column_HorizontalSizeStyle) Number() protoreflect.EnumNumber {
   819  	return protoreflect.EnumNumber(x)
   820  }
   821  
   822  // Deprecated: Use Columns_Column_HorizontalSizeStyle.Descriptor instead.
   823  func (Columns_Column_HorizontalSizeStyle) EnumDescriptor() ([]byte, []int) {
   824  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{18, 0, 0}
   825  }
   826  
   827  // Specifies whether widgets align to the top, bottom, or center of a
   828  // column.
   829  //
   830  // [Google Workspace Add-ons and Chat
   831  // apps](https://developers.google.com/workspace/extend):
   832  // Columns for Google Workspace Add-ons are in
   833  // Developer Preview.
   834  type Columns_Column_VerticalAlignment int32
   835  
   836  const (
   837  	// Don't use. Unspecified.
   838  	Columns_Column_VERTICAL_ALIGNMENT_UNSPECIFIED Columns_Column_VerticalAlignment = 0
   839  	// Default value. Aligns widgets to the center of a column.
   840  	Columns_Column_CENTER Columns_Column_VerticalAlignment = 1
   841  	// Aligns widgets to the top of a column.
   842  	Columns_Column_TOP Columns_Column_VerticalAlignment = 2
   843  	// Aligns widgets to the bottom of a column.
   844  	Columns_Column_BOTTOM Columns_Column_VerticalAlignment = 3
   845  )
   846  
   847  // Enum value maps for Columns_Column_VerticalAlignment.
   848  var (
   849  	Columns_Column_VerticalAlignment_name = map[int32]string{
   850  		0: "VERTICAL_ALIGNMENT_UNSPECIFIED",
   851  		1: "CENTER",
   852  		2: "TOP",
   853  		3: "BOTTOM",
   854  	}
   855  	Columns_Column_VerticalAlignment_value = map[string]int32{
   856  		"VERTICAL_ALIGNMENT_UNSPECIFIED": 0,
   857  		"CENTER":                         1,
   858  		"TOP":                            2,
   859  		"BOTTOM":                         3,
   860  	}
   861  )
   862  
   863  func (x Columns_Column_VerticalAlignment) Enum() *Columns_Column_VerticalAlignment {
   864  	p := new(Columns_Column_VerticalAlignment)
   865  	*p = x
   866  	return p
   867  }
   868  
   869  func (x Columns_Column_VerticalAlignment) String() string {
   870  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   871  }
   872  
   873  func (Columns_Column_VerticalAlignment) Descriptor() protoreflect.EnumDescriptor {
   874  	return file_google_apps_card_v1_card_proto_enumTypes[13].Descriptor()
   875  }
   876  
   877  func (Columns_Column_VerticalAlignment) Type() protoreflect.EnumType {
   878  	return &file_google_apps_card_v1_card_proto_enumTypes[13]
   879  }
   880  
   881  func (x Columns_Column_VerticalAlignment) Number() protoreflect.EnumNumber {
   882  	return protoreflect.EnumNumber(x)
   883  }
   884  
   885  // Deprecated: Use Columns_Column_VerticalAlignment.Descriptor instead.
   886  func (Columns_Column_VerticalAlignment) EnumDescriptor() ([]byte, []int) {
   887  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{18, 0, 1}
   888  }
   889  
   890  // When an `OnClick` action opens a link, then the client can either open it
   891  // as a full-size window (if that's the frame used by the client), or an
   892  // overlay (such as a pop-up). The implementation depends on the client
   893  // platform capabilities, and the value selected might be ignored if the
   894  // client doesn't support it. `FULL_SIZE` is supported by all clients.
   895  //
   896  // [Google Workspace
   897  // Add-ons](https://developers.google.com/workspace/add-ons):
   898  type OpenLink_OpenAs int32
   899  
   900  const (
   901  	// The link opens as a full-size window (if that's the frame used by the
   902  	// client).
   903  	OpenLink_FULL_SIZE OpenLink_OpenAs = 0
   904  	// The link opens as an overlay, such as a pop-up.
   905  	OpenLink_OVERLAY OpenLink_OpenAs = 1
   906  )
   907  
   908  // Enum value maps for OpenLink_OpenAs.
   909  var (
   910  	OpenLink_OpenAs_name = map[int32]string{
   911  		0: "FULL_SIZE",
   912  		1: "OVERLAY",
   913  	}
   914  	OpenLink_OpenAs_value = map[string]int32{
   915  		"FULL_SIZE": 0,
   916  		"OVERLAY":   1,
   917  	}
   918  )
   919  
   920  func (x OpenLink_OpenAs) Enum() *OpenLink_OpenAs {
   921  	p := new(OpenLink_OpenAs)
   922  	*p = x
   923  	return p
   924  }
   925  
   926  func (x OpenLink_OpenAs) String() string {
   927  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   928  }
   929  
   930  func (OpenLink_OpenAs) Descriptor() protoreflect.EnumDescriptor {
   931  	return file_google_apps_card_v1_card_proto_enumTypes[14].Descriptor()
   932  }
   933  
   934  func (OpenLink_OpenAs) Type() protoreflect.EnumType {
   935  	return &file_google_apps_card_v1_card_proto_enumTypes[14]
   936  }
   937  
   938  func (x OpenLink_OpenAs) Number() protoreflect.EnumNumber {
   939  	return protoreflect.EnumNumber(x)
   940  }
   941  
   942  // Deprecated: Use OpenLink_OpenAs.Descriptor instead.
   943  func (OpenLink_OpenAs) EnumDescriptor() ([]byte, []int) {
   944  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{20, 0}
   945  }
   946  
   947  // What the client does when a link opened by an `OnClick` action is closed.
   948  //
   949  // Implementation depends on client platform capabilities. For example, a web
   950  // browser might open a link in a pop-up window with an `OnClose` handler.
   951  //
   952  // If both `OnOpen` and `OnClose` handlers are set, and the client platform
   953  // can't support both values, `OnClose` takes precedence.
   954  //
   955  // [Google Workspace
   956  // Add-ons](https://developers.google.com/workspace/add-ons):
   957  type OpenLink_OnClose int32
   958  
   959  const (
   960  	// Default value. The card doesn't reload; nothing happens.
   961  	OpenLink_NOTHING OpenLink_OnClose = 0
   962  	// Reloads the card after the child window closes.
   963  	//
   964  	// If used in conjunction with
   965  	// [`OpenAs.OVERLAY`](https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.card.v1#openas),
   966  	// the child window acts as a modal dialog and the parent card is blocked
   967  	// until the child window closes.
   968  	OpenLink_RELOAD OpenLink_OnClose = 1
   969  )
   970  
   971  // Enum value maps for OpenLink_OnClose.
   972  var (
   973  	OpenLink_OnClose_name = map[int32]string{
   974  		0: "NOTHING",
   975  		1: "RELOAD",
   976  	}
   977  	OpenLink_OnClose_value = map[string]int32{
   978  		"NOTHING": 0,
   979  		"RELOAD":  1,
   980  	}
   981  )
   982  
   983  func (x OpenLink_OnClose) Enum() *OpenLink_OnClose {
   984  	p := new(OpenLink_OnClose)
   985  	*p = x
   986  	return p
   987  }
   988  
   989  func (x OpenLink_OnClose) String() string {
   990  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   991  }
   992  
   993  func (OpenLink_OnClose) Descriptor() protoreflect.EnumDescriptor {
   994  	return file_google_apps_card_v1_card_proto_enumTypes[15].Descriptor()
   995  }
   996  
   997  func (OpenLink_OnClose) Type() protoreflect.EnumType {
   998  	return &file_google_apps_card_v1_card_proto_enumTypes[15]
   999  }
  1000  
  1001  func (x OpenLink_OnClose) Number() protoreflect.EnumNumber {
  1002  	return protoreflect.EnumNumber(x)
  1003  }
  1004  
  1005  // Deprecated: Use OpenLink_OnClose.Descriptor instead.
  1006  func (OpenLink_OnClose) EnumDescriptor() ([]byte, []int) {
  1007  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{20, 1}
  1008  }
  1009  
  1010  // Specifies the loading indicator that the action displays while
  1011  // making the call to the action.
  1012  //
  1013  // [Google Workspace Add-ons and Chat
  1014  // apps](https://developers.google.com/workspace/extend):
  1015  type Action_LoadIndicator int32
  1016  
  1017  const (
  1018  	// Displays a spinner to indicate that content is loading.
  1019  	Action_SPINNER Action_LoadIndicator = 0
  1020  	// Nothing is displayed.
  1021  	Action_NONE Action_LoadIndicator = 1
  1022  )
  1023  
  1024  // Enum value maps for Action_LoadIndicator.
  1025  var (
  1026  	Action_LoadIndicator_name = map[int32]string{
  1027  		0: "SPINNER",
  1028  		1: "NONE",
  1029  	}
  1030  	Action_LoadIndicator_value = map[string]int32{
  1031  		"SPINNER": 0,
  1032  		"NONE":    1,
  1033  	}
  1034  )
  1035  
  1036  func (x Action_LoadIndicator) Enum() *Action_LoadIndicator {
  1037  	p := new(Action_LoadIndicator)
  1038  	*p = x
  1039  	return p
  1040  }
  1041  
  1042  func (x Action_LoadIndicator) String() string {
  1043  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
  1044  }
  1045  
  1046  func (Action_LoadIndicator) Descriptor() protoreflect.EnumDescriptor {
  1047  	return file_google_apps_card_v1_card_proto_enumTypes[16].Descriptor()
  1048  }
  1049  
  1050  func (Action_LoadIndicator) Type() protoreflect.EnumType {
  1051  	return &file_google_apps_card_v1_card_proto_enumTypes[16]
  1052  }
  1053  
  1054  func (x Action_LoadIndicator) Number() protoreflect.EnumNumber {
  1055  	return protoreflect.EnumNumber(x)
  1056  }
  1057  
  1058  // Deprecated: Use Action_LoadIndicator.Descriptor instead.
  1059  func (Action_LoadIndicator) EnumDescriptor() ([]byte, []int) {
  1060  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{21, 0}
  1061  }
  1062  
  1063  // Optional. Required when opening a
  1064  // [dialog](https://developers.google.com/workspace/chat/dialogs).
  1065  //
  1066  // What to do in response to an interaction with a user, such as a user
  1067  // clicking a button in a card message.
  1068  //
  1069  // If unspecified, the app responds by executing an `action`—like opening a
  1070  // link or running a function—as normal.
  1071  //
  1072  // By specifying an `interaction`, the app can respond in special interactive
  1073  // ways. For example, by setting `interaction` to `OPEN_DIALOG`, the app can
  1074  // open a [dialog](https://developers.google.com/workspace/chat/dialogs).
  1075  //
  1076  // When specified, a loading indicator isn't shown. If specified for
  1077  // an add-on, the entire card is stripped and nothing is shown in the client.
  1078  //
  1079  // [Google Chat apps](https://developers.google.com/workspace/chat):
  1080  type Action_Interaction int32
  1081  
  1082  const (
  1083  	// Default value. The `action` executes as normal.
  1084  	Action_INTERACTION_UNSPECIFIED Action_Interaction = 0
  1085  	// Opens a [dialog](https://developers.google.com/workspace/chat/dialogs), a
  1086  	// windowed, card-based interface that Chat apps use to interact with users.
  1087  	//
  1088  	// Only supported by Chat apps in response to button-clicks on card
  1089  	// messages. If specified for
  1090  	// an add-on, the entire card is stripped and nothing is shown in the
  1091  	// client.
  1092  	//
  1093  	// [Google Chat apps](https://developers.google.com/workspace/chat):
  1094  	Action_OPEN_DIALOG Action_Interaction = 1
  1095  )
  1096  
  1097  // Enum value maps for Action_Interaction.
  1098  var (
  1099  	Action_Interaction_name = map[int32]string{
  1100  		0: "INTERACTION_UNSPECIFIED",
  1101  		1: "OPEN_DIALOG",
  1102  	}
  1103  	Action_Interaction_value = map[string]int32{
  1104  		"INTERACTION_UNSPECIFIED": 0,
  1105  		"OPEN_DIALOG":             1,
  1106  	}
  1107  )
  1108  
  1109  func (x Action_Interaction) Enum() *Action_Interaction {
  1110  	p := new(Action_Interaction)
  1111  	*p = x
  1112  	return p
  1113  }
  1114  
  1115  func (x Action_Interaction) String() string {
  1116  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
  1117  }
  1118  
  1119  func (Action_Interaction) Descriptor() protoreflect.EnumDescriptor {
  1120  	return file_google_apps_card_v1_card_proto_enumTypes[17].Descriptor()
  1121  }
  1122  
  1123  func (Action_Interaction) Type() protoreflect.EnumType {
  1124  	return &file_google_apps_card_v1_card_proto_enumTypes[17]
  1125  }
  1126  
  1127  func (x Action_Interaction) Number() protoreflect.EnumNumber {
  1128  	return protoreflect.EnumNumber(x)
  1129  }
  1130  
  1131  // Deprecated: Use Action_Interaction.Descriptor instead.
  1132  func (Action_Interaction) EnumDescriptor() ([]byte, []int) {
  1133  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{21, 1}
  1134  }
  1135  
  1136  // A card interface displayed in a Google Chat message or Google Workspace
  1137  // Add-on.
  1138  //
  1139  // Cards support a defined layout, interactive UI elements like buttons, and
  1140  // rich media like images. Use cards to present detailed information,
  1141  // gather information from users, and guide users to take a next step.
  1142  //
  1143  // [Card builder](https://addons.gsuite.google.com/uikit/builder)
  1144  //
  1145  // To learn how
  1146  // to build cards, see the following documentation:
  1147  //
  1148  //   - For Google Chat apps, see [Design the components of a card or
  1149  //     dialog](https://developers.google.com/workspace/chat/design-components-card-dialog).
  1150  //   - For Google Workspace Add-ons, see [Card-based
  1151  //
  1152  // interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards).
  1153  //
  1154  // **Example: Card message for a Google Chat app**
  1155  //
  1156  // ![Example contact
  1157  // card](https://developers.google.com/workspace/chat/images/card_api_reference.png)
  1158  //
  1159  // To create the sample card message in Google Chat, use the following JSON:
  1160  //
  1161  // ```
  1162  //
  1163  //	{
  1164  //	  "cardsV2": [
  1165  //	    {
  1166  //	      "cardId": "unique-card-id",
  1167  //	      "card": {
  1168  //	        "header": {
  1169  //	           "title": "Sasha",
  1170  //	           "subtitle": "Software Engineer",
  1171  //	           "imageUrl":
  1172  //	           "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
  1173  //	           "imageType": "CIRCLE",
  1174  //	           "imageAltText": "Avatar for Sasha"
  1175  //	         },
  1176  //	         "sections": [
  1177  //	           {
  1178  //	             "header": "Contact Info",
  1179  //	             "collapsible": true,
  1180  //	             "uncollapsibleWidgetsCount": 1,
  1181  //	             "widgets": [
  1182  //	               {
  1183  //	                 "decoratedText": {
  1184  //	                   "startIcon": {
  1185  //	                     "knownIcon": "EMAIL"
  1186  //	                   },
  1187  //	                   "text": "sasha@example.com"
  1188  //	                 }
  1189  //	               },
  1190  //	               {
  1191  //	                 "decoratedText": {
  1192  //	                   "startIcon": {
  1193  //	                     "knownIcon": "PERSON"
  1194  //	                   },
  1195  //	                   "text": "<font color=\"#80e27e\">Online</font>"
  1196  //	                 }
  1197  //	               },
  1198  //	               {
  1199  //	                 "decoratedText": {
  1200  //	                   "startIcon": {
  1201  //	                     "knownIcon": "PHONE"
  1202  //	                   },
  1203  //	                   "text": "+1 (555) 555-1234"
  1204  //	                 }
  1205  //	               },
  1206  //	               {
  1207  //	                 "buttonList": {
  1208  //	                   "buttons": [
  1209  //	                     {
  1210  //	                       "text": "Share",
  1211  //	                       "onClick": {
  1212  //	                        "openLink": {
  1213  //	                           "url": "https://example.com/share"
  1214  //	                         }
  1215  //	                       }
  1216  //	                     },
  1217  //	                     {
  1218  //	                       "text": "Edit",
  1219  //	                       "onClick": {
  1220  //	                         "action": {
  1221  //	                           "function": "goToView",
  1222  //	                           "parameters": [
  1223  //	                             {
  1224  //	                               "key": "viewType",
  1225  //	                               "value": "EDIT"
  1226  //	                             }
  1227  //	                           ]
  1228  //	                         }
  1229  //	                       }
  1230  //	                     }
  1231  //	                   ]
  1232  //	                 }
  1233  //	               }
  1234  //	             ]
  1235  //	           }
  1236  //	         ]
  1237  //	       }
  1238  //	    }
  1239  //	  ]
  1240  //	}
  1241  //
  1242  // ```
  1243  type Card struct {
  1244  	state         protoimpl.MessageState
  1245  	sizeCache     protoimpl.SizeCache
  1246  	unknownFields protoimpl.UnknownFields
  1247  
  1248  	// The header of the card. A header usually contains a leading image and a
  1249  	// title. Headers always appear at the top of a card.
  1250  	Header *Card_CardHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
  1251  	// Contains a collection of widgets. Each section has its own, optional
  1252  	// header. Sections are visually separated by a line divider. For an example
  1253  	// in Google Chat apps, see [Define a section of a
  1254  	// card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card).
  1255  	Sections []*Card_Section `protobuf:"bytes,2,rep,name=sections,proto3" json:"sections,omitempty"`
  1256  	// The divider style between sections.
  1257  	SectionDividerStyle Card_DividerStyle `protobuf:"varint,9,opt,name=section_divider_style,json=sectionDividerStyle,proto3,enum=google.apps.card.v1.Card_DividerStyle" json:"section_divider_style,omitempty"`
  1258  	// The card's actions. Actions are added to the card's toolbar menu.
  1259  	//
  1260  	// [Google Workspace
  1261  	// Add-ons](https://developers.google.com/workspace/add-ons):
  1262  	//
  1263  	// For example, the following JSON constructs a card action menu with
  1264  	// `Settings` and `Send Feedback` options:
  1265  	//
  1266  	// ```
  1267  	// "card_actions": [
  1268  	//
  1269  	//	{
  1270  	//	  "actionLabel": "Settings",
  1271  	//	  "onClick": {
  1272  	//	    "action": {
  1273  	//	      "functionName": "goToView",
  1274  	//	      "parameters": [
  1275  	//	        {
  1276  	//	          "key": "viewType",
  1277  	//	          "value": "SETTING"
  1278  	//	       }
  1279  	//	      ],
  1280  	//	      "loadIndicator": "LoadIndicator.SPINNER"
  1281  	//	    }
  1282  	//	  }
  1283  	//	},
  1284  	//	{
  1285  	//	  "actionLabel": "Send Feedback",
  1286  	//	  "onClick": {
  1287  	//	    "openLink": {
  1288  	//	      "url": "https://example.com/feedback"
  1289  	//	    }
  1290  	//	  }
  1291  	//	}
  1292  	//
  1293  	// ]
  1294  	// ```
  1295  	CardActions []*Card_CardAction `protobuf:"bytes,3,rep,name=card_actions,json=cardActions,proto3" json:"card_actions,omitempty"`
  1296  	// Name of the card. Used as a card identifier in card navigation.
  1297  	//
  1298  	// [Google Workspace
  1299  	// Add-ons](https://developers.google.com/workspace/add-ons):
  1300  	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
  1301  	// The fixed footer shown at the bottom of this card.
  1302  	//
  1303  	// Setting `fixedFooter` without specifying a `primaryButton` or a
  1304  	// `secondaryButton` causes an error. For Chat apps, you can use fixed footers
  1305  	// in
  1306  	// [dialogs](https://developers.google.com/workspace/chat/dialogs), but not
  1307  	// [card
  1308  	// messages](https://developers.google.com/workspace/chat/create-messages#create).
  1309  	//
  1310  	// [Google Workspace Add-ons and Chat
  1311  	// apps](https://developers.google.com/workspace/extend):
  1312  	FixedFooter *Card_CardFixedFooter `protobuf:"bytes,5,opt,name=fixed_footer,json=fixedFooter,proto3" json:"fixed_footer,omitempty"`
  1313  	// In Google Workspace Add-ons, sets the display properties of the
  1314  	// `peekCardHeader`.
  1315  	//
  1316  	// [Google Workspace
  1317  	// Add-ons](https://developers.google.com/workspace/add-ons):
  1318  	DisplayStyle Card_DisplayStyle `protobuf:"varint,6,opt,name=display_style,json=displayStyle,proto3,enum=google.apps.card.v1.Card_DisplayStyle" json:"display_style,omitempty"`
  1319  	// When displaying contextual content, the peek card header acts as a
  1320  	// placeholder so that the user can navigate forward between the homepage
  1321  	// cards and the contextual cards.
  1322  	//
  1323  	// [Google Workspace
  1324  	// Add-ons](https://developers.google.com/workspace/add-ons):
  1325  	PeekCardHeader *Card_CardHeader `protobuf:"bytes,7,opt,name=peek_card_header,json=peekCardHeader,proto3" json:"peek_card_header,omitempty"`
  1326  }
  1327  
  1328  func (x *Card) Reset() {
  1329  	*x = Card{}
  1330  	if protoimpl.UnsafeEnabled {
  1331  		mi := &file_google_apps_card_v1_card_proto_msgTypes[0]
  1332  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1333  		ms.StoreMessageInfo(mi)
  1334  	}
  1335  }
  1336  
  1337  func (x *Card) String() string {
  1338  	return protoimpl.X.MessageStringOf(x)
  1339  }
  1340  
  1341  func (*Card) ProtoMessage() {}
  1342  
  1343  func (x *Card) ProtoReflect() protoreflect.Message {
  1344  	mi := &file_google_apps_card_v1_card_proto_msgTypes[0]
  1345  	if protoimpl.UnsafeEnabled && x != nil {
  1346  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1347  		if ms.LoadMessageInfo() == nil {
  1348  			ms.StoreMessageInfo(mi)
  1349  		}
  1350  		return ms
  1351  	}
  1352  	return mi.MessageOf(x)
  1353  }
  1354  
  1355  // Deprecated: Use Card.ProtoReflect.Descriptor instead.
  1356  func (*Card) Descriptor() ([]byte, []int) {
  1357  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{0}
  1358  }
  1359  
  1360  func (x *Card) GetHeader() *Card_CardHeader {
  1361  	if x != nil {
  1362  		return x.Header
  1363  	}
  1364  	return nil
  1365  }
  1366  
  1367  func (x *Card) GetSections() []*Card_Section {
  1368  	if x != nil {
  1369  		return x.Sections
  1370  	}
  1371  	return nil
  1372  }
  1373  
  1374  func (x *Card) GetSectionDividerStyle() Card_DividerStyle {
  1375  	if x != nil {
  1376  		return x.SectionDividerStyle
  1377  	}
  1378  	return Card_DIVIDER_STYLE_UNSPECIFIED
  1379  }
  1380  
  1381  func (x *Card) GetCardActions() []*Card_CardAction {
  1382  	if x != nil {
  1383  		return x.CardActions
  1384  	}
  1385  	return nil
  1386  }
  1387  
  1388  func (x *Card) GetName() string {
  1389  	if x != nil {
  1390  		return x.Name
  1391  	}
  1392  	return ""
  1393  }
  1394  
  1395  func (x *Card) GetFixedFooter() *Card_CardFixedFooter {
  1396  	if x != nil {
  1397  		return x.FixedFooter
  1398  	}
  1399  	return nil
  1400  }
  1401  
  1402  func (x *Card) GetDisplayStyle() Card_DisplayStyle {
  1403  	if x != nil {
  1404  		return x.DisplayStyle
  1405  	}
  1406  	return Card_DISPLAY_STYLE_UNSPECIFIED
  1407  }
  1408  
  1409  func (x *Card) GetPeekCardHeader() *Card_CardHeader {
  1410  	if x != nil {
  1411  		return x.PeekCardHeader
  1412  	}
  1413  	return nil
  1414  }
  1415  
  1416  // Each card is made up of widgets.
  1417  //
  1418  // A widget is a composite object that can represent one of text, images,
  1419  // buttons, and other object types.
  1420  type Widget struct {
  1421  	state         protoimpl.MessageState
  1422  	sizeCache     protoimpl.SizeCache
  1423  	unknownFields protoimpl.UnknownFields
  1424  
  1425  	// A widget can only have one of the following items. You can use multiple
  1426  	// widget fields to display more items.
  1427  	//
  1428  	// Types that are assignable to Data:
  1429  	//
  1430  	//	*Widget_TextParagraph
  1431  	//	*Widget_Image
  1432  	//	*Widget_DecoratedText
  1433  	//	*Widget_ButtonList
  1434  	//	*Widget_TextInput
  1435  	//	*Widget_SelectionInput
  1436  	//	*Widget_DateTimePicker
  1437  	//	*Widget_Divider
  1438  	//	*Widget_Grid
  1439  	//	*Widget_Columns
  1440  	Data isWidget_Data `protobuf_oneof:"data"`
  1441  	// Specifies whether widgets align to the left, right, or center of a column.
  1442  	HorizontalAlignment Widget_HorizontalAlignment `protobuf:"varint,8,opt,name=horizontal_alignment,json=horizontalAlignment,proto3,enum=google.apps.card.v1.Widget_HorizontalAlignment" json:"horizontal_alignment,omitempty"`
  1443  }
  1444  
  1445  func (x *Widget) Reset() {
  1446  	*x = Widget{}
  1447  	if protoimpl.UnsafeEnabled {
  1448  		mi := &file_google_apps_card_v1_card_proto_msgTypes[1]
  1449  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1450  		ms.StoreMessageInfo(mi)
  1451  	}
  1452  }
  1453  
  1454  func (x *Widget) String() string {
  1455  	return protoimpl.X.MessageStringOf(x)
  1456  }
  1457  
  1458  func (*Widget) ProtoMessage() {}
  1459  
  1460  func (x *Widget) ProtoReflect() protoreflect.Message {
  1461  	mi := &file_google_apps_card_v1_card_proto_msgTypes[1]
  1462  	if protoimpl.UnsafeEnabled && x != nil {
  1463  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1464  		if ms.LoadMessageInfo() == nil {
  1465  			ms.StoreMessageInfo(mi)
  1466  		}
  1467  		return ms
  1468  	}
  1469  	return mi.MessageOf(x)
  1470  }
  1471  
  1472  // Deprecated: Use Widget.ProtoReflect.Descriptor instead.
  1473  func (*Widget) Descriptor() ([]byte, []int) {
  1474  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{1}
  1475  }
  1476  
  1477  func (m *Widget) GetData() isWidget_Data {
  1478  	if m != nil {
  1479  		return m.Data
  1480  	}
  1481  	return nil
  1482  }
  1483  
  1484  func (x *Widget) GetTextParagraph() *TextParagraph {
  1485  	if x, ok := x.GetData().(*Widget_TextParagraph); ok {
  1486  		return x.TextParagraph
  1487  	}
  1488  	return nil
  1489  }
  1490  
  1491  func (x *Widget) GetImage() *Image {
  1492  	if x, ok := x.GetData().(*Widget_Image); ok {
  1493  		return x.Image
  1494  	}
  1495  	return nil
  1496  }
  1497  
  1498  func (x *Widget) GetDecoratedText() *DecoratedText {
  1499  	if x, ok := x.GetData().(*Widget_DecoratedText); ok {
  1500  		return x.DecoratedText
  1501  	}
  1502  	return nil
  1503  }
  1504  
  1505  func (x *Widget) GetButtonList() *ButtonList {
  1506  	if x, ok := x.GetData().(*Widget_ButtonList); ok {
  1507  		return x.ButtonList
  1508  	}
  1509  	return nil
  1510  }
  1511  
  1512  func (x *Widget) GetTextInput() *TextInput {
  1513  	if x, ok := x.GetData().(*Widget_TextInput); ok {
  1514  		return x.TextInput
  1515  	}
  1516  	return nil
  1517  }
  1518  
  1519  func (x *Widget) GetSelectionInput() *SelectionInput {
  1520  	if x, ok := x.GetData().(*Widget_SelectionInput); ok {
  1521  		return x.SelectionInput
  1522  	}
  1523  	return nil
  1524  }
  1525  
  1526  func (x *Widget) GetDateTimePicker() *DateTimePicker {
  1527  	if x, ok := x.GetData().(*Widget_DateTimePicker); ok {
  1528  		return x.DateTimePicker
  1529  	}
  1530  	return nil
  1531  }
  1532  
  1533  func (x *Widget) GetDivider() *Divider {
  1534  	if x, ok := x.GetData().(*Widget_Divider); ok {
  1535  		return x.Divider
  1536  	}
  1537  	return nil
  1538  }
  1539  
  1540  func (x *Widget) GetGrid() *Grid {
  1541  	if x, ok := x.GetData().(*Widget_Grid); ok {
  1542  		return x.Grid
  1543  	}
  1544  	return nil
  1545  }
  1546  
  1547  func (x *Widget) GetColumns() *Columns {
  1548  	if x, ok := x.GetData().(*Widget_Columns); ok {
  1549  		return x.Columns
  1550  	}
  1551  	return nil
  1552  }
  1553  
  1554  func (x *Widget) GetHorizontalAlignment() Widget_HorizontalAlignment {
  1555  	if x != nil {
  1556  		return x.HorizontalAlignment
  1557  	}
  1558  	return Widget_HORIZONTAL_ALIGNMENT_UNSPECIFIED
  1559  }
  1560  
  1561  type isWidget_Data interface {
  1562  	isWidget_Data()
  1563  }
  1564  
  1565  type Widget_TextParagraph struct {
  1566  	// Displays a text paragraph. Supports simple HTML formatted text. For more
  1567  	// information about formatting text, see
  1568  	// [Formatting text in Google Chat
  1569  	// apps](https://developers.google.com/workspace/chat/format-messages#card-formatting)
  1570  	// and
  1571  	// [Formatting
  1572  	// text in Google Workspace
  1573  	// Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
  1574  	//
  1575  	// For example, the following JSON creates a bolded text:
  1576  	// ```
  1577  	//
  1578  	//	"textParagraph": {
  1579  	//	  "text": "  <b>bold text</b>"
  1580  	//	}
  1581  	//
  1582  	// ```
  1583  	TextParagraph *TextParagraph `protobuf:"bytes,1,opt,name=text_paragraph,json=textParagraph,proto3,oneof"`
  1584  }
  1585  
  1586  type Widget_Image struct {
  1587  	// Displays an image.
  1588  	//
  1589  	// For example, the following JSON creates an image with alternative text:
  1590  	// ```
  1591  	//
  1592  	//	"image": {
  1593  	//	  "imageUrl":
  1594  	//	  "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
  1595  	//	  "altText": "Chat app avatar"
  1596  	//	}
  1597  	//
  1598  	// ```
  1599  	Image *Image `protobuf:"bytes,2,opt,name=image,proto3,oneof"`
  1600  }
  1601  
  1602  type Widget_DecoratedText struct {
  1603  	// Displays a decorated text item.
  1604  	//
  1605  	// For example, the following JSON creates a decorated text widget showing
  1606  	// email address:
  1607  	//
  1608  	// ```
  1609  	//
  1610  	//	"decoratedText": {
  1611  	//	  "icon": {
  1612  	//	    "knownIcon": "EMAIL"
  1613  	//	  },
  1614  	//	  "topLabel": "Email Address",
  1615  	//	  "text": "sasha@example.com",
  1616  	//	  "bottomLabel": "This is a new Email address!",
  1617  	//	  "switchControl": {
  1618  	//	    "name": "has_send_welcome_email_to_sasha",
  1619  	//	    "selected": false,
  1620  	//	    "controlType": "CHECKBOX"
  1621  	//	  }
  1622  	//	}
  1623  	//
  1624  	// ```
  1625  	DecoratedText *DecoratedText `protobuf:"bytes,3,opt,name=decorated_text,json=decoratedText,proto3,oneof"`
  1626  }
  1627  
  1628  type Widget_ButtonList struct {
  1629  	// A list of buttons.
  1630  	//
  1631  	// For example, the following JSON creates two buttons. The first
  1632  	// is a blue text button and the second is an image button that opens a
  1633  	// link:
  1634  	// ```
  1635  	//
  1636  	//	"buttonList": {
  1637  	//	  "buttons": [
  1638  	//	    {
  1639  	//	      "text": "Edit",
  1640  	//	      "color": {
  1641  	//	        "red": 0,
  1642  	//	        "green": 0,
  1643  	//	        "blue": 1,
  1644  	//	        "alpha": 1
  1645  	//	      },
  1646  	//	      "disabled": true,
  1647  	//	    },
  1648  	//	    {
  1649  	//	      "icon": {
  1650  	//	        "knownIcon": "INVITE",
  1651  	//	        "altText": "check calendar"
  1652  	//	      },
  1653  	//	      "onClick": {
  1654  	//	        "openLink": {
  1655  	//	          "url": "https://example.com/calendar"
  1656  	//	        }
  1657  	//	      }
  1658  	//	    }
  1659  	//	  ]
  1660  	//	}
  1661  	//
  1662  	// ```
  1663  	ButtonList *ButtonList `protobuf:"bytes,4,opt,name=button_list,json=buttonList,proto3,oneof"`
  1664  }
  1665  
  1666  type Widget_TextInput struct {
  1667  	// Displays a text box that users can type into.
  1668  	//
  1669  	// For example, the following JSON creates a text input for an email
  1670  	// address:
  1671  	//
  1672  	// ```
  1673  	//
  1674  	//	"textInput": {
  1675  	//	  "name": "mailing_address",
  1676  	//	  "label": "Mailing Address"
  1677  	//	}
  1678  	//
  1679  	// ```
  1680  	//
  1681  	// As another example, the following JSON creates a text input for a
  1682  	// programming language with static suggestions:
  1683  	// ```
  1684  	//
  1685  	//	"textInput": {
  1686  	//	  "name": "preferred_programing_language",
  1687  	//	  "label": "Preferred Language",
  1688  	//	  "initialSuggestions": {
  1689  	//	    "items": [
  1690  	//	      {
  1691  	//	        "text": "C++"
  1692  	//	      },
  1693  	//	      {
  1694  	//	        "text": "Java"
  1695  	//	      },
  1696  	//	      {
  1697  	//	        "text": "JavaScript"
  1698  	//	      },
  1699  	//	      {
  1700  	//	        "text": "Python"
  1701  	//	      }
  1702  	//	    ]
  1703  	//	  }
  1704  	//	}
  1705  	//
  1706  	// ```
  1707  	TextInput *TextInput `protobuf:"bytes,5,opt,name=text_input,json=textInput,proto3,oneof"`
  1708  }
  1709  
  1710  type Widget_SelectionInput struct {
  1711  	// Displays a selection control that lets users select items. Selection
  1712  	// controls can be checkboxes, radio buttons, switches, or dropdown menus.
  1713  	//
  1714  	// For example, the following JSON creates a dropdown menu that lets users
  1715  	// choose a size:
  1716  	//
  1717  	// ```
  1718  	//
  1719  	//	"selectionInput": {
  1720  	//	  "name": "size",
  1721  	//	  "label": "Size"
  1722  	//	  "type": "DROPDOWN",
  1723  	//	  "items": [
  1724  	//	    {
  1725  	//	      "text": "S",
  1726  	//	      "value": "small",
  1727  	//	      "selected": false
  1728  	//	    },
  1729  	//	    {
  1730  	//	      "text": "M",
  1731  	//	      "value": "medium",
  1732  	//	      "selected": true
  1733  	//	    },
  1734  	//	    {
  1735  	//	      "text": "L",
  1736  	//	      "value": "large",
  1737  	//	      "selected": false
  1738  	//	    },
  1739  	//	    {
  1740  	//	      "text": "XL",
  1741  	//	      "value": "extra_large",
  1742  	//	      "selected": false
  1743  	//	    }
  1744  	//	  ]
  1745  	//	}
  1746  	//
  1747  	// ```
  1748  	SelectionInput *SelectionInput `protobuf:"bytes,6,opt,name=selection_input,json=selectionInput,proto3,oneof"`
  1749  }
  1750  
  1751  type Widget_DateTimePicker struct {
  1752  	// Displays a widget that lets users input a date, time, or date and time.
  1753  	//
  1754  	// For example, the following JSON creates a date time picker to schedule an
  1755  	// appointment:
  1756  	//
  1757  	// ```
  1758  	//
  1759  	//	"dateTimePicker": {
  1760  	//	  "name": "appointment_time",
  1761  	//	  "label": "Book your appointment at:",
  1762  	//	  "type": "DATE_AND_TIME",
  1763  	//	  "valueMsEpoch": "796435200000"
  1764  	//	}
  1765  	//
  1766  	// ```
  1767  	DateTimePicker *DateTimePicker `protobuf:"bytes,7,opt,name=date_time_picker,json=dateTimePicker,proto3,oneof"`
  1768  }
  1769  
  1770  type Widget_Divider struct {
  1771  	// Displays a horizontal line divider between widgets.
  1772  	//
  1773  	// For example, the following JSON creates a divider:
  1774  	// ```
  1775  	// "divider": {
  1776  	// }
  1777  	// ```
  1778  	Divider *Divider `protobuf:"bytes,9,opt,name=divider,proto3,oneof"`
  1779  }
  1780  
  1781  type Widget_Grid struct {
  1782  	// Displays a grid with a collection of items.
  1783  	//
  1784  	// A grid supports any number of columns and items. The number of rows is
  1785  	// determined by the upper bounds of the number items divided by the number
  1786  	// of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11
  1787  	// items and 2 columns has 6 rows.
  1788  	//
  1789  	// [Google Workspace Add-ons and
  1790  	// Chat apps](https://developers.google.com/workspace/extend):
  1791  	//
  1792  	// For example, the following JSON creates a 2 column grid with a single
  1793  	// item:
  1794  	//
  1795  	// ```
  1796  	//
  1797  	//	"grid": {
  1798  	//	  "title": "A fine collection of items",
  1799  	//	  "columnCount": 2,
  1800  	//	  "borderStyle": {
  1801  	//	    "type": "STROKE",
  1802  	//	    "cornerRadius": 4
  1803  	//	  },
  1804  	//	  "items": [
  1805  	//	    {
  1806  	//	      "image": {
  1807  	//	        "imageUri": "https://www.example.com/image.png",
  1808  	//	        "cropStyle": {
  1809  	//	          "type": "SQUARE"
  1810  	//	        },
  1811  	//	        "borderStyle": {
  1812  	//	          "type": "STROKE"
  1813  	//	        }
  1814  	//	      },
  1815  	//	      "title": "An item",
  1816  	//	      "textAlignment": "CENTER"
  1817  	//	    }
  1818  	//	  ],
  1819  	//	  "onClick": {
  1820  	//	    "openLink": {
  1821  	//	      "url": "https://www.example.com"
  1822  	//	    }
  1823  	//	  }
  1824  	//	}
  1825  	//
  1826  	// ```
  1827  	Grid *Grid `protobuf:"bytes,10,opt,name=grid,proto3,oneof"`
  1828  }
  1829  
  1830  type Widget_Columns struct {
  1831  	// Displays up to 2 columns.
  1832  	//
  1833  	// To include more than 2 columns, or to use rows, use the `Grid` widget.
  1834  	//
  1835  	// For example, the following JSON creates 2 columns that each contain
  1836  	// text paragraphs:
  1837  	//
  1838  	// ```
  1839  	//
  1840  	//	"columns": {
  1841  	//	  "columnItems": [
  1842  	//	    {
  1843  	//	      "horizontalSizeStyle": "FILL_AVAILABLE_SPACE",
  1844  	//	      "horizontalAlignment": "CENTER",
  1845  	//	      "verticalAlignment": "CENTER",
  1846  	//	      "widgets": [
  1847  	//	        {
  1848  	//	          "textParagraph": {
  1849  	//	            "text": "First column text paragraph"
  1850  	//	          }
  1851  	//	        }
  1852  	//	      ]
  1853  	//	    },
  1854  	//	    {
  1855  	//	      "horizontalSizeStyle": "FILL_AVAILABLE_SPACE",
  1856  	//	      "horizontalAlignment": "CENTER",
  1857  	//	      "verticalAlignment": "CENTER",
  1858  	//	      "widgets": [
  1859  	//	        {
  1860  	//	          "textParagraph": {
  1861  	//	            "text": "Second column text paragraph"
  1862  	//	          }
  1863  	//	        }
  1864  	//	      ]
  1865  	//	    }
  1866  	//	  ]
  1867  	//	}
  1868  	//
  1869  	// ```
  1870  	Columns *Columns `protobuf:"bytes,11,opt,name=columns,proto3,oneof"`
  1871  }
  1872  
  1873  func (*Widget_TextParagraph) isWidget_Data() {}
  1874  
  1875  func (*Widget_Image) isWidget_Data() {}
  1876  
  1877  func (*Widget_DecoratedText) isWidget_Data() {}
  1878  
  1879  func (*Widget_ButtonList) isWidget_Data() {}
  1880  
  1881  func (*Widget_TextInput) isWidget_Data() {}
  1882  
  1883  func (*Widget_SelectionInput) isWidget_Data() {}
  1884  
  1885  func (*Widget_DateTimePicker) isWidget_Data() {}
  1886  
  1887  func (*Widget_Divider) isWidget_Data() {}
  1888  
  1889  func (*Widget_Grid) isWidget_Data() {}
  1890  
  1891  func (*Widget_Columns) isWidget_Data() {}
  1892  
  1893  // A paragraph of text that supports formatting. For an example in
  1894  // Google Chat apps, see [Add a paragraph of formatted
  1895  // text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text).
  1896  // For more information
  1897  // about formatting text, see
  1898  // [Formatting text in Google Chat
  1899  // apps](https://developers.google.com/workspace/chat/format-messages#card-formatting)
  1900  // and
  1901  // [Formatting
  1902  // text in Google Workspace
  1903  // Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
  1904  //
  1905  // [Google Workspace Add-ons and
  1906  // Chat apps](https://developers.google.com/workspace/extend):
  1907  type TextParagraph struct {
  1908  	state         protoimpl.MessageState
  1909  	sizeCache     protoimpl.SizeCache
  1910  	unknownFields protoimpl.UnknownFields
  1911  
  1912  	// The text that's shown in the widget.
  1913  	Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
  1914  }
  1915  
  1916  func (x *TextParagraph) Reset() {
  1917  	*x = TextParagraph{}
  1918  	if protoimpl.UnsafeEnabled {
  1919  		mi := &file_google_apps_card_v1_card_proto_msgTypes[2]
  1920  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1921  		ms.StoreMessageInfo(mi)
  1922  	}
  1923  }
  1924  
  1925  func (x *TextParagraph) String() string {
  1926  	return protoimpl.X.MessageStringOf(x)
  1927  }
  1928  
  1929  func (*TextParagraph) ProtoMessage() {}
  1930  
  1931  func (x *TextParagraph) ProtoReflect() protoreflect.Message {
  1932  	mi := &file_google_apps_card_v1_card_proto_msgTypes[2]
  1933  	if protoimpl.UnsafeEnabled && x != nil {
  1934  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1935  		if ms.LoadMessageInfo() == nil {
  1936  			ms.StoreMessageInfo(mi)
  1937  		}
  1938  		return ms
  1939  	}
  1940  	return mi.MessageOf(x)
  1941  }
  1942  
  1943  // Deprecated: Use TextParagraph.ProtoReflect.Descriptor instead.
  1944  func (*TextParagraph) Descriptor() ([]byte, []int) {
  1945  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{2}
  1946  }
  1947  
  1948  func (x *TextParagraph) GetText() string {
  1949  	if x != nil {
  1950  		return x.Text
  1951  	}
  1952  	return ""
  1953  }
  1954  
  1955  // An image that is specified by a URL and can have an `onClick` action. For an
  1956  // example, see [Add an
  1957  // image](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_an_image).
  1958  //
  1959  // [Google Workspace Add-ons and Chat
  1960  // apps](https://developers.google.com/workspace/extend):
  1961  type Image struct {
  1962  	state         protoimpl.MessageState
  1963  	sizeCache     protoimpl.SizeCache
  1964  	unknownFields protoimpl.UnknownFields
  1965  
  1966  	// The HTTPS URL that hosts the image.
  1967  	//
  1968  	// For example:
  1969  	//
  1970  	// ```
  1971  	// https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png
  1972  	// ```
  1973  	ImageUrl string `protobuf:"bytes,1,opt,name=image_url,json=imageUrl,proto3" json:"image_url,omitempty"`
  1974  	// When a user clicks the image, the click triggers this action.
  1975  	OnClick *OnClick `protobuf:"bytes,2,opt,name=on_click,json=onClick,proto3" json:"on_click,omitempty"`
  1976  	// The alternative text of this image that's used for accessibility.
  1977  	AltText string `protobuf:"bytes,3,opt,name=alt_text,json=altText,proto3" json:"alt_text,omitempty"`
  1978  }
  1979  
  1980  func (x *Image) Reset() {
  1981  	*x = Image{}
  1982  	if protoimpl.UnsafeEnabled {
  1983  		mi := &file_google_apps_card_v1_card_proto_msgTypes[3]
  1984  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1985  		ms.StoreMessageInfo(mi)
  1986  	}
  1987  }
  1988  
  1989  func (x *Image) String() string {
  1990  	return protoimpl.X.MessageStringOf(x)
  1991  }
  1992  
  1993  func (*Image) ProtoMessage() {}
  1994  
  1995  func (x *Image) ProtoReflect() protoreflect.Message {
  1996  	mi := &file_google_apps_card_v1_card_proto_msgTypes[3]
  1997  	if protoimpl.UnsafeEnabled && x != nil {
  1998  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1999  		if ms.LoadMessageInfo() == nil {
  2000  			ms.StoreMessageInfo(mi)
  2001  		}
  2002  		return ms
  2003  	}
  2004  	return mi.MessageOf(x)
  2005  }
  2006  
  2007  // Deprecated: Use Image.ProtoReflect.Descriptor instead.
  2008  func (*Image) Descriptor() ([]byte, []int) {
  2009  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{3}
  2010  }
  2011  
  2012  func (x *Image) GetImageUrl() string {
  2013  	if x != nil {
  2014  		return x.ImageUrl
  2015  	}
  2016  	return ""
  2017  }
  2018  
  2019  func (x *Image) GetOnClick() *OnClick {
  2020  	if x != nil {
  2021  		return x.OnClick
  2022  	}
  2023  	return nil
  2024  }
  2025  
  2026  func (x *Image) GetAltText() string {
  2027  	if x != nil {
  2028  		return x.AltText
  2029  	}
  2030  	return ""
  2031  }
  2032  
  2033  // Displays a divider between widgets as a horizontal line. For an example in
  2034  // Google Chat apps, see
  2035  // [Add a horizontal divider between
  2036  // widgets](https://developers.google.com/workspace/chat/format-structure-card-dialog#add_a_horizontal_divider_between_widgets).
  2037  //
  2038  // [Google Workspace Add-ons and Chat
  2039  // apps](https://developers.google.com/workspace/extend):
  2040  //
  2041  // For example, the following JSON creates a divider:
  2042  //
  2043  // ```
  2044  // "divider": {}
  2045  // ```
  2046  type Divider struct {
  2047  	state         protoimpl.MessageState
  2048  	sizeCache     protoimpl.SizeCache
  2049  	unknownFields protoimpl.UnknownFields
  2050  }
  2051  
  2052  func (x *Divider) Reset() {
  2053  	*x = Divider{}
  2054  	if protoimpl.UnsafeEnabled {
  2055  		mi := &file_google_apps_card_v1_card_proto_msgTypes[4]
  2056  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2057  		ms.StoreMessageInfo(mi)
  2058  	}
  2059  }
  2060  
  2061  func (x *Divider) String() string {
  2062  	return protoimpl.X.MessageStringOf(x)
  2063  }
  2064  
  2065  func (*Divider) ProtoMessage() {}
  2066  
  2067  func (x *Divider) ProtoReflect() protoreflect.Message {
  2068  	mi := &file_google_apps_card_v1_card_proto_msgTypes[4]
  2069  	if protoimpl.UnsafeEnabled && x != nil {
  2070  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2071  		if ms.LoadMessageInfo() == nil {
  2072  			ms.StoreMessageInfo(mi)
  2073  		}
  2074  		return ms
  2075  	}
  2076  	return mi.MessageOf(x)
  2077  }
  2078  
  2079  // Deprecated: Use Divider.ProtoReflect.Descriptor instead.
  2080  func (*Divider) Descriptor() ([]byte, []int) {
  2081  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{4}
  2082  }
  2083  
  2084  // A widget that displays text with optional decorations such as a label above
  2085  // or below the text, an icon in front of the text, a selection widget, or a
  2086  // button after the text. For an example in
  2087  // Google Chat apps, see [Display text with decorative
  2088  // text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements).
  2089  //
  2090  // [Google Workspace Add-ons and Chat
  2091  // apps](https://developers.google.com/workspace/extend):
  2092  type DecoratedText struct {
  2093  	state         protoimpl.MessageState
  2094  	sizeCache     protoimpl.SizeCache
  2095  	unknownFields protoimpl.UnknownFields
  2096  
  2097  	// Deprecated in favor of `startIcon`.
  2098  	//
  2099  	// Deprecated: Do not use.
  2100  	Icon *Icon `protobuf:"bytes,1,opt,name=icon,proto3" json:"icon,omitempty"`
  2101  	// The icon displayed in front of the text.
  2102  	StartIcon *Icon `protobuf:"bytes,12,opt,name=start_icon,json=startIcon,proto3" json:"start_icon,omitempty"`
  2103  	// The text that appears above `text`. Always truncates.
  2104  	TopLabel string `protobuf:"bytes,3,opt,name=top_label,json=topLabel,proto3" json:"top_label,omitempty"`
  2105  	// Required. The primary text.
  2106  	//
  2107  	// Supports simple formatting. For more information
  2108  	// about formatting text, see
  2109  	// [Formatting text in Google Chat
  2110  	// apps](https://developers.google.com/workspace/chat/format-messages#card-formatting)
  2111  	// and
  2112  	// [Formatting
  2113  	// text in Google Workspace
  2114  	// Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
  2115  	Text string `protobuf:"bytes,4,opt,name=text,proto3" json:"text,omitempty"`
  2116  	// The wrap text setting. If `true`, the text wraps and displays on
  2117  	// multiple lines. Otherwise, the text is truncated.
  2118  	//
  2119  	// Only applies to `text`, not `topLabel` and `bottomLabel`.
  2120  	WrapText bool `protobuf:"varint,5,opt,name=wrap_text,json=wrapText,proto3" json:"wrap_text,omitempty"`
  2121  	// The text that appears below `text`. Always wraps.
  2122  	BottomLabel string `protobuf:"bytes,6,opt,name=bottom_label,json=bottomLabel,proto3" json:"bottom_label,omitempty"`
  2123  	// This action is triggered when users click `topLabel` or `bottomLabel`.
  2124  	OnClick *OnClick `protobuf:"bytes,7,opt,name=on_click,json=onClick,proto3" json:"on_click,omitempty"`
  2125  	// A button, switch, checkbox, or image that appears to the right-hand side
  2126  	// of text in the `decoratedText` widget.
  2127  	//
  2128  	// Types that are assignable to Control:
  2129  	//
  2130  	//	*DecoratedText_Button
  2131  	//	*DecoratedText_SwitchControl_
  2132  	//	*DecoratedText_EndIcon
  2133  	Control isDecoratedText_Control `protobuf_oneof:"control"`
  2134  }
  2135  
  2136  func (x *DecoratedText) Reset() {
  2137  	*x = DecoratedText{}
  2138  	if protoimpl.UnsafeEnabled {
  2139  		mi := &file_google_apps_card_v1_card_proto_msgTypes[5]
  2140  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2141  		ms.StoreMessageInfo(mi)
  2142  	}
  2143  }
  2144  
  2145  func (x *DecoratedText) String() string {
  2146  	return protoimpl.X.MessageStringOf(x)
  2147  }
  2148  
  2149  func (*DecoratedText) ProtoMessage() {}
  2150  
  2151  func (x *DecoratedText) ProtoReflect() protoreflect.Message {
  2152  	mi := &file_google_apps_card_v1_card_proto_msgTypes[5]
  2153  	if protoimpl.UnsafeEnabled && x != nil {
  2154  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2155  		if ms.LoadMessageInfo() == nil {
  2156  			ms.StoreMessageInfo(mi)
  2157  		}
  2158  		return ms
  2159  	}
  2160  	return mi.MessageOf(x)
  2161  }
  2162  
  2163  // Deprecated: Use DecoratedText.ProtoReflect.Descriptor instead.
  2164  func (*DecoratedText) Descriptor() ([]byte, []int) {
  2165  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{5}
  2166  }
  2167  
  2168  // Deprecated: Do not use.
  2169  func (x *DecoratedText) GetIcon() *Icon {
  2170  	if x != nil {
  2171  		return x.Icon
  2172  	}
  2173  	return nil
  2174  }
  2175  
  2176  func (x *DecoratedText) GetStartIcon() *Icon {
  2177  	if x != nil {
  2178  		return x.StartIcon
  2179  	}
  2180  	return nil
  2181  }
  2182  
  2183  func (x *DecoratedText) GetTopLabel() string {
  2184  	if x != nil {
  2185  		return x.TopLabel
  2186  	}
  2187  	return ""
  2188  }
  2189  
  2190  func (x *DecoratedText) GetText() string {
  2191  	if x != nil {
  2192  		return x.Text
  2193  	}
  2194  	return ""
  2195  }
  2196  
  2197  func (x *DecoratedText) GetWrapText() bool {
  2198  	if x != nil {
  2199  		return x.WrapText
  2200  	}
  2201  	return false
  2202  }
  2203  
  2204  func (x *DecoratedText) GetBottomLabel() string {
  2205  	if x != nil {
  2206  		return x.BottomLabel
  2207  	}
  2208  	return ""
  2209  }
  2210  
  2211  func (x *DecoratedText) GetOnClick() *OnClick {
  2212  	if x != nil {
  2213  		return x.OnClick
  2214  	}
  2215  	return nil
  2216  }
  2217  
  2218  func (m *DecoratedText) GetControl() isDecoratedText_Control {
  2219  	if m != nil {
  2220  		return m.Control
  2221  	}
  2222  	return nil
  2223  }
  2224  
  2225  func (x *DecoratedText) GetButton() *Button {
  2226  	if x, ok := x.GetControl().(*DecoratedText_Button); ok {
  2227  		return x.Button
  2228  	}
  2229  	return nil
  2230  }
  2231  
  2232  func (x *DecoratedText) GetSwitchControl() *DecoratedText_SwitchControl {
  2233  	if x, ok := x.GetControl().(*DecoratedText_SwitchControl_); ok {
  2234  		return x.SwitchControl
  2235  	}
  2236  	return nil
  2237  }
  2238  
  2239  func (x *DecoratedText) GetEndIcon() *Icon {
  2240  	if x, ok := x.GetControl().(*DecoratedText_EndIcon); ok {
  2241  		return x.EndIcon
  2242  	}
  2243  	return nil
  2244  }
  2245  
  2246  type isDecoratedText_Control interface {
  2247  	isDecoratedText_Control()
  2248  }
  2249  
  2250  type DecoratedText_Button struct {
  2251  	// A button that a user can click to trigger an action.
  2252  	Button *Button `protobuf:"bytes,8,opt,name=button,proto3,oneof"`
  2253  }
  2254  
  2255  type DecoratedText_SwitchControl_ struct {
  2256  	// A switch widget that a user can click to change its state and trigger an
  2257  	// action.
  2258  	SwitchControl *DecoratedText_SwitchControl `protobuf:"bytes,9,opt,name=switch_control,json=switchControl,proto3,oneof"`
  2259  }
  2260  
  2261  type DecoratedText_EndIcon struct {
  2262  	// An icon displayed after the text.
  2263  	//
  2264  	// Supports
  2265  	// [built-in](https://developers.google.com/workspace/chat/format-messages#builtinicons)
  2266  	// and
  2267  	// [custom](https://developers.google.com/workspace/chat/format-messages#customicons)
  2268  	// icons.
  2269  	EndIcon *Icon `protobuf:"bytes,11,opt,name=end_icon,json=endIcon,proto3,oneof"`
  2270  }
  2271  
  2272  func (*DecoratedText_Button) isDecoratedText_Control() {}
  2273  
  2274  func (*DecoratedText_SwitchControl_) isDecoratedText_Control() {}
  2275  
  2276  func (*DecoratedText_EndIcon) isDecoratedText_Control() {}
  2277  
  2278  // A field in which users can enter text. Supports suggestions and on-change
  2279  // actions. For an example in Google Chat apps, see [Add a field in which a user
  2280  // can enter
  2281  // text](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_field_in_which_a_user_can_enter_text).
  2282  //
  2283  // Chat apps receive and can process the value of entered text during form input
  2284  // events. For details about working with form inputs, see [Receive form
  2285  // data](https://developers.google.com/workspace/chat/read-form-data).
  2286  //
  2287  // When you need to collect undefined or abstract data from users,
  2288  // use a text input. To collect defined or enumerated data from users, use the
  2289  // [SelectionInput][google.apps.card.v1.SelectionInput] widget.
  2290  //
  2291  // [Google Workspace Add-ons and Chat
  2292  // apps](https://developers.google.com/workspace/extend):
  2293  type TextInput struct {
  2294  	state         protoimpl.MessageState
  2295  	sizeCache     protoimpl.SizeCache
  2296  	unknownFields protoimpl.UnknownFields
  2297  
  2298  	// The name by which the text input is identified in a form input event.
  2299  	//
  2300  	// For details about working with form inputs, see [Receive form
  2301  	// data](https://developers.google.com/workspace/chat/read-form-data).
  2302  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2303  	// The text that appears above the text input field in the user interface.
  2304  	//
  2305  	// Specify text that helps the user enter the information your app needs.
  2306  	// For example, if you are asking someone's name, but specifically need their
  2307  	// surname, write `surname` instead of `name`.
  2308  	//
  2309  	// Required if `hintText` is unspecified. Otherwise, optional.
  2310  	Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"`
  2311  	// Text that appears below the text input field meant to assist users by
  2312  	// prompting them to enter a certain value. This text is always visible.
  2313  	//
  2314  	// Required if `label` is unspecified. Otherwise, optional.
  2315  	HintText string `protobuf:"bytes,3,opt,name=hint_text,json=hintText,proto3" json:"hint_text,omitempty"`
  2316  	// The value entered by a user, returned as part of a form input event.
  2317  	//
  2318  	// For details about working with form inputs, see [Receive form
  2319  	// data](https://developers.google.com/workspace/chat/read-form-data).
  2320  	Value string `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"`
  2321  	// How a text input field appears in the user interface.
  2322  	// For example, whether the field is single or multi-line.
  2323  	Type TextInput_Type `protobuf:"varint,5,opt,name=type,proto3,enum=google.apps.card.v1.TextInput_Type" json:"type,omitempty"`
  2324  	// What to do when a change occurs in the text input field. For example, a
  2325  	// user adding to the field or deleting text.
  2326  	//
  2327  	// Examples of actions to take include running a custom function or opening
  2328  	// a [dialog](https://developers.google.com/workspace/chat/dialogs)
  2329  	// in Google Chat.
  2330  	OnChangeAction *Action `protobuf:"bytes,6,opt,name=on_change_action,json=onChangeAction,proto3" json:"on_change_action,omitempty"`
  2331  	// Suggested values that users can enter. These values appear when users click
  2332  	// inside the text input field. As users type, the suggested values
  2333  	// dynamically filter to match what the users have typed.
  2334  	//
  2335  	// For example, a text input field for programming language might suggest
  2336  	// Java, JavaScript, Python, and C++. When users start typing `Jav`, the list
  2337  	// of suggestions filters to show just `Java` and `JavaScript`.
  2338  	//
  2339  	// Suggested values help guide users to enter values that your app can make
  2340  	// sense of. When referring to JavaScript, some users might enter `javascript`
  2341  	// and others `java script`. Suggesting `JavaScript` can standardize how users
  2342  	// interact with your app.
  2343  	//
  2344  	// When specified, `TextInput.type` is always `SINGLE_LINE`, even if it's set
  2345  	// to `MULTIPLE_LINE`.
  2346  	//
  2347  	// [Google Workspace
  2348  	// Add-ons and Chat apps](https://developers.google.com/workspace/extend):
  2349  	InitialSuggestions *Suggestions `protobuf:"bytes,7,opt,name=initial_suggestions,json=initialSuggestions,proto3" json:"initial_suggestions,omitempty"`
  2350  	// Optional. Specify what action to take when the text input field provides
  2351  	// suggestions to users who interact with it.
  2352  	//
  2353  	// If unspecified, the suggestions are set by `initialSuggestions` and
  2354  	// are processed by the client.
  2355  	//
  2356  	// If specified, the app takes the action specified here, such as running
  2357  	// a custom function.
  2358  	//
  2359  	// [Google Workspace
  2360  	// Add-ons](https://developers.google.com/workspace/add-ons):
  2361  	AutoCompleteAction *Action `protobuf:"bytes,8,opt,name=auto_complete_action,json=autoCompleteAction,proto3" json:"auto_complete_action,omitempty"`
  2362  	// Text that appears in the text input field when the field is empty.
  2363  	// Use this text to prompt users to enter a value. For example, `Enter a
  2364  	// number from 0 to 100`.
  2365  	//
  2366  	// [Google Chat apps](https://developers.google.com/workspace/chat):
  2367  	PlaceholderText string `protobuf:"bytes,12,opt,name=placeholder_text,json=placeholderText,proto3" json:"placeholder_text,omitempty"`
  2368  }
  2369  
  2370  func (x *TextInput) Reset() {
  2371  	*x = TextInput{}
  2372  	if protoimpl.UnsafeEnabled {
  2373  		mi := &file_google_apps_card_v1_card_proto_msgTypes[6]
  2374  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2375  		ms.StoreMessageInfo(mi)
  2376  	}
  2377  }
  2378  
  2379  func (x *TextInput) String() string {
  2380  	return protoimpl.X.MessageStringOf(x)
  2381  }
  2382  
  2383  func (*TextInput) ProtoMessage() {}
  2384  
  2385  func (x *TextInput) ProtoReflect() protoreflect.Message {
  2386  	mi := &file_google_apps_card_v1_card_proto_msgTypes[6]
  2387  	if protoimpl.UnsafeEnabled && x != nil {
  2388  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2389  		if ms.LoadMessageInfo() == nil {
  2390  			ms.StoreMessageInfo(mi)
  2391  		}
  2392  		return ms
  2393  	}
  2394  	return mi.MessageOf(x)
  2395  }
  2396  
  2397  // Deprecated: Use TextInput.ProtoReflect.Descriptor instead.
  2398  func (*TextInput) Descriptor() ([]byte, []int) {
  2399  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{6}
  2400  }
  2401  
  2402  func (x *TextInput) GetName() string {
  2403  	if x != nil {
  2404  		return x.Name
  2405  	}
  2406  	return ""
  2407  }
  2408  
  2409  func (x *TextInput) GetLabel() string {
  2410  	if x != nil {
  2411  		return x.Label
  2412  	}
  2413  	return ""
  2414  }
  2415  
  2416  func (x *TextInput) GetHintText() string {
  2417  	if x != nil {
  2418  		return x.HintText
  2419  	}
  2420  	return ""
  2421  }
  2422  
  2423  func (x *TextInput) GetValue() string {
  2424  	if x != nil {
  2425  		return x.Value
  2426  	}
  2427  	return ""
  2428  }
  2429  
  2430  func (x *TextInput) GetType() TextInput_Type {
  2431  	if x != nil {
  2432  		return x.Type
  2433  	}
  2434  	return TextInput_SINGLE_LINE
  2435  }
  2436  
  2437  func (x *TextInput) GetOnChangeAction() *Action {
  2438  	if x != nil {
  2439  		return x.OnChangeAction
  2440  	}
  2441  	return nil
  2442  }
  2443  
  2444  func (x *TextInput) GetInitialSuggestions() *Suggestions {
  2445  	if x != nil {
  2446  		return x.InitialSuggestions
  2447  	}
  2448  	return nil
  2449  }
  2450  
  2451  func (x *TextInput) GetAutoCompleteAction() *Action {
  2452  	if x != nil {
  2453  		return x.AutoCompleteAction
  2454  	}
  2455  	return nil
  2456  }
  2457  
  2458  func (x *TextInput) GetPlaceholderText() string {
  2459  	if x != nil {
  2460  		return x.PlaceholderText
  2461  	}
  2462  	return ""
  2463  }
  2464  
  2465  // Suggested values that users can enter. These values appear when users click
  2466  // inside the text input field. As users type, the suggested values
  2467  // dynamically filter to match what the users have typed.
  2468  //
  2469  // For example, a text input field for programming language might suggest
  2470  // Java, JavaScript, Python, and C++. When users start typing `Jav`, the list
  2471  // of suggestions filters to show `Java` and `JavaScript`.
  2472  //
  2473  // Suggested values help guide users to enter values that your app can make
  2474  // sense of. When referring to JavaScript, some users might enter `javascript`
  2475  // and others `java script`. Suggesting `JavaScript` can standardize how users
  2476  // interact with your app.
  2477  //
  2478  // When specified, `TextInput.type` is always `SINGLE_LINE`, even if it's set
  2479  // to `MULTIPLE_LINE`.
  2480  //
  2481  // [Google Workspace
  2482  // Add-ons and Chat apps](https://developers.google.com/workspace/extend):
  2483  type Suggestions struct {
  2484  	state         protoimpl.MessageState
  2485  	sizeCache     protoimpl.SizeCache
  2486  	unknownFields protoimpl.UnknownFields
  2487  
  2488  	// A list of suggestions used for autocomplete recommendations in text input
  2489  	// fields.
  2490  	Items []*Suggestions_SuggestionItem `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
  2491  }
  2492  
  2493  func (x *Suggestions) Reset() {
  2494  	*x = Suggestions{}
  2495  	if protoimpl.UnsafeEnabled {
  2496  		mi := &file_google_apps_card_v1_card_proto_msgTypes[7]
  2497  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2498  		ms.StoreMessageInfo(mi)
  2499  	}
  2500  }
  2501  
  2502  func (x *Suggestions) String() string {
  2503  	return protoimpl.X.MessageStringOf(x)
  2504  }
  2505  
  2506  func (*Suggestions) ProtoMessage() {}
  2507  
  2508  func (x *Suggestions) ProtoReflect() protoreflect.Message {
  2509  	mi := &file_google_apps_card_v1_card_proto_msgTypes[7]
  2510  	if protoimpl.UnsafeEnabled && x != nil {
  2511  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2512  		if ms.LoadMessageInfo() == nil {
  2513  			ms.StoreMessageInfo(mi)
  2514  		}
  2515  		return ms
  2516  	}
  2517  	return mi.MessageOf(x)
  2518  }
  2519  
  2520  // Deprecated: Use Suggestions.ProtoReflect.Descriptor instead.
  2521  func (*Suggestions) Descriptor() ([]byte, []int) {
  2522  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{7}
  2523  }
  2524  
  2525  func (x *Suggestions) GetItems() []*Suggestions_SuggestionItem {
  2526  	if x != nil {
  2527  		return x.Items
  2528  	}
  2529  	return nil
  2530  }
  2531  
  2532  // A list of buttons layed out horizontally. For an example in
  2533  // Google Chat apps, see
  2534  // [Add a
  2535  // button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button).
  2536  //
  2537  // [Google Workspace Add-ons and Chat
  2538  // apps](https://developers.google.com/workspace/extend):
  2539  type ButtonList struct {
  2540  	state         protoimpl.MessageState
  2541  	sizeCache     protoimpl.SizeCache
  2542  	unknownFields protoimpl.UnknownFields
  2543  
  2544  	// An array of buttons.
  2545  	Buttons []*Button `protobuf:"bytes,1,rep,name=buttons,proto3" json:"buttons,omitempty"`
  2546  }
  2547  
  2548  func (x *ButtonList) Reset() {
  2549  	*x = ButtonList{}
  2550  	if protoimpl.UnsafeEnabled {
  2551  		mi := &file_google_apps_card_v1_card_proto_msgTypes[8]
  2552  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2553  		ms.StoreMessageInfo(mi)
  2554  	}
  2555  }
  2556  
  2557  func (x *ButtonList) String() string {
  2558  	return protoimpl.X.MessageStringOf(x)
  2559  }
  2560  
  2561  func (*ButtonList) ProtoMessage() {}
  2562  
  2563  func (x *ButtonList) ProtoReflect() protoreflect.Message {
  2564  	mi := &file_google_apps_card_v1_card_proto_msgTypes[8]
  2565  	if protoimpl.UnsafeEnabled && x != nil {
  2566  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2567  		if ms.LoadMessageInfo() == nil {
  2568  			ms.StoreMessageInfo(mi)
  2569  		}
  2570  		return ms
  2571  	}
  2572  	return mi.MessageOf(x)
  2573  }
  2574  
  2575  // Deprecated: Use ButtonList.ProtoReflect.Descriptor instead.
  2576  func (*ButtonList) Descriptor() ([]byte, []int) {
  2577  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{8}
  2578  }
  2579  
  2580  func (x *ButtonList) GetButtons() []*Button {
  2581  	if x != nil {
  2582  		return x.Buttons
  2583  	}
  2584  	return nil
  2585  }
  2586  
  2587  // A widget that creates one or more UI items that users can select.
  2588  // For example, a dropdown menu or checkboxes. You can use this widget to
  2589  // collect data that can be predicted or enumerated. For an example in Google
  2590  // Chat apps, see [Add selectable UI
  2591  // elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements).
  2592  //
  2593  // Chat apps can process the value of items that users select or input. For
  2594  // details about working with form inputs, see [Receive form
  2595  // data](https://developers.google.com/workspace/chat/read-form-data).
  2596  //
  2597  // To collect undefined or abstract data from users, use
  2598  // the [TextInput][google.apps.card.v1.TextInput] widget.
  2599  //
  2600  // [Google Workspace Add-ons
  2601  // and Chat apps](https://developers.google.com/workspace/extend):
  2602  type SelectionInput struct {
  2603  	state         protoimpl.MessageState
  2604  	sizeCache     protoimpl.SizeCache
  2605  	unknownFields protoimpl.UnknownFields
  2606  
  2607  	// The name that identifies the selection input in a form input event.
  2608  	//
  2609  	// For details about working with form inputs, see [Receive form
  2610  	// data](https://developers.google.com/workspace/chat/read-form-data).
  2611  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2612  	// The text that appears above the selection input field in the user
  2613  	// interface.
  2614  	//
  2615  	// Specify text that helps the user enter the information your app needs.
  2616  	// For example, if users are selecting the urgency of a work ticket from a
  2617  	// drop-down menu, the label might be "Urgency" or "Select urgency".
  2618  	Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"`
  2619  	// The type of items that are displayed to users in a `SelectionInput` widget.
  2620  	// Selection types support different types of interactions. For example, users
  2621  	// can select one or more checkboxes, but they can only select one value from
  2622  	// a dropdown menu.
  2623  	Type SelectionInput_SelectionType `protobuf:"varint,3,opt,name=type,proto3,enum=google.apps.card.v1.SelectionInput_SelectionType" json:"type,omitempty"`
  2624  	// An array of selectable items. For example, an array of radio buttons or
  2625  	// checkboxes. Supports up to 100 items.
  2626  	Items []*SelectionInput_SelectionItem `protobuf:"bytes,4,rep,name=items,proto3" json:"items,omitempty"`
  2627  	// If specified, the form is submitted when the selection changes. If not
  2628  	// specified, you must specify a separate button that submits the form.
  2629  	//
  2630  	// For details about working with form inputs, see [Receive form
  2631  	// data](https://developers.google.com/workspace/chat/read-form-data).
  2632  	OnChangeAction *Action `protobuf:"bytes,5,opt,name=on_change_action,json=onChangeAction,proto3" json:"on_change_action,omitempty"`
  2633  	// For multiselect menus, the maximum number of items that a user can select.
  2634  	// Minimum value is 1 item. If unspecified, defaults to 3 items.
  2635  	MultiSelectMaxSelectedItems int32 `protobuf:"varint,6,opt,name=multi_select_max_selected_items,json=multiSelectMaxSelectedItems,proto3" json:"multi_select_max_selected_items,omitempty"`
  2636  	// For multiselect menus, the number of text characters that a user inputs
  2637  	// before the app queries autocomplete and displays suggested items
  2638  	// in the menu.
  2639  	//
  2640  	// If unspecified, defaults to 0 characters for static data sources and 3
  2641  	// characters for external data sources.
  2642  	MultiSelectMinQueryLength int32 `protobuf:"varint,7,opt,name=multi_select_min_query_length,json=multiSelectMinQueryLength,proto3" json:"multi_select_min_query_length,omitempty"`
  2643  	// For a multiselect menu, the data source that populates
  2644  	// selection items.
  2645  	//
  2646  	// [Google Chat apps](https://developers.google.com/workspace/chat):
  2647  	//
  2648  	// Types that are assignable to MultiSelectDataSource:
  2649  	//
  2650  	//	*SelectionInput_ExternalDataSource
  2651  	//	*SelectionInput_PlatformDataSource_
  2652  	MultiSelectDataSource isSelectionInput_MultiSelectDataSource `protobuf_oneof:"multi_select_data_source"`
  2653  }
  2654  
  2655  func (x *SelectionInput) Reset() {
  2656  	*x = SelectionInput{}
  2657  	if protoimpl.UnsafeEnabled {
  2658  		mi := &file_google_apps_card_v1_card_proto_msgTypes[9]
  2659  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2660  		ms.StoreMessageInfo(mi)
  2661  	}
  2662  }
  2663  
  2664  func (x *SelectionInput) String() string {
  2665  	return protoimpl.X.MessageStringOf(x)
  2666  }
  2667  
  2668  func (*SelectionInput) ProtoMessage() {}
  2669  
  2670  func (x *SelectionInput) ProtoReflect() protoreflect.Message {
  2671  	mi := &file_google_apps_card_v1_card_proto_msgTypes[9]
  2672  	if protoimpl.UnsafeEnabled && x != nil {
  2673  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2674  		if ms.LoadMessageInfo() == nil {
  2675  			ms.StoreMessageInfo(mi)
  2676  		}
  2677  		return ms
  2678  	}
  2679  	return mi.MessageOf(x)
  2680  }
  2681  
  2682  // Deprecated: Use SelectionInput.ProtoReflect.Descriptor instead.
  2683  func (*SelectionInput) Descriptor() ([]byte, []int) {
  2684  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{9}
  2685  }
  2686  
  2687  func (x *SelectionInput) GetName() string {
  2688  	if x != nil {
  2689  		return x.Name
  2690  	}
  2691  	return ""
  2692  }
  2693  
  2694  func (x *SelectionInput) GetLabel() string {
  2695  	if x != nil {
  2696  		return x.Label
  2697  	}
  2698  	return ""
  2699  }
  2700  
  2701  func (x *SelectionInput) GetType() SelectionInput_SelectionType {
  2702  	if x != nil {
  2703  		return x.Type
  2704  	}
  2705  	return SelectionInput_CHECK_BOX
  2706  }
  2707  
  2708  func (x *SelectionInput) GetItems() []*SelectionInput_SelectionItem {
  2709  	if x != nil {
  2710  		return x.Items
  2711  	}
  2712  	return nil
  2713  }
  2714  
  2715  func (x *SelectionInput) GetOnChangeAction() *Action {
  2716  	if x != nil {
  2717  		return x.OnChangeAction
  2718  	}
  2719  	return nil
  2720  }
  2721  
  2722  func (x *SelectionInput) GetMultiSelectMaxSelectedItems() int32 {
  2723  	if x != nil {
  2724  		return x.MultiSelectMaxSelectedItems
  2725  	}
  2726  	return 0
  2727  }
  2728  
  2729  func (x *SelectionInput) GetMultiSelectMinQueryLength() int32 {
  2730  	if x != nil {
  2731  		return x.MultiSelectMinQueryLength
  2732  	}
  2733  	return 0
  2734  }
  2735  
  2736  func (m *SelectionInput) GetMultiSelectDataSource() isSelectionInput_MultiSelectDataSource {
  2737  	if m != nil {
  2738  		return m.MultiSelectDataSource
  2739  	}
  2740  	return nil
  2741  }
  2742  
  2743  func (x *SelectionInput) GetExternalDataSource() *Action {
  2744  	if x, ok := x.GetMultiSelectDataSource().(*SelectionInput_ExternalDataSource); ok {
  2745  		return x.ExternalDataSource
  2746  	}
  2747  	return nil
  2748  }
  2749  
  2750  func (x *SelectionInput) GetPlatformDataSource() *SelectionInput_PlatformDataSource {
  2751  	if x, ok := x.GetMultiSelectDataSource().(*SelectionInput_PlatformDataSource_); ok {
  2752  		return x.PlatformDataSource
  2753  	}
  2754  	return nil
  2755  }
  2756  
  2757  type isSelectionInput_MultiSelectDataSource interface {
  2758  	isSelectionInput_MultiSelectDataSource()
  2759  }
  2760  
  2761  type SelectionInput_ExternalDataSource struct {
  2762  	// An external data source, such as a relational data base.
  2763  	ExternalDataSource *Action `protobuf:"bytes,8,opt,name=external_data_source,json=externalDataSource,proto3,oneof"`
  2764  }
  2765  
  2766  type SelectionInput_PlatformDataSource_ struct {
  2767  	// A data source from Google Workspace.
  2768  	PlatformDataSource *SelectionInput_PlatformDataSource `protobuf:"bytes,9,opt,name=platform_data_source,json=platformDataSource,proto3,oneof"`
  2769  }
  2770  
  2771  func (*SelectionInput_ExternalDataSource) isSelectionInput_MultiSelectDataSource() {}
  2772  
  2773  func (*SelectionInput_PlatformDataSource_) isSelectionInput_MultiSelectDataSource() {}
  2774  
  2775  // Lets users input a date, a time, or both a date and a time. For an example in
  2776  // Google Chat apps, see [Let a user pick a date and
  2777  // time](https://developers.google.com/workspace/chat/design-interactive-card-dialog#let_a_user_pick_a_date_and_time).
  2778  //
  2779  // Users can input text or use the picker to select dates and times. If users
  2780  // input an invalid date or time, the picker shows an error that prompts users
  2781  // to input the information correctly.
  2782  //
  2783  // [Google Workspace
  2784  // Add-ons and Chat apps](https://developers.google.com/workspace/extend):
  2785  type DateTimePicker struct {
  2786  	state         protoimpl.MessageState
  2787  	sizeCache     protoimpl.SizeCache
  2788  	unknownFields protoimpl.UnknownFields
  2789  
  2790  	// The name by which the `DateTimePicker` is identified in a form input event.
  2791  	//
  2792  	// For details about working with form inputs, see [Receive form
  2793  	// data](https://developers.google.com/workspace/chat/read-form-data).
  2794  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  2795  	// The text that prompts users to input a date, a time, or a date and time.
  2796  	// For example, if users are scheduling an appointment, use a label such as
  2797  	// `Appointment date` or `Appointment date and time`.
  2798  	Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"`
  2799  	// Whether the widget supports inputting a date, a time, or the date and time.
  2800  	Type DateTimePicker_DateTimePickerType `protobuf:"varint,3,opt,name=type,proto3,enum=google.apps.card.v1.DateTimePicker_DateTimePickerType" json:"type,omitempty"`
  2801  	// The default value displayed in the widget, in milliseconds since [Unix
  2802  	// epoch time](https://en.wikipedia.org/wiki/Unix_time).
  2803  	//
  2804  	// Specify the value based on the type of picker (`DateTimePickerType`):
  2805  	//
  2806  	//   - `DATE_AND_TIME`: a calendar date and time in UTC. For example, to
  2807  	//     represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`.
  2808  	//   - `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent
  2809  	//     January 1, 2023, use `1672531200000`.
  2810  	//   - `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use
  2811  	//     `43200000` (or `12 * 60 * 60 * 1000`).
  2812  	ValueMsEpoch int64 `protobuf:"varint,4,opt,name=value_ms_epoch,json=valueMsEpoch,proto3" json:"value_ms_epoch,omitempty"`
  2813  	// The number representing the time zone offset from UTC, in minutes.
  2814  	// If set, the `value_ms_epoch` is displayed in the specified time zone.
  2815  	// If unset, the value defaults to the user's time zone setting.
  2816  	TimezoneOffsetDate int32 `protobuf:"varint,5,opt,name=timezone_offset_date,json=timezoneOffsetDate,proto3" json:"timezone_offset_date,omitempty"`
  2817  	// Triggered when the user clicks **Save** or **Clear** from the
  2818  	// `DateTimePicker` interface.
  2819  	OnChangeAction *Action `protobuf:"bytes,6,opt,name=on_change_action,json=onChangeAction,proto3" json:"on_change_action,omitempty"`
  2820  }
  2821  
  2822  func (x *DateTimePicker) Reset() {
  2823  	*x = DateTimePicker{}
  2824  	if protoimpl.UnsafeEnabled {
  2825  		mi := &file_google_apps_card_v1_card_proto_msgTypes[10]
  2826  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2827  		ms.StoreMessageInfo(mi)
  2828  	}
  2829  }
  2830  
  2831  func (x *DateTimePicker) String() string {
  2832  	return protoimpl.X.MessageStringOf(x)
  2833  }
  2834  
  2835  func (*DateTimePicker) ProtoMessage() {}
  2836  
  2837  func (x *DateTimePicker) ProtoReflect() protoreflect.Message {
  2838  	mi := &file_google_apps_card_v1_card_proto_msgTypes[10]
  2839  	if protoimpl.UnsafeEnabled && x != nil {
  2840  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2841  		if ms.LoadMessageInfo() == nil {
  2842  			ms.StoreMessageInfo(mi)
  2843  		}
  2844  		return ms
  2845  	}
  2846  	return mi.MessageOf(x)
  2847  }
  2848  
  2849  // Deprecated: Use DateTimePicker.ProtoReflect.Descriptor instead.
  2850  func (*DateTimePicker) Descriptor() ([]byte, []int) {
  2851  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{10}
  2852  }
  2853  
  2854  func (x *DateTimePicker) GetName() string {
  2855  	if x != nil {
  2856  		return x.Name
  2857  	}
  2858  	return ""
  2859  }
  2860  
  2861  func (x *DateTimePicker) GetLabel() string {
  2862  	if x != nil {
  2863  		return x.Label
  2864  	}
  2865  	return ""
  2866  }
  2867  
  2868  func (x *DateTimePicker) GetType() DateTimePicker_DateTimePickerType {
  2869  	if x != nil {
  2870  		return x.Type
  2871  	}
  2872  	return DateTimePicker_DATE_AND_TIME
  2873  }
  2874  
  2875  func (x *DateTimePicker) GetValueMsEpoch() int64 {
  2876  	if x != nil {
  2877  		return x.ValueMsEpoch
  2878  	}
  2879  	return 0
  2880  }
  2881  
  2882  func (x *DateTimePicker) GetTimezoneOffsetDate() int32 {
  2883  	if x != nil {
  2884  		return x.TimezoneOffsetDate
  2885  	}
  2886  	return 0
  2887  }
  2888  
  2889  func (x *DateTimePicker) GetOnChangeAction() *Action {
  2890  	if x != nil {
  2891  		return x.OnChangeAction
  2892  	}
  2893  	return nil
  2894  }
  2895  
  2896  // A text, icon, or text and icon button that users can click. For an example in
  2897  // Google Chat apps, see
  2898  // [Add a
  2899  // button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button).
  2900  //
  2901  // To make an image a clickable button, specify an
  2902  // [`Image`][google.apps.card.v1.Image] (not an
  2903  // [`ImageComponent`][google.apps.card.v1.ImageComponent]) and set an
  2904  // `onClick` action.
  2905  //
  2906  // [Google Workspace
  2907  // Add-ons and Chat apps](https://developers.google.com/workspace/extend):
  2908  type Button struct {
  2909  	state         protoimpl.MessageState
  2910  	sizeCache     protoimpl.SizeCache
  2911  	unknownFields protoimpl.UnknownFields
  2912  
  2913  	// The text displayed inside the button.
  2914  	Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
  2915  	// The icon image. If both `icon` and `text` are set, then the icon appears
  2916  	// before the text.
  2917  	Icon *Icon `protobuf:"bytes,2,opt,name=icon,proto3" json:"icon,omitempty"`
  2918  	// If set, the button is filled with a solid background color and the font
  2919  	// color changes to maintain contrast with the background color. For example,
  2920  	// setting a blue background likely results in white text.
  2921  	//
  2922  	// If unset, the image background is white and the font color is blue.
  2923  	//
  2924  	// For red, green, and blue, the value of each field is a `float` number that
  2925  	// you can express in either of two ways: as a number between 0 and 255
  2926  	// divided by 255 (153/255), or as a value between 0 and 1 (0.6). 0 represents
  2927  	// the absence of a color and 1 or 255/255 represent the full presence of that
  2928  	// color on the RGB scale.
  2929  	//
  2930  	// Optionally set `alpha`, which sets a level of transparency using this
  2931  	// equation:
  2932  	//
  2933  	// ```
  2934  	// pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
  2935  	// ```
  2936  	//
  2937  	// For `alpha`, a value of `1` corresponds with a solid color, and a value of
  2938  	// `0` corresponds with a completely transparent color.
  2939  	//
  2940  	// For example, the following color represents a half transparent red:
  2941  	//
  2942  	// ```
  2943  	//
  2944  	//	"color": {
  2945  	//	   "red": 1,
  2946  	//	   "green": 0,
  2947  	//	   "blue": 0,
  2948  	//	   "alpha": 0.5
  2949  	//	}
  2950  	//
  2951  	// ```
  2952  	Color *color.Color `protobuf:"bytes,3,opt,name=color,proto3" json:"color,omitempty"`
  2953  	// Required. The action to perform when a user clicks the button, such as
  2954  	// opening a hyperlink or running a custom function.
  2955  	OnClick *OnClick `protobuf:"bytes,4,opt,name=on_click,json=onClick,proto3" json:"on_click,omitempty"`
  2956  	// If `true`, the button is displayed in an inactive state and doesn't respond
  2957  	// to user actions.
  2958  	Disabled bool `protobuf:"varint,5,opt,name=disabled,proto3" json:"disabled,omitempty"`
  2959  	// The alternative text that's used for accessibility.
  2960  	//
  2961  	// Set descriptive text that lets users know what the button does. For
  2962  	// example, if a button opens a hyperlink, you might write: "Opens a new
  2963  	// browser tab and navigates to the Google Chat developer documentation at
  2964  	// https://developers.google.com/workspace/chat".
  2965  	AltText string `protobuf:"bytes,6,opt,name=alt_text,json=altText,proto3" json:"alt_text,omitempty"`
  2966  }
  2967  
  2968  func (x *Button) Reset() {
  2969  	*x = Button{}
  2970  	if protoimpl.UnsafeEnabled {
  2971  		mi := &file_google_apps_card_v1_card_proto_msgTypes[11]
  2972  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2973  		ms.StoreMessageInfo(mi)
  2974  	}
  2975  }
  2976  
  2977  func (x *Button) String() string {
  2978  	return protoimpl.X.MessageStringOf(x)
  2979  }
  2980  
  2981  func (*Button) ProtoMessage() {}
  2982  
  2983  func (x *Button) ProtoReflect() protoreflect.Message {
  2984  	mi := &file_google_apps_card_v1_card_proto_msgTypes[11]
  2985  	if protoimpl.UnsafeEnabled && x != nil {
  2986  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2987  		if ms.LoadMessageInfo() == nil {
  2988  			ms.StoreMessageInfo(mi)
  2989  		}
  2990  		return ms
  2991  	}
  2992  	return mi.MessageOf(x)
  2993  }
  2994  
  2995  // Deprecated: Use Button.ProtoReflect.Descriptor instead.
  2996  func (*Button) Descriptor() ([]byte, []int) {
  2997  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{11}
  2998  }
  2999  
  3000  func (x *Button) GetText() string {
  3001  	if x != nil {
  3002  		return x.Text
  3003  	}
  3004  	return ""
  3005  }
  3006  
  3007  func (x *Button) GetIcon() *Icon {
  3008  	if x != nil {
  3009  		return x.Icon
  3010  	}
  3011  	return nil
  3012  }
  3013  
  3014  func (x *Button) GetColor() *color.Color {
  3015  	if x != nil {
  3016  		return x.Color
  3017  	}
  3018  	return nil
  3019  }
  3020  
  3021  func (x *Button) GetOnClick() *OnClick {
  3022  	if x != nil {
  3023  		return x.OnClick
  3024  	}
  3025  	return nil
  3026  }
  3027  
  3028  func (x *Button) GetDisabled() bool {
  3029  	if x != nil {
  3030  		return x.Disabled
  3031  	}
  3032  	return false
  3033  }
  3034  
  3035  func (x *Button) GetAltText() string {
  3036  	if x != nil {
  3037  		return x.AltText
  3038  	}
  3039  	return ""
  3040  }
  3041  
  3042  // An icon displayed in a widget on a card. For an example in Google Chat apps,
  3043  // see [Add an
  3044  // icon](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_an_icon).
  3045  //
  3046  // Supports
  3047  // [built-in](https://developers.google.com/workspace/chat/format-messages#builtinicons)
  3048  // and
  3049  // [custom](https://developers.google.com/workspace/chat/format-messages#customicons)
  3050  // icons.
  3051  //
  3052  // [Google Workspace Add-ons and Chat
  3053  // apps](https://developers.google.com/workspace/extend):
  3054  type Icon struct {
  3055  	state         protoimpl.MessageState
  3056  	sizeCache     protoimpl.SizeCache
  3057  	unknownFields protoimpl.UnknownFields
  3058  
  3059  	// The icon displayed in the widget on the card.
  3060  	//
  3061  	// Types that are assignable to Icons:
  3062  	//
  3063  	//	*Icon_KnownIcon
  3064  	//	*Icon_IconUrl
  3065  	//	*Icon_MaterialIcon
  3066  	Icons isIcon_Icons `protobuf_oneof:"icons"`
  3067  	// Optional. A description of the icon used for accessibility.
  3068  	// If unspecified, the default value `Button` is provided. As a best practice,
  3069  	// you should set a helpful description for what the icon displays, and if
  3070  	// applicable, what it does. For example, `A user's account portrait`, or
  3071  	// `Opens a new browser tab and navigates to the Google Chat developer
  3072  	// documentation at https://developers.google.com/workspace/chat`.
  3073  	//
  3074  	// If the icon is set in a [`Button`][google.apps.card.v1.Button], the
  3075  	// `altText` appears as helper text when the user hovers over the button.
  3076  	// However, if the button also sets `text`, the icon's `altText` is ignored.
  3077  	AltText string `protobuf:"bytes,3,opt,name=alt_text,json=altText,proto3" json:"alt_text,omitempty"`
  3078  	// The crop style applied to the image. In some cases, applying a
  3079  	// `CIRCLE` crop causes the image to be drawn larger than a built-in
  3080  	// icon.
  3081  	ImageType Widget_ImageType `protobuf:"varint,4,opt,name=image_type,json=imageType,proto3,enum=google.apps.card.v1.Widget_ImageType" json:"image_type,omitempty"`
  3082  }
  3083  
  3084  func (x *Icon) Reset() {
  3085  	*x = Icon{}
  3086  	if protoimpl.UnsafeEnabled {
  3087  		mi := &file_google_apps_card_v1_card_proto_msgTypes[12]
  3088  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3089  		ms.StoreMessageInfo(mi)
  3090  	}
  3091  }
  3092  
  3093  func (x *Icon) String() string {
  3094  	return protoimpl.X.MessageStringOf(x)
  3095  }
  3096  
  3097  func (*Icon) ProtoMessage() {}
  3098  
  3099  func (x *Icon) ProtoReflect() protoreflect.Message {
  3100  	mi := &file_google_apps_card_v1_card_proto_msgTypes[12]
  3101  	if protoimpl.UnsafeEnabled && x != nil {
  3102  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3103  		if ms.LoadMessageInfo() == nil {
  3104  			ms.StoreMessageInfo(mi)
  3105  		}
  3106  		return ms
  3107  	}
  3108  	return mi.MessageOf(x)
  3109  }
  3110  
  3111  // Deprecated: Use Icon.ProtoReflect.Descriptor instead.
  3112  func (*Icon) Descriptor() ([]byte, []int) {
  3113  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{12}
  3114  }
  3115  
  3116  func (m *Icon) GetIcons() isIcon_Icons {
  3117  	if m != nil {
  3118  		return m.Icons
  3119  	}
  3120  	return nil
  3121  }
  3122  
  3123  func (x *Icon) GetKnownIcon() string {
  3124  	if x, ok := x.GetIcons().(*Icon_KnownIcon); ok {
  3125  		return x.KnownIcon
  3126  	}
  3127  	return ""
  3128  }
  3129  
  3130  func (x *Icon) GetIconUrl() string {
  3131  	if x, ok := x.GetIcons().(*Icon_IconUrl); ok {
  3132  		return x.IconUrl
  3133  	}
  3134  	return ""
  3135  }
  3136  
  3137  func (x *Icon) GetMaterialIcon() *MaterialIcon {
  3138  	if x, ok := x.GetIcons().(*Icon_MaterialIcon); ok {
  3139  		return x.MaterialIcon
  3140  	}
  3141  	return nil
  3142  }
  3143  
  3144  func (x *Icon) GetAltText() string {
  3145  	if x != nil {
  3146  		return x.AltText
  3147  	}
  3148  	return ""
  3149  }
  3150  
  3151  func (x *Icon) GetImageType() Widget_ImageType {
  3152  	if x != nil {
  3153  		return x.ImageType
  3154  	}
  3155  	return Widget_SQUARE
  3156  }
  3157  
  3158  type isIcon_Icons interface {
  3159  	isIcon_Icons()
  3160  }
  3161  
  3162  type Icon_KnownIcon struct {
  3163  	// Display one of the built-in icons provided by Google Workspace.
  3164  	//
  3165  	// For example, to display an airplane icon, specify `AIRPLANE`.
  3166  	// For a bus, specify `BUS`.
  3167  	//
  3168  	// For a full list of supported icons, see [built-in
  3169  	// icons](https://developers.google.com/workspace/chat/format-messages#builtinicons).
  3170  	KnownIcon string `protobuf:"bytes,1,opt,name=known_icon,json=knownIcon,proto3,oneof"`
  3171  }
  3172  
  3173  type Icon_IconUrl struct {
  3174  	// Display a custom icon hosted at an HTTPS URL.
  3175  	//
  3176  	// For example:
  3177  	//
  3178  	// ```
  3179  	// "iconUrl":
  3180  	// "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png"
  3181  	// ```
  3182  	//
  3183  	// Supported file types include `.png` and `.jpg`.
  3184  	IconUrl string `protobuf:"bytes,2,opt,name=icon_url,json=iconUrl,proto3,oneof"`
  3185  }
  3186  
  3187  type Icon_MaterialIcon struct {
  3188  	// Display one of the [Google Material
  3189  	// Icons](https://fonts.google.com/icons).
  3190  	//
  3191  	// For example, to display a [checkbox
  3192  	// icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048),
  3193  	// use
  3194  	// ```
  3195  	//
  3196  	//	"material_icon": {
  3197  	//	  "name": "check_box"
  3198  	//	}
  3199  	//
  3200  	// ```
  3201  	//
  3202  	// [Google Chat apps](https://developers.google.com/workspace/chat):
  3203  	MaterialIcon *MaterialIcon `protobuf:"bytes,5,opt,name=material_icon,json=materialIcon,proto3,oneof"`
  3204  }
  3205  
  3206  func (*Icon_KnownIcon) isIcon_Icons() {}
  3207  
  3208  func (*Icon_IconUrl) isIcon_Icons() {}
  3209  
  3210  func (*Icon_MaterialIcon) isIcon_Icons() {}
  3211  
  3212  // A [Google Material Icon](https://fonts.google.com/icons), which includes over
  3213  // 2500+ options.
  3214  //
  3215  // For example, to display a [checkbox
  3216  // icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048)
  3217  // with customized weight and grade, write the following:
  3218  //
  3219  // ```
  3220  //
  3221  //	{
  3222  //	  "name": "check_box",
  3223  //	  "fill": true,
  3224  //	  "weight": 300,
  3225  //	  "grade": -25
  3226  //	}
  3227  //
  3228  // ```
  3229  //
  3230  // [Google Chat apps](https://developers.google.com/workspace/chat):
  3231  type MaterialIcon struct {
  3232  	state         protoimpl.MessageState
  3233  	sizeCache     protoimpl.SizeCache
  3234  	unknownFields protoimpl.UnknownFields
  3235  
  3236  	// The icon name defined in the [Google Material
  3237  	// Icon](https://fonts.google.com/icons), for example, `check_box`. Any
  3238  	// invalid names are abandoned and replaced with empty string and
  3239  	// results in the icon failing to render.
  3240  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  3241  	// Whether the icon renders as filled. Default value is false.
  3242  	//
  3243  	// To preview different icon settings, go to
  3244  	// [Google Font Icons](https://fonts.google.com/icons) and adjust the
  3245  	// settings under **Customize**.
  3246  	Fill bool `protobuf:"varint,2,opt,name=fill,proto3" json:"fill,omitempty"`
  3247  	// The stroke weight of the icon. Choose from {100, 200, 300, 400,
  3248  	// 500, 600, 700}. If absent, default value is 400. If any other value is
  3249  	// specified, the default value is used.
  3250  	//
  3251  	// To preview different icon settings, go to
  3252  	// [Google Font Icons](https://fonts.google.com/icons) and adjust the
  3253  	// settings under **Customize**.
  3254  	Weight int32 `protobuf:"varint,3,opt,name=weight,proto3" json:"weight,omitempty"`
  3255  	// Weight and grade affect a symbol’s thickness. Adjustments to grade are more
  3256  	// granular than adjustments to weight and have a small impact on the size of
  3257  	// the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If
  3258  	// any other value is specified, the default value is used.
  3259  	//
  3260  	// To preview different icon settings, go to
  3261  	// [Google Font Icons](https://fonts.google.com/icons) and adjust the
  3262  	// settings under **Customize**.
  3263  	Grade int32 `protobuf:"varint,4,opt,name=grade,proto3" json:"grade,omitempty"`
  3264  }
  3265  
  3266  func (x *MaterialIcon) Reset() {
  3267  	*x = MaterialIcon{}
  3268  	if protoimpl.UnsafeEnabled {
  3269  		mi := &file_google_apps_card_v1_card_proto_msgTypes[13]
  3270  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3271  		ms.StoreMessageInfo(mi)
  3272  	}
  3273  }
  3274  
  3275  func (x *MaterialIcon) String() string {
  3276  	return protoimpl.X.MessageStringOf(x)
  3277  }
  3278  
  3279  func (*MaterialIcon) ProtoMessage() {}
  3280  
  3281  func (x *MaterialIcon) ProtoReflect() protoreflect.Message {
  3282  	mi := &file_google_apps_card_v1_card_proto_msgTypes[13]
  3283  	if protoimpl.UnsafeEnabled && x != nil {
  3284  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3285  		if ms.LoadMessageInfo() == nil {
  3286  			ms.StoreMessageInfo(mi)
  3287  		}
  3288  		return ms
  3289  	}
  3290  	return mi.MessageOf(x)
  3291  }
  3292  
  3293  // Deprecated: Use MaterialIcon.ProtoReflect.Descriptor instead.
  3294  func (*MaterialIcon) Descriptor() ([]byte, []int) {
  3295  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{13}
  3296  }
  3297  
  3298  func (x *MaterialIcon) GetName() string {
  3299  	if x != nil {
  3300  		return x.Name
  3301  	}
  3302  	return ""
  3303  }
  3304  
  3305  func (x *MaterialIcon) GetFill() bool {
  3306  	if x != nil {
  3307  		return x.Fill
  3308  	}
  3309  	return false
  3310  }
  3311  
  3312  func (x *MaterialIcon) GetWeight() int32 {
  3313  	if x != nil {
  3314  		return x.Weight
  3315  	}
  3316  	return 0
  3317  }
  3318  
  3319  func (x *MaterialIcon) GetGrade() int32 {
  3320  	if x != nil {
  3321  		return x.Grade
  3322  	}
  3323  	return 0
  3324  }
  3325  
  3326  // Represents the crop style applied to an image.
  3327  //
  3328  // [Google Workspace Add-ons and
  3329  // Chat apps](https://developers.google.com/workspace/extend):
  3330  //
  3331  // For example, here's how to apply a 16:9 aspect ratio:
  3332  //
  3333  // ```
  3334  //
  3335  //	cropStyle {
  3336  //	 "type": "RECTANGLE_CUSTOM",
  3337  //	 "aspectRatio": 16/9
  3338  //	}
  3339  //
  3340  // ```
  3341  type ImageCropStyle struct {
  3342  	state         protoimpl.MessageState
  3343  	sizeCache     protoimpl.SizeCache
  3344  	unknownFields protoimpl.UnknownFields
  3345  
  3346  	// The crop type.
  3347  	Type ImageCropStyle_ImageCropType `protobuf:"varint,1,opt,name=type,proto3,enum=google.apps.card.v1.ImageCropStyle_ImageCropType" json:"type,omitempty"`
  3348  	// The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`.
  3349  	//
  3350  	// For example, here's how to apply a 16:9 aspect ratio:
  3351  	//
  3352  	// ```
  3353  	//
  3354  	//	cropStyle {
  3355  	//	 "type": "RECTANGLE_CUSTOM",
  3356  	//	 "aspectRatio": 16/9
  3357  	//	}
  3358  	//
  3359  	// ```
  3360  	AspectRatio float64 `protobuf:"fixed64,2,opt,name=aspect_ratio,json=aspectRatio,proto3" json:"aspect_ratio,omitempty"`
  3361  }
  3362  
  3363  func (x *ImageCropStyle) Reset() {
  3364  	*x = ImageCropStyle{}
  3365  	if protoimpl.UnsafeEnabled {
  3366  		mi := &file_google_apps_card_v1_card_proto_msgTypes[14]
  3367  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3368  		ms.StoreMessageInfo(mi)
  3369  	}
  3370  }
  3371  
  3372  func (x *ImageCropStyle) String() string {
  3373  	return protoimpl.X.MessageStringOf(x)
  3374  }
  3375  
  3376  func (*ImageCropStyle) ProtoMessage() {}
  3377  
  3378  func (x *ImageCropStyle) ProtoReflect() protoreflect.Message {
  3379  	mi := &file_google_apps_card_v1_card_proto_msgTypes[14]
  3380  	if protoimpl.UnsafeEnabled && x != nil {
  3381  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3382  		if ms.LoadMessageInfo() == nil {
  3383  			ms.StoreMessageInfo(mi)
  3384  		}
  3385  		return ms
  3386  	}
  3387  	return mi.MessageOf(x)
  3388  }
  3389  
  3390  // Deprecated: Use ImageCropStyle.ProtoReflect.Descriptor instead.
  3391  func (*ImageCropStyle) Descriptor() ([]byte, []int) {
  3392  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{14}
  3393  }
  3394  
  3395  func (x *ImageCropStyle) GetType() ImageCropStyle_ImageCropType {
  3396  	if x != nil {
  3397  		return x.Type
  3398  	}
  3399  	return ImageCropStyle_IMAGE_CROP_TYPE_UNSPECIFIED
  3400  }
  3401  
  3402  func (x *ImageCropStyle) GetAspectRatio() float64 {
  3403  	if x != nil {
  3404  		return x.AspectRatio
  3405  	}
  3406  	return 0
  3407  }
  3408  
  3409  // The style options for the border of a card or widget, including the border
  3410  // type and color.
  3411  //
  3412  // [Google Workspace Add-ons and Chat
  3413  // apps](https://developers.google.com/workspace/extend):
  3414  type BorderStyle struct {
  3415  	state         protoimpl.MessageState
  3416  	sizeCache     protoimpl.SizeCache
  3417  	unknownFields protoimpl.UnknownFields
  3418  
  3419  	// The border type.
  3420  	Type BorderStyle_BorderType `protobuf:"varint,1,opt,name=type,proto3,enum=google.apps.card.v1.BorderStyle_BorderType" json:"type,omitempty"`
  3421  	// The colors to use when the type is `BORDER_TYPE_STROKE`.
  3422  	StrokeColor *color.Color `protobuf:"bytes,2,opt,name=stroke_color,json=strokeColor,proto3" json:"stroke_color,omitempty"`
  3423  	// The corner radius for the border.
  3424  	CornerRadius int32 `protobuf:"varint,3,opt,name=corner_radius,json=cornerRadius,proto3" json:"corner_radius,omitempty"`
  3425  }
  3426  
  3427  func (x *BorderStyle) Reset() {
  3428  	*x = BorderStyle{}
  3429  	if protoimpl.UnsafeEnabled {
  3430  		mi := &file_google_apps_card_v1_card_proto_msgTypes[15]
  3431  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3432  		ms.StoreMessageInfo(mi)
  3433  	}
  3434  }
  3435  
  3436  func (x *BorderStyle) String() string {
  3437  	return protoimpl.X.MessageStringOf(x)
  3438  }
  3439  
  3440  func (*BorderStyle) ProtoMessage() {}
  3441  
  3442  func (x *BorderStyle) ProtoReflect() protoreflect.Message {
  3443  	mi := &file_google_apps_card_v1_card_proto_msgTypes[15]
  3444  	if protoimpl.UnsafeEnabled && x != nil {
  3445  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3446  		if ms.LoadMessageInfo() == nil {
  3447  			ms.StoreMessageInfo(mi)
  3448  		}
  3449  		return ms
  3450  	}
  3451  	return mi.MessageOf(x)
  3452  }
  3453  
  3454  // Deprecated: Use BorderStyle.ProtoReflect.Descriptor instead.
  3455  func (*BorderStyle) Descriptor() ([]byte, []int) {
  3456  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{15}
  3457  }
  3458  
  3459  func (x *BorderStyle) GetType() BorderStyle_BorderType {
  3460  	if x != nil {
  3461  		return x.Type
  3462  	}
  3463  	return BorderStyle_BORDER_TYPE_UNSPECIFIED
  3464  }
  3465  
  3466  func (x *BorderStyle) GetStrokeColor() *color.Color {
  3467  	if x != nil {
  3468  		return x.StrokeColor
  3469  	}
  3470  	return nil
  3471  }
  3472  
  3473  func (x *BorderStyle) GetCornerRadius() int32 {
  3474  	if x != nil {
  3475  		return x.CornerRadius
  3476  	}
  3477  	return 0
  3478  }
  3479  
  3480  // Represents an image.
  3481  //
  3482  // [Google Workspace Add-ons and Chat
  3483  // apps](https://developers.google.com/workspace/extend):
  3484  type ImageComponent struct {
  3485  	state         protoimpl.MessageState
  3486  	sizeCache     protoimpl.SizeCache
  3487  	unknownFields protoimpl.UnknownFields
  3488  
  3489  	// The image URL.
  3490  	ImageUri string `protobuf:"bytes,1,opt,name=image_uri,json=imageUri,proto3" json:"image_uri,omitempty"`
  3491  	// The accessibility label for the image.
  3492  	AltText string `protobuf:"bytes,2,opt,name=alt_text,json=altText,proto3" json:"alt_text,omitempty"`
  3493  	// The crop style to apply to the image.
  3494  	CropStyle *ImageCropStyle `protobuf:"bytes,3,opt,name=crop_style,json=cropStyle,proto3" json:"crop_style,omitempty"`
  3495  	// The border style to apply to the image.
  3496  	BorderStyle *BorderStyle `protobuf:"bytes,4,opt,name=border_style,json=borderStyle,proto3" json:"border_style,omitempty"`
  3497  }
  3498  
  3499  func (x *ImageComponent) Reset() {
  3500  	*x = ImageComponent{}
  3501  	if protoimpl.UnsafeEnabled {
  3502  		mi := &file_google_apps_card_v1_card_proto_msgTypes[16]
  3503  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3504  		ms.StoreMessageInfo(mi)
  3505  	}
  3506  }
  3507  
  3508  func (x *ImageComponent) String() string {
  3509  	return protoimpl.X.MessageStringOf(x)
  3510  }
  3511  
  3512  func (*ImageComponent) ProtoMessage() {}
  3513  
  3514  func (x *ImageComponent) ProtoReflect() protoreflect.Message {
  3515  	mi := &file_google_apps_card_v1_card_proto_msgTypes[16]
  3516  	if protoimpl.UnsafeEnabled && x != nil {
  3517  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3518  		if ms.LoadMessageInfo() == nil {
  3519  			ms.StoreMessageInfo(mi)
  3520  		}
  3521  		return ms
  3522  	}
  3523  	return mi.MessageOf(x)
  3524  }
  3525  
  3526  // Deprecated: Use ImageComponent.ProtoReflect.Descriptor instead.
  3527  func (*ImageComponent) Descriptor() ([]byte, []int) {
  3528  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{16}
  3529  }
  3530  
  3531  func (x *ImageComponent) GetImageUri() string {
  3532  	if x != nil {
  3533  		return x.ImageUri
  3534  	}
  3535  	return ""
  3536  }
  3537  
  3538  func (x *ImageComponent) GetAltText() string {
  3539  	if x != nil {
  3540  		return x.AltText
  3541  	}
  3542  	return ""
  3543  }
  3544  
  3545  func (x *ImageComponent) GetCropStyle() *ImageCropStyle {
  3546  	if x != nil {
  3547  		return x.CropStyle
  3548  	}
  3549  	return nil
  3550  }
  3551  
  3552  func (x *ImageComponent) GetBorderStyle() *BorderStyle {
  3553  	if x != nil {
  3554  		return x.BorderStyle
  3555  	}
  3556  	return nil
  3557  }
  3558  
  3559  // Displays a grid with a collection of items. Items can only include text or
  3560  // images. For responsive columns, or to include more than text or images, use
  3561  // [`Columns`][google.apps.card.v1.Columns]. For an example in Google Chat apps,
  3562  // see [Display a Grid with a collection of
  3563  // items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items).
  3564  //
  3565  // A grid supports any number of columns and items. The number of rows is
  3566  // determined by items divided by columns. A grid with
  3567  // 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns
  3568  // has 6 rows.
  3569  //
  3570  // [Google Workspace Add-ons and Chat
  3571  // apps](https://developers.google.com/workspace/extend):
  3572  //
  3573  // For example, the following JSON creates a 2 column grid with a single
  3574  // item:
  3575  //
  3576  // ```
  3577  //
  3578  //	"grid": {
  3579  //	  "title": "A fine collection of items",
  3580  //	  "columnCount": 2,
  3581  //	  "borderStyle": {
  3582  //	    "type": "STROKE",
  3583  //	    "cornerRadius": 4
  3584  //	  },
  3585  //	  "items": [
  3586  //	    {
  3587  //	      "image": {
  3588  //	        "imageUri": "https://www.example.com/image.png",
  3589  //	        "cropStyle": {
  3590  //	          "type": "SQUARE"
  3591  //	        },
  3592  //	        "borderStyle": {
  3593  //	          "type": "STROKE"
  3594  //	        }
  3595  //	      },
  3596  //	      "title": "An item",
  3597  //	      "textAlignment": "CENTER"
  3598  //	    }
  3599  //	  ],
  3600  //	  "onClick": {
  3601  //	    "openLink": {
  3602  //	      "url": "https://www.example.com"
  3603  //	    }
  3604  //	  }
  3605  //	}
  3606  //
  3607  // ```
  3608  type Grid struct {
  3609  	state         protoimpl.MessageState
  3610  	sizeCache     protoimpl.SizeCache
  3611  	unknownFields protoimpl.UnknownFields
  3612  
  3613  	// The text that displays in the grid header.
  3614  	Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
  3615  	// The items to display in the grid.
  3616  	Items []*Grid_GridItem `protobuf:"bytes,2,rep,name=items,proto3" json:"items,omitempty"`
  3617  	// The border style to apply to each grid item.
  3618  	BorderStyle *BorderStyle `protobuf:"bytes,3,opt,name=border_style,json=borderStyle,proto3" json:"border_style,omitempty"`
  3619  	// The number of columns to display in the grid. A default value
  3620  	// is used if this field isn't specified, and that default value is
  3621  	// different depending on where the grid is shown (dialog versus companion).
  3622  	ColumnCount int32 `protobuf:"varint,4,opt,name=column_count,json=columnCount,proto3" json:"column_count,omitempty"`
  3623  	// This callback is reused by each individual grid item, but with the
  3624  	// item's identifier and index in the items list added to the callback's
  3625  	// parameters.
  3626  	OnClick *OnClick `protobuf:"bytes,5,opt,name=on_click,json=onClick,proto3" json:"on_click,omitempty"`
  3627  }
  3628  
  3629  func (x *Grid) Reset() {
  3630  	*x = Grid{}
  3631  	if protoimpl.UnsafeEnabled {
  3632  		mi := &file_google_apps_card_v1_card_proto_msgTypes[17]
  3633  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3634  		ms.StoreMessageInfo(mi)
  3635  	}
  3636  }
  3637  
  3638  func (x *Grid) String() string {
  3639  	return protoimpl.X.MessageStringOf(x)
  3640  }
  3641  
  3642  func (*Grid) ProtoMessage() {}
  3643  
  3644  func (x *Grid) ProtoReflect() protoreflect.Message {
  3645  	mi := &file_google_apps_card_v1_card_proto_msgTypes[17]
  3646  	if protoimpl.UnsafeEnabled && x != nil {
  3647  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3648  		if ms.LoadMessageInfo() == nil {
  3649  			ms.StoreMessageInfo(mi)
  3650  		}
  3651  		return ms
  3652  	}
  3653  	return mi.MessageOf(x)
  3654  }
  3655  
  3656  // Deprecated: Use Grid.ProtoReflect.Descriptor instead.
  3657  func (*Grid) Descriptor() ([]byte, []int) {
  3658  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{17}
  3659  }
  3660  
  3661  func (x *Grid) GetTitle() string {
  3662  	if x != nil {
  3663  		return x.Title
  3664  	}
  3665  	return ""
  3666  }
  3667  
  3668  func (x *Grid) GetItems() []*Grid_GridItem {
  3669  	if x != nil {
  3670  		return x.Items
  3671  	}
  3672  	return nil
  3673  }
  3674  
  3675  func (x *Grid) GetBorderStyle() *BorderStyle {
  3676  	if x != nil {
  3677  		return x.BorderStyle
  3678  	}
  3679  	return nil
  3680  }
  3681  
  3682  func (x *Grid) GetColumnCount() int32 {
  3683  	if x != nil {
  3684  		return x.ColumnCount
  3685  	}
  3686  	return 0
  3687  }
  3688  
  3689  func (x *Grid) GetOnClick() *OnClick {
  3690  	if x != nil {
  3691  		return x.OnClick
  3692  	}
  3693  	return nil
  3694  }
  3695  
  3696  // The `Columns` widget displays up to 2 columns in a card or dialog. You can
  3697  // add widgets to each column; the widgets appear in the order that they are
  3698  // specified. For an example in Google Chat apps, see
  3699  // [Display cards and dialogs in
  3700  // columns](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_cards_and_dialogs_in_columns).
  3701  //
  3702  // The height of each column is determined by the taller column. For example, if
  3703  // the first column is taller than the second column, both columns have the
  3704  // height of the first column. Because each column can contain a different
  3705  // number of widgets, you can't define rows or align widgets between the
  3706  // columns.
  3707  //
  3708  // Columns are displayed side-by-side. You can customize the width of each
  3709  // column using the `HorizontalSizeStyle` field. If the user's
  3710  // screen width is too narrow, the second column wraps below the first:
  3711  //
  3712  //   - On web, the second column wraps if the screen width is less than or equal
  3713  //     to 480 pixels.
  3714  //   - On iOS devices, the second column wraps if the screen width is
  3715  //     less than or equal to 300 pt.
  3716  //   - On Android devices, the second column wraps if the screen width is
  3717  //     less than or equal to 320 dp.
  3718  //
  3719  // To include more than 2 columns, or to use rows, use the
  3720  // [`Grid`][google.apps.card.v1.Grid] widget.
  3721  //
  3722  // [Google Workspace Add-ons and Chat
  3723  // apps](https://developers.google.com/workspace/extend):
  3724  // Columns for Google Workspace Add-ons are in
  3725  // Developer Preview.
  3726  type Columns struct {
  3727  	state         protoimpl.MessageState
  3728  	sizeCache     protoimpl.SizeCache
  3729  	unknownFields protoimpl.UnknownFields
  3730  
  3731  	// An array of columns. You can include up to 2 columns in a card or dialog.
  3732  	ColumnItems []*Columns_Column `protobuf:"bytes,2,rep,name=column_items,json=columnItems,proto3" json:"column_items,omitempty"`
  3733  }
  3734  
  3735  func (x *Columns) Reset() {
  3736  	*x = Columns{}
  3737  	if protoimpl.UnsafeEnabled {
  3738  		mi := &file_google_apps_card_v1_card_proto_msgTypes[18]
  3739  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3740  		ms.StoreMessageInfo(mi)
  3741  	}
  3742  }
  3743  
  3744  func (x *Columns) String() string {
  3745  	return protoimpl.X.MessageStringOf(x)
  3746  }
  3747  
  3748  func (*Columns) ProtoMessage() {}
  3749  
  3750  func (x *Columns) ProtoReflect() protoreflect.Message {
  3751  	mi := &file_google_apps_card_v1_card_proto_msgTypes[18]
  3752  	if protoimpl.UnsafeEnabled && x != nil {
  3753  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3754  		if ms.LoadMessageInfo() == nil {
  3755  			ms.StoreMessageInfo(mi)
  3756  		}
  3757  		return ms
  3758  	}
  3759  	return mi.MessageOf(x)
  3760  }
  3761  
  3762  // Deprecated: Use Columns.ProtoReflect.Descriptor instead.
  3763  func (*Columns) Descriptor() ([]byte, []int) {
  3764  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{18}
  3765  }
  3766  
  3767  func (x *Columns) GetColumnItems() []*Columns_Column {
  3768  	if x != nil {
  3769  		return x.ColumnItems
  3770  	}
  3771  	return nil
  3772  }
  3773  
  3774  // Represents how to respond when users click an interactive element on
  3775  // a card, such as a button.
  3776  //
  3777  // [Google Workspace Add-ons and Chat
  3778  // apps](https://developers.google.com/workspace/extend):
  3779  type OnClick struct {
  3780  	state         protoimpl.MessageState
  3781  	sizeCache     protoimpl.SizeCache
  3782  	unknownFields protoimpl.UnknownFields
  3783  
  3784  	// Types that are assignable to Data:
  3785  	//
  3786  	//	*OnClick_Action
  3787  	//	*OnClick_OpenLink
  3788  	//	*OnClick_OpenDynamicLinkAction
  3789  	//	*OnClick_Card
  3790  	Data isOnClick_Data `protobuf_oneof:"data"`
  3791  }
  3792  
  3793  func (x *OnClick) Reset() {
  3794  	*x = OnClick{}
  3795  	if protoimpl.UnsafeEnabled {
  3796  		mi := &file_google_apps_card_v1_card_proto_msgTypes[19]
  3797  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3798  		ms.StoreMessageInfo(mi)
  3799  	}
  3800  }
  3801  
  3802  func (x *OnClick) String() string {
  3803  	return protoimpl.X.MessageStringOf(x)
  3804  }
  3805  
  3806  func (*OnClick) ProtoMessage() {}
  3807  
  3808  func (x *OnClick) ProtoReflect() protoreflect.Message {
  3809  	mi := &file_google_apps_card_v1_card_proto_msgTypes[19]
  3810  	if protoimpl.UnsafeEnabled && x != nil {
  3811  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3812  		if ms.LoadMessageInfo() == nil {
  3813  			ms.StoreMessageInfo(mi)
  3814  		}
  3815  		return ms
  3816  	}
  3817  	return mi.MessageOf(x)
  3818  }
  3819  
  3820  // Deprecated: Use OnClick.ProtoReflect.Descriptor instead.
  3821  func (*OnClick) Descriptor() ([]byte, []int) {
  3822  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{19}
  3823  }
  3824  
  3825  func (m *OnClick) GetData() isOnClick_Data {
  3826  	if m != nil {
  3827  		return m.Data
  3828  	}
  3829  	return nil
  3830  }
  3831  
  3832  func (x *OnClick) GetAction() *Action {
  3833  	if x, ok := x.GetData().(*OnClick_Action); ok {
  3834  		return x.Action
  3835  	}
  3836  	return nil
  3837  }
  3838  
  3839  func (x *OnClick) GetOpenLink() *OpenLink {
  3840  	if x, ok := x.GetData().(*OnClick_OpenLink); ok {
  3841  		return x.OpenLink
  3842  	}
  3843  	return nil
  3844  }
  3845  
  3846  func (x *OnClick) GetOpenDynamicLinkAction() *Action {
  3847  	if x, ok := x.GetData().(*OnClick_OpenDynamicLinkAction); ok {
  3848  		return x.OpenDynamicLinkAction
  3849  	}
  3850  	return nil
  3851  }
  3852  
  3853  func (x *OnClick) GetCard() *Card {
  3854  	if x, ok := x.GetData().(*OnClick_Card); ok {
  3855  		return x.Card
  3856  	}
  3857  	return nil
  3858  }
  3859  
  3860  type isOnClick_Data interface {
  3861  	isOnClick_Data()
  3862  }
  3863  
  3864  type OnClick_Action struct {
  3865  	// If specified, an action is triggered by this `onClick`.
  3866  	Action *Action `protobuf:"bytes,1,opt,name=action,proto3,oneof"`
  3867  }
  3868  
  3869  type OnClick_OpenLink struct {
  3870  	// If specified, this `onClick` triggers an open link action.
  3871  	OpenLink *OpenLink `protobuf:"bytes,2,opt,name=open_link,json=openLink,proto3,oneof"`
  3872  }
  3873  
  3874  type OnClick_OpenDynamicLinkAction struct {
  3875  	// An add-on triggers this action when the action needs to open a
  3876  	// link. This differs from the `open_link` above in that this needs to talk
  3877  	// to server to get the link. Thus some preparation work is required for
  3878  	// web client to do before the open link action response comes back.
  3879  	//
  3880  	// [Google Workspace
  3881  	// Add-ons](https://developers.google.com/workspace/add-ons):
  3882  	OpenDynamicLinkAction *Action `protobuf:"bytes,3,opt,name=open_dynamic_link_action,json=openDynamicLinkAction,proto3,oneof"`
  3883  }
  3884  
  3885  type OnClick_Card struct {
  3886  	// A new card is pushed to the card stack after clicking if specified.
  3887  	//
  3888  	// [Google Workspace
  3889  	// Add-ons](https://developers.google.com/workspace/add-ons):
  3890  	Card *Card `protobuf:"bytes,4,opt,name=card,proto3,oneof"`
  3891  }
  3892  
  3893  func (*OnClick_Action) isOnClick_Data() {}
  3894  
  3895  func (*OnClick_OpenLink) isOnClick_Data() {}
  3896  
  3897  func (*OnClick_OpenDynamicLinkAction) isOnClick_Data() {}
  3898  
  3899  func (*OnClick_Card) isOnClick_Data() {}
  3900  
  3901  // Represents an `onClick` event that opens a hyperlink.
  3902  //
  3903  // [Google Workspace Add-ons and Chat
  3904  // apps](https://developers.google.com/workspace/extend):
  3905  type OpenLink struct {
  3906  	state         protoimpl.MessageState
  3907  	sizeCache     protoimpl.SizeCache
  3908  	unknownFields protoimpl.UnknownFields
  3909  
  3910  	// The URL to open.
  3911  	Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
  3912  	// How to open a link.
  3913  	//
  3914  	// [Google Workspace
  3915  	// Add-ons](https://developers.google.com/workspace/add-ons):
  3916  	OpenAs OpenLink_OpenAs `protobuf:"varint,2,opt,name=open_as,json=openAs,proto3,enum=google.apps.card.v1.OpenLink_OpenAs" json:"open_as,omitempty"`
  3917  	// Whether the client forgets about a link after opening it, or observes it
  3918  	// until the window closes.
  3919  	//
  3920  	// [Google Workspace
  3921  	// Add-ons](https://developers.google.com/workspace/add-ons):
  3922  	OnClose OpenLink_OnClose `protobuf:"varint,3,opt,name=on_close,json=onClose,proto3,enum=google.apps.card.v1.OpenLink_OnClose" json:"on_close,omitempty"`
  3923  }
  3924  
  3925  func (x *OpenLink) Reset() {
  3926  	*x = OpenLink{}
  3927  	if protoimpl.UnsafeEnabled {
  3928  		mi := &file_google_apps_card_v1_card_proto_msgTypes[20]
  3929  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3930  		ms.StoreMessageInfo(mi)
  3931  	}
  3932  }
  3933  
  3934  func (x *OpenLink) String() string {
  3935  	return protoimpl.X.MessageStringOf(x)
  3936  }
  3937  
  3938  func (*OpenLink) ProtoMessage() {}
  3939  
  3940  func (x *OpenLink) ProtoReflect() protoreflect.Message {
  3941  	mi := &file_google_apps_card_v1_card_proto_msgTypes[20]
  3942  	if protoimpl.UnsafeEnabled && x != nil {
  3943  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  3944  		if ms.LoadMessageInfo() == nil {
  3945  			ms.StoreMessageInfo(mi)
  3946  		}
  3947  		return ms
  3948  	}
  3949  	return mi.MessageOf(x)
  3950  }
  3951  
  3952  // Deprecated: Use OpenLink.ProtoReflect.Descriptor instead.
  3953  func (*OpenLink) Descriptor() ([]byte, []int) {
  3954  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{20}
  3955  }
  3956  
  3957  func (x *OpenLink) GetUrl() string {
  3958  	if x != nil {
  3959  		return x.Url
  3960  	}
  3961  	return ""
  3962  }
  3963  
  3964  func (x *OpenLink) GetOpenAs() OpenLink_OpenAs {
  3965  	if x != nil {
  3966  		return x.OpenAs
  3967  	}
  3968  	return OpenLink_FULL_SIZE
  3969  }
  3970  
  3971  func (x *OpenLink) GetOnClose() OpenLink_OnClose {
  3972  	if x != nil {
  3973  		return x.OnClose
  3974  	}
  3975  	return OpenLink_NOTHING
  3976  }
  3977  
  3978  // An action that describes the behavior when the form is submitted.
  3979  // For example, you can invoke an Apps Script script to handle the form.
  3980  // If the action is triggered, the form values are sent to the server.
  3981  //
  3982  // [Google Workspace Add-ons and Chat
  3983  // apps](https://developers.google.com/workspace/extend):
  3984  type Action struct {
  3985  	state         protoimpl.MessageState
  3986  	sizeCache     protoimpl.SizeCache
  3987  	unknownFields protoimpl.UnknownFields
  3988  
  3989  	// A custom function to invoke when the containing element is
  3990  	// clicked or othrwise activated.
  3991  	//
  3992  	// For example usage, see [Read form
  3993  	// data](https://developers.google.com/workspace/chat/read-form-data).
  3994  	Function string `protobuf:"bytes,1,opt,name=function,proto3" json:"function,omitempty"`
  3995  	// List of action parameters.
  3996  	Parameters []*Action_ActionParameter `protobuf:"bytes,2,rep,name=parameters,proto3" json:"parameters,omitempty"`
  3997  	// Specifies the loading indicator that the action displays while
  3998  	// making the call to the action.
  3999  	LoadIndicator Action_LoadIndicator `protobuf:"varint,3,opt,name=load_indicator,json=loadIndicator,proto3,enum=google.apps.card.v1.Action_LoadIndicator" json:"load_indicator,omitempty"`
  4000  	// Indicates whether form values persist after the action. The default value
  4001  	// is `false`.
  4002  	//
  4003  	// If `true`, form values remain after the action is triggered. To let the
  4004  	// user make changes while the action is being processed, set
  4005  	// [`LoadIndicator`](https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator)
  4006  	// to `NONE`. For [card
  4007  	// messages](https://developers.google.com/workspace/chat/api/guides/v1/messages/create#create)
  4008  	// in Chat apps, you must also set the action's
  4009  	// [`ResponseType`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages#responsetype)
  4010  	// to `UPDATE_MESSAGE` and use the same
  4011  	// [`card_id`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages#CardWithId)
  4012  	// from the card that contained the action.
  4013  	//
  4014  	// If `false`, the form values are cleared when the action is triggered.
  4015  	// To prevent the user from making changes while the action is being
  4016  	// processed, set
  4017  	// [`LoadIndicator`](https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator)
  4018  	// to `SPINNER`.
  4019  	PersistValues bool `protobuf:"varint,4,opt,name=persist_values,json=persistValues,proto3" json:"persist_values,omitempty"`
  4020  	// Optional. Required when opening a
  4021  	// [dialog](https://developers.google.com/workspace/chat/dialogs).
  4022  	//
  4023  	// What to do in response to an interaction with a user, such as a user
  4024  	// clicking a button in a card message.
  4025  	//
  4026  	// If unspecified, the app responds by executing an `action`—like opening a
  4027  	// link or running a function—as normal.
  4028  	//
  4029  	// By specifying an `interaction`, the app can respond in special interactive
  4030  	// ways. For example, by setting `interaction` to `OPEN_DIALOG`, the app can
  4031  	// open a [dialog](https://developers.google.com/workspace/chat/dialogs). When
  4032  	// specified, a loading indicator isn't shown. If specified for
  4033  	// an add-on, the entire card is stripped and nothing is shown in the client.
  4034  	//
  4035  	// [Google Chat apps](https://developers.google.com/workspace/chat):
  4036  	Interaction Action_Interaction `protobuf:"varint,5,opt,name=interaction,proto3,enum=google.apps.card.v1.Action_Interaction" json:"interaction,omitempty"`
  4037  }
  4038  
  4039  func (x *Action) Reset() {
  4040  	*x = Action{}
  4041  	if protoimpl.UnsafeEnabled {
  4042  		mi := &file_google_apps_card_v1_card_proto_msgTypes[21]
  4043  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4044  		ms.StoreMessageInfo(mi)
  4045  	}
  4046  }
  4047  
  4048  func (x *Action) String() string {
  4049  	return protoimpl.X.MessageStringOf(x)
  4050  }
  4051  
  4052  func (*Action) ProtoMessage() {}
  4053  
  4054  func (x *Action) ProtoReflect() protoreflect.Message {
  4055  	mi := &file_google_apps_card_v1_card_proto_msgTypes[21]
  4056  	if protoimpl.UnsafeEnabled && x != nil {
  4057  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4058  		if ms.LoadMessageInfo() == nil {
  4059  			ms.StoreMessageInfo(mi)
  4060  		}
  4061  		return ms
  4062  	}
  4063  	return mi.MessageOf(x)
  4064  }
  4065  
  4066  // Deprecated: Use Action.ProtoReflect.Descriptor instead.
  4067  func (*Action) Descriptor() ([]byte, []int) {
  4068  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{21}
  4069  }
  4070  
  4071  func (x *Action) GetFunction() string {
  4072  	if x != nil {
  4073  		return x.Function
  4074  	}
  4075  	return ""
  4076  }
  4077  
  4078  func (x *Action) GetParameters() []*Action_ActionParameter {
  4079  	if x != nil {
  4080  		return x.Parameters
  4081  	}
  4082  	return nil
  4083  }
  4084  
  4085  func (x *Action) GetLoadIndicator() Action_LoadIndicator {
  4086  	if x != nil {
  4087  		return x.LoadIndicator
  4088  	}
  4089  	return Action_SPINNER
  4090  }
  4091  
  4092  func (x *Action) GetPersistValues() bool {
  4093  	if x != nil {
  4094  		return x.PersistValues
  4095  	}
  4096  	return false
  4097  }
  4098  
  4099  func (x *Action) GetInteraction() Action_Interaction {
  4100  	if x != nil {
  4101  		return x.Interaction
  4102  	}
  4103  	return Action_INTERACTION_UNSPECIFIED
  4104  }
  4105  
  4106  // Represents a card header. For an example in Google Chat apps, see [Add a
  4107  // header](https://developers.google.com/workspace/chat/design-components-card-dialog#add_a_header).
  4108  //
  4109  // [Google Workspace Add-ons and Chat
  4110  // apps](https://developers.google.com/workspace/extend):
  4111  type Card_CardHeader struct {
  4112  	state         protoimpl.MessageState
  4113  	sizeCache     protoimpl.SizeCache
  4114  	unknownFields protoimpl.UnknownFields
  4115  
  4116  	// Required. The title of the card header.
  4117  	// The header has a fixed height: if both a
  4118  	// title and subtitle are specified, each takes up one line. If only the
  4119  	// title is specified, it takes up both lines.
  4120  	Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
  4121  	// The subtitle of the card header. If specified, appears on its own line
  4122  	// below the `title`.
  4123  	Subtitle string `protobuf:"bytes,2,opt,name=subtitle,proto3" json:"subtitle,omitempty"`
  4124  	// The shape used to crop the image.
  4125  	//
  4126  	// [Google Workspace Add-ons and Chat
  4127  	// apps](https://developers.google.com/workspace/extend):
  4128  	ImageType Widget_ImageType `protobuf:"varint,3,opt,name=image_type,json=imageType,proto3,enum=google.apps.card.v1.Widget_ImageType" json:"image_type,omitempty"`
  4129  	// The HTTPS URL of the image in the card header.
  4130  	ImageUrl string `protobuf:"bytes,4,opt,name=image_url,json=imageUrl,proto3" json:"image_url,omitempty"`
  4131  	// The alternative text of this image that's used for accessibility.
  4132  	ImageAltText string `protobuf:"bytes,5,opt,name=image_alt_text,json=imageAltText,proto3" json:"image_alt_text,omitempty"`
  4133  }
  4134  
  4135  func (x *Card_CardHeader) Reset() {
  4136  	*x = Card_CardHeader{}
  4137  	if protoimpl.UnsafeEnabled {
  4138  		mi := &file_google_apps_card_v1_card_proto_msgTypes[22]
  4139  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4140  		ms.StoreMessageInfo(mi)
  4141  	}
  4142  }
  4143  
  4144  func (x *Card_CardHeader) String() string {
  4145  	return protoimpl.X.MessageStringOf(x)
  4146  }
  4147  
  4148  func (*Card_CardHeader) ProtoMessage() {}
  4149  
  4150  func (x *Card_CardHeader) ProtoReflect() protoreflect.Message {
  4151  	mi := &file_google_apps_card_v1_card_proto_msgTypes[22]
  4152  	if protoimpl.UnsafeEnabled && x != nil {
  4153  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4154  		if ms.LoadMessageInfo() == nil {
  4155  			ms.StoreMessageInfo(mi)
  4156  		}
  4157  		return ms
  4158  	}
  4159  	return mi.MessageOf(x)
  4160  }
  4161  
  4162  // Deprecated: Use Card_CardHeader.ProtoReflect.Descriptor instead.
  4163  func (*Card_CardHeader) Descriptor() ([]byte, []int) {
  4164  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{0, 0}
  4165  }
  4166  
  4167  func (x *Card_CardHeader) GetTitle() string {
  4168  	if x != nil {
  4169  		return x.Title
  4170  	}
  4171  	return ""
  4172  }
  4173  
  4174  func (x *Card_CardHeader) GetSubtitle() string {
  4175  	if x != nil {
  4176  		return x.Subtitle
  4177  	}
  4178  	return ""
  4179  }
  4180  
  4181  func (x *Card_CardHeader) GetImageType() Widget_ImageType {
  4182  	if x != nil {
  4183  		return x.ImageType
  4184  	}
  4185  	return Widget_SQUARE
  4186  }
  4187  
  4188  func (x *Card_CardHeader) GetImageUrl() string {
  4189  	if x != nil {
  4190  		return x.ImageUrl
  4191  	}
  4192  	return ""
  4193  }
  4194  
  4195  func (x *Card_CardHeader) GetImageAltText() string {
  4196  	if x != nil {
  4197  		return x.ImageAltText
  4198  	}
  4199  	return ""
  4200  }
  4201  
  4202  // A section contains a collection of widgets that are rendered
  4203  // vertically in the order that they're specified.
  4204  //
  4205  // [Google Workspace Add-ons and Chat
  4206  // apps](https://developers.google.com/workspace/extend):
  4207  type Card_Section struct {
  4208  	state         protoimpl.MessageState
  4209  	sizeCache     protoimpl.SizeCache
  4210  	unknownFields protoimpl.UnknownFields
  4211  
  4212  	// Text that appears at the top of a section.
  4213  	// Supports simple HTML formatted text. For more information
  4214  	// about formatting text, see
  4215  	// [Formatting text in Google Chat
  4216  	// apps](https://developers.google.com/workspace/chat/format-messages#card-formatting)
  4217  	// and
  4218  	// [Formatting
  4219  	// text in Google Workspace
  4220  	// Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
  4221  	Header string `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
  4222  	// All the widgets in the section.
  4223  	// Must contain at least one widget.
  4224  	Widgets []*Widget `protobuf:"bytes,2,rep,name=widgets,proto3" json:"widgets,omitempty"`
  4225  	// Indicates whether this section is collapsible.
  4226  	//
  4227  	// Collapsible sections hide some or all widgets, but users can expand the
  4228  	// section to reveal the hidden widgets by clicking **Show more**. Users
  4229  	// can hide the widgets again by clicking **Show less**.
  4230  	//
  4231  	// To determine which widgets are hidden, specify
  4232  	// `uncollapsibleWidgetsCount`.
  4233  	Collapsible bool `protobuf:"varint,5,opt,name=collapsible,proto3" json:"collapsible,omitempty"`
  4234  	// The number of uncollapsible widgets which remain visible even when a
  4235  	// section is collapsed.
  4236  	//
  4237  	// For example, when a section
  4238  	// contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`,
  4239  	// the first two widgets are always shown and the last three are collapsed
  4240  	// by default. The `uncollapsibleWidgetsCount` is taken into account only
  4241  	// when `collapsible` is `true`.
  4242  	UncollapsibleWidgetsCount int32 `protobuf:"varint,6,opt,name=uncollapsible_widgets_count,json=uncollapsibleWidgetsCount,proto3" json:"uncollapsible_widgets_count,omitempty"`
  4243  }
  4244  
  4245  func (x *Card_Section) Reset() {
  4246  	*x = Card_Section{}
  4247  	if protoimpl.UnsafeEnabled {
  4248  		mi := &file_google_apps_card_v1_card_proto_msgTypes[23]
  4249  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4250  		ms.StoreMessageInfo(mi)
  4251  	}
  4252  }
  4253  
  4254  func (x *Card_Section) String() string {
  4255  	return protoimpl.X.MessageStringOf(x)
  4256  }
  4257  
  4258  func (*Card_Section) ProtoMessage() {}
  4259  
  4260  func (x *Card_Section) ProtoReflect() protoreflect.Message {
  4261  	mi := &file_google_apps_card_v1_card_proto_msgTypes[23]
  4262  	if protoimpl.UnsafeEnabled && x != nil {
  4263  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4264  		if ms.LoadMessageInfo() == nil {
  4265  			ms.StoreMessageInfo(mi)
  4266  		}
  4267  		return ms
  4268  	}
  4269  	return mi.MessageOf(x)
  4270  }
  4271  
  4272  // Deprecated: Use Card_Section.ProtoReflect.Descriptor instead.
  4273  func (*Card_Section) Descriptor() ([]byte, []int) {
  4274  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{0, 1}
  4275  }
  4276  
  4277  func (x *Card_Section) GetHeader() string {
  4278  	if x != nil {
  4279  		return x.Header
  4280  	}
  4281  	return ""
  4282  }
  4283  
  4284  func (x *Card_Section) GetWidgets() []*Widget {
  4285  	if x != nil {
  4286  		return x.Widgets
  4287  	}
  4288  	return nil
  4289  }
  4290  
  4291  func (x *Card_Section) GetCollapsible() bool {
  4292  	if x != nil {
  4293  		return x.Collapsible
  4294  	}
  4295  	return false
  4296  }
  4297  
  4298  func (x *Card_Section) GetUncollapsibleWidgetsCount() int32 {
  4299  	if x != nil {
  4300  		return x.UncollapsibleWidgetsCount
  4301  	}
  4302  	return 0
  4303  }
  4304  
  4305  // A card action is the action associated with the card. For example,
  4306  // an invoice card might include actions such as delete invoice, email
  4307  // invoice, or open the invoice in a browser.
  4308  //
  4309  // [Google Workspace
  4310  // Add-ons](https://developers.google.com/workspace/add-ons):
  4311  type Card_CardAction struct {
  4312  	state         protoimpl.MessageState
  4313  	sizeCache     protoimpl.SizeCache
  4314  	unknownFields protoimpl.UnknownFields
  4315  
  4316  	// The label that displays as the action menu item.
  4317  	ActionLabel string `protobuf:"bytes,1,opt,name=action_label,json=actionLabel,proto3" json:"action_label,omitempty"`
  4318  	// The `onClick` action for this action item.
  4319  	OnClick *OnClick `protobuf:"bytes,2,opt,name=on_click,json=onClick,proto3" json:"on_click,omitempty"`
  4320  }
  4321  
  4322  func (x *Card_CardAction) Reset() {
  4323  	*x = Card_CardAction{}
  4324  	if protoimpl.UnsafeEnabled {
  4325  		mi := &file_google_apps_card_v1_card_proto_msgTypes[24]
  4326  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4327  		ms.StoreMessageInfo(mi)
  4328  	}
  4329  }
  4330  
  4331  func (x *Card_CardAction) String() string {
  4332  	return protoimpl.X.MessageStringOf(x)
  4333  }
  4334  
  4335  func (*Card_CardAction) ProtoMessage() {}
  4336  
  4337  func (x *Card_CardAction) ProtoReflect() protoreflect.Message {
  4338  	mi := &file_google_apps_card_v1_card_proto_msgTypes[24]
  4339  	if protoimpl.UnsafeEnabled && x != nil {
  4340  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4341  		if ms.LoadMessageInfo() == nil {
  4342  			ms.StoreMessageInfo(mi)
  4343  		}
  4344  		return ms
  4345  	}
  4346  	return mi.MessageOf(x)
  4347  }
  4348  
  4349  // Deprecated: Use Card_CardAction.ProtoReflect.Descriptor instead.
  4350  func (*Card_CardAction) Descriptor() ([]byte, []int) {
  4351  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{0, 2}
  4352  }
  4353  
  4354  func (x *Card_CardAction) GetActionLabel() string {
  4355  	if x != nil {
  4356  		return x.ActionLabel
  4357  	}
  4358  	return ""
  4359  }
  4360  
  4361  func (x *Card_CardAction) GetOnClick() *OnClick {
  4362  	if x != nil {
  4363  		return x.OnClick
  4364  	}
  4365  	return nil
  4366  }
  4367  
  4368  // A persistent (sticky) footer that that appears at the bottom of the card.
  4369  //
  4370  // Setting `fixedFooter` without specifying a `primaryButton` or a
  4371  // `secondaryButton` causes an error.
  4372  //
  4373  // For Chat apps, you can use fixed footers in
  4374  // [dialogs](https://developers.google.com/workspace/chat/dialogs), but not
  4375  // [card
  4376  // messages](https://developers.google.com/workspace/chat/create-messages#create).
  4377  // For an example in Google Chat apps, see [Add a persistent
  4378  // footer](https://developers.google.com/workspace/chat/design-components-card-dialog#add_a_persistent_footer).
  4379  //
  4380  // [Google Workspace Add-ons and Chat
  4381  // apps](https://developers.google.com/workspace/extend):
  4382  type Card_CardFixedFooter struct {
  4383  	state         protoimpl.MessageState
  4384  	sizeCache     protoimpl.SizeCache
  4385  	unknownFields protoimpl.UnknownFields
  4386  
  4387  	// The primary button of the fixed footer. The button must be a text button
  4388  	// with text and color set.
  4389  	PrimaryButton *Button `protobuf:"bytes,1,opt,name=primary_button,json=primaryButton,proto3" json:"primary_button,omitempty"`
  4390  	// The secondary button of the fixed footer.  The button must be a text
  4391  	// button with text and color set.
  4392  	// If `secondaryButton` is set, you must also set `primaryButton`.
  4393  	SecondaryButton *Button `protobuf:"bytes,2,opt,name=secondary_button,json=secondaryButton,proto3" json:"secondary_button,omitempty"`
  4394  }
  4395  
  4396  func (x *Card_CardFixedFooter) Reset() {
  4397  	*x = Card_CardFixedFooter{}
  4398  	if protoimpl.UnsafeEnabled {
  4399  		mi := &file_google_apps_card_v1_card_proto_msgTypes[25]
  4400  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4401  		ms.StoreMessageInfo(mi)
  4402  	}
  4403  }
  4404  
  4405  func (x *Card_CardFixedFooter) String() string {
  4406  	return protoimpl.X.MessageStringOf(x)
  4407  }
  4408  
  4409  func (*Card_CardFixedFooter) ProtoMessage() {}
  4410  
  4411  func (x *Card_CardFixedFooter) ProtoReflect() protoreflect.Message {
  4412  	mi := &file_google_apps_card_v1_card_proto_msgTypes[25]
  4413  	if protoimpl.UnsafeEnabled && x != nil {
  4414  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4415  		if ms.LoadMessageInfo() == nil {
  4416  			ms.StoreMessageInfo(mi)
  4417  		}
  4418  		return ms
  4419  	}
  4420  	return mi.MessageOf(x)
  4421  }
  4422  
  4423  // Deprecated: Use Card_CardFixedFooter.ProtoReflect.Descriptor instead.
  4424  func (*Card_CardFixedFooter) Descriptor() ([]byte, []int) {
  4425  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{0, 3}
  4426  }
  4427  
  4428  func (x *Card_CardFixedFooter) GetPrimaryButton() *Button {
  4429  	if x != nil {
  4430  		return x.PrimaryButton
  4431  	}
  4432  	return nil
  4433  }
  4434  
  4435  func (x *Card_CardFixedFooter) GetSecondaryButton() *Button {
  4436  	if x != nil {
  4437  		return x.SecondaryButton
  4438  	}
  4439  	return nil
  4440  }
  4441  
  4442  // Either a toggle-style switch or a checkbox inside a `decoratedText` widget.
  4443  //
  4444  // [Google Workspace Add-ons and Chat
  4445  // apps](https://developers.google.com/workspace/extend):
  4446  //
  4447  // Only supported in the `decoratedText` widget.
  4448  type DecoratedText_SwitchControl struct {
  4449  	state         protoimpl.MessageState
  4450  	sizeCache     protoimpl.SizeCache
  4451  	unknownFields protoimpl.UnknownFields
  4452  
  4453  	// The name by which the switch widget is identified in a form input event.
  4454  	//
  4455  	// For details about working with form inputs, see [Receive form
  4456  	// data](https://developers.google.com/workspace/chat/read-form-data).
  4457  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
  4458  	// The value entered by a user, returned as part of a form input event.
  4459  	//
  4460  	// For details about working with form inputs, see [Receive form
  4461  	// data](https://developers.google.com/workspace/chat/read-form-data).
  4462  	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  4463  	// When `true`, the switch is selected.
  4464  	Selected bool `protobuf:"varint,3,opt,name=selected,proto3" json:"selected,omitempty"`
  4465  	// The action to perform when the switch state is changed, such as what
  4466  	//
  4467  	//	function to run.
  4468  	OnChangeAction *Action `protobuf:"bytes,4,opt,name=on_change_action,json=onChangeAction,proto3" json:"on_change_action,omitempty"`
  4469  	// How the switch appears in the user interface.
  4470  	//
  4471  	// [Google Workspace Add-ons
  4472  	// and Chat apps](https://developers.google.com/workspace/extend):
  4473  	ControlType DecoratedText_SwitchControl_ControlType `protobuf:"varint,5,opt,name=control_type,json=controlType,proto3,enum=google.apps.card.v1.DecoratedText_SwitchControl_ControlType" json:"control_type,omitempty"`
  4474  }
  4475  
  4476  func (x *DecoratedText_SwitchControl) Reset() {
  4477  	*x = DecoratedText_SwitchControl{}
  4478  	if protoimpl.UnsafeEnabled {
  4479  		mi := &file_google_apps_card_v1_card_proto_msgTypes[26]
  4480  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4481  		ms.StoreMessageInfo(mi)
  4482  	}
  4483  }
  4484  
  4485  func (x *DecoratedText_SwitchControl) String() string {
  4486  	return protoimpl.X.MessageStringOf(x)
  4487  }
  4488  
  4489  func (*DecoratedText_SwitchControl) ProtoMessage() {}
  4490  
  4491  func (x *DecoratedText_SwitchControl) ProtoReflect() protoreflect.Message {
  4492  	mi := &file_google_apps_card_v1_card_proto_msgTypes[26]
  4493  	if protoimpl.UnsafeEnabled && x != nil {
  4494  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4495  		if ms.LoadMessageInfo() == nil {
  4496  			ms.StoreMessageInfo(mi)
  4497  		}
  4498  		return ms
  4499  	}
  4500  	return mi.MessageOf(x)
  4501  }
  4502  
  4503  // Deprecated: Use DecoratedText_SwitchControl.ProtoReflect.Descriptor instead.
  4504  func (*DecoratedText_SwitchControl) Descriptor() ([]byte, []int) {
  4505  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{5, 0}
  4506  }
  4507  
  4508  func (x *DecoratedText_SwitchControl) GetName() string {
  4509  	if x != nil {
  4510  		return x.Name
  4511  	}
  4512  	return ""
  4513  }
  4514  
  4515  func (x *DecoratedText_SwitchControl) GetValue() string {
  4516  	if x != nil {
  4517  		return x.Value
  4518  	}
  4519  	return ""
  4520  }
  4521  
  4522  func (x *DecoratedText_SwitchControl) GetSelected() bool {
  4523  	if x != nil {
  4524  		return x.Selected
  4525  	}
  4526  	return false
  4527  }
  4528  
  4529  func (x *DecoratedText_SwitchControl) GetOnChangeAction() *Action {
  4530  	if x != nil {
  4531  		return x.OnChangeAction
  4532  	}
  4533  	return nil
  4534  }
  4535  
  4536  func (x *DecoratedText_SwitchControl) GetControlType() DecoratedText_SwitchControl_ControlType {
  4537  	if x != nil {
  4538  		return x.ControlType
  4539  	}
  4540  	return DecoratedText_SwitchControl_SWITCH
  4541  }
  4542  
  4543  // One suggested value that users can enter in a text input field.
  4544  //
  4545  // [Google Workspace Add-ons and Chat
  4546  // apps](https://developers.google.com/workspace/extend):
  4547  type Suggestions_SuggestionItem struct {
  4548  	state         protoimpl.MessageState
  4549  	sizeCache     protoimpl.SizeCache
  4550  	unknownFields protoimpl.UnknownFields
  4551  
  4552  	// Types that are assignable to Content:
  4553  	//
  4554  	//	*Suggestions_SuggestionItem_Text
  4555  	Content isSuggestions_SuggestionItem_Content `protobuf_oneof:"content"`
  4556  }
  4557  
  4558  func (x *Suggestions_SuggestionItem) Reset() {
  4559  	*x = Suggestions_SuggestionItem{}
  4560  	if protoimpl.UnsafeEnabled {
  4561  		mi := &file_google_apps_card_v1_card_proto_msgTypes[27]
  4562  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4563  		ms.StoreMessageInfo(mi)
  4564  	}
  4565  }
  4566  
  4567  func (x *Suggestions_SuggestionItem) String() string {
  4568  	return protoimpl.X.MessageStringOf(x)
  4569  }
  4570  
  4571  func (*Suggestions_SuggestionItem) ProtoMessage() {}
  4572  
  4573  func (x *Suggestions_SuggestionItem) ProtoReflect() protoreflect.Message {
  4574  	mi := &file_google_apps_card_v1_card_proto_msgTypes[27]
  4575  	if protoimpl.UnsafeEnabled && x != nil {
  4576  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4577  		if ms.LoadMessageInfo() == nil {
  4578  			ms.StoreMessageInfo(mi)
  4579  		}
  4580  		return ms
  4581  	}
  4582  	return mi.MessageOf(x)
  4583  }
  4584  
  4585  // Deprecated: Use Suggestions_SuggestionItem.ProtoReflect.Descriptor instead.
  4586  func (*Suggestions_SuggestionItem) Descriptor() ([]byte, []int) {
  4587  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{7, 0}
  4588  }
  4589  
  4590  func (m *Suggestions_SuggestionItem) GetContent() isSuggestions_SuggestionItem_Content {
  4591  	if m != nil {
  4592  		return m.Content
  4593  	}
  4594  	return nil
  4595  }
  4596  
  4597  func (x *Suggestions_SuggestionItem) GetText() string {
  4598  	if x, ok := x.GetContent().(*Suggestions_SuggestionItem_Text); ok {
  4599  		return x.Text
  4600  	}
  4601  	return ""
  4602  }
  4603  
  4604  type isSuggestions_SuggestionItem_Content interface {
  4605  	isSuggestions_SuggestionItem_Content()
  4606  }
  4607  
  4608  type Suggestions_SuggestionItem_Text struct {
  4609  	// The value of a suggested input to a text input field. This is
  4610  	// equivalent to what users enter themselves.
  4611  	Text string `protobuf:"bytes,1,opt,name=text,proto3,oneof"`
  4612  }
  4613  
  4614  func (*Suggestions_SuggestionItem_Text) isSuggestions_SuggestionItem_Content() {}
  4615  
  4616  // An item that users can select in a selection input, such as a checkbox
  4617  // or switch.
  4618  //
  4619  // [Google Workspace Add-ons and Chat
  4620  // apps](https://developers.google.com/workspace/extend):
  4621  type SelectionInput_SelectionItem struct {
  4622  	state         protoimpl.MessageState
  4623  	sizeCache     protoimpl.SizeCache
  4624  	unknownFields protoimpl.UnknownFields
  4625  
  4626  	// The text that identifies or describes the item to users.
  4627  	Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
  4628  	// The value associated with this item. The client should use this as a form
  4629  	// input value.
  4630  	//
  4631  	// For details about working with form inputs, see [Receive form
  4632  	// data](https://developers.google.com/workspace/chat/read-form-data).
  4633  	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  4634  	// Whether the item is selected by default. If the selection input only
  4635  	// accepts one value (such as for radio buttons or a dropdown menu), only
  4636  	// set this field for one item.
  4637  	Selected bool `protobuf:"varint,3,opt,name=selected,proto3" json:"selected,omitempty"`
  4638  	// For multiselect menus, the URL for the icon displayed next to
  4639  	// the item's `text` field. Supports PNG and JPEG files. Must be an `HTTPS`
  4640  	// URL. For example,
  4641  	// `https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png`.
  4642  	StartIconUri string `protobuf:"bytes,4,opt,name=start_icon_uri,json=startIconUri,proto3" json:"start_icon_uri,omitempty"`
  4643  	// For multiselect menus, a text description or label that's
  4644  	// displayed below the item's `text` field.
  4645  	BottomText string `protobuf:"bytes,5,opt,name=bottom_text,json=bottomText,proto3" json:"bottom_text,omitempty"`
  4646  }
  4647  
  4648  func (x *SelectionInput_SelectionItem) Reset() {
  4649  	*x = SelectionInput_SelectionItem{}
  4650  	if protoimpl.UnsafeEnabled {
  4651  		mi := &file_google_apps_card_v1_card_proto_msgTypes[28]
  4652  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4653  		ms.StoreMessageInfo(mi)
  4654  	}
  4655  }
  4656  
  4657  func (x *SelectionInput_SelectionItem) String() string {
  4658  	return protoimpl.X.MessageStringOf(x)
  4659  }
  4660  
  4661  func (*SelectionInput_SelectionItem) ProtoMessage() {}
  4662  
  4663  func (x *SelectionInput_SelectionItem) ProtoReflect() protoreflect.Message {
  4664  	mi := &file_google_apps_card_v1_card_proto_msgTypes[28]
  4665  	if protoimpl.UnsafeEnabled && x != nil {
  4666  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4667  		if ms.LoadMessageInfo() == nil {
  4668  			ms.StoreMessageInfo(mi)
  4669  		}
  4670  		return ms
  4671  	}
  4672  	return mi.MessageOf(x)
  4673  }
  4674  
  4675  // Deprecated: Use SelectionInput_SelectionItem.ProtoReflect.Descriptor instead.
  4676  func (*SelectionInput_SelectionItem) Descriptor() ([]byte, []int) {
  4677  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{9, 0}
  4678  }
  4679  
  4680  func (x *SelectionInput_SelectionItem) GetText() string {
  4681  	if x != nil {
  4682  		return x.Text
  4683  	}
  4684  	return ""
  4685  }
  4686  
  4687  func (x *SelectionInput_SelectionItem) GetValue() string {
  4688  	if x != nil {
  4689  		return x.Value
  4690  	}
  4691  	return ""
  4692  }
  4693  
  4694  func (x *SelectionInput_SelectionItem) GetSelected() bool {
  4695  	if x != nil {
  4696  		return x.Selected
  4697  	}
  4698  	return false
  4699  }
  4700  
  4701  func (x *SelectionInput_SelectionItem) GetStartIconUri() string {
  4702  	if x != nil {
  4703  		return x.StartIconUri
  4704  	}
  4705  	return ""
  4706  }
  4707  
  4708  func (x *SelectionInput_SelectionItem) GetBottomText() string {
  4709  	if x != nil {
  4710  		return x.BottomText
  4711  	}
  4712  	return ""
  4713  }
  4714  
  4715  // For a
  4716  // [`SelectionInput`][google.apps.card.v1.SelectionInput] widget that uses a
  4717  // multiselect menu, a data source from Google Workspace. Used to populate
  4718  // items in a multiselect menu.
  4719  //
  4720  // [Google Chat apps](https://developers.google.com/workspace/chat):
  4721  type SelectionInput_PlatformDataSource struct {
  4722  	state         protoimpl.MessageState
  4723  	sizeCache     protoimpl.SizeCache
  4724  	unknownFields protoimpl.UnknownFields
  4725  
  4726  	// The data source.
  4727  	//
  4728  	// Types that are assignable to DataSource:
  4729  	//
  4730  	//	*SelectionInput_PlatformDataSource_CommonDataSource_
  4731  	DataSource isSelectionInput_PlatformDataSource_DataSource `protobuf_oneof:"data_source"`
  4732  }
  4733  
  4734  func (x *SelectionInput_PlatformDataSource) Reset() {
  4735  	*x = SelectionInput_PlatformDataSource{}
  4736  	if protoimpl.UnsafeEnabled {
  4737  		mi := &file_google_apps_card_v1_card_proto_msgTypes[29]
  4738  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4739  		ms.StoreMessageInfo(mi)
  4740  	}
  4741  }
  4742  
  4743  func (x *SelectionInput_PlatformDataSource) String() string {
  4744  	return protoimpl.X.MessageStringOf(x)
  4745  }
  4746  
  4747  func (*SelectionInput_PlatformDataSource) ProtoMessage() {}
  4748  
  4749  func (x *SelectionInput_PlatformDataSource) ProtoReflect() protoreflect.Message {
  4750  	mi := &file_google_apps_card_v1_card_proto_msgTypes[29]
  4751  	if protoimpl.UnsafeEnabled && x != nil {
  4752  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4753  		if ms.LoadMessageInfo() == nil {
  4754  			ms.StoreMessageInfo(mi)
  4755  		}
  4756  		return ms
  4757  	}
  4758  	return mi.MessageOf(x)
  4759  }
  4760  
  4761  // Deprecated: Use SelectionInput_PlatformDataSource.ProtoReflect.Descriptor instead.
  4762  func (*SelectionInput_PlatformDataSource) Descriptor() ([]byte, []int) {
  4763  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{9, 1}
  4764  }
  4765  
  4766  func (m *SelectionInput_PlatformDataSource) GetDataSource() isSelectionInput_PlatformDataSource_DataSource {
  4767  	if m != nil {
  4768  		return m.DataSource
  4769  	}
  4770  	return nil
  4771  }
  4772  
  4773  func (x *SelectionInput_PlatformDataSource) GetCommonDataSource() SelectionInput_PlatformDataSource_CommonDataSource {
  4774  	if x, ok := x.GetDataSource().(*SelectionInput_PlatformDataSource_CommonDataSource_); ok {
  4775  		return x.CommonDataSource
  4776  	}
  4777  	return SelectionInput_PlatformDataSource_UNKNOWN
  4778  }
  4779  
  4780  type isSelectionInput_PlatformDataSource_DataSource interface {
  4781  	isSelectionInput_PlatformDataSource_DataSource()
  4782  }
  4783  
  4784  type SelectionInput_PlatformDataSource_CommonDataSource_ struct {
  4785  	// A data source shared by all Google Workspace applications, such as
  4786  	// users in a Google Workspace organization.
  4787  	CommonDataSource SelectionInput_PlatformDataSource_CommonDataSource `protobuf:"varint,1,opt,name=common_data_source,json=commonDataSource,proto3,enum=google.apps.card.v1.SelectionInput_PlatformDataSource_CommonDataSource,oneof"`
  4788  }
  4789  
  4790  func (*SelectionInput_PlatformDataSource_CommonDataSource_) isSelectionInput_PlatformDataSource_DataSource() {
  4791  }
  4792  
  4793  // Represents an item in a grid layout. Items can contain text, an image, or
  4794  // both text and an image.
  4795  //
  4796  // [Google Workspace Add-ons and Chat
  4797  // apps](https://developers.google.com/workspace/extend):
  4798  type Grid_GridItem struct {
  4799  	state         protoimpl.MessageState
  4800  	sizeCache     protoimpl.SizeCache
  4801  	unknownFields protoimpl.UnknownFields
  4802  
  4803  	// A user-specified identifier for this grid item. This identifier is
  4804  	// returned in the parent grid's `onClick` callback parameters.
  4805  	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
  4806  	// The image that displays in the grid item.
  4807  	Image *ImageComponent `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"`
  4808  	// The grid item's title.
  4809  	Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"`
  4810  	// The grid item's subtitle.
  4811  	Subtitle string `protobuf:"bytes,4,opt,name=subtitle,proto3" json:"subtitle,omitempty"`
  4812  	// The layout to use for the grid item.
  4813  	Layout Grid_GridItem_GridItemLayout `protobuf:"varint,9,opt,name=layout,proto3,enum=google.apps.card.v1.Grid_GridItem_GridItemLayout" json:"layout,omitempty"`
  4814  }
  4815  
  4816  func (x *Grid_GridItem) Reset() {
  4817  	*x = Grid_GridItem{}
  4818  	if protoimpl.UnsafeEnabled {
  4819  		mi := &file_google_apps_card_v1_card_proto_msgTypes[30]
  4820  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4821  		ms.StoreMessageInfo(mi)
  4822  	}
  4823  }
  4824  
  4825  func (x *Grid_GridItem) String() string {
  4826  	return protoimpl.X.MessageStringOf(x)
  4827  }
  4828  
  4829  func (*Grid_GridItem) ProtoMessage() {}
  4830  
  4831  func (x *Grid_GridItem) ProtoReflect() protoreflect.Message {
  4832  	mi := &file_google_apps_card_v1_card_proto_msgTypes[30]
  4833  	if protoimpl.UnsafeEnabled && x != nil {
  4834  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4835  		if ms.LoadMessageInfo() == nil {
  4836  			ms.StoreMessageInfo(mi)
  4837  		}
  4838  		return ms
  4839  	}
  4840  	return mi.MessageOf(x)
  4841  }
  4842  
  4843  // Deprecated: Use Grid_GridItem.ProtoReflect.Descriptor instead.
  4844  func (*Grid_GridItem) Descriptor() ([]byte, []int) {
  4845  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{17, 0}
  4846  }
  4847  
  4848  func (x *Grid_GridItem) GetId() string {
  4849  	if x != nil {
  4850  		return x.Id
  4851  	}
  4852  	return ""
  4853  }
  4854  
  4855  func (x *Grid_GridItem) GetImage() *ImageComponent {
  4856  	if x != nil {
  4857  		return x.Image
  4858  	}
  4859  	return nil
  4860  }
  4861  
  4862  func (x *Grid_GridItem) GetTitle() string {
  4863  	if x != nil {
  4864  		return x.Title
  4865  	}
  4866  	return ""
  4867  }
  4868  
  4869  func (x *Grid_GridItem) GetSubtitle() string {
  4870  	if x != nil {
  4871  		return x.Subtitle
  4872  	}
  4873  	return ""
  4874  }
  4875  
  4876  func (x *Grid_GridItem) GetLayout() Grid_GridItem_GridItemLayout {
  4877  	if x != nil {
  4878  		return x.Layout
  4879  	}
  4880  	return Grid_GridItem_GRID_ITEM_LAYOUT_UNSPECIFIED
  4881  }
  4882  
  4883  // A column.
  4884  //
  4885  // [Google Workspace Add-ons and Chat
  4886  // apps](https://developers.google.com/workspace/extend):
  4887  // Columns for Google Workspace Add-ons are in
  4888  // Developer Preview.
  4889  type Columns_Column struct {
  4890  	state         protoimpl.MessageState
  4891  	sizeCache     protoimpl.SizeCache
  4892  	unknownFields protoimpl.UnknownFields
  4893  
  4894  	// Specifies how a column fills the width of the card.
  4895  	HorizontalSizeStyle Columns_Column_HorizontalSizeStyle `protobuf:"varint,1,opt,name=horizontal_size_style,json=horizontalSizeStyle,proto3,enum=google.apps.card.v1.Columns_Column_HorizontalSizeStyle" json:"horizontal_size_style,omitempty"`
  4896  	// Specifies whether widgets align to the left, right, or center of a
  4897  	// column.
  4898  	HorizontalAlignment Widget_HorizontalAlignment `protobuf:"varint,2,opt,name=horizontal_alignment,json=horizontalAlignment,proto3,enum=google.apps.card.v1.Widget_HorizontalAlignment" json:"horizontal_alignment,omitempty"`
  4899  	// Specifies whether widgets align to the top, bottom, or center of a
  4900  	// column.
  4901  	VerticalAlignment Columns_Column_VerticalAlignment `protobuf:"varint,3,opt,name=vertical_alignment,json=verticalAlignment,proto3,enum=google.apps.card.v1.Columns_Column_VerticalAlignment" json:"vertical_alignment,omitempty"`
  4902  	// An array of widgets included in a column. Widgets appear in the order
  4903  	// that they are specified.
  4904  	Widgets []*Columns_Column_Widgets `protobuf:"bytes,4,rep,name=widgets,proto3" json:"widgets,omitempty"`
  4905  }
  4906  
  4907  func (x *Columns_Column) Reset() {
  4908  	*x = Columns_Column{}
  4909  	if protoimpl.UnsafeEnabled {
  4910  		mi := &file_google_apps_card_v1_card_proto_msgTypes[31]
  4911  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4912  		ms.StoreMessageInfo(mi)
  4913  	}
  4914  }
  4915  
  4916  func (x *Columns_Column) String() string {
  4917  	return protoimpl.X.MessageStringOf(x)
  4918  }
  4919  
  4920  func (*Columns_Column) ProtoMessage() {}
  4921  
  4922  func (x *Columns_Column) ProtoReflect() protoreflect.Message {
  4923  	mi := &file_google_apps_card_v1_card_proto_msgTypes[31]
  4924  	if protoimpl.UnsafeEnabled && x != nil {
  4925  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4926  		if ms.LoadMessageInfo() == nil {
  4927  			ms.StoreMessageInfo(mi)
  4928  		}
  4929  		return ms
  4930  	}
  4931  	return mi.MessageOf(x)
  4932  }
  4933  
  4934  // Deprecated: Use Columns_Column.ProtoReflect.Descriptor instead.
  4935  func (*Columns_Column) Descriptor() ([]byte, []int) {
  4936  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{18, 0}
  4937  }
  4938  
  4939  func (x *Columns_Column) GetHorizontalSizeStyle() Columns_Column_HorizontalSizeStyle {
  4940  	if x != nil {
  4941  		return x.HorizontalSizeStyle
  4942  	}
  4943  	return Columns_Column_HORIZONTAL_SIZE_STYLE_UNSPECIFIED
  4944  }
  4945  
  4946  func (x *Columns_Column) GetHorizontalAlignment() Widget_HorizontalAlignment {
  4947  	if x != nil {
  4948  		return x.HorizontalAlignment
  4949  	}
  4950  	return Widget_HORIZONTAL_ALIGNMENT_UNSPECIFIED
  4951  }
  4952  
  4953  func (x *Columns_Column) GetVerticalAlignment() Columns_Column_VerticalAlignment {
  4954  	if x != nil {
  4955  		return x.VerticalAlignment
  4956  	}
  4957  	return Columns_Column_VERTICAL_ALIGNMENT_UNSPECIFIED
  4958  }
  4959  
  4960  func (x *Columns_Column) GetWidgets() []*Columns_Column_Widgets {
  4961  	if x != nil {
  4962  		return x.Widgets
  4963  	}
  4964  	return nil
  4965  }
  4966  
  4967  // The supported widgets that you can include in a column.
  4968  //
  4969  // [Google Workspace Add-ons and Chat
  4970  // apps](https://developers.google.com/workspace/extend):
  4971  // Columns for Google Workspace Add-ons are in
  4972  // Developer Preview.
  4973  type Columns_Column_Widgets struct {
  4974  	state         protoimpl.MessageState
  4975  	sizeCache     protoimpl.SizeCache
  4976  	unknownFields protoimpl.UnknownFields
  4977  
  4978  	// Types that are assignable to Data:
  4979  	//
  4980  	//	*Columns_Column_Widgets_TextParagraph
  4981  	//	*Columns_Column_Widgets_Image
  4982  	//	*Columns_Column_Widgets_DecoratedText
  4983  	//	*Columns_Column_Widgets_ButtonList
  4984  	//	*Columns_Column_Widgets_TextInput
  4985  	//	*Columns_Column_Widgets_SelectionInput
  4986  	//	*Columns_Column_Widgets_DateTimePicker
  4987  	Data isColumns_Column_Widgets_Data `protobuf_oneof:"data"`
  4988  }
  4989  
  4990  func (x *Columns_Column_Widgets) Reset() {
  4991  	*x = Columns_Column_Widgets{}
  4992  	if protoimpl.UnsafeEnabled {
  4993  		mi := &file_google_apps_card_v1_card_proto_msgTypes[32]
  4994  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  4995  		ms.StoreMessageInfo(mi)
  4996  	}
  4997  }
  4998  
  4999  func (x *Columns_Column_Widgets) String() string {
  5000  	return protoimpl.X.MessageStringOf(x)
  5001  }
  5002  
  5003  func (*Columns_Column_Widgets) ProtoMessage() {}
  5004  
  5005  func (x *Columns_Column_Widgets) ProtoReflect() protoreflect.Message {
  5006  	mi := &file_google_apps_card_v1_card_proto_msgTypes[32]
  5007  	if protoimpl.UnsafeEnabled && x != nil {
  5008  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5009  		if ms.LoadMessageInfo() == nil {
  5010  			ms.StoreMessageInfo(mi)
  5011  		}
  5012  		return ms
  5013  	}
  5014  	return mi.MessageOf(x)
  5015  }
  5016  
  5017  // Deprecated: Use Columns_Column_Widgets.ProtoReflect.Descriptor instead.
  5018  func (*Columns_Column_Widgets) Descriptor() ([]byte, []int) {
  5019  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{18, 0, 0}
  5020  }
  5021  
  5022  func (m *Columns_Column_Widgets) GetData() isColumns_Column_Widgets_Data {
  5023  	if m != nil {
  5024  		return m.Data
  5025  	}
  5026  	return nil
  5027  }
  5028  
  5029  func (x *Columns_Column_Widgets) GetTextParagraph() *TextParagraph {
  5030  	if x, ok := x.GetData().(*Columns_Column_Widgets_TextParagraph); ok {
  5031  		return x.TextParagraph
  5032  	}
  5033  	return nil
  5034  }
  5035  
  5036  func (x *Columns_Column_Widgets) GetImage() *Image {
  5037  	if x, ok := x.GetData().(*Columns_Column_Widgets_Image); ok {
  5038  		return x.Image
  5039  	}
  5040  	return nil
  5041  }
  5042  
  5043  func (x *Columns_Column_Widgets) GetDecoratedText() *DecoratedText {
  5044  	if x, ok := x.GetData().(*Columns_Column_Widgets_DecoratedText); ok {
  5045  		return x.DecoratedText
  5046  	}
  5047  	return nil
  5048  }
  5049  
  5050  func (x *Columns_Column_Widgets) GetButtonList() *ButtonList {
  5051  	if x, ok := x.GetData().(*Columns_Column_Widgets_ButtonList); ok {
  5052  		return x.ButtonList
  5053  	}
  5054  	return nil
  5055  }
  5056  
  5057  func (x *Columns_Column_Widgets) GetTextInput() *TextInput {
  5058  	if x, ok := x.GetData().(*Columns_Column_Widgets_TextInput); ok {
  5059  		return x.TextInput
  5060  	}
  5061  	return nil
  5062  }
  5063  
  5064  func (x *Columns_Column_Widgets) GetSelectionInput() *SelectionInput {
  5065  	if x, ok := x.GetData().(*Columns_Column_Widgets_SelectionInput); ok {
  5066  		return x.SelectionInput
  5067  	}
  5068  	return nil
  5069  }
  5070  
  5071  func (x *Columns_Column_Widgets) GetDateTimePicker() *DateTimePicker {
  5072  	if x, ok := x.GetData().(*Columns_Column_Widgets_DateTimePicker); ok {
  5073  		return x.DateTimePicker
  5074  	}
  5075  	return nil
  5076  }
  5077  
  5078  type isColumns_Column_Widgets_Data interface {
  5079  	isColumns_Column_Widgets_Data()
  5080  }
  5081  
  5082  type Columns_Column_Widgets_TextParagraph struct {
  5083  	// [TextParagraph][google.apps.card.v1.TextParagraph] widget.
  5084  	TextParagraph *TextParagraph `protobuf:"bytes,1,opt,name=text_paragraph,json=textParagraph,proto3,oneof"`
  5085  }
  5086  
  5087  type Columns_Column_Widgets_Image struct {
  5088  	// [Image][google.apps.card.v1.Image] widget.
  5089  	Image *Image `protobuf:"bytes,2,opt,name=image,proto3,oneof"`
  5090  }
  5091  
  5092  type Columns_Column_Widgets_DecoratedText struct {
  5093  	// [DecoratedText][google.apps.card.v1.DecoratedText] widget.
  5094  	DecoratedText *DecoratedText `protobuf:"bytes,3,opt,name=decorated_text,json=decoratedText,proto3,oneof"`
  5095  }
  5096  
  5097  type Columns_Column_Widgets_ButtonList struct {
  5098  	// [ButtonList][google.apps.card.v1.ButtonList] widget.
  5099  	ButtonList *ButtonList `protobuf:"bytes,4,opt,name=button_list,json=buttonList,proto3,oneof"`
  5100  }
  5101  
  5102  type Columns_Column_Widgets_TextInput struct {
  5103  	// [TextInput][google.apps.card.v1.TextInput] widget.
  5104  	TextInput *TextInput `protobuf:"bytes,5,opt,name=text_input,json=textInput,proto3,oneof"`
  5105  }
  5106  
  5107  type Columns_Column_Widgets_SelectionInput struct {
  5108  	// [SelectionInput][google.apps.card.v1.SelectionInput] widget.
  5109  	SelectionInput *SelectionInput `protobuf:"bytes,6,opt,name=selection_input,json=selectionInput,proto3,oneof"`
  5110  }
  5111  
  5112  type Columns_Column_Widgets_DateTimePicker struct {
  5113  	// [DateTimePicker][google.apps.card.v1.DateTimePicker] widget.
  5114  	DateTimePicker *DateTimePicker `protobuf:"bytes,7,opt,name=date_time_picker,json=dateTimePicker,proto3,oneof"`
  5115  }
  5116  
  5117  func (*Columns_Column_Widgets_TextParagraph) isColumns_Column_Widgets_Data() {}
  5118  
  5119  func (*Columns_Column_Widgets_Image) isColumns_Column_Widgets_Data() {}
  5120  
  5121  func (*Columns_Column_Widgets_DecoratedText) isColumns_Column_Widgets_Data() {}
  5122  
  5123  func (*Columns_Column_Widgets_ButtonList) isColumns_Column_Widgets_Data() {}
  5124  
  5125  func (*Columns_Column_Widgets_TextInput) isColumns_Column_Widgets_Data() {}
  5126  
  5127  func (*Columns_Column_Widgets_SelectionInput) isColumns_Column_Widgets_Data() {}
  5128  
  5129  func (*Columns_Column_Widgets_DateTimePicker) isColumns_Column_Widgets_Data() {}
  5130  
  5131  // List of string parameters to supply when the action method is invoked.
  5132  // For example, consider three snooze buttons: snooze now, snooze one day,
  5133  // or snooze next week. You might use `action method = snooze()`, passing the
  5134  // snooze type and snooze time in the list of string parameters.
  5135  //
  5136  // To learn more, see
  5137  // [`CommonEventObject`](https://developers.google.com/workspace/chat/api/reference/rest/v1/Event#commoneventobject).
  5138  //
  5139  // [Google Workspace Add-ons and Chat
  5140  // apps](https://developers.google.com/workspace/extend):
  5141  type Action_ActionParameter struct {
  5142  	state         protoimpl.MessageState
  5143  	sizeCache     protoimpl.SizeCache
  5144  	unknownFields protoimpl.UnknownFields
  5145  
  5146  	// The name of the parameter for the action script.
  5147  	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
  5148  	// The value of the parameter.
  5149  	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
  5150  }
  5151  
  5152  func (x *Action_ActionParameter) Reset() {
  5153  	*x = Action_ActionParameter{}
  5154  	if protoimpl.UnsafeEnabled {
  5155  		mi := &file_google_apps_card_v1_card_proto_msgTypes[33]
  5156  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5157  		ms.StoreMessageInfo(mi)
  5158  	}
  5159  }
  5160  
  5161  func (x *Action_ActionParameter) String() string {
  5162  	return protoimpl.X.MessageStringOf(x)
  5163  }
  5164  
  5165  func (*Action_ActionParameter) ProtoMessage() {}
  5166  
  5167  func (x *Action_ActionParameter) ProtoReflect() protoreflect.Message {
  5168  	mi := &file_google_apps_card_v1_card_proto_msgTypes[33]
  5169  	if protoimpl.UnsafeEnabled && x != nil {
  5170  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  5171  		if ms.LoadMessageInfo() == nil {
  5172  			ms.StoreMessageInfo(mi)
  5173  		}
  5174  		return ms
  5175  	}
  5176  	return mi.MessageOf(x)
  5177  }
  5178  
  5179  // Deprecated: Use Action_ActionParameter.ProtoReflect.Descriptor instead.
  5180  func (*Action_ActionParameter) Descriptor() ([]byte, []int) {
  5181  	return file_google_apps_card_v1_card_proto_rawDescGZIP(), []int{21, 0}
  5182  }
  5183  
  5184  func (x *Action_ActionParameter) GetKey() string {
  5185  	if x != nil {
  5186  		return x.Key
  5187  	}
  5188  	return ""
  5189  }
  5190  
  5191  func (x *Action_ActionParameter) GetValue() string {
  5192  	if x != nil {
  5193  		return x.Value
  5194  	}
  5195  	return ""
  5196  }
  5197  
  5198  var File_google_apps_card_v1_card_proto protoreflect.FileDescriptor
  5199  
  5200  var file_google_apps_card_v1_card_proto_rawDesc = []byte{
  5201  	0x0a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x63, 0x61,
  5202  	0x72, 0x64, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  5203  	0x12, 0x13, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61,
  5204  	0x72, 0x64, 0x2e, 0x76, 0x31, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79,
  5205  	0x70, 0x65, 0x2f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd0,
  5206  	0x0a, 0x0a, 0x04, 0x43, 0x61, 0x72, 0x64, 0x12, 0x3c, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65,
  5207  	0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5208  	0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61,
  5209  	0x72, 0x64, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x06, 0x68,
  5210  	0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x08, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  5211  	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5212  	0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61,
  5213  	0x72, 0x64, 0x2e, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x73, 0x65, 0x63, 0x74,
  5214  	0x69, 0x6f, 0x6e, 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
  5215  	0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x09, 0x20,
  5216  	0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70,
  5217  	0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x2e, 0x44,
  5218  	0x69, 0x76, 0x69, 0x64, 0x65, 0x72, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x52, 0x13, 0x73, 0x65, 0x63,
  5219  	0x74, 0x69, 0x6f, 0x6e, 0x44, 0x69, 0x76, 0x69, 0x64, 0x65, 0x72, 0x53, 0x74, 0x79, 0x6c, 0x65,
  5220  	0x12, 0x47, 0x0a, 0x0c, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73,
  5221  	0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  5222  	0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x72,
  5223  	0x64, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x63, 0x61,
  5224  	0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
  5225  	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a,
  5226  	0x0c, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20,
  5227  	0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70,
  5228  	0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x2e, 0x43,
  5229  	0x61, 0x72, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x46, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x52, 0x0b,
  5230  	0x66, 0x69, 0x78, 0x65, 0x64, 0x46, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x0d, 0x64,
  5231  	0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01,
  5232  	0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73,
  5233  	0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x2e, 0x44, 0x69,
  5234  	0x73, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x70,
  5235  	0x6c, 0x61, 0x79, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x4e, 0x0a, 0x10, 0x70, 0x65, 0x65, 0x6b,
  5236  	0x5f, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01,
  5237  	0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73,
  5238  	0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x2e, 0x43, 0x61,
  5239  	0x72, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x0e, 0x70, 0x65, 0x65, 0x6b, 0x43, 0x61,
  5240  	0x72, 0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x1a, 0xc7, 0x01, 0x0a, 0x0a, 0x43, 0x61, 0x72,
  5241  	0x64, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65,
  5242  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a,
  5243  	0x08, 0x73, 0x75, 0x62, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
  5244  	0x08, 0x73, 0x75, 0x62, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x69, 0x6d, 0x61,
  5245  	0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e,
  5246  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64,
  5247  	0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65,
  5248  	0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12,
  5249  	0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01,
  5250  	0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x24, 0x0a, 0x0e,
  5251  	0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x61, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x05,
  5252  	0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x41, 0x6c, 0x74, 0x54, 0x65,
  5253  	0x78, 0x74, 0x1a, 0xba, 0x01, 0x0a, 0x07, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16,
  5254  	0x0a, 0x06, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
  5255  	0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x35, 0x0a, 0x07, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74,
  5256  	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5257  	0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69,
  5258  	0x64, 0x67, 0x65, 0x74, 0x52, 0x07, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x73, 0x12, 0x20, 0x0a,
  5259  	0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01,
  5260  	0x28, 0x08, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x12,
  5261  	0x3e, 0x0a, 0x1b, 0x75, 0x6e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x69, 0x62, 0x6c, 0x65,
  5262  	0x5f, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06,
  5263  	0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x75, 0x6e, 0x63, 0x6f, 0x6c, 0x6c, 0x61, 0x70, 0x73, 0x69,
  5264  	0x62, 0x6c, 0x65, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a,
  5265  	0x68, 0x0a, 0x0a, 0x43, 0x61, 0x72, 0x64, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a,
  5266  	0x0c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x01, 0x20,
  5267  	0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c,
  5268  	0x12, 0x37, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01,
  5269  	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73,
  5270  	0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x6e, 0x43, 0x6c, 0x69, 0x63, 0x6b,
  5271  	0x52, 0x07, 0x6f, 0x6e, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x1a, 0x9d, 0x01, 0x0a, 0x0f, 0x43, 0x61,
  5272  	0x72, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x46, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x12, 0x42, 0x0a,
  5273  	0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x18,
  5274  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  5275  	0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x74, 0x74,
  5276  	0x6f, 0x6e, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x42, 0x75, 0x74, 0x74, 0x6f,
  5277  	0x6e, 0x12, 0x46, 0x0a, 0x10, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x62,
  5278  	0x75, 0x74, 0x74, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f,
  5279  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76,
  5280  	0x31, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x0f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64,
  5281  	0x61, 0x72, 0x79, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x50, 0x0a, 0x0c, 0x44, 0x69, 0x76,
  5282  	0x69, 0x64, 0x65, 0x72, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x49, 0x56,
  5283  	0x49, 0x44, 0x45, 0x52, 0x5f, 0x53, 0x54, 0x59, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
  5284  	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x4f, 0x4c, 0x49,
  5285  	0x44, 0x5f, 0x44, 0x49, 0x56, 0x49, 0x44, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x4e,
  5286  	0x4f, 0x5f, 0x44, 0x49, 0x56, 0x49, 0x44, 0x45, 0x52, 0x10, 0x02, 0x22, 0x44, 0x0a, 0x0c, 0x44,
  5287  	0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x44,
  5288  	0x49, 0x53, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x53, 0x54, 0x59, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53,
  5289  	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x45,
  5290  	0x45, 0x4b, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x43, 0x45, 0x10,
  5291  	0x02, 0x22, 0x8f, 0x07, 0x0a, 0x06, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x12, 0x4b, 0x0a, 0x0e,
  5292  	0x74, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, 0x01,
  5293  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
  5294  	0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x50,
  5295  	0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x48, 0x00, 0x52, 0x0d, 0x74, 0x65, 0x78, 0x74,
  5296  	0x50, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x6d, 0x61,
  5297  	0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  5298  	0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49,
  5299  	0x6d, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x4b, 0x0a,
  5300  	0x0e, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18,
  5301  	0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  5302  	0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x6f,
  5303  	0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x65, 0x63,
  5304  	0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x12, 0x42, 0x0a, 0x0b, 0x62, 0x75,
  5305  	0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
  5306  	0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61,
  5307  	0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74,
  5308  	0x48, 0x00, 0x52, 0x0a, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x3f,
  5309  	0x0a, 0x0a, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01,
  5310  	0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73,
  5311  	0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x70,
  5312  	0x75, 0x74, 0x48, 0x00, 0x52, 0x09, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12,
  5313  	0x4e, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x70,
  5314  	0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  5315  	0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53,
  5316  	0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52,
  5317  	0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12,
  5318  	0x4f, 0x0a, 0x10, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x69, 0x63,
  5319  	0x6b, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5320  	0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e,
  5321  	0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x48, 0x00,
  5322  	0x52, 0x0e, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x69, 0x63, 0x6b, 0x65, 0x72,
  5323  	0x12, 0x38, 0x0a, 0x07, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28,
  5324  	0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e,
  5325  	0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x76, 0x69, 0x64, 0x65, 0x72, 0x48,
  5326  	0x00, 0x52, 0x07, 0x64, 0x69, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x04, 0x67, 0x72,
  5327  	0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  5328  	0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47,
  5329  	0x72, 0x69, 0x64, 0x48, 0x00, 0x52, 0x04, 0x67, 0x72, 0x69, 0x64, 0x12, 0x38, 0x0a, 0x07, 0x63,
  5330  	0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67,
  5331  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e,
  5332  	0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f,
  5333  	0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x62, 0x0a, 0x14, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e,
  5334  	0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x08, 0x20,
  5335  	0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70,
  5336  	0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74,
  5337  	0x2e, 0x48, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x41, 0x6c, 0x69, 0x67, 0x6e,
  5338  	0x6d, 0x65, 0x6e, 0x74, 0x52, 0x13, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c,
  5339  	0x41, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x23, 0x0a, 0x09, 0x49, 0x6d, 0x61,
  5340  	0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x51, 0x55, 0x41, 0x52, 0x45,
  5341  	0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x49, 0x52, 0x43, 0x4c, 0x45, 0x10, 0x01, 0x22, 0x5b,
  5342  	0x0a, 0x13, 0x48, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x41, 0x6c, 0x69, 0x67,
  5343  	0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x20, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x4f, 0x4e,
  5344  	0x54, 0x41, 0x4c, 0x5f, 0x41, 0x4c, 0x49, 0x47, 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e,
  5345  	0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x53,
  5346  	0x54, 0x41, 0x52, 0x54, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52,
  5347  	0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x4e, 0x44, 0x10, 0x03, 0x42, 0x06, 0x0a, 0x04, 0x64,
  5348  	0x61, 0x74, 0x61, 0x22, 0x23, 0x0a, 0x0d, 0x54, 0x65, 0x78, 0x74, 0x50, 0x61, 0x72, 0x61, 0x67,
  5349  	0x72, 0x61, 0x70, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01,
  5350  	0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0x78, 0x0a, 0x05, 0x49, 0x6d, 0x61, 0x67,
  5351  	0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01,
  5352  	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x37,
  5353  	0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
  5354  	0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63,
  5355  	0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x6e, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x52, 0x07,
  5356  	0x6f, 0x6e, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x6c, 0x74, 0x5f, 0x74,
  5357  	0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x6c, 0x74, 0x54, 0x65,
  5358  	0x78, 0x74, 0x22, 0x09, 0x0a, 0x07, 0x44, 0x69, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0xb3, 0x06,
  5359  	0x0a, 0x0d, 0x44, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x12,
  5360  	0x31, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
  5361  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64,
  5362  	0x2e, 0x76, 0x31, 0x2e, 0x49, 0x63, 0x6f, 0x6e, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x69, 0x63,
  5363  	0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x69, 0x63, 0x6f, 0x6e,
  5364  	0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  5365  	0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x63, 0x6f,
  5366  	0x6e, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09,
  5367  	0x74, 0x6f, 0x70, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
  5368  	0x08, 0x74, 0x6f, 0x70, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78,
  5369  	0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x1b, 0x0a,
  5370  	0x09, 0x77, 0x72, 0x61, 0x70, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08,
  5371  	0x52, 0x08, 0x77, 0x72, 0x61, 0x70, 0x54, 0x65, 0x78, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x6f,
  5372  	0x74, 0x74, 0x6f, 0x6d, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
  5373  	0x52, 0x0b, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x37, 0x0a,
  5374  	0x08, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
  5375  	0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61,
  5376  	0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x6e, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x52, 0x07, 0x6f,
  5377  	0x6e, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x12, 0x35, 0x0a, 0x06, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e,
  5378  	0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  5379  	0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x74,
  5380  	0x74, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x59, 0x0a,
  5381  	0x0e, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18,
  5382  	0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  5383  	0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x6f,
  5384  	0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x2e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68,
  5385  	0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x77, 0x69, 0x74, 0x63,
  5386  	0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x36, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f,
  5387  	0x69, 0x63, 0x6f, 0x6e, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,
  5388  	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31,
  5389  	0x2e, 0x49, 0x63, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x49, 0x63, 0x6f, 0x6e,
  5390  	0x1a, 0xb5, 0x02, 0x0a, 0x0d, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x74, 0x72,
  5391  	0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  5392  	0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
  5393  	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08,
  5394  	0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08,
  5395  	0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x45, 0x0a, 0x10, 0x6f, 0x6e, 0x5f, 0x63,
  5396  	0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
  5397  	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73,
  5398  	0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
  5399  	0x0e, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12,
  5400  	0x5f, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18,
  5401  	0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  5402  	0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63, 0x6f,
  5403  	0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x2e, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68,
  5404  	0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x54,
  5405  	0x79, 0x70, 0x65, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65,
  5406  	0x22, 0x36, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12,
  5407  	0x0a, 0x0a, 0x06, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43,
  5408  	0x48, 0x45, 0x43, 0x4b, 0x42, 0x4f, 0x58, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x48, 0x45,
  5409  	0x43, 0x4b, 0x5f, 0x42, 0x4f, 0x58, 0x10, 0x02, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74,
  5410  	0x72, 0x6f, 0x6c, 0x22, 0xe1, 0x03, 0x0a, 0x09, 0x54, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x70, 0x75,
  5411  	0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  5412  	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02,
  5413  	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x68,
  5414  	0x69, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
  5415  	0x68, 0x69, 0x6e, 0x74, 0x54, 0x65, 0x78, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
  5416  	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x37,
  5417  	0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67,
  5418  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e,
  5419  	0x76, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x54, 0x79, 0x70,
  5420  	0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x45, 0x0a, 0x10, 0x6f, 0x6e, 0x5f, 0x63, 0x68,
  5421  	0x61, 0x6e, 0x67, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28,
  5422  	0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e,
  5423  	0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e,
  5424  	0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x51,
  5425  	0x0a, 0x13, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73,
  5426  	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f,
  5427  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76,
  5428  	0x31, 0x2e, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x12, 0x69,
  5429  	0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e,
  5430  	0x73, 0x12, 0x4d, 0x0a, 0x14, 0x61, 0x75, 0x74, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
  5431  	0x74, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
  5432  	0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61,
  5433  	0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x61, 0x75,
  5434  	0x74, 0x6f, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  5435  	0x12, 0x29, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f,
  5436  	0x74, 0x65, 0x78, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x63,
  5437  	0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x54, 0x65, 0x78, 0x74, 0x22, 0x2a, 0x0a, 0x04, 0x54,
  5438  	0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x4c, 0x49,
  5439  	0x4e, 0x45, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x50, 0x4c, 0x45,
  5440  	0x5f, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x22, 0x87, 0x01, 0x0a, 0x0b, 0x53, 0x75, 0x67, 0x67,
  5441  	0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x45, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73,
  5442  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  5443  	0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x67,
  5444  	0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74,
  5445  	0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0x31,
  5446  	0x0a, 0x0e, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d,
  5447  	0x12, 0x14, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
  5448  	0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
  5449  	0x74, 0x22, 0x43, 0x0a, 0x0a, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12,
  5450  	0x35, 0x0a, 0x07, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
  5451  	0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63,
  5452  	0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x52, 0x07, 0x62,
  5453  	0x75, 0x74, 0x74, 0x6f, 0x6e, 0x73, 0x22, 0xb9, 0x08, 0x0a, 0x0e, 0x53, 0x65, 0x6c, 0x65, 0x63,
  5454  	0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
  5455  	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a,
  5456  	0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61,
  5457  	0x62, 0x65, 0x6c, 0x12, 0x45, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
  5458  	0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e,
  5459  	0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
  5460  	0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  5461  	0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x47, 0x0a, 0x05, 0x69, 0x74,
  5462  	0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5463  	0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e,
  5464  	0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x53,
  5465  	0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74,
  5466  	0x65, 0x6d, 0x73, 0x12, 0x45, 0x0a, 0x10, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65,
  5467  	0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
  5468  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64,
  5469  	0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x6f, 0x6e, 0x43, 0x68,
  5470  	0x61, 0x6e, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x1f, 0x6d, 0x75,
  5471  	0x6c, 0x74, 0x69, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73,
  5472  	0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x06, 0x20,
  5473  	0x01, 0x28, 0x05, 0x52, 0x1b, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74,
  5474  	0x4d, 0x61, 0x78, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x73,
  5475  	0x12, 0x40, 0x0a, 0x1d, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74,
  5476  	0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74,
  5477  	0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x53, 0x65,
  5478  	0x6c, 0x65, 0x63, 0x74, 0x4d, 0x69, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4c, 0x65, 0x6e, 0x67,
  5479  	0x74, 0x68, 0x12, 0x4f, 0x0a, 0x14, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64,
  5480  	0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
  5481  	0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63,
  5482  	0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52,
  5483  	0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75,
  5484  	0x72, 0x63, 0x65, 0x12, 0x6a, 0x0a, 0x14, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f,
  5485  	0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28,
  5486  	0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e,
  5487  	0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
  5488  	0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44,
  5489  	0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x12, 0x70, 0x6c, 0x61,
  5490  	0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x1a,
  5491  	0x9c, 0x01, 0x0a, 0x0d, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x74, 0x65,
  5492  	0x6d, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  5493  	0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
  5494  	0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73,
  5495  	0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73,
  5496  	0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74,
  5497  	0x5f, 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
  5498  	0x0c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x49, 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x69, 0x12, 0x1f, 0x0a,
  5499  	0x0b, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x05, 0x20, 0x01,
  5500  	0x28, 0x09, 0x52, 0x0a, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x54, 0x65, 0x78, 0x74, 0x1a, 0xc7,
  5501  	0x01, 0x0a, 0x12, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x53,
  5502  	0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x77, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f,
  5503  	0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
  5504  	0x0e, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e,
  5505  	0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f,
  5506  	0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44,
  5507  	0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
  5508  	0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x10, 0x63, 0x6f,
  5509  	0x6d, 0x6d, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x29,
  5510  	0x0a, 0x10, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 0x75, 0x72,
  5511  	0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12,
  5512  	0x08, 0x0a, 0x04, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x64, 0x61, 0x74,
  5513  	0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x5c, 0x0a, 0x0d, 0x53, 0x65, 0x6c, 0x65,
  5514  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x48, 0x45,
  5515  	0x43, 0x4b, 0x5f, 0x42, 0x4f, 0x58, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x41, 0x44, 0x49,
  5516  	0x4f, 0x5f, 0x42, 0x55, 0x54, 0x54, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x57,
  5517  	0x49, 0x54, 0x43, 0x48, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x52, 0x4f, 0x50, 0x44, 0x4f,
  5518  	0x57, 0x4e, 0x10, 0x03, 0x12, 0x10, 0x0a, 0x0c, 0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x53, 0x45,
  5519  	0x4c, 0x45, 0x43, 0x54, 0x10, 0x04, 0x42, 0x1a, 0x0a, 0x18, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f,
  5520  	0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x6f, 0x75, 0x72,
  5521  	0x63, 0x65, 0x22, 0xec, 0x02, 0x0a, 0x0e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x50,
  5522  	0x69, 0x63, 0x6b, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
  5523  	0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62,
  5524  	0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12,
  5525  	0x4a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e,
  5526  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64,
  5527  	0x2e, 0x76, 0x31, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x69, 0x63, 0x6b,
  5528  	0x65, 0x72, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x69, 0x63, 0x6b, 0x65,
  5529  	0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x76,
  5530  	0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6d, 0x73, 0x5f, 0x65, 0x70, 0x6f, 0x63, 0x68, 0x18, 0x04, 0x20,
  5531  	0x01, 0x28, 0x03, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4d, 0x73, 0x45, 0x70, 0x6f, 0x63,
  5532  	0x68, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x6f, 0x66,
  5533  	0x66, 0x73, 0x65, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52,
  5534  	0x12, 0x74, 0x69, 0x6d, 0x65, 0x7a, 0x6f, 0x6e, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x44,
  5535  	0x61, 0x74, 0x65, 0x12, 0x45, 0x0a, 0x10, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65,
  5536  	0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
  5537  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64,
  5538  	0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x6f, 0x6e, 0x43, 0x68,
  5539  	0x61, 0x6e, 0x67, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x45, 0x0a, 0x12, 0x44, 0x61,
  5540  	0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65,
  5541  	0x12, 0x11, 0x0a, 0x0d, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x54, 0x49, 0x4d,
  5542  	0x45, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x59,
  5543  	0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10,
  5544  	0x02, 0x22, 0xe5, 0x01, 0x0a, 0x06, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04,
  5545  	0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74,
  5546  	0x12, 0x2d, 0x0a, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19,
  5547  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72,
  5548  	0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x63, 0x6f, 0x6e, 0x52, 0x04, 0x69, 0x63, 0x6f, 0x6e, 0x12,
  5549  	0x28, 0x0a, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
  5550  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x43, 0x6f, 0x6c,
  5551  	0x6f, 0x72, 0x52, 0x05, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x12, 0x37, 0x0a, 0x08, 0x6f, 0x6e, 0x5f,
  5552  	0x63, 0x6c, 0x69, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f,
  5553  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76,
  5554  	0x31, 0x2e, 0x4f, 0x6e, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x52, 0x07, 0x6f, 0x6e, 0x43, 0x6c, 0x69,
  5555  	0x63, 0x6b, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05,
  5556  	0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x19,
  5557  	0x0a, 0x08, 0x61, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09,
  5558  	0x52, 0x07, 0x61, 0x6c, 0x74, 0x54, 0x65, 0x78, 0x74, 0x22, 0xf8, 0x01, 0x0a, 0x04, 0x49, 0x63,
  5559  	0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0a, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x69, 0x63, 0x6f, 0x6e,
  5560  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x49,
  5561  	0x63, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x08, 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18,
  5562  	0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x07, 0x69, 0x63, 0x6f, 0x6e, 0x55, 0x72, 0x6c,
  5563  	0x12, 0x48, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x69, 0x63, 0x6f,
  5564  	0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5565  	0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x61,
  5566  	0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x63, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x61,
  5567  	0x74, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x49, 0x63, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x6c,
  5568  	0x74, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x6c,
  5569  	0x74, 0x54, 0x65, 0x78, 0x74, 0x12, 0x44, 0x0a, 0x0a, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x74,
  5570  	0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5571  	0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e,
  5572  	0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65,
  5573  	0x52, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x69,
  5574  	0x63, 0x6f, 0x6e, 0x73, 0x22, 0x64, 0x0a, 0x0c, 0x4d, 0x61, 0x74, 0x65, 0x72, 0x69, 0x61, 0x6c,
  5575  	0x49, 0x63, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
  5576  	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x6c,
  5577  	0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x6c, 0x12, 0x16, 0x0a, 0x06,
  5578  	0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x77, 0x65,
  5579  	0x69, 0x67, 0x68, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x04, 0x20,
  5580  	0x01, 0x28, 0x05, 0x52, 0x05, 0x67, 0x72, 0x61, 0x64, 0x65, 0x22, 0xed, 0x01, 0x0a, 0x0e, 0x49,
  5581  	0x6d, 0x61, 0x67, 0x65, 0x43, 0x72, 0x6f, 0x70, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x45, 0x0a,
  5582  	0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f,
  5583  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76,
  5584  	0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x72, 0x6f, 0x70, 0x53, 0x74, 0x79, 0x6c, 0x65,
  5585  	0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x72, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04,
  5586  	0x74, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x73, 0x70, 0x65, 0x63, 0x74, 0x5f, 0x72,
  5587  	0x61, 0x74, 0x69, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x61, 0x73, 0x70, 0x65,
  5588  	0x63, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x22, 0x71, 0x0a, 0x0d, 0x49, 0x6d, 0x61, 0x67, 0x65,
  5589  	0x43, 0x72, 0x6f, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x49, 0x4d, 0x41, 0x47,
  5590  	0x45, 0x5f, 0x43, 0x52, 0x4f, 0x50, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50,
  5591  	0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x51, 0x55,
  5592  	0x41, 0x52, 0x45, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x49, 0x52, 0x43, 0x4c, 0x45, 0x10,
  5593  	0x02, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x45, 0x43, 0x54, 0x41, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x43,
  5594  	0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x52, 0x45, 0x43, 0x54, 0x41,
  5595  	0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x34, 0x5f, 0x33, 0x10, 0x04, 0x22, 0xf0, 0x01, 0x0a, 0x0b, 0x42,
  5596  	0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x3f, 0x0a, 0x04, 0x74, 0x79,
  5597  	0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
  5598  	0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42,
  5599  	0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x2e, 0x42, 0x6f, 0x72, 0x64, 0x65,
  5600  	0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x35, 0x0a, 0x0c, 0x73,
  5601  	0x74, 0x72, 0x6f, 0x6b, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
  5602  	0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e,
  5603  	0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x43, 0x6f, 0x6c,
  5604  	0x6f, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x72, 0x6e, 0x65, 0x72, 0x5f, 0x72, 0x61, 0x64,
  5605  	0x69, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x72, 0x6e, 0x65,
  5606  	0x72, 0x52, 0x61, 0x64, 0x69, 0x75, 0x73, 0x22, 0x44, 0x0a, 0x0a, 0x42, 0x6f, 0x72, 0x64, 0x65,
  5607  	0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x42, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f,
  5608  	0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
  5609  	0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x5f, 0x42, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x10,
  5610  	0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x4f, 0x4b, 0x45, 0x10, 0x02, 0x22, 0xd1, 0x01,
  5611  	0x0a, 0x0e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74,
  5612  	0x12, 0x1b, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20,
  5613  	0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x12, 0x19, 0x0a,
  5614  	0x08, 0x61, 0x6c, 0x74, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
  5615  	0x07, 0x61, 0x6c, 0x74, 0x54, 0x65, 0x78, 0x74, 0x12, 0x42, 0x0a, 0x0a, 0x63, 0x72, 0x6f, 0x70,
  5616  	0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67,
  5617  	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e,
  5618  	0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x43, 0x72, 0x6f, 0x70, 0x53, 0x74, 0x79, 0x6c,
  5619  	0x65, 0x52, 0x09, 0x63, 0x72, 0x6f, 0x70, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x0c,
  5620  	0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01,
  5621  	0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73,
  5622  	0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53,
  5623  	0x74, 0x79, 0x6c, 0x65, 0x52, 0x0b, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x79, 0x6c,
  5624  	0x65, 0x22, 0xa0, 0x04, 0x0a, 0x04, 0x47, 0x72, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69,
  5625  	0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65,
  5626  	0x12, 0x38, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
  5627  	0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61,
  5628  	0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x69, 0x64, 0x2e, 0x47, 0x72, 0x69, 0x64, 0x49,
  5629  	0x74, 0x65, 0x6d, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x43, 0x0a, 0x0c, 0x62, 0x6f,
  5630  	0x72, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
  5631  	0x32, 0x20, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63,
  5632  	0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x79,
  5633  	0x6c, 0x65, 0x52, 0x0b, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x12,
  5634  	0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
  5635  	0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x43, 0x6f, 0x75,
  5636  	0x6e, 0x74, 0x12, 0x37, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x18, 0x05,
  5637  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
  5638  	0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x6e, 0x43, 0x6c, 0x69,
  5639  	0x63, 0x6b, 0x52, 0x07, 0x6f, 0x6e, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x1a, 0xa6, 0x02, 0x0a, 0x08,
  5640  	0x47, 0x72, 0x69, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
  5641  	0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x39, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67,
  5642  	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
  5643  	0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d,
  5644  	0x61, 0x67, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x69, 0x6d,
  5645  	0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01,
  5646  	0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x75, 0x62,
  5647  	0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x75, 0x62,
  5648  	0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x49, 0x0a, 0x06, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18,
  5649  	0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  5650  	0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x72, 0x69, 0x64,
  5651  	0x2e, 0x47, 0x72, 0x69, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x2e, 0x47, 0x72, 0x69, 0x64, 0x49, 0x74,
  5652  	0x65, 0x6d, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74,
  5653  	0x22, 0x52, 0x0a, 0x0e, 0x47, 0x72, 0x69, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x61, 0x79, 0x6f,
  5654  	0x75, 0x74, 0x12, 0x20, 0x0a, 0x1c, 0x47, 0x52, 0x49, 0x44, 0x5f, 0x49, 0x54, 0x45, 0x4d, 0x5f,
  5655  	0x4c, 0x41, 0x59, 0x4f, 0x55, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49,
  5656  	0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x42, 0x45, 0x4c,
  5657  	0x4f, 0x57, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x45, 0x58, 0x54, 0x5f, 0x41, 0x42, 0x4f,
  5658  	0x56, 0x45, 0x10, 0x02, 0x22, 0xac, 0x09, 0x0a, 0x07, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73,
  5659  	0x12, 0x46, 0x0a, 0x0c, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73,
  5660  	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  5661  	0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c,
  5662  	0x75, 0x6d, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0b, 0x63, 0x6f, 0x6c,
  5663  	0x75, 0x6d, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x1a, 0xd8, 0x08, 0x0a, 0x06, 0x43, 0x6f, 0x6c,
  5664  	0x75, 0x6d, 0x6e, 0x12, 0x6b, 0x0a, 0x15, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61,
  5665  	0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01,
  5666  	0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73,
  5667  	0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73,
  5668  	0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x2e, 0x48, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74,
  5669  	0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x52, 0x13, 0x68, 0x6f, 0x72,
  5670  	0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x53, 0x74, 0x79, 0x6c, 0x65,
  5671  	0x12, 0x62, 0x0a, 0x14, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x5f, 0x61,
  5672  	0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f,
  5673  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72,
  5674  	0x64, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x2e, 0x48, 0x6f, 0x72, 0x69,
  5675  	0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52,
  5676  	0x13, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x41, 0x6c, 0x69, 0x67, 0x6e,
  5677  	0x6d, 0x65, 0x6e, 0x74, 0x12, 0x64, 0x0a, 0x12, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c,
  5678  	0x5f, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e,
  5679  	0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63,
  5680  	0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x2e, 0x43,
  5681  	0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x2e, 0x56, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x41, 0x6c,
  5682  	0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x11, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61,
  5683  	0x6c, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x07, 0x77, 0x69,
  5684  	0x64, 0x67, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f,
  5685  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76,
  5686  	0x31, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
  5687  	0x2e, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x73, 0x52, 0x07, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74,
  5688  	0x73, 0x1a, 0x85, 0x04, 0x0a, 0x07, 0x57, 0x69, 0x64, 0x67, 0x65, 0x74, 0x73, 0x12, 0x4b, 0x0a,
  5689  	0x0e, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x18,
  5690  	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  5691  	0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74,
  5692  	0x50, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x48, 0x00, 0x52, 0x0d, 0x74, 0x65, 0x78,
  5693  	0x74, 0x50, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x32, 0x0a, 0x05, 0x69, 0x6d,
  5694  	0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5695  	0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e,
  5696  	0x49, 0x6d, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x4b,
  5697  	0x0a, 0x0e, 0x64, 0x65, 0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x65, 0x78, 0x74,
  5698  	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  5699  	0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x63,
  5700  	0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x48, 0x00, 0x52, 0x0d, 0x64, 0x65,
  5701  	0x63, 0x6f, 0x72, 0x61, 0x74, 0x65, 0x64, 0x54, 0x65, 0x78, 0x74, 0x12, 0x42, 0x0a, 0x0b, 0x62,
  5702  	0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
  5703  	0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63,
  5704  	0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x4c, 0x69, 0x73,
  5705  	0x74, 0x48, 0x00, 0x52, 0x0a, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12,
  5706  	0x3f, 0x0a, 0x0a, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x05, 0x20,
  5707  	0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70,
  5708  	0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x49, 0x6e,
  5709  	0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x09, 0x74, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74,
  5710  	0x12, 0x4e, 0x0a, 0x0f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e,
  5711  	0x70, 0x75, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5712  	0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e,
  5713  	0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00,
  5714  	0x52, 0x0e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74,
  5715  	0x12, 0x4f, 0x0a, 0x10, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x70, 0x69,
  5716  	0x63, 0x6b, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f,
  5717  	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31,
  5718  	0x2e, 0x44, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x69, 0x63, 0x6b, 0x65, 0x72, 0x48,
  5719  	0x00, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x69, 0x63, 0x6b, 0x65,
  5720  	0x72, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x6e, 0x0a, 0x13, 0x48, 0x6f, 0x72,
  5721  	0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x53, 0x74, 0x79, 0x6c, 0x65,
  5722  	0x12, 0x25, 0x0a, 0x21, 0x48, 0x4f, 0x52, 0x49, 0x5a, 0x4f, 0x4e, 0x54, 0x41, 0x4c, 0x5f, 0x53,
  5723  	0x49, 0x5a, 0x45, 0x5f, 0x53, 0x54, 0x59, 0x4c, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
  5724  	0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x49, 0x4c, 0x4c, 0x5f,
  5725  	0x41, 0x56, 0x41, 0x49, 0x4c, 0x41, 0x42, 0x4c, 0x45, 0x5f, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10,
  5726  	0x01, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x49, 0x4c, 0x4c, 0x5f, 0x4d, 0x49, 0x4e, 0x49, 0x4d, 0x55,
  5727  	0x4d, 0x5f, 0x53, 0x50, 0x41, 0x43, 0x45, 0x10, 0x02, 0x22, 0x58, 0x0a, 0x11, 0x56, 0x65, 0x72,
  5728  	0x74, 0x69, 0x63, 0x61, 0x6c, 0x41, 0x6c, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x22,
  5729  	0x0a, 0x1e, 0x56, 0x45, 0x52, 0x54, 0x49, 0x43, 0x41, 0x4c, 0x5f, 0x41, 0x4c, 0x49, 0x47, 0x4e,
  5730  	0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
  5731  	0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x45, 0x4e, 0x54, 0x45, 0x52, 0x10, 0x01, 0x12, 0x07,
  5732  	0x0a, 0x03, 0x54, 0x4f, 0x50, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x4f, 0x54, 0x54, 0x4f,
  5733  	0x4d, 0x10, 0x03, 0x22, 0x8f, 0x02, 0x0a, 0x07, 0x4f, 0x6e, 0x43, 0x6c, 0x69, 0x63, 0x6b, 0x12,
  5734  	0x35, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
  5735  	0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61,
  5736  	0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x06,
  5737  	0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x6c,
  5738  	0x69, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  5739  	0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e,
  5740  	0x4f, 0x70, 0x65, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x48, 0x00, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x6e,
  5741  	0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x56, 0x0a, 0x18, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x64, 0x79, 0x6e,
  5742  	0x61, 0x6d, 0x69, 0x63, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e,
  5743  	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  5744  	0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74,
  5745  	0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x15, 0x6f, 0x70, 0x65, 0x6e, 0x44, 0x79, 0x6e, 0x61, 0x6d,
  5746  	0x69, 0x63, 0x4c, 0x69, 0x6e, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x04,
  5747  	0x63, 0x61, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f,
  5748  	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31,
  5749  	0x2e, 0x43, 0x61, 0x72, 0x64, 0x48, 0x00, 0x52, 0x04, 0x63, 0x61, 0x72, 0x64, 0x42, 0x06, 0x0a,
  5750  	0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xe7, 0x01, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x6e, 0x4c, 0x69,
  5751  	0x6e, 0x6b, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
  5752  	0x03, 0x75, 0x72, 0x6c, 0x12, 0x3d, 0x0a, 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x61, 0x73, 0x18,
  5753  	0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  5754  	0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
  5755  	0x4c, 0x69, 0x6e, 0x6b, 0x2e, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x73, 0x52, 0x06, 0x6f, 0x70, 0x65,
  5756  	0x6e, 0x41, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x18,
  5757  	0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
  5758  	0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x70, 0x65, 0x6e,
  5759  	0x4c, 0x69, 0x6e, 0x6b, 0x2e, 0x4f, 0x6e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x52, 0x07, 0x6f, 0x6e,
  5760  	0x43, 0x6c, 0x6f, 0x73, 0x65, 0x22, 0x24, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x73, 0x12,
  5761  	0x0d, 0x0a, 0x09, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x10, 0x00, 0x12, 0x0b,
  5762  	0x0a, 0x07, 0x4f, 0x56, 0x45, 0x52, 0x4c, 0x41, 0x59, 0x10, 0x01, 0x22, 0x22, 0x0a, 0x07, 0x4f,
  5763  	0x6e, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x4e, 0x4f, 0x54, 0x48, 0x49, 0x4e,
  5764  	0x47, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x01, 0x22,
  5765  	0xd5, 0x03, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x75,
  5766  	0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x75,
  5767  	0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4b, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65,
  5768  	0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f,
  5769  	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31,
  5770  	0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61,
  5771  	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
  5772  	0x65, 0x72, 0x73, 0x12, 0x50, 0x0a, 0x0e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x69,
  5773  	0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x67, 0x6f,
  5774  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64, 0x2e, 0x76,
  5775  	0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x64,
  5776  	0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x0d, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x64, 0x69,
  5777  	0x63, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74,
  5778  	0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x70,
  5779  	0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x49, 0x0a, 0x0b,
  5780  	0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28,
  5781  	0x0e, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e,
  5782  	0x63, 0x61, 0x72, 0x64, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x49,
  5783  	0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x65,
  5784  	0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x39, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x69, 0x6f,
  5785  	0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
  5786  	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
  5787  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
  5788  	0x75, 0x65, 0x22, 0x26, 0x0a, 0x0d, 0x4c, 0x6f, 0x61, 0x64, 0x49, 0x6e, 0x64, 0x69, 0x63, 0x61,
  5789  	0x74, 0x6f, 0x72, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x50, 0x49, 0x4e, 0x4e, 0x45, 0x52, 0x10, 0x00,
  5790  	0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x22, 0x3b, 0x0a, 0x0b, 0x49, 0x6e,
  5791  	0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x17, 0x49, 0x4e, 0x54,
  5792  	0x45, 0x52, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
  5793  	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x50, 0x45, 0x4e, 0x5f, 0x44,
  5794  	0x49, 0x41, 0x4c, 0x4f, 0x47, 0x10, 0x01, 0x42, 0xa4, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e,
  5795  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x73, 0x2e, 0x63, 0x61, 0x72, 0x64,
  5796  	0x2e, 0x76, 0x31, 0x42, 0x09, 0x43, 0x61, 0x72, 0x64, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
  5797  	0x5a, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e,
  5798  	0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f,
  5799  	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x70, 0x73, 0x2f, 0x63, 0x61, 0x72,
  5800  	0x64, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x61, 0x72, 0x64, 0xaa, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67,
  5801  	0x6c, 0x65, 0x2e, 0x41, 0x70, 0x70, 0x73, 0x2e, 0x43, 0x61, 0x72, 0x64, 0x2e, 0x56, 0x31, 0xca,
  5802  	0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x70, 0x70, 0x73, 0x5c, 0x43, 0x61,
  5803  	0x72, 0x64, 0x5c, 0x56, 0x31, 0xea, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a,
  5804  	0x41, 0x70, 0x70, 0x73, 0x3a, 0x3a, 0x43, 0x61, 0x72, 0x64, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06,
  5805  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  5806  }
  5807  
  5808  var (
  5809  	file_google_apps_card_v1_card_proto_rawDescOnce sync.Once
  5810  	file_google_apps_card_v1_card_proto_rawDescData = file_google_apps_card_v1_card_proto_rawDesc
  5811  )
  5812  
  5813  func file_google_apps_card_v1_card_proto_rawDescGZIP() []byte {
  5814  	file_google_apps_card_v1_card_proto_rawDescOnce.Do(func() {
  5815  		file_google_apps_card_v1_card_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_apps_card_v1_card_proto_rawDescData)
  5816  	})
  5817  	return file_google_apps_card_v1_card_proto_rawDescData
  5818  }
  5819  
  5820  var file_google_apps_card_v1_card_proto_enumTypes = make([]protoimpl.EnumInfo, 18)
  5821  var file_google_apps_card_v1_card_proto_msgTypes = make([]protoimpl.MessageInfo, 34)
  5822  var file_google_apps_card_v1_card_proto_goTypes = []interface{}{
  5823  	(Card_DividerStyle)(0),                                  // 0: google.apps.card.v1.Card.DividerStyle
  5824  	(Card_DisplayStyle)(0),                                  // 1: google.apps.card.v1.Card.DisplayStyle
  5825  	(Widget_ImageType)(0),                                   // 2: google.apps.card.v1.Widget.ImageType
  5826  	(Widget_HorizontalAlignment)(0),                         // 3: google.apps.card.v1.Widget.HorizontalAlignment
  5827  	(DecoratedText_SwitchControl_ControlType)(0),            // 4: google.apps.card.v1.DecoratedText.SwitchControl.ControlType
  5828  	(TextInput_Type)(0),                                     // 5: google.apps.card.v1.TextInput.Type
  5829  	(SelectionInput_SelectionType)(0),                       // 6: google.apps.card.v1.SelectionInput.SelectionType
  5830  	(SelectionInput_PlatformDataSource_CommonDataSource)(0), // 7: google.apps.card.v1.SelectionInput.PlatformDataSource.CommonDataSource
  5831  	(DateTimePicker_DateTimePickerType)(0),                  // 8: google.apps.card.v1.DateTimePicker.DateTimePickerType
  5832  	(ImageCropStyle_ImageCropType)(0),                       // 9: google.apps.card.v1.ImageCropStyle.ImageCropType
  5833  	(BorderStyle_BorderType)(0),                             // 10: google.apps.card.v1.BorderStyle.BorderType
  5834  	(Grid_GridItem_GridItemLayout)(0),                       // 11: google.apps.card.v1.Grid.GridItem.GridItemLayout
  5835  	(Columns_Column_HorizontalSizeStyle)(0),                 // 12: google.apps.card.v1.Columns.Column.HorizontalSizeStyle
  5836  	(Columns_Column_VerticalAlignment)(0),                   // 13: google.apps.card.v1.Columns.Column.VerticalAlignment
  5837  	(OpenLink_OpenAs)(0),                                    // 14: google.apps.card.v1.OpenLink.OpenAs
  5838  	(OpenLink_OnClose)(0),                                   // 15: google.apps.card.v1.OpenLink.OnClose
  5839  	(Action_LoadIndicator)(0),                               // 16: google.apps.card.v1.Action.LoadIndicator
  5840  	(Action_Interaction)(0),                                 // 17: google.apps.card.v1.Action.Interaction
  5841  	(*Card)(nil),                                            // 18: google.apps.card.v1.Card
  5842  	(*Widget)(nil),                                          // 19: google.apps.card.v1.Widget
  5843  	(*TextParagraph)(nil),                                   // 20: google.apps.card.v1.TextParagraph
  5844  	(*Image)(nil),                                           // 21: google.apps.card.v1.Image
  5845  	(*Divider)(nil),                                         // 22: google.apps.card.v1.Divider
  5846  	(*DecoratedText)(nil),                                   // 23: google.apps.card.v1.DecoratedText
  5847  	(*TextInput)(nil),                                       // 24: google.apps.card.v1.TextInput
  5848  	(*Suggestions)(nil),                                     // 25: google.apps.card.v1.Suggestions
  5849  	(*ButtonList)(nil),                                      // 26: google.apps.card.v1.ButtonList
  5850  	(*SelectionInput)(nil),                                  // 27: google.apps.card.v1.SelectionInput
  5851  	(*DateTimePicker)(nil),                                  // 28: google.apps.card.v1.DateTimePicker
  5852  	(*Button)(nil),                                          // 29: google.apps.card.v1.Button
  5853  	(*Icon)(nil),                                            // 30: google.apps.card.v1.Icon
  5854  	(*MaterialIcon)(nil),                                    // 31: google.apps.card.v1.MaterialIcon
  5855  	(*ImageCropStyle)(nil),                                  // 32: google.apps.card.v1.ImageCropStyle
  5856  	(*BorderStyle)(nil),                                     // 33: google.apps.card.v1.BorderStyle
  5857  	(*ImageComponent)(nil),                                  // 34: google.apps.card.v1.ImageComponent
  5858  	(*Grid)(nil),                                            // 35: google.apps.card.v1.Grid
  5859  	(*Columns)(nil),                                         // 36: google.apps.card.v1.Columns
  5860  	(*OnClick)(nil),                                         // 37: google.apps.card.v1.OnClick
  5861  	(*OpenLink)(nil),                                        // 38: google.apps.card.v1.OpenLink
  5862  	(*Action)(nil),                                          // 39: google.apps.card.v1.Action
  5863  	(*Card_CardHeader)(nil),                                 // 40: google.apps.card.v1.Card.CardHeader
  5864  	(*Card_Section)(nil),                                    // 41: google.apps.card.v1.Card.Section
  5865  	(*Card_CardAction)(nil),                                 // 42: google.apps.card.v1.Card.CardAction
  5866  	(*Card_CardFixedFooter)(nil),                            // 43: google.apps.card.v1.Card.CardFixedFooter
  5867  	(*DecoratedText_SwitchControl)(nil),                     // 44: google.apps.card.v1.DecoratedText.SwitchControl
  5868  	(*Suggestions_SuggestionItem)(nil),                      // 45: google.apps.card.v1.Suggestions.SuggestionItem
  5869  	(*SelectionInput_SelectionItem)(nil),                    // 46: google.apps.card.v1.SelectionInput.SelectionItem
  5870  	(*SelectionInput_PlatformDataSource)(nil),               // 47: google.apps.card.v1.SelectionInput.PlatformDataSource
  5871  	(*Grid_GridItem)(nil),                                   // 48: google.apps.card.v1.Grid.GridItem
  5872  	(*Columns_Column)(nil),                                  // 49: google.apps.card.v1.Columns.Column
  5873  	(*Columns_Column_Widgets)(nil),                          // 50: google.apps.card.v1.Columns.Column.Widgets
  5874  	(*Action_ActionParameter)(nil),                          // 51: google.apps.card.v1.Action.ActionParameter
  5875  	(*color.Color)(nil),                                     // 52: google.type.Color
  5876  }
  5877  var file_google_apps_card_v1_card_proto_depIdxs = []int32{
  5878  	40, // 0: google.apps.card.v1.Card.header:type_name -> google.apps.card.v1.Card.CardHeader
  5879  	41, // 1: google.apps.card.v1.Card.sections:type_name -> google.apps.card.v1.Card.Section
  5880  	0,  // 2: google.apps.card.v1.Card.section_divider_style:type_name -> google.apps.card.v1.Card.DividerStyle
  5881  	42, // 3: google.apps.card.v1.Card.card_actions:type_name -> google.apps.card.v1.Card.CardAction
  5882  	43, // 4: google.apps.card.v1.Card.fixed_footer:type_name -> google.apps.card.v1.Card.CardFixedFooter
  5883  	1,  // 5: google.apps.card.v1.Card.display_style:type_name -> google.apps.card.v1.Card.DisplayStyle
  5884  	40, // 6: google.apps.card.v1.Card.peek_card_header:type_name -> google.apps.card.v1.Card.CardHeader
  5885  	20, // 7: google.apps.card.v1.Widget.text_paragraph:type_name -> google.apps.card.v1.TextParagraph
  5886  	21, // 8: google.apps.card.v1.Widget.image:type_name -> google.apps.card.v1.Image
  5887  	23, // 9: google.apps.card.v1.Widget.decorated_text:type_name -> google.apps.card.v1.DecoratedText
  5888  	26, // 10: google.apps.card.v1.Widget.button_list:type_name -> google.apps.card.v1.ButtonList
  5889  	24, // 11: google.apps.card.v1.Widget.text_input:type_name -> google.apps.card.v1.TextInput
  5890  	27, // 12: google.apps.card.v1.Widget.selection_input:type_name -> google.apps.card.v1.SelectionInput
  5891  	28, // 13: google.apps.card.v1.Widget.date_time_picker:type_name -> google.apps.card.v1.DateTimePicker
  5892  	22, // 14: google.apps.card.v1.Widget.divider:type_name -> google.apps.card.v1.Divider
  5893  	35, // 15: google.apps.card.v1.Widget.grid:type_name -> google.apps.card.v1.Grid
  5894  	36, // 16: google.apps.card.v1.Widget.columns:type_name -> google.apps.card.v1.Columns
  5895  	3,  // 17: google.apps.card.v1.Widget.horizontal_alignment:type_name -> google.apps.card.v1.Widget.HorizontalAlignment
  5896  	37, // 18: google.apps.card.v1.Image.on_click:type_name -> google.apps.card.v1.OnClick
  5897  	30, // 19: google.apps.card.v1.DecoratedText.icon:type_name -> google.apps.card.v1.Icon
  5898  	30, // 20: google.apps.card.v1.DecoratedText.start_icon:type_name -> google.apps.card.v1.Icon
  5899  	37, // 21: google.apps.card.v1.DecoratedText.on_click:type_name -> google.apps.card.v1.OnClick
  5900  	29, // 22: google.apps.card.v1.DecoratedText.button:type_name -> google.apps.card.v1.Button
  5901  	44, // 23: google.apps.card.v1.DecoratedText.switch_control:type_name -> google.apps.card.v1.DecoratedText.SwitchControl
  5902  	30, // 24: google.apps.card.v1.DecoratedText.end_icon:type_name -> google.apps.card.v1.Icon
  5903  	5,  // 25: google.apps.card.v1.TextInput.type:type_name -> google.apps.card.v1.TextInput.Type
  5904  	39, // 26: google.apps.card.v1.TextInput.on_change_action:type_name -> google.apps.card.v1.Action
  5905  	25, // 27: google.apps.card.v1.TextInput.initial_suggestions:type_name -> google.apps.card.v1.Suggestions
  5906  	39, // 28: google.apps.card.v1.TextInput.auto_complete_action:type_name -> google.apps.card.v1.Action
  5907  	45, // 29: google.apps.card.v1.Suggestions.items:type_name -> google.apps.card.v1.Suggestions.SuggestionItem
  5908  	29, // 30: google.apps.card.v1.ButtonList.buttons:type_name -> google.apps.card.v1.Button
  5909  	6,  // 31: google.apps.card.v1.SelectionInput.type:type_name -> google.apps.card.v1.SelectionInput.SelectionType
  5910  	46, // 32: google.apps.card.v1.SelectionInput.items:type_name -> google.apps.card.v1.SelectionInput.SelectionItem
  5911  	39, // 33: google.apps.card.v1.SelectionInput.on_change_action:type_name -> google.apps.card.v1.Action
  5912  	39, // 34: google.apps.card.v1.SelectionInput.external_data_source:type_name -> google.apps.card.v1.Action
  5913  	47, // 35: google.apps.card.v1.SelectionInput.platform_data_source:type_name -> google.apps.card.v1.SelectionInput.PlatformDataSource
  5914  	8,  // 36: google.apps.card.v1.DateTimePicker.type:type_name -> google.apps.card.v1.DateTimePicker.DateTimePickerType
  5915  	39, // 37: google.apps.card.v1.DateTimePicker.on_change_action:type_name -> google.apps.card.v1.Action
  5916  	30, // 38: google.apps.card.v1.Button.icon:type_name -> google.apps.card.v1.Icon
  5917  	52, // 39: google.apps.card.v1.Button.color:type_name -> google.type.Color
  5918  	37, // 40: google.apps.card.v1.Button.on_click:type_name -> google.apps.card.v1.OnClick
  5919  	31, // 41: google.apps.card.v1.Icon.material_icon:type_name -> google.apps.card.v1.MaterialIcon
  5920  	2,  // 42: google.apps.card.v1.Icon.image_type:type_name -> google.apps.card.v1.Widget.ImageType
  5921  	9,  // 43: google.apps.card.v1.ImageCropStyle.type:type_name -> google.apps.card.v1.ImageCropStyle.ImageCropType
  5922  	10, // 44: google.apps.card.v1.BorderStyle.type:type_name -> google.apps.card.v1.BorderStyle.BorderType
  5923  	52, // 45: google.apps.card.v1.BorderStyle.stroke_color:type_name -> google.type.Color
  5924  	32, // 46: google.apps.card.v1.ImageComponent.crop_style:type_name -> google.apps.card.v1.ImageCropStyle
  5925  	33, // 47: google.apps.card.v1.ImageComponent.border_style:type_name -> google.apps.card.v1.BorderStyle
  5926  	48, // 48: google.apps.card.v1.Grid.items:type_name -> google.apps.card.v1.Grid.GridItem
  5927  	33, // 49: google.apps.card.v1.Grid.border_style:type_name -> google.apps.card.v1.BorderStyle
  5928  	37, // 50: google.apps.card.v1.Grid.on_click:type_name -> google.apps.card.v1.OnClick
  5929  	49, // 51: google.apps.card.v1.Columns.column_items:type_name -> google.apps.card.v1.Columns.Column
  5930  	39, // 52: google.apps.card.v1.OnClick.action:type_name -> google.apps.card.v1.Action
  5931  	38, // 53: google.apps.card.v1.OnClick.open_link:type_name -> google.apps.card.v1.OpenLink
  5932  	39, // 54: google.apps.card.v1.OnClick.open_dynamic_link_action:type_name -> google.apps.card.v1.Action
  5933  	18, // 55: google.apps.card.v1.OnClick.card:type_name -> google.apps.card.v1.Card
  5934  	14, // 56: google.apps.card.v1.OpenLink.open_as:type_name -> google.apps.card.v1.OpenLink.OpenAs
  5935  	15, // 57: google.apps.card.v1.OpenLink.on_close:type_name -> google.apps.card.v1.OpenLink.OnClose
  5936  	51, // 58: google.apps.card.v1.Action.parameters:type_name -> google.apps.card.v1.Action.ActionParameter
  5937  	16, // 59: google.apps.card.v1.Action.load_indicator:type_name -> google.apps.card.v1.Action.LoadIndicator
  5938  	17, // 60: google.apps.card.v1.Action.interaction:type_name -> google.apps.card.v1.Action.Interaction
  5939  	2,  // 61: google.apps.card.v1.Card.CardHeader.image_type:type_name -> google.apps.card.v1.Widget.ImageType
  5940  	19, // 62: google.apps.card.v1.Card.Section.widgets:type_name -> google.apps.card.v1.Widget
  5941  	37, // 63: google.apps.card.v1.Card.CardAction.on_click:type_name -> google.apps.card.v1.OnClick
  5942  	29, // 64: google.apps.card.v1.Card.CardFixedFooter.primary_button:type_name -> google.apps.card.v1.Button
  5943  	29, // 65: google.apps.card.v1.Card.CardFixedFooter.secondary_button:type_name -> google.apps.card.v1.Button
  5944  	39, // 66: google.apps.card.v1.DecoratedText.SwitchControl.on_change_action:type_name -> google.apps.card.v1.Action
  5945  	4,  // 67: google.apps.card.v1.DecoratedText.SwitchControl.control_type:type_name -> google.apps.card.v1.DecoratedText.SwitchControl.ControlType
  5946  	7,  // 68: google.apps.card.v1.SelectionInput.PlatformDataSource.common_data_source:type_name -> google.apps.card.v1.SelectionInput.PlatformDataSource.CommonDataSource
  5947  	34, // 69: google.apps.card.v1.Grid.GridItem.image:type_name -> google.apps.card.v1.ImageComponent
  5948  	11, // 70: google.apps.card.v1.Grid.GridItem.layout:type_name -> google.apps.card.v1.Grid.GridItem.GridItemLayout
  5949  	12, // 71: google.apps.card.v1.Columns.Column.horizontal_size_style:type_name -> google.apps.card.v1.Columns.Column.HorizontalSizeStyle
  5950  	3,  // 72: google.apps.card.v1.Columns.Column.horizontal_alignment:type_name -> google.apps.card.v1.Widget.HorizontalAlignment
  5951  	13, // 73: google.apps.card.v1.Columns.Column.vertical_alignment:type_name -> google.apps.card.v1.Columns.Column.VerticalAlignment
  5952  	50, // 74: google.apps.card.v1.Columns.Column.widgets:type_name -> google.apps.card.v1.Columns.Column.Widgets
  5953  	20, // 75: google.apps.card.v1.Columns.Column.Widgets.text_paragraph:type_name -> google.apps.card.v1.TextParagraph
  5954  	21, // 76: google.apps.card.v1.Columns.Column.Widgets.image:type_name -> google.apps.card.v1.Image
  5955  	23, // 77: google.apps.card.v1.Columns.Column.Widgets.decorated_text:type_name -> google.apps.card.v1.DecoratedText
  5956  	26, // 78: google.apps.card.v1.Columns.Column.Widgets.button_list:type_name -> google.apps.card.v1.ButtonList
  5957  	24, // 79: google.apps.card.v1.Columns.Column.Widgets.text_input:type_name -> google.apps.card.v1.TextInput
  5958  	27, // 80: google.apps.card.v1.Columns.Column.Widgets.selection_input:type_name -> google.apps.card.v1.SelectionInput
  5959  	28, // 81: google.apps.card.v1.Columns.Column.Widgets.date_time_picker:type_name -> google.apps.card.v1.DateTimePicker
  5960  	82, // [82:82] is the sub-list for method output_type
  5961  	82, // [82:82] is the sub-list for method input_type
  5962  	82, // [82:82] is the sub-list for extension type_name
  5963  	82, // [82:82] is the sub-list for extension extendee
  5964  	0,  // [0:82] is the sub-list for field type_name
  5965  }
  5966  
  5967  func init() { file_google_apps_card_v1_card_proto_init() }
  5968  func file_google_apps_card_v1_card_proto_init() {
  5969  	if File_google_apps_card_v1_card_proto != nil {
  5970  		return
  5971  	}
  5972  	if !protoimpl.UnsafeEnabled {
  5973  		file_google_apps_card_v1_card_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  5974  			switch v := v.(*Card); i {
  5975  			case 0:
  5976  				return &v.state
  5977  			case 1:
  5978  				return &v.sizeCache
  5979  			case 2:
  5980  				return &v.unknownFields
  5981  			default:
  5982  				return nil
  5983  			}
  5984  		}
  5985  		file_google_apps_card_v1_card_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  5986  			switch v := v.(*Widget); i {
  5987  			case 0:
  5988  				return &v.state
  5989  			case 1:
  5990  				return &v.sizeCache
  5991  			case 2:
  5992  				return &v.unknownFields
  5993  			default:
  5994  				return nil
  5995  			}
  5996  		}
  5997  		file_google_apps_card_v1_card_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  5998  			switch v := v.(*TextParagraph); i {
  5999  			case 0:
  6000  				return &v.state
  6001  			case 1:
  6002  				return &v.sizeCache
  6003  			case 2:
  6004  				return &v.unknownFields
  6005  			default:
  6006  				return nil
  6007  			}
  6008  		}
  6009  		file_google_apps_card_v1_card_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  6010  			switch v := v.(*Image); i {
  6011  			case 0:
  6012  				return &v.state
  6013  			case 1:
  6014  				return &v.sizeCache
  6015  			case 2:
  6016  				return &v.unknownFields
  6017  			default:
  6018  				return nil
  6019  			}
  6020  		}
  6021  		file_google_apps_card_v1_card_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  6022  			switch v := v.(*Divider); i {
  6023  			case 0:
  6024  				return &v.state
  6025  			case 1:
  6026  				return &v.sizeCache
  6027  			case 2:
  6028  				return &v.unknownFields
  6029  			default:
  6030  				return nil
  6031  			}
  6032  		}
  6033  		file_google_apps_card_v1_card_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  6034  			switch v := v.(*DecoratedText); i {
  6035  			case 0:
  6036  				return &v.state
  6037  			case 1:
  6038  				return &v.sizeCache
  6039  			case 2:
  6040  				return &v.unknownFields
  6041  			default:
  6042  				return nil
  6043  			}
  6044  		}
  6045  		file_google_apps_card_v1_card_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  6046  			switch v := v.(*TextInput); i {
  6047  			case 0:
  6048  				return &v.state
  6049  			case 1:
  6050  				return &v.sizeCache
  6051  			case 2:
  6052  				return &v.unknownFields
  6053  			default:
  6054  				return nil
  6055  			}
  6056  		}
  6057  		file_google_apps_card_v1_card_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  6058  			switch v := v.(*Suggestions); i {
  6059  			case 0:
  6060  				return &v.state
  6061  			case 1:
  6062  				return &v.sizeCache
  6063  			case 2:
  6064  				return &v.unknownFields
  6065  			default:
  6066  				return nil
  6067  			}
  6068  		}
  6069  		file_google_apps_card_v1_card_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  6070  			switch v := v.(*ButtonList); i {
  6071  			case 0:
  6072  				return &v.state
  6073  			case 1:
  6074  				return &v.sizeCache
  6075  			case 2:
  6076  				return &v.unknownFields
  6077  			default:
  6078  				return nil
  6079  			}
  6080  		}
  6081  		file_google_apps_card_v1_card_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  6082  			switch v := v.(*SelectionInput); i {
  6083  			case 0:
  6084  				return &v.state
  6085  			case 1:
  6086  				return &v.sizeCache
  6087  			case 2:
  6088  				return &v.unknownFields
  6089  			default:
  6090  				return nil
  6091  			}
  6092  		}
  6093  		file_google_apps_card_v1_card_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  6094  			switch v := v.(*DateTimePicker); i {
  6095  			case 0:
  6096  				return &v.state
  6097  			case 1:
  6098  				return &v.sizeCache
  6099  			case 2:
  6100  				return &v.unknownFields
  6101  			default:
  6102  				return nil
  6103  			}
  6104  		}
  6105  		file_google_apps_card_v1_card_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  6106  			switch v := v.(*Button); i {
  6107  			case 0:
  6108  				return &v.state
  6109  			case 1:
  6110  				return &v.sizeCache
  6111  			case 2:
  6112  				return &v.unknownFields
  6113  			default:
  6114  				return nil
  6115  			}
  6116  		}
  6117  		file_google_apps_card_v1_card_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  6118  			switch v := v.(*Icon); i {
  6119  			case 0:
  6120  				return &v.state
  6121  			case 1:
  6122  				return &v.sizeCache
  6123  			case 2:
  6124  				return &v.unknownFields
  6125  			default:
  6126  				return nil
  6127  			}
  6128  		}
  6129  		file_google_apps_card_v1_card_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  6130  			switch v := v.(*MaterialIcon); i {
  6131  			case 0:
  6132  				return &v.state
  6133  			case 1:
  6134  				return &v.sizeCache
  6135  			case 2:
  6136  				return &v.unknownFields
  6137  			default:
  6138  				return nil
  6139  			}
  6140  		}
  6141  		file_google_apps_card_v1_card_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  6142  			switch v := v.(*ImageCropStyle); i {
  6143  			case 0:
  6144  				return &v.state
  6145  			case 1:
  6146  				return &v.sizeCache
  6147  			case 2:
  6148  				return &v.unknownFields
  6149  			default:
  6150  				return nil
  6151  			}
  6152  		}
  6153  		file_google_apps_card_v1_card_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  6154  			switch v := v.(*BorderStyle); i {
  6155  			case 0:
  6156  				return &v.state
  6157  			case 1:
  6158  				return &v.sizeCache
  6159  			case 2:
  6160  				return &v.unknownFields
  6161  			default:
  6162  				return nil
  6163  			}
  6164  		}
  6165  		file_google_apps_card_v1_card_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  6166  			switch v := v.(*ImageComponent); i {
  6167  			case 0:
  6168  				return &v.state
  6169  			case 1:
  6170  				return &v.sizeCache
  6171  			case 2:
  6172  				return &v.unknownFields
  6173  			default:
  6174  				return nil
  6175  			}
  6176  		}
  6177  		file_google_apps_card_v1_card_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  6178  			switch v := v.(*Grid); i {
  6179  			case 0:
  6180  				return &v.state
  6181  			case 1:
  6182  				return &v.sizeCache
  6183  			case 2:
  6184  				return &v.unknownFields
  6185  			default:
  6186  				return nil
  6187  			}
  6188  		}
  6189  		file_google_apps_card_v1_card_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  6190  			switch v := v.(*Columns); i {
  6191  			case 0:
  6192  				return &v.state
  6193  			case 1:
  6194  				return &v.sizeCache
  6195  			case 2:
  6196  				return &v.unknownFields
  6197  			default:
  6198  				return nil
  6199  			}
  6200  		}
  6201  		file_google_apps_card_v1_card_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  6202  			switch v := v.(*OnClick); i {
  6203  			case 0:
  6204  				return &v.state
  6205  			case 1:
  6206  				return &v.sizeCache
  6207  			case 2:
  6208  				return &v.unknownFields
  6209  			default:
  6210  				return nil
  6211  			}
  6212  		}
  6213  		file_google_apps_card_v1_card_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
  6214  			switch v := v.(*OpenLink); i {
  6215  			case 0:
  6216  				return &v.state
  6217  			case 1:
  6218  				return &v.sizeCache
  6219  			case 2:
  6220  				return &v.unknownFields
  6221  			default:
  6222  				return nil
  6223  			}
  6224  		}
  6225  		file_google_apps_card_v1_card_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
  6226  			switch v := v.(*Action); i {
  6227  			case 0:
  6228  				return &v.state
  6229  			case 1:
  6230  				return &v.sizeCache
  6231  			case 2:
  6232  				return &v.unknownFields
  6233  			default:
  6234  				return nil
  6235  			}
  6236  		}
  6237  		file_google_apps_card_v1_card_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
  6238  			switch v := v.(*Card_CardHeader); i {
  6239  			case 0:
  6240  				return &v.state
  6241  			case 1:
  6242  				return &v.sizeCache
  6243  			case 2:
  6244  				return &v.unknownFields
  6245  			default:
  6246  				return nil
  6247  			}
  6248  		}
  6249  		file_google_apps_card_v1_card_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
  6250  			switch v := v.(*Card_Section); i {
  6251  			case 0:
  6252  				return &v.state
  6253  			case 1:
  6254  				return &v.sizeCache
  6255  			case 2:
  6256  				return &v.unknownFields
  6257  			default:
  6258  				return nil
  6259  			}
  6260  		}
  6261  		file_google_apps_card_v1_card_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
  6262  			switch v := v.(*Card_CardAction); i {
  6263  			case 0:
  6264  				return &v.state
  6265  			case 1:
  6266  				return &v.sizeCache
  6267  			case 2:
  6268  				return &v.unknownFields
  6269  			default:
  6270  				return nil
  6271  			}
  6272  		}
  6273  		file_google_apps_card_v1_card_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
  6274  			switch v := v.(*Card_CardFixedFooter); i {
  6275  			case 0:
  6276  				return &v.state
  6277  			case 1:
  6278  				return &v.sizeCache
  6279  			case 2:
  6280  				return &v.unknownFields
  6281  			default:
  6282  				return nil
  6283  			}
  6284  		}
  6285  		file_google_apps_card_v1_card_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
  6286  			switch v := v.(*DecoratedText_SwitchControl); i {
  6287  			case 0:
  6288  				return &v.state
  6289  			case 1:
  6290  				return &v.sizeCache
  6291  			case 2:
  6292  				return &v.unknownFields
  6293  			default:
  6294  				return nil
  6295  			}
  6296  		}
  6297  		file_google_apps_card_v1_card_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
  6298  			switch v := v.(*Suggestions_SuggestionItem); i {
  6299  			case 0:
  6300  				return &v.state
  6301  			case 1:
  6302  				return &v.sizeCache
  6303  			case 2:
  6304  				return &v.unknownFields
  6305  			default:
  6306  				return nil
  6307  			}
  6308  		}
  6309  		file_google_apps_card_v1_card_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
  6310  			switch v := v.(*SelectionInput_SelectionItem); i {
  6311  			case 0:
  6312  				return &v.state
  6313  			case 1:
  6314  				return &v.sizeCache
  6315  			case 2:
  6316  				return &v.unknownFields
  6317  			default:
  6318  				return nil
  6319  			}
  6320  		}
  6321  		file_google_apps_card_v1_card_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
  6322  			switch v := v.(*SelectionInput_PlatformDataSource); i {
  6323  			case 0:
  6324  				return &v.state
  6325  			case 1:
  6326  				return &v.sizeCache
  6327  			case 2:
  6328  				return &v.unknownFields
  6329  			default:
  6330  				return nil
  6331  			}
  6332  		}
  6333  		file_google_apps_card_v1_card_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
  6334  			switch v := v.(*Grid_GridItem); i {
  6335  			case 0:
  6336  				return &v.state
  6337  			case 1:
  6338  				return &v.sizeCache
  6339  			case 2:
  6340  				return &v.unknownFields
  6341  			default:
  6342  				return nil
  6343  			}
  6344  		}
  6345  		file_google_apps_card_v1_card_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
  6346  			switch v := v.(*Columns_Column); i {
  6347  			case 0:
  6348  				return &v.state
  6349  			case 1:
  6350  				return &v.sizeCache
  6351  			case 2:
  6352  				return &v.unknownFields
  6353  			default:
  6354  				return nil
  6355  			}
  6356  		}
  6357  		file_google_apps_card_v1_card_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
  6358  			switch v := v.(*Columns_Column_Widgets); i {
  6359  			case 0:
  6360  				return &v.state
  6361  			case 1:
  6362  				return &v.sizeCache
  6363  			case 2:
  6364  				return &v.unknownFields
  6365  			default:
  6366  				return nil
  6367  			}
  6368  		}
  6369  		file_google_apps_card_v1_card_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
  6370  			switch v := v.(*Action_ActionParameter); i {
  6371  			case 0:
  6372  				return &v.state
  6373  			case 1:
  6374  				return &v.sizeCache
  6375  			case 2:
  6376  				return &v.unknownFields
  6377  			default:
  6378  				return nil
  6379  			}
  6380  		}
  6381  	}
  6382  	file_google_apps_card_v1_card_proto_msgTypes[1].OneofWrappers = []interface{}{
  6383  		(*Widget_TextParagraph)(nil),
  6384  		(*Widget_Image)(nil),
  6385  		(*Widget_DecoratedText)(nil),
  6386  		(*Widget_ButtonList)(nil),
  6387  		(*Widget_TextInput)(nil),
  6388  		(*Widget_SelectionInput)(nil),
  6389  		(*Widget_DateTimePicker)(nil),
  6390  		(*Widget_Divider)(nil),
  6391  		(*Widget_Grid)(nil),
  6392  		(*Widget_Columns)(nil),
  6393  	}
  6394  	file_google_apps_card_v1_card_proto_msgTypes[5].OneofWrappers = []interface{}{
  6395  		(*DecoratedText_Button)(nil),
  6396  		(*DecoratedText_SwitchControl_)(nil),
  6397  		(*DecoratedText_EndIcon)(nil),
  6398  	}
  6399  	file_google_apps_card_v1_card_proto_msgTypes[9].OneofWrappers = []interface{}{
  6400  		(*SelectionInput_ExternalDataSource)(nil),
  6401  		(*SelectionInput_PlatformDataSource_)(nil),
  6402  	}
  6403  	file_google_apps_card_v1_card_proto_msgTypes[12].OneofWrappers = []interface{}{
  6404  		(*Icon_KnownIcon)(nil),
  6405  		(*Icon_IconUrl)(nil),
  6406  		(*Icon_MaterialIcon)(nil),
  6407  	}
  6408  	file_google_apps_card_v1_card_proto_msgTypes[19].OneofWrappers = []interface{}{
  6409  		(*OnClick_Action)(nil),
  6410  		(*OnClick_OpenLink)(nil),
  6411  		(*OnClick_OpenDynamicLinkAction)(nil),
  6412  		(*OnClick_Card)(nil),
  6413  	}
  6414  	file_google_apps_card_v1_card_proto_msgTypes[27].OneofWrappers = []interface{}{
  6415  		(*Suggestions_SuggestionItem_Text)(nil),
  6416  	}
  6417  	file_google_apps_card_v1_card_proto_msgTypes[29].OneofWrappers = []interface{}{
  6418  		(*SelectionInput_PlatformDataSource_CommonDataSource_)(nil),
  6419  	}
  6420  	file_google_apps_card_v1_card_proto_msgTypes[32].OneofWrappers = []interface{}{
  6421  		(*Columns_Column_Widgets_TextParagraph)(nil),
  6422  		(*Columns_Column_Widgets_Image)(nil),
  6423  		(*Columns_Column_Widgets_DecoratedText)(nil),
  6424  		(*Columns_Column_Widgets_ButtonList)(nil),
  6425  		(*Columns_Column_Widgets_TextInput)(nil),
  6426  		(*Columns_Column_Widgets_SelectionInput)(nil),
  6427  		(*Columns_Column_Widgets_DateTimePicker)(nil),
  6428  	}
  6429  	type x struct{}
  6430  	out := protoimpl.TypeBuilder{
  6431  		File: protoimpl.DescBuilder{
  6432  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  6433  			RawDescriptor: file_google_apps_card_v1_card_proto_rawDesc,
  6434  			NumEnums:      18,
  6435  			NumMessages:   34,
  6436  			NumExtensions: 0,
  6437  			NumServices:   0,
  6438  		},
  6439  		GoTypes:           file_google_apps_card_v1_card_proto_goTypes,
  6440  		DependencyIndexes: file_google_apps_card_v1_card_proto_depIdxs,
  6441  		EnumInfos:         file_google_apps_card_v1_card_proto_enumTypes,
  6442  		MessageInfos:      file_google_apps_card_v1_card_proto_msgTypes,
  6443  	}.Build()
  6444  	File_google_apps_card_v1_card_proto = out.File
  6445  	file_google_apps_card_v1_card_proto_rawDesc = nil
  6446  	file_google_apps_card_v1_card_proto_goTypes = nil
  6447  	file_google_apps_card_v1_card_proto_depIdxs = nil
  6448  }
  6449  

View as plain text