1// Copyright 2021 The ChromiumOS Authors 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5// Code generated by protoc-gen-go. DO NOT EDIT. 6// versions: 7// protoc-gen-go v1.27.1 8// protoc v3.17.1 9// source: chromiumos/test/lab/api/dut.proto 10 11package api 12 13import ( 14 api "go.chromium.org/chromiumos/config/go/api" 15 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 16 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 17 reflect "reflect" 18 sync "sync" 19) 20 21const ( 22 // Verify that this generated code is sufficiently up-to-date. 23 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 24 // Verify that runtime/protoimpl is sufficiently up-to-date. 25 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 26) 27 28// Next Tag: 12 29type ModemType int32 30 31const ( 32 ModemType_MODEM_TYPE_UNSPECIFIED ModemType = 0 33 ModemType_MODEM_TYPE_UNSUPPORTED ModemType = 8 34 ModemType_MODEM_TYPE_QUALCOMM_SC7180 ModemType = 1 35 ModemType_MODEM_TYPE_FIBOCOMM_L850GL ModemType = 2 36 ModemType_MODEM_TYPE_NL668 ModemType = 3 37 ModemType_MODEM_TYPE_FM350 ModemType = 4 38 ModemType_MODEM_TYPE_FM101 ModemType = 5 39 ModemType_MODEM_TYPE_QUALCOMM_SC7280 ModemType = 6 40 ModemType_MODEM_TYPE_EM060 ModemType = 7 41 ModemType_MODEM_TYPE_RW101 ModemType = 9 42 ModemType_MODEM_TYPE_RW135 ModemType = 10 43 ModemType_MODEM_TYPE_LCUK54 ModemType = 11 44) 45 46// Enum value maps for ModemType. 47var ( 48 ModemType_name = map[int32]string{ 49 0: "MODEM_TYPE_UNSPECIFIED", 50 8: "MODEM_TYPE_UNSUPPORTED", 51 1: "MODEM_TYPE_QUALCOMM_SC7180", 52 2: "MODEM_TYPE_FIBOCOMM_L850GL", 53 3: "MODEM_TYPE_NL668", 54 4: "MODEM_TYPE_FM350", 55 5: "MODEM_TYPE_FM101", 56 6: "MODEM_TYPE_QUALCOMM_SC7280", 57 7: "MODEM_TYPE_EM060", 58 9: "MODEM_TYPE_RW101", 59 10: "MODEM_TYPE_RW135", 60 11: "MODEM_TYPE_LCUK54", 61 } 62 ModemType_value = map[string]int32{ 63 "MODEM_TYPE_UNSPECIFIED": 0, 64 "MODEM_TYPE_UNSUPPORTED": 8, 65 "MODEM_TYPE_QUALCOMM_SC7180": 1, 66 "MODEM_TYPE_FIBOCOMM_L850GL": 2, 67 "MODEM_TYPE_NL668": 3, 68 "MODEM_TYPE_FM350": 4, 69 "MODEM_TYPE_FM101": 5, 70 "MODEM_TYPE_QUALCOMM_SC7280": 6, 71 "MODEM_TYPE_EM060": 7, 72 "MODEM_TYPE_RW101": 9, 73 "MODEM_TYPE_RW135": 10, 74 "MODEM_TYPE_LCUK54": 11, 75 } 76) 77 78func (x ModemType) Enum() *ModemType { 79 p := new(ModemType) 80 *p = x 81 return p 82} 83 84func (x ModemType) String() string { 85 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 86} 87 88func (ModemType) Descriptor() protoreflect.EnumDescriptor { 89 return file_chromiumos_test_lab_api_dut_proto_enumTypes[0].Descriptor() 90} 91 92func (ModemType) Type() protoreflect.EnumType { 93 return &file_chromiumos_test_lab_api_dut_proto_enumTypes[0] 94} 95 96func (x ModemType) Number() protoreflect.EnumNumber { 97 return protoreflect.EnumNumber(x) 98} 99 100// Deprecated: Use ModemType.Descriptor instead. 101func (ModemType) EnumDescriptor() ([]byte, []int) { 102 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{0} 103} 104 105type NetworkProvider int32 106 107const ( 108 NetworkProvider_NETWORK_OTHER NetworkProvider = 0 109 NetworkProvider_NETWORK_UNSUPPORTED NetworkProvider = 5 110 NetworkProvider_NETWORK_TEST NetworkProvider = 1 111 NetworkProvider_NETWORK_ATT NetworkProvider = 2 112 NetworkProvider_NETWORK_TMOBILE NetworkProvider = 3 113 NetworkProvider_NETWORK_VERIZON NetworkProvider = 4 114 NetworkProvider_NETWORK_SPRINT NetworkProvider = 6 115 NetworkProvider_NETWORK_DOCOMO NetworkProvider = 7 116 NetworkProvider_NETWORK_SOFTBANK NetworkProvider = 8 117 NetworkProvider_NETWORK_KDDI NetworkProvider = 9 118 NetworkProvider_NETWORK_RAKUTEN NetworkProvider = 10 119 NetworkProvider_NETWORK_VODAFONE NetworkProvider = 11 120 NetworkProvider_NETWORK_EE NetworkProvider = 12 121 NetworkProvider_NETWORK_AMARISOFT NetworkProvider = 13 122 NetworkProvider_NETWORK_ROGER NetworkProvider = 14 123 NetworkProvider_NETWORK_BELL NetworkProvider = 15 124 NetworkProvider_NETWORK_TELUS NetworkProvider = 16 125 NetworkProvider_NETWORK_FI NetworkProvider = 17 126 NetworkProvider_NETWORK_CBRS NetworkProvider = 18 127 NetworkProvider_NETWORK_LINEMO NetworkProvider = 19 128 NetworkProvider_NETWORK_POVO NetworkProvider = 20 129 NetworkProvider_NETWORK_HANSHIN NetworkProvider = 21 130) 131 132// Enum value maps for NetworkProvider. 133var ( 134 NetworkProvider_name = map[int32]string{ 135 0: "NETWORK_OTHER", 136 5: "NETWORK_UNSUPPORTED", 137 1: "NETWORK_TEST", 138 2: "NETWORK_ATT", 139 3: "NETWORK_TMOBILE", 140 4: "NETWORK_VERIZON", 141 6: "NETWORK_SPRINT", 142 7: "NETWORK_DOCOMO", 143 8: "NETWORK_SOFTBANK", 144 9: "NETWORK_KDDI", 145 10: "NETWORK_RAKUTEN", 146 11: "NETWORK_VODAFONE", 147 12: "NETWORK_EE", 148 13: "NETWORK_AMARISOFT", 149 14: "NETWORK_ROGER", 150 15: "NETWORK_BELL", 151 16: "NETWORK_TELUS", 152 17: "NETWORK_FI", 153 18: "NETWORK_CBRS", 154 19: "NETWORK_LINEMO", 155 20: "NETWORK_POVO", 156 21: "NETWORK_HANSHIN", 157 } 158 NetworkProvider_value = map[string]int32{ 159 "NETWORK_OTHER": 0, 160 "NETWORK_UNSUPPORTED": 5, 161 "NETWORK_TEST": 1, 162 "NETWORK_ATT": 2, 163 "NETWORK_TMOBILE": 3, 164 "NETWORK_VERIZON": 4, 165 "NETWORK_SPRINT": 6, 166 "NETWORK_DOCOMO": 7, 167 "NETWORK_SOFTBANK": 8, 168 "NETWORK_KDDI": 9, 169 "NETWORK_RAKUTEN": 10, 170 "NETWORK_VODAFONE": 11, 171 "NETWORK_EE": 12, 172 "NETWORK_AMARISOFT": 13, 173 "NETWORK_ROGER": 14, 174 "NETWORK_BELL": 15, 175 "NETWORK_TELUS": 16, 176 "NETWORK_FI": 17, 177 "NETWORK_CBRS": 18, 178 "NETWORK_LINEMO": 19, 179 "NETWORK_POVO": 20, 180 "NETWORK_HANSHIN": 21, 181 } 182) 183 184func (x NetworkProvider) Enum() *NetworkProvider { 185 p := new(NetworkProvider) 186 *p = x 187 return p 188} 189 190func (x NetworkProvider) String() string { 191 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 192} 193 194func (NetworkProvider) Descriptor() protoreflect.EnumDescriptor { 195 return file_chromiumos_test_lab_api_dut_proto_enumTypes[1].Descriptor() 196} 197 198func (NetworkProvider) Type() protoreflect.EnumType { 199 return &file_chromiumos_test_lab_api_dut_proto_enumTypes[1] 200} 201 202func (x NetworkProvider) Number() protoreflect.EnumNumber { 203 return protoreflect.EnumNumber(x) 204} 205 206// Deprecated: Use NetworkProvider.Descriptor instead. 207func (NetworkProvider) EnumDescriptor() ([]byte, []int) { 208 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{1} 209} 210 211type SIMType int32 212 213const ( 214 SIMType_SIM_UNKNOWN SIMType = 0 215 SIMType_SIM_PHYSICAL SIMType = 1 216 SIMType_SIM_DIGITAL SIMType = 2 217) 218 219// Enum value maps for SIMType. 220var ( 221 SIMType_name = map[int32]string{ 222 0: "SIM_UNKNOWN", 223 1: "SIM_PHYSICAL", 224 2: "SIM_DIGITAL", 225 } 226 SIMType_value = map[string]int32{ 227 "SIM_UNKNOWN": 0, 228 "SIM_PHYSICAL": 1, 229 "SIM_DIGITAL": 2, 230 } 231) 232 233func (x SIMType) Enum() *SIMType { 234 p := new(SIMType) 235 *p = x 236 return p 237} 238 239func (x SIMType) String() string { 240 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 241} 242 243func (SIMType) Descriptor() protoreflect.EnumDescriptor { 244 return file_chromiumos_test_lab_api_dut_proto_enumTypes[2].Descriptor() 245} 246 247func (SIMType) Type() protoreflect.EnumType { 248 return &file_chromiumos_test_lab_api_dut_proto_enumTypes[2] 249} 250 251func (x SIMType) Number() protoreflect.EnumNumber { 252 return protoreflect.EnumNumber(x) 253} 254 255// Deprecated: Use SIMType.Descriptor instead. 256func (SIMType) EnumDescriptor() ([]byte, []int) { 257 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{2} 258} 259 260// Next Tag: 3 261type RPMType int32 262 263const ( 264 RPMType_RPM_TYPE_UNKNOWN RPMType = 0 265 RPMType_RPM_TYPE_SENTRY RPMType = 1 266 RPMType_RPM_TYPE_IP9850 RPMType = 2 267) 268 269// Enum value maps for RPMType. 270var ( 271 RPMType_name = map[int32]string{ 272 0: "RPM_TYPE_UNKNOWN", 273 1: "RPM_TYPE_SENTRY", 274 2: "RPM_TYPE_IP9850", 275 } 276 RPMType_value = map[string]int32{ 277 "RPM_TYPE_UNKNOWN": 0, 278 "RPM_TYPE_SENTRY": 1, 279 "RPM_TYPE_IP9850": 2, 280 } 281) 282 283func (x RPMType) Enum() *RPMType { 284 p := new(RPMType) 285 *p = x 286 return p 287} 288 289func (x RPMType) String() string { 290 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 291} 292 293func (RPMType) Descriptor() protoreflect.EnumDescriptor { 294 return file_chromiumos_test_lab_api_dut_proto_enumTypes[3].Descriptor() 295} 296 297func (RPMType) Type() protoreflect.EnumType { 298 return &file_chromiumos_test_lab_api_dut_proto_enumTypes[3] 299} 300 301func (x RPMType) Number() protoreflect.EnumNumber { 302 return protoreflect.EnumNumber(x) 303} 304 305// Deprecated: Use RPMType.Descriptor instead. 306func (RPMType) EnumDescriptor() ([]byte, []int) { 307 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{3} 308} 309 310// Next Tag: 3 311type PeripheralState int32 312 313const ( 314 PeripheralState_PERIPHERAL_STATE_UNSPECIFIED PeripheralState = 0 315 PeripheralState_WORKING PeripheralState = 1 316 PeripheralState_BROKEN PeripheralState = 2 317 PeripheralState_NOT_APPLICABLE PeripheralState = 3 318) 319 320// Enum value maps for PeripheralState. 321var ( 322 PeripheralState_name = map[int32]string{ 323 0: "PERIPHERAL_STATE_UNSPECIFIED", 324 1: "WORKING", 325 2: "BROKEN", 326 3: "NOT_APPLICABLE", 327 } 328 PeripheralState_value = map[string]int32{ 329 "PERIPHERAL_STATE_UNSPECIFIED": 0, 330 "WORKING": 1, 331 "BROKEN": 2, 332 "NOT_APPLICABLE": 3, 333 } 334) 335 336func (x PeripheralState) Enum() *PeripheralState { 337 p := new(PeripheralState) 338 *p = x 339 return p 340} 341 342func (x PeripheralState) String() string { 343 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 344} 345 346func (PeripheralState) Descriptor() protoreflect.EnumDescriptor { 347 return file_chromiumos_test_lab_api_dut_proto_enumTypes[4].Descriptor() 348} 349 350func (PeripheralState) Type() protoreflect.EnumType { 351 return &file_chromiumos_test_lab_api_dut_proto_enumTypes[4] 352} 353 354func (x PeripheralState) Number() protoreflect.EnumNumber { 355 return protoreflect.EnumNumber(x) 356} 357 358// Deprecated: Use PeripheralState.Descriptor instead. 359func (PeripheralState) EnumDescriptor() ([]byte, []int) { 360 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{4} 361} 362 363// Next Tag: 34 364type Phase int32 365 366const ( 367 Phase_PHASE_UNSPECIFIED Phase = 0 368 Phase_DVT Phase = 1 369 Phase_DVT_2 Phase = 2 370 Phase_DVT_2_MPS_LTE Phase = 3 371 Phase_DVT_BIPSHIP Phase = 4 372 Phase_DVT_BOOKEM Phase = 5 373 Phase_DVT_ELECTRO Phase = 6 374 Phase_DVT_LOCKE Phase = 7 375 Phase_DVT_OSCINO Phase = 8 376 Phase_DVT_REKS14 Phase = 9 377 Phase_DVT_REKS14_TOUCH Phase = 10 378 Phase_DVT_TOUCH Phase = 11 379 Phase_EVT Phase = 12 380 Phase_EVT_FLEEX_LTE Phase = 13 381 Phase_EVT_HQ Phase = 14 382 Phase_EVT_LTE Phase = 15 383 Phase_EVT_MAPLE Phase = 16 384 Phase_EVT_PUJJO Phase = 17 385 Phase_PROTO Phase = 18 386 Phase_PROTO1 Phase = 19 387 Phase_PVT Phase = 20 388 Phase_PVT_TERRA3 Phase = 21 389 Phase_PVT_US Phase = 22 390 Phase_PVT_2 Phase = 23 391 Phase_PVT_BOOKEM Phase = 24 392 Phase_PVT_ELECTRO Phase = 25 393 Phase_PVT_GIK360 Phase = 26 394 Phase_PVT_LILI Phase = 27 395 Phase_PVT_LTE Phase = 28 396 Phase_PVT_NEW_CPU Phase = 29 397 Phase_PVT_SAND Phase = 30 398 Phase_PVT_TUNE_BITS Phase = 31 399 Phase_PVT_TELESU Phase = 32 400 Phase_SR Phase = 33 401) 402 403// Enum value maps for Phase. 404var ( 405 Phase_name = map[int32]string{ 406 0: "PHASE_UNSPECIFIED", 407 1: "DVT", 408 2: "DVT_2", 409 3: "DVT_2_MPS_LTE", 410 4: "DVT_BIPSHIP", 411 5: "DVT_BOOKEM", 412 6: "DVT_ELECTRO", 413 7: "DVT_LOCKE", 414 8: "DVT_OSCINO", 415 9: "DVT_REKS14", 416 10: "DVT_REKS14_TOUCH", 417 11: "DVT_TOUCH", 418 12: "EVT", 419 13: "EVT_FLEEX_LTE", 420 14: "EVT_HQ", 421 15: "EVT_LTE", 422 16: "EVT_MAPLE", 423 17: "EVT_PUJJO", 424 18: "PROTO", 425 19: "PROTO1", 426 20: "PVT", 427 21: "PVT_TERRA3", 428 22: "PVT_US", 429 23: "PVT_2", 430 24: "PVT_BOOKEM", 431 25: "PVT_ELECTRO", 432 26: "PVT_GIK360", 433 27: "PVT_LILI", 434 28: "PVT_LTE", 435 29: "PVT_NEW_CPU", 436 30: "PVT_SAND", 437 31: "PVT_TUNE_BITS", 438 32: "PVT_TELESU", 439 33: "SR", 440 } 441 Phase_value = map[string]int32{ 442 "PHASE_UNSPECIFIED": 0, 443 "DVT": 1, 444 "DVT_2": 2, 445 "DVT_2_MPS_LTE": 3, 446 "DVT_BIPSHIP": 4, 447 "DVT_BOOKEM": 5, 448 "DVT_ELECTRO": 6, 449 "DVT_LOCKE": 7, 450 "DVT_OSCINO": 8, 451 "DVT_REKS14": 9, 452 "DVT_REKS14_TOUCH": 10, 453 "DVT_TOUCH": 11, 454 "EVT": 12, 455 "EVT_FLEEX_LTE": 13, 456 "EVT_HQ": 14, 457 "EVT_LTE": 15, 458 "EVT_MAPLE": 16, 459 "EVT_PUJJO": 17, 460 "PROTO": 18, 461 "PROTO1": 19, 462 "PVT": 20, 463 "PVT_TERRA3": 21, 464 "PVT_US": 22, 465 "PVT_2": 23, 466 "PVT_BOOKEM": 24, 467 "PVT_ELECTRO": 25, 468 "PVT_GIK360": 26, 469 "PVT_LILI": 27, 470 "PVT_LTE": 28, 471 "PVT_NEW_CPU": 29, 472 "PVT_SAND": 30, 473 "PVT_TUNE_BITS": 31, 474 "PVT_TELESU": 32, 475 "SR": 33, 476 } 477) 478 479func (x Phase) Enum() *Phase { 480 p := new(Phase) 481 *p = x 482 return p 483} 484 485func (x Phase) String() string { 486 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 487} 488 489func (Phase) Descriptor() protoreflect.EnumDescriptor { 490 return file_chromiumos_test_lab_api_dut_proto_enumTypes[5].Descriptor() 491} 492 493func (Phase) Type() protoreflect.EnumType { 494 return &file_chromiumos_test_lab_api_dut_proto_enumTypes[5] 495} 496 497func (x Phase) Number() protoreflect.EnumNumber { 498 return protoreflect.EnumNumber(x) 499} 500 501// Deprecated: Use Phase.Descriptor instead. 502func (Phase) EnumDescriptor() ([]byte, []int) { 503 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{5} 504} 505 506type Cable_Type int32 507 508const ( 509 Cable_TYPE_UNSPECIFIED Cable_Type = 0 510 Cable_AUDIOJACK Cable_Type = 1 511 Cable_USBAUDIO Cable_Type = 2 512 Cable_USBPRINTING Cable_Type = 3 513 Cable_HDMIAUDIO Cable_Type = 4 514) 515 516// Enum value maps for Cable_Type. 517var ( 518 Cable_Type_name = map[int32]string{ 519 0: "TYPE_UNSPECIFIED", 520 1: "AUDIOJACK", 521 2: "USBAUDIO", 522 3: "USBPRINTING", 523 4: "HDMIAUDIO", 524 } 525 Cable_Type_value = map[string]int32{ 526 "TYPE_UNSPECIFIED": 0, 527 "AUDIOJACK": 1, 528 "USBAUDIO": 2, 529 "USBPRINTING": 3, 530 "HDMIAUDIO": 4, 531 } 532) 533 534func (x Cable_Type) Enum() *Cable_Type { 535 p := new(Cable_Type) 536 *p = x 537 return p 538} 539 540func (x Cable_Type) String() string { 541 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 542} 543 544func (Cable_Type) Descriptor() protoreflect.EnumDescriptor { 545 return file_chromiumos_test_lab_api_dut_proto_enumTypes[6].Descriptor() 546} 547 548func (Cable_Type) Type() protoreflect.EnumType { 549 return &file_chromiumos_test_lab_api_dut_proto_enumTypes[6] 550} 551 552func (x Cable_Type) Number() protoreflect.EnumNumber { 553 return protoreflect.EnumNumber(x) 554} 555 556// Deprecated: Use Cable_Type.Descriptor instead. 557func (Cable_Type) EnumDescriptor() ([]byte, []int) { 558 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{4, 0} 559} 560 561// Facing of DUT's camera to be tested whose FOV should cover chart tablet's 562// screen. 563type Camerabox_Facing int32 564 565const ( 566 Camerabox_FACING_UNSPECIFIED Camerabox_Facing = 0 567 // DUT's back camera faces the chart tablet. 568 Camerabox_BACK Camerabox_Facing = 1 569 // DUT's front camera faces to chart tablet. 570 Camerabox_FRONT Camerabox_Facing = 2 571) 572 573// Enum value maps for Camerabox_Facing. 574var ( 575 Camerabox_Facing_name = map[int32]string{ 576 0: "FACING_UNSPECIFIED", 577 1: "BACK", 578 2: "FRONT", 579 } 580 Camerabox_Facing_value = map[string]int32{ 581 "FACING_UNSPECIFIED": 0, 582 "BACK": 1, 583 "FRONT": 2, 584 } 585) 586 587func (x Camerabox_Facing) Enum() *Camerabox_Facing { 588 p := new(Camerabox_Facing) 589 *p = x 590 return p 591} 592 593func (x Camerabox_Facing) String() string { 594 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 595} 596 597func (Camerabox_Facing) Descriptor() protoreflect.EnumDescriptor { 598 return file_chromiumos_test_lab_api_dut_proto_enumTypes[7].Descriptor() 599} 600 601func (Camerabox_Facing) Type() protoreflect.EnumType { 602 return &file_chromiumos_test_lab_api_dut_proto_enumTypes[7] 603} 604 605func (x Camerabox_Facing) Number() protoreflect.EnumNumber { 606 return protoreflect.EnumNumber(x) 607} 608 609// Deprecated: Use Camerabox_Facing.Descriptor instead. 610func (Camerabox_Facing) EnumDescriptor() ([]byte, []int) { 611 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{6, 0} 612} 613 614type Cellular_Operator int32 615 616const ( 617 Cellular_OPERATOR_UNSPECIFIED Cellular_Operator = 0 618 Cellular_ATT Cellular_Operator = 1 619 Cellular_VERIZON Cellular_Operator = 2 620 Cellular_TMOBILE Cellular_Operator = 3 621) 622 623// Enum value maps for Cellular_Operator. 624var ( 625 Cellular_Operator_name = map[int32]string{ 626 0: "OPERATOR_UNSPECIFIED", 627 1: "ATT", 628 2: "VERIZON", 629 3: "TMOBILE", 630 } 631 Cellular_Operator_value = map[string]int32{ 632 "OPERATOR_UNSPECIFIED": 0, 633 "ATT": 1, 634 "VERIZON": 2, 635 "TMOBILE": 3, 636 } 637) 638 639func (x Cellular_Operator) Enum() *Cellular_Operator { 640 p := new(Cellular_Operator) 641 *p = x 642 return p 643} 644 645func (x Cellular_Operator) String() string { 646 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 647} 648 649func (Cellular_Operator) Descriptor() protoreflect.EnumDescriptor { 650 return file_chromiumos_test_lab_api_dut_proto_enumTypes[8].Descriptor() 651} 652 653func (Cellular_Operator) Type() protoreflect.EnumType { 654 return &file_chromiumos_test_lab_api_dut_proto_enumTypes[8] 655} 656 657func (x Cellular_Operator) Number() protoreflect.EnumNumber { 658 return protoreflect.EnumNumber(x) 659} 660 661// Deprecated: Use Cellular_Operator.Descriptor instead. 662func (Cellular_Operator) EnumDescriptor() ([]byte, []int) { 663 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{7, 0} 664} 665 666// Possible states of the SIM profile. 667type SIMProfileInfo_State int32 668 669const ( 670 // State not set. 671 SIMProfileInfo_UNSPECIFIED SIMProfileInfo_State = 0 672 // The device is unusable. 673 SIMProfileInfo_BROKEN SIMProfileInfo_State = 1 674 // The device needs to be unlocked. 675 SIMProfileInfo_LOCKED SIMProfileInfo_State = 2 676 // No data connection available and not in a failed state. 677 SIMProfileInfo_NO_NETWORK SIMProfileInfo_State = 3 678 // The device is registered with a network provider, and data connections and messaging may be available for use. 679 SIMProfileInfo_WORKING SIMProfileInfo_State = 4 680 // The device has an invalid configuration in UFS. 681 SIMProfileInfo_WRONG_CONFIG SIMProfileInfo_State = 5 682) 683 684// Enum value maps for SIMProfileInfo_State. 685var ( 686 SIMProfileInfo_State_name = map[int32]string{ 687 0: "UNSPECIFIED", 688 1: "BROKEN", 689 2: "LOCKED", 690 3: "NO_NETWORK", 691 4: "WORKING", 692 5: "WRONG_CONFIG", 693 } 694 SIMProfileInfo_State_value = map[string]int32{ 695 "UNSPECIFIED": 0, 696 "BROKEN": 1, 697 "LOCKED": 2, 698 "NO_NETWORK": 3, 699 "WORKING": 4, 700 "WRONG_CONFIG": 5, 701 } 702) 703 704func (x SIMProfileInfo_State) Enum() *SIMProfileInfo_State { 705 p := new(SIMProfileInfo_State) 706 *p = x 707 return p 708} 709 710func (x SIMProfileInfo_State) String() string { 711 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 712} 713 714func (SIMProfileInfo_State) Descriptor() protoreflect.EnumDescriptor { 715 return file_chromiumos_test_lab_api_dut_proto_enumTypes[9].Descriptor() 716} 717 718func (SIMProfileInfo_State) Type() protoreflect.EnumType { 719 return &file_chromiumos_test_lab_api_dut_proto_enumTypes[9] 720} 721 722func (x SIMProfileInfo_State) Number() protoreflect.EnumNumber { 723 return protoreflect.EnumNumber(x) 724} 725 726// Deprecated: Use SIMProfileInfo_State.Descriptor instead. 727func (SIMProfileInfo_State) EnumDescriptor() ([]byte, []int) { 728 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{10, 0} 729} 730 731// Possible features that the SIM supports. 732type SIMProfileInfo_Feature int32 733 734const ( 735 // Unset feature. 736 SIMProfileInfo_FEATURE_UNSPECIFIED SIMProfileInfo_Feature = 0 737 // The SIM supports a generic live network. 738 SIMProfileInfo_FEATURE_LIVE_NETWORK SIMProfileInfo_Feature = 1 739 // The SIM supports SMS messaging. 740 SIMProfileInfo_FEATURE_SMS SIMProfileInfo_Feature = 2 741) 742 743// Enum value maps for SIMProfileInfo_Feature. 744var ( 745 SIMProfileInfo_Feature_name = map[int32]string{ 746 0: "FEATURE_UNSPECIFIED", 747 1: "FEATURE_LIVE_NETWORK", 748 2: "FEATURE_SMS", 749 } 750 SIMProfileInfo_Feature_value = map[string]int32{ 751 "FEATURE_UNSPECIFIED": 0, 752 "FEATURE_LIVE_NETWORK": 1, 753 "FEATURE_SMS": 2, 754 } 755) 756 757func (x SIMProfileInfo_Feature) Enum() *SIMProfileInfo_Feature { 758 p := new(SIMProfileInfo_Feature) 759 *p = x 760 return p 761} 762 763func (x SIMProfileInfo_Feature) String() string { 764 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 765} 766 767func (SIMProfileInfo_Feature) Descriptor() protoreflect.EnumDescriptor { 768 return file_chromiumos_test_lab_api_dut_proto_enumTypes[10].Descriptor() 769} 770 771func (SIMProfileInfo_Feature) Type() protoreflect.EnumType { 772 return &file_chromiumos_test_lab_api_dut_proto_enumTypes[10] 773} 774 775func (x SIMProfileInfo_Feature) Number() protoreflect.EnumNumber { 776 return protoreflect.EnumNumber(x) 777} 778 779// Deprecated: Use SIMProfileInfo_Feature.Descriptor instead. 780func (SIMProfileInfo_Feature) EnumDescriptor() ([]byte, []int) { 781 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{10, 1} 782} 783 784type Chameleon_Peripheral int32 785 786const ( 787 // TODO(b/268202522): remove obsolete chameleon types 788 Chameleon_PERIPHERAL_UNSPECIFIED Chameleon_Peripheral = 0 789 Chameleon_BT_HID Chameleon_Peripheral = 1 790 // Display Port 791 Chameleon_DP Chameleon_Peripheral = 2 792 Chameleon_DP_HDMI Chameleon_Peripheral = 3 793 Chameleon_VGA Chameleon_Peripheral = 4 794 // High Definition Multimedia Interface 795 Chameleon_HDMI Chameleon_Peripheral = 5 796 Chameleon_BT_BLE_HID Chameleon_Peripheral = 6 797 Chameleon_BT_A2DP_SINK Chameleon_Peripheral = 7 798 Chameleon_BT_PEER Chameleon_Peripheral = 8 799 // Raspberry Pi 800 Chameleon_RPI Chameleon_Peripheral = 9 801) 802 803// Enum value maps for Chameleon_Peripheral. 804var ( 805 Chameleon_Peripheral_name = map[int32]string{ 806 0: "PERIPHERAL_UNSPECIFIED", 807 1: "BT_HID", 808 2: "DP", 809 3: "DP_HDMI", 810 4: "VGA", 811 5: "HDMI", 812 6: "BT_BLE_HID", 813 7: "BT_A2DP_SINK", 814 8: "BT_PEER", 815 9: "RPI", 816 } 817 Chameleon_Peripheral_value = map[string]int32{ 818 "PERIPHERAL_UNSPECIFIED": 0, 819 "BT_HID": 1, 820 "DP": 2, 821 "DP_HDMI": 3, 822 "VGA": 4, 823 "HDMI": 5, 824 "BT_BLE_HID": 6, 825 "BT_A2DP_SINK": 7, 826 "BT_PEER": 8, 827 "RPI": 9, 828 } 829) 830 831func (x Chameleon_Peripheral) Enum() *Chameleon_Peripheral { 832 p := new(Chameleon_Peripheral) 833 *p = x 834 return p 835} 836 837func (x Chameleon_Peripheral) String() string { 838 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 839} 840 841func (Chameleon_Peripheral) Descriptor() protoreflect.EnumDescriptor { 842 return file_chromiumos_test_lab_api_dut_proto_enumTypes[11].Descriptor() 843} 844 845func (Chameleon_Peripheral) Type() protoreflect.EnumType { 846 return &file_chromiumos_test_lab_api_dut_proto_enumTypes[11] 847} 848 849func (x Chameleon_Peripheral) Number() protoreflect.EnumNumber { 850 return protoreflect.EnumNumber(x) 851} 852 853// Deprecated: Use Chameleon_Peripheral.Descriptor instead. 854func (Chameleon_Peripheral) EnumDescriptor() ([]byte, []int) { 855 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{11, 0} 856} 857 858type Chameleon_Type int32 859 860const ( 861 Chameleon_TYPE_UNSPECIFIED Chameleon_Type = 0 862 Chameleon_V2 Chameleon_Type = 1 863 Chameleon_V3 Chameleon_Type = 2 864) 865 866// Enum value maps for Chameleon_Type. 867var ( 868 Chameleon_Type_name = map[int32]string{ 869 0: "TYPE_UNSPECIFIED", 870 1: "V2", 871 2: "V3", 872 } 873 Chameleon_Type_value = map[string]int32{ 874 "TYPE_UNSPECIFIED": 0, 875 "V2": 1, 876 "V3": 2, 877 } 878) 879 880func (x Chameleon_Type) Enum() *Chameleon_Type { 881 p := new(Chameleon_Type) 882 *p = x 883 return p 884} 885 886func (x Chameleon_Type) String() string { 887 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 888} 889 890func (Chameleon_Type) Descriptor() protoreflect.EnumDescriptor { 891 return file_chromiumos_test_lab_api_dut_proto_enumTypes[12].Descriptor() 892} 893 894func (Chameleon_Type) Type() protoreflect.EnumType { 895 return &file_chromiumos_test_lab_api_dut_proto_enumTypes[12] 896} 897 898func (x Chameleon_Type) Number() protoreflect.EnumNumber { 899 return protoreflect.EnumNumber(x) 900} 901 902// Deprecated: Use Chameleon_Type.Descriptor instead. 903func (Chameleon_Type) EnumDescriptor() ([]byte, []int) { 904 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{11, 1} 905} 906 907type ExternalCamera_Type int32 908 909const ( 910 ExternalCamera_TYPE_UNSPECIFIED ExternalCamera_Type = 0 911 // camera Huddly GO 912 ExternalCamera_HUDDLY ExternalCamera_Type = 1 913 // camera Logitech PTZ Pro 2 914 ExternalCamera_PTZPRO2 ExternalCamera_Type = 2 915) 916 917// Enum value maps for ExternalCamera_Type. 918var ( 919 ExternalCamera_Type_name = map[int32]string{ 920 0: "TYPE_UNSPECIFIED", 921 1: "HUDDLY", 922 2: "PTZPRO2", 923 } 924 ExternalCamera_Type_value = map[string]int32{ 925 "TYPE_UNSPECIFIED": 0, 926 "HUDDLY": 1, 927 "PTZPRO2": 2, 928 } 929) 930 931func (x ExternalCamera_Type) Enum() *ExternalCamera_Type { 932 p := new(ExternalCamera_Type) 933 *p = x 934 return p 935} 936 937func (x ExternalCamera_Type) String() string { 938 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 939} 940 941func (ExternalCamera_Type) Descriptor() protoreflect.EnumDescriptor { 942 return file_chromiumos_test_lab_api_dut_proto_enumTypes[13].Descriptor() 943} 944 945func (ExternalCamera_Type) Type() protoreflect.EnumType { 946 return &file_chromiumos_test_lab_api_dut_proto_enumTypes[13] 947} 948 949func (x ExternalCamera_Type) Number() protoreflect.EnumNumber { 950 return protoreflect.EnumNumber(x) 951} 952 953// Deprecated: Use ExternalCamera_Type.Descriptor instead. 954func (ExternalCamera_Type) EnumDescriptor() ([]byte, []int) { 955 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{12, 0} 956} 957 958type Wifi_Environment int32 959 960const ( 961 Wifi_ENVIRONMENT_UNSPECIFIED Wifi_Environment = 0 962 // Device is setup without any special wifi environment. 963 Wifi_STANDARD Wifi_Environment = 1 964 // Device is inside a hermetic wifi cell. 965 Wifi_WIFI_CELL Wifi_Environment = 2 966 // Device is setup in a chaos environment. It's a special settings for 967 // running wifi interop tests. 968 Wifi_CHAOS Wifi_Environment = 3 969 // In an environment where the AP is 802.11ax compliant. 970 // Context: crbug.com/1044786 971 Wifi_ROUTER_802_11AX Wifi_Environment = 4 972) 973 974// Enum value maps for Wifi_Environment. 975var ( 976 Wifi_Environment_name = map[int32]string{ 977 0: "ENVIRONMENT_UNSPECIFIED", 978 1: "STANDARD", 979 2: "WIFI_CELL", 980 3: "CHAOS", 981 4: "ROUTER_802_11AX", 982 } 983 Wifi_Environment_value = map[string]int32{ 984 "ENVIRONMENT_UNSPECIFIED": 0, 985 "STANDARD": 1, 986 "WIFI_CELL": 2, 987 "CHAOS": 3, 988 "ROUTER_802_11AX": 4, 989 } 990) 991 992func (x Wifi_Environment) Enum() *Wifi_Environment { 993 p := new(Wifi_Environment) 994 *p = x 995 return p 996} 997 998func (x Wifi_Environment) String() string { 999 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 1000} 1001 1002func (Wifi_Environment) Descriptor() protoreflect.EnumDescriptor { 1003 return file_chromiumos_test_lab_api_dut_proto_enumTypes[14].Descriptor() 1004} 1005 1006func (Wifi_Environment) Type() protoreflect.EnumType { 1007 return &file_chromiumos_test_lab_api_dut_proto_enumTypes[14] 1008} 1009 1010func (x Wifi_Environment) Number() protoreflect.EnumNumber { 1011 return protoreflect.EnumNumber(x) 1012} 1013 1014// Deprecated: Use Wifi_Environment.Descriptor instead. 1015func (Wifi_Environment) EnumDescriptor() ([]byte, []int) { 1016 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{16, 0} 1017} 1018 1019// DUT's WiFi antenna's connection. 1020type WifiAntenna_Connection int32 1021 1022const ( 1023 WifiAntenna_CONNECTION_UNSPECIFIED WifiAntenna_Connection = 0 1024 // WIFI antenna is connected conductively. 1025 WifiAntenna_CONDUCTIVE WifiAntenna_Connection = 1 1026 // WIFI antenna is connected over-the-air. 1027 WifiAntenna_OTA WifiAntenna_Connection = 2 1028) 1029 1030// Enum value maps for WifiAntenna_Connection. 1031var ( 1032 WifiAntenna_Connection_name = map[int32]string{ 1033 0: "CONNECTION_UNSPECIFIED", 1034 1: "CONDUCTIVE", 1035 2: "OTA", 1036 } 1037 WifiAntenna_Connection_value = map[string]int32{ 1038 "CONNECTION_UNSPECIFIED": 0, 1039 "CONDUCTIVE": 1, 1040 "OTA": 2, 1041 } 1042) 1043 1044func (x WifiAntenna_Connection) Enum() *WifiAntenna_Connection { 1045 p := new(WifiAntenna_Connection) 1046 *p = x 1047 return p 1048} 1049 1050func (x WifiAntenna_Connection) String() string { 1051 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 1052} 1053 1054func (WifiAntenna_Connection) Descriptor() protoreflect.EnumDescriptor { 1055 return file_chromiumos_test_lab_api_dut_proto_enumTypes[15].Descriptor() 1056} 1057 1058func (WifiAntenna_Connection) Type() protoreflect.EnumType { 1059 return &file_chromiumos_test_lab_api_dut_proto_enumTypes[15] 1060} 1061 1062func (x WifiAntenna_Connection) Number() protoreflect.EnumNumber { 1063 return protoreflect.EnumNumber(x) 1064} 1065 1066// Deprecated: Use WifiAntenna_Connection.Descriptor instead. 1067func (WifiAntenna_Connection) EnumDescriptor() ([]byte, []int) { 1068 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{17, 0} 1069} 1070 1071// Specification of Device Under Test. 1072// Next Tag: 7 1073type Dut struct { 1074 state protoimpl.MessageState 1075 sizeCache protoimpl.SizeCache 1076 unknownFields protoimpl.UnknownFields 1077 1078 Id *Dut_Id `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` 1079 // Types that are assignable to DutType: 1080 // *Dut_Chromeos 1081 // *Dut_Android_ 1082 // *Dut_Devboard_ 1083 DutType isDut_DutType `protobuf_oneof:"dut_type"` 1084 // Cache server for downloading artifacts related to this DUT. 1085 CacheServer *CacheServer `protobuf:"bytes,4,opt,name=cache_server,json=cacheServer,proto3" json:"cache_server,omitempty"` 1086 // The secret for wifi tests. 1087 WifiSecret *WifiSecret `protobuf:"bytes,6,opt,name=wifi_secret,json=wifiSecret,proto3" json:"wifi_secret,omitempty"` 1088} 1089 1090func (x *Dut) Reset() { 1091 *x = Dut{} 1092 if protoimpl.UnsafeEnabled { 1093 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[0] 1094 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1095 ms.StoreMessageInfo(mi) 1096 } 1097} 1098 1099func (x *Dut) String() string { 1100 return protoimpl.X.MessageStringOf(x) 1101} 1102 1103func (*Dut) ProtoMessage() {} 1104 1105func (x *Dut) ProtoReflect() protoreflect.Message { 1106 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[0] 1107 if protoimpl.UnsafeEnabled && x != nil { 1108 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1109 if ms.LoadMessageInfo() == nil { 1110 ms.StoreMessageInfo(mi) 1111 } 1112 return ms 1113 } 1114 return mi.MessageOf(x) 1115} 1116 1117// Deprecated: Use Dut.ProtoReflect.Descriptor instead. 1118func (*Dut) Descriptor() ([]byte, []int) { 1119 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{0} 1120} 1121 1122func (x *Dut) GetId() *Dut_Id { 1123 if x != nil { 1124 return x.Id 1125 } 1126 return nil 1127} 1128 1129func (m *Dut) GetDutType() isDut_DutType { 1130 if m != nil { 1131 return m.DutType 1132 } 1133 return nil 1134} 1135 1136func (x *Dut) GetChromeos() *Dut_ChromeOS { 1137 if x, ok := x.GetDutType().(*Dut_Chromeos); ok { 1138 return x.Chromeos 1139 } 1140 return nil 1141} 1142 1143func (x *Dut) GetAndroid() *Dut_Android { 1144 if x, ok := x.GetDutType().(*Dut_Android_); ok { 1145 return x.Android 1146 } 1147 return nil 1148} 1149 1150func (x *Dut) GetDevboard() *Dut_Devboard { 1151 if x, ok := x.GetDutType().(*Dut_Devboard_); ok { 1152 return x.Devboard 1153 } 1154 return nil 1155} 1156 1157func (x *Dut) GetCacheServer() *CacheServer { 1158 if x != nil { 1159 return x.CacheServer 1160 } 1161 return nil 1162} 1163 1164func (x *Dut) GetWifiSecret() *WifiSecret { 1165 if x != nil { 1166 return x.WifiSecret 1167 } 1168 return nil 1169} 1170 1171type isDut_DutType interface { 1172 isDut_DutType() 1173} 1174 1175type Dut_Chromeos struct { 1176 Chromeos *Dut_ChromeOS `protobuf:"bytes,2,opt,name=chromeos,proto3,oneof"` 1177} 1178 1179type Dut_Android_ struct { 1180 Android *Dut_Android `protobuf:"bytes,3,opt,name=android,proto3,oneof"` 1181} 1182 1183type Dut_Devboard_ struct { 1184 Devboard *Dut_Devboard `protobuf:"bytes,5,opt,name=devboard,proto3,oneof"` 1185} 1186 1187func (*Dut_Chromeos) isDut_DutType() {} 1188 1189func (*Dut_Android_) isDut_DutType() {} 1190 1191func (*Dut_Devboard_) isDut_DutType() {} 1192 1193// Defines the build target/board and model of the Dut 1194type DutModel struct { 1195 state protoimpl.MessageState 1196 sizeCache protoimpl.SizeCache 1197 unknownFields protoimpl.UnknownFields 1198 1199 BuildTarget string `protobuf:"bytes,1,opt,name=build_target,json=buildTarget,proto3" json:"build_target,omitempty"` 1200 ModelName string `protobuf:"bytes,2,opt,name=model_name,json=modelName,proto3" json:"model_name,omitempty"` 1201} 1202 1203func (x *DutModel) Reset() { 1204 *x = DutModel{} 1205 if protoimpl.UnsafeEnabled { 1206 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[1] 1207 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1208 ms.StoreMessageInfo(mi) 1209 } 1210} 1211 1212func (x *DutModel) String() string { 1213 return protoimpl.X.MessageStringOf(x) 1214} 1215 1216func (*DutModel) ProtoMessage() {} 1217 1218func (x *DutModel) ProtoReflect() protoreflect.Message { 1219 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[1] 1220 if protoimpl.UnsafeEnabled && x != nil { 1221 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1222 if ms.LoadMessageInfo() == nil { 1223 ms.StoreMessageInfo(mi) 1224 } 1225 return ms 1226 } 1227 return mi.MessageOf(x) 1228} 1229 1230// Deprecated: Use DutModel.ProtoReflect.Descriptor instead. 1231func (*DutModel) Descriptor() ([]byte, []int) { 1232 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{1} 1233} 1234 1235func (x *DutModel) GetBuildTarget() string { 1236 if x != nil { 1237 return x.BuildTarget 1238 } 1239 return "" 1240} 1241 1242func (x *DutModel) GetModelName() string { 1243 if x != nil { 1244 return x.ModelName 1245 } 1246 return "" 1247} 1248 1249// Defines the topology of connected devices under test 1250type DutTopology struct { 1251 state protoimpl.MessageState 1252 sizeCache protoimpl.SizeCache 1253 unknownFields protoimpl.UnknownFields 1254 1255 Id *DutTopology_Id `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"` 1256 // Collection of devices that are used in a given test. 1257 // Generally, this will contain a single Dut for an functional test that 1258 // doesn't depend on other devices, but can include a collection of devices 1259 // used in multi-dut testing (e.g. ChromeOS to ChromeOS, ChromeOS to Android, 1260 // etc...) 1261 Duts []*Dut `protobuf:"bytes,4,rep,name=duts,proto3" json:"duts,omitempty"` 1262} 1263 1264func (x *DutTopology) Reset() { 1265 *x = DutTopology{} 1266 if protoimpl.UnsafeEnabled { 1267 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[2] 1268 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1269 ms.StoreMessageInfo(mi) 1270 } 1271} 1272 1273func (x *DutTopology) String() string { 1274 return protoimpl.X.MessageStringOf(x) 1275} 1276 1277func (*DutTopology) ProtoMessage() {} 1278 1279func (x *DutTopology) ProtoReflect() protoreflect.Message { 1280 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[2] 1281 if protoimpl.UnsafeEnabled && x != nil { 1282 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1283 if ms.LoadMessageInfo() == nil { 1284 ms.StoreMessageInfo(mi) 1285 } 1286 return ms 1287 } 1288 return mi.MessageOf(x) 1289} 1290 1291// Deprecated: Use DutTopology.ProtoReflect.Descriptor instead. 1292func (*DutTopology) Descriptor() ([]byte, []int) { 1293 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{2} 1294} 1295 1296func (x *DutTopology) GetId() *DutTopology_Id { 1297 if x != nil { 1298 return x.Id 1299 } 1300 return nil 1301} 1302 1303func (x *DutTopology) GetDuts() []*Dut { 1304 if x != nil { 1305 return x.Duts 1306 } 1307 return nil 1308} 1309 1310// Peripherals related to audio input and output from the Device. 1311type Audio struct { 1312 state protoimpl.MessageState 1313 sizeCache protoimpl.SizeCache 1314 unknownFields protoimpl.UnknownFields 1315 1316 // Device is housed in an audio box to record / replay audio 1317 // for audio testing. 1318 AudioBox bool `protobuf:"varint,1,opt,name=audio_box,json=audioBox,proto3" json:"audio_box,omitempty"` 1319 // Device is connected to Atrus speakermic. 1320 Atrus bool `protobuf:"varint,2,opt,name=atrus,proto3" json:"atrus,omitempty"` 1321} 1322 1323func (x *Audio) Reset() { 1324 *x = Audio{} 1325 if protoimpl.UnsafeEnabled { 1326 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[3] 1327 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1328 ms.StoreMessageInfo(mi) 1329 } 1330} 1331 1332func (x *Audio) String() string { 1333 return protoimpl.X.MessageStringOf(x) 1334} 1335 1336func (*Audio) ProtoMessage() {} 1337 1338func (x *Audio) ProtoReflect() protoreflect.Message { 1339 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[3] 1340 if protoimpl.UnsafeEnabled && x != nil { 1341 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1342 if ms.LoadMessageInfo() == nil { 1343 ms.StoreMessageInfo(mi) 1344 } 1345 return ms 1346 } 1347 return mi.MessageOf(x) 1348} 1349 1350// Deprecated: Use Audio.ProtoReflect.Descriptor instead. 1351func (*Audio) Descriptor() ([]byte, []int) { 1352 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{3} 1353} 1354 1355func (x *Audio) GetAudioBox() bool { 1356 if x != nil { 1357 return x.AudioBox 1358 } 1359 return false 1360} 1361 1362func (x *Audio) GetAtrus() bool { 1363 if x != nil { 1364 return x.Atrus 1365 } 1366 return false 1367} 1368 1369// A cable connecting the device to audio, printer and other peripherals. 1370type Cable struct { 1371 state protoimpl.MessageState 1372 sizeCache protoimpl.SizeCache 1373 unknownFields protoimpl.UnknownFields 1374 1375 Type Cable_Type `protobuf:"varint,1,opt,name=type,proto3,enum=chromiumos.test.lab.api.Cable_Type" json:"type,omitempty"` 1376} 1377 1378func (x *Cable) Reset() { 1379 *x = Cable{} 1380 if protoimpl.UnsafeEnabled { 1381 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[4] 1382 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1383 ms.StoreMessageInfo(mi) 1384 } 1385} 1386 1387func (x *Cable) String() string { 1388 return protoimpl.X.MessageStringOf(x) 1389} 1390 1391func (*Cable) ProtoMessage() {} 1392 1393func (x *Cable) ProtoReflect() protoreflect.Message { 1394 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[4] 1395 if protoimpl.UnsafeEnabled && x != nil { 1396 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1397 if ms.LoadMessageInfo() == nil { 1398 ms.StoreMessageInfo(mi) 1399 } 1400 return ms 1401 } 1402 return mi.MessageOf(x) 1403} 1404 1405// Deprecated: Use Cable.ProtoReflect.Descriptor instead. 1406func (*Cable) Descriptor() ([]byte, []int) { 1407 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{4} 1408} 1409 1410func (x *Cable) GetType() Cable_Type { 1411 if x != nil { 1412 return x.Type 1413 } 1414 return Cable_TYPE_UNSPECIFIED 1415} 1416 1417// A cache server for downloading artifacts. 1418// 1419// The server should support the following HTTP requests: 1420// 1421// GET /download/GS_BUCKET/GS_PATH 1422// Download a file from Google Storage. 1423// 1424// GET /extract/GS_BUCKET/GS_PATH?file=TAR_PATH 1425// Download a file within a (possibly compressed) TAR archive stored 1426// in Google Storage. 1427// 1428// GET /decompress/GS_BUCKET/GS_PATH 1429// Download the decompressed data of a compressed file from Google Storage. 1430type CacheServer struct { 1431 state protoimpl.MessageState 1432 sizeCache protoimpl.SizeCache 1433 unknownFields protoimpl.UnknownFields 1434 1435 // HTTP address for the cache server. 1436 Address *IpEndpoint `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` 1437} 1438 1439func (x *CacheServer) Reset() { 1440 *x = CacheServer{} 1441 if protoimpl.UnsafeEnabled { 1442 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[5] 1443 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1444 ms.StoreMessageInfo(mi) 1445 } 1446} 1447 1448func (x *CacheServer) String() string { 1449 return protoimpl.X.MessageStringOf(x) 1450} 1451 1452func (*CacheServer) ProtoMessage() {} 1453 1454func (x *CacheServer) ProtoReflect() protoreflect.Message { 1455 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[5] 1456 if protoimpl.UnsafeEnabled && x != nil { 1457 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1458 if ms.LoadMessageInfo() == nil { 1459 ms.StoreMessageInfo(mi) 1460 } 1461 return ms 1462 } 1463 return mi.MessageOf(x) 1464} 1465 1466// Deprecated: Use CacheServer.ProtoReflect.Descriptor instead. 1467func (*CacheServer) Descriptor() ([]byte, []int) { 1468 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{5} 1469} 1470 1471func (x *CacheServer) GetAddress() *IpEndpoint { 1472 if x != nil { 1473 return x.Address 1474 } 1475 return nil 1476} 1477 1478// A steady and controllable camera box environment for the device, used by 1479// camera test automation. http://go/cros-camera-box 1480type Camerabox struct { 1481 state protoimpl.MessageState 1482 sizeCache protoimpl.SizeCache 1483 unknownFields protoimpl.UnknownFields 1484 1485 Facing Camerabox_Facing `protobuf:"varint,1,opt,name=facing,proto3,enum=chromiumos.test.lab.api.Camerabox_Facing" json:"facing,omitempty"` 1486} 1487 1488func (x *Camerabox) Reset() { 1489 *x = Camerabox{} 1490 if protoimpl.UnsafeEnabled { 1491 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[6] 1492 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1493 ms.StoreMessageInfo(mi) 1494 } 1495} 1496 1497func (x *Camerabox) String() string { 1498 return protoimpl.X.MessageStringOf(x) 1499} 1500 1501func (*Camerabox) ProtoMessage() {} 1502 1503func (x *Camerabox) ProtoReflect() protoreflect.Message { 1504 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[6] 1505 if protoimpl.UnsafeEnabled && x != nil { 1506 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1507 if ms.LoadMessageInfo() == nil { 1508 ms.StoreMessageInfo(mi) 1509 } 1510 return ms 1511 } 1512 return mi.MessageOf(x) 1513} 1514 1515// Deprecated: Use Camerabox.ProtoReflect.Descriptor instead. 1516func (*Camerabox) Descriptor() ([]byte, []int) { 1517 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{6} 1518} 1519 1520func (x *Camerabox) GetFacing() Camerabox_Facing { 1521 if x != nil { 1522 return x.Facing 1523 } 1524 return Camerabox_FACING_UNSPECIFIED 1525} 1526 1527type Cellular struct { 1528 state protoimpl.MessageState 1529 sizeCache protoimpl.SizeCache 1530 unknownFields protoimpl.UnknownFields 1531 1532 // Cellular operators supported by the SIM installed in the device. 1533 // Note this is not used as it has been superseded by SimInfo. 1534 Operators []Cellular_Operator `protobuf:"varint,1,rep,packed,name=operators,proto3,enum=chromiumos.test.lab.api.Cellular_Operator" json:"operators,omitempty"` 1535 // Carrier is the DUTs carrier name/type from: 1536 // https://source.chromium.org/chromium/infra/infra/+/main:go/src/infra/unifiedfleet/api/v1/models/chromeos/lab/peripherals.proto;l=31 1537 Carrier string `protobuf:"bytes,2,opt,name=carrier,proto3" json:"carrier,omitempty"` 1538} 1539 1540func (x *Cellular) Reset() { 1541 *x = Cellular{} 1542 if protoimpl.UnsafeEnabled { 1543 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[7] 1544 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1545 ms.StoreMessageInfo(mi) 1546 } 1547} 1548 1549func (x *Cellular) String() string { 1550 return protoimpl.X.MessageStringOf(x) 1551} 1552 1553func (*Cellular) ProtoMessage() {} 1554 1555func (x *Cellular) ProtoReflect() protoreflect.Message { 1556 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[7] 1557 if protoimpl.UnsafeEnabled && x != nil { 1558 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1559 if ms.LoadMessageInfo() == nil { 1560 ms.StoreMessageInfo(mi) 1561 } 1562 return ms 1563 } 1564 return mi.MessageOf(x) 1565} 1566 1567// Deprecated: Use Cellular.ProtoReflect.Descriptor instead. 1568func (*Cellular) Descriptor() ([]byte, []int) { 1569 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{7} 1570} 1571 1572func (x *Cellular) GetOperators() []Cellular_Operator { 1573 if x != nil { 1574 return x.Operators 1575 } 1576 return nil 1577} 1578 1579func (x *Cellular) GetCarrier() string { 1580 if x != nil { 1581 return x.Carrier 1582 } 1583 return "" 1584} 1585 1586// ModemInfo is adapted from ufs and should be kept in sync with: 1587// https://source.chromium.org/chromium/infra/infra/+/main:go/src/infra/unifiedfleet/api/v1/models/chromeos/lab/modeminfo.proto 1588// Next Tag: 6 1589type ModemInfo struct { 1590 state protoimpl.MessageState 1591 sizeCache protoimpl.SizeCache 1592 unknownFields protoimpl.UnknownFields 1593 1594 Type ModemType `protobuf:"varint,1,opt,name=type,proto3,enum=chromiumos.test.lab.api.ModemType" json:"type,omitempty"` 1595 Imei string `protobuf:"bytes,2,opt,name=imei,proto3" json:"imei,omitempty"` 1596 SupportedBands string `protobuf:"bytes,3,opt,name=supported_bands,json=supportedBands,proto3" json:"supported_bands,omitempty"` 1597 SimCount int32 `protobuf:"varint,4,opt,name=sim_count,json=simCount,proto3" json:"sim_count,omitempty"` 1598 ModelVariant string `protobuf:"bytes,5,opt,name=model_variant,json=modelVariant,proto3" json:"model_variant,omitempty"` 1599} 1600 1601func (x *ModemInfo) Reset() { 1602 *x = ModemInfo{} 1603 if protoimpl.UnsafeEnabled { 1604 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[8] 1605 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1606 ms.StoreMessageInfo(mi) 1607 } 1608} 1609 1610func (x *ModemInfo) String() string { 1611 return protoimpl.X.MessageStringOf(x) 1612} 1613 1614func (*ModemInfo) ProtoMessage() {} 1615 1616func (x *ModemInfo) ProtoReflect() protoreflect.Message { 1617 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[8] 1618 if protoimpl.UnsafeEnabled && x != nil { 1619 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1620 if ms.LoadMessageInfo() == nil { 1621 ms.StoreMessageInfo(mi) 1622 } 1623 return ms 1624 } 1625 return mi.MessageOf(x) 1626} 1627 1628// Deprecated: Use ModemInfo.ProtoReflect.Descriptor instead. 1629func (*ModemInfo) Descriptor() ([]byte, []int) { 1630 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{8} 1631} 1632 1633func (x *ModemInfo) GetType() ModemType { 1634 if x != nil { 1635 return x.Type 1636 } 1637 return ModemType_MODEM_TYPE_UNSPECIFIED 1638} 1639 1640func (x *ModemInfo) GetImei() string { 1641 if x != nil { 1642 return x.Imei 1643 } 1644 return "" 1645} 1646 1647func (x *ModemInfo) GetSupportedBands() string { 1648 if x != nil { 1649 return x.SupportedBands 1650 } 1651 return "" 1652} 1653 1654func (x *ModemInfo) GetSimCount() int32 { 1655 if x != nil { 1656 return x.SimCount 1657 } 1658 return 0 1659} 1660 1661func (x *ModemInfo) GetModelVariant() string { 1662 if x != nil { 1663 return x.ModelVariant 1664 } 1665 return "" 1666} 1667 1668type SIMInfo struct { 1669 state protoimpl.MessageState 1670 sizeCache protoimpl.SizeCache 1671 unknownFields protoimpl.UnknownFields 1672 1673 SlotId int32 `protobuf:"varint,1,opt,name=slot_id,json=slotId,proto3" json:"slot_id,omitempty"` 1674 Type SIMType `protobuf:"varint,2,opt,name=type,proto3,enum=chromiumos.test.lab.api.SIMType" json:"type,omitempty"` 1675 Eid string `protobuf:"bytes,3,opt,name=eid,proto3" json:"eid,omitempty"` 1676 TestEsim bool `protobuf:"varint,4,opt,name=test_esim,json=testEsim,proto3" json:"test_esim,omitempty"` 1677 ProfileInfo []*SIMProfileInfo `protobuf:"bytes,5,rep,name=profile_info,json=profileInfo,proto3" json:"profile_info,omitempty"` 1678} 1679 1680func (x *SIMInfo) Reset() { 1681 *x = SIMInfo{} 1682 if protoimpl.UnsafeEnabled { 1683 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[9] 1684 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1685 ms.StoreMessageInfo(mi) 1686 } 1687} 1688 1689func (x *SIMInfo) String() string { 1690 return protoimpl.X.MessageStringOf(x) 1691} 1692 1693func (*SIMInfo) ProtoMessage() {} 1694 1695func (x *SIMInfo) ProtoReflect() protoreflect.Message { 1696 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[9] 1697 if protoimpl.UnsafeEnabled && x != nil { 1698 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1699 if ms.LoadMessageInfo() == nil { 1700 ms.StoreMessageInfo(mi) 1701 } 1702 return ms 1703 } 1704 return mi.MessageOf(x) 1705} 1706 1707// Deprecated: Use SIMInfo.ProtoReflect.Descriptor instead. 1708func (*SIMInfo) Descriptor() ([]byte, []int) { 1709 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{9} 1710} 1711 1712func (x *SIMInfo) GetSlotId() int32 { 1713 if x != nil { 1714 return x.SlotId 1715 } 1716 return 0 1717} 1718 1719func (x *SIMInfo) GetType() SIMType { 1720 if x != nil { 1721 return x.Type 1722 } 1723 return SIMType_SIM_UNKNOWN 1724} 1725 1726func (x *SIMInfo) GetEid() string { 1727 if x != nil { 1728 return x.Eid 1729 } 1730 return "" 1731} 1732 1733func (x *SIMInfo) GetTestEsim() bool { 1734 if x != nil { 1735 return x.TestEsim 1736 } 1737 return false 1738} 1739 1740func (x *SIMInfo) GetProfileInfo() []*SIMProfileInfo { 1741 if x != nil { 1742 return x.ProfileInfo 1743 } 1744 return nil 1745} 1746 1747type SIMProfileInfo struct { 1748 state protoimpl.MessageState 1749 sizeCache protoimpl.SizeCache 1750 unknownFields protoimpl.UnknownFields 1751 1752 Iccid string `protobuf:"bytes,1,opt,name=iccid,proto3" json:"iccid,omitempty"` 1753 SimPin string `protobuf:"bytes,2,opt,name=sim_pin,json=simPin,proto3" json:"sim_pin,omitempty"` 1754 SimPuk string `protobuf:"bytes,3,opt,name=sim_puk,json=simPuk,proto3" json:"sim_puk,omitempty"` 1755 CarrierName NetworkProvider `protobuf:"varint,4,opt,name=carrier_name,json=carrierName,proto3,enum=chromiumos.test.lab.api.NetworkProvider" json:"carrier_name,omitempty"` 1756 OwnNumber string `protobuf:"bytes,5,opt,name=own_number,json=ownNumber,proto3" json:"own_number,omitempty"` 1757 // The SIM state as reported by the cellular modem. 1758 State SIMProfileInfo_State `protobuf:"varint,6,opt,name=state,proto3,enum=chromiumos.test.lab.api.SIMProfileInfo_State" json:"state,omitempty"` 1759 // Features supported by the profile. 1760 // These features are used to determine what tests can be run against which SIMs 1761 // in the lab, see go/cros-cellular-features for more information. 1762 // File bugs against buganizer component: 979102. 1763 Features []SIMProfileInfo_Feature `protobuf:"varint,7,rep,packed,name=features,proto3,enum=chromiumos.test.lab.api.SIMProfileInfo_Feature" json:"features,omitempty"` 1764} 1765 1766func (x *SIMProfileInfo) Reset() { 1767 *x = SIMProfileInfo{} 1768 if protoimpl.UnsafeEnabled { 1769 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[10] 1770 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1771 ms.StoreMessageInfo(mi) 1772 } 1773} 1774 1775func (x *SIMProfileInfo) String() string { 1776 return protoimpl.X.MessageStringOf(x) 1777} 1778 1779func (*SIMProfileInfo) ProtoMessage() {} 1780 1781func (x *SIMProfileInfo) ProtoReflect() protoreflect.Message { 1782 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[10] 1783 if protoimpl.UnsafeEnabled && x != nil { 1784 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1785 if ms.LoadMessageInfo() == nil { 1786 ms.StoreMessageInfo(mi) 1787 } 1788 return ms 1789 } 1790 return mi.MessageOf(x) 1791} 1792 1793// Deprecated: Use SIMProfileInfo.ProtoReflect.Descriptor instead. 1794func (*SIMProfileInfo) Descriptor() ([]byte, []int) { 1795 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{10} 1796} 1797 1798func (x *SIMProfileInfo) GetIccid() string { 1799 if x != nil { 1800 return x.Iccid 1801 } 1802 return "" 1803} 1804 1805func (x *SIMProfileInfo) GetSimPin() string { 1806 if x != nil { 1807 return x.SimPin 1808 } 1809 return "" 1810} 1811 1812func (x *SIMProfileInfo) GetSimPuk() string { 1813 if x != nil { 1814 return x.SimPuk 1815 } 1816 return "" 1817} 1818 1819func (x *SIMProfileInfo) GetCarrierName() NetworkProvider { 1820 if x != nil { 1821 return x.CarrierName 1822 } 1823 return NetworkProvider_NETWORK_OTHER 1824} 1825 1826func (x *SIMProfileInfo) GetOwnNumber() string { 1827 if x != nil { 1828 return x.OwnNumber 1829 } 1830 return "" 1831} 1832 1833func (x *SIMProfileInfo) GetState() SIMProfileInfo_State { 1834 if x != nil { 1835 return x.State 1836 } 1837 return SIMProfileInfo_UNSPECIFIED 1838} 1839 1840func (x *SIMProfileInfo) GetFeatures() []SIMProfileInfo_Feature { 1841 if x != nil { 1842 return x.Features 1843 } 1844 return nil 1845} 1846 1847// See https://sites.google.com/a/google.com/cros-chameleon/home 1848type Chameleon struct { 1849 state protoimpl.MessageState 1850 sizeCache protoimpl.SizeCache 1851 unknownFields protoimpl.UnknownFields 1852 1853 Peripherals []Chameleon_Peripheral `protobuf:"varint,1,rep,packed,name=peripherals,proto3,enum=chromiumos.test.lab.api.Chameleon_Peripheral" json:"peripherals,omitempty"` 1854 // Indicate if there's an audio_board in the chameleon. 1855 AudioBoard bool `protobuf:"varint,2,opt,name=audio_board,json=audioBoard,proto3" json:"audio_board,omitempty"` 1856 State PeripheralState `protobuf:"varint,3,opt,name=state,proto3,enum=chromiumos.test.lab.api.PeripheralState" json:"state,omitempty"` 1857 Hostname string `protobuf:"bytes,4,opt,name=hostname,proto3" json:"hostname,omitempty"` 1858 Types []Chameleon_Type `protobuf:"varint,5,rep,packed,name=types,proto3,enum=chromiumos.test.lab.api.Chameleon_Type" json:"types,omitempty"` 1859} 1860 1861func (x *Chameleon) Reset() { 1862 *x = Chameleon{} 1863 if protoimpl.UnsafeEnabled { 1864 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[11] 1865 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1866 ms.StoreMessageInfo(mi) 1867 } 1868} 1869 1870func (x *Chameleon) String() string { 1871 return protoimpl.X.MessageStringOf(x) 1872} 1873 1874func (*Chameleon) ProtoMessage() {} 1875 1876func (x *Chameleon) ProtoReflect() protoreflect.Message { 1877 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[11] 1878 if protoimpl.UnsafeEnabled && x != nil { 1879 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1880 if ms.LoadMessageInfo() == nil { 1881 ms.StoreMessageInfo(mi) 1882 } 1883 return ms 1884 } 1885 return mi.MessageOf(x) 1886} 1887 1888// Deprecated: Use Chameleon.ProtoReflect.Descriptor instead. 1889func (*Chameleon) Descriptor() ([]byte, []int) { 1890 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{11} 1891} 1892 1893func (x *Chameleon) GetPeripherals() []Chameleon_Peripheral { 1894 if x != nil { 1895 return x.Peripherals 1896 } 1897 return nil 1898} 1899 1900func (x *Chameleon) GetAudioBoard() bool { 1901 if x != nil { 1902 return x.AudioBoard 1903 } 1904 return false 1905} 1906 1907func (x *Chameleon) GetState() PeripheralState { 1908 if x != nil { 1909 return x.State 1910 } 1911 return PeripheralState_PERIPHERAL_STATE_UNSPECIFIED 1912} 1913 1914func (x *Chameleon) GetHostname() string { 1915 if x != nil { 1916 return x.Hostname 1917 } 1918 return "" 1919} 1920 1921func (x *Chameleon) GetTypes() []Chameleon_Type { 1922 if x != nil { 1923 return x.Types 1924 } 1925 return nil 1926} 1927 1928// External camera connected to the device. 1929type ExternalCamera struct { 1930 state protoimpl.MessageState 1931 sizeCache protoimpl.SizeCache 1932 unknownFields protoimpl.UnknownFields 1933 1934 Type ExternalCamera_Type `protobuf:"varint,1,opt,name=type,proto3,enum=chromiumos.test.lab.api.ExternalCamera_Type" json:"type,omitempty"` 1935} 1936 1937func (x *ExternalCamera) Reset() { 1938 *x = ExternalCamera{} 1939 if protoimpl.UnsafeEnabled { 1940 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[12] 1941 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1942 ms.StoreMessageInfo(mi) 1943 } 1944} 1945 1946func (x *ExternalCamera) String() string { 1947 return protoimpl.X.MessageStringOf(x) 1948} 1949 1950func (*ExternalCamera) ProtoMessage() {} 1951 1952func (x *ExternalCamera) ProtoReflect() protoreflect.Message { 1953 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[12] 1954 if protoimpl.UnsafeEnabled && x != nil { 1955 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1956 if ms.LoadMessageInfo() == nil { 1957 ms.StoreMessageInfo(mi) 1958 } 1959 return ms 1960 } 1961 return mi.MessageOf(x) 1962} 1963 1964// Deprecated: Use ExternalCamera.ProtoReflect.Descriptor instead. 1965func (*ExternalCamera) Descriptor() ([]byte, []int) { 1966 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{12} 1967} 1968 1969func (x *ExternalCamera) GetType() ExternalCamera_Type { 1970 if x != nil { 1971 return x.Type 1972 } 1973 return ExternalCamera_TYPE_UNSPECIFIED 1974} 1975 1976// Remote power management capability for the device. 1977type RPM struct { 1978 state protoimpl.MessageState 1979 sizeCache protoimpl.SizeCache 1980 unknownFields protoimpl.UnknownFields 1981 1982 Present bool `protobuf:"varint,1,opt,name=present,proto3" json:"present,omitempty"` 1983 // Address to the frontend service for accessing the RPM. 1984 // The frontend service is an HTTP service that supports XMLRPC calls. 1985 FrontendAddress *IpEndpoint `protobuf:"bytes,2,opt,name=frontend_address,json=frontendAddress,proto3" json:"frontend_address,omitempty"` 1986 // Hostname of a particular PDU that assigned to the DUT. 1987 PowerUnitHostname *IpEndpoint `protobuf:"bytes,3,opt,name=power_unit_hostname,json=powerUnitHostname,proto3" json:"power_unit_hostname,omitempty"` 1988 // Outlet name/number assigned to the DUT 1989 PowerUnitOutlet string `protobuf:"bytes,4,opt,name=power_unit_outlet,json=powerUnitOutlet,proto3" json:"power_unit_outlet,omitempty"` 1990 // (Optional) Hydra hostname if the PDU access require a hydra. 1991 HydraHostname *IpEndpoint `protobuf:"bytes,5,opt,name=hydra_hostname,json=hydraHostname,proto3" json:"hydra_hostname,omitempty"` 1992 // RPM type 1993 Type RPMType `protobuf:"varint,6,opt,name=type,proto3,enum=chromiumos.test.lab.api.RPMType" json:"type,omitempty"` 1994} 1995 1996func (x *RPM) Reset() { 1997 *x = RPM{} 1998 if protoimpl.UnsafeEnabled { 1999 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[13] 2000 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2001 ms.StoreMessageInfo(mi) 2002 } 2003} 2004 2005func (x *RPM) String() string { 2006 return protoimpl.X.MessageStringOf(x) 2007} 2008 2009func (*RPM) ProtoMessage() {} 2010 2011func (x *RPM) ProtoReflect() protoreflect.Message { 2012 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[13] 2013 if protoimpl.UnsafeEnabled && x != nil { 2014 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2015 if ms.LoadMessageInfo() == nil { 2016 ms.StoreMessageInfo(mi) 2017 } 2018 return ms 2019 } 2020 return mi.MessageOf(x) 2021} 2022 2023// Deprecated: Use RPM.ProtoReflect.Descriptor instead. 2024func (*RPM) Descriptor() ([]byte, []int) { 2025 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{13} 2026} 2027 2028func (x *RPM) GetPresent() bool { 2029 if x != nil { 2030 return x.Present 2031 } 2032 return false 2033} 2034 2035func (x *RPM) GetFrontendAddress() *IpEndpoint { 2036 if x != nil { 2037 return x.FrontendAddress 2038 } 2039 return nil 2040} 2041 2042func (x *RPM) GetPowerUnitHostname() *IpEndpoint { 2043 if x != nil { 2044 return x.PowerUnitHostname 2045 } 2046 return nil 2047} 2048 2049func (x *RPM) GetPowerUnitOutlet() string { 2050 if x != nil { 2051 return x.PowerUnitOutlet 2052 } 2053 return "" 2054} 2055 2056func (x *RPM) GetHydraHostname() *IpEndpoint { 2057 if x != nil { 2058 return x.HydraHostname 2059 } 2060 return nil 2061} 2062 2063func (x *RPM) GetType() RPMType { 2064 if x != nil { 2065 return x.Type 2066 } 2067 return RPMType_RPM_TYPE_UNKNOWN 2068} 2069 2070// Servo control of the device. 2071type Servo struct { 2072 state protoimpl.MessageState 2073 sizeCache protoimpl.SizeCache 2074 unknownFields protoimpl.UnknownFields 2075 2076 Present bool `protobuf:"varint,1,opt,name=present,proto3" json:"present,omitempty"` 2077 // Address to the host running the servod daemon. 2078 // Port number servod is listening on. 2079 ServodAddress *IpEndpoint `protobuf:"bytes,2,opt,name=servod_address,json=servodAddress,proto3" json:"servod_address,omitempty"` 2080 // Serial number of the servo. 2081 Serial string `protobuf:"bytes,3,opt,name=serial,proto3" json:"serial,omitempty"` 2082 // Current state of the servo, updated by latest auto-repair. 2083 State PeripheralState `protobuf:"varint,4,opt,name=state,proto3,enum=chromiumos.test.lab.api.PeripheralState" json:"state,omitempty"` 2084} 2085 2086func (x *Servo) Reset() { 2087 *x = Servo{} 2088 if protoimpl.UnsafeEnabled { 2089 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[14] 2090 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2091 ms.StoreMessageInfo(mi) 2092 } 2093} 2094 2095func (x *Servo) String() string { 2096 return protoimpl.X.MessageStringOf(x) 2097} 2098 2099func (*Servo) ProtoMessage() {} 2100 2101func (x *Servo) ProtoReflect() protoreflect.Message { 2102 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[14] 2103 if protoimpl.UnsafeEnabled && x != nil { 2104 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2105 if ms.LoadMessageInfo() == nil { 2106 ms.StoreMessageInfo(mi) 2107 } 2108 return ms 2109 } 2110 return mi.MessageOf(x) 2111} 2112 2113// Deprecated: Use Servo.ProtoReflect.Descriptor instead. 2114func (*Servo) Descriptor() ([]byte, []int) { 2115 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{14} 2116} 2117 2118func (x *Servo) GetPresent() bool { 2119 if x != nil { 2120 return x.Present 2121 } 2122 return false 2123} 2124 2125func (x *Servo) GetServodAddress() *IpEndpoint { 2126 if x != nil { 2127 return x.ServodAddress 2128 } 2129 return nil 2130} 2131 2132func (x *Servo) GetSerial() string { 2133 if x != nil { 2134 return x.Serial 2135 } 2136 return "" 2137} 2138 2139func (x *Servo) GetState() PeripheralState { 2140 if x != nil { 2141 return x.State 2142 } 2143 return PeripheralState_PERIPHERAL_STATE_UNSPECIFIED 2144} 2145 2146type Touch struct { 2147 state protoimpl.MessageState 2148 sizeCache protoimpl.SizeCache 2149 unknownFields protoimpl.UnknownFields 2150 2151 // Has touch monitor mimo. 2152 Mimo bool `protobuf:"varint,1,opt,name=mimo,proto3" json:"mimo,omitempty"` 2153} 2154 2155func (x *Touch) Reset() { 2156 *x = Touch{} 2157 if protoimpl.UnsafeEnabled { 2158 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[15] 2159 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2160 ms.StoreMessageInfo(mi) 2161 } 2162} 2163 2164func (x *Touch) String() string { 2165 return protoimpl.X.MessageStringOf(x) 2166} 2167 2168func (*Touch) ProtoMessage() {} 2169 2170func (x *Touch) ProtoReflect() protoreflect.Message { 2171 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[15] 2172 if protoimpl.UnsafeEnabled && x != nil { 2173 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2174 if ms.LoadMessageInfo() == nil { 2175 ms.StoreMessageInfo(mi) 2176 } 2177 return ms 2178 } 2179 return mi.MessageOf(x) 2180} 2181 2182// Deprecated: Use Touch.ProtoReflect.Descriptor instead. 2183func (*Touch) Descriptor() ([]byte, []int) { 2184 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{15} 2185} 2186 2187func (x *Touch) GetMimo() bool { 2188 if x != nil { 2189 return x.Mimo 2190 } 2191 return false 2192} 2193 2194// Wifi environment of the device. 2195type Wifi struct { 2196 state protoimpl.MessageState 2197 sizeCache protoimpl.SizeCache 2198 unknownFields protoimpl.UnknownFields 2199 2200 Environment Wifi_Environment `protobuf:"varint,1,opt,name=environment,proto3,enum=chromiumos.test.lab.api.Wifi_Environment" json:"environment,omitempty"` 2201 Antenna *WifiAntenna `protobuf:"bytes,2,opt,name=antenna,proto3" json:"antenna,omitempty"` 2202 // WiFi APs assigned to the device. 2203 WifiRouters []*WifiRouter `protobuf:"bytes,3,rep,name=wifi_routers,json=wifiRouters,proto3" json:"wifi_routers,omitempty"` 2204} 2205 2206func (x *Wifi) Reset() { 2207 *x = Wifi{} 2208 if protoimpl.UnsafeEnabled { 2209 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[16] 2210 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2211 ms.StoreMessageInfo(mi) 2212 } 2213} 2214 2215func (x *Wifi) String() string { 2216 return protoimpl.X.MessageStringOf(x) 2217} 2218 2219func (*Wifi) ProtoMessage() {} 2220 2221func (x *Wifi) ProtoReflect() protoreflect.Message { 2222 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[16] 2223 if protoimpl.UnsafeEnabled && x != nil { 2224 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2225 if ms.LoadMessageInfo() == nil { 2226 ms.StoreMessageInfo(mi) 2227 } 2228 return ms 2229 } 2230 return mi.MessageOf(x) 2231} 2232 2233// Deprecated: Use Wifi.ProtoReflect.Descriptor instead. 2234func (*Wifi) Descriptor() ([]byte, []int) { 2235 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{16} 2236} 2237 2238func (x *Wifi) GetEnvironment() Wifi_Environment { 2239 if x != nil { 2240 return x.Environment 2241 } 2242 return Wifi_ENVIRONMENT_UNSPECIFIED 2243} 2244 2245func (x *Wifi) GetAntenna() *WifiAntenna { 2246 if x != nil { 2247 return x.Antenna 2248 } 2249 return nil 2250} 2251 2252func (x *Wifi) GetWifiRouters() []*WifiRouter { 2253 if x != nil { 2254 return x.WifiRouters 2255 } 2256 return nil 2257} 2258 2259type WifiAntenna struct { 2260 state protoimpl.MessageState 2261 sizeCache protoimpl.SizeCache 2262 unknownFields protoimpl.UnknownFields 2263 2264 Connection WifiAntenna_Connection `protobuf:"varint,1,opt,name=connection,proto3,enum=chromiumos.test.lab.api.WifiAntenna_Connection" json:"connection,omitempty"` 2265} 2266 2267func (x *WifiAntenna) Reset() { 2268 *x = WifiAntenna{} 2269 if protoimpl.UnsafeEnabled { 2270 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[17] 2271 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2272 ms.StoreMessageInfo(mi) 2273 } 2274} 2275 2276func (x *WifiAntenna) String() string { 2277 return protoimpl.X.MessageStringOf(x) 2278} 2279 2280func (*WifiAntenna) ProtoMessage() {} 2281 2282func (x *WifiAntenna) ProtoReflect() protoreflect.Message { 2283 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[17] 2284 if protoimpl.UnsafeEnabled && x != nil { 2285 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2286 if ms.LoadMessageInfo() == nil { 2287 ms.StoreMessageInfo(mi) 2288 } 2289 return ms 2290 } 2291 return mi.MessageOf(x) 2292} 2293 2294// Deprecated: Use WifiAntenna.ProtoReflect.Descriptor instead. 2295func (*WifiAntenna) Descriptor() ([]byte, []int) { 2296 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{17} 2297} 2298 2299func (x *WifiAntenna) GetConnection() WifiAntenna_Connection { 2300 if x != nil { 2301 return x.Connection 2302 } 2303 return WifiAntenna_CONNECTION_UNSPECIFIED 2304} 2305 2306// WiFi APs attached to the DUT. 2307// Note: Define here rather than in wifi_router.proto so we can reference RPM in 2308// the future even though it's not used at the moment. 2309// 2310// Source of truth: https://source.chromium.org/chromium/infra/infra_superproject/+/main:infra/go/src/infra/unifiedfleet/api/v1/models/chromeos/lab/peripherals.proto 2311type WifiRouter struct { 2312 state protoimpl.MessageState 2313 sizeCache protoimpl.SizeCache 2314 unknownFields protoimpl.UnknownFields 2315 2316 Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` 2317 State PeripheralState `protobuf:"varint,2,opt,name=state,proto3,enum=chromiumos.test.lab.api.PeripheralState" json:"state,omitempty"` 2318 // Model of the router (e.g. OPENWRT[Ubiquiti_UniFi_6_Lite], gale). 2319 Model string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"` 2320 // RPM to perform remote power management. 2321 Rpm *RPM `protobuf:"bytes,4,opt,name=rpm,proto3" json:"rpm,omitempty"` 2322 // Supported test router hardware and software features. 2323 SupportedFeatures []WifiRouterFeature `protobuf:"varint,5,rep,packed,name=supported_features,json=supportedFeatures,proto3,enum=chromiumos.test.lab.api.WifiRouterFeature" json:"supported_features,omitempty"` 2324 // The type of router device this is (e.g. OpenWrt-based, ChromeOS Gale). 2325 DeviceType WifiRouterDeviceType `protobuf:"varint,6,opt,name=device_type,json=deviceType,proto3,enum=chromiumos.test.lab.api.WifiRouterDeviceType" json:"device_type,omitempty"` 2326} 2327 2328func (x *WifiRouter) Reset() { 2329 *x = WifiRouter{} 2330 if protoimpl.UnsafeEnabled { 2331 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[18] 2332 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2333 ms.StoreMessageInfo(mi) 2334 } 2335} 2336 2337func (x *WifiRouter) String() string { 2338 return protoimpl.X.MessageStringOf(x) 2339} 2340 2341func (*WifiRouter) ProtoMessage() {} 2342 2343func (x *WifiRouter) ProtoReflect() protoreflect.Message { 2344 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[18] 2345 if protoimpl.UnsafeEnabled && x != nil { 2346 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2347 if ms.LoadMessageInfo() == nil { 2348 ms.StoreMessageInfo(mi) 2349 } 2350 return ms 2351 } 2352 return mi.MessageOf(x) 2353} 2354 2355// Deprecated: Use WifiRouter.ProtoReflect.Descriptor instead. 2356func (*WifiRouter) Descriptor() ([]byte, []int) { 2357 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{18} 2358} 2359 2360func (x *WifiRouter) GetHostname() string { 2361 if x != nil { 2362 return x.Hostname 2363 } 2364 return "" 2365} 2366 2367func (x *WifiRouter) GetState() PeripheralState { 2368 if x != nil { 2369 return x.State 2370 } 2371 return PeripheralState_PERIPHERAL_STATE_UNSPECIFIED 2372} 2373 2374func (x *WifiRouter) GetModel() string { 2375 if x != nil { 2376 return x.Model 2377 } 2378 return "" 2379} 2380 2381func (x *WifiRouter) GetRpm() *RPM { 2382 if x != nil { 2383 return x.Rpm 2384 } 2385 return nil 2386} 2387 2388func (x *WifiRouter) GetSupportedFeatures() []WifiRouterFeature { 2389 if x != nil { 2390 return x.SupportedFeatures 2391 } 2392 return nil 2393} 2394 2395func (x *WifiRouter) GetDeviceType() WifiRouterDeviceType { 2396 if x != nil { 2397 return x.DeviceType 2398 } 2399 return WifiRouterDeviceType_WIFI_ROUTER_DEVICE_TYPE_UNKNOWN 2400} 2401 2402// Bluetooth Peers attached to the DUT. 2403type BluetoothPeer struct { 2404 state protoimpl.MessageState 2405 sizeCache protoimpl.SizeCache 2406 unknownFields protoimpl.UnknownFields 2407 2408 Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"` 2409 State PeripheralState `protobuf:"varint,2,opt,name=state,proto3,enum=chromiumos.test.lab.api.PeripheralState" json:"state,omitempty"` 2410} 2411 2412func (x *BluetoothPeer) Reset() { 2413 *x = BluetoothPeer{} 2414 if protoimpl.UnsafeEnabled { 2415 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[19] 2416 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2417 ms.StoreMessageInfo(mi) 2418 } 2419} 2420 2421func (x *BluetoothPeer) String() string { 2422 return protoimpl.X.MessageStringOf(x) 2423} 2424 2425func (*BluetoothPeer) ProtoMessage() {} 2426 2427func (x *BluetoothPeer) ProtoReflect() protoreflect.Message { 2428 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[19] 2429 if protoimpl.UnsafeEnabled && x != nil { 2430 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2431 if ms.LoadMessageInfo() == nil { 2432 ms.StoreMessageInfo(mi) 2433 } 2434 return ms 2435 } 2436 return mi.MessageOf(x) 2437} 2438 2439// Deprecated: Use BluetoothPeer.ProtoReflect.Descriptor instead. 2440func (*BluetoothPeer) Descriptor() ([]byte, []int) { 2441 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{19} 2442} 2443 2444func (x *BluetoothPeer) GetHostname() string { 2445 if x != nil { 2446 return x.Hostname 2447 } 2448 return "" 2449} 2450 2451func (x *BluetoothPeer) GetState() PeripheralState { 2452 if x != nil { 2453 return x.State 2454 } 2455 return PeripheralState_PERIPHERAL_STATE_UNSPECIFIED 2456} 2457 2458// Next Tag: 4 2459// WifiSecret is the secret used for wifi tests. 2460type WifiSecret struct { 2461 state protoimpl.MessageState 2462 sizeCache protoimpl.SizeCache 2463 unknownFields protoimpl.UnknownFields 2464 2465 Ssid string `protobuf:"bytes,1,opt,name=ssid,proto3" json:"ssid,omitempty"` // wifi SSID 2466 Security string `protobuf:"bytes,2,opt,name=security,proto3" json:"security,omitempty"` // security protocol, e.g. WEP, WPA, etc. 2467 Password string `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"` // wifi password 2468} 2469 2470func (x *WifiSecret) Reset() { 2471 *x = WifiSecret{} 2472 if protoimpl.UnsafeEnabled { 2473 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[20] 2474 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2475 ms.StoreMessageInfo(mi) 2476 } 2477} 2478 2479func (x *WifiSecret) String() string { 2480 return protoimpl.X.MessageStringOf(x) 2481} 2482 2483func (*WifiSecret) ProtoMessage() {} 2484 2485func (x *WifiSecret) ProtoReflect() protoreflect.Message { 2486 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[20] 2487 if protoimpl.UnsafeEnabled && x != nil { 2488 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2489 if ms.LoadMessageInfo() == nil { 2490 ms.StoreMessageInfo(mi) 2491 } 2492 return ms 2493 } 2494 return mi.MessageOf(x) 2495} 2496 2497// Deprecated: Use WifiSecret.ProtoReflect.Descriptor instead. 2498func (*WifiSecret) Descriptor() ([]byte, []int) { 2499 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{20} 2500} 2501 2502func (x *WifiSecret) GetSsid() string { 2503 if x != nil { 2504 return x.Ssid 2505 } 2506 return "" 2507} 2508 2509func (x *WifiSecret) GetSecurity() string { 2510 if x != nil { 2511 return x.Security 2512 } 2513 return "" 2514} 2515 2516func (x *WifiSecret) GetPassword() string { 2517 if x != nil { 2518 return x.Password 2519 } 2520 return "" 2521} 2522 2523// Unique identifier for the lab device. It can be the DUT serial number 2524// (e.g. "C144091") derived from the DUT itself or some other unique value 2525// regarding different contexts. 2526type Dut_Id struct { 2527 state protoimpl.MessageState 2528 sizeCache protoimpl.SizeCache 2529 unknownFields protoimpl.UnknownFields 2530 2531 Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` 2532} 2533 2534func (x *Dut_Id) Reset() { 2535 *x = Dut_Id{} 2536 if protoimpl.UnsafeEnabled { 2537 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[21] 2538 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2539 ms.StoreMessageInfo(mi) 2540 } 2541} 2542 2543func (x *Dut_Id) String() string { 2544 return protoimpl.X.MessageStringOf(x) 2545} 2546 2547func (*Dut_Id) ProtoMessage() {} 2548 2549func (x *Dut_Id) ProtoReflect() protoreflect.Message { 2550 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[21] 2551 if protoimpl.UnsafeEnabled && x != nil { 2552 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2553 if ms.LoadMessageInfo() == nil { 2554 ms.StoreMessageInfo(mi) 2555 } 2556 return ms 2557 } 2558 return mi.MessageOf(x) 2559} 2560 2561// Deprecated: Use Dut_Id.ProtoReflect.Descriptor instead. 2562func (*Dut_Id) Descriptor() ([]byte, []int) { 2563 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{0, 0} 2564} 2565 2566func (x *Dut_Id) GetValue() string { 2567 if x != nil { 2568 return x.Value 2569 } 2570 return "" 2571} 2572 2573// Chrome OS specific DUT details 2574// Populated by and should be kept in sync with UFS adapter in: 2575// https://source.chromium.org/chromium/infra/infra/+/main:go/src/infra/cros/cmd/labservice/internal/ufs/ufs.go 2576// NEXT TAG: 24 2577type Dut_ChromeOS struct { 2578 state protoimpl.MessageState 2579 sizeCache protoimpl.SizeCache 2580 unknownFields protoimpl.UnknownFields 2581 2582 // Unique identifiers around the device's hardware, manufacturing, and brand 2583 // configuration. 2584 DeviceConfigId *api.DeviceConfigId `protobuf:"bytes,3,opt,name=device_config_id,json=deviceConfigId,proto3" json:"device_config_id,omitempty"` 2585 // Endpoint for ssh service running on the device 2586 Ssh *IpEndpoint `protobuf:"bytes,2,opt,name=ssh,proto3" json:"ssh,omitempty"` 2587 // ChromeOS DUT name that is usually associated with the hostname. 2588 // Example: "chromeos6-row16-rack11-host1" 2589 Name string `protobuf:"bytes,15,opt,name=name,proto3" json:"name,omitempty"` 2590 DutModel *DutModel `protobuf:"bytes,14,opt,name=dut_model,json=dutModel,proto3" json:"dut_model,omitempty"` 2591 Servo *Servo `protobuf:"bytes,4,opt,name=servo,proto3" json:"servo,omitempty"` 2592 Chameleon *Chameleon `protobuf:"bytes,5,opt,name=chameleon,proto3" json:"chameleon,omitempty"` 2593 Rpm *RPM `protobuf:"bytes,6,opt,name=rpm,proto3" json:"rpm,omitempty"` 2594 ExternalCameras []*ExternalCamera `protobuf:"bytes,7,rep,name=external_cameras,json=externalCameras,proto3" json:"external_cameras,omitempty"` 2595 Audio *Audio `protobuf:"bytes,8,opt,name=audio,proto3" json:"audio,omitempty"` 2596 Wifi *Wifi `protobuf:"bytes,9,opt,name=wifi,proto3" json:"wifi,omitempty"` 2597 Touch *Touch `protobuf:"bytes,10,opt,name=touch,proto3" json:"touch,omitempty"` 2598 Camerabox *Camerabox `protobuf:"bytes,11,opt,name=camerabox,proto3" json:"camerabox,omitempty"` 2599 Cables []*Cable `protobuf:"bytes,12,rep,name=cables,proto3" json:"cables,omitempty"` 2600 Cellular *Cellular `protobuf:"bytes,13,opt,name=cellular,proto3" json:"cellular,omitempty"` 2601 HwidComponent []string `protobuf:"bytes,16,rep,name=hwid_component,json=hwidComponent,proto3" json:"hwid_component,omitempty"` 2602 BluetoothPeers []*BluetoothPeer `protobuf:"bytes,17,rep,name=bluetooth_peers,json=bluetoothPeers,proto3" json:"bluetooth_peers,omitempty"` 2603 Sku string `protobuf:"bytes,18,opt,name=sku,proto3" json:"sku,omitempty"` 2604 Hwid string `protobuf:"bytes,19,opt,name=hwid,proto3" json:"hwid,omitempty"` 2605 Phase Phase `protobuf:"varint,20,opt,name=phase,proto3,enum=chromiumos.test.lab.api.Phase" json:"phase,omitempty"` 2606 SimInfos []*SIMInfo `protobuf:"bytes,21,rep,name=sim_infos,json=simInfos,proto3" json:"sim_infos,omitempty"` 2607 ModemInfo *ModemInfo `protobuf:"bytes,22,opt,name=modem_info,json=modemInfo,proto3" json:"modem_info,omitempty"` 2608 // The host and topology used in peripheral interop test beds. 2609 PasitHost *PasitHost `protobuf:"bytes,23,opt,name=pasit_host,json=pasitHost,proto3" json:"pasit_host,omitempty"` 2610} 2611 2612func (x *Dut_ChromeOS) Reset() { 2613 *x = Dut_ChromeOS{} 2614 if protoimpl.UnsafeEnabled { 2615 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[22] 2616 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2617 ms.StoreMessageInfo(mi) 2618 } 2619} 2620 2621func (x *Dut_ChromeOS) String() string { 2622 return protoimpl.X.MessageStringOf(x) 2623} 2624 2625func (*Dut_ChromeOS) ProtoMessage() {} 2626 2627func (x *Dut_ChromeOS) ProtoReflect() protoreflect.Message { 2628 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[22] 2629 if protoimpl.UnsafeEnabled && x != nil { 2630 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2631 if ms.LoadMessageInfo() == nil { 2632 ms.StoreMessageInfo(mi) 2633 } 2634 return ms 2635 } 2636 return mi.MessageOf(x) 2637} 2638 2639// Deprecated: Use Dut_ChromeOS.ProtoReflect.Descriptor instead. 2640func (*Dut_ChromeOS) Descriptor() ([]byte, []int) { 2641 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{0, 1} 2642} 2643 2644func (x *Dut_ChromeOS) GetDeviceConfigId() *api.DeviceConfigId { 2645 if x != nil { 2646 return x.DeviceConfigId 2647 } 2648 return nil 2649} 2650 2651func (x *Dut_ChromeOS) GetSsh() *IpEndpoint { 2652 if x != nil { 2653 return x.Ssh 2654 } 2655 return nil 2656} 2657 2658func (x *Dut_ChromeOS) GetName() string { 2659 if x != nil { 2660 return x.Name 2661 } 2662 return "" 2663} 2664 2665func (x *Dut_ChromeOS) GetDutModel() *DutModel { 2666 if x != nil { 2667 return x.DutModel 2668 } 2669 return nil 2670} 2671 2672func (x *Dut_ChromeOS) GetServo() *Servo { 2673 if x != nil { 2674 return x.Servo 2675 } 2676 return nil 2677} 2678 2679func (x *Dut_ChromeOS) GetChameleon() *Chameleon { 2680 if x != nil { 2681 return x.Chameleon 2682 } 2683 return nil 2684} 2685 2686func (x *Dut_ChromeOS) GetRpm() *RPM { 2687 if x != nil { 2688 return x.Rpm 2689 } 2690 return nil 2691} 2692 2693func (x *Dut_ChromeOS) GetExternalCameras() []*ExternalCamera { 2694 if x != nil { 2695 return x.ExternalCameras 2696 } 2697 return nil 2698} 2699 2700func (x *Dut_ChromeOS) GetAudio() *Audio { 2701 if x != nil { 2702 return x.Audio 2703 } 2704 return nil 2705} 2706 2707func (x *Dut_ChromeOS) GetWifi() *Wifi { 2708 if x != nil { 2709 return x.Wifi 2710 } 2711 return nil 2712} 2713 2714func (x *Dut_ChromeOS) GetTouch() *Touch { 2715 if x != nil { 2716 return x.Touch 2717 } 2718 return nil 2719} 2720 2721func (x *Dut_ChromeOS) GetCamerabox() *Camerabox { 2722 if x != nil { 2723 return x.Camerabox 2724 } 2725 return nil 2726} 2727 2728func (x *Dut_ChromeOS) GetCables() []*Cable { 2729 if x != nil { 2730 return x.Cables 2731 } 2732 return nil 2733} 2734 2735func (x *Dut_ChromeOS) GetCellular() *Cellular { 2736 if x != nil { 2737 return x.Cellular 2738 } 2739 return nil 2740} 2741 2742func (x *Dut_ChromeOS) GetHwidComponent() []string { 2743 if x != nil { 2744 return x.HwidComponent 2745 } 2746 return nil 2747} 2748 2749func (x *Dut_ChromeOS) GetBluetoothPeers() []*BluetoothPeer { 2750 if x != nil { 2751 return x.BluetoothPeers 2752 } 2753 return nil 2754} 2755 2756func (x *Dut_ChromeOS) GetSku() string { 2757 if x != nil { 2758 return x.Sku 2759 } 2760 return "" 2761} 2762 2763func (x *Dut_ChromeOS) GetHwid() string { 2764 if x != nil { 2765 return x.Hwid 2766 } 2767 return "" 2768} 2769 2770func (x *Dut_ChromeOS) GetPhase() Phase { 2771 if x != nil { 2772 return x.Phase 2773 } 2774 return Phase_PHASE_UNSPECIFIED 2775} 2776 2777func (x *Dut_ChromeOS) GetSimInfos() []*SIMInfo { 2778 if x != nil { 2779 return x.SimInfos 2780 } 2781 return nil 2782} 2783 2784func (x *Dut_ChromeOS) GetModemInfo() *ModemInfo { 2785 if x != nil { 2786 return x.ModemInfo 2787 } 2788 return nil 2789} 2790 2791func (x *Dut_ChromeOS) GetPasitHost() *PasitHost { 2792 if x != nil { 2793 return x.PasitHost 2794 } 2795 return nil 2796} 2797 2798// Android specific DUT details 2799type Dut_Android struct { 2800 state protoimpl.MessageState 2801 sizeCache protoimpl.SizeCache 2802 unknownFields protoimpl.UnknownFields 2803 2804 // A hostname of the device that the Android DUT is attached to. 2805 AssociatedHostname *IpEndpoint `protobuf:"bytes,1,opt,name=associated_hostname,json=associatedHostname,proto3" json:"associated_hostname,omitempty"` 2806 // Android DUT name. 2807 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` 2808 // A string created by adb to uniquely identify the device. 2809 SerialNumber string `protobuf:"bytes,3,opt,name=serial_number,json=serialNumber,proto3" json:"serial_number,omitempty"` 2810 DutModel *DutModel `protobuf:"bytes,4,opt,name=dut_model,json=dutModel,proto3" json:"dut_model,omitempty"` 2811} 2812 2813func (x *Dut_Android) Reset() { 2814 *x = Dut_Android{} 2815 if protoimpl.UnsafeEnabled { 2816 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[23] 2817 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2818 ms.StoreMessageInfo(mi) 2819 } 2820} 2821 2822func (x *Dut_Android) String() string { 2823 return protoimpl.X.MessageStringOf(x) 2824} 2825 2826func (*Dut_Android) ProtoMessage() {} 2827 2828func (x *Dut_Android) ProtoReflect() protoreflect.Message { 2829 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[23] 2830 if protoimpl.UnsafeEnabled && x != nil { 2831 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2832 if ms.LoadMessageInfo() == nil { 2833 ms.StoreMessageInfo(mi) 2834 } 2835 return ms 2836 } 2837 return mi.MessageOf(x) 2838} 2839 2840// Deprecated: Use Dut_Android.ProtoReflect.Descriptor instead. 2841func (*Dut_Android) Descriptor() ([]byte, []int) { 2842 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{0, 2} 2843} 2844 2845func (x *Dut_Android) GetAssociatedHostname() *IpEndpoint { 2846 if x != nil { 2847 return x.AssociatedHostname 2848 } 2849 return nil 2850} 2851 2852func (x *Dut_Android) GetName() string { 2853 if x != nil { 2854 return x.Name 2855 } 2856 return "" 2857} 2858 2859func (x *Dut_Android) GetSerialNumber() string { 2860 if x != nil { 2861 return x.SerialNumber 2862 } 2863 return "" 2864} 2865 2866func (x *Dut_Android) GetDutModel() *DutModel { 2867 if x != nil { 2868 return x.DutModel 2869 } 2870 return nil 2871} 2872 2873// Devboard specific DUT details 2874type Dut_Devboard struct { 2875 state protoimpl.MessageState 2876 sizeCache protoimpl.SizeCache 2877 unknownFields protoimpl.UnknownFields 2878 2879 // The type of devboard, e.g., andreiboard. 2880 BoardType string `protobuf:"bytes,1,opt,name=board_type,json=boardType,proto3" json:"board_type,omitempty"` 2881 // Serial for the UltraDebug interface, if present. 2882 UltradebugSerial string `protobuf:"bytes,2,opt,name=ultradebug_serial,json=ultradebugSerial,proto3" json:"ultradebug_serial,omitempty"` 2883 Servo *Servo `protobuf:"bytes,3,opt,name=servo,proto3" json:"servo,omitempty"` 2884 // An ID string for the fingerprint module. 2885 FingerprintModuleId string `protobuf:"bytes,4,opt,name=fingerprint_module_id,json=fingerprintModuleId,proto3" json:"fingerprint_module_id,omitempty"` 2886 // Devboard DUT name. 2887 Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"` 2888 DutModel *DutModel `protobuf:"bytes,6,opt,name=dut_model,json=dutModel,proto3" json:"dut_model,omitempty"` 2889} 2890 2891func (x *Dut_Devboard) Reset() { 2892 *x = Dut_Devboard{} 2893 if protoimpl.UnsafeEnabled { 2894 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[24] 2895 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2896 ms.StoreMessageInfo(mi) 2897 } 2898} 2899 2900func (x *Dut_Devboard) String() string { 2901 return protoimpl.X.MessageStringOf(x) 2902} 2903 2904func (*Dut_Devboard) ProtoMessage() {} 2905 2906func (x *Dut_Devboard) ProtoReflect() protoreflect.Message { 2907 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[24] 2908 if protoimpl.UnsafeEnabled && x != nil { 2909 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2910 if ms.LoadMessageInfo() == nil { 2911 ms.StoreMessageInfo(mi) 2912 } 2913 return ms 2914 } 2915 return mi.MessageOf(x) 2916} 2917 2918// Deprecated: Use Dut_Devboard.ProtoReflect.Descriptor instead. 2919func (*Dut_Devboard) Descriptor() ([]byte, []int) { 2920 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{0, 3} 2921} 2922 2923func (x *Dut_Devboard) GetBoardType() string { 2924 if x != nil { 2925 return x.BoardType 2926 } 2927 return "" 2928} 2929 2930func (x *Dut_Devboard) GetUltradebugSerial() string { 2931 if x != nil { 2932 return x.UltradebugSerial 2933 } 2934 return "" 2935} 2936 2937func (x *Dut_Devboard) GetServo() *Servo { 2938 if x != nil { 2939 return x.Servo 2940 } 2941 return nil 2942} 2943 2944func (x *Dut_Devboard) GetFingerprintModuleId() string { 2945 if x != nil { 2946 return x.FingerprintModuleId 2947 } 2948 return "" 2949} 2950 2951func (x *Dut_Devboard) GetName() string { 2952 if x != nil { 2953 return x.Name 2954 } 2955 return "" 2956} 2957 2958func (x *Dut_Devboard) GetDutModel() *DutModel { 2959 if x != nil { 2960 return x.DutModel 2961 } 2962 return nil 2963} 2964 2965// Unique identifier for a given dut topology (schedulable lab unit) 2966type DutTopology_Id struct { 2967 state protoimpl.MessageState 2968 sizeCache protoimpl.SizeCache 2969 unknownFields protoimpl.UnknownFields 2970 2971 Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` 2972} 2973 2974func (x *DutTopology_Id) Reset() { 2975 *x = DutTopology_Id{} 2976 if protoimpl.UnsafeEnabled { 2977 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[25] 2978 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2979 ms.StoreMessageInfo(mi) 2980 } 2981} 2982 2983func (x *DutTopology_Id) String() string { 2984 return protoimpl.X.MessageStringOf(x) 2985} 2986 2987func (*DutTopology_Id) ProtoMessage() {} 2988 2989func (x *DutTopology_Id) ProtoReflect() protoreflect.Message { 2990 mi := &file_chromiumos_test_lab_api_dut_proto_msgTypes[25] 2991 if protoimpl.UnsafeEnabled && x != nil { 2992 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2993 if ms.LoadMessageInfo() == nil { 2994 ms.StoreMessageInfo(mi) 2995 } 2996 return ms 2997 } 2998 return mi.MessageOf(x) 2999} 3000 3001// Deprecated: Use DutTopology_Id.ProtoReflect.Descriptor instead. 3002func (*DutTopology_Id) Descriptor() ([]byte, []int) { 3003 return file_chromiumos_test_lab_api_dut_proto_rawDescGZIP(), []int{2, 0} 3004} 3005 3006func (x *DutTopology_Id) GetValue() string { 3007 if x != nil { 3008 return x.Value 3009 } 3010 return "" 3011} 3012 3013var File_chromiumos_test_lab_api_dut_proto protoreflect.FileDescriptor 3014 3015var file_chromiumos_test_lab_api_dut_proto_rawDesc = []byte{ 3016 0x0a, 0x21, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 3017 0x74, 0x2f, 0x6c, 0x61, 0x62, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x64, 0x75, 0x74, 0x2e, 0x70, 0x72, 3018 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 3019 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x1a, 0x2c, 0x63, 0x68, 3020 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 3021 0x61, 0x70, 0x69, 0x2f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 3022 0x67, 0x5f, 0x69, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x63, 0x68, 0x72, 0x6f, 3023 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x6c, 0x61, 0x62, 0x2f, 3024 0x61, 0x70, 0x69, 0x2f, 0x69, 0x70, 0x5f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 3025 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 3026 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x6c, 0x61, 0x62, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 3027 0x61, 0x73, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 3028 0x29, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 3029 0x2f, 0x6c, 0x61, 0x62, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x72, 0x6f, 3030 0x75, 0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x87, 0x11, 0x0a, 0x03, 0x44, 3031 0x75, 0x74, 0x12, 0x2f, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 3032 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 3033 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x75, 0x74, 0x2e, 0x49, 0x64, 0x52, 3034 0x02, 0x69, 0x64, 0x12, 0x43, 0x0a, 0x08, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x65, 0x6f, 0x73, 0x18, 3035 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 3036 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 3037 0x44, 0x75, 0x74, 0x2e, 0x43, 0x68, 0x72, 0x6f, 0x6d, 0x65, 0x4f, 0x53, 0x48, 0x00, 0x52, 0x08, 3038 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x65, 0x6f, 0x73, 0x12, 0x40, 0x0a, 0x07, 0x61, 0x6e, 0x64, 0x72, 3039 0x6f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x68, 0x72, 0x6f, 3040 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 3041 0x61, 0x70, 0x69, 0x2e, 0x44, 0x75, 0x74, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x48, 3042 0x00, 0x52, 0x07, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x12, 0x43, 0x0a, 0x08, 0x64, 0x65, 3043 0x76, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 3044 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 3045 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x75, 0x74, 0x2e, 0x44, 0x65, 0x76, 0x62, 0x6f, 3046 0x61, 0x72, 0x64, 0x48, 0x00, 0x52, 0x08, 0x64, 0x65, 0x76, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 3047 0x47, 0x0a, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 3048 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 3049 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 3050 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x0b, 0x63, 0x61, 0x63, 3051 0x68, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0b, 0x77, 0x69, 0x66, 0x69, 3052 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 3053 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 3054 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x63, 0x72, 3055 0x65, 0x74, 0x52, 0x0a, 0x77, 0x69, 0x66, 0x69, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x1a, 0x1a, 3056 0x0a, 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 3057 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xd9, 0x09, 0x0a, 0x08, 0x43, 3058 0x68, 0x72, 0x6f, 0x6d, 0x65, 0x4f, 0x53, 0x12, 0x4f, 0x0a, 0x10, 0x64, 0x65, 0x76, 0x69, 0x63, 3059 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 3060 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x63, 3061 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 3062 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x52, 0x0e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 3063 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x64, 0x12, 0x35, 0x0a, 0x03, 0x73, 0x73, 0x68, 0x18, 3064 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 3065 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 3066 0x49, 0x70, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x03, 0x73, 0x73, 0x68, 0x12, 3067 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 3068 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x09, 0x64, 0x75, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 3069 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 3070 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 3071 0x2e, 0x44, 0x75, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x08, 0x64, 0x75, 0x74, 0x4d, 0x6f, 3072 0x64, 0x65, 0x6c, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x65, 0x72, 0x76, 0x6f, 0x18, 0x04, 0x20, 0x01, 3073 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 3074 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, 3075 0x76, 0x6f, 0x52, 0x05, 0x73, 0x65, 0x72, 0x76, 0x6f, 0x12, 0x40, 0x0a, 0x09, 0x63, 0x68, 0x61, 3076 0x6d, 0x65, 0x6c, 0x65, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 3077 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 3078 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x6d, 0x65, 0x6c, 0x65, 0x6f, 0x6e, 3079 0x52, 0x09, 0x63, 0x68, 0x61, 0x6d, 0x65, 0x6c, 0x65, 0x6f, 0x6e, 0x12, 0x2e, 0x0a, 0x03, 0x72, 3080 0x70, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 3081 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 3082 0x70, 0x69, 0x2e, 0x52, 0x50, 0x4d, 0x52, 0x03, 0x72, 0x70, 0x6d, 0x12, 0x52, 0x0a, 0x10, 0x65, 3083 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x73, 0x18, 3084 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 3085 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 3086 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x52, 0x0f, 3087 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x73, 0x12, 3088 0x34, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 3089 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 3090 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x52, 0x05, 3091 0x61, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x31, 0x0a, 0x04, 0x77, 0x69, 0x66, 0x69, 0x18, 0x09, 0x20, 3092 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 3093 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x69, 3094 0x66, 0x69, 0x52, 0x04, 0x77, 0x69, 0x66, 0x69, 0x12, 0x34, 0x0a, 0x05, 0x74, 0x6f, 0x75, 0x63, 3095 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 3096 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 3097 0x69, 0x2e, 0x54, 0x6f, 0x75, 0x63, 0x68, 0x52, 0x05, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x12, 0x40, 3098 0x0a, 0x09, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x62, 0x6f, 0x78, 0x18, 0x0b, 0x20, 0x01, 0x28, 3099 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 3100 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x6d, 0x65, 3101 0x72, 0x61, 0x62, 0x6f, 0x78, 0x52, 0x09, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x62, 0x6f, 0x78, 3102 0x12, 0x36, 0x0a, 0x06, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 3103 0x32, 0x1e, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 3104 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x62, 0x6c, 0x65, 3105 0x52, 0x06, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x08, 0x63, 0x65, 0x6c, 0x6c, 3106 0x75, 0x6c, 0x61, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x68, 0x72, 3107 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 3108 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x52, 0x08, 0x63, 3109 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x68, 0x77, 0x69, 0x64, 0x5f, 3110 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 3111 0x0d, 0x68, 0x77, 0x69, 0x64, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x4f, 3112 0x0a, 0x0f, 0x62, 0x6c, 0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x5f, 0x70, 0x65, 0x65, 0x72, 3113 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 3114 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 3115 0x69, 0x2e, 0x42, 0x6c, 0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x50, 0x65, 0x65, 0x72, 0x52, 3116 0x0e, 0x62, 0x6c, 0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x50, 0x65, 0x65, 0x72, 0x73, 0x12, 3117 0x10, 0x0a, 0x03, 0x73, 0x6b, 0x75, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x6b, 3118 0x75, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x77, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 3119 0x04, 0x68, 0x77, 0x69, 0x64, 0x12, 0x34, 0x0a, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x18, 0x14, 3120 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 3121 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 3122 0x68, 0x61, 0x73, 0x65, 0x52, 0x05, 0x70, 0x68, 0x61, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x73, 3123 0x69, 0x6d, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x15, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 3124 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 3125 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x49, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 3126 0x52, 0x08, 0x73, 0x69, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x6d, 0x6f, 3127 0x64, 0x65, 0x6d, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 3128 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 3129 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6d, 0x49, 0x6e, 3130 0x66, 0x6f, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x41, 0x0a, 3131 0x0a, 0x70, 0x61, 0x73, 0x69, 0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x17, 0x20, 0x01, 0x28, 3132 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 3133 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x61, 0x73, 0x69, 3134 0x74, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x09, 0x70, 0x61, 0x73, 0x69, 0x74, 0x48, 0x6f, 0x73, 0x74, 3135 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x1a, 0xd8, 0x01, 0x0a, 0x07, 0x41, 0x6e, 0x64, 0x72, 0x6f, 3136 0x69, 0x64, 0x12, 0x54, 0x0a, 0x13, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 3137 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 3138 0x23, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 3139 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x70, 0x45, 0x6e, 0x64, 0x70, 3140 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x12, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 3141 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 3142 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 3143 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 3144 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x4e, 0x75, 0x6d, 0x62, 0x65, 3145 0x72, 0x12, 0x3e, 0x0a, 0x09, 0x64, 0x75, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x04, 3146 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 3147 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 3148 0x75, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x08, 0x64, 0x75, 0x74, 0x4d, 0x6f, 0x64, 0x65, 3149 0x6c, 0x1a, 0x94, 0x02, 0x0a, 0x08, 0x44, 0x65, 0x76, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x1d, 3150 0x0a, 0x0a, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 3151 0x28, 0x09, 0x52, 0x09, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 3152 0x11, 0x75, 0x6c, 0x74, 0x72, 0x61, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x69, 3153 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x75, 0x6c, 0x74, 0x72, 0x61, 0x64, 3154 0x65, 0x62, 0x75, 0x67, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x34, 0x0a, 0x05, 0x73, 0x65, 3155 0x72, 0x76, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x63, 0x68, 0x72, 0x6f, 3156 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 3157 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x6f, 0x52, 0x05, 0x73, 0x65, 0x72, 0x76, 0x6f, 3158 0x12, 0x32, 0x0a, 0x15, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x5f, 3159 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 3160 0x13, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x75, 3161 0x6c, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 3162 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x09, 0x64, 0x75, 0x74, 0x5f, 3163 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x68, 3164 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 3165 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x75, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x08, 3166 0x64, 0x75, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x42, 0x0a, 0x0a, 0x08, 0x64, 0x75, 0x74, 0x5f, 3167 0x74, 0x79, 0x70, 0x65, 0x22, 0x4c, 0x0a, 0x08, 0x44, 0x75, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 3168 0x12, 0x21, 0x0a, 0x0c, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 3169 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x54, 0x61, 0x72, 3170 0x67, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 3171 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x4e, 0x61, 3172 0x6d, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x0b, 0x44, 0x75, 0x74, 0x54, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 3173 0x67, 0x79, 0x12, 0x37, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 3174 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 3175 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x75, 0x74, 0x54, 0x6f, 0x70, 0x6f, 3176 0x6c, 0x6f, 0x67, 0x79, 0x2e, 0x49, 0x64, 0x52, 0x02, 0x69, 0x64, 0x12, 0x30, 0x0a, 0x04, 0x64, 3177 0x75, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x68, 0x72, 0x6f, 3178 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 3179 0x61, 0x70, 0x69, 0x2e, 0x44, 0x75, 0x74, 0x52, 0x04, 0x64, 0x75, 0x74, 0x73, 0x1a, 0x1a, 0x0a, 3180 0x02, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 3181 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 3182 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0x3a, 0x0a, 0x05, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x1b, 3183 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x62, 0x6f, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 3184 0x08, 0x52, 0x08, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x6f, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x61, 3185 0x74, 0x72, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x61, 0x74, 0x72, 0x75, 3186 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x05, 0x43, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x74, 3187 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x63, 0x68, 0x72, 0x6f, 3188 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 3189 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 3190 0x74, 0x79, 0x70, 0x65, 0x22, 0x59, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 3191 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 3192 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x4a, 0x41, 0x43, 0x4b, 0x10, 3193 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x53, 0x42, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x02, 0x12, 3194 0x0f, 0x0a, 0x0b, 0x55, 0x53, 0x42, 0x50, 0x52, 0x49, 0x4e, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 3195 0x12, 0x0d, 0x0a, 0x09, 0x48, 0x44, 0x4d, 0x49, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x04, 0x22, 3196 0x4c, 0x0a, 0x0b, 0x43, 0x61, 0x63, 0x68, 0x65, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x3d, 3197 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 3198 0x23, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 3199 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x70, 0x45, 0x6e, 0x64, 0x70, 3200 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x85, 0x01, 3201 0x0a, 0x09, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x62, 0x6f, 0x78, 0x12, 0x41, 0x0a, 0x06, 0x66, 3202 0x61, 0x63, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x63, 0x68, 3203 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 3204 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x62, 0x6f, 0x78, 0x2e, 3205 0x46, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x66, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x22, 0x35, 3206 0x0a, 0x06, 0x46, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x16, 0x0a, 0x12, 0x46, 0x41, 0x43, 0x49, 3207 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 3208 0x12, 0x08, 0x0a, 0x04, 0x42, 0x41, 0x43, 0x4b, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x46, 0x52, 3209 0x4f, 0x4e, 0x54, 0x10, 0x02, 0x22, 0xb7, 0x01, 0x0a, 0x08, 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 3210 0x61, 0x72, 0x12, 0x48, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 3211 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 3212 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 3213 0x43, 0x65, 0x6c, 0x6c, 0x75, 0x6c, 0x61, 0x72, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 3214 0x72, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 3215 0x63, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 3216 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x22, 0x47, 0x0a, 0x08, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 3217 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x55, 3218 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 3219 0x41, 0x54, 0x54, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x45, 0x52, 0x49, 0x5a, 0x4f, 0x4e, 3220 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x4d, 0x4f, 0x42, 0x49, 0x4c, 0x45, 0x10, 0x03, 0x22, 3221 0xc2, 0x01, 0x0a, 0x09, 0x4d, 0x6f, 0x64, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a, 3222 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x63, 0x68, 3223 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 3224 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x6f, 0x64, 0x65, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 3225 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x69, 0x6d, 0x65, 0x69, 0x18, 0x02, 0x20, 3226 0x01, 0x28, 0x09, 0x52, 0x04, 0x69, 0x6d, 0x65, 0x69, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x75, 0x70, 3227 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 3228 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x42, 0x61, 0x6e, 3229 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x69, 0x6d, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 3230 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x73, 0x69, 0x6d, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 3231 0x23, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x76, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 3232 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x61, 0x72, 3233 0x69, 0x61, 0x6e, 0x74, 0x22, 0xd3, 0x01, 0x0a, 0x07, 0x53, 0x49, 0x4d, 0x49, 0x6e, 0x66, 0x6f, 3234 0x12, 0x17, 0x0a, 0x07, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 3235 0x05, 0x52, 0x06, 0x73, 0x6c, 0x6f, 0x74, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 3236 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 3237 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 3238 0x69, 0x2e, 0x53, 0x49, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 3239 0x10, 0x0a, 0x03, 0x65, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x65, 0x69, 3240 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x65, 0x73, 0x69, 0x6d, 0x18, 0x04, 3241 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x45, 0x73, 0x69, 0x6d, 0x12, 0x4a, 3242 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x05, 3243 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 3244 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 3245 0x49, 0x4d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x70, 3246 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x86, 0x04, 0x0a, 0x0e, 0x53, 3247 0x49, 0x4d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 3248 0x05, 0x69, 0x63, 0x63, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x63, 3249 0x63, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x69, 0x6d, 0x5f, 0x70, 0x69, 0x6e, 0x18, 0x02, 3250 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x69, 0x6d, 0x50, 0x69, 0x6e, 0x12, 0x17, 0x0a, 0x07, 3251 0x73, 0x69, 0x6d, 0x5f, 0x70, 0x75, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 3252 0x69, 0x6d, 0x50, 0x75, 0x6b, 0x12, 0x4b, 0x0a, 0x0c, 0x63, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 3253 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x68, 3254 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 3255 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 3256 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x0b, 0x63, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x4e, 0x61, 3257 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x77, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 3258 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x77, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 3259 0x72, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 3260 0x32, 0x2d, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 3261 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x49, 0x4d, 0x50, 0x72, 3262 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 3263 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4b, 0x0a, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 3264 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 3265 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 3266 0x70, 0x69, 0x2e, 0x53, 0x49, 0x4d, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x6e, 0x66, 3267 0x6f, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x08, 0x66, 0x65, 0x61, 0x74, 0x75, 3268 0x72, 0x65, 0x73, 0x22, 0x5f, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 3269 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 3270 0x06, 0x42, 0x52, 0x4f, 0x4b, 0x45, 0x4e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4c, 0x4f, 0x43, 3271 0x4b, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x4f, 0x5f, 0x4e, 0x45, 0x54, 0x57, 3272 0x4f, 0x52, 0x4b, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x4f, 0x52, 0x4b, 0x49, 0x4e, 0x47, 3273 0x10, 0x04, 0x12, 0x10, 0x0a, 0x0c, 0x57, 0x52, 0x4f, 0x4e, 0x47, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 3274 0x49, 0x47, 0x10, 0x05, 0x22, 0x4d, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 3275 0x17, 0x0a, 0x13, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 3276 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x18, 0x0a, 0x14, 0x46, 0x45, 0x41, 0x54, 3277 0x55, 0x52, 0x45, 0x5f, 0x4c, 0x49, 0x56, 0x45, 0x5f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 3278 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x45, 0x41, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x53, 0x4d, 3279 0x53, 0x10, 0x02, 0x22, 0xdd, 0x03, 0x0a, 0x09, 0x43, 0x68, 0x61, 0x6d, 0x65, 0x6c, 0x65, 0x6f, 3280 0x6e, 0x12, 0x4f, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x69, 0x70, 0x68, 0x65, 0x72, 0x61, 0x6c, 0x73, 3281 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 3282 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 3283 0x2e, 0x43, 0x68, 0x61, 0x6d, 0x65, 0x6c, 0x65, 0x6f, 0x6e, 0x2e, 0x50, 0x65, 0x72, 0x69, 0x70, 3284 0x68, 0x65, 0x72, 0x61, 0x6c, 0x52, 0x0b, 0x70, 0x65, 0x72, 0x69, 0x70, 0x68, 0x65, 0x72, 0x61, 3285 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x62, 0x6f, 0x61, 0x72, 3286 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x42, 0x6f, 3287 0x61, 0x72, 0x64, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 3288 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 3289 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, 3290 0x69, 0x70, 0x68, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 3291 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 3292 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 3293 0x3d, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x27, 3294 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 3295 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x68, 0x61, 0x6d, 0x65, 0x6c, 0x65, 3296 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x22, 0x94, 3297 0x01, 0x0a, 0x0a, 0x50, 0x65, 0x72, 0x69, 0x70, 0x68, 0x65, 0x72, 0x61, 0x6c, 0x12, 0x1a, 0x0a, 3298 0x16, 0x50, 0x45, 0x52, 0x49, 0x50, 0x48, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 3299 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x54, 0x5f, 3300 0x48, 0x49, 0x44, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x44, 0x50, 0x10, 0x02, 0x12, 0x0b, 0x0a, 3301 0x07, 0x44, 0x50, 0x5f, 0x48, 0x44, 0x4d, 0x49, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x56, 0x47, 3302 0x41, 0x10, 0x04, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x44, 0x4d, 0x49, 0x10, 0x05, 0x12, 0x0e, 0x0a, 3303 0x0a, 0x42, 0x54, 0x5f, 0x42, 0x4c, 0x45, 0x5f, 0x48, 0x49, 0x44, 0x10, 0x06, 0x12, 0x10, 0x0a, 3304 0x0c, 0x42, 0x54, 0x5f, 0x41, 0x32, 0x44, 0x50, 0x5f, 0x53, 0x49, 0x4e, 0x4b, 0x10, 0x07, 0x12, 3305 0x0b, 0x0a, 0x07, 0x42, 0x54, 0x5f, 0x50, 0x45, 0x45, 0x52, 0x10, 0x08, 0x12, 0x07, 0x0a, 0x03, 3306 0x52, 0x50, 0x49, 0x10, 0x09, 0x22, 0x2c, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 3307 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 3308 0x44, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x56, 0x32, 0x10, 0x01, 0x12, 0x06, 0x0a, 0x02, 0x56, 3309 0x33, 0x10, 0x02, 0x22, 0x89, 0x01, 0x0a, 0x0e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 3310 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x12, 0x40, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 3311 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 3312 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x45, 3313 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x43, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x2e, 0x54, 0x79, 3314 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x35, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 3315 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 3316 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x48, 0x55, 0x44, 0x44, 0x4c, 0x59, 3317 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x54, 0x5a, 0x50, 0x52, 0x4f, 0x32, 0x10, 0x02, 0x22, 3318 0xf2, 0x02, 0x0a, 0x03, 0x52, 0x50, 0x4d, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x65, 0x73, 0x65, 3319 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 3320 0x74, 0x12, 0x4e, 0x0a, 0x10, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x5f, 0x61, 0x64, 3321 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x68, 3322 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 3323 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x70, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 3324 0x52, 0x0f, 0x66, 0x72, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 3325 0x73, 0x12, 0x53, 0x0a, 0x13, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x5f, 3326 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 3327 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 3328 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x70, 0x45, 0x6e, 0x64, 0x70, 0x6f, 3329 0x69, 0x6e, 0x74, 0x52, 0x11, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x48, 0x6f, 3330 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x5f, 3331 0x75, 0x6e, 0x69, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x6c, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 3332 0x09, 0x52, 0x0f, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x55, 0x6e, 0x69, 0x74, 0x4f, 0x75, 0x74, 0x6c, 3333 0x65, 0x74, 0x12, 0x4a, 0x0a, 0x0e, 0x68, 0x79, 0x64, 0x72, 0x61, 0x5f, 0x68, 0x6f, 0x73, 0x74, 3334 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x68, 0x72, 3335 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 3336 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x70, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 3337 0x0d, 0x68, 0x79, 0x64, 0x72, 0x61, 0x48, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 3338 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x63, 3339 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 3340 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x50, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 3341 0x74, 0x79, 0x70, 0x65, 0x22, 0xc5, 0x01, 0x0a, 0x05, 0x53, 0x65, 0x72, 0x76, 0x6f, 0x12, 0x18, 3342 0x0a, 0x07, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 3343 0x07, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 3344 0x6f, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 3345 0x32, 0x23, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 3346 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x49, 0x70, 0x45, 0x6e, 0x64, 3347 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x6f, 0x64, 0x41, 0x64, 0x64, 3348 0x72, 0x65, 0x73, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x18, 0x03, 3349 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x12, 0x3e, 0x0a, 0x05, 3350 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 0x68, 3351 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 3352 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, 0x69, 0x70, 0x68, 0x65, 0x72, 0x61, 0x6c, 3353 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x1b, 0x0a, 0x05, 3354 0x54, 0x6f, 0x75, 0x63, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x69, 0x6d, 0x6f, 0x18, 0x01, 0x20, 3355 0x01, 0x28, 0x08, 0x52, 0x04, 0x6d, 0x69, 0x6d, 0x6f, 0x22, 0xc4, 0x02, 0x0a, 0x04, 0x57, 0x69, 3356 0x66, 0x69, 0x12, 0x4b, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 3357 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 3358 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 3359 0x69, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x2e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 3360 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 3361 0x3e, 0x0a, 0x07, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 3362 0x32, 0x24, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 3363 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x69, 0x66, 0x69, 0x41, 3364 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x52, 0x07, 0x61, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x12, 3365 0x46, 0x0a, 0x0c, 0x77, 0x69, 0x66, 0x69, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x18, 3366 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 3367 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 3368 0x57, 0x69, 0x66, 0x69, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x77, 0x69, 0x66, 0x69, 3369 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x22, 0x67, 0x0a, 0x0b, 0x45, 0x6e, 0x76, 0x69, 0x72, 3370 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x4e, 0x56, 0x49, 0x52, 0x4f, 3371 0x4e, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 3372 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 3373 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x57, 0x49, 0x46, 0x49, 0x5f, 0x43, 0x45, 0x4c, 0x4c, 0x10, 0x02, 3374 0x12, 0x09, 0x0a, 0x05, 0x43, 0x48, 0x41, 0x4f, 0x53, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x52, 3375 0x4f, 0x55, 0x54, 0x45, 0x52, 0x5f, 0x38, 0x30, 0x32, 0x5f, 0x31, 0x31, 0x41, 0x58, 0x10, 0x04, 3376 0x22, 0xa1, 0x01, 0x0a, 0x0b, 0x57, 0x69, 0x66, 0x69, 0x41, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 3377 0x12, 0x4f, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 3378 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 3379 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x57, 3380 0x69, 0x66, 0x69, 0x41, 0x6e, 0x74, 0x65, 0x6e, 0x6e, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 3381 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 3382 0x6e, 0x22, 0x41, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 3383 0x1a, 0x0a, 0x16, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 3384 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 3385 0x4f, 0x4e, 0x44, 0x55, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4f, 3386 0x54, 0x41, 0x10, 0x02, 0x22, 0xd9, 0x02, 0x0a, 0x0a, 0x57, 0x69, 0x66, 0x69, 0x52, 0x6f, 0x75, 3387 0x74, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 3388 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 3389 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 3390 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 3391 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, 0x69, 0x70, 0x68, 0x65, 3392 0x72, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 3393 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 3394 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x2e, 0x0a, 0x03, 0x72, 0x70, 0x6d, 0x18, 0x04, 0x20, 0x01, 3395 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 3396 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x50, 0x4d, 3397 0x52, 0x03, 0x72, 0x70, 0x6d, 0x12, 0x59, 0x0a, 0x12, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 3398 0x65, 0x64, 0x5f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 3399 0x0e, 0x32, 0x2a, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 3400 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x57, 0x69, 0x66, 0x69, 3401 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x11, 0x73, 3402 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 3403 0x12, 0x4e, 0x0a, 0x0b, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 3404 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 3405 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 3406 0x57, 0x69, 0x66, 0x69, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 3407 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 3408 0x22, 0x6b, 0x0a, 0x0d, 0x42, 0x6c, 0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x50, 0x65, 0x65, 3409 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 3410 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 3411 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x28, 0x2e, 0x63, 3412 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x6f, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x6c, 3413 0x61, 0x62, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x50, 0x65, 0x72, 0x69, 0x70, 0x68, 0x65, 0x72, 0x61, 3414 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x58, 0x0a, 3415 0x0a, 0x57, 0x69, 0x66, 0x69, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 3416 0x73, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x73, 0x69, 0x64, 0x12, 3417 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 3418 0x09, 0x52, 0x08, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x70, 3419 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 3420 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x2a, 0xbe, 0x02, 0x0a, 0x09, 0x4d, 0x6f, 0x64, 0x65, 3421 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x4f, 0x44, 0x45, 0x4d, 0x5f, 0x54, 3422 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 3423 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4d, 0x4f, 0x44, 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 3424 0x55, 0x4e, 0x53, 0x55, 0x50, 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x08, 0x12, 0x1e, 0x0a, 3425 0x1a, 0x4d, 0x4f, 0x44, 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x51, 0x55, 0x41, 0x4c, 3426 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x53, 0x43, 0x37, 0x31, 0x38, 0x30, 0x10, 0x01, 0x12, 0x1e, 0x0a, 3427 0x1a, 0x4d, 0x4f, 0x44, 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x49, 0x42, 0x4f, 3428 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x4c, 0x38, 0x35, 0x30, 0x47, 0x4c, 0x10, 0x02, 0x12, 0x14, 0x0a, 3429 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x4c, 0x36, 0x36, 3430 0x38, 0x10, 0x03, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 3431 0x45, 0x5f, 0x46, 0x4d, 0x33, 0x35, 0x30, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 3432 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4d, 0x31, 0x30, 0x31, 0x10, 0x05, 0x12, 3433 0x1e, 0x0a, 0x1a, 0x4d, 0x4f, 0x44, 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x51, 0x55, 3434 0x41, 0x4c, 0x43, 0x4f, 0x4d, 0x4d, 0x5f, 0x53, 0x43, 0x37, 0x32, 0x38, 0x30, 0x10, 0x06, 0x12, 3435 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4d, 3436 0x30, 0x36, 0x30, 0x10, 0x07, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x4f, 0x44, 0x45, 0x4d, 0x5f, 0x54, 3437 0x59, 0x50, 0x45, 0x5f, 0x52, 0x57, 0x31, 0x30, 0x31, 0x10, 0x09, 0x12, 0x14, 0x0a, 0x10, 0x4d, 3438 0x4f, 0x44, 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x57, 0x31, 0x33, 0x35, 0x10, 3439 0x0a, 0x12, 0x15, 0x0a, 0x11, 0x4d, 0x4f, 0x44, 0x45, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 3440 0x4c, 0x43, 0x55, 0x4b, 0x35, 0x34, 0x10, 0x0b, 0x2a, 0xc1, 0x03, 0x0a, 0x0f, 0x4e, 0x65, 0x74, 3441 0x77, 0x6f, 0x72, 0x6b, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x11, 0x0a, 0x0d, 3442 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x4f, 0x54, 0x48, 0x45, 0x52, 0x10, 0x00, 0x12, 3443 0x17, 0x0a, 0x13, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x55, 0x4e, 0x53, 0x55, 0x50, 3444 0x50, 0x4f, 0x52, 0x54, 0x45, 0x44, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x45, 0x54, 0x57, 3445 0x4f, 0x52, 0x4b, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x45, 3446 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x41, 0x54, 0x54, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 3447 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x54, 0x4d, 0x4f, 0x42, 0x49, 0x4c, 0x45, 0x10, 0x03, 3448 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x56, 0x45, 0x52, 0x49, 3449 0x5a, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 3450 0x5f, 0x53, 0x50, 0x52, 0x49, 0x4e, 0x54, 0x10, 0x06, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x45, 0x54, 3451 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x44, 0x4f, 0x43, 0x4f, 0x4d, 0x4f, 0x10, 0x07, 0x12, 0x14, 0x0a, 3452 0x10, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x53, 0x4f, 0x46, 0x54, 0x42, 0x41, 0x4e, 3453 0x4b, 0x10, 0x08, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x4b, 3454 0x44, 0x44, 0x49, 0x10, 0x09, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 3455 0x5f, 0x52, 0x41, 0x4b, 0x55, 0x54, 0x45, 0x4e, 0x10, 0x0a, 0x12, 0x14, 0x0a, 0x10, 0x4e, 0x45, 3456 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x56, 0x4f, 0x44, 0x41, 0x46, 0x4f, 0x4e, 0x45, 0x10, 0x0b, 3457 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x45, 0x45, 0x10, 0x0c, 3458 0x12, 0x15, 0x0a, 0x11, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x41, 0x4d, 0x41, 0x52, 3459 0x49, 0x53, 0x4f, 0x46, 0x54, 0x10, 0x0d, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x45, 0x54, 0x57, 0x4f, 3460 0x52, 0x4b, 0x5f, 0x52, 0x4f, 0x47, 0x45, 0x52, 0x10, 0x0e, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x45, 3461 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x42, 0x45, 0x4c, 0x4c, 0x10, 0x0f, 0x12, 0x11, 0x0a, 0x0d, 3462 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x54, 0x45, 0x4c, 0x55, 0x53, 0x10, 0x10, 0x12, 3463 0x0e, 0x0a, 0x0a, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x46, 0x49, 0x10, 0x11, 0x12, 3464 0x10, 0x0a, 0x0c, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x42, 0x52, 0x53, 0x10, 3465 0x12, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x4c, 0x49, 0x4e, 3466 0x45, 0x4d, 0x4f, 0x10, 0x13, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x45, 0x54, 0x57, 0x4f, 0x52, 0x4b, 3467 0x5f, 0x50, 0x4f, 0x56, 0x4f, 0x10, 0x14, 0x12, 0x13, 0x0a, 0x0f, 0x4e, 0x45, 0x54, 0x57, 0x4f, 3468 0x52, 0x4b, 0x5f, 0x48, 0x41, 0x4e, 0x53, 0x48, 0x49, 0x4e, 0x10, 0x15, 0x2a, 0x3d, 0x0a, 0x07, 3469 0x53, 0x49, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x49, 0x4d, 0x5f, 0x55, 3470 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x49, 0x4d, 0x5f, 3471 0x50, 0x48, 0x59, 0x53, 0x49, 0x43, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x49, 3472 0x4d, 0x5f, 0x44, 0x49, 0x47, 0x49, 0x54, 0x41, 0x4c, 0x10, 0x02, 0x2a, 0x49, 0x0a, 0x07, 0x52, 3473 0x50, 0x4d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x50, 0x4d, 0x5f, 0x54, 0x59, 3474 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 3475 0x52, 0x50, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x10, 3476 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x50, 0x4d, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x50, 3477 0x39, 0x38, 0x35, 0x30, 0x10, 0x02, 0x2a, 0x60, 0x0a, 0x0f, 0x50, 0x65, 0x72, 0x69, 0x70, 0x68, 3478 0x65, 0x72, 0x61, 0x6c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x45, 0x52, 3479 0x49, 0x50, 0x48, 0x45, 0x52, 0x41, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 3480 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x57, 3481 0x4f, 0x52, 0x4b, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x42, 0x52, 0x4f, 0x4b, 3482 0x45, 0x4e, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x50, 0x50, 0x4c, 3483 0x49, 0x43, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x2a, 0xfb, 0x03, 0x0a, 0x05, 0x50, 0x68, 0x61, 3484 0x73, 0x65, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x48, 0x41, 0x53, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 3485 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x56, 0x54, 3486 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x44, 0x56, 0x54, 0x5f, 0x32, 0x10, 0x02, 0x12, 0x11, 0x0a, 3487 0x0d, 0x44, 0x56, 0x54, 0x5f, 0x32, 0x5f, 0x4d, 0x50, 0x53, 0x5f, 0x4c, 0x54, 0x45, 0x10, 0x03, 3488 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x56, 0x54, 0x5f, 0x42, 0x49, 0x50, 0x53, 0x48, 0x49, 0x50, 0x10, 3489 0x04, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x56, 0x54, 0x5f, 0x42, 0x4f, 0x4f, 0x4b, 0x45, 0x4d, 0x10, 3490 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x56, 0x54, 0x5f, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x52, 0x4f, 3491 0x10, 0x06, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x56, 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x45, 0x10, 3492 0x07, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x56, 0x54, 0x5f, 0x4f, 0x53, 0x43, 0x49, 0x4e, 0x4f, 0x10, 3493 0x08, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x56, 0x54, 0x5f, 0x52, 0x45, 0x4b, 0x53, 0x31, 0x34, 0x10, 3494 0x09, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x56, 0x54, 0x5f, 0x52, 0x45, 0x4b, 0x53, 0x31, 0x34, 0x5f, 3495 0x54, 0x4f, 0x55, 0x43, 0x48, 0x10, 0x0a, 0x12, 0x0d, 0x0a, 0x09, 0x44, 0x56, 0x54, 0x5f, 0x54, 3496 0x4f, 0x55, 0x43, 0x48, 0x10, 0x0b, 0x12, 0x07, 0x0a, 0x03, 0x45, 0x56, 0x54, 0x10, 0x0c, 0x12, 3497 0x11, 0x0a, 0x0d, 0x45, 0x56, 0x54, 0x5f, 0x46, 0x4c, 0x45, 0x45, 0x58, 0x5f, 0x4c, 0x54, 0x45, 3498 0x10, 0x0d, 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x56, 0x54, 0x5f, 0x48, 0x51, 0x10, 0x0e, 0x12, 0x0b, 3499 0x0a, 0x07, 0x45, 0x56, 0x54, 0x5f, 0x4c, 0x54, 0x45, 0x10, 0x0f, 0x12, 0x0d, 0x0a, 0x09, 0x45, 3500 0x56, 0x54, 0x5f, 0x4d, 0x41, 0x50, 0x4c, 0x45, 0x10, 0x10, 0x12, 0x0d, 0x0a, 0x09, 0x45, 0x56, 3501 0x54, 0x5f, 0x50, 0x55, 0x4a, 0x4a, 0x4f, 0x10, 0x11, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x52, 0x4f, 3502 0x54, 0x4f, 0x10, 0x12, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x52, 0x4f, 0x54, 0x4f, 0x31, 0x10, 0x13, 3503 0x12, 0x07, 0x0a, 0x03, 0x50, 0x56, 0x54, 0x10, 0x14, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x56, 0x54, 3504 0x5f, 0x54, 0x45, 0x52, 0x52, 0x41, 0x33, 0x10, 0x15, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x56, 0x54, 3505 0x5f, 0x55, 0x53, 0x10, 0x16, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x56, 0x54, 0x5f, 0x32, 0x10, 0x17, 3506 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x56, 0x54, 0x5f, 0x42, 0x4f, 0x4f, 0x4b, 0x45, 0x4d, 0x10, 0x18, 3507 0x12, 0x0f, 0x0a, 0x0b, 0x50, 0x56, 0x54, 0x5f, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x52, 0x4f, 0x10, 3508 0x19, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x56, 0x54, 0x5f, 0x47, 0x49, 0x4b, 0x33, 0x36, 0x30, 0x10, 3509 0x1a, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x56, 0x54, 0x5f, 0x4c, 0x49, 0x4c, 0x49, 0x10, 0x1b, 0x12, 3510 0x0b, 0x0a, 0x07, 0x50, 0x56, 0x54, 0x5f, 0x4c, 0x54, 0x45, 0x10, 0x1c, 0x12, 0x0f, 0x0a, 0x0b, 3511 0x50, 0x56, 0x54, 0x5f, 0x4e, 0x45, 0x57, 0x5f, 0x43, 0x50, 0x55, 0x10, 0x1d, 0x12, 0x0c, 0x0a, 3512 0x08, 0x50, 0x56, 0x54, 0x5f, 0x53, 0x41, 0x4e, 0x44, 0x10, 0x1e, 0x12, 0x11, 0x0a, 0x0d, 0x50, 3513 0x56, 0x54, 0x5f, 0x54, 0x55, 0x4e, 0x45, 0x5f, 0x42, 0x49, 0x54, 0x53, 0x10, 0x1f, 0x12, 0x0e, 3514 0x0a, 0x0a, 0x50, 0x56, 0x54, 0x5f, 0x54, 0x45, 0x4c, 0x45, 0x53, 0x55, 0x10, 0x20, 0x12, 0x06, 3515 0x0a, 0x02, 0x53, 0x52, 0x10, 0x21, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 3516 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 3517 0x75, 0x6d, 0x6f, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x67, 0x6f, 0x2f, 0x74, 3518 0x65, 0x73, 0x74, 0x2f, 0x6c, 0x61, 0x62, 0x2f, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 3519 0x74, 0x6f, 0x33, 3520} 3521 3522var ( 3523 file_chromiumos_test_lab_api_dut_proto_rawDescOnce sync.Once 3524 file_chromiumos_test_lab_api_dut_proto_rawDescData = file_chromiumos_test_lab_api_dut_proto_rawDesc 3525) 3526 3527func file_chromiumos_test_lab_api_dut_proto_rawDescGZIP() []byte { 3528 file_chromiumos_test_lab_api_dut_proto_rawDescOnce.Do(func() { 3529 file_chromiumos_test_lab_api_dut_proto_rawDescData = protoimpl.X.CompressGZIP(file_chromiumos_test_lab_api_dut_proto_rawDescData) 3530 }) 3531 return file_chromiumos_test_lab_api_dut_proto_rawDescData 3532} 3533 3534var file_chromiumos_test_lab_api_dut_proto_enumTypes = make([]protoimpl.EnumInfo, 16) 3535var file_chromiumos_test_lab_api_dut_proto_msgTypes = make([]protoimpl.MessageInfo, 26) 3536var file_chromiumos_test_lab_api_dut_proto_goTypes = []interface{}{ 3537 (ModemType)(0), // 0: chromiumos.test.lab.api.ModemType 3538 (NetworkProvider)(0), // 1: chromiumos.test.lab.api.NetworkProvider 3539 (SIMType)(0), // 2: chromiumos.test.lab.api.SIMType 3540 (RPMType)(0), // 3: chromiumos.test.lab.api.RPMType 3541 (PeripheralState)(0), // 4: chromiumos.test.lab.api.PeripheralState 3542 (Phase)(0), // 5: chromiumos.test.lab.api.Phase 3543 (Cable_Type)(0), // 6: chromiumos.test.lab.api.Cable.Type 3544 (Camerabox_Facing)(0), // 7: chromiumos.test.lab.api.Camerabox.Facing 3545 (Cellular_Operator)(0), // 8: chromiumos.test.lab.api.Cellular.Operator 3546 (SIMProfileInfo_State)(0), // 9: chromiumos.test.lab.api.SIMProfileInfo.State 3547 (SIMProfileInfo_Feature)(0), // 10: chromiumos.test.lab.api.SIMProfileInfo.Feature 3548 (Chameleon_Peripheral)(0), // 11: chromiumos.test.lab.api.Chameleon.Peripheral 3549 (Chameleon_Type)(0), // 12: chromiumos.test.lab.api.Chameleon.Type 3550 (ExternalCamera_Type)(0), // 13: chromiumos.test.lab.api.ExternalCamera.Type 3551 (Wifi_Environment)(0), // 14: chromiumos.test.lab.api.Wifi.Environment 3552 (WifiAntenna_Connection)(0), // 15: chromiumos.test.lab.api.WifiAntenna.Connection 3553 (*Dut)(nil), // 16: chromiumos.test.lab.api.Dut 3554 (*DutModel)(nil), // 17: chromiumos.test.lab.api.DutModel 3555 (*DutTopology)(nil), // 18: chromiumos.test.lab.api.DutTopology 3556 (*Audio)(nil), // 19: chromiumos.test.lab.api.Audio 3557 (*Cable)(nil), // 20: chromiumos.test.lab.api.Cable 3558 (*CacheServer)(nil), // 21: chromiumos.test.lab.api.CacheServer 3559 (*Camerabox)(nil), // 22: chromiumos.test.lab.api.Camerabox 3560 (*Cellular)(nil), // 23: chromiumos.test.lab.api.Cellular 3561 (*ModemInfo)(nil), // 24: chromiumos.test.lab.api.ModemInfo 3562 (*SIMInfo)(nil), // 25: chromiumos.test.lab.api.SIMInfo 3563 (*SIMProfileInfo)(nil), // 26: chromiumos.test.lab.api.SIMProfileInfo 3564 (*Chameleon)(nil), // 27: chromiumos.test.lab.api.Chameleon 3565 (*ExternalCamera)(nil), // 28: chromiumos.test.lab.api.ExternalCamera 3566 (*RPM)(nil), // 29: chromiumos.test.lab.api.RPM 3567 (*Servo)(nil), // 30: chromiumos.test.lab.api.Servo 3568 (*Touch)(nil), // 31: chromiumos.test.lab.api.Touch 3569 (*Wifi)(nil), // 32: chromiumos.test.lab.api.Wifi 3570 (*WifiAntenna)(nil), // 33: chromiumos.test.lab.api.WifiAntenna 3571 (*WifiRouter)(nil), // 34: chromiumos.test.lab.api.WifiRouter 3572 (*BluetoothPeer)(nil), // 35: chromiumos.test.lab.api.BluetoothPeer 3573 (*WifiSecret)(nil), // 36: chromiumos.test.lab.api.WifiSecret 3574 (*Dut_Id)(nil), // 37: chromiumos.test.lab.api.Dut.Id 3575 (*Dut_ChromeOS)(nil), // 38: chromiumos.test.lab.api.Dut.ChromeOS 3576 (*Dut_Android)(nil), // 39: chromiumos.test.lab.api.Dut.Android 3577 (*Dut_Devboard)(nil), // 40: chromiumos.test.lab.api.Dut.Devboard 3578 (*DutTopology_Id)(nil), // 41: chromiumos.test.lab.api.DutTopology.Id 3579 (*IpEndpoint)(nil), // 42: chromiumos.test.lab.api.IpEndpoint 3580 (WifiRouterFeature)(0), // 43: chromiumos.test.lab.api.WifiRouterFeature 3581 (WifiRouterDeviceType)(0), // 44: chromiumos.test.lab.api.WifiRouterDeviceType 3582 (*api.DeviceConfigId)(nil), // 45: chromiumos.config.api.DeviceConfigId 3583 (*PasitHost)(nil), // 46: chromiumos.test.lab.api.PasitHost 3584} 3585var file_chromiumos_test_lab_api_dut_proto_depIdxs = []int32{ 3586 37, // 0: chromiumos.test.lab.api.Dut.id:type_name -> chromiumos.test.lab.api.Dut.Id 3587 38, // 1: chromiumos.test.lab.api.Dut.chromeos:type_name -> chromiumos.test.lab.api.Dut.ChromeOS 3588 39, // 2: chromiumos.test.lab.api.Dut.android:type_name -> chromiumos.test.lab.api.Dut.Android 3589 40, // 3: chromiumos.test.lab.api.Dut.devboard:type_name -> chromiumos.test.lab.api.Dut.Devboard 3590 21, // 4: chromiumos.test.lab.api.Dut.cache_server:type_name -> chromiumos.test.lab.api.CacheServer 3591 36, // 5: chromiumos.test.lab.api.Dut.wifi_secret:type_name -> chromiumos.test.lab.api.WifiSecret 3592 41, // 6: chromiumos.test.lab.api.DutTopology.id:type_name -> chromiumos.test.lab.api.DutTopology.Id 3593 16, // 7: chromiumos.test.lab.api.DutTopology.duts:type_name -> chromiumos.test.lab.api.Dut 3594 6, // 8: chromiumos.test.lab.api.Cable.type:type_name -> chromiumos.test.lab.api.Cable.Type 3595 42, // 9: chromiumos.test.lab.api.CacheServer.address:type_name -> chromiumos.test.lab.api.IpEndpoint 3596 7, // 10: chromiumos.test.lab.api.Camerabox.facing:type_name -> chromiumos.test.lab.api.Camerabox.Facing 3597 8, // 11: chromiumos.test.lab.api.Cellular.operators:type_name -> chromiumos.test.lab.api.Cellular.Operator 3598 0, // 12: chromiumos.test.lab.api.ModemInfo.type:type_name -> chromiumos.test.lab.api.ModemType 3599 2, // 13: chromiumos.test.lab.api.SIMInfo.type:type_name -> chromiumos.test.lab.api.SIMType 3600 26, // 14: chromiumos.test.lab.api.SIMInfo.profile_info:type_name -> chromiumos.test.lab.api.SIMProfileInfo 3601 1, // 15: chromiumos.test.lab.api.SIMProfileInfo.carrier_name:type_name -> chromiumos.test.lab.api.NetworkProvider 3602 9, // 16: chromiumos.test.lab.api.SIMProfileInfo.state:type_name -> chromiumos.test.lab.api.SIMProfileInfo.State 3603 10, // 17: chromiumos.test.lab.api.SIMProfileInfo.features:type_name -> chromiumos.test.lab.api.SIMProfileInfo.Feature 3604 11, // 18: chromiumos.test.lab.api.Chameleon.peripherals:type_name -> chromiumos.test.lab.api.Chameleon.Peripheral 3605 4, // 19: chromiumos.test.lab.api.Chameleon.state:type_name -> chromiumos.test.lab.api.PeripheralState 3606 12, // 20: chromiumos.test.lab.api.Chameleon.types:type_name -> chromiumos.test.lab.api.Chameleon.Type 3607 13, // 21: chromiumos.test.lab.api.ExternalCamera.type:type_name -> chromiumos.test.lab.api.ExternalCamera.Type 3608 42, // 22: chromiumos.test.lab.api.RPM.frontend_address:type_name -> chromiumos.test.lab.api.IpEndpoint 3609 42, // 23: chromiumos.test.lab.api.RPM.power_unit_hostname:type_name -> chromiumos.test.lab.api.IpEndpoint 3610 42, // 24: chromiumos.test.lab.api.RPM.hydra_hostname:type_name -> chromiumos.test.lab.api.IpEndpoint 3611 3, // 25: chromiumos.test.lab.api.RPM.type:type_name -> chromiumos.test.lab.api.RPMType 3612 42, // 26: chromiumos.test.lab.api.Servo.servod_address:type_name -> chromiumos.test.lab.api.IpEndpoint 3613 4, // 27: chromiumos.test.lab.api.Servo.state:type_name -> chromiumos.test.lab.api.PeripheralState 3614 14, // 28: chromiumos.test.lab.api.Wifi.environment:type_name -> chromiumos.test.lab.api.Wifi.Environment 3615 33, // 29: chromiumos.test.lab.api.Wifi.antenna:type_name -> chromiumos.test.lab.api.WifiAntenna 3616 34, // 30: chromiumos.test.lab.api.Wifi.wifi_routers:type_name -> chromiumos.test.lab.api.WifiRouter 3617 15, // 31: chromiumos.test.lab.api.WifiAntenna.connection:type_name -> chromiumos.test.lab.api.WifiAntenna.Connection 3618 4, // 32: chromiumos.test.lab.api.WifiRouter.state:type_name -> chromiumos.test.lab.api.PeripheralState 3619 29, // 33: chromiumos.test.lab.api.WifiRouter.rpm:type_name -> chromiumos.test.lab.api.RPM 3620 43, // 34: chromiumos.test.lab.api.WifiRouter.supported_features:type_name -> chromiumos.test.lab.api.WifiRouterFeature 3621 44, // 35: chromiumos.test.lab.api.WifiRouter.device_type:type_name -> chromiumos.test.lab.api.WifiRouterDeviceType 3622 4, // 36: chromiumos.test.lab.api.BluetoothPeer.state:type_name -> chromiumos.test.lab.api.PeripheralState 3623 45, // 37: chromiumos.test.lab.api.Dut.ChromeOS.device_config_id:type_name -> chromiumos.config.api.DeviceConfigId 3624 42, // 38: chromiumos.test.lab.api.Dut.ChromeOS.ssh:type_name -> chromiumos.test.lab.api.IpEndpoint 3625 17, // 39: chromiumos.test.lab.api.Dut.ChromeOS.dut_model:type_name -> chromiumos.test.lab.api.DutModel 3626 30, // 40: chromiumos.test.lab.api.Dut.ChromeOS.servo:type_name -> chromiumos.test.lab.api.Servo 3627 27, // 41: chromiumos.test.lab.api.Dut.ChromeOS.chameleon:type_name -> chromiumos.test.lab.api.Chameleon 3628 29, // 42: chromiumos.test.lab.api.Dut.ChromeOS.rpm:type_name -> chromiumos.test.lab.api.RPM 3629 28, // 43: chromiumos.test.lab.api.Dut.ChromeOS.external_cameras:type_name -> chromiumos.test.lab.api.ExternalCamera 3630 19, // 44: chromiumos.test.lab.api.Dut.ChromeOS.audio:type_name -> chromiumos.test.lab.api.Audio 3631 32, // 45: chromiumos.test.lab.api.Dut.ChromeOS.wifi:type_name -> chromiumos.test.lab.api.Wifi 3632 31, // 46: chromiumos.test.lab.api.Dut.ChromeOS.touch:type_name -> chromiumos.test.lab.api.Touch 3633 22, // 47: chromiumos.test.lab.api.Dut.ChromeOS.camerabox:type_name -> chromiumos.test.lab.api.Camerabox 3634 20, // 48: chromiumos.test.lab.api.Dut.ChromeOS.cables:type_name -> chromiumos.test.lab.api.Cable 3635 23, // 49: chromiumos.test.lab.api.Dut.ChromeOS.cellular:type_name -> chromiumos.test.lab.api.Cellular 3636 35, // 50: chromiumos.test.lab.api.Dut.ChromeOS.bluetooth_peers:type_name -> chromiumos.test.lab.api.BluetoothPeer 3637 5, // 51: chromiumos.test.lab.api.Dut.ChromeOS.phase:type_name -> chromiumos.test.lab.api.Phase 3638 25, // 52: chromiumos.test.lab.api.Dut.ChromeOS.sim_infos:type_name -> chromiumos.test.lab.api.SIMInfo 3639 24, // 53: chromiumos.test.lab.api.Dut.ChromeOS.modem_info:type_name -> chromiumos.test.lab.api.ModemInfo 3640 46, // 54: chromiumos.test.lab.api.Dut.ChromeOS.pasit_host:type_name -> chromiumos.test.lab.api.PasitHost 3641 42, // 55: chromiumos.test.lab.api.Dut.Android.associated_hostname:type_name -> chromiumos.test.lab.api.IpEndpoint 3642 17, // 56: chromiumos.test.lab.api.Dut.Android.dut_model:type_name -> chromiumos.test.lab.api.DutModel 3643 30, // 57: chromiumos.test.lab.api.Dut.Devboard.servo:type_name -> chromiumos.test.lab.api.Servo 3644 17, // 58: chromiumos.test.lab.api.Dut.Devboard.dut_model:type_name -> chromiumos.test.lab.api.DutModel 3645 59, // [59:59] is the sub-list for method output_type 3646 59, // [59:59] is the sub-list for method input_type 3647 59, // [59:59] is the sub-list for extension type_name 3648 59, // [59:59] is the sub-list for extension extendee 3649 0, // [0:59] is the sub-list for field type_name 3650} 3651 3652func init() { file_chromiumos_test_lab_api_dut_proto_init() } 3653func file_chromiumos_test_lab_api_dut_proto_init() { 3654 if File_chromiumos_test_lab_api_dut_proto != nil { 3655 return 3656 } 3657 file_chromiumos_test_lab_api_ip_endpoint_proto_init() 3658 file_chromiumos_test_lab_api_pasit_host_proto_init() 3659 file_chromiumos_test_lab_api_wifi_router_proto_init() 3660 if !protoimpl.UnsafeEnabled { 3661 file_chromiumos_test_lab_api_dut_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 3662 switch v := v.(*Dut); i { 3663 case 0: 3664 return &v.state 3665 case 1: 3666 return &v.sizeCache 3667 case 2: 3668 return &v.unknownFields 3669 default: 3670 return nil 3671 } 3672 } 3673 file_chromiumos_test_lab_api_dut_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 3674 switch v := v.(*DutModel); i { 3675 case 0: 3676 return &v.state 3677 case 1: 3678 return &v.sizeCache 3679 case 2: 3680 return &v.unknownFields 3681 default: 3682 return nil 3683 } 3684 } 3685 file_chromiumos_test_lab_api_dut_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 3686 switch v := v.(*DutTopology); i { 3687 case 0: 3688 return &v.state 3689 case 1: 3690 return &v.sizeCache 3691 case 2: 3692 return &v.unknownFields 3693 default: 3694 return nil 3695 } 3696 } 3697 file_chromiumos_test_lab_api_dut_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 3698 switch v := v.(*Audio); i { 3699 case 0: 3700 return &v.state 3701 case 1: 3702 return &v.sizeCache 3703 case 2: 3704 return &v.unknownFields 3705 default: 3706 return nil 3707 } 3708 } 3709 file_chromiumos_test_lab_api_dut_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 3710 switch v := v.(*Cable); i { 3711 case 0: 3712 return &v.state 3713 case 1: 3714 return &v.sizeCache 3715 case 2: 3716 return &v.unknownFields 3717 default: 3718 return nil 3719 } 3720 } 3721 file_chromiumos_test_lab_api_dut_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 3722 switch v := v.(*CacheServer); i { 3723 case 0: 3724 return &v.state 3725 case 1: 3726 return &v.sizeCache 3727 case 2: 3728 return &v.unknownFields 3729 default: 3730 return nil 3731 } 3732 } 3733 file_chromiumos_test_lab_api_dut_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 3734 switch v := v.(*Camerabox); i { 3735 case 0: 3736 return &v.state 3737 case 1: 3738 return &v.sizeCache 3739 case 2: 3740 return &v.unknownFields 3741 default: 3742 return nil 3743 } 3744 } 3745 file_chromiumos_test_lab_api_dut_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 3746 switch v := v.(*Cellular); i { 3747 case 0: 3748 return &v.state 3749 case 1: 3750 return &v.sizeCache 3751 case 2: 3752 return &v.unknownFields 3753 default: 3754 return nil 3755 } 3756 } 3757 file_chromiumos_test_lab_api_dut_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 3758 switch v := v.(*ModemInfo); i { 3759 case 0: 3760 return &v.state 3761 case 1: 3762 return &v.sizeCache 3763 case 2: 3764 return &v.unknownFields 3765 default: 3766 return nil 3767 } 3768 } 3769 file_chromiumos_test_lab_api_dut_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 3770 switch v := v.(*SIMInfo); i { 3771 case 0: 3772 return &v.state 3773 case 1: 3774 return &v.sizeCache 3775 case 2: 3776 return &v.unknownFields 3777 default: 3778 return nil 3779 } 3780 } 3781 file_chromiumos_test_lab_api_dut_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 3782 switch v := v.(*SIMProfileInfo); i { 3783 case 0: 3784 return &v.state 3785 case 1: 3786 return &v.sizeCache 3787 case 2: 3788 return &v.unknownFields 3789 default: 3790 return nil 3791 } 3792 } 3793 file_chromiumos_test_lab_api_dut_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 3794 switch v := v.(*Chameleon); i { 3795 case 0: 3796 return &v.state 3797 case 1: 3798 return &v.sizeCache 3799 case 2: 3800 return &v.unknownFields 3801 default: 3802 return nil 3803 } 3804 } 3805 file_chromiumos_test_lab_api_dut_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 3806 switch v := v.(*ExternalCamera); i { 3807 case 0: 3808 return &v.state 3809 case 1: 3810 return &v.sizeCache 3811 case 2: 3812 return &v.unknownFields 3813 default: 3814 return nil 3815 } 3816 } 3817 file_chromiumos_test_lab_api_dut_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 3818 switch v := v.(*RPM); i { 3819 case 0: 3820 return &v.state 3821 case 1: 3822 return &v.sizeCache 3823 case 2: 3824 return &v.unknownFields 3825 default: 3826 return nil 3827 } 3828 } 3829 file_chromiumos_test_lab_api_dut_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 3830 switch v := v.(*Servo); i { 3831 case 0: 3832 return &v.state 3833 case 1: 3834 return &v.sizeCache 3835 case 2: 3836 return &v.unknownFields 3837 default: 3838 return nil 3839 } 3840 } 3841 file_chromiumos_test_lab_api_dut_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 3842 switch v := v.(*Touch); i { 3843 case 0: 3844 return &v.state 3845 case 1: 3846 return &v.sizeCache 3847 case 2: 3848 return &v.unknownFields 3849 default: 3850 return nil 3851 } 3852 } 3853 file_chromiumos_test_lab_api_dut_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 3854 switch v := v.(*Wifi); i { 3855 case 0: 3856 return &v.state 3857 case 1: 3858 return &v.sizeCache 3859 case 2: 3860 return &v.unknownFields 3861 default: 3862 return nil 3863 } 3864 } 3865 file_chromiumos_test_lab_api_dut_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 3866 switch v := v.(*WifiAntenna); i { 3867 case 0: 3868 return &v.state 3869 case 1: 3870 return &v.sizeCache 3871 case 2: 3872 return &v.unknownFields 3873 default: 3874 return nil 3875 } 3876 } 3877 file_chromiumos_test_lab_api_dut_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { 3878 switch v := v.(*WifiRouter); i { 3879 case 0: 3880 return &v.state 3881 case 1: 3882 return &v.sizeCache 3883 case 2: 3884 return &v.unknownFields 3885 default: 3886 return nil 3887 } 3888 } 3889 file_chromiumos_test_lab_api_dut_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { 3890 switch v := v.(*BluetoothPeer); i { 3891 case 0: 3892 return &v.state 3893 case 1: 3894 return &v.sizeCache 3895 case 2: 3896 return &v.unknownFields 3897 default: 3898 return nil 3899 } 3900 } 3901 file_chromiumos_test_lab_api_dut_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { 3902 switch v := v.(*WifiSecret); i { 3903 case 0: 3904 return &v.state 3905 case 1: 3906 return &v.sizeCache 3907 case 2: 3908 return &v.unknownFields 3909 default: 3910 return nil 3911 } 3912 } 3913 file_chromiumos_test_lab_api_dut_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { 3914 switch v := v.(*Dut_Id); i { 3915 case 0: 3916 return &v.state 3917 case 1: 3918 return &v.sizeCache 3919 case 2: 3920 return &v.unknownFields 3921 default: 3922 return nil 3923 } 3924 } 3925 file_chromiumos_test_lab_api_dut_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { 3926 switch v := v.(*Dut_ChromeOS); i { 3927 case 0: 3928 return &v.state 3929 case 1: 3930 return &v.sizeCache 3931 case 2: 3932 return &v.unknownFields 3933 default: 3934 return nil 3935 } 3936 } 3937 file_chromiumos_test_lab_api_dut_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { 3938 switch v := v.(*Dut_Android); i { 3939 case 0: 3940 return &v.state 3941 case 1: 3942 return &v.sizeCache 3943 case 2: 3944 return &v.unknownFields 3945 default: 3946 return nil 3947 } 3948 } 3949 file_chromiumos_test_lab_api_dut_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { 3950 switch v := v.(*Dut_Devboard); i { 3951 case 0: 3952 return &v.state 3953 case 1: 3954 return &v.sizeCache 3955 case 2: 3956 return &v.unknownFields 3957 default: 3958 return nil 3959 } 3960 } 3961 file_chromiumos_test_lab_api_dut_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { 3962 switch v := v.(*DutTopology_Id); i { 3963 case 0: 3964 return &v.state 3965 case 1: 3966 return &v.sizeCache 3967 case 2: 3968 return &v.unknownFields 3969 default: 3970 return nil 3971 } 3972 } 3973 } 3974 file_chromiumos_test_lab_api_dut_proto_msgTypes[0].OneofWrappers = []interface{}{ 3975 (*Dut_Chromeos)(nil), 3976 (*Dut_Android_)(nil), 3977 (*Dut_Devboard_)(nil), 3978 } 3979 type x struct{} 3980 out := protoimpl.TypeBuilder{ 3981 File: protoimpl.DescBuilder{ 3982 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 3983 RawDescriptor: file_chromiumos_test_lab_api_dut_proto_rawDesc, 3984 NumEnums: 16, 3985 NumMessages: 26, 3986 NumExtensions: 0, 3987 NumServices: 0, 3988 }, 3989 GoTypes: file_chromiumos_test_lab_api_dut_proto_goTypes, 3990 DependencyIndexes: file_chromiumos_test_lab_api_dut_proto_depIdxs, 3991 EnumInfos: file_chromiumos_test_lab_api_dut_proto_enumTypes, 3992 MessageInfos: file_chromiumos_test_lab_api_dut_proto_msgTypes, 3993 }.Build() 3994 File_chromiumos_test_lab_api_dut_proto = out.File 3995 file_chromiumos_test_lab_api_dut_proto_rawDesc = nil 3996 file_chromiumos_test_lab_api_dut_proto_goTypes = nil 3997 file_chromiumos_test_lab_api_dut_proto_depIdxs = nil 3998} 3999