github.com/whoyao/protocol@v0.0.0-20230519045905-2d8ace718ca5/livekit/livekit_models.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.30.0
     4  // 	protoc        v3.20.3
     5  // source: livekit_models.proto
     6  
     7  package livekit
     8  
     9  import (
    10  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    11  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    12  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    13  	reflect "reflect"
    14  	sync "sync"
    15  )
    16  
    17  const (
    18  	// Verify that this generated code is sufficiently up-to-date.
    19  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    20  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    21  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    22  )
    23  
    24  type AudioCodec int32
    25  
    26  const (
    27  	AudioCodec_DEFAULT_AC AudioCodec = 0
    28  	AudioCodec_OPUS       AudioCodec = 1
    29  	AudioCodec_AAC        AudioCodec = 2
    30  )
    31  
    32  // Enum value maps for AudioCodec.
    33  var (
    34  	AudioCodec_name = map[int32]string{
    35  		0: "DEFAULT_AC",
    36  		1: "OPUS",
    37  		2: "AAC",
    38  	}
    39  	AudioCodec_value = map[string]int32{
    40  		"DEFAULT_AC": 0,
    41  		"OPUS":       1,
    42  		"AAC":        2,
    43  	}
    44  )
    45  
    46  func (x AudioCodec) Enum() *AudioCodec {
    47  	p := new(AudioCodec)
    48  	*p = x
    49  	return p
    50  }
    51  
    52  func (x AudioCodec) String() string {
    53  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    54  }
    55  
    56  func (AudioCodec) Descriptor() protoreflect.EnumDescriptor {
    57  	return file_livekit_models_proto_enumTypes[0].Descriptor()
    58  }
    59  
    60  func (AudioCodec) Type() protoreflect.EnumType {
    61  	return &file_livekit_models_proto_enumTypes[0]
    62  }
    63  
    64  func (x AudioCodec) Number() protoreflect.EnumNumber {
    65  	return protoreflect.EnumNumber(x)
    66  }
    67  
    68  // Deprecated: Use AudioCodec.Descriptor instead.
    69  func (AudioCodec) EnumDescriptor() ([]byte, []int) {
    70  	return file_livekit_models_proto_rawDescGZIP(), []int{0}
    71  }
    72  
    73  type VideoCodec int32
    74  
    75  const (
    76  	VideoCodec_DEFAULT_VC    VideoCodec = 0
    77  	VideoCodec_H264_BASELINE VideoCodec = 1
    78  	VideoCodec_H264_MAIN     VideoCodec = 2
    79  	VideoCodec_H264_HIGH     VideoCodec = 3
    80  	VideoCodec_VP8           VideoCodec = 4
    81  )
    82  
    83  // Enum value maps for VideoCodec.
    84  var (
    85  	VideoCodec_name = map[int32]string{
    86  		0: "DEFAULT_VC",
    87  		1: "H264_BASELINE",
    88  		2: "H264_MAIN",
    89  		3: "H264_HIGH",
    90  		4: "VP8",
    91  	}
    92  	VideoCodec_value = map[string]int32{
    93  		"DEFAULT_VC":    0,
    94  		"H264_BASELINE": 1,
    95  		"H264_MAIN":     2,
    96  		"H264_HIGH":     3,
    97  		"VP8":           4,
    98  	}
    99  )
   100  
   101  func (x VideoCodec) Enum() *VideoCodec {
   102  	p := new(VideoCodec)
   103  	*p = x
   104  	return p
   105  }
   106  
   107  func (x VideoCodec) String() string {
   108  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   109  }
   110  
   111  func (VideoCodec) Descriptor() protoreflect.EnumDescriptor {
   112  	return file_livekit_models_proto_enumTypes[1].Descriptor()
   113  }
   114  
   115  func (VideoCodec) Type() protoreflect.EnumType {
   116  	return &file_livekit_models_proto_enumTypes[1]
   117  }
   118  
   119  func (x VideoCodec) Number() protoreflect.EnumNumber {
   120  	return protoreflect.EnumNumber(x)
   121  }
   122  
   123  // Deprecated: Use VideoCodec.Descriptor instead.
   124  func (VideoCodec) EnumDescriptor() ([]byte, []int) {
   125  	return file_livekit_models_proto_rawDescGZIP(), []int{1}
   126  }
   127  
   128  type TrackType int32
   129  
   130  const (
   131  	TrackType_AUDIO TrackType = 0
   132  	TrackType_VIDEO TrackType = 1
   133  	TrackType_DATA  TrackType = 2
   134  )
   135  
   136  // Enum value maps for TrackType.
   137  var (
   138  	TrackType_name = map[int32]string{
   139  		0: "AUDIO",
   140  		1: "VIDEO",
   141  		2: "DATA",
   142  	}
   143  	TrackType_value = map[string]int32{
   144  		"AUDIO": 0,
   145  		"VIDEO": 1,
   146  		"DATA":  2,
   147  	}
   148  )
   149  
   150  func (x TrackType) Enum() *TrackType {
   151  	p := new(TrackType)
   152  	*p = x
   153  	return p
   154  }
   155  
   156  func (x TrackType) String() string {
   157  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   158  }
   159  
   160  func (TrackType) Descriptor() protoreflect.EnumDescriptor {
   161  	return file_livekit_models_proto_enumTypes[2].Descriptor()
   162  }
   163  
   164  func (TrackType) Type() protoreflect.EnumType {
   165  	return &file_livekit_models_proto_enumTypes[2]
   166  }
   167  
   168  func (x TrackType) Number() protoreflect.EnumNumber {
   169  	return protoreflect.EnumNumber(x)
   170  }
   171  
   172  // Deprecated: Use TrackType.Descriptor instead.
   173  func (TrackType) EnumDescriptor() ([]byte, []int) {
   174  	return file_livekit_models_proto_rawDescGZIP(), []int{2}
   175  }
   176  
   177  type TrackSource int32
   178  
   179  const (
   180  	TrackSource_UNKNOWN            TrackSource = 0
   181  	TrackSource_CAMERA             TrackSource = 1
   182  	TrackSource_MICROPHONE         TrackSource = 2
   183  	TrackSource_SCREEN_SHARE       TrackSource = 3
   184  	TrackSource_SCREEN_SHARE_AUDIO TrackSource = 4
   185  )
   186  
   187  // Enum value maps for TrackSource.
   188  var (
   189  	TrackSource_name = map[int32]string{
   190  		0: "UNKNOWN",
   191  		1: "CAMERA",
   192  		2: "MICROPHONE",
   193  		3: "SCREEN_SHARE",
   194  		4: "SCREEN_SHARE_AUDIO",
   195  	}
   196  	TrackSource_value = map[string]int32{
   197  		"UNKNOWN":            0,
   198  		"CAMERA":             1,
   199  		"MICROPHONE":         2,
   200  		"SCREEN_SHARE":       3,
   201  		"SCREEN_SHARE_AUDIO": 4,
   202  	}
   203  )
   204  
   205  func (x TrackSource) Enum() *TrackSource {
   206  	p := new(TrackSource)
   207  	*p = x
   208  	return p
   209  }
   210  
   211  func (x TrackSource) String() string {
   212  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   213  }
   214  
   215  func (TrackSource) Descriptor() protoreflect.EnumDescriptor {
   216  	return file_livekit_models_proto_enumTypes[3].Descriptor()
   217  }
   218  
   219  func (TrackSource) Type() protoreflect.EnumType {
   220  	return &file_livekit_models_proto_enumTypes[3]
   221  }
   222  
   223  func (x TrackSource) Number() protoreflect.EnumNumber {
   224  	return protoreflect.EnumNumber(x)
   225  }
   226  
   227  // Deprecated: Use TrackSource.Descriptor instead.
   228  func (TrackSource) EnumDescriptor() ([]byte, []int) {
   229  	return file_livekit_models_proto_rawDescGZIP(), []int{3}
   230  }
   231  
   232  type VideoQuality int32
   233  
   234  const (
   235  	VideoQuality_LOW    VideoQuality = 0
   236  	VideoQuality_MEDIUM VideoQuality = 1
   237  	VideoQuality_HIGH   VideoQuality = 2
   238  	VideoQuality_OFF    VideoQuality = 3
   239  )
   240  
   241  // Enum value maps for VideoQuality.
   242  var (
   243  	VideoQuality_name = map[int32]string{
   244  		0: "LOW",
   245  		1: "MEDIUM",
   246  		2: "HIGH",
   247  		3: "OFF",
   248  	}
   249  	VideoQuality_value = map[string]int32{
   250  		"LOW":    0,
   251  		"MEDIUM": 1,
   252  		"HIGH":   2,
   253  		"OFF":    3,
   254  	}
   255  )
   256  
   257  func (x VideoQuality) Enum() *VideoQuality {
   258  	p := new(VideoQuality)
   259  	*p = x
   260  	return p
   261  }
   262  
   263  func (x VideoQuality) String() string {
   264  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   265  }
   266  
   267  func (VideoQuality) Descriptor() protoreflect.EnumDescriptor {
   268  	return file_livekit_models_proto_enumTypes[4].Descriptor()
   269  }
   270  
   271  func (VideoQuality) Type() protoreflect.EnumType {
   272  	return &file_livekit_models_proto_enumTypes[4]
   273  }
   274  
   275  func (x VideoQuality) Number() protoreflect.EnumNumber {
   276  	return protoreflect.EnumNumber(x)
   277  }
   278  
   279  // Deprecated: Use VideoQuality.Descriptor instead.
   280  func (VideoQuality) EnumDescriptor() ([]byte, []int) {
   281  	return file_livekit_models_proto_rawDescGZIP(), []int{4}
   282  }
   283  
   284  type ConnectionQuality int32
   285  
   286  const (
   287  	ConnectionQuality_POOR      ConnectionQuality = 0
   288  	ConnectionQuality_GOOD      ConnectionQuality = 1
   289  	ConnectionQuality_EXCELLENT ConnectionQuality = 2
   290  )
   291  
   292  // Enum value maps for ConnectionQuality.
   293  var (
   294  	ConnectionQuality_name = map[int32]string{
   295  		0: "POOR",
   296  		1: "GOOD",
   297  		2: "EXCELLENT",
   298  	}
   299  	ConnectionQuality_value = map[string]int32{
   300  		"POOR":      0,
   301  		"GOOD":      1,
   302  		"EXCELLENT": 2,
   303  	}
   304  )
   305  
   306  func (x ConnectionQuality) Enum() *ConnectionQuality {
   307  	p := new(ConnectionQuality)
   308  	*p = x
   309  	return p
   310  }
   311  
   312  func (x ConnectionQuality) String() string {
   313  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   314  }
   315  
   316  func (ConnectionQuality) Descriptor() protoreflect.EnumDescriptor {
   317  	return file_livekit_models_proto_enumTypes[5].Descriptor()
   318  }
   319  
   320  func (ConnectionQuality) Type() protoreflect.EnumType {
   321  	return &file_livekit_models_proto_enumTypes[5]
   322  }
   323  
   324  func (x ConnectionQuality) Number() protoreflect.EnumNumber {
   325  	return protoreflect.EnumNumber(x)
   326  }
   327  
   328  // Deprecated: Use ConnectionQuality.Descriptor instead.
   329  func (ConnectionQuality) EnumDescriptor() ([]byte, []int) {
   330  	return file_livekit_models_proto_rawDescGZIP(), []int{5}
   331  }
   332  
   333  type ClientConfigSetting int32
   334  
   335  const (
   336  	ClientConfigSetting_UNSET    ClientConfigSetting = 0
   337  	ClientConfigSetting_DISABLED ClientConfigSetting = 1
   338  	ClientConfigSetting_ENABLED  ClientConfigSetting = 2
   339  )
   340  
   341  // Enum value maps for ClientConfigSetting.
   342  var (
   343  	ClientConfigSetting_name = map[int32]string{
   344  		0: "UNSET",
   345  		1: "DISABLED",
   346  		2: "ENABLED",
   347  	}
   348  	ClientConfigSetting_value = map[string]int32{
   349  		"UNSET":    0,
   350  		"DISABLED": 1,
   351  		"ENABLED":  2,
   352  	}
   353  )
   354  
   355  func (x ClientConfigSetting) Enum() *ClientConfigSetting {
   356  	p := new(ClientConfigSetting)
   357  	*p = x
   358  	return p
   359  }
   360  
   361  func (x ClientConfigSetting) String() string {
   362  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   363  }
   364  
   365  func (ClientConfigSetting) Descriptor() protoreflect.EnumDescriptor {
   366  	return file_livekit_models_proto_enumTypes[6].Descriptor()
   367  }
   368  
   369  func (ClientConfigSetting) Type() protoreflect.EnumType {
   370  	return &file_livekit_models_proto_enumTypes[6]
   371  }
   372  
   373  func (x ClientConfigSetting) Number() protoreflect.EnumNumber {
   374  	return protoreflect.EnumNumber(x)
   375  }
   376  
   377  // Deprecated: Use ClientConfigSetting.Descriptor instead.
   378  func (ClientConfigSetting) EnumDescriptor() ([]byte, []int) {
   379  	return file_livekit_models_proto_rawDescGZIP(), []int{6}
   380  }
   381  
   382  type DisconnectReason int32
   383  
   384  const (
   385  	DisconnectReason_UNKNOWN_REASON      DisconnectReason = 0
   386  	DisconnectReason_CLIENT_INITIATED    DisconnectReason = 1
   387  	DisconnectReason_DUPLICATE_IDENTITY  DisconnectReason = 2
   388  	DisconnectReason_SERVER_SHUTDOWN     DisconnectReason = 3
   389  	DisconnectReason_PARTICIPANT_REMOVED DisconnectReason = 4
   390  	DisconnectReason_ROOM_DELETED        DisconnectReason = 5
   391  	DisconnectReason_STATE_MISMATCH      DisconnectReason = 6
   392  	DisconnectReason_JOIN_FAILURE        DisconnectReason = 7
   393  )
   394  
   395  // Enum value maps for DisconnectReason.
   396  var (
   397  	DisconnectReason_name = map[int32]string{
   398  		0: "UNKNOWN_REASON",
   399  		1: "CLIENT_INITIATED",
   400  		2: "DUPLICATE_IDENTITY",
   401  		3: "SERVER_SHUTDOWN",
   402  		4: "PARTICIPANT_REMOVED",
   403  		5: "ROOM_DELETED",
   404  		6: "STATE_MISMATCH",
   405  		7: "JOIN_FAILURE",
   406  	}
   407  	DisconnectReason_value = map[string]int32{
   408  		"UNKNOWN_REASON":      0,
   409  		"CLIENT_INITIATED":    1,
   410  		"DUPLICATE_IDENTITY":  2,
   411  		"SERVER_SHUTDOWN":     3,
   412  		"PARTICIPANT_REMOVED": 4,
   413  		"ROOM_DELETED":        5,
   414  		"STATE_MISMATCH":      6,
   415  		"JOIN_FAILURE":        7,
   416  	}
   417  )
   418  
   419  func (x DisconnectReason) Enum() *DisconnectReason {
   420  	p := new(DisconnectReason)
   421  	*p = x
   422  	return p
   423  }
   424  
   425  func (x DisconnectReason) String() string {
   426  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   427  }
   428  
   429  func (DisconnectReason) Descriptor() protoreflect.EnumDescriptor {
   430  	return file_livekit_models_proto_enumTypes[7].Descriptor()
   431  }
   432  
   433  func (DisconnectReason) Type() protoreflect.EnumType {
   434  	return &file_livekit_models_proto_enumTypes[7]
   435  }
   436  
   437  func (x DisconnectReason) Number() protoreflect.EnumNumber {
   438  	return protoreflect.EnumNumber(x)
   439  }
   440  
   441  // Deprecated: Use DisconnectReason.Descriptor instead.
   442  func (DisconnectReason) EnumDescriptor() ([]byte, []int) {
   443  	return file_livekit_models_proto_rawDescGZIP(), []int{7}
   444  }
   445  
   446  type ReconnectReason int32
   447  
   448  const (
   449  	ReconnectReason_RR_UNKOWN              ReconnectReason = 0
   450  	ReconnectReason_RR_SIGNAL_DISCONNECTED ReconnectReason = 1
   451  	ReconnectReason_RR_PUBLISHER_FAILED    ReconnectReason = 2
   452  	ReconnectReason_RR_SUBSCRIBER_FAILED   ReconnectReason = 3
   453  	ReconnectReason_RR_SWITCH_CANDIDATE    ReconnectReason = 4
   454  )
   455  
   456  // Enum value maps for ReconnectReason.
   457  var (
   458  	ReconnectReason_name = map[int32]string{
   459  		0: "RR_UNKOWN",
   460  		1: "RR_SIGNAL_DISCONNECTED",
   461  		2: "RR_PUBLISHER_FAILED",
   462  		3: "RR_SUBSCRIBER_FAILED",
   463  		4: "RR_SWITCH_CANDIDATE",
   464  	}
   465  	ReconnectReason_value = map[string]int32{
   466  		"RR_UNKOWN":              0,
   467  		"RR_SIGNAL_DISCONNECTED": 1,
   468  		"RR_PUBLISHER_FAILED":    2,
   469  		"RR_SUBSCRIBER_FAILED":   3,
   470  		"RR_SWITCH_CANDIDATE":    4,
   471  	}
   472  )
   473  
   474  func (x ReconnectReason) Enum() *ReconnectReason {
   475  	p := new(ReconnectReason)
   476  	*p = x
   477  	return p
   478  }
   479  
   480  func (x ReconnectReason) String() string {
   481  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   482  }
   483  
   484  func (ReconnectReason) Descriptor() protoreflect.EnumDescriptor {
   485  	return file_livekit_models_proto_enumTypes[8].Descriptor()
   486  }
   487  
   488  func (ReconnectReason) Type() protoreflect.EnumType {
   489  	return &file_livekit_models_proto_enumTypes[8]
   490  }
   491  
   492  func (x ReconnectReason) Number() protoreflect.EnumNumber {
   493  	return protoreflect.EnumNumber(x)
   494  }
   495  
   496  // Deprecated: Use ReconnectReason.Descriptor instead.
   497  func (ReconnectReason) EnumDescriptor() ([]byte, []int) {
   498  	return file_livekit_models_proto_rawDescGZIP(), []int{8}
   499  }
   500  
   501  type ParticipantInfo_State int32
   502  
   503  const (
   504  	// websocket' connected, but not offered yet
   505  	ParticipantInfo_JOINING ParticipantInfo_State = 0
   506  	// server received client offer
   507  	ParticipantInfo_JOINED ParticipantInfo_State = 1
   508  	// ICE connectivity established
   509  	ParticipantInfo_ACTIVE ParticipantInfo_State = 2
   510  	// WS disconnected
   511  	ParticipantInfo_DISCONNECTED ParticipantInfo_State = 3
   512  )
   513  
   514  // Enum value maps for ParticipantInfo_State.
   515  var (
   516  	ParticipantInfo_State_name = map[int32]string{
   517  		0: "JOINING",
   518  		1: "JOINED",
   519  		2: "ACTIVE",
   520  		3: "DISCONNECTED",
   521  	}
   522  	ParticipantInfo_State_value = map[string]int32{
   523  		"JOINING":      0,
   524  		"JOINED":       1,
   525  		"ACTIVE":       2,
   526  		"DISCONNECTED": 3,
   527  	}
   528  )
   529  
   530  func (x ParticipantInfo_State) Enum() *ParticipantInfo_State {
   531  	p := new(ParticipantInfo_State)
   532  	*p = x
   533  	return p
   534  }
   535  
   536  func (x ParticipantInfo_State) String() string {
   537  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   538  }
   539  
   540  func (ParticipantInfo_State) Descriptor() protoreflect.EnumDescriptor {
   541  	return file_livekit_models_proto_enumTypes[9].Descriptor()
   542  }
   543  
   544  func (ParticipantInfo_State) Type() protoreflect.EnumType {
   545  	return &file_livekit_models_proto_enumTypes[9]
   546  }
   547  
   548  func (x ParticipantInfo_State) Number() protoreflect.EnumNumber {
   549  	return protoreflect.EnumNumber(x)
   550  }
   551  
   552  // Deprecated: Use ParticipantInfo_State.Descriptor instead.
   553  func (ParticipantInfo_State) EnumDescriptor() ([]byte, []int) {
   554  	return file_livekit_models_proto_rawDescGZIP(), []int{3, 0}
   555  }
   556  
   557  type Encryption_Type int32
   558  
   559  const (
   560  	Encryption_NONE   Encryption_Type = 0
   561  	Encryption_GCM    Encryption_Type = 1
   562  	Encryption_CUSTOM Encryption_Type = 2
   563  )
   564  
   565  // Enum value maps for Encryption_Type.
   566  var (
   567  	Encryption_Type_name = map[int32]string{
   568  		0: "NONE",
   569  		1: "GCM",
   570  		2: "CUSTOM",
   571  	}
   572  	Encryption_Type_value = map[string]int32{
   573  		"NONE":   0,
   574  		"GCM":    1,
   575  		"CUSTOM": 2,
   576  	}
   577  )
   578  
   579  func (x Encryption_Type) Enum() *Encryption_Type {
   580  	p := new(Encryption_Type)
   581  	*p = x
   582  	return p
   583  }
   584  
   585  func (x Encryption_Type) String() string {
   586  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   587  }
   588  
   589  func (Encryption_Type) Descriptor() protoreflect.EnumDescriptor {
   590  	return file_livekit_models_proto_enumTypes[10].Descriptor()
   591  }
   592  
   593  func (Encryption_Type) Type() protoreflect.EnumType {
   594  	return &file_livekit_models_proto_enumTypes[10]
   595  }
   596  
   597  func (x Encryption_Type) Number() protoreflect.EnumNumber {
   598  	return protoreflect.EnumNumber(x)
   599  }
   600  
   601  // Deprecated: Use Encryption_Type.Descriptor instead.
   602  func (Encryption_Type) EnumDescriptor() ([]byte, []int) {
   603  	return file_livekit_models_proto_rawDescGZIP(), []int{4, 0}
   604  }
   605  
   606  type DataPacket_Kind int32
   607  
   608  const (
   609  	DataPacket_RELIABLE DataPacket_Kind = 0
   610  	DataPacket_LOSSY    DataPacket_Kind = 1
   611  )
   612  
   613  // Enum value maps for DataPacket_Kind.
   614  var (
   615  	DataPacket_Kind_name = map[int32]string{
   616  		0: "RELIABLE",
   617  		1: "LOSSY",
   618  	}
   619  	DataPacket_Kind_value = map[string]int32{
   620  		"RELIABLE": 0,
   621  		"LOSSY":    1,
   622  	}
   623  )
   624  
   625  func (x DataPacket_Kind) Enum() *DataPacket_Kind {
   626  	p := new(DataPacket_Kind)
   627  	*p = x
   628  	return p
   629  }
   630  
   631  func (x DataPacket_Kind) String() string {
   632  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   633  }
   634  
   635  func (DataPacket_Kind) Descriptor() protoreflect.EnumDescriptor {
   636  	return file_livekit_models_proto_enumTypes[11].Descriptor()
   637  }
   638  
   639  func (DataPacket_Kind) Type() protoreflect.EnumType {
   640  	return &file_livekit_models_proto_enumTypes[11]
   641  }
   642  
   643  func (x DataPacket_Kind) Number() protoreflect.EnumNumber {
   644  	return protoreflect.EnumNumber(x)
   645  }
   646  
   647  // Deprecated: Use DataPacket_Kind.Descriptor instead.
   648  func (DataPacket_Kind) EnumDescriptor() ([]byte, []int) {
   649  	return file_livekit_models_proto_rawDescGZIP(), []int{8, 0}
   650  }
   651  
   652  type ServerInfo_Edition int32
   653  
   654  const (
   655  	ServerInfo_Standard ServerInfo_Edition = 0
   656  	ServerInfo_Cloud    ServerInfo_Edition = 1
   657  )
   658  
   659  // Enum value maps for ServerInfo_Edition.
   660  var (
   661  	ServerInfo_Edition_name = map[int32]string{
   662  		0: "Standard",
   663  		1: "Cloud",
   664  	}
   665  	ServerInfo_Edition_value = map[string]int32{
   666  		"Standard": 0,
   667  		"Cloud":    1,
   668  	}
   669  )
   670  
   671  func (x ServerInfo_Edition) Enum() *ServerInfo_Edition {
   672  	p := new(ServerInfo_Edition)
   673  	*p = x
   674  	return p
   675  }
   676  
   677  func (x ServerInfo_Edition) String() string {
   678  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   679  }
   680  
   681  func (ServerInfo_Edition) Descriptor() protoreflect.EnumDescriptor {
   682  	return file_livekit_models_proto_enumTypes[12].Descriptor()
   683  }
   684  
   685  func (ServerInfo_Edition) Type() protoreflect.EnumType {
   686  	return &file_livekit_models_proto_enumTypes[12]
   687  }
   688  
   689  func (x ServerInfo_Edition) Number() protoreflect.EnumNumber {
   690  	return protoreflect.EnumNumber(x)
   691  }
   692  
   693  // Deprecated: Use ServerInfo_Edition.Descriptor instead.
   694  func (ServerInfo_Edition) EnumDescriptor() ([]byte, []int) {
   695  	return file_livekit_models_proto_rawDescGZIP(), []int{13, 0}
   696  }
   697  
   698  type ClientInfo_SDK int32
   699  
   700  const (
   701  	ClientInfo_UNKNOWN      ClientInfo_SDK = 0
   702  	ClientInfo_JS           ClientInfo_SDK = 1
   703  	ClientInfo_SWIFT        ClientInfo_SDK = 2
   704  	ClientInfo_ANDROID      ClientInfo_SDK = 3
   705  	ClientInfo_FLUTTER      ClientInfo_SDK = 4
   706  	ClientInfo_GO           ClientInfo_SDK = 5
   707  	ClientInfo_UNITY        ClientInfo_SDK = 6
   708  	ClientInfo_REACT_NATIVE ClientInfo_SDK = 7
   709  	ClientInfo_RUST         ClientInfo_SDK = 8
   710  )
   711  
   712  // Enum value maps for ClientInfo_SDK.
   713  var (
   714  	ClientInfo_SDK_name = map[int32]string{
   715  		0: "UNKNOWN",
   716  		1: "JS",
   717  		2: "SWIFT",
   718  		3: "ANDROID",
   719  		4: "FLUTTER",
   720  		5: "GO",
   721  		6: "UNITY",
   722  		7: "REACT_NATIVE",
   723  		8: "RUST",
   724  	}
   725  	ClientInfo_SDK_value = map[string]int32{
   726  		"UNKNOWN":      0,
   727  		"JS":           1,
   728  		"SWIFT":        2,
   729  		"ANDROID":      3,
   730  		"FLUTTER":      4,
   731  		"GO":           5,
   732  		"UNITY":        6,
   733  		"REACT_NATIVE": 7,
   734  		"RUST":         8,
   735  	}
   736  )
   737  
   738  func (x ClientInfo_SDK) Enum() *ClientInfo_SDK {
   739  	p := new(ClientInfo_SDK)
   740  	*p = x
   741  	return p
   742  }
   743  
   744  func (x ClientInfo_SDK) String() string {
   745  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   746  }
   747  
   748  func (ClientInfo_SDK) Descriptor() protoreflect.EnumDescriptor {
   749  	return file_livekit_models_proto_enumTypes[13].Descriptor()
   750  }
   751  
   752  func (ClientInfo_SDK) Type() protoreflect.EnumType {
   753  	return &file_livekit_models_proto_enumTypes[13]
   754  }
   755  
   756  func (x ClientInfo_SDK) Number() protoreflect.EnumNumber {
   757  	return protoreflect.EnumNumber(x)
   758  }
   759  
   760  // Deprecated: Use ClientInfo_SDK.Descriptor instead.
   761  func (ClientInfo_SDK) EnumDescriptor() ([]byte, []int) {
   762  	return file_livekit_models_proto_rawDescGZIP(), []int{14, 0}
   763  }
   764  
   765  type Room struct {
   766  	state         protoimpl.MessageState
   767  	sizeCache     protoimpl.SizeCache
   768  	unknownFields protoimpl.UnknownFields
   769  
   770  	Sid             string   `protobuf:"bytes,1,opt,name=sid,proto3" json:"sid,omitempty"`
   771  	Name            string   `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   772  	EmptyTimeout    uint32   `protobuf:"varint,3,opt,name=empty_timeout,json=emptyTimeout,proto3" json:"empty_timeout,omitempty"`
   773  	MaxParticipants uint32   `protobuf:"varint,4,opt,name=max_participants,json=maxParticipants,proto3" json:"max_participants,omitempty"`
   774  	CreationTime    int64    `protobuf:"varint,5,opt,name=creation_time,json=creationTime,proto3" json:"creation_time,omitempty"`
   775  	TurnPassword    string   `protobuf:"bytes,6,opt,name=turn_password,json=turnPassword,proto3" json:"turn_password,omitempty"`
   776  	EnabledCodecs   []*Codec `protobuf:"bytes,7,rep,name=enabled_codecs,json=enabledCodecs,proto3" json:"enabled_codecs,omitempty"`
   777  	Metadata        string   `protobuf:"bytes,8,opt,name=metadata,proto3" json:"metadata,omitempty"`
   778  	NumParticipants uint32   `protobuf:"varint,9,opt,name=num_participants,json=numParticipants,proto3" json:"num_participants,omitempty"`
   779  	NumPublishers   uint32   `protobuf:"varint,11,opt,name=num_publishers,json=numPublishers,proto3" json:"num_publishers,omitempty"`
   780  	ActiveRecording bool     `protobuf:"varint,10,opt,name=active_recording,json=activeRecording,proto3" json:"active_recording,omitempty"`
   781  }
   782  
   783  func (x *Room) Reset() {
   784  	*x = Room{}
   785  	if protoimpl.UnsafeEnabled {
   786  		mi := &file_livekit_models_proto_msgTypes[0]
   787  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   788  		ms.StoreMessageInfo(mi)
   789  	}
   790  }
   791  
   792  func (x *Room) String() string {
   793  	return protoimpl.X.MessageStringOf(x)
   794  }
   795  
   796  func (*Room) ProtoMessage() {}
   797  
   798  func (x *Room) ProtoReflect() protoreflect.Message {
   799  	mi := &file_livekit_models_proto_msgTypes[0]
   800  	if protoimpl.UnsafeEnabled && x != nil {
   801  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   802  		if ms.LoadMessageInfo() == nil {
   803  			ms.StoreMessageInfo(mi)
   804  		}
   805  		return ms
   806  	}
   807  	return mi.MessageOf(x)
   808  }
   809  
   810  // Deprecated: Use Room.ProtoReflect.Descriptor instead.
   811  func (*Room) Descriptor() ([]byte, []int) {
   812  	return file_livekit_models_proto_rawDescGZIP(), []int{0}
   813  }
   814  
   815  func (x *Room) GetSid() string {
   816  	if x != nil {
   817  		return x.Sid
   818  	}
   819  	return ""
   820  }
   821  
   822  func (x *Room) GetName() string {
   823  	if x != nil {
   824  		return x.Name
   825  	}
   826  	return ""
   827  }
   828  
   829  func (x *Room) GetEmptyTimeout() uint32 {
   830  	if x != nil {
   831  		return x.EmptyTimeout
   832  	}
   833  	return 0
   834  }
   835  
   836  func (x *Room) GetMaxParticipants() uint32 {
   837  	if x != nil {
   838  		return x.MaxParticipants
   839  	}
   840  	return 0
   841  }
   842  
   843  func (x *Room) GetCreationTime() int64 {
   844  	if x != nil {
   845  		return x.CreationTime
   846  	}
   847  	return 0
   848  }
   849  
   850  func (x *Room) GetTurnPassword() string {
   851  	if x != nil {
   852  		return x.TurnPassword
   853  	}
   854  	return ""
   855  }
   856  
   857  func (x *Room) GetEnabledCodecs() []*Codec {
   858  	if x != nil {
   859  		return x.EnabledCodecs
   860  	}
   861  	return nil
   862  }
   863  
   864  func (x *Room) GetMetadata() string {
   865  	if x != nil {
   866  		return x.Metadata
   867  	}
   868  	return ""
   869  }
   870  
   871  func (x *Room) GetNumParticipants() uint32 {
   872  	if x != nil {
   873  		return x.NumParticipants
   874  	}
   875  	return 0
   876  }
   877  
   878  func (x *Room) GetNumPublishers() uint32 {
   879  	if x != nil {
   880  		return x.NumPublishers
   881  	}
   882  	return 0
   883  }
   884  
   885  func (x *Room) GetActiveRecording() bool {
   886  	if x != nil {
   887  		return x.ActiveRecording
   888  	}
   889  	return false
   890  }
   891  
   892  type Codec struct {
   893  	state         protoimpl.MessageState
   894  	sizeCache     protoimpl.SizeCache
   895  	unknownFields protoimpl.UnknownFields
   896  
   897  	Mime     string `protobuf:"bytes,1,opt,name=mime,proto3" json:"mime,omitempty"`
   898  	FmtpLine string `protobuf:"bytes,2,opt,name=fmtp_line,json=fmtpLine,proto3" json:"fmtp_line,omitempty"`
   899  }
   900  
   901  func (x *Codec) Reset() {
   902  	*x = Codec{}
   903  	if protoimpl.UnsafeEnabled {
   904  		mi := &file_livekit_models_proto_msgTypes[1]
   905  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   906  		ms.StoreMessageInfo(mi)
   907  	}
   908  }
   909  
   910  func (x *Codec) String() string {
   911  	return protoimpl.X.MessageStringOf(x)
   912  }
   913  
   914  func (*Codec) ProtoMessage() {}
   915  
   916  func (x *Codec) ProtoReflect() protoreflect.Message {
   917  	mi := &file_livekit_models_proto_msgTypes[1]
   918  	if protoimpl.UnsafeEnabled && x != nil {
   919  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   920  		if ms.LoadMessageInfo() == nil {
   921  			ms.StoreMessageInfo(mi)
   922  		}
   923  		return ms
   924  	}
   925  	return mi.MessageOf(x)
   926  }
   927  
   928  // Deprecated: Use Codec.ProtoReflect.Descriptor instead.
   929  func (*Codec) Descriptor() ([]byte, []int) {
   930  	return file_livekit_models_proto_rawDescGZIP(), []int{1}
   931  }
   932  
   933  func (x *Codec) GetMime() string {
   934  	if x != nil {
   935  		return x.Mime
   936  	}
   937  	return ""
   938  }
   939  
   940  func (x *Codec) GetFmtpLine() string {
   941  	if x != nil {
   942  		return x.FmtpLine
   943  	}
   944  	return ""
   945  }
   946  
   947  type ParticipantPermission struct {
   948  	state         protoimpl.MessageState
   949  	sizeCache     protoimpl.SizeCache
   950  	unknownFields protoimpl.UnknownFields
   951  
   952  	// allow participant to subscribe to other tracks in the room
   953  	CanSubscribe bool `protobuf:"varint,1,opt,name=can_subscribe,json=canSubscribe,proto3" json:"can_subscribe,omitempty"`
   954  	// allow participant to publish new tracks to room
   955  	CanPublish bool `protobuf:"varint,2,opt,name=can_publish,json=canPublish,proto3" json:"can_publish,omitempty"`
   956  	// allow participant to publish data
   957  	CanPublishData bool `protobuf:"varint,3,opt,name=can_publish_data,json=canPublishData,proto3" json:"can_publish_data,omitempty"`
   958  	// sources that are allowed to be published
   959  	CanPublishSources []TrackSource `protobuf:"varint,9,rep,packed,name=can_publish_sources,json=canPublishSources,proto3,enum=livekit.TrackSource" json:"can_publish_sources,omitempty"`
   960  	// indicates that it's hidden to others
   961  	Hidden bool `protobuf:"varint,7,opt,name=hidden,proto3" json:"hidden,omitempty"`
   962  	// indicates it's a recorder instance
   963  	Recorder bool `protobuf:"varint,8,opt,name=recorder,proto3" json:"recorder,omitempty"`
   964  	// indicates that participant can update own metadata
   965  	CanUpdateMetadata bool `protobuf:"varint,10,opt,name=can_update_metadata,json=canUpdateMetadata,proto3" json:"can_update_metadata,omitempty"`
   966  }
   967  
   968  func (x *ParticipantPermission) Reset() {
   969  	*x = ParticipantPermission{}
   970  	if protoimpl.UnsafeEnabled {
   971  		mi := &file_livekit_models_proto_msgTypes[2]
   972  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   973  		ms.StoreMessageInfo(mi)
   974  	}
   975  }
   976  
   977  func (x *ParticipantPermission) String() string {
   978  	return protoimpl.X.MessageStringOf(x)
   979  }
   980  
   981  func (*ParticipantPermission) ProtoMessage() {}
   982  
   983  func (x *ParticipantPermission) ProtoReflect() protoreflect.Message {
   984  	mi := &file_livekit_models_proto_msgTypes[2]
   985  	if protoimpl.UnsafeEnabled && x != nil {
   986  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   987  		if ms.LoadMessageInfo() == nil {
   988  			ms.StoreMessageInfo(mi)
   989  		}
   990  		return ms
   991  	}
   992  	return mi.MessageOf(x)
   993  }
   994  
   995  // Deprecated: Use ParticipantPermission.ProtoReflect.Descriptor instead.
   996  func (*ParticipantPermission) Descriptor() ([]byte, []int) {
   997  	return file_livekit_models_proto_rawDescGZIP(), []int{2}
   998  }
   999  
  1000  func (x *ParticipantPermission) GetCanSubscribe() bool {
  1001  	if x != nil {
  1002  		return x.CanSubscribe
  1003  	}
  1004  	return false
  1005  }
  1006  
  1007  func (x *ParticipantPermission) GetCanPublish() bool {
  1008  	if x != nil {
  1009  		return x.CanPublish
  1010  	}
  1011  	return false
  1012  }
  1013  
  1014  func (x *ParticipantPermission) GetCanPublishData() bool {
  1015  	if x != nil {
  1016  		return x.CanPublishData
  1017  	}
  1018  	return false
  1019  }
  1020  
  1021  func (x *ParticipantPermission) GetCanPublishSources() []TrackSource {
  1022  	if x != nil {
  1023  		return x.CanPublishSources
  1024  	}
  1025  	return nil
  1026  }
  1027  
  1028  func (x *ParticipantPermission) GetHidden() bool {
  1029  	if x != nil {
  1030  		return x.Hidden
  1031  	}
  1032  	return false
  1033  }
  1034  
  1035  func (x *ParticipantPermission) GetRecorder() bool {
  1036  	if x != nil {
  1037  		return x.Recorder
  1038  	}
  1039  	return false
  1040  }
  1041  
  1042  func (x *ParticipantPermission) GetCanUpdateMetadata() bool {
  1043  	if x != nil {
  1044  		return x.CanUpdateMetadata
  1045  	}
  1046  	return false
  1047  }
  1048  
  1049  type ParticipantInfo struct {
  1050  	state         protoimpl.MessageState
  1051  	sizeCache     protoimpl.SizeCache
  1052  	unknownFields protoimpl.UnknownFields
  1053  
  1054  	Sid      string                `protobuf:"bytes,1,opt,name=sid,proto3" json:"sid,omitempty"`
  1055  	Identity string                `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"`
  1056  	State    ParticipantInfo_State `protobuf:"varint,3,opt,name=state,proto3,enum=livekit.ParticipantInfo_State" json:"state,omitempty"`
  1057  	Tracks   []*TrackInfo          `protobuf:"bytes,4,rep,name=tracks,proto3" json:"tracks,omitempty"`
  1058  	Metadata string                `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"`
  1059  	// timestamp when participant joined room, in seconds
  1060  	JoinedAt   int64                  `protobuf:"varint,6,opt,name=joined_at,json=joinedAt,proto3" json:"joined_at,omitempty"`
  1061  	Name       string                 `protobuf:"bytes,9,opt,name=name,proto3" json:"name,omitempty"`
  1062  	Version    uint32                 `protobuf:"varint,10,opt,name=version,proto3" json:"version,omitempty"`
  1063  	Permission *ParticipantPermission `protobuf:"bytes,11,opt,name=permission,proto3" json:"permission,omitempty"`
  1064  	Region     string                 `protobuf:"bytes,12,opt,name=region,proto3" json:"region,omitempty"`
  1065  	// indicates the participant has an active publisher connection
  1066  	// and can publish to the server
  1067  	IsPublisher bool `protobuf:"varint,13,opt,name=is_publisher,json=isPublisher,proto3" json:"is_publisher,omitempty"`
  1068  }
  1069  
  1070  func (x *ParticipantInfo) Reset() {
  1071  	*x = ParticipantInfo{}
  1072  	if protoimpl.UnsafeEnabled {
  1073  		mi := &file_livekit_models_proto_msgTypes[3]
  1074  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1075  		ms.StoreMessageInfo(mi)
  1076  	}
  1077  }
  1078  
  1079  func (x *ParticipantInfo) String() string {
  1080  	return protoimpl.X.MessageStringOf(x)
  1081  }
  1082  
  1083  func (*ParticipantInfo) ProtoMessage() {}
  1084  
  1085  func (x *ParticipantInfo) ProtoReflect() protoreflect.Message {
  1086  	mi := &file_livekit_models_proto_msgTypes[3]
  1087  	if protoimpl.UnsafeEnabled && x != nil {
  1088  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1089  		if ms.LoadMessageInfo() == nil {
  1090  			ms.StoreMessageInfo(mi)
  1091  		}
  1092  		return ms
  1093  	}
  1094  	return mi.MessageOf(x)
  1095  }
  1096  
  1097  // Deprecated: Use ParticipantInfo.ProtoReflect.Descriptor instead.
  1098  func (*ParticipantInfo) Descriptor() ([]byte, []int) {
  1099  	return file_livekit_models_proto_rawDescGZIP(), []int{3}
  1100  }
  1101  
  1102  func (x *ParticipantInfo) GetSid() string {
  1103  	if x != nil {
  1104  		return x.Sid
  1105  	}
  1106  	return ""
  1107  }
  1108  
  1109  func (x *ParticipantInfo) GetIdentity() string {
  1110  	if x != nil {
  1111  		return x.Identity
  1112  	}
  1113  	return ""
  1114  }
  1115  
  1116  func (x *ParticipantInfo) GetState() ParticipantInfo_State {
  1117  	if x != nil {
  1118  		return x.State
  1119  	}
  1120  	return ParticipantInfo_JOINING
  1121  }
  1122  
  1123  func (x *ParticipantInfo) GetTracks() []*TrackInfo {
  1124  	if x != nil {
  1125  		return x.Tracks
  1126  	}
  1127  	return nil
  1128  }
  1129  
  1130  func (x *ParticipantInfo) GetMetadata() string {
  1131  	if x != nil {
  1132  		return x.Metadata
  1133  	}
  1134  	return ""
  1135  }
  1136  
  1137  func (x *ParticipantInfo) GetJoinedAt() int64 {
  1138  	if x != nil {
  1139  		return x.JoinedAt
  1140  	}
  1141  	return 0
  1142  }
  1143  
  1144  func (x *ParticipantInfo) GetName() string {
  1145  	if x != nil {
  1146  		return x.Name
  1147  	}
  1148  	return ""
  1149  }
  1150  
  1151  func (x *ParticipantInfo) GetVersion() uint32 {
  1152  	if x != nil {
  1153  		return x.Version
  1154  	}
  1155  	return 0
  1156  }
  1157  
  1158  func (x *ParticipantInfo) GetPermission() *ParticipantPermission {
  1159  	if x != nil {
  1160  		return x.Permission
  1161  	}
  1162  	return nil
  1163  }
  1164  
  1165  func (x *ParticipantInfo) GetRegion() string {
  1166  	if x != nil {
  1167  		return x.Region
  1168  	}
  1169  	return ""
  1170  }
  1171  
  1172  func (x *ParticipantInfo) GetIsPublisher() bool {
  1173  	if x != nil {
  1174  		return x.IsPublisher
  1175  	}
  1176  	return false
  1177  }
  1178  
  1179  type Encryption struct {
  1180  	state         protoimpl.MessageState
  1181  	sizeCache     protoimpl.SizeCache
  1182  	unknownFields protoimpl.UnknownFields
  1183  }
  1184  
  1185  func (x *Encryption) Reset() {
  1186  	*x = Encryption{}
  1187  	if protoimpl.UnsafeEnabled {
  1188  		mi := &file_livekit_models_proto_msgTypes[4]
  1189  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1190  		ms.StoreMessageInfo(mi)
  1191  	}
  1192  }
  1193  
  1194  func (x *Encryption) String() string {
  1195  	return protoimpl.X.MessageStringOf(x)
  1196  }
  1197  
  1198  func (*Encryption) ProtoMessage() {}
  1199  
  1200  func (x *Encryption) ProtoReflect() protoreflect.Message {
  1201  	mi := &file_livekit_models_proto_msgTypes[4]
  1202  	if protoimpl.UnsafeEnabled && x != nil {
  1203  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1204  		if ms.LoadMessageInfo() == nil {
  1205  			ms.StoreMessageInfo(mi)
  1206  		}
  1207  		return ms
  1208  	}
  1209  	return mi.MessageOf(x)
  1210  }
  1211  
  1212  // Deprecated: Use Encryption.ProtoReflect.Descriptor instead.
  1213  func (*Encryption) Descriptor() ([]byte, []int) {
  1214  	return file_livekit_models_proto_rawDescGZIP(), []int{4}
  1215  }
  1216  
  1217  type SimulcastCodecInfo struct {
  1218  	state         protoimpl.MessageState
  1219  	sizeCache     protoimpl.SizeCache
  1220  	unknownFields protoimpl.UnknownFields
  1221  
  1222  	MimeType string        `protobuf:"bytes,1,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
  1223  	Mid      string        `protobuf:"bytes,2,opt,name=mid,proto3" json:"mid,omitempty"`
  1224  	Cid      string        `protobuf:"bytes,3,opt,name=cid,proto3" json:"cid,omitempty"`
  1225  	Layers   []*VideoLayer `protobuf:"bytes,4,rep,name=layers,proto3" json:"layers,omitempty"`
  1226  }
  1227  
  1228  func (x *SimulcastCodecInfo) Reset() {
  1229  	*x = SimulcastCodecInfo{}
  1230  	if protoimpl.UnsafeEnabled {
  1231  		mi := &file_livekit_models_proto_msgTypes[5]
  1232  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1233  		ms.StoreMessageInfo(mi)
  1234  	}
  1235  }
  1236  
  1237  func (x *SimulcastCodecInfo) String() string {
  1238  	return protoimpl.X.MessageStringOf(x)
  1239  }
  1240  
  1241  func (*SimulcastCodecInfo) ProtoMessage() {}
  1242  
  1243  func (x *SimulcastCodecInfo) ProtoReflect() protoreflect.Message {
  1244  	mi := &file_livekit_models_proto_msgTypes[5]
  1245  	if protoimpl.UnsafeEnabled && x != nil {
  1246  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1247  		if ms.LoadMessageInfo() == nil {
  1248  			ms.StoreMessageInfo(mi)
  1249  		}
  1250  		return ms
  1251  	}
  1252  	return mi.MessageOf(x)
  1253  }
  1254  
  1255  // Deprecated: Use SimulcastCodecInfo.ProtoReflect.Descriptor instead.
  1256  func (*SimulcastCodecInfo) Descriptor() ([]byte, []int) {
  1257  	return file_livekit_models_proto_rawDescGZIP(), []int{5}
  1258  }
  1259  
  1260  func (x *SimulcastCodecInfo) GetMimeType() string {
  1261  	if x != nil {
  1262  		return x.MimeType
  1263  	}
  1264  	return ""
  1265  }
  1266  
  1267  func (x *SimulcastCodecInfo) GetMid() string {
  1268  	if x != nil {
  1269  		return x.Mid
  1270  	}
  1271  	return ""
  1272  }
  1273  
  1274  func (x *SimulcastCodecInfo) GetCid() string {
  1275  	if x != nil {
  1276  		return x.Cid
  1277  	}
  1278  	return ""
  1279  }
  1280  
  1281  func (x *SimulcastCodecInfo) GetLayers() []*VideoLayer {
  1282  	if x != nil {
  1283  		return x.Layers
  1284  	}
  1285  	return nil
  1286  }
  1287  
  1288  type TrackInfo struct {
  1289  	state         protoimpl.MessageState
  1290  	sizeCache     protoimpl.SizeCache
  1291  	unknownFields protoimpl.UnknownFields
  1292  
  1293  	Sid   string    `protobuf:"bytes,1,opt,name=sid,proto3" json:"sid,omitempty"`
  1294  	Type  TrackType `protobuf:"varint,2,opt,name=type,proto3,enum=livekit.TrackType" json:"type,omitempty"`
  1295  	Name  string    `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
  1296  	Muted bool      `protobuf:"varint,4,opt,name=muted,proto3" json:"muted,omitempty"`
  1297  	// original width of video (unset for audio)
  1298  	// clients may receive a lower resolution version with simulcast
  1299  	Width uint32 `protobuf:"varint,5,opt,name=width,proto3" json:"width,omitempty"`
  1300  	// original height of video (unset for audio)
  1301  	Height uint32 `protobuf:"varint,6,opt,name=height,proto3" json:"height,omitempty"`
  1302  	// true if track is simulcasted
  1303  	Simulcast bool `protobuf:"varint,7,opt,name=simulcast,proto3" json:"simulcast,omitempty"`
  1304  	// true if DTX (Discontinuous Transmission) is disabled for audio
  1305  	DisableDtx bool `protobuf:"varint,8,opt,name=disable_dtx,json=disableDtx,proto3" json:"disable_dtx,omitempty"`
  1306  	// source of media
  1307  	Source TrackSource   `protobuf:"varint,9,opt,name=source,proto3,enum=livekit.TrackSource" json:"source,omitempty"`
  1308  	Layers []*VideoLayer `protobuf:"bytes,10,rep,name=layers,proto3" json:"layers,omitempty"`
  1309  	// mime type of codec
  1310  	MimeType string                `protobuf:"bytes,11,opt,name=mime_type,json=mimeType,proto3" json:"mime_type,omitempty"`
  1311  	Mid      string                `protobuf:"bytes,12,opt,name=mid,proto3" json:"mid,omitempty"`
  1312  	Codecs   []*SimulcastCodecInfo `protobuf:"bytes,13,rep,name=codecs,proto3" json:"codecs,omitempty"`
  1313  	Stereo   bool                  `protobuf:"varint,14,opt,name=stereo,proto3" json:"stereo,omitempty"`
  1314  	// true if RED (Redundant Encoding) is disabled for audio
  1315  	DisableRed bool            `protobuf:"varint,15,opt,name=disable_red,json=disableRed,proto3" json:"disable_red,omitempty"`
  1316  	Encryption Encryption_Type `protobuf:"varint,16,opt,name=encryption,proto3,enum=livekit.Encryption_Type" json:"encryption,omitempty"`
  1317  }
  1318  
  1319  func (x *TrackInfo) Reset() {
  1320  	*x = TrackInfo{}
  1321  	if protoimpl.UnsafeEnabled {
  1322  		mi := &file_livekit_models_proto_msgTypes[6]
  1323  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1324  		ms.StoreMessageInfo(mi)
  1325  	}
  1326  }
  1327  
  1328  func (x *TrackInfo) String() string {
  1329  	return protoimpl.X.MessageStringOf(x)
  1330  }
  1331  
  1332  func (*TrackInfo) ProtoMessage() {}
  1333  
  1334  func (x *TrackInfo) ProtoReflect() protoreflect.Message {
  1335  	mi := &file_livekit_models_proto_msgTypes[6]
  1336  	if protoimpl.UnsafeEnabled && x != nil {
  1337  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1338  		if ms.LoadMessageInfo() == nil {
  1339  			ms.StoreMessageInfo(mi)
  1340  		}
  1341  		return ms
  1342  	}
  1343  	return mi.MessageOf(x)
  1344  }
  1345  
  1346  // Deprecated: Use TrackInfo.ProtoReflect.Descriptor instead.
  1347  func (*TrackInfo) Descriptor() ([]byte, []int) {
  1348  	return file_livekit_models_proto_rawDescGZIP(), []int{6}
  1349  }
  1350  
  1351  func (x *TrackInfo) GetSid() string {
  1352  	if x != nil {
  1353  		return x.Sid
  1354  	}
  1355  	return ""
  1356  }
  1357  
  1358  func (x *TrackInfo) GetType() TrackType {
  1359  	if x != nil {
  1360  		return x.Type
  1361  	}
  1362  	return TrackType_AUDIO
  1363  }
  1364  
  1365  func (x *TrackInfo) GetName() string {
  1366  	if x != nil {
  1367  		return x.Name
  1368  	}
  1369  	return ""
  1370  }
  1371  
  1372  func (x *TrackInfo) GetMuted() bool {
  1373  	if x != nil {
  1374  		return x.Muted
  1375  	}
  1376  	return false
  1377  }
  1378  
  1379  func (x *TrackInfo) GetWidth() uint32 {
  1380  	if x != nil {
  1381  		return x.Width
  1382  	}
  1383  	return 0
  1384  }
  1385  
  1386  func (x *TrackInfo) GetHeight() uint32 {
  1387  	if x != nil {
  1388  		return x.Height
  1389  	}
  1390  	return 0
  1391  }
  1392  
  1393  func (x *TrackInfo) GetSimulcast() bool {
  1394  	if x != nil {
  1395  		return x.Simulcast
  1396  	}
  1397  	return false
  1398  }
  1399  
  1400  func (x *TrackInfo) GetDisableDtx() bool {
  1401  	if x != nil {
  1402  		return x.DisableDtx
  1403  	}
  1404  	return false
  1405  }
  1406  
  1407  func (x *TrackInfo) GetSource() TrackSource {
  1408  	if x != nil {
  1409  		return x.Source
  1410  	}
  1411  	return TrackSource_UNKNOWN
  1412  }
  1413  
  1414  func (x *TrackInfo) GetLayers() []*VideoLayer {
  1415  	if x != nil {
  1416  		return x.Layers
  1417  	}
  1418  	return nil
  1419  }
  1420  
  1421  func (x *TrackInfo) GetMimeType() string {
  1422  	if x != nil {
  1423  		return x.MimeType
  1424  	}
  1425  	return ""
  1426  }
  1427  
  1428  func (x *TrackInfo) GetMid() string {
  1429  	if x != nil {
  1430  		return x.Mid
  1431  	}
  1432  	return ""
  1433  }
  1434  
  1435  func (x *TrackInfo) GetCodecs() []*SimulcastCodecInfo {
  1436  	if x != nil {
  1437  		return x.Codecs
  1438  	}
  1439  	return nil
  1440  }
  1441  
  1442  func (x *TrackInfo) GetStereo() bool {
  1443  	if x != nil {
  1444  		return x.Stereo
  1445  	}
  1446  	return false
  1447  }
  1448  
  1449  func (x *TrackInfo) GetDisableRed() bool {
  1450  	if x != nil {
  1451  		return x.DisableRed
  1452  	}
  1453  	return false
  1454  }
  1455  
  1456  func (x *TrackInfo) GetEncryption() Encryption_Type {
  1457  	if x != nil {
  1458  		return x.Encryption
  1459  	}
  1460  	return Encryption_NONE
  1461  }
  1462  
  1463  // provide information about available spatial layers
  1464  type VideoLayer struct {
  1465  	state         protoimpl.MessageState
  1466  	sizeCache     protoimpl.SizeCache
  1467  	unknownFields protoimpl.UnknownFields
  1468  
  1469  	// for tracks with a single layer, this should be HIGH
  1470  	Quality VideoQuality `protobuf:"varint,1,opt,name=quality,proto3,enum=livekit.VideoQuality" json:"quality,omitempty"`
  1471  	Width   uint32       `protobuf:"varint,2,opt,name=width,proto3" json:"width,omitempty"`
  1472  	Height  uint32       `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
  1473  	// target bitrate in bit per second (bps), server will measure actual
  1474  	Bitrate uint32 `protobuf:"varint,4,opt,name=bitrate,proto3" json:"bitrate,omitempty"`
  1475  	Ssrc    uint32 `protobuf:"varint,5,opt,name=ssrc,proto3" json:"ssrc,omitempty"`
  1476  }
  1477  
  1478  func (x *VideoLayer) Reset() {
  1479  	*x = VideoLayer{}
  1480  	if protoimpl.UnsafeEnabled {
  1481  		mi := &file_livekit_models_proto_msgTypes[7]
  1482  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1483  		ms.StoreMessageInfo(mi)
  1484  	}
  1485  }
  1486  
  1487  func (x *VideoLayer) String() string {
  1488  	return protoimpl.X.MessageStringOf(x)
  1489  }
  1490  
  1491  func (*VideoLayer) ProtoMessage() {}
  1492  
  1493  func (x *VideoLayer) ProtoReflect() protoreflect.Message {
  1494  	mi := &file_livekit_models_proto_msgTypes[7]
  1495  	if protoimpl.UnsafeEnabled && x != nil {
  1496  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1497  		if ms.LoadMessageInfo() == nil {
  1498  			ms.StoreMessageInfo(mi)
  1499  		}
  1500  		return ms
  1501  	}
  1502  	return mi.MessageOf(x)
  1503  }
  1504  
  1505  // Deprecated: Use VideoLayer.ProtoReflect.Descriptor instead.
  1506  func (*VideoLayer) Descriptor() ([]byte, []int) {
  1507  	return file_livekit_models_proto_rawDescGZIP(), []int{7}
  1508  }
  1509  
  1510  func (x *VideoLayer) GetQuality() VideoQuality {
  1511  	if x != nil {
  1512  		return x.Quality
  1513  	}
  1514  	return VideoQuality_LOW
  1515  }
  1516  
  1517  func (x *VideoLayer) GetWidth() uint32 {
  1518  	if x != nil {
  1519  		return x.Width
  1520  	}
  1521  	return 0
  1522  }
  1523  
  1524  func (x *VideoLayer) GetHeight() uint32 {
  1525  	if x != nil {
  1526  		return x.Height
  1527  	}
  1528  	return 0
  1529  }
  1530  
  1531  func (x *VideoLayer) GetBitrate() uint32 {
  1532  	if x != nil {
  1533  		return x.Bitrate
  1534  	}
  1535  	return 0
  1536  }
  1537  
  1538  func (x *VideoLayer) GetSsrc() uint32 {
  1539  	if x != nil {
  1540  		return x.Ssrc
  1541  	}
  1542  	return 0
  1543  }
  1544  
  1545  // new DataPacket API
  1546  type DataPacket struct {
  1547  	state         protoimpl.MessageState
  1548  	sizeCache     protoimpl.SizeCache
  1549  	unknownFields protoimpl.UnknownFields
  1550  
  1551  	Kind DataPacket_Kind `protobuf:"varint,1,opt,name=kind,proto3,enum=livekit.DataPacket_Kind" json:"kind,omitempty"`
  1552  	// Types that are assignable to Value:
  1553  	//
  1554  	//	*DataPacket_User
  1555  	//	*DataPacket_Speaker
  1556  	Value isDataPacket_Value `protobuf_oneof:"value"`
  1557  }
  1558  
  1559  func (x *DataPacket) Reset() {
  1560  	*x = DataPacket{}
  1561  	if protoimpl.UnsafeEnabled {
  1562  		mi := &file_livekit_models_proto_msgTypes[8]
  1563  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1564  		ms.StoreMessageInfo(mi)
  1565  	}
  1566  }
  1567  
  1568  func (x *DataPacket) String() string {
  1569  	return protoimpl.X.MessageStringOf(x)
  1570  }
  1571  
  1572  func (*DataPacket) ProtoMessage() {}
  1573  
  1574  func (x *DataPacket) ProtoReflect() protoreflect.Message {
  1575  	mi := &file_livekit_models_proto_msgTypes[8]
  1576  	if protoimpl.UnsafeEnabled && x != nil {
  1577  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1578  		if ms.LoadMessageInfo() == nil {
  1579  			ms.StoreMessageInfo(mi)
  1580  		}
  1581  		return ms
  1582  	}
  1583  	return mi.MessageOf(x)
  1584  }
  1585  
  1586  // Deprecated: Use DataPacket.ProtoReflect.Descriptor instead.
  1587  func (*DataPacket) Descriptor() ([]byte, []int) {
  1588  	return file_livekit_models_proto_rawDescGZIP(), []int{8}
  1589  }
  1590  
  1591  func (x *DataPacket) GetKind() DataPacket_Kind {
  1592  	if x != nil {
  1593  		return x.Kind
  1594  	}
  1595  	return DataPacket_RELIABLE
  1596  }
  1597  
  1598  func (m *DataPacket) GetValue() isDataPacket_Value {
  1599  	if m != nil {
  1600  		return m.Value
  1601  	}
  1602  	return nil
  1603  }
  1604  
  1605  func (x *DataPacket) GetUser() *UserPacket {
  1606  	if x, ok := x.GetValue().(*DataPacket_User); ok {
  1607  		return x.User
  1608  	}
  1609  	return nil
  1610  }
  1611  
  1612  func (x *DataPacket) GetSpeaker() *ActiveSpeakerUpdate {
  1613  	if x, ok := x.GetValue().(*DataPacket_Speaker); ok {
  1614  		return x.Speaker
  1615  	}
  1616  	return nil
  1617  }
  1618  
  1619  type isDataPacket_Value interface {
  1620  	isDataPacket_Value()
  1621  }
  1622  
  1623  type DataPacket_User struct {
  1624  	User *UserPacket `protobuf:"bytes,2,opt,name=user,proto3,oneof"`
  1625  }
  1626  
  1627  type DataPacket_Speaker struct {
  1628  	Speaker *ActiveSpeakerUpdate `protobuf:"bytes,3,opt,name=speaker,proto3,oneof"`
  1629  }
  1630  
  1631  func (*DataPacket_User) isDataPacket_Value() {}
  1632  
  1633  func (*DataPacket_Speaker) isDataPacket_Value() {}
  1634  
  1635  type ActiveSpeakerUpdate struct {
  1636  	state         protoimpl.MessageState
  1637  	sizeCache     protoimpl.SizeCache
  1638  	unknownFields protoimpl.UnknownFields
  1639  
  1640  	Speakers []*SpeakerInfo `protobuf:"bytes,1,rep,name=speakers,proto3" json:"speakers,omitempty"`
  1641  }
  1642  
  1643  func (x *ActiveSpeakerUpdate) Reset() {
  1644  	*x = ActiveSpeakerUpdate{}
  1645  	if protoimpl.UnsafeEnabled {
  1646  		mi := &file_livekit_models_proto_msgTypes[9]
  1647  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1648  		ms.StoreMessageInfo(mi)
  1649  	}
  1650  }
  1651  
  1652  func (x *ActiveSpeakerUpdate) String() string {
  1653  	return protoimpl.X.MessageStringOf(x)
  1654  }
  1655  
  1656  func (*ActiveSpeakerUpdate) ProtoMessage() {}
  1657  
  1658  func (x *ActiveSpeakerUpdate) ProtoReflect() protoreflect.Message {
  1659  	mi := &file_livekit_models_proto_msgTypes[9]
  1660  	if protoimpl.UnsafeEnabled && x != nil {
  1661  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1662  		if ms.LoadMessageInfo() == nil {
  1663  			ms.StoreMessageInfo(mi)
  1664  		}
  1665  		return ms
  1666  	}
  1667  	return mi.MessageOf(x)
  1668  }
  1669  
  1670  // Deprecated: Use ActiveSpeakerUpdate.ProtoReflect.Descriptor instead.
  1671  func (*ActiveSpeakerUpdate) Descriptor() ([]byte, []int) {
  1672  	return file_livekit_models_proto_rawDescGZIP(), []int{9}
  1673  }
  1674  
  1675  func (x *ActiveSpeakerUpdate) GetSpeakers() []*SpeakerInfo {
  1676  	if x != nil {
  1677  		return x.Speakers
  1678  	}
  1679  	return nil
  1680  }
  1681  
  1682  type SpeakerInfo struct {
  1683  	state         protoimpl.MessageState
  1684  	sizeCache     protoimpl.SizeCache
  1685  	unknownFields protoimpl.UnknownFields
  1686  
  1687  	Sid string `protobuf:"bytes,1,opt,name=sid,proto3" json:"sid,omitempty"`
  1688  	// audio level, 0-1.0, 1 is loudest
  1689  	Level float32 `protobuf:"fixed32,2,opt,name=level,proto3" json:"level,omitempty"`
  1690  	// true if speaker is currently active
  1691  	Active bool `protobuf:"varint,3,opt,name=active,proto3" json:"active,omitempty"`
  1692  }
  1693  
  1694  func (x *SpeakerInfo) Reset() {
  1695  	*x = SpeakerInfo{}
  1696  	if protoimpl.UnsafeEnabled {
  1697  		mi := &file_livekit_models_proto_msgTypes[10]
  1698  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1699  		ms.StoreMessageInfo(mi)
  1700  	}
  1701  }
  1702  
  1703  func (x *SpeakerInfo) String() string {
  1704  	return protoimpl.X.MessageStringOf(x)
  1705  }
  1706  
  1707  func (*SpeakerInfo) ProtoMessage() {}
  1708  
  1709  func (x *SpeakerInfo) ProtoReflect() protoreflect.Message {
  1710  	mi := &file_livekit_models_proto_msgTypes[10]
  1711  	if protoimpl.UnsafeEnabled && x != nil {
  1712  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1713  		if ms.LoadMessageInfo() == nil {
  1714  			ms.StoreMessageInfo(mi)
  1715  		}
  1716  		return ms
  1717  	}
  1718  	return mi.MessageOf(x)
  1719  }
  1720  
  1721  // Deprecated: Use SpeakerInfo.ProtoReflect.Descriptor instead.
  1722  func (*SpeakerInfo) Descriptor() ([]byte, []int) {
  1723  	return file_livekit_models_proto_rawDescGZIP(), []int{10}
  1724  }
  1725  
  1726  func (x *SpeakerInfo) GetSid() string {
  1727  	if x != nil {
  1728  		return x.Sid
  1729  	}
  1730  	return ""
  1731  }
  1732  
  1733  func (x *SpeakerInfo) GetLevel() float32 {
  1734  	if x != nil {
  1735  		return x.Level
  1736  	}
  1737  	return 0
  1738  }
  1739  
  1740  func (x *SpeakerInfo) GetActive() bool {
  1741  	if x != nil {
  1742  		return x.Active
  1743  	}
  1744  	return false
  1745  }
  1746  
  1747  type UserPacket struct {
  1748  	state         protoimpl.MessageState
  1749  	sizeCache     protoimpl.SizeCache
  1750  	unknownFields protoimpl.UnknownFields
  1751  
  1752  	// participant ID of user that sent the message
  1753  	ParticipantSid string `protobuf:"bytes,1,opt,name=participant_sid,json=participantSid,proto3" json:"participant_sid,omitempty"`
  1754  	// user defined payload
  1755  	Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
  1756  	// the ID of the participants who will receive the message (the message will be sent to all the people in the room if this variable is empty)
  1757  	DestinationSids []string `protobuf:"bytes,3,rep,name=destination_sids,json=destinationSids,proto3" json:"destination_sids,omitempty"`
  1758  	// topic under which the message was published
  1759  	Topic *string `protobuf:"bytes,4,opt,name=topic,proto3,oneof" json:"topic,omitempty"`
  1760  }
  1761  
  1762  func (x *UserPacket) Reset() {
  1763  	*x = UserPacket{}
  1764  	if protoimpl.UnsafeEnabled {
  1765  		mi := &file_livekit_models_proto_msgTypes[11]
  1766  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1767  		ms.StoreMessageInfo(mi)
  1768  	}
  1769  }
  1770  
  1771  func (x *UserPacket) String() string {
  1772  	return protoimpl.X.MessageStringOf(x)
  1773  }
  1774  
  1775  func (*UserPacket) ProtoMessage() {}
  1776  
  1777  func (x *UserPacket) ProtoReflect() protoreflect.Message {
  1778  	mi := &file_livekit_models_proto_msgTypes[11]
  1779  	if protoimpl.UnsafeEnabled && x != nil {
  1780  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1781  		if ms.LoadMessageInfo() == nil {
  1782  			ms.StoreMessageInfo(mi)
  1783  		}
  1784  		return ms
  1785  	}
  1786  	return mi.MessageOf(x)
  1787  }
  1788  
  1789  // Deprecated: Use UserPacket.ProtoReflect.Descriptor instead.
  1790  func (*UserPacket) Descriptor() ([]byte, []int) {
  1791  	return file_livekit_models_proto_rawDescGZIP(), []int{11}
  1792  }
  1793  
  1794  func (x *UserPacket) GetParticipantSid() string {
  1795  	if x != nil {
  1796  		return x.ParticipantSid
  1797  	}
  1798  	return ""
  1799  }
  1800  
  1801  func (x *UserPacket) GetPayload() []byte {
  1802  	if x != nil {
  1803  		return x.Payload
  1804  	}
  1805  	return nil
  1806  }
  1807  
  1808  func (x *UserPacket) GetDestinationSids() []string {
  1809  	if x != nil {
  1810  		return x.DestinationSids
  1811  	}
  1812  	return nil
  1813  }
  1814  
  1815  func (x *UserPacket) GetTopic() string {
  1816  	if x != nil && x.Topic != nil {
  1817  		return *x.Topic
  1818  	}
  1819  	return ""
  1820  }
  1821  
  1822  type ParticipantTracks struct {
  1823  	state         protoimpl.MessageState
  1824  	sizeCache     protoimpl.SizeCache
  1825  	unknownFields protoimpl.UnknownFields
  1826  
  1827  	// participant ID of participant to whom the tracks belong
  1828  	ParticipantSid string   `protobuf:"bytes,1,opt,name=participant_sid,json=participantSid,proto3" json:"participant_sid,omitempty"`
  1829  	TrackSids      []string `protobuf:"bytes,2,rep,name=track_sids,json=trackSids,proto3" json:"track_sids,omitempty"`
  1830  }
  1831  
  1832  func (x *ParticipantTracks) Reset() {
  1833  	*x = ParticipantTracks{}
  1834  	if protoimpl.UnsafeEnabled {
  1835  		mi := &file_livekit_models_proto_msgTypes[12]
  1836  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1837  		ms.StoreMessageInfo(mi)
  1838  	}
  1839  }
  1840  
  1841  func (x *ParticipantTracks) String() string {
  1842  	return protoimpl.X.MessageStringOf(x)
  1843  }
  1844  
  1845  func (*ParticipantTracks) ProtoMessage() {}
  1846  
  1847  func (x *ParticipantTracks) ProtoReflect() protoreflect.Message {
  1848  	mi := &file_livekit_models_proto_msgTypes[12]
  1849  	if protoimpl.UnsafeEnabled && x != nil {
  1850  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1851  		if ms.LoadMessageInfo() == nil {
  1852  			ms.StoreMessageInfo(mi)
  1853  		}
  1854  		return ms
  1855  	}
  1856  	return mi.MessageOf(x)
  1857  }
  1858  
  1859  // Deprecated: Use ParticipantTracks.ProtoReflect.Descriptor instead.
  1860  func (*ParticipantTracks) Descriptor() ([]byte, []int) {
  1861  	return file_livekit_models_proto_rawDescGZIP(), []int{12}
  1862  }
  1863  
  1864  func (x *ParticipantTracks) GetParticipantSid() string {
  1865  	if x != nil {
  1866  		return x.ParticipantSid
  1867  	}
  1868  	return ""
  1869  }
  1870  
  1871  func (x *ParticipantTracks) GetTrackSids() []string {
  1872  	if x != nil {
  1873  		return x.TrackSids
  1874  	}
  1875  	return nil
  1876  }
  1877  
  1878  // details about the server
  1879  type ServerInfo struct {
  1880  	state         protoimpl.MessageState
  1881  	sizeCache     protoimpl.SizeCache
  1882  	unknownFields protoimpl.UnknownFields
  1883  
  1884  	Edition  ServerInfo_Edition `protobuf:"varint,1,opt,name=edition,proto3,enum=livekit.ServerInfo_Edition" json:"edition,omitempty"`
  1885  	Version  string             `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
  1886  	Protocol int32              `protobuf:"varint,3,opt,name=protocol,proto3" json:"protocol,omitempty"`
  1887  	Region   string             `protobuf:"bytes,4,opt,name=region,proto3" json:"region,omitempty"`
  1888  	NodeId   string             `protobuf:"bytes,5,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
  1889  	// additional debugging information. sent only if server is in development mode
  1890  	DebugInfo string `protobuf:"bytes,6,opt,name=debug_info,json=debugInfo,proto3" json:"debug_info,omitempty"`
  1891  }
  1892  
  1893  func (x *ServerInfo) Reset() {
  1894  	*x = ServerInfo{}
  1895  	if protoimpl.UnsafeEnabled {
  1896  		mi := &file_livekit_models_proto_msgTypes[13]
  1897  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1898  		ms.StoreMessageInfo(mi)
  1899  	}
  1900  }
  1901  
  1902  func (x *ServerInfo) String() string {
  1903  	return protoimpl.X.MessageStringOf(x)
  1904  }
  1905  
  1906  func (*ServerInfo) ProtoMessage() {}
  1907  
  1908  func (x *ServerInfo) ProtoReflect() protoreflect.Message {
  1909  	mi := &file_livekit_models_proto_msgTypes[13]
  1910  	if protoimpl.UnsafeEnabled && x != nil {
  1911  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1912  		if ms.LoadMessageInfo() == nil {
  1913  			ms.StoreMessageInfo(mi)
  1914  		}
  1915  		return ms
  1916  	}
  1917  	return mi.MessageOf(x)
  1918  }
  1919  
  1920  // Deprecated: Use ServerInfo.ProtoReflect.Descriptor instead.
  1921  func (*ServerInfo) Descriptor() ([]byte, []int) {
  1922  	return file_livekit_models_proto_rawDescGZIP(), []int{13}
  1923  }
  1924  
  1925  func (x *ServerInfo) GetEdition() ServerInfo_Edition {
  1926  	if x != nil {
  1927  		return x.Edition
  1928  	}
  1929  	return ServerInfo_Standard
  1930  }
  1931  
  1932  func (x *ServerInfo) GetVersion() string {
  1933  	if x != nil {
  1934  		return x.Version
  1935  	}
  1936  	return ""
  1937  }
  1938  
  1939  func (x *ServerInfo) GetProtocol() int32 {
  1940  	if x != nil {
  1941  		return x.Protocol
  1942  	}
  1943  	return 0
  1944  }
  1945  
  1946  func (x *ServerInfo) GetRegion() string {
  1947  	if x != nil {
  1948  		return x.Region
  1949  	}
  1950  	return ""
  1951  }
  1952  
  1953  func (x *ServerInfo) GetNodeId() string {
  1954  	if x != nil {
  1955  		return x.NodeId
  1956  	}
  1957  	return ""
  1958  }
  1959  
  1960  func (x *ServerInfo) GetDebugInfo() string {
  1961  	if x != nil {
  1962  		return x.DebugInfo
  1963  	}
  1964  	return ""
  1965  }
  1966  
  1967  // details about the client
  1968  type ClientInfo struct {
  1969  	state         protoimpl.MessageState
  1970  	sizeCache     protoimpl.SizeCache
  1971  	unknownFields protoimpl.UnknownFields
  1972  
  1973  	Sdk            ClientInfo_SDK `protobuf:"varint,1,opt,name=sdk,proto3,enum=livekit.ClientInfo_SDK" json:"sdk,omitempty"`
  1974  	Version        string         `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
  1975  	Protocol       int32          `protobuf:"varint,3,opt,name=protocol,proto3" json:"protocol,omitempty"`
  1976  	Os             string         `protobuf:"bytes,4,opt,name=os,proto3" json:"os,omitempty"`
  1977  	OsVersion      string         `protobuf:"bytes,5,opt,name=os_version,json=osVersion,proto3" json:"os_version,omitempty"`
  1978  	DeviceModel    string         `protobuf:"bytes,6,opt,name=device_model,json=deviceModel,proto3" json:"device_model,omitempty"`
  1979  	Browser        string         `protobuf:"bytes,7,opt,name=browser,proto3" json:"browser,omitempty"`
  1980  	BrowserVersion string         `protobuf:"bytes,8,opt,name=browser_version,json=browserVersion,proto3" json:"browser_version,omitempty"`
  1981  	Address        string         `protobuf:"bytes,9,opt,name=address,proto3" json:"address,omitempty"`
  1982  	// wifi, wired, cellular, vpn, empty if not known
  1983  	Network string `protobuf:"bytes,10,opt,name=network,proto3" json:"network,omitempty"`
  1984  }
  1985  
  1986  func (x *ClientInfo) Reset() {
  1987  	*x = ClientInfo{}
  1988  	if protoimpl.UnsafeEnabled {
  1989  		mi := &file_livekit_models_proto_msgTypes[14]
  1990  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  1991  		ms.StoreMessageInfo(mi)
  1992  	}
  1993  }
  1994  
  1995  func (x *ClientInfo) String() string {
  1996  	return protoimpl.X.MessageStringOf(x)
  1997  }
  1998  
  1999  func (*ClientInfo) ProtoMessage() {}
  2000  
  2001  func (x *ClientInfo) ProtoReflect() protoreflect.Message {
  2002  	mi := &file_livekit_models_proto_msgTypes[14]
  2003  	if protoimpl.UnsafeEnabled && x != nil {
  2004  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2005  		if ms.LoadMessageInfo() == nil {
  2006  			ms.StoreMessageInfo(mi)
  2007  		}
  2008  		return ms
  2009  	}
  2010  	return mi.MessageOf(x)
  2011  }
  2012  
  2013  // Deprecated: Use ClientInfo.ProtoReflect.Descriptor instead.
  2014  func (*ClientInfo) Descriptor() ([]byte, []int) {
  2015  	return file_livekit_models_proto_rawDescGZIP(), []int{14}
  2016  }
  2017  
  2018  func (x *ClientInfo) GetSdk() ClientInfo_SDK {
  2019  	if x != nil {
  2020  		return x.Sdk
  2021  	}
  2022  	return ClientInfo_UNKNOWN
  2023  }
  2024  
  2025  func (x *ClientInfo) GetVersion() string {
  2026  	if x != nil {
  2027  		return x.Version
  2028  	}
  2029  	return ""
  2030  }
  2031  
  2032  func (x *ClientInfo) GetProtocol() int32 {
  2033  	if x != nil {
  2034  		return x.Protocol
  2035  	}
  2036  	return 0
  2037  }
  2038  
  2039  func (x *ClientInfo) GetOs() string {
  2040  	if x != nil {
  2041  		return x.Os
  2042  	}
  2043  	return ""
  2044  }
  2045  
  2046  func (x *ClientInfo) GetOsVersion() string {
  2047  	if x != nil {
  2048  		return x.OsVersion
  2049  	}
  2050  	return ""
  2051  }
  2052  
  2053  func (x *ClientInfo) GetDeviceModel() string {
  2054  	if x != nil {
  2055  		return x.DeviceModel
  2056  	}
  2057  	return ""
  2058  }
  2059  
  2060  func (x *ClientInfo) GetBrowser() string {
  2061  	if x != nil {
  2062  		return x.Browser
  2063  	}
  2064  	return ""
  2065  }
  2066  
  2067  func (x *ClientInfo) GetBrowserVersion() string {
  2068  	if x != nil {
  2069  		return x.BrowserVersion
  2070  	}
  2071  	return ""
  2072  }
  2073  
  2074  func (x *ClientInfo) GetAddress() string {
  2075  	if x != nil {
  2076  		return x.Address
  2077  	}
  2078  	return ""
  2079  }
  2080  
  2081  func (x *ClientInfo) GetNetwork() string {
  2082  	if x != nil {
  2083  		return x.Network
  2084  	}
  2085  	return ""
  2086  }
  2087  
  2088  // server provided client configuration
  2089  type ClientConfiguration struct {
  2090  	state         protoimpl.MessageState
  2091  	sizeCache     protoimpl.SizeCache
  2092  	unknownFields protoimpl.UnknownFields
  2093  
  2094  	Video            *VideoConfiguration `protobuf:"bytes,1,opt,name=video,proto3" json:"video,omitempty"`
  2095  	Screen           *VideoConfiguration `protobuf:"bytes,2,opt,name=screen,proto3" json:"screen,omitempty"`
  2096  	ResumeConnection ClientConfigSetting `protobuf:"varint,3,opt,name=resume_connection,json=resumeConnection,proto3,enum=livekit.ClientConfigSetting" json:"resume_connection,omitempty"`
  2097  	DisabledCodecs   *DisabledCodecs     `protobuf:"bytes,4,opt,name=disabled_codecs,json=disabledCodecs,proto3" json:"disabled_codecs,omitempty"`
  2098  	ForceRelay       ClientConfigSetting `protobuf:"varint,5,opt,name=force_relay,json=forceRelay,proto3,enum=livekit.ClientConfigSetting" json:"force_relay,omitempty"`
  2099  }
  2100  
  2101  func (x *ClientConfiguration) Reset() {
  2102  	*x = ClientConfiguration{}
  2103  	if protoimpl.UnsafeEnabled {
  2104  		mi := &file_livekit_models_proto_msgTypes[15]
  2105  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2106  		ms.StoreMessageInfo(mi)
  2107  	}
  2108  }
  2109  
  2110  func (x *ClientConfiguration) String() string {
  2111  	return protoimpl.X.MessageStringOf(x)
  2112  }
  2113  
  2114  func (*ClientConfiguration) ProtoMessage() {}
  2115  
  2116  func (x *ClientConfiguration) ProtoReflect() protoreflect.Message {
  2117  	mi := &file_livekit_models_proto_msgTypes[15]
  2118  	if protoimpl.UnsafeEnabled && x != nil {
  2119  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2120  		if ms.LoadMessageInfo() == nil {
  2121  			ms.StoreMessageInfo(mi)
  2122  		}
  2123  		return ms
  2124  	}
  2125  	return mi.MessageOf(x)
  2126  }
  2127  
  2128  // Deprecated: Use ClientConfiguration.ProtoReflect.Descriptor instead.
  2129  func (*ClientConfiguration) Descriptor() ([]byte, []int) {
  2130  	return file_livekit_models_proto_rawDescGZIP(), []int{15}
  2131  }
  2132  
  2133  func (x *ClientConfiguration) GetVideo() *VideoConfiguration {
  2134  	if x != nil {
  2135  		return x.Video
  2136  	}
  2137  	return nil
  2138  }
  2139  
  2140  func (x *ClientConfiguration) GetScreen() *VideoConfiguration {
  2141  	if x != nil {
  2142  		return x.Screen
  2143  	}
  2144  	return nil
  2145  }
  2146  
  2147  func (x *ClientConfiguration) GetResumeConnection() ClientConfigSetting {
  2148  	if x != nil {
  2149  		return x.ResumeConnection
  2150  	}
  2151  	return ClientConfigSetting_UNSET
  2152  }
  2153  
  2154  func (x *ClientConfiguration) GetDisabledCodecs() *DisabledCodecs {
  2155  	if x != nil {
  2156  		return x.DisabledCodecs
  2157  	}
  2158  	return nil
  2159  }
  2160  
  2161  func (x *ClientConfiguration) GetForceRelay() ClientConfigSetting {
  2162  	if x != nil {
  2163  		return x.ForceRelay
  2164  	}
  2165  	return ClientConfigSetting_UNSET
  2166  }
  2167  
  2168  type VideoConfiguration struct {
  2169  	state         protoimpl.MessageState
  2170  	sizeCache     protoimpl.SizeCache
  2171  	unknownFields protoimpl.UnknownFields
  2172  
  2173  	HardwareEncoder ClientConfigSetting `protobuf:"varint,1,opt,name=hardware_encoder,json=hardwareEncoder,proto3,enum=livekit.ClientConfigSetting" json:"hardware_encoder,omitempty"`
  2174  }
  2175  
  2176  func (x *VideoConfiguration) Reset() {
  2177  	*x = VideoConfiguration{}
  2178  	if protoimpl.UnsafeEnabled {
  2179  		mi := &file_livekit_models_proto_msgTypes[16]
  2180  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2181  		ms.StoreMessageInfo(mi)
  2182  	}
  2183  }
  2184  
  2185  func (x *VideoConfiguration) String() string {
  2186  	return protoimpl.X.MessageStringOf(x)
  2187  }
  2188  
  2189  func (*VideoConfiguration) ProtoMessage() {}
  2190  
  2191  func (x *VideoConfiguration) ProtoReflect() protoreflect.Message {
  2192  	mi := &file_livekit_models_proto_msgTypes[16]
  2193  	if protoimpl.UnsafeEnabled && x != nil {
  2194  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2195  		if ms.LoadMessageInfo() == nil {
  2196  			ms.StoreMessageInfo(mi)
  2197  		}
  2198  		return ms
  2199  	}
  2200  	return mi.MessageOf(x)
  2201  }
  2202  
  2203  // Deprecated: Use VideoConfiguration.ProtoReflect.Descriptor instead.
  2204  func (*VideoConfiguration) Descriptor() ([]byte, []int) {
  2205  	return file_livekit_models_proto_rawDescGZIP(), []int{16}
  2206  }
  2207  
  2208  func (x *VideoConfiguration) GetHardwareEncoder() ClientConfigSetting {
  2209  	if x != nil {
  2210  		return x.HardwareEncoder
  2211  	}
  2212  	return ClientConfigSetting_UNSET
  2213  }
  2214  
  2215  type DisabledCodecs struct {
  2216  	state         protoimpl.MessageState
  2217  	sizeCache     protoimpl.SizeCache
  2218  	unknownFields protoimpl.UnknownFields
  2219  
  2220  	Codecs []*Codec `protobuf:"bytes,1,rep,name=codecs,proto3" json:"codecs,omitempty"`
  2221  }
  2222  
  2223  func (x *DisabledCodecs) Reset() {
  2224  	*x = DisabledCodecs{}
  2225  	if protoimpl.UnsafeEnabled {
  2226  		mi := &file_livekit_models_proto_msgTypes[17]
  2227  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2228  		ms.StoreMessageInfo(mi)
  2229  	}
  2230  }
  2231  
  2232  func (x *DisabledCodecs) String() string {
  2233  	return protoimpl.X.MessageStringOf(x)
  2234  }
  2235  
  2236  func (*DisabledCodecs) ProtoMessage() {}
  2237  
  2238  func (x *DisabledCodecs) ProtoReflect() protoreflect.Message {
  2239  	mi := &file_livekit_models_proto_msgTypes[17]
  2240  	if protoimpl.UnsafeEnabled && x != nil {
  2241  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2242  		if ms.LoadMessageInfo() == nil {
  2243  			ms.StoreMessageInfo(mi)
  2244  		}
  2245  		return ms
  2246  	}
  2247  	return mi.MessageOf(x)
  2248  }
  2249  
  2250  // Deprecated: Use DisabledCodecs.ProtoReflect.Descriptor instead.
  2251  func (*DisabledCodecs) Descriptor() ([]byte, []int) {
  2252  	return file_livekit_models_proto_rawDescGZIP(), []int{17}
  2253  }
  2254  
  2255  func (x *DisabledCodecs) GetCodecs() []*Codec {
  2256  	if x != nil {
  2257  		return x.Codecs
  2258  	}
  2259  	return nil
  2260  }
  2261  
  2262  type RTPStats struct {
  2263  	state         protoimpl.MessageState
  2264  	sizeCache     protoimpl.SizeCache
  2265  	unknownFields protoimpl.UnknownFields
  2266  
  2267  	StartTime            *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
  2268  	EndTime              *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
  2269  	Duration             float64                `protobuf:"fixed64,3,opt,name=duration,proto3" json:"duration,omitempty"`
  2270  	Packets              uint32                 `protobuf:"varint,4,opt,name=packets,proto3" json:"packets,omitempty"`
  2271  	PacketRate           float64                `protobuf:"fixed64,5,opt,name=packet_rate,json=packetRate,proto3" json:"packet_rate,omitempty"`
  2272  	Bytes                uint64                 `protobuf:"varint,6,opt,name=bytes,proto3" json:"bytes,omitempty"`
  2273  	HeaderBytes          uint64                 `protobuf:"varint,39,opt,name=header_bytes,json=headerBytes,proto3" json:"header_bytes,omitempty"`
  2274  	Bitrate              float64                `protobuf:"fixed64,7,opt,name=bitrate,proto3" json:"bitrate,omitempty"`
  2275  	PacketsLost          uint32                 `protobuf:"varint,8,opt,name=packets_lost,json=packetsLost,proto3" json:"packets_lost,omitempty"`
  2276  	PacketLossRate       float64                `protobuf:"fixed64,9,opt,name=packet_loss_rate,json=packetLossRate,proto3" json:"packet_loss_rate,omitempty"`
  2277  	PacketLossPercentage float32                `protobuf:"fixed32,10,opt,name=packet_loss_percentage,json=packetLossPercentage,proto3" json:"packet_loss_percentage,omitempty"`
  2278  	PacketsDuplicate     uint32                 `protobuf:"varint,11,opt,name=packets_duplicate,json=packetsDuplicate,proto3" json:"packets_duplicate,omitempty"`
  2279  	PacketDuplicateRate  float64                `protobuf:"fixed64,12,opt,name=packet_duplicate_rate,json=packetDuplicateRate,proto3" json:"packet_duplicate_rate,omitempty"`
  2280  	BytesDuplicate       uint64                 `protobuf:"varint,13,opt,name=bytes_duplicate,json=bytesDuplicate,proto3" json:"bytes_duplicate,omitempty"`
  2281  	HeaderBytesDuplicate uint64                 `protobuf:"varint,40,opt,name=header_bytes_duplicate,json=headerBytesDuplicate,proto3" json:"header_bytes_duplicate,omitempty"`
  2282  	BitrateDuplicate     float64                `protobuf:"fixed64,14,opt,name=bitrate_duplicate,json=bitrateDuplicate,proto3" json:"bitrate_duplicate,omitempty"`
  2283  	PacketsPadding       uint32                 `protobuf:"varint,15,opt,name=packets_padding,json=packetsPadding,proto3" json:"packets_padding,omitempty"`
  2284  	PacketPaddingRate    float64                `protobuf:"fixed64,16,opt,name=packet_padding_rate,json=packetPaddingRate,proto3" json:"packet_padding_rate,omitempty"`
  2285  	BytesPadding         uint64                 `protobuf:"varint,17,opt,name=bytes_padding,json=bytesPadding,proto3" json:"bytes_padding,omitempty"`
  2286  	HeaderBytesPadding   uint64                 `protobuf:"varint,41,opt,name=header_bytes_padding,json=headerBytesPadding,proto3" json:"header_bytes_padding,omitempty"`
  2287  	BitratePadding       float64                `protobuf:"fixed64,18,opt,name=bitrate_padding,json=bitratePadding,proto3" json:"bitrate_padding,omitempty"`
  2288  	PacketsOutOfOrder    uint32                 `protobuf:"varint,19,opt,name=packets_out_of_order,json=packetsOutOfOrder,proto3" json:"packets_out_of_order,omitempty"`
  2289  	Frames               uint32                 `protobuf:"varint,20,opt,name=frames,proto3" json:"frames,omitempty"`
  2290  	FrameRate            float64                `protobuf:"fixed64,21,opt,name=frame_rate,json=frameRate,proto3" json:"frame_rate,omitempty"`
  2291  	JitterCurrent        float64                `protobuf:"fixed64,22,opt,name=jitter_current,json=jitterCurrent,proto3" json:"jitter_current,omitempty"`
  2292  	JitterMax            float64                `protobuf:"fixed64,23,opt,name=jitter_max,json=jitterMax,proto3" json:"jitter_max,omitempty"`
  2293  	GapHistogram         map[int32]uint32       `protobuf:"bytes,24,rep,name=gap_histogram,json=gapHistogram,proto3" json:"gap_histogram,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"`
  2294  	Nacks                uint32                 `protobuf:"varint,25,opt,name=nacks,proto3" json:"nacks,omitempty"`
  2295  	NackAcks             uint32                 `protobuf:"varint,37,opt,name=nack_acks,json=nackAcks,proto3" json:"nack_acks,omitempty"`
  2296  	NackMisses           uint32                 `protobuf:"varint,26,opt,name=nack_misses,json=nackMisses,proto3" json:"nack_misses,omitempty"`
  2297  	NackRepeated         uint32                 `protobuf:"varint,38,opt,name=nack_repeated,json=nackRepeated,proto3" json:"nack_repeated,omitempty"`
  2298  	Plis                 uint32                 `protobuf:"varint,27,opt,name=plis,proto3" json:"plis,omitempty"`
  2299  	LastPli              *timestamppb.Timestamp `protobuf:"bytes,28,opt,name=last_pli,json=lastPli,proto3" json:"last_pli,omitempty"`
  2300  	Firs                 uint32                 `protobuf:"varint,29,opt,name=firs,proto3" json:"firs,omitempty"`
  2301  	LastFir              *timestamppb.Timestamp `protobuf:"bytes,30,opt,name=last_fir,json=lastFir,proto3" json:"last_fir,omitempty"`
  2302  	RttCurrent           uint32                 `protobuf:"varint,31,opt,name=rtt_current,json=rttCurrent,proto3" json:"rtt_current,omitempty"`
  2303  	RttMax               uint32                 `protobuf:"varint,32,opt,name=rtt_max,json=rttMax,proto3" json:"rtt_max,omitempty"`
  2304  	KeyFrames            uint32                 `protobuf:"varint,33,opt,name=key_frames,json=keyFrames,proto3" json:"key_frames,omitempty"`
  2305  	LastKeyFrame         *timestamppb.Timestamp `protobuf:"bytes,34,opt,name=last_key_frame,json=lastKeyFrame,proto3" json:"last_key_frame,omitempty"`
  2306  	LayerLockPlis        uint32                 `protobuf:"varint,35,opt,name=layer_lock_plis,json=layerLockPlis,proto3" json:"layer_lock_plis,omitempty"`
  2307  	LastLayerLockPli     *timestamppb.Timestamp `protobuf:"bytes,36,opt,name=last_layer_lock_pli,json=lastLayerLockPli,proto3" json:"last_layer_lock_pli,omitempty"`
  2308  	SampleRate           float64                `protobuf:"fixed64,42,opt,name=sample_rate,json=sampleRate,proto3" json:"sample_rate,omitempty"`
  2309  	DriftMs              float64                `protobuf:"fixed64,43,opt,name=drift_ms,json=driftMs,proto3" json:"drift_ms,omitempty"` // NEXT_ID: 44
  2310  }
  2311  
  2312  func (x *RTPStats) Reset() {
  2313  	*x = RTPStats{}
  2314  	if protoimpl.UnsafeEnabled {
  2315  		mi := &file_livekit_models_proto_msgTypes[18]
  2316  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2317  		ms.StoreMessageInfo(mi)
  2318  	}
  2319  }
  2320  
  2321  func (x *RTPStats) String() string {
  2322  	return protoimpl.X.MessageStringOf(x)
  2323  }
  2324  
  2325  func (*RTPStats) ProtoMessage() {}
  2326  
  2327  func (x *RTPStats) ProtoReflect() protoreflect.Message {
  2328  	mi := &file_livekit_models_proto_msgTypes[18]
  2329  	if protoimpl.UnsafeEnabled && x != nil {
  2330  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2331  		if ms.LoadMessageInfo() == nil {
  2332  			ms.StoreMessageInfo(mi)
  2333  		}
  2334  		return ms
  2335  	}
  2336  	return mi.MessageOf(x)
  2337  }
  2338  
  2339  // Deprecated: Use RTPStats.ProtoReflect.Descriptor instead.
  2340  func (*RTPStats) Descriptor() ([]byte, []int) {
  2341  	return file_livekit_models_proto_rawDescGZIP(), []int{18}
  2342  }
  2343  
  2344  func (x *RTPStats) GetStartTime() *timestamppb.Timestamp {
  2345  	if x != nil {
  2346  		return x.StartTime
  2347  	}
  2348  	return nil
  2349  }
  2350  
  2351  func (x *RTPStats) GetEndTime() *timestamppb.Timestamp {
  2352  	if x != nil {
  2353  		return x.EndTime
  2354  	}
  2355  	return nil
  2356  }
  2357  
  2358  func (x *RTPStats) GetDuration() float64 {
  2359  	if x != nil {
  2360  		return x.Duration
  2361  	}
  2362  	return 0
  2363  }
  2364  
  2365  func (x *RTPStats) GetPackets() uint32 {
  2366  	if x != nil {
  2367  		return x.Packets
  2368  	}
  2369  	return 0
  2370  }
  2371  
  2372  func (x *RTPStats) GetPacketRate() float64 {
  2373  	if x != nil {
  2374  		return x.PacketRate
  2375  	}
  2376  	return 0
  2377  }
  2378  
  2379  func (x *RTPStats) GetBytes() uint64 {
  2380  	if x != nil {
  2381  		return x.Bytes
  2382  	}
  2383  	return 0
  2384  }
  2385  
  2386  func (x *RTPStats) GetHeaderBytes() uint64 {
  2387  	if x != nil {
  2388  		return x.HeaderBytes
  2389  	}
  2390  	return 0
  2391  }
  2392  
  2393  func (x *RTPStats) GetBitrate() float64 {
  2394  	if x != nil {
  2395  		return x.Bitrate
  2396  	}
  2397  	return 0
  2398  }
  2399  
  2400  func (x *RTPStats) GetPacketsLost() uint32 {
  2401  	if x != nil {
  2402  		return x.PacketsLost
  2403  	}
  2404  	return 0
  2405  }
  2406  
  2407  func (x *RTPStats) GetPacketLossRate() float64 {
  2408  	if x != nil {
  2409  		return x.PacketLossRate
  2410  	}
  2411  	return 0
  2412  }
  2413  
  2414  func (x *RTPStats) GetPacketLossPercentage() float32 {
  2415  	if x != nil {
  2416  		return x.PacketLossPercentage
  2417  	}
  2418  	return 0
  2419  }
  2420  
  2421  func (x *RTPStats) GetPacketsDuplicate() uint32 {
  2422  	if x != nil {
  2423  		return x.PacketsDuplicate
  2424  	}
  2425  	return 0
  2426  }
  2427  
  2428  func (x *RTPStats) GetPacketDuplicateRate() float64 {
  2429  	if x != nil {
  2430  		return x.PacketDuplicateRate
  2431  	}
  2432  	return 0
  2433  }
  2434  
  2435  func (x *RTPStats) GetBytesDuplicate() uint64 {
  2436  	if x != nil {
  2437  		return x.BytesDuplicate
  2438  	}
  2439  	return 0
  2440  }
  2441  
  2442  func (x *RTPStats) GetHeaderBytesDuplicate() uint64 {
  2443  	if x != nil {
  2444  		return x.HeaderBytesDuplicate
  2445  	}
  2446  	return 0
  2447  }
  2448  
  2449  func (x *RTPStats) GetBitrateDuplicate() float64 {
  2450  	if x != nil {
  2451  		return x.BitrateDuplicate
  2452  	}
  2453  	return 0
  2454  }
  2455  
  2456  func (x *RTPStats) GetPacketsPadding() uint32 {
  2457  	if x != nil {
  2458  		return x.PacketsPadding
  2459  	}
  2460  	return 0
  2461  }
  2462  
  2463  func (x *RTPStats) GetPacketPaddingRate() float64 {
  2464  	if x != nil {
  2465  		return x.PacketPaddingRate
  2466  	}
  2467  	return 0
  2468  }
  2469  
  2470  func (x *RTPStats) GetBytesPadding() uint64 {
  2471  	if x != nil {
  2472  		return x.BytesPadding
  2473  	}
  2474  	return 0
  2475  }
  2476  
  2477  func (x *RTPStats) GetHeaderBytesPadding() uint64 {
  2478  	if x != nil {
  2479  		return x.HeaderBytesPadding
  2480  	}
  2481  	return 0
  2482  }
  2483  
  2484  func (x *RTPStats) GetBitratePadding() float64 {
  2485  	if x != nil {
  2486  		return x.BitratePadding
  2487  	}
  2488  	return 0
  2489  }
  2490  
  2491  func (x *RTPStats) GetPacketsOutOfOrder() uint32 {
  2492  	if x != nil {
  2493  		return x.PacketsOutOfOrder
  2494  	}
  2495  	return 0
  2496  }
  2497  
  2498  func (x *RTPStats) GetFrames() uint32 {
  2499  	if x != nil {
  2500  		return x.Frames
  2501  	}
  2502  	return 0
  2503  }
  2504  
  2505  func (x *RTPStats) GetFrameRate() float64 {
  2506  	if x != nil {
  2507  		return x.FrameRate
  2508  	}
  2509  	return 0
  2510  }
  2511  
  2512  func (x *RTPStats) GetJitterCurrent() float64 {
  2513  	if x != nil {
  2514  		return x.JitterCurrent
  2515  	}
  2516  	return 0
  2517  }
  2518  
  2519  func (x *RTPStats) GetJitterMax() float64 {
  2520  	if x != nil {
  2521  		return x.JitterMax
  2522  	}
  2523  	return 0
  2524  }
  2525  
  2526  func (x *RTPStats) GetGapHistogram() map[int32]uint32 {
  2527  	if x != nil {
  2528  		return x.GapHistogram
  2529  	}
  2530  	return nil
  2531  }
  2532  
  2533  func (x *RTPStats) GetNacks() uint32 {
  2534  	if x != nil {
  2535  		return x.Nacks
  2536  	}
  2537  	return 0
  2538  }
  2539  
  2540  func (x *RTPStats) GetNackAcks() uint32 {
  2541  	if x != nil {
  2542  		return x.NackAcks
  2543  	}
  2544  	return 0
  2545  }
  2546  
  2547  func (x *RTPStats) GetNackMisses() uint32 {
  2548  	if x != nil {
  2549  		return x.NackMisses
  2550  	}
  2551  	return 0
  2552  }
  2553  
  2554  func (x *RTPStats) GetNackRepeated() uint32 {
  2555  	if x != nil {
  2556  		return x.NackRepeated
  2557  	}
  2558  	return 0
  2559  }
  2560  
  2561  func (x *RTPStats) GetPlis() uint32 {
  2562  	if x != nil {
  2563  		return x.Plis
  2564  	}
  2565  	return 0
  2566  }
  2567  
  2568  func (x *RTPStats) GetLastPli() *timestamppb.Timestamp {
  2569  	if x != nil {
  2570  		return x.LastPli
  2571  	}
  2572  	return nil
  2573  }
  2574  
  2575  func (x *RTPStats) GetFirs() uint32 {
  2576  	if x != nil {
  2577  		return x.Firs
  2578  	}
  2579  	return 0
  2580  }
  2581  
  2582  func (x *RTPStats) GetLastFir() *timestamppb.Timestamp {
  2583  	if x != nil {
  2584  		return x.LastFir
  2585  	}
  2586  	return nil
  2587  }
  2588  
  2589  func (x *RTPStats) GetRttCurrent() uint32 {
  2590  	if x != nil {
  2591  		return x.RttCurrent
  2592  	}
  2593  	return 0
  2594  }
  2595  
  2596  func (x *RTPStats) GetRttMax() uint32 {
  2597  	if x != nil {
  2598  		return x.RttMax
  2599  	}
  2600  	return 0
  2601  }
  2602  
  2603  func (x *RTPStats) GetKeyFrames() uint32 {
  2604  	if x != nil {
  2605  		return x.KeyFrames
  2606  	}
  2607  	return 0
  2608  }
  2609  
  2610  func (x *RTPStats) GetLastKeyFrame() *timestamppb.Timestamp {
  2611  	if x != nil {
  2612  		return x.LastKeyFrame
  2613  	}
  2614  	return nil
  2615  }
  2616  
  2617  func (x *RTPStats) GetLayerLockPlis() uint32 {
  2618  	if x != nil {
  2619  		return x.LayerLockPlis
  2620  	}
  2621  	return 0
  2622  }
  2623  
  2624  func (x *RTPStats) GetLastLayerLockPli() *timestamppb.Timestamp {
  2625  	if x != nil {
  2626  		return x.LastLayerLockPli
  2627  	}
  2628  	return nil
  2629  }
  2630  
  2631  func (x *RTPStats) GetSampleRate() float64 {
  2632  	if x != nil {
  2633  		return x.SampleRate
  2634  	}
  2635  	return 0
  2636  }
  2637  
  2638  func (x *RTPStats) GetDriftMs() float64 {
  2639  	if x != nil {
  2640  		return x.DriftMs
  2641  	}
  2642  	return 0
  2643  }
  2644  
  2645  type TimedVersion struct {
  2646  	state         protoimpl.MessageState
  2647  	sizeCache     protoimpl.SizeCache
  2648  	unknownFields protoimpl.UnknownFields
  2649  
  2650  	UnixMicro int64 `protobuf:"varint,1,opt,name=unix_micro,json=unixMicro,proto3" json:"unix_micro,omitempty"`
  2651  	Ticks     int32 `protobuf:"varint,2,opt,name=ticks,proto3" json:"ticks,omitempty"`
  2652  }
  2653  
  2654  func (x *TimedVersion) Reset() {
  2655  	*x = TimedVersion{}
  2656  	if protoimpl.UnsafeEnabled {
  2657  		mi := &file_livekit_models_proto_msgTypes[19]
  2658  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2659  		ms.StoreMessageInfo(mi)
  2660  	}
  2661  }
  2662  
  2663  func (x *TimedVersion) String() string {
  2664  	return protoimpl.X.MessageStringOf(x)
  2665  }
  2666  
  2667  func (*TimedVersion) ProtoMessage() {}
  2668  
  2669  func (x *TimedVersion) ProtoReflect() protoreflect.Message {
  2670  	mi := &file_livekit_models_proto_msgTypes[19]
  2671  	if protoimpl.UnsafeEnabled && x != nil {
  2672  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
  2673  		if ms.LoadMessageInfo() == nil {
  2674  			ms.StoreMessageInfo(mi)
  2675  		}
  2676  		return ms
  2677  	}
  2678  	return mi.MessageOf(x)
  2679  }
  2680  
  2681  // Deprecated: Use TimedVersion.ProtoReflect.Descriptor instead.
  2682  func (*TimedVersion) Descriptor() ([]byte, []int) {
  2683  	return file_livekit_models_proto_rawDescGZIP(), []int{19}
  2684  }
  2685  
  2686  func (x *TimedVersion) GetUnixMicro() int64 {
  2687  	if x != nil {
  2688  		return x.UnixMicro
  2689  	}
  2690  	return 0
  2691  }
  2692  
  2693  func (x *TimedVersion) GetTicks() int32 {
  2694  	if x != nil {
  2695  		return x.Ticks
  2696  	}
  2697  	return 0
  2698  }
  2699  
  2700  var File_livekit_models_proto protoreflect.FileDescriptor
  2701  
  2702  var file_livekit_models_proto_rawDesc = []byte{
  2703  	0x0a, 0x14, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73,
  2704  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x1a,
  2705  	0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  2706  	0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2707  	0x22, 0x96, 0x03, 0x0a, 0x04, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x64,
  2708  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
  2709  	0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
  2710  	0x23, 0x0a, 0x0d, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74,
  2711  	0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x54, 0x69, 0x6d,
  2712  	0x65, 0x6f, 0x75, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x72, 0x74,
  2713  	0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f,
  2714  	0x6d, 0x61, 0x78, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12,
  2715  	0x23, 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65,
  2716  	0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  2717  	0x54, 0x69, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x70, 0x61, 0x73,
  2718  	0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x75, 0x72,
  2719  	0x6e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x35, 0x0a, 0x0e, 0x65, 0x6e, 0x61,
  2720  	0x62, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28,
  2721  	0x0b, 0x32, 0x0e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6f, 0x64, 0x65,
  2722  	0x63, 0x52, 0x0d, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x73,
  2723  	0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01,
  2724  	0x28, 0x09, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x10,
  2725  	0x6e, 0x75, 0x6d, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73,
  2726  	0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x6e, 0x75, 0x6d, 0x50, 0x61, 0x72, 0x74, 0x69,
  2727  	0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x70,
  2728  	0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52,
  2729  	0x0d, 0x6e, 0x75, 0x6d, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x73, 0x12, 0x29,
  2730  	0x0a, 0x10, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69,
  2731  	0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65,
  2732  	0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x38, 0x0a, 0x05, 0x43, 0x6f, 0x64,
  2733  	0x65, 0x63, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  2734  	0x52, 0x04, 0x6d, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x6d, 0x74, 0x70, 0x5f, 0x6c,
  2735  	0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x6d, 0x74, 0x70, 0x4c,
  2736  	0x69, 0x6e, 0x65, 0x22, 0xb1, 0x02, 0x0a, 0x15, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70,
  2737  	0x61, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a,
  2738  	0x0d, 0x63, 0x61, 0x6e, 0x5f, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x18, 0x01,
  2739  	0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x63, 0x61, 0x6e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69,
  2740  	0x62, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73,
  2741  	0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c,
  2742  	0x69, 0x73, 0x68, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69,
  2743  	0x73, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63,
  2744  	0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x44, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a,
  2745  	0x13, 0x63, 0x61, 0x6e, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x5f, 0x73, 0x6f, 0x75,
  2746  	0x72, 0x63, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6c, 0x69, 0x76,
  2747  	0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
  2748  	0x52, 0x11, 0x63, 0x61, 0x6e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x53, 0x6f, 0x75, 0x72,
  2749  	0x63, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x07, 0x20,
  2750  	0x01, 0x28, 0x08, 0x52, 0x06, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x72,
  2751  	0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72,
  2752  	0x65, 0x63, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x13, 0x63, 0x61, 0x6e, 0x5f, 0x75,
  2753  	0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a,
  2754  	0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x63, 0x61, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d,
  2755  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc3, 0x03, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74,
  2756  	0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x73,
  2757  	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 0x1a, 0x0a,
  2758  	0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
  2759  	0x08, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x74, 0x61,
  2760  	0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
  2761  	0x69, 0x74, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x49, 0x6e,
  2762  	0x66, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12,
  2763  	0x2a, 0x0a, 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32,
  2764  	0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x49,
  2765  	0x6e, 0x66, 0x6f, 0x52, 0x06, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6d,
  2766  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d,
  2767  	0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x6f, 0x69, 0x6e, 0x65,
  2768  	0x64, 0x5f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6a, 0x6f, 0x69, 0x6e,
  2769  	0x65, 0x64, 0x41, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01,
  2770  	0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73,
  2771  	0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
  2772  	0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
  2773  	0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74,
  2774  	0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d,
  2775  	0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
  2776  	0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01,
  2777  	0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73,
  2778  	0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08,
  2779  	0x52, 0x0b, 0x69, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x72, 0x22, 0x3e, 0x0a,
  2780  	0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x4a, 0x4f, 0x49, 0x4e, 0x49, 0x4e,
  2781  	0x47, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x4a, 0x4f, 0x49, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12,
  2782  	0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x44,
  2783  	0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x03, 0x22, 0x33, 0x0a,
  2784  	0x0a, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x25, 0x0a, 0x04, 0x54,
  2785  	0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x00, 0x12, 0x07, 0x0a,
  2786  	0x03, 0x47, 0x43, 0x4d, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d,
  2787  	0x10, 0x02, 0x22, 0x82, 0x01, 0x0a, 0x12, 0x53, 0x69, 0x6d, 0x75, 0x6c, 0x63, 0x61, 0x73, 0x74,
  2788  	0x43, 0x6f, 0x64, 0x65, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d,
  2789  	0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69,
  2790  	0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20,
  2791  	0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x69, 0x64, 0x18,
  2792  	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x06, 0x6c, 0x61,
  2793  	0x79, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76,
  2794  	0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52,
  2795  	0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x22, 0x8e, 0x04, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63,
  2796  	0x6b, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
  2797  	0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
  2798  	0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e,
  2799  	0x54, 0x72, 0x61, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12,
  2800  	0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
  2801  	0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01,
  2802  	0x28, 0x08, 0x52, 0x05, 0x6d, 0x75, 0x74, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64,
  2803  	0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12,
  2804  	0x16, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52,
  2805  	0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x6d, 0x75, 0x6c,
  2806  	0x63, 0x61, 0x73, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x69, 0x6d, 0x75,
  2807  	0x6c, 0x63, 0x61, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65,
  2808  	0x5f, 0x64, 0x74, 0x78, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x61,
  2809  	0x62, 0x6c, 0x65, 0x44, 0x74, 0x78, 0x12, 0x2c, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
  2810  	0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74,
  2811  	0x2e, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x06, 0x73, 0x6f,
  2812  	0x75, 0x72, 0x63, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x0a,
  2813  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56,
  2814  	0x69, 0x64, 0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x06, 0x6c, 0x61, 0x79, 0x65, 0x72,
  2815  	0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b,
  2816  	0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10,
  2817  	0x0a, 0x03, 0x6d, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x69, 0x64,
  2818  	0x12, 0x33, 0x0a, 0x06, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b,
  2819  	0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x53, 0x69, 0x6d, 0x75, 0x6c,
  2820  	0x63, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x06, 0x63,
  2821  	0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x65, 0x72, 0x65, 0x6f, 0x18,
  2822  	0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x65, 0x72, 0x65, 0x6f, 0x12, 0x1f, 0x0a,
  2823  	0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01,
  2824  	0x28, 0x08, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x65, 0x64, 0x12, 0x38,
  2825  	0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x10, 0x20, 0x01,
  2826  	0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x45, 0x6e, 0x63,
  2827  	0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x65, 0x6e,
  2828  	0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x99, 0x01, 0x0a, 0x0a, 0x56, 0x69, 0x64,
  2829  	0x65, 0x6f, 0x4c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69,
  2830  	0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b,
  2831  	0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x52,
  2832  	0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74,
  2833  	0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x16,
  2834  	0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06,
  2835  	0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74,
  2836  	0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65,
  2837  	0x12, 0x12, 0x0a, 0x04, 0x73, 0x73, 0x72, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04,
  2838  	0x73, 0x73, 0x72, 0x63, 0x22, 0xc9, 0x01, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x50, 0x61, 0x63,
  2839  	0x6b, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
  2840  	0x0e, 0x32, 0x18, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61,
  2841  	0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e,
  2842  	0x64, 0x12, 0x29, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2843  	0x13, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61,
  2844  	0x63, 0x6b, 0x65, 0x74, 0x48, 0x00, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x38, 0x0a, 0x07,
  2845  	0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e,
  2846  	0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x70,
  2847  	0x65, 0x61, 0x6b, 0x65, 0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x07, 0x73,
  2848  	0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x22, 0x1f, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x0c,
  2849  	0x0a, 0x08, 0x52, 0x45, 0x4c, 0x49, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05,
  2850  	0x4c, 0x4f, 0x53, 0x53, 0x59, 0x10, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
  2851  	0x22, 0x47, 0x0a, 0x13, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65,
  2852  	0x72, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x08, 0x73, 0x70, 0x65, 0x61, 0x6b,
  2853  	0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6c, 0x69, 0x76, 0x65,
  2854  	0x6b, 0x69, 0x74, 0x2e, 0x53, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52,
  2855  	0x08, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x73, 0x22, 0x4d, 0x0a, 0x0b, 0x53, 0x70, 0x65,
  2856  	0x61, 0x6b, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x69, 0x64, 0x18,
  2857  	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65,
  2858  	0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c,
  2859  	0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08,
  2860  	0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x22, 0x9f, 0x01, 0x0a, 0x0a, 0x55, 0x73, 0x65,
  2861  	0x72, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69,
  2862  	0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
  2863  	0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x69, 0x64,
  2864  	0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
  2865  	0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65,
  2866  	0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x64, 0x73, 0x18, 0x03,
  2867  	0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f,
  2868  	0x6e, 0x53, 0x69, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x04,
  2869  	0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x88, 0x01, 0x01,
  2870  	0x42, 0x08, 0x0a, 0x06, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x22, 0x5b, 0x0a, 0x11, 0x50, 0x61,
  2871  	0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x12,
  2872  	0x27, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x6e, 0x74, 0x5f, 0x73,
  2873  	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63,
  2874  	0x69, 0x70, 0x61, 0x6e, 0x74, 0x53, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x63,
  2875  	0x6b, 0x5f, 0x73, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72,
  2876  	0x61, 0x63, 0x6b, 0x53, 0x69, 0x64, 0x73, 0x22, 0xed, 0x01, 0x0a, 0x0a, 0x53, 0x65, 0x72, 0x76,
  2877  	0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x35, 0x0a, 0x07, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f,
  2878  	0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69,
  2879  	0x74, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x45, 0x64, 0x69,
  2880  	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x65, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a,
  2881  	0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07,
  2882  	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2883  	0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f,
  2884  	0x63, 0x6f, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20,
  2885  	0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x6e,
  2886  	0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f,
  2887  	0x64, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x69, 0x6e,
  2888  	0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x62, 0x75, 0x67, 0x49,
  2889  	0x6e, 0x66, 0x6f, 0x22, 0x22, 0x0a, 0x07, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0c,
  2890  	0x0a, 0x08, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05,
  2891  	0x43, 0x6c, 0x6f, 0x75, 0x64, 0x10, 0x01, 0x22, 0xa6, 0x03, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65,
  2892  	0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x29, 0x0a, 0x03, 0x73, 0x64, 0x6b, 0x18, 0x01, 0x20,
  2893  	0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c,
  2894  	0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x44, 0x4b, 0x52, 0x03, 0x73, 0x64,
  2895  	0x6b, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
  2896  	0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70,
  2897  	0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70,
  2898  	0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x73, 0x18, 0x04, 0x20,
  2899  	0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x73, 0x5f, 0x76, 0x65,
  2900  	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x73, 0x56,
  2901  	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
  2902  	0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
  2903  	0x76, 0x69, 0x63, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x72, 0x6f,
  2904  	0x77, 0x73, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x62, 0x72, 0x6f, 0x77,
  2905  	0x73, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x72, 0x6f, 0x77, 0x73, 0x65, 0x72, 0x5f, 0x76,
  2906  	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x72,
  2907  	0x6f, 0x77, 0x73, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07,
  2908  	0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61,
  2909  	0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
  2910  	0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
  2911  	0x22, 0x6e, 0x0a, 0x03, 0x53, 0x44, 0x4b, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f,
  2912  	0x57, 0x4e, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4a, 0x53, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05,
  2913  	0x53, 0x57, 0x49, 0x46, 0x54, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x4e, 0x44, 0x52, 0x4f,
  2914  	0x49, 0x44, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x4c, 0x55, 0x54, 0x54, 0x45, 0x52, 0x10,
  2915  	0x04, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x4f, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x55, 0x4e, 0x49,
  2916  	0x54, 0x59, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x45, 0x41, 0x43, 0x54, 0x5f, 0x4e, 0x41,
  2917  	0x54, 0x49, 0x56, 0x45, 0x10, 0x07, 0x12, 0x08, 0x0a, 0x04, 0x52, 0x55, 0x53, 0x54, 0x10, 0x08,
  2918  	0x22, 0xc9, 0x02, 0x0a, 0x13, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
  2919  	0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65,
  2920  	0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69,
  2921  	0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61,
  2922  	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x33, 0x0a, 0x06, 0x73,
  2923  	0x63, 0x72, 0x65, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6c, 0x69,
  2924  	0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69,
  2925  	0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e,
  2926  	0x12, 0x49, 0x0a, 0x11, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
  2927  	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6c, 0x69,
  2928  	0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66,
  2929  	0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x10, 0x72, 0x65, 0x73, 0x75, 0x6d,
  2930  	0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0f, 0x64,
  2931  	0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x18, 0x04,
  2932  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x44,
  2933  	0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x52, 0x0e, 0x64,
  2934  	0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, 0x3d, 0x0a,
  2935  	0x0b, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x05, 0x20, 0x01,
  2936  	0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69,
  2937  	0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
  2938  	0x52, 0x0a, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x22, 0x5d, 0x0a, 0x12,
  2939  	0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69,
  2940  	0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x10, 0x68, 0x61, 0x72, 0x64, 0x77, 0x61, 0x72, 0x65, 0x5f, 0x65,
  2941  	0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x6c,
  2942  	0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e,
  2943  	0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0f, 0x68, 0x61, 0x72, 0x64,
  2944  	0x77, 0x61, 0x72, 0x65, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x22, 0x38, 0x0a, 0x0e, 0x44,
  2945  	0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x12, 0x26, 0x0a,
  2946  	0x06, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e,
  2947  	0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x52, 0x06, 0x63,
  2948  	0x6f, 0x64, 0x65, 0x63, 0x73, 0x22, 0x81, 0x0e, 0x0a, 0x08, 0x52, 0x54, 0x50, 0x53, 0x74, 0x61,
  2949  	0x74, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,
  2950  	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
  2951  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
  2952  	0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a,
  2953  	0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
  2954  	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  2955  	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64,
  2956  	0x54, 0x69, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  2957  	0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
  2958  	0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
  2959  	0x0d, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61,
  2960  	0x63, 0x6b, 0x65, 0x74, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x52,
  2961  	0x0a, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x62,
  2962  	0x79, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x62, 0x79, 0x74, 0x65,
  2963  	0x73, 0x12, 0x21, 0x0a, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65,
  2964  	0x73, 0x18, 0x27, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42,
  2965  	0x79, 0x74, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x18,
  2966  	0x07, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x12, 0x21,
  2967  	0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6c, 0x6f, 0x73, 0x74, 0x18, 0x08,
  2968  	0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4c, 0x6f, 0x73,
  2969  	0x74, 0x12, 0x28, 0x0a, 0x10, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x73,
  2970  	0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x70, 0x61, 0x63,
  2971  	0x6b, 0x65, 0x74, 0x4c, 0x6f, 0x73, 0x73, 0x52, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x70,
  2972  	0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65,
  2973  	0x6e, 0x74, 0x61, 0x67, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, 0x52, 0x14, 0x70, 0x61, 0x63,
  2974  	0x6b, 0x65, 0x74, 0x4c, 0x6f, 0x73, 0x73, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x61, 0x67,
  2975  	0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x64, 0x75, 0x70,
  2976  	0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x70, 0x61,
  2977  	0x63, 0x6b, 0x65, 0x74, 0x73, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x32,
  2978  	0x0a, 0x15, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61,
  2979  	0x74, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x13, 0x70,
  2980  	0x61, 0x63, 0x6b, 0x65, 0x74, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x52, 0x61,
  2981  	0x74, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x64, 0x75, 0x70, 0x6c,
  2982  	0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x62, 0x79, 0x74,
  2983  	0x65, 0x73, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x68,
  2984  	0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x64, 0x75, 0x70, 0x6c,
  2985  	0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x04, 0x52, 0x14, 0x68, 0x65, 0x61,
  2986  	0x64, 0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74,
  2987  	0x65, 0x12, 0x2b, 0x0a, 0x11, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x75, 0x70,
  2988  	0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x01, 0x52, 0x10, 0x62, 0x69,
  2989  	0x74, 0x72, 0x61, 0x74, 0x65, 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x27,
  2990  	0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e,
  2991  	0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73,
  2992  	0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2e, 0x0a, 0x13, 0x70, 0x61, 0x63, 0x6b, 0x65,
  2993  	0x74, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x10,
  2994  	0x20, 0x01, 0x28, 0x01, 0x52, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x50, 0x61, 0x64, 0x64,
  2995  	0x69, 0x6e, 0x67, 0x52, 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x79, 0x74, 0x65, 0x73,
  2996  	0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c,
  2997  	0x62, 0x79, 0x74, 0x65, 0x73, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x30, 0x0a, 0x14,
  2998  	0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x70, 0x61, 0x64,
  2999  	0x64, 0x69, 0x6e, 0x67, 0x18, 0x29, 0x20, 0x01, 0x28, 0x04, 0x52, 0x12, 0x68, 0x65, 0x61, 0x64,
  3000  	0x65, 0x72, 0x42, 0x79, 0x74, 0x65, 0x73, 0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x27,
  3001  	0x0a, 0x0f, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e,
  3002  	0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x62, 0x69, 0x74, 0x72, 0x61, 0x74, 0x65,
  3003  	0x50, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x14, 0x70, 0x61, 0x63, 0x6b, 0x65,
  3004  	0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x5f, 0x6f, 0x66, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18,
  3005  	0x13, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75,
  3006  	0x74, 0x4f, 0x66, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x72, 0x61, 0x6d,
  3007  	0x65, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73,
  3008  	0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x15,
  3009  	0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12,
  3010  	0x25, 0x0a, 0x0e, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e,
  3011  	0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0d, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72, 0x43,
  3012  	0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6a, 0x69, 0x74, 0x74, 0x65, 0x72,
  3013  	0x5f, 0x6d, 0x61, 0x78, 0x18, 0x17, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6a, 0x69, 0x74, 0x74,
  3014  	0x65, 0x72, 0x4d, 0x61, 0x78, 0x12, 0x48, 0x0a, 0x0d, 0x67, 0x61, 0x70, 0x5f, 0x68, 0x69, 0x73,
  3015  	0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x18, 0x18, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6c,
  3016  	0x69, 0x76, 0x65, 0x6b, 0x69, 0x74, 0x2e, 0x52, 0x54, 0x50, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e,
  3017  	0x47, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x72,
  3018  	0x79, 0x52, 0x0c, 0x67, 0x61, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x12,
  3019  	0x14, 0x0a, 0x05, 0x6e, 0x61, 0x63, 0x6b, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
  3020  	0x6e, 0x61, 0x63, 0x6b, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x61, 0x63, 0x6b, 0x5f, 0x61, 0x63,
  3021  	0x6b, 0x73, 0x18, 0x25, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x6e, 0x61, 0x63, 0x6b, 0x41, 0x63,
  3022  	0x6b, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x61, 0x63, 0x6b, 0x5f, 0x6d, 0x69, 0x73, 0x73, 0x65,
  3023  	0x73, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x6e, 0x61, 0x63, 0x6b, 0x4d, 0x69, 0x73,
  3024  	0x73, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x61, 0x63, 0x6b, 0x5f, 0x72, 0x65, 0x70, 0x65,
  3025  	0x61, 0x74, 0x65, 0x64, 0x18, 0x26, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x6e, 0x61, 0x63, 0x6b,
  3026  	0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6c, 0x69, 0x73,
  3027  	0x18, 0x1b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x70, 0x6c, 0x69, 0x73, 0x12, 0x35, 0x0a, 0x08,
  3028  	0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x6c, 0x69, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  3029  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  3030  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x6c, 0x61, 0x73, 0x74,
  3031  	0x50, 0x6c, 0x69, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x72, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28,
  3032  	0x0d, 0x52, 0x04, 0x66, 0x69, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x5f,
  3033  	0x66, 0x69, 0x72, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
  3034  	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
  3035  	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x6c, 0x61, 0x73, 0x74, 0x46, 0x69, 0x72, 0x12, 0x1f,
  3036  	0x0a, 0x0b, 0x72, 0x74, 0x74, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x1f, 0x20,
  3037  	0x01, 0x28, 0x0d, 0x52, 0x0a, 0x72, 0x74, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x12,
  3038  	0x17, 0x0a, 0x07, 0x72, 0x74, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0d,
  3039  	0x52, 0x06, 0x72, 0x74, 0x74, 0x4d, 0x61, 0x78, 0x12, 0x1d, 0x0a, 0x0a, 0x6b, 0x65, 0x79, 0x5f,
  3040  	0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6b, 0x65,
  3041  	0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x5f,
  3042  	0x6b, 0x65, 0x79, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32,
  3043  	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
  3044  	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6c, 0x61, 0x73,
  3045  	0x74, 0x4b, 0x65, 0x79, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x79,
  3046  	0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x70, 0x6c, 0x69, 0x73, 0x18, 0x23, 0x20, 0x01,
  3047  	0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x50, 0x6c, 0x69,
  3048  	0x73, 0x12, 0x49, 0x0a, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f,
  3049  	0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x70, 0x6c, 0x69, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
  3050  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
  3051  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74,
  3052  	0x4c, 0x61, 0x79, 0x65, 0x72, 0x4c, 0x6f, 0x63, 0x6b, 0x50, 0x6c, 0x69, 0x12, 0x1f, 0x0a, 0x0b,
  3053  	0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x2a, 0x20, 0x01, 0x28,
  3054  	0x01, 0x52, 0x0a, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x19, 0x0a,
  3055  	0x08, 0x64, 0x72, 0x69, 0x66, 0x74, 0x5f, 0x6d, 0x73, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x01, 0x52,
  3056  	0x07, 0x64, 0x72, 0x69, 0x66, 0x74, 0x4d, 0x73, 0x1a, 0x3f, 0x0a, 0x11, 0x47, 0x61, 0x70, 0x48,
  3057  	0x69, 0x73, 0x74, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
  3058  	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
  3059  	0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05,
  3060  	0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x43, 0x0a, 0x0c, 0x54, 0x69, 0x6d,
  3061  	0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x6e, 0x69,
  3062  	0x78, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x75,
  3063  	0x6e, 0x69, 0x78, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x63, 0x6b,
  3064  	0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x2a, 0x2f,
  3065  	0x0a, 0x0a, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x0e, 0x0a, 0x0a,
  3066  	0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x41, 0x43, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04,
  3067  	0x4f, 0x50, 0x55, 0x53, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x41, 0x43, 0x10, 0x02, 0x2a,
  3068  	0x56, 0x0a, 0x0a, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x43, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x0e, 0x0a,
  3069  	0x0a, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x56, 0x43, 0x10, 0x00, 0x12, 0x11, 0x0a,
  3070  	0x0d, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x42, 0x41, 0x53, 0x45, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x01,
  3071  	0x12, 0x0d, 0x0a, 0x09, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x4d, 0x41, 0x49, 0x4e, 0x10, 0x02, 0x12,
  3072  	0x0d, 0x0a, 0x09, 0x48, 0x32, 0x36, 0x34, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x03, 0x12, 0x07,
  3073  	0x0a, 0x03, 0x56, 0x50, 0x38, 0x10, 0x04, 0x2a, 0x2b, 0x0a, 0x09, 0x54, 0x72, 0x61, 0x63, 0x6b,
  3074  	0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x00, 0x12,
  3075  	0x09, 0x0a, 0x05, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x41,
  3076  	0x54, 0x41, 0x10, 0x02, 0x2a, 0x60, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x53, 0x6f, 0x75,
  3077  	0x72, 0x63, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00,
  3078  	0x12, 0x0a, 0x0a, 0x06, 0x43, 0x41, 0x4d, 0x45, 0x52, 0x41, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a,
  3079  	0x4d, 0x49, 0x43, 0x52, 0x4f, 0x50, 0x48, 0x4f, 0x4e, 0x45, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c,
  3080  	0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x10, 0x03, 0x12, 0x16,
  3081  	0x0a, 0x12, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x53, 0x48, 0x41, 0x52, 0x45, 0x5f, 0x41,
  3082  	0x55, 0x44, 0x49, 0x4f, 0x10, 0x04, 0x2a, 0x36, 0x0a, 0x0c, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x51,
  3083  	0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x07, 0x0a, 0x03, 0x4c, 0x4f, 0x57, 0x10, 0x00, 0x12,
  3084  	0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x48,
  3085  	0x49, 0x47, 0x48, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x46, 0x46, 0x10, 0x03, 0x2a, 0x36,
  3086  	0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x61, 0x6c,
  3087  	0x69, 0x74, 0x79, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x4f, 0x4f, 0x52, 0x10, 0x00, 0x12, 0x08, 0x0a,
  3088  	0x04, 0x47, 0x4f, 0x4f, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x58, 0x43, 0x45, 0x4c,
  3089  	0x4c, 0x45, 0x4e, 0x54, 0x10, 0x02, 0x2a, 0x3b, 0x0a, 0x13, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
  3090  	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x09, 0x0a,
  3091  	0x05, 0x55, 0x4e, 0x53, 0x45, 0x54, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x49, 0x53, 0x41,
  3092  	0x42, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x45,
  3093  	0x44, 0x10, 0x02, 0x2a, 0xba, 0x01, 0x0a, 0x10, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65,
  3094  	0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x4b, 0x4e,
  3095  	0x4f, 0x57, 0x4e, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10,
  3096  	0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x49, 0x41, 0x54, 0x45, 0x44,
  3097  	0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x55, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x45, 0x5f,
  3098  	0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x45,
  3099  	0x52, 0x56, 0x45, 0x52, 0x5f, 0x53, 0x48, 0x55, 0x54, 0x44, 0x4f, 0x57, 0x4e, 0x10, 0x03, 0x12,
  3100  	0x17, 0x0a, 0x13, 0x50, 0x41, 0x52, 0x54, 0x49, 0x43, 0x49, 0x50, 0x41, 0x4e, 0x54, 0x5f, 0x52,
  3101  	0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x4f, 0x4f, 0x4d,
  3102  	0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54,
  3103  	0x41, 0x54, 0x45, 0x5f, 0x4d, 0x49, 0x53, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x10, 0x06, 0x12, 0x10,
  3104  	0x0a, 0x0c, 0x4a, 0x4f, 0x49, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x07,
  3105  	0x2a, 0x88, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65,
  3106  	0x61, 0x73, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4f, 0x57,
  3107  	0x4e, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x52, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x4c,
  3108  	0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12,
  3109  	0x17, 0x0a, 0x13, 0x52, 0x52, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x53, 0x48, 0x45, 0x52, 0x5f,
  3110  	0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x52, 0x5f, 0x53,
  3111  	0x55, 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x52, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44,
  3112  	0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x52, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x5f,
  3113  	0x43, 0x41, 0x4e, 0x44, 0x49, 0x44, 0x41, 0x54, 0x45, 0x10, 0x04, 0x42, 0x46, 0x5a, 0x23, 0x67,
  3114  	0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b, 0x69,
  3115  	0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2f, 0x6c, 0x69, 0x76, 0x65, 0x6b,
  3116  	0x69, 0x74, 0xaa, 0x02, 0x0d, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x2e, 0x50, 0x72, 0x6f,
  3117  	0x74, 0x6f, 0xea, 0x02, 0x0e, 0x4c, 0x69, 0x76, 0x65, 0x4b, 0x69, 0x74, 0x3a, 0x3a, 0x50, 0x72,
  3118  	0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
  3119  }
  3120  
  3121  var (
  3122  	file_livekit_models_proto_rawDescOnce sync.Once
  3123  	file_livekit_models_proto_rawDescData = file_livekit_models_proto_rawDesc
  3124  )
  3125  
  3126  func file_livekit_models_proto_rawDescGZIP() []byte {
  3127  	file_livekit_models_proto_rawDescOnce.Do(func() {
  3128  		file_livekit_models_proto_rawDescData = protoimpl.X.CompressGZIP(file_livekit_models_proto_rawDescData)
  3129  	})
  3130  	return file_livekit_models_proto_rawDescData
  3131  }
  3132  
  3133  var file_livekit_models_proto_enumTypes = make([]protoimpl.EnumInfo, 14)
  3134  var file_livekit_models_proto_msgTypes = make([]protoimpl.MessageInfo, 21)
  3135  var file_livekit_models_proto_goTypes = []interface{}{
  3136  	(AudioCodec)(0),               // 0: livekit.AudioCodec
  3137  	(VideoCodec)(0),               // 1: livekit.VideoCodec
  3138  	(TrackType)(0),                // 2: livekit.TrackType
  3139  	(TrackSource)(0),              // 3: livekit.TrackSource
  3140  	(VideoQuality)(0),             // 4: livekit.VideoQuality
  3141  	(ConnectionQuality)(0),        // 5: livekit.ConnectionQuality
  3142  	(ClientConfigSetting)(0),      // 6: livekit.ClientConfigSetting
  3143  	(DisconnectReason)(0),         // 7: livekit.DisconnectReason
  3144  	(ReconnectReason)(0),          // 8: livekit.ReconnectReason
  3145  	(ParticipantInfo_State)(0),    // 9: livekit.ParticipantInfo.State
  3146  	(Encryption_Type)(0),          // 10: livekit.Encryption.Type
  3147  	(DataPacket_Kind)(0),          // 11: livekit.DataPacket.Kind
  3148  	(ServerInfo_Edition)(0),       // 12: livekit.ServerInfo.Edition
  3149  	(ClientInfo_SDK)(0),           // 13: livekit.ClientInfo.SDK
  3150  	(*Room)(nil),                  // 14: livekit.Room
  3151  	(*Codec)(nil),                 // 15: livekit.Codec
  3152  	(*ParticipantPermission)(nil), // 16: livekit.ParticipantPermission
  3153  	(*ParticipantInfo)(nil),       // 17: livekit.ParticipantInfo
  3154  	(*Encryption)(nil),            // 18: livekit.Encryption
  3155  	(*SimulcastCodecInfo)(nil),    // 19: livekit.SimulcastCodecInfo
  3156  	(*TrackInfo)(nil),             // 20: livekit.TrackInfo
  3157  	(*VideoLayer)(nil),            // 21: livekit.VideoLayer
  3158  	(*DataPacket)(nil),            // 22: livekit.DataPacket
  3159  	(*ActiveSpeakerUpdate)(nil),   // 23: livekit.ActiveSpeakerUpdate
  3160  	(*SpeakerInfo)(nil),           // 24: livekit.SpeakerInfo
  3161  	(*UserPacket)(nil),            // 25: livekit.UserPacket
  3162  	(*ParticipantTracks)(nil),     // 26: livekit.ParticipantTracks
  3163  	(*ServerInfo)(nil),            // 27: livekit.ServerInfo
  3164  	(*ClientInfo)(nil),            // 28: livekit.ClientInfo
  3165  	(*ClientConfiguration)(nil),   // 29: livekit.ClientConfiguration
  3166  	(*VideoConfiguration)(nil),    // 30: livekit.VideoConfiguration
  3167  	(*DisabledCodecs)(nil),        // 31: livekit.DisabledCodecs
  3168  	(*RTPStats)(nil),              // 32: livekit.RTPStats
  3169  	(*TimedVersion)(nil),          // 33: livekit.TimedVersion
  3170  	nil,                           // 34: livekit.RTPStats.GapHistogramEntry
  3171  	(*timestamppb.Timestamp)(nil), // 35: google.protobuf.Timestamp
  3172  }
  3173  var file_livekit_models_proto_depIdxs = []int32{
  3174  	15, // 0: livekit.Room.enabled_codecs:type_name -> livekit.Codec
  3175  	3,  // 1: livekit.ParticipantPermission.can_publish_sources:type_name -> livekit.TrackSource
  3176  	9,  // 2: livekit.ParticipantInfo.state:type_name -> livekit.ParticipantInfo.State
  3177  	20, // 3: livekit.ParticipantInfo.tracks:type_name -> livekit.TrackInfo
  3178  	16, // 4: livekit.ParticipantInfo.permission:type_name -> livekit.ParticipantPermission
  3179  	21, // 5: livekit.SimulcastCodecInfo.layers:type_name -> livekit.VideoLayer
  3180  	2,  // 6: livekit.TrackInfo.type:type_name -> livekit.TrackType
  3181  	3,  // 7: livekit.TrackInfo.source:type_name -> livekit.TrackSource
  3182  	21, // 8: livekit.TrackInfo.layers:type_name -> livekit.VideoLayer
  3183  	19, // 9: livekit.TrackInfo.codecs:type_name -> livekit.SimulcastCodecInfo
  3184  	10, // 10: livekit.TrackInfo.encryption:type_name -> livekit.Encryption.Type
  3185  	4,  // 11: livekit.VideoLayer.quality:type_name -> livekit.VideoQuality
  3186  	11, // 12: livekit.DataPacket.kind:type_name -> livekit.DataPacket.Kind
  3187  	25, // 13: livekit.DataPacket.user:type_name -> livekit.UserPacket
  3188  	23, // 14: livekit.DataPacket.speaker:type_name -> livekit.ActiveSpeakerUpdate
  3189  	24, // 15: livekit.ActiveSpeakerUpdate.speakers:type_name -> livekit.SpeakerInfo
  3190  	12, // 16: livekit.ServerInfo.edition:type_name -> livekit.ServerInfo.Edition
  3191  	13, // 17: livekit.ClientInfo.sdk:type_name -> livekit.ClientInfo.SDK
  3192  	30, // 18: livekit.ClientConfiguration.video:type_name -> livekit.VideoConfiguration
  3193  	30, // 19: livekit.ClientConfiguration.screen:type_name -> livekit.VideoConfiguration
  3194  	6,  // 20: livekit.ClientConfiguration.resume_connection:type_name -> livekit.ClientConfigSetting
  3195  	31, // 21: livekit.ClientConfiguration.disabled_codecs:type_name -> livekit.DisabledCodecs
  3196  	6,  // 22: livekit.ClientConfiguration.force_relay:type_name -> livekit.ClientConfigSetting
  3197  	6,  // 23: livekit.VideoConfiguration.hardware_encoder:type_name -> livekit.ClientConfigSetting
  3198  	15, // 24: livekit.DisabledCodecs.codecs:type_name -> livekit.Codec
  3199  	35, // 25: livekit.RTPStats.start_time:type_name -> google.protobuf.Timestamp
  3200  	35, // 26: livekit.RTPStats.end_time:type_name -> google.protobuf.Timestamp
  3201  	34, // 27: livekit.RTPStats.gap_histogram:type_name -> livekit.RTPStats.GapHistogramEntry
  3202  	35, // 28: livekit.RTPStats.last_pli:type_name -> google.protobuf.Timestamp
  3203  	35, // 29: livekit.RTPStats.last_fir:type_name -> google.protobuf.Timestamp
  3204  	35, // 30: livekit.RTPStats.last_key_frame:type_name -> google.protobuf.Timestamp
  3205  	35, // 31: livekit.RTPStats.last_layer_lock_pli:type_name -> google.protobuf.Timestamp
  3206  	32, // [32:32] is the sub-list for method output_type
  3207  	32, // [32:32] is the sub-list for method input_type
  3208  	32, // [32:32] is the sub-list for extension type_name
  3209  	32, // [32:32] is the sub-list for extension extendee
  3210  	0,  // [0:32] is the sub-list for field type_name
  3211  }
  3212  
  3213  func init() { file_livekit_models_proto_init() }
  3214  func file_livekit_models_proto_init() {
  3215  	if File_livekit_models_proto != nil {
  3216  		return
  3217  	}
  3218  	if !protoimpl.UnsafeEnabled {
  3219  		file_livekit_models_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  3220  			switch v := v.(*Room); i {
  3221  			case 0:
  3222  				return &v.state
  3223  			case 1:
  3224  				return &v.sizeCache
  3225  			case 2:
  3226  				return &v.unknownFields
  3227  			default:
  3228  				return nil
  3229  			}
  3230  		}
  3231  		file_livekit_models_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  3232  			switch v := v.(*Codec); i {
  3233  			case 0:
  3234  				return &v.state
  3235  			case 1:
  3236  				return &v.sizeCache
  3237  			case 2:
  3238  				return &v.unknownFields
  3239  			default:
  3240  				return nil
  3241  			}
  3242  		}
  3243  		file_livekit_models_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  3244  			switch v := v.(*ParticipantPermission); i {
  3245  			case 0:
  3246  				return &v.state
  3247  			case 1:
  3248  				return &v.sizeCache
  3249  			case 2:
  3250  				return &v.unknownFields
  3251  			default:
  3252  				return nil
  3253  			}
  3254  		}
  3255  		file_livekit_models_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  3256  			switch v := v.(*ParticipantInfo); i {
  3257  			case 0:
  3258  				return &v.state
  3259  			case 1:
  3260  				return &v.sizeCache
  3261  			case 2:
  3262  				return &v.unknownFields
  3263  			default:
  3264  				return nil
  3265  			}
  3266  		}
  3267  		file_livekit_models_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  3268  			switch v := v.(*Encryption); i {
  3269  			case 0:
  3270  				return &v.state
  3271  			case 1:
  3272  				return &v.sizeCache
  3273  			case 2:
  3274  				return &v.unknownFields
  3275  			default:
  3276  				return nil
  3277  			}
  3278  		}
  3279  		file_livekit_models_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  3280  			switch v := v.(*SimulcastCodecInfo); i {
  3281  			case 0:
  3282  				return &v.state
  3283  			case 1:
  3284  				return &v.sizeCache
  3285  			case 2:
  3286  				return &v.unknownFields
  3287  			default:
  3288  				return nil
  3289  			}
  3290  		}
  3291  		file_livekit_models_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  3292  			switch v := v.(*TrackInfo); i {
  3293  			case 0:
  3294  				return &v.state
  3295  			case 1:
  3296  				return &v.sizeCache
  3297  			case 2:
  3298  				return &v.unknownFields
  3299  			default:
  3300  				return nil
  3301  			}
  3302  		}
  3303  		file_livekit_models_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  3304  			switch v := v.(*VideoLayer); i {
  3305  			case 0:
  3306  				return &v.state
  3307  			case 1:
  3308  				return &v.sizeCache
  3309  			case 2:
  3310  				return &v.unknownFields
  3311  			default:
  3312  				return nil
  3313  			}
  3314  		}
  3315  		file_livekit_models_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  3316  			switch v := v.(*DataPacket); i {
  3317  			case 0:
  3318  				return &v.state
  3319  			case 1:
  3320  				return &v.sizeCache
  3321  			case 2:
  3322  				return &v.unknownFields
  3323  			default:
  3324  				return nil
  3325  			}
  3326  		}
  3327  		file_livekit_models_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  3328  			switch v := v.(*ActiveSpeakerUpdate); i {
  3329  			case 0:
  3330  				return &v.state
  3331  			case 1:
  3332  				return &v.sizeCache
  3333  			case 2:
  3334  				return &v.unknownFields
  3335  			default:
  3336  				return nil
  3337  			}
  3338  		}
  3339  		file_livekit_models_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
  3340  			switch v := v.(*SpeakerInfo); i {
  3341  			case 0:
  3342  				return &v.state
  3343  			case 1:
  3344  				return &v.sizeCache
  3345  			case 2:
  3346  				return &v.unknownFields
  3347  			default:
  3348  				return nil
  3349  			}
  3350  		}
  3351  		file_livekit_models_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
  3352  			switch v := v.(*UserPacket); i {
  3353  			case 0:
  3354  				return &v.state
  3355  			case 1:
  3356  				return &v.sizeCache
  3357  			case 2:
  3358  				return &v.unknownFields
  3359  			default:
  3360  				return nil
  3361  			}
  3362  		}
  3363  		file_livekit_models_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
  3364  			switch v := v.(*ParticipantTracks); i {
  3365  			case 0:
  3366  				return &v.state
  3367  			case 1:
  3368  				return &v.sizeCache
  3369  			case 2:
  3370  				return &v.unknownFields
  3371  			default:
  3372  				return nil
  3373  			}
  3374  		}
  3375  		file_livekit_models_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
  3376  			switch v := v.(*ServerInfo); i {
  3377  			case 0:
  3378  				return &v.state
  3379  			case 1:
  3380  				return &v.sizeCache
  3381  			case 2:
  3382  				return &v.unknownFields
  3383  			default:
  3384  				return nil
  3385  			}
  3386  		}
  3387  		file_livekit_models_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
  3388  			switch v := v.(*ClientInfo); i {
  3389  			case 0:
  3390  				return &v.state
  3391  			case 1:
  3392  				return &v.sizeCache
  3393  			case 2:
  3394  				return &v.unknownFields
  3395  			default:
  3396  				return nil
  3397  			}
  3398  		}
  3399  		file_livekit_models_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
  3400  			switch v := v.(*ClientConfiguration); i {
  3401  			case 0:
  3402  				return &v.state
  3403  			case 1:
  3404  				return &v.sizeCache
  3405  			case 2:
  3406  				return &v.unknownFields
  3407  			default:
  3408  				return nil
  3409  			}
  3410  		}
  3411  		file_livekit_models_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
  3412  			switch v := v.(*VideoConfiguration); i {
  3413  			case 0:
  3414  				return &v.state
  3415  			case 1:
  3416  				return &v.sizeCache
  3417  			case 2:
  3418  				return &v.unknownFields
  3419  			default:
  3420  				return nil
  3421  			}
  3422  		}
  3423  		file_livekit_models_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
  3424  			switch v := v.(*DisabledCodecs); i {
  3425  			case 0:
  3426  				return &v.state
  3427  			case 1:
  3428  				return &v.sizeCache
  3429  			case 2:
  3430  				return &v.unknownFields
  3431  			default:
  3432  				return nil
  3433  			}
  3434  		}
  3435  		file_livekit_models_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
  3436  			switch v := v.(*RTPStats); i {
  3437  			case 0:
  3438  				return &v.state
  3439  			case 1:
  3440  				return &v.sizeCache
  3441  			case 2:
  3442  				return &v.unknownFields
  3443  			default:
  3444  				return nil
  3445  			}
  3446  		}
  3447  		file_livekit_models_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
  3448  			switch v := v.(*TimedVersion); i {
  3449  			case 0:
  3450  				return &v.state
  3451  			case 1:
  3452  				return &v.sizeCache
  3453  			case 2:
  3454  				return &v.unknownFields
  3455  			default:
  3456  				return nil
  3457  			}
  3458  		}
  3459  	}
  3460  	file_livekit_models_proto_msgTypes[8].OneofWrappers = []interface{}{
  3461  		(*DataPacket_User)(nil),
  3462  		(*DataPacket_Speaker)(nil),
  3463  	}
  3464  	file_livekit_models_proto_msgTypes[11].OneofWrappers = []interface{}{}
  3465  	type x struct{}
  3466  	out := protoimpl.TypeBuilder{
  3467  		File: protoimpl.DescBuilder{
  3468  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  3469  			RawDescriptor: file_livekit_models_proto_rawDesc,
  3470  			NumEnums:      14,
  3471  			NumMessages:   21,
  3472  			NumExtensions: 0,
  3473  			NumServices:   0,
  3474  		},
  3475  		GoTypes:           file_livekit_models_proto_goTypes,
  3476  		DependencyIndexes: file_livekit_models_proto_depIdxs,
  3477  		EnumInfos:         file_livekit_models_proto_enumTypes,
  3478  		MessageInfos:      file_livekit_models_proto_msgTypes,
  3479  	}.Build()
  3480  	File_livekit_models_proto = out.File
  3481  	file_livekit_models_proto_rawDesc = nil
  3482  	file_livekit_models_proto_goTypes = nil
  3483  	file_livekit_models_proto_depIdxs = nil
  3484  }