How to use UpdateTestCase method of graph Package

Best Keploy code snippet using graph.UpdateTestCase

test_case.pb.go

Source:test_case.pb.go Github

copy

Full Screen

...1054 return x.TestCase1055 }1056 return nil1057}1058// The request message for [TestCases.UpdateTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.UpdateTestCase].1059type UpdateTestCaseRequest struct {1060 state protoimpl.MessageState1061 sizeCache protoimpl.SizeCache1062 unknownFields protoimpl.UnknownFields1063 // Required. The test case to update.1064 TestCase *TestCase `protobuf:"bytes,1,opt,name=test_case,json=testCase,proto3" json:"test_case,omitempty"`1065 // Required. The mask to specify which fields should be updated. The1066 // [`creationTime`][google.cloud.dialogflow.cx.v3beta1.TestCase.creation_time] and1067 // [`lastTestResult`][google.cloud.dialogflow.cx.v3beta1.TestCase.last_test_result] cannot be updated.1068 UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`1069}1070func (x *UpdateTestCaseRequest) Reset() {1071 *x = UpdateTestCaseRequest{}1072 if protoimpl.UnsafeEnabled {1073 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[13]1074 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1075 ms.StoreMessageInfo(mi)1076 }1077}1078func (x *UpdateTestCaseRequest) String() string {1079 return protoimpl.X.MessageStringOf(x)1080}1081func (*UpdateTestCaseRequest) ProtoMessage() {}1082func (x *UpdateTestCaseRequest) ProtoReflect() protoreflect.Message {1083 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[13]1084 if protoimpl.UnsafeEnabled && x != nil {1085 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1086 if ms.LoadMessageInfo() == nil {1087 ms.StoreMessageInfo(mi)1088 }1089 return ms1090 }1091 return mi.MessageOf(x)1092}1093// Deprecated: Use UpdateTestCaseRequest.ProtoReflect.Descriptor instead.1094func (*UpdateTestCaseRequest) Descriptor() ([]byte, []int) {1095 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{13}1096}1097func (x *UpdateTestCaseRequest) GetTestCase() *TestCase {1098 if x != nil {1099 return x.TestCase1100 }1101 return nil1102}1103func (x *UpdateTestCaseRequest) GetUpdateMask() *fieldmaskpb.FieldMask {1104 if x != nil {1105 return x.UpdateMask1106 }1107 return nil1108}1109// The request message for [TestCases.GetTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.GetTestCase].1110type GetTestCaseRequest struct {1111 state protoimpl.MessageState1112 sizeCache protoimpl.SizeCache1113 unknownFields protoimpl.UnknownFields1114 // Required. The name of the testcase.1115 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent1116 // ID>/testCases/<TestCase ID>`.1117 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`1118}1119func (x *GetTestCaseRequest) Reset() {1120 *x = GetTestCaseRequest{}1121 if protoimpl.UnsafeEnabled {1122 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[14]1123 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1124 ms.StoreMessageInfo(mi)1125 }1126}1127func (x *GetTestCaseRequest) String() string {1128 return protoimpl.X.MessageStringOf(x)1129}1130func (*GetTestCaseRequest) ProtoMessage() {}1131func (x *GetTestCaseRequest) ProtoReflect() protoreflect.Message {1132 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[14]1133 if protoimpl.UnsafeEnabled && x != nil {1134 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1135 if ms.LoadMessageInfo() == nil {1136 ms.StoreMessageInfo(mi)1137 }1138 return ms1139 }1140 return mi.MessageOf(x)1141}1142// Deprecated: Use GetTestCaseRequest.ProtoReflect.Descriptor instead.1143func (*GetTestCaseRequest) Descriptor() ([]byte, []int) {1144 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{14}1145}1146func (x *GetTestCaseRequest) GetName() string {1147 if x != nil {1148 return x.Name1149 }1150 return ""1151}1152// The request message for [TestCases.RunTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.RunTestCase].1153type RunTestCaseRequest struct {1154 state protoimpl.MessageState1155 sizeCache protoimpl.SizeCache1156 unknownFields protoimpl.UnknownFields1157 // Required. Format of test case name to run: `projects/<Project ID>/locations/1158 // <Location ID>/agents/<AgentID>/testCases/<TestCase ID>`.1159 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`1160 // Optional. Environment name. If not set, draft environment is assumed.1161 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent1162 // ID>/environments/<Environment ID>`.1163 Environment string `protobuf:"bytes,2,opt,name=environment,proto3" json:"environment,omitempty"`1164}1165func (x *RunTestCaseRequest) Reset() {1166 *x = RunTestCaseRequest{}1167 if protoimpl.UnsafeEnabled {1168 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[15]1169 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1170 ms.StoreMessageInfo(mi)1171 }1172}1173func (x *RunTestCaseRequest) String() string {1174 return protoimpl.X.MessageStringOf(x)1175}1176func (*RunTestCaseRequest) ProtoMessage() {}1177func (x *RunTestCaseRequest) ProtoReflect() protoreflect.Message {1178 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[15]1179 if protoimpl.UnsafeEnabled && x != nil {1180 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1181 if ms.LoadMessageInfo() == nil {1182 ms.StoreMessageInfo(mi)1183 }1184 return ms1185 }1186 return mi.MessageOf(x)1187}1188// Deprecated: Use RunTestCaseRequest.ProtoReflect.Descriptor instead.1189func (*RunTestCaseRequest) Descriptor() ([]byte, []int) {1190 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{15}1191}1192func (x *RunTestCaseRequest) GetName() string {1193 if x != nil {1194 return x.Name1195 }1196 return ""1197}1198func (x *RunTestCaseRequest) GetEnvironment() string {1199 if x != nil {1200 return x.Environment1201 }1202 return ""1203}1204// The response message for [TestCases.RunTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.RunTestCase].1205type RunTestCaseResponse struct {1206 state protoimpl.MessageState1207 sizeCache protoimpl.SizeCache1208 unknownFields protoimpl.UnknownFields1209 // The result.1210 Result *TestCaseResult `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"`1211}1212func (x *RunTestCaseResponse) Reset() {1213 *x = RunTestCaseResponse{}1214 if protoimpl.UnsafeEnabled {1215 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[16]1216 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1217 ms.StoreMessageInfo(mi)1218 }1219}1220func (x *RunTestCaseResponse) String() string {1221 return protoimpl.X.MessageStringOf(x)1222}1223func (*RunTestCaseResponse) ProtoMessage() {}1224func (x *RunTestCaseResponse) ProtoReflect() protoreflect.Message {1225 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[16]1226 if protoimpl.UnsafeEnabled && x != nil {1227 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1228 if ms.LoadMessageInfo() == nil {1229 ms.StoreMessageInfo(mi)1230 }1231 return ms1232 }1233 return mi.MessageOf(x)1234}1235// Deprecated: Use RunTestCaseResponse.ProtoReflect.Descriptor instead.1236func (*RunTestCaseResponse) Descriptor() ([]byte, []int) {1237 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{16}1238}1239func (x *RunTestCaseResponse) GetResult() *TestCaseResult {1240 if x != nil {1241 return x.Result1242 }1243 return nil1244}1245// Metadata returned for the [TestCases.RunTestCase][google.cloud.dialogflow.cx.v3beta1.TestCases.RunTestCase] long running operation.1246type RunTestCaseMetadata struct {1247 state protoimpl.MessageState1248 sizeCache protoimpl.SizeCache1249 unknownFields protoimpl.UnknownFields1250}1251func (x *RunTestCaseMetadata) Reset() {1252 *x = RunTestCaseMetadata{}1253 if protoimpl.UnsafeEnabled {1254 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[17]1255 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1256 ms.StoreMessageInfo(mi)1257 }1258}1259func (x *RunTestCaseMetadata) String() string {1260 return protoimpl.X.MessageStringOf(x)1261}1262func (*RunTestCaseMetadata) ProtoMessage() {}1263func (x *RunTestCaseMetadata) ProtoReflect() protoreflect.Message {1264 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[17]1265 if protoimpl.UnsafeEnabled && x != nil {1266 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1267 if ms.LoadMessageInfo() == nil {1268 ms.StoreMessageInfo(mi)1269 }1270 return ms1271 }1272 return mi.MessageOf(x)1273}1274// Deprecated: Use RunTestCaseMetadata.ProtoReflect.Descriptor instead.1275func (*RunTestCaseMetadata) Descriptor() ([]byte, []int) {1276 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{17}1277}1278// The request message for [TestCases.BatchRunTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.BatchRunTestCases].1279type BatchRunTestCasesRequest struct {1280 state protoimpl.MessageState1281 sizeCache protoimpl.SizeCache1282 unknownFields protoimpl.UnknownFields1283 // Required. Agent name. Format: `projects/<Project ID>/locations/<Location ID>/agents/1284 // <AgentID>`.1285 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`1286 // Optional. If not set, draft environment is assumed. Format: `projects/<Project1287 // ID>/locations/<Location ID>/agents/<Agent ID>/environments/<Environment1288 // ID>`.1289 Environment string `protobuf:"bytes,2,opt,name=environment,proto3" json:"environment,omitempty"`1290 // Required. Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent1291 // ID>/testCases/<TestCase ID>`.1292 TestCases []string `protobuf:"bytes,3,rep,name=test_cases,json=testCases,proto3" json:"test_cases,omitempty"`1293}1294func (x *BatchRunTestCasesRequest) Reset() {1295 *x = BatchRunTestCasesRequest{}1296 if protoimpl.UnsafeEnabled {1297 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[18]1298 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1299 ms.StoreMessageInfo(mi)1300 }1301}1302func (x *BatchRunTestCasesRequest) String() string {1303 return protoimpl.X.MessageStringOf(x)1304}1305func (*BatchRunTestCasesRequest) ProtoMessage() {}1306func (x *BatchRunTestCasesRequest) ProtoReflect() protoreflect.Message {1307 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[18]1308 if protoimpl.UnsafeEnabled && x != nil {1309 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1310 if ms.LoadMessageInfo() == nil {1311 ms.StoreMessageInfo(mi)1312 }1313 return ms1314 }1315 return mi.MessageOf(x)1316}1317// Deprecated: Use BatchRunTestCasesRequest.ProtoReflect.Descriptor instead.1318func (*BatchRunTestCasesRequest) Descriptor() ([]byte, []int) {1319 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{18}1320}1321func (x *BatchRunTestCasesRequest) GetParent() string {1322 if x != nil {1323 return x.Parent1324 }1325 return ""1326}1327func (x *BatchRunTestCasesRequest) GetEnvironment() string {1328 if x != nil {1329 return x.Environment1330 }1331 return ""1332}1333func (x *BatchRunTestCasesRequest) GetTestCases() []string {1334 if x != nil {1335 return x.TestCases1336 }1337 return nil1338}1339// The response message for [TestCases.BatchRunTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.BatchRunTestCases].1340type BatchRunTestCasesResponse struct {1341 state protoimpl.MessageState1342 sizeCache protoimpl.SizeCache1343 unknownFields protoimpl.UnknownFields1344 // The test case results. The detailed1345 // [conversation turns][google.cloud.dialogflow.cx.v3beta1.TestCaseResult.conversation_turns] are empty in this1346 // response.1347 Results []*TestCaseResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`1348}1349func (x *BatchRunTestCasesResponse) Reset() {1350 *x = BatchRunTestCasesResponse{}1351 if protoimpl.UnsafeEnabled {1352 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[19]1353 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1354 ms.StoreMessageInfo(mi)1355 }1356}1357func (x *BatchRunTestCasesResponse) String() string {1358 return protoimpl.X.MessageStringOf(x)1359}1360func (*BatchRunTestCasesResponse) ProtoMessage() {}1361func (x *BatchRunTestCasesResponse) ProtoReflect() protoreflect.Message {1362 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[19]1363 if protoimpl.UnsafeEnabled && x != nil {1364 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1365 if ms.LoadMessageInfo() == nil {1366 ms.StoreMessageInfo(mi)1367 }1368 return ms1369 }1370 return mi.MessageOf(x)1371}1372// Deprecated: Use BatchRunTestCasesResponse.ProtoReflect.Descriptor instead.1373func (*BatchRunTestCasesResponse) Descriptor() ([]byte, []int) {1374 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{19}1375}1376func (x *BatchRunTestCasesResponse) GetResults() []*TestCaseResult {1377 if x != nil {1378 return x.Results1379 }1380 return nil1381}1382// Metadata returned for the [TestCases.BatchRunTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.BatchRunTestCases] long running1383// operation.1384type BatchRunTestCasesMetadata struct {1385 state protoimpl.MessageState1386 sizeCache protoimpl.SizeCache1387 unknownFields protoimpl.UnknownFields1388 // The test errors.1389 Errors []*TestError `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"`1390}1391func (x *BatchRunTestCasesMetadata) Reset() {1392 *x = BatchRunTestCasesMetadata{}1393 if protoimpl.UnsafeEnabled {1394 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[20]1395 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1396 ms.StoreMessageInfo(mi)1397 }1398}1399func (x *BatchRunTestCasesMetadata) String() string {1400 return protoimpl.X.MessageStringOf(x)1401}1402func (*BatchRunTestCasesMetadata) ProtoMessage() {}1403func (x *BatchRunTestCasesMetadata) ProtoReflect() protoreflect.Message {1404 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[20]1405 if protoimpl.UnsafeEnabled && x != nil {1406 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1407 if ms.LoadMessageInfo() == nil {1408 ms.StoreMessageInfo(mi)1409 }1410 return ms1411 }1412 return mi.MessageOf(x)1413}1414// Deprecated: Use BatchRunTestCasesMetadata.ProtoReflect.Descriptor instead.1415func (*BatchRunTestCasesMetadata) Descriptor() ([]byte, []int) {1416 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{20}1417}1418func (x *BatchRunTestCasesMetadata) GetErrors() []*TestError {1419 if x != nil {1420 return x.Errors1421 }1422 return nil1423}1424// Error info for running a test.1425type TestError struct {1426 state protoimpl.MessageState1427 sizeCache protoimpl.SizeCache1428 unknownFields protoimpl.UnknownFields1429 // The test case resource name.1430 TestCase string `protobuf:"bytes,1,opt,name=test_case,json=testCase,proto3" json:"test_case,omitempty"`1431 // The status associated with the test.1432 Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`1433 // The timestamp when the test was completed.1434 TestTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=test_time,json=testTime,proto3" json:"test_time,omitempty"`1435}1436func (x *TestError) Reset() {1437 *x = TestError{}1438 if protoimpl.UnsafeEnabled {1439 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[21]1440 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1441 ms.StoreMessageInfo(mi)1442 }1443}1444func (x *TestError) String() string {1445 return protoimpl.X.MessageStringOf(x)1446}1447func (*TestError) ProtoMessage() {}1448func (x *TestError) ProtoReflect() protoreflect.Message {1449 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[21]1450 if protoimpl.UnsafeEnabled && x != nil {1451 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1452 if ms.LoadMessageInfo() == nil {1453 ms.StoreMessageInfo(mi)1454 }1455 return ms1456 }1457 return mi.MessageOf(x)1458}1459// Deprecated: Use TestError.ProtoReflect.Descriptor instead.1460func (*TestError) Descriptor() ([]byte, []int) {1461 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{21}1462}1463func (x *TestError) GetTestCase() string {1464 if x != nil {1465 return x.TestCase1466 }1467 return ""1468}1469func (x *TestError) GetStatus() *status.Status {1470 if x != nil {1471 return x.Status1472 }1473 return nil1474}1475func (x *TestError) GetTestTime() *timestamppb.Timestamp {1476 if x != nil {1477 return x.TestTime1478 }1479 return nil1480}1481// The request message for [TestCases.ImportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ImportTestCases].1482type ImportTestCasesRequest struct {1483 state protoimpl.MessageState1484 sizeCache protoimpl.SizeCache1485 unknownFields protoimpl.UnknownFields1486 // Required. The agent to import test cases to.1487 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.1488 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`1489 // Required. The source to import.1490 //1491 // Types that are assignable to Source:1492 // *ImportTestCasesRequest_GcsUri1493 // *ImportTestCasesRequest_Content1494 Source isImportTestCasesRequest_Source `protobuf_oneof:"source"`1495}1496func (x *ImportTestCasesRequest) Reset() {1497 *x = ImportTestCasesRequest{}1498 if protoimpl.UnsafeEnabled {1499 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[22]1500 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1501 ms.StoreMessageInfo(mi)1502 }1503}1504func (x *ImportTestCasesRequest) String() string {1505 return protoimpl.X.MessageStringOf(x)1506}1507func (*ImportTestCasesRequest) ProtoMessage() {}1508func (x *ImportTestCasesRequest) ProtoReflect() protoreflect.Message {1509 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[22]1510 if protoimpl.UnsafeEnabled && x != nil {1511 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1512 if ms.LoadMessageInfo() == nil {1513 ms.StoreMessageInfo(mi)1514 }1515 return ms1516 }1517 return mi.MessageOf(x)1518}1519// Deprecated: Use ImportTestCasesRequest.ProtoReflect.Descriptor instead.1520func (*ImportTestCasesRequest) Descriptor() ([]byte, []int) {1521 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{22}1522}1523func (x *ImportTestCasesRequest) GetParent() string {1524 if x != nil {1525 return x.Parent1526 }1527 return ""1528}1529func (m *ImportTestCasesRequest) GetSource() isImportTestCasesRequest_Source {1530 if m != nil {1531 return m.Source1532 }1533 return nil1534}1535func (x *ImportTestCasesRequest) GetGcsUri() string {1536 if x, ok := x.GetSource().(*ImportTestCasesRequest_GcsUri); ok {1537 return x.GcsUri1538 }1539 return ""1540}1541func (x *ImportTestCasesRequest) GetContent() []byte {1542 if x, ok := x.GetSource().(*ImportTestCasesRequest_Content); ok {1543 return x.Content1544 }1545 return nil1546}1547type isImportTestCasesRequest_Source interface {1548 isImportTestCasesRequest_Source()1549}1550type ImportTestCasesRequest_GcsUri struct {1551 // The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI1552 // to import test cases from. The format of this URI must be1553 // `gs://<bucket-name>/<object-name>`.1554 GcsUri string `protobuf:"bytes,2,opt,name=gcs_uri,json=gcsUri,proto3,oneof"`1555}1556type ImportTestCasesRequest_Content struct {1557 // Uncompressed raw byte content for test cases.1558 Content []byte `protobuf:"bytes,3,opt,name=content,proto3,oneof"`1559}1560func (*ImportTestCasesRequest_GcsUri) isImportTestCasesRequest_Source() {}1561func (*ImportTestCasesRequest_Content) isImportTestCasesRequest_Source() {}1562// The response message for [TestCases.ImportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ImportTestCases].1563type ImportTestCasesResponse struct {1564 state protoimpl.MessageState1565 sizeCache protoimpl.SizeCache1566 unknownFields protoimpl.UnknownFields1567 // The unique identifiers of the new test cases.1568 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent1569 // ID>/testCases/<TestCase ID>`.1570 Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"`1571}1572func (x *ImportTestCasesResponse) Reset() {1573 *x = ImportTestCasesResponse{}1574 if protoimpl.UnsafeEnabled {1575 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[23]1576 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1577 ms.StoreMessageInfo(mi)1578 }1579}1580func (x *ImportTestCasesResponse) String() string {1581 return protoimpl.X.MessageStringOf(x)1582}1583func (*ImportTestCasesResponse) ProtoMessage() {}1584func (x *ImportTestCasesResponse) ProtoReflect() protoreflect.Message {1585 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[23]1586 if protoimpl.UnsafeEnabled && x != nil {1587 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1588 if ms.LoadMessageInfo() == nil {1589 ms.StoreMessageInfo(mi)1590 }1591 return ms1592 }1593 return mi.MessageOf(x)1594}1595// Deprecated: Use ImportTestCasesResponse.ProtoReflect.Descriptor instead.1596func (*ImportTestCasesResponse) Descriptor() ([]byte, []int) {1597 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{23}1598}1599func (x *ImportTestCasesResponse) GetNames() []string {1600 if x != nil {1601 return x.Names1602 }1603 return nil1604}1605// Metadata returned for the [TestCases.ImportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ImportTestCases] long running1606// operation.1607type ImportTestCasesMetadata struct {1608 state protoimpl.MessageState1609 sizeCache protoimpl.SizeCache1610 unknownFields protoimpl.UnknownFields1611 // Errors for failed test cases.1612 Errors []*TestCaseError `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"`1613}1614func (x *ImportTestCasesMetadata) Reset() {1615 *x = ImportTestCasesMetadata{}1616 if protoimpl.UnsafeEnabled {1617 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[24]1618 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1619 ms.StoreMessageInfo(mi)1620 }1621}1622func (x *ImportTestCasesMetadata) String() string {1623 return protoimpl.X.MessageStringOf(x)1624}1625func (*ImportTestCasesMetadata) ProtoMessage() {}1626func (x *ImportTestCasesMetadata) ProtoReflect() protoreflect.Message {1627 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[24]1628 if protoimpl.UnsafeEnabled && x != nil {1629 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1630 if ms.LoadMessageInfo() == nil {1631 ms.StoreMessageInfo(mi)1632 }1633 return ms1634 }1635 return mi.MessageOf(x)1636}1637// Deprecated: Use ImportTestCasesMetadata.ProtoReflect.Descriptor instead.1638func (*ImportTestCasesMetadata) Descriptor() ([]byte, []int) {1639 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{24}1640}1641func (x *ImportTestCasesMetadata) GetErrors() []*TestCaseError {1642 if x != nil {1643 return x.Errors1644 }1645 return nil1646}1647// Error info for importing a test.1648type TestCaseError struct {1649 state protoimpl.MessageState1650 sizeCache protoimpl.SizeCache1651 unknownFields protoimpl.UnknownFields1652 // The test case.1653 TestCase *TestCase `protobuf:"bytes,1,opt,name=test_case,json=testCase,proto3" json:"test_case,omitempty"`1654 // The status associated with the test case.1655 Status *status.Status `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"`1656}1657func (x *TestCaseError) Reset() {1658 *x = TestCaseError{}1659 if protoimpl.UnsafeEnabled {1660 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[25]1661 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1662 ms.StoreMessageInfo(mi)1663 }1664}1665func (x *TestCaseError) String() string {1666 return protoimpl.X.MessageStringOf(x)1667}1668func (*TestCaseError) ProtoMessage() {}1669func (x *TestCaseError) ProtoReflect() protoreflect.Message {1670 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[25]1671 if protoimpl.UnsafeEnabled && x != nil {1672 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1673 if ms.LoadMessageInfo() == nil {1674 ms.StoreMessageInfo(mi)1675 }1676 return ms1677 }1678 return mi.MessageOf(x)1679}1680// Deprecated: Use TestCaseError.ProtoReflect.Descriptor instead.1681func (*TestCaseError) Descriptor() ([]byte, []int) {1682 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{25}1683}1684func (x *TestCaseError) GetTestCase() *TestCase {1685 if x != nil {1686 return x.TestCase1687 }1688 return nil1689}1690func (x *TestCaseError) GetStatus() *status.Status {1691 if x != nil {1692 return x.Status1693 }1694 return nil1695}1696// The request message for [TestCases.ExportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ExportTestCases].1697type ExportTestCasesRequest struct {1698 state protoimpl.MessageState1699 sizeCache protoimpl.SizeCache1700 unknownFields protoimpl.UnknownFields1701 // Required. The agent where to export test cases from.1702 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>`.1703 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`1704 // The destination to export.1705 //1706 // Types that are assignable to Destination:1707 // *ExportTestCasesRequest_GcsUri1708 Destination isExportTestCasesRequest_Destination `protobuf_oneof:"destination"`1709 // The data format of the exported test cases. If not specified, `BLOB` is1710 // assumed.1711 DataFormat ExportTestCasesRequest_DataFormat `protobuf:"varint,3,opt,name=data_format,json=dataFormat,proto3,enum=google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest_DataFormat" json:"data_format,omitempty"`1712 // The filter expression used to filter exported test cases, see1713 // [API Filtering](https://aip.dev/160). The expression is case insensitive1714 // and supports the following syntax:1715 //1716 // name = <value> [OR name = <value>] ...1717 //1718 // For example:1719 //1720 // * "name = t1 OR name = t2" matches the test case with the exact resource1721 // name "t1" or "t2".1722 Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`1723}1724func (x *ExportTestCasesRequest) Reset() {1725 *x = ExportTestCasesRequest{}1726 if protoimpl.UnsafeEnabled {1727 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[26]1728 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1729 ms.StoreMessageInfo(mi)1730 }1731}1732func (x *ExportTestCasesRequest) String() string {1733 return protoimpl.X.MessageStringOf(x)1734}1735func (*ExportTestCasesRequest) ProtoMessage() {}1736func (x *ExportTestCasesRequest) ProtoReflect() protoreflect.Message {1737 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[26]1738 if protoimpl.UnsafeEnabled && x != nil {1739 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1740 if ms.LoadMessageInfo() == nil {1741 ms.StoreMessageInfo(mi)1742 }1743 return ms1744 }1745 return mi.MessageOf(x)1746}1747// Deprecated: Use ExportTestCasesRequest.ProtoReflect.Descriptor instead.1748func (*ExportTestCasesRequest) Descriptor() ([]byte, []int) {1749 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{26}1750}1751func (x *ExportTestCasesRequest) GetParent() string {1752 if x != nil {1753 return x.Parent1754 }1755 return ""1756}1757func (m *ExportTestCasesRequest) GetDestination() isExportTestCasesRequest_Destination {1758 if m != nil {1759 return m.Destination1760 }1761 return nil1762}1763func (x *ExportTestCasesRequest) GetGcsUri() string {1764 if x, ok := x.GetDestination().(*ExportTestCasesRequest_GcsUri); ok {1765 return x.GcsUri1766 }1767 return ""1768}1769func (x *ExportTestCasesRequest) GetDataFormat() ExportTestCasesRequest_DataFormat {1770 if x != nil {1771 return x.DataFormat1772 }1773 return ExportTestCasesRequest_DATA_FORMAT_UNSPECIFIED1774}1775func (x *ExportTestCasesRequest) GetFilter() string {1776 if x != nil {1777 return x.Filter1778 }1779 return ""1780}1781type isExportTestCasesRequest_Destination interface {1782 isExportTestCasesRequest_Destination()1783}1784type ExportTestCasesRequest_GcsUri struct {1785 // The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to1786 // export the test cases to. The format of this URI must be1787 // `gs://<bucket-name>/<object-name>`. If unspecified, the serialized test1788 // cases is returned inline.1789 GcsUri string `protobuf:"bytes,2,opt,name=gcs_uri,json=gcsUri,proto3,oneof"`1790}1791func (*ExportTestCasesRequest_GcsUri) isExportTestCasesRequest_Destination() {}1792// The response message for [TestCases.ExportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ExportTestCases].1793type ExportTestCasesResponse struct {1794 state protoimpl.MessageState1795 sizeCache protoimpl.SizeCache1796 unknownFields protoimpl.UnknownFields1797 // The exported test cases.1798 //1799 // Types that are assignable to Destination:1800 // *ExportTestCasesResponse_GcsUri1801 // *ExportTestCasesResponse_Content1802 Destination isExportTestCasesResponse_Destination `protobuf_oneof:"destination"`1803}1804func (x *ExportTestCasesResponse) Reset() {1805 *x = ExportTestCasesResponse{}1806 if protoimpl.UnsafeEnabled {1807 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[27]1808 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1809 ms.StoreMessageInfo(mi)1810 }1811}1812func (x *ExportTestCasesResponse) String() string {1813 return protoimpl.X.MessageStringOf(x)1814}1815func (*ExportTestCasesResponse) ProtoMessage() {}1816func (x *ExportTestCasesResponse) ProtoReflect() protoreflect.Message {1817 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[27]1818 if protoimpl.UnsafeEnabled && x != nil {1819 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1820 if ms.LoadMessageInfo() == nil {1821 ms.StoreMessageInfo(mi)1822 }1823 return ms1824 }1825 return mi.MessageOf(x)1826}1827// Deprecated: Use ExportTestCasesResponse.ProtoReflect.Descriptor instead.1828func (*ExportTestCasesResponse) Descriptor() ([]byte, []int) {1829 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{27}1830}1831func (m *ExportTestCasesResponse) GetDestination() isExportTestCasesResponse_Destination {1832 if m != nil {1833 return m.Destination1834 }1835 return nil1836}1837func (x *ExportTestCasesResponse) GetGcsUri() string {1838 if x, ok := x.GetDestination().(*ExportTestCasesResponse_GcsUri); ok {1839 return x.GcsUri1840 }1841 return ""1842}1843func (x *ExportTestCasesResponse) GetContent() []byte {1844 if x, ok := x.GetDestination().(*ExportTestCasesResponse_Content); ok {1845 return x.Content1846 }1847 return nil1848}1849type isExportTestCasesResponse_Destination interface {1850 isExportTestCasesResponse_Destination()1851}1852type ExportTestCasesResponse_GcsUri struct {1853 // The URI to a file containing the exported test cases. This field is1854 // populated only if `gcs_uri` is specified in1855 // [ExportTestCasesRequest][google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest].1856 GcsUri string `protobuf:"bytes,1,opt,name=gcs_uri,json=gcsUri,proto3,oneof"`1857}1858type ExportTestCasesResponse_Content struct {1859 // Uncompressed raw byte content for test cases.1860 Content []byte `protobuf:"bytes,2,opt,name=content,proto3,oneof"`1861}1862func (*ExportTestCasesResponse_GcsUri) isExportTestCasesResponse_Destination() {}1863func (*ExportTestCasesResponse_Content) isExportTestCasesResponse_Destination() {}1864// Metadata returned for the [TestCases.ExportTestCases][google.cloud.dialogflow.cx.v3beta1.TestCases.ExportTestCases] long running1865// operation.1866type ExportTestCasesMetadata struct {1867 state protoimpl.MessageState1868 sizeCache protoimpl.SizeCache1869 unknownFields protoimpl.UnknownFields1870}1871func (x *ExportTestCasesMetadata) Reset() {1872 *x = ExportTestCasesMetadata{}1873 if protoimpl.UnsafeEnabled {1874 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[28]1875 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1876 ms.StoreMessageInfo(mi)1877 }1878}1879func (x *ExportTestCasesMetadata) String() string {1880 return protoimpl.X.MessageStringOf(x)1881}1882func (*ExportTestCasesMetadata) ProtoMessage() {}1883func (x *ExportTestCasesMetadata) ProtoReflect() protoreflect.Message {1884 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[28]1885 if protoimpl.UnsafeEnabled && x != nil {1886 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1887 if ms.LoadMessageInfo() == nil {1888 ms.StoreMessageInfo(mi)1889 }1890 return ms1891 }1892 return mi.MessageOf(x)1893}1894// Deprecated: Use ExportTestCasesMetadata.ProtoReflect.Descriptor instead.1895func (*ExportTestCasesMetadata) Descriptor() ([]byte, []int) {1896 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{28}1897}1898// The request message for [TestCases.ListTestCaseResults][google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCaseResults].1899type ListTestCaseResultsRequest struct {1900 state protoimpl.MessageState1901 sizeCache protoimpl.SizeCache1902 unknownFields protoimpl.UnknownFields1903 // Required. The test case to list results for.1904 // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent ID>/1905 // testCases/<TestCase ID>`. Specify a `-` as a wildcard for TestCase ID to1906 // list results across multiple test cases.1907 Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`1908 // The maximum number of items to return in a single page. By default 100 and1909 // at most 1000.1910 PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`1911 // The next_page_token value returned from a previous list request.1912 PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`1913 // The filter expression used to filter test case results. See1914 // [API Filtering](https://aip.dev/160).1915 //1916 // The expression is case insensitive. Only 'AND' is supported for logical1917 // operators. The supported syntax is listed below in detail:1918 //1919 // <field> <operator> <value> [AND <field> <operator> <value>] ...1920 // [AND latest]1921 //1922 // The supported fields and operators are:1923 // field operator1924 // `environment` `=`, `IN` (Use value `draft` for draft environment)1925 // `test_time` `>`, `<`1926 //1927 // `latest` only returns the latest test result in all results for each test1928 // case.1929 //1930 // Examples:1931 // * "environment=draft AND latest" matches the latest test result for each1932 // test case in the draft environment.1933 // * "environment IN (e1,e2)" matches any test case results with an1934 // environment resource name of either "e1" or "e2".1935 // * "test_time > 1602540713" matches any test case results with test time1936 // later than a unix timestamp in seconds 1602540713.1937 Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`1938}1939func (x *ListTestCaseResultsRequest) Reset() {1940 *x = ListTestCaseResultsRequest{}1941 if protoimpl.UnsafeEnabled {1942 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[29]1943 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1944 ms.StoreMessageInfo(mi)1945 }1946}1947func (x *ListTestCaseResultsRequest) String() string {1948 return protoimpl.X.MessageStringOf(x)1949}1950func (*ListTestCaseResultsRequest) ProtoMessage() {}1951func (x *ListTestCaseResultsRequest) ProtoReflect() protoreflect.Message {1952 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[29]1953 if protoimpl.UnsafeEnabled && x != nil {1954 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))1955 if ms.LoadMessageInfo() == nil {1956 ms.StoreMessageInfo(mi)1957 }1958 return ms1959 }1960 return mi.MessageOf(x)1961}1962// Deprecated: Use ListTestCaseResultsRequest.ProtoReflect.Descriptor instead.1963func (*ListTestCaseResultsRequest) Descriptor() ([]byte, []int) {1964 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{29}1965}1966func (x *ListTestCaseResultsRequest) GetParent() string {1967 if x != nil {1968 return x.Parent1969 }1970 return ""1971}1972func (x *ListTestCaseResultsRequest) GetPageSize() int32 {1973 if x != nil {1974 return x.PageSize1975 }1976 return 01977}1978func (x *ListTestCaseResultsRequest) GetPageToken() string {1979 if x != nil {1980 return x.PageToken1981 }1982 return ""1983}1984func (x *ListTestCaseResultsRequest) GetFilter() string {1985 if x != nil {1986 return x.Filter1987 }1988 return ""1989}1990// The response message for [TestCases.ListTestCaseResults][google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCaseResults].1991type ListTestCaseResultsResponse struct {1992 state protoimpl.MessageState1993 sizeCache protoimpl.SizeCache1994 unknownFields protoimpl.UnknownFields1995 // The list of test case results.1996 TestCaseResults []*TestCaseResult `protobuf:"bytes,1,rep,name=test_case_results,json=testCaseResults,proto3" json:"test_case_results,omitempty"`1997 // Token to retrieve the next page of results, or empty if there are no more1998 // results in the list.1999 NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`2000}2001func (x *ListTestCaseResultsResponse) Reset() {2002 *x = ListTestCaseResultsResponse{}2003 if protoimpl.UnsafeEnabled {2004 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[30]2005 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))2006 ms.StoreMessageInfo(mi)2007 }2008}2009func (x *ListTestCaseResultsResponse) String() string {2010 return protoimpl.X.MessageStringOf(x)2011}2012func (*ListTestCaseResultsResponse) ProtoMessage() {}2013func (x *ListTestCaseResultsResponse) ProtoReflect() protoreflect.Message {2014 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[30]2015 if protoimpl.UnsafeEnabled && x != nil {2016 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))2017 if ms.LoadMessageInfo() == nil {2018 ms.StoreMessageInfo(mi)2019 }2020 return ms2021 }2022 return mi.MessageOf(x)2023}2024// Deprecated: Use ListTestCaseResultsResponse.ProtoReflect.Descriptor instead.2025func (*ListTestCaseResultsResponse) Descriptor() ([]byte, []int) {2026 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{30}2027}2028func (x *ListTestCaseResultsResponse) GetTestCaseResults() []*TestCaseResult {2029 if x != nil {2030 return x.TestCaseResults2031 }2032 return nil2033}2034func (x *ListTestCaseResultsResponse) GetNextPageToken() string {2035 if x != nil {2036 return x.NextPageToken2037 }2038 return ""2039}2040// The input from the human user.2041type ConversationTurn_UserInput struct {2042 state protoimpl.MessageState2043 sizeCache protoimpl.SizeCache2044 unknownFields protoimpl.UnknownFields2045 // Supports [text input][google.cloud.dialogflow.cx.v3beta1.QueryInput.text], [event input][google.cloud.dialogflow.cx.v3beta1.QueryInput.event],2046 // [dtmf input][google.cloud.dialogflow.cx.v3beta1.QueryInput.dtmf] in the test case.2047 Input *QueryInput `protobuf:"bytes,5,opt,name=input,proto3" json:"input,omitempty"`2048 // Parameters that need to be injected into the conversation during intent2049 // detection.2050 InjectedParameters *structpb.Struct `protobuf:"bytes,2,opt,name=injected_parameters,json=injectedParameters,proto3" json:"injected_parameters,omitempty"`2051 // If webhooks should be allowed to trigger in response to the user2052 // utterance. Often if parameters are injected, webhooks should not be2053 // enabled.2054 IsWebhookEnabled bool `protobuf:"varint,3,opt,name=is_webhook_enabled,json=isWebhookEnabled,proto3" json:"is_webhook_enabled,omitempty"`2055}2056func (x *ConversationTurn_UserInput) Reset() {2057 *x = ConversationTurn_UserInput{}2058 if protoimpl.UnsafeEnabled {2059 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[31]2060 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))2061 ms.StoreMessageInfo(mi)2062 }2063}2064func (x *ConversationTurn_UserInput) String() string {2065 return protoimpl.X.MessageStringOf(x)2066}2067func (*ConversationTurn_UserInput) ProtoMessage() {}2068func (x *ConversationTurn_UserInput) ProtoReflect() protoreflect.Message {2069 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[31]2070 if protoimpl.UnsafeEnabled && x != nil {2071 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))2072 if ms.LoadMessageInfo() == nil {2073 ms.StoreMessageInfo(mi)2074 }2075 return ms2076 }2077 return mi.MessageOf(x)2078}2079// Deprecated: Use ConversationTurn_UserInput.ProtoReflect.Descriptor instead.2080func (*ConversationTurn_UserInput) Descriptor() ([]byte, []int) {2081 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{3, 0}2082}2083func (x *ConversationTurn_UserInput) GetInput() *QueryInput {2084 if x != nil {2085 return x.Input2086 }2087 return nil2088}2089func (x *ConversationTurn_UserInput) GetInjectedParameters() *structpb.Struct {2090 if x != nil {2091 return x.InjectedParameters2092 }2093 return nil2094}2095func (x *ConversationTurn_UserInput) GetIsWebhookEnabled() bool {2096 if x != nil {2097 return x.IsWebhookEnabled2098 }2099 return false2100}2101// The output from the virtual agent.2102type ConversationTurn_VirtualAgentOutput struct {2103 state protoimpl.MessageState2104 sizeCache protoimpl.SizeCache2105 unknownFields protoimpl.UnknownFields2106 // The session parameters available to the bot at this point.2107 SessionParameters *structpb.Struct `protobuf:"bytes,4,opt,name=session_parameters,json=sessionParameters,proto3" json:"session_parameters,omitempty"`2108 // Output only. If this is part of a [result conversation2109 // turn][TestCaseResult.conversation_turns], the list of differences2110 // between the original run and the replay for this output, if any.2111 Differences []*TestRunDifference `protobuf:"bytes,5,rep,name=differences,proto3" json:"differences,omitempty"`2112 // Required. Input only. The diagnostic2113 // [info][Session.DetectIntentResponse.QueryResult.diagnostic_info]2114 // output for the turn.2115 DiagnosticInfo *structpb.Struct `protobuf:"bytes,6,opt,name=diagnostic_info,json=diagnosticInfo,proto3" json:"diagnostic_info,omitempty"`2116 // The [Intent][google.cloud.dialogflow.cx.v3beta1.Intent] that triggered the response. Only some fields such as2117 // name and displayname will be set.2118 TriggeredIntent *Intent `protobuf:"bytes,7,opt,name=triggered_intent,json=triggeredIntent,proto3" json:"triggered_intent,omitempty"`2119 // The [Page][google.cloud.dialogflow.cx.v3beta1.Page] on which the utterance was spoken. Only some fields such as2120 // name and displayname will be set.2121 CurrentPage *Page `protobuf:"bytes,8,opt,name=current_page,json=currentPage,proto3" json:"current_page,omitempty"`2122 // The [text][google.cloud.dialogflow.cx.v3beta1.ResponseMessage.Text] responses from the agent for the turn.2123 TextResponses []*ResponseMessage_Text `protobuf:"bytes,9,rep,name=text_responses,json=textResponses,proto3" json:"text_responses,omitempty"`2124 // Response error from the agent in the test result. If set, other output2125 // is empty.2126 Status *status.Status `protobuf:"bytes,10,opt,name=status,proto3" json:"status,omitempty"`2127}2128func (x *ConversationTurn_VirtualAgentOutput) Reset() {2129 *x = ConversationTurn_VirtualAgentOutput{}2130 if protoimpl.UnsafeEnabled {2131 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[32]2132 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))2133 ms.StoreMessageInfo(mi)2134 }2135}2136func (x *ConversationTurn_VirtualAgentOutput) String() string {2137 return protoimpl.X.MessageStringOf(x)2138}2139func (*ConversationTurn_VirtualAgentOutput) ProtoMessage() {}2140func (x *ConversationTurn_VirtualAgentOutput) ProtoReflect() protoreflect.Message {2141 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[32]2142 if protoimpl.UnsafeEnabled && x != nil {2143 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))2144 if ms.LoadMessageInfo() == nil {2145 ms.StoreMessageInfo(mi)2146 }2147 return ms2148 }2149 return mi.MessageOf(x)2150}2151// Deprecated: Use ConversationTurn_VirtualAgentOutput.ProtoReflect.Descriptor instead.2152func (*ConversationTurn_VirtualAgentOutput) Descriptor() ([]byte, []int) {2153 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{3, 1}2154}2155func (x *ConversationTurn_VirtualAgentOutput) GetSessionParameters() *structpb.Struct {2156 if x != nil {2157 return x.SessionParameters2158 }2159 return nil2160}2161func (x *ConversationTurn_VirtualAgentOutput) GetDifferences() []*TestRunDifference {2162 if x != nil {2163 return x.Differences2164 }2165 return nil2166}2167func (x *ConversationTurn_VirtualAgentOutput) GetDiagnosticInfo() *structpb.Struct {2168 if x != nil {2169 return x.DiagnosticInfo2170 }2171 return nil2172}2173func (x *ConversationTurn_VirtualAgentOutput) GetTriggeredIntent() *Intent {2174 if x != nil {2175 return x.TriggeredIntent2176 }2177 return nil2178}2179func (x *ConversationTurn_VirtualAgentOutput) GetCurrentPage() *Page {2180 if x != nil {2181 return x.CurrentPage2182 }2183 return nil2184}2185func (x *ConversationTurn_VirtualAgentOutput) GetTextResponses() []*ResponseMessage_Text {2186 if x != nil {2187 return x.TextResponses2188 }2189 return nil2190}2191func (x *ConversationTurn_VirtualAgentOutput) GetStatus() *status.Status {2192 if x != nil {2193 return x.Status2194 }2195 return nil2196}2197// The source or target of a transition.2198type TransitionCoverage_TransitionNode struct {2199 state protoimpl.MessageState2200 sizeCache protoimpl.SizeCache2201 unknownFields protoimpl.UnknownFields2202 // A TransitionNode can be either a page or a flow.2203 //2204 // Types that are assignable to Kind:2205 // *TransitionCoverage_TransitionNode_Page2206 // *TransitionCoverage_TransitionNode_Flow2207 Kind isTransitionCoverage_TransitionNode_Kind `protobuf_oneof:"kind"`2208}2209func (x *TransitionCoverage_TransitionNode) Reset() {2210 *x = TransitionCoverage_TransitionNode{}2211 if protoimpl.UnsafeEnabled {2212 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[33]2213 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))2214 ms.StoreMessageInfo(mi)2215 }2216}2217func (x *TransitionCoverage_TransitionNode) String() string {2218 return protoimpl.X.MessageStringOf(x)2219}2220func (*TransitionCoverage_TransitionNode) ProtoMessage() {}2221func (x *TransitionCoverage_TransitionNode) ProtoReflect() protoreflect.Message {2222 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[33]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 ms2229 }2230 return mi.MessageOf(x)2231}2232// Deprecated: Use TransitionCoverage_TransitionNode.ProtoReflect.Descriptor instead.2233func (*TransitionCoverage_TransitionNode) Descriptor() ([]byte, []int) {2234 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{5, 0}2235}2236func (m *TransitionCoverage_TransitionNode) GetKind() isTransitionCoverage_TransitionNode_Kind {2237 if m != nil {2238 return m.Kind2239 }2240 return nil2241}2242func (x *TransitionCoverage_TransitionNode) GetPage() *Page {2243 if x, ok := x.GetKind().(*TransitionCoverage_TransitionNode_Page); ok {2244 return x.Page2245 }2246 return nil2247}2248func (x *TransitionCoverage_TransitionNode) GetFlow() *Flow {2249 if x, ok := x.GetKind().(*TransitionCoverage_TransitionNode_Flow); ok {2250 return x.Flow2251 }2252 return nil2253}2254type isTransitionCoverage_TransitionNode_Kind interface {2255 isTransitionCoverage_TransitionNode_Kind()2256}2257type TransitionCoverage_TransitionNode_Page struct {2258 // Indicates a transition to a [Page][google.cloud.dialogflow.cx.v3beta1.Page]. Only some fields such as name and2259 // displayname will be set.2260 Page *Page `protobuf:"bytes,1,opt,name=page,proto3,oneof"`2261}2262type TransitionCoverage_TransitionNode_Flow struct {2263 // Indicates a transition to a [Flow][google.cloud.dialogflow.cx.v3beta1.Flow]. Only some fields such as name and2264 // displayname will be set.2265 Flow *Flow `protobuf:"bytes,2,opt,name=flow,proto3,oneof"`2266}2267func (*TransitionCoverage_TransitionNode_Page) isTransitionCoverage_TransitionNode_Kind() {}2268func (*TransitionCoverage_TransitionNode_Flow) isTransitionCoverage_TransitionNode_Kind() {}2269// A transition in the agent's graph.2270type TransitionCoverage_Transition struct {2271 state protoimpl.MessageState2272 sizeCache protoimpl.SizeCache2273 unknownFields protoimpl.UnknownFields2274 // The start node of a transition.2275 Source *TransitionCoverage_TransitionNode `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"`2276 // The index of a transition in the transition list. Starting from 0.2277 Index int32 `protobuf:"varint,4,opt,name=index,proto3" json:"index,omitempty"`2278 // The end node of a transition.2279 Target *TransitionCoverage_TransitionNode `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`2280 // Whether or not the transition is covered by at least one of the2281 // agent's test cases.2282 Covered bool `protobuf:"varint,3,opt,name=covered,proto3" json:"covered,omitempty"`2283 // The detailed transition.2284 //2285 // Types that are assignable to Detail:2286 // *TransitionCoverage_Transition_TransitionRoute2287 // *TransitionCoverage_Transition_EventHandler2288 Detail isTransitionCoverage_Transition_Detail `protobuf_oneof:"detail"`2289}2290func (x *TransitionCoverage_Transition) Reset() {2291 *x = TransitionCoverage_Transition{}2292 if protoimpl.UnsafeEnabled {2293 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[34]2294 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))2295 ms.StoreMessageInfo(mi)2296 }2297}2298func (x *TransitionCoverage_Transition) String() string {2299 return protoimpl.X.MessageStringOf(x)2300}2301func (*TransitionCoverage_Transition) ProtoMessage() {}2302func (x *TransitionCoverage_Transition) ProtoReflect() protoreflect.Message {2303 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[34]2304 if protoimpl.UnsafeEnabled && x != nil {2305 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))2306 if ms.LoadMessageInfo() == nil {2307 ms.StoreMessageInfo(mi)2308 }2309 return ms2310 }2311 return mi.MessageOf(x)2312}2313// Deprecated: Use TransitionCoverage_Transition.ProtoReflect.Descriptor instead.2314func (*TransitionCoverage_Transition) Descriptor() ([]byte, []int) {2315 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{5, 1}2316}2317func (x *TransitionCoverage_Transition) GetSource() *TransitionCoverage_TransitionNode {2318 if x != nil {2319 return x.Source2320 }2321 return nil2322}2323func (x *TransitionCoverage_Transition) GetIndex() int32 {2324 if x != nil {2325 return x.Index2326 }2327 return 02328}2329func (x *TransitionCoverage_Transition) GetTarget() *TransitionCoverage_TransitionNode {2330 if x != nil {2331 return x.Target2332 }2333 return nil2334}2335func (x *TransitionCoverage_Transition) GetCovered() bool {2336 if x != nil {2337 return x.Covered2338 }2339 return false2340}2341func (m *TransitionCoverage_Transition) GetDetail() isTransitionCoverage_Transition_Detail {2342 if m != nil {2343 return m.Detail2344 }2345 return nil2346}2347func (x *TransitionCoverage_Transition) GetTransitionRoute() *TransitionRoute {2348 if x, ok := x.GetDetail().(*TransitionCoverage_Transition_TransitionRoute); ok {2349 return x.TransitionRoute2350 }2351 return nil2352}2353func (x *TransitionCoverage_Transition) GetEventHandler() *EventHandler {2354 if x, ok := x.GetDetail().(*TransitionCoverage_Transition_EventHandler); ok {2355 return x.EventHandler2356 }2357 return nil2358}2359type isTransitionCoverage_Transition_Detail interface {2360 isTransitionCoverage_Transition_Detail()2361}2362type TransitionCoverage_Transition_TransitionRoute struct {2363 // Intent route or condition route.2364 TransitionRoute *TransitionRoute `protobuf:"bytes,5,opt,name=transition_route,json=transitionRoute,proto3,oneof"`2365}2366type TransitionCoverage_Transition_EventHandler struct {2367 // Event handler.2368 EventHandler *EventHandler `protobuf:"bytes,6,opt,name=event_handler,json=eventHandler,proto3,oneof"`2369}2370func (*TransitionCoverage_Transition_TransitionRoute) isTransitionCoverage_Transition_Detail() {}2371func (*TransitionCoverage_Transition_EventHandler) isTransitionCoverage_Transition_Detail() {}2372// The agent's intent.2373type IntentCoverage_Intent struct {2374 state protoimpl.MessageState2375 sizeCache protoimpl.SizeCache2376 unknownFields protoimpl.UnknownFields2377 // The intent full resource name2378 Intent string `protobuf:"bytes,1,opt,name=intent,proto3" json:"intent,omitempty"`2379 // Whether or not the intent is covered by at least one of the agent's2380 // test cases.2381 Covered bool `protobuf:"varint,2,opt,name=covered,proto3" json:"covered,omitempty"`2382}2383func (x *IntentCoverage_Intent) Reset() {2384 *x = IntentCoverage_Intent{}2385 if protoimpl.UnsafeEnabled {2386 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[35]2387 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))2388 ms.StoreMessageInfo(mi)2389 }2390}2391func (x *IntentCoverage_Intent) String() string {2392 return protoimpl.X.MessageStringOf(x)2393}2394func (*IntentCoverage_Intent) ProtoMessage() {}2395func (x *IntentCoverage_Intent) ProtoReflect() protoreflect.Message {2396 mi := &file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[35]2397 if protoimpl.UnsafeEnabled && x != nil {2398 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))2399 if ms.LoadMessageInfo() == nil {2400 ms.StoreMessageInfo(mi)2401 }2402 return ms2403 }2404 return mi.MessageOf(x)2405}2406// Deprecated: Use IntentCoverage_Intent.ProtoReflect.Descriptor instead.2407func (*IntentCoverage_Intent) Descriptor() ([]byte, []int) {2408 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP(), []int{6, 0}2409}2410func (x *IntentCoverage_Intent) GetIntent() string {2411 if x != nil {2412 return x.Intent2413 }2414 return ""2415}2416func (x *IntentCoverage_Intent) GetCovered() bool {2417 if x != nil {2418 return x.Covered2419 }2420 return false2421}2422var File_google_cloud_dialogflow_cx_v3beta1_test_case_proto protoreflect.FileDescriptor2423var file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDesc = []byte{2424 0x0a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64,2425 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62,2426 0x65, 0x74, 0x61, 0x31, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x2e, 0x70,2427 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x22, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,2428 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,2429 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,2430 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,2431 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,2432 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,2433 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c,2434 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,2435 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73,2436 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f,2437 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,2438 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,2439 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67,2440 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,2441 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x69,2442 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f,2443 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,2444 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,2445 0x70, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x39, 0x67, 0x6f, 0x6f, 0x67,2446 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,2447 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72,2448 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e,2449 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c,2450 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63,2451 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f,2452 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,2453 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72,2454 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f,2455 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d,2456 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c,2457 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64,2458 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f,2459 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72,2460 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,2461 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73,2462 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67,2463 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72,2464 0x6f, 0x74, 0x6f, 0x22, 0xd3, 0x04, 0x0a, 0x08, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,2465 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,2466 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03,2467 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70,2468 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,2469 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65,2470 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,2471 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63,2472 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f,2473 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f,2474 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,2475 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x74, 0x65, 0x73,2476 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x75, 0x0a, 0x1c, 0x74, 0x65, 0x73, 0x74, 0x5f,2477 0x63, 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f,2478 0x6e, 0x5f, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e,2479 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,2480 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,2481 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,2482 0x75, 0x72, 0x6e, 0x52, 0x19, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x43, 0x6f, 0x6e,2483 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x73, 0x12, 0x44,2484 0x0a, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,2485 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,2486 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,2487 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e,2488 0x54, 0x69, 0x6d, 0x65, 0x12, 0x5c, 0x0a, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x74, 0x65, 0x73,2489 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32,2490 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,2491 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65,2492 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75,2493 0x6c, 0x74, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75,2494 0x6c, 0x74, 0x3a, 0x75, 0xea, 0x41, 0x72, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,2495 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,2496 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x4c, 0x70, 0x72, 0x6f,2497 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f,2498 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74,2499 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 0x67, 0x65,2500 0x6e, 0x74, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x7b, 0x74,2501 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x7d, 0x22, 0xf1, 0x03, 0x0a, 0x0e, 0x54, 0x65,2502 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x12, 0x0a, 0x04,2503 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,2504 0x12, 0x4c, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18,2505 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x69, 0x61, 0x6c,2506 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,2507 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e,2508 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x63,2509 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74,2510 0x75, 0x72, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f,2511 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,2512 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e,2513 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72, 0x6e,2514 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75,2515 0x72, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x75,2516 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,2517 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,2518 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65,2519 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0a, 0x74, 0x65, 0x73, 0x74, 0x52, 0x65,2520 0x73, 0x75, 0x6c, 0x74, 0x12, 0x37, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d,2521 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,2522 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,2523 0x61, 0x6d, 0x70, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x3a, 0x8d, 0x01,2524 0xea, 0x41, 0x89, 0x01, 0x0a, 0x28, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,2525 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,2526 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5d,2527 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,2528 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f,2529 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b,2530 0x61, 0x67, 0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73,2531 0x2f, 0x7b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x7d, 0x2f, 0x72, 0x65, 0x73,2532 0x75, 0x6c, 0x74, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x7d, 0x22, 0x76, 0x0a,2533 0x0a, 0x54, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2f, 0x0a, 0x13, 0x74,2534 0x72, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,2535 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x69,2536 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x37, 0x0a, 0x04,2537 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, 0xfa, 0x41, 0x20, 0x0a,2538 0x1e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,2539 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x6c, 0x6f, 0x77, 0x52,2540 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x22, 0xf0, 0x07, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72,2541 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x12, 0x5d, 0x0a, 0x0a, 0x75, 0x73,2542 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e,2543 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,2544 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65,2545 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e,2546 0x54, 0x75, 0x72, 0x6e, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x09,2547 0x75, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x79, 0x0a, 0x14, 0x76, 0x69, 0x72,2548 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75,2549 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,2550 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,2551 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e,2552 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x75, 0x72, 0x6e, 0x2e, 0x56, 0x69,2553 0x72, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74,2554 0x52, 0x12, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4f, 0x75,2555 0x74, 0x70, 0x75, 0x74, 0x1a, 0xc9, 0x01, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x70,2556 0x75, 0x74, 0x12, 0x44, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28,2557 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,2558 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,2559 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75,2560 0x74, 0x52, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x48, 0x0a, 0x13, 0x69, 0x6e, 0x6a, 0x65,2561 0x63, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18,2562 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,2563 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x12,2564 0x69, 0x6e, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,2565 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x69, 0x73, 0x5f, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b,2566 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10,2567 0x69, 0x73, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,2568 0x1a, 0xb5, 0x04, 0x0a, 0x12, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x41, 0x67, 0x65, 0x6e,2569 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x46, 0x0a, 0x12, 0x73, 0x65, 0x73, 0x73, 0x69,2570 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20,2571 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,2572 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x11, 0x73, 0x65,2573 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12,2574 0x5c, 0x0a, 0x0b, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x05,2575 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,2576 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,2577 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x75,2578 0x6e, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03,2579 0x52, 0x0b, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x48, 0x0a,2580 0x0f, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x5f, 0x69, 0x6e, 0x66, 0x6f,2581 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,2582 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42,2583 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x04, 0x52, 0x0e, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73,2584 0x74, 0x69, 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x55, 0x0a, 0x10, 0x74, 0x72, 0x69, 0x67, 0x67,2585 0x65, 0x72, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28,2586 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,2587 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,2588 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x0f, 0x74,2589 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x4b,2590 0x0a, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x08,2591 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,2592 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,2593 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x0b,2594 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x67, 0x65, 0x12, 0x5f, 0x0a, 0x0e, 0x74,2595 0x65, 0x78, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x09, 0x20,2596 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,2597 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,2598 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,2599 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x52, 0x0d, 0x74,2600 0x65, 0x78, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x06,2601 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67,2602 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,2603 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xe5, 0x01, 0x0a, 0x11, 0x54, 0x65, 0x73,2604 0x74, 0x52, 0x75, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x52,2605 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67,2606 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,2607 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,2608 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x44, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65,2609 0x6e, 0x63, 0x65, 0x2e, 0x44, 0x69, 0x66, 0x66, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79,2610 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,2611 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,2612 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5a, 0x0a, 0x08, 0x44, 0x69, 0x66, 0x66, 0x54, 0x79, 0x70, 0x65,2613 0x12, 0x19, 0x0a, 0x15, 0x44, 0x49, 0x46, 0x46, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e,2614 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x49,2615 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x50, 0x41, 0x47, 0x45, 0x10,2616 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 0x53, 0x10,2617 0x03, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x54, 0x54, 0x45, 0x52, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x04,2618 0x22, 0xfd, 0x05, 0x0a, 0x12, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43,2619 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x63, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73,2620 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67,2621 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,2622 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,2623 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76, 0x65,2624 0x72, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52,2625 0x0b, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x0a, 0x0e,2626 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02,2627 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x63,2628 0x6f, 0x72, 0x65, 0x1a, 0x98, 0x01, 0x0a, 0x0e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69,2629 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x3e, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01,2630 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,2631 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,2632 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x65, 0x48, 0x00,2633 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x3e, 0x0a, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x02,2634 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,2635 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,2636 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x48, 0x00,2637 0x52, 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0x06, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x1a, 0xbf,2638 0x03, 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a,2639 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e,2640 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,2641 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,2642 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76,2643 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e,2644 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05,2645 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x69, 0x6e, 0x64,2646 0x65, 0x78, 0x12, 0x5d, 0x0a, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01,2647 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,2648 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,2649 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69,2650 0x6f, 0x6e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73,2651 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65,2652 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01,2653 0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x12, 0x60, 0x0a, 0x10, 0x74,2654 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x18,2655 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,2656 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,2657 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x6e, 0x73,2658 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x74, 0x72,2659 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x57, 0x0a,2660 0x0d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x18, 0x06,2661 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,2662 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,2663 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48,2664 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x48, 0x00, 0x52, 0x0c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x48,2665 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x42, 0x08, 0x0a, 0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c,2666 0x22, 0xef, 0x01, 0x0a, 0x0e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72,2667 0x61, 0x67, 0x65, 0x12, 0x53, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01,2668 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,2669 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,2670 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74,2671 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52,2672 0x07, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x76, 0x65,2673 0x72, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02,2674 0x52, 0x0d, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x1a,2675 0x61, 0x0a, 0x06, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x69, 0x6e, 0x74,2676 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xfa, 0x41, 0x22, 0x0a, 0x20,2677 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,2678 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74,2679 0x52, 0x06, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x76, 0x65,2680 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x6f, 0x76, 0x65, 0x72,2681 0x65, 0x64, 0x22, 0x8d, 0x02, 0x0a, 0x18, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65,2682 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,2683 0x3d, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27,2684 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,2685 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,2686 0x6d, 0x2f, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x62,2687 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x49, 0x2e, 0x67,2688 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,2689 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,2690 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72,2691 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x6f, 0x76, 0x65, 0x72,2692 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79,2693 0x70, 0x65, 0x22, 0x4e, 0x0a, 0x0c, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x54, 0x79,2694 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x4f, 0x56, 0x45, 0x52, 0x41, 0x47, 0x45, 0x5f, 0x54,2695 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,2696 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x4e, 0x54, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x13, 0x0a,2697 0x0f, 0x50, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e,2698 0x10, 0x02, 0x22, 0xb2, 0x02, 0x0a, 0x19, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65,2699 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,2700 0x12, 0x3a, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42,2701 0x24, 0xfa, 0x41, 0x21, 0x0a, 0x1f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,2702 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,2703 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x5d, 0x0a, 0x0f,2704 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x18,2705 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,2706 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e,2707 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e,2708 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x69, 0x6e, 0x74,2709 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x69, 0x0a, 0x13, 0x74,2710 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61,2711 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,2712 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,2713 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x72,2714 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65,2715 0x48, 0x00, 0x52, 0x12, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f,2716 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x61,2717 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb6, 0x02, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74,2718 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,2719 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,2720 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,2721 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,2722 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x06, 0x70, 0x61,2723 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a,2724 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,2725 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,2726 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,2727 0x12, 0x59, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x45,2728 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,2729 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65,2730 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,2731 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,2732 0x65, 0x56, 0x69, 0x65, 0x77, 0x52, 0x04, 0x76, 0x69, 0x65, 0x77, 0x22, 0x43, 0x0a, 0x0c, 0x54,2733 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x56, 0x69, 0x65, 0x77, 0x12, 0x1e, 0x0a, 0x1a, 0x54,2734 0x45, 0x53, 0x54, 0x5f, 0x43, 0x41, 0x53, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x55, 0x4e,2735 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x42,2736 0x41, 0x53, 0x49, 0x43, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x55, 0x4c, 0x4c, 0x10, 0x02,2737 0x22, 0x8c, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,2738 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x74, 0x65,2739 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c,2740 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69,2741 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65,2742 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x09, 0x74, 0x65,2743 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f,2744 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,2745 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22,2746 0xa3, 0x01, 0x0a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54,2747 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,2748 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,2749 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,2750 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,2751 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72,2752 0x65, 0x6e, 0x74, 0x12, 0x40, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03,2753 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c,2754 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,2755 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x05,2756 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,2757 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,2758 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,2759 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,2760 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,2761 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72,2762 0x65, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65,2763 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,2764 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77,2765 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74,2766 0x43, 0x61, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x43,2767 0x61, 0x73, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x65,2768 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a,2769 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,2770 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,2771 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33,2772 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x42, 0x03,2773 0xe0, 0x41, 0x02, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x40, 0x0a,2774 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x02, 0x20, 0x01,2775 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,2776 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03,2777 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22,2778 0x54, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65,2779 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,2780 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61,2781 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,2782 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52,2783 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa5, 0x01, 0x0a, 0x12, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73,2784 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x04,2785 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa,2786 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67,2787 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65,2788 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x0b,2789 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,2790 0x09, 0x42, 0x2d, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x69, 0x61, 0x6c, 0x6f,2791 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,2792 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74,2793 0x52, 0x0b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x61, 0x0a,2794 0x13, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70,2795 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02,2796 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,2797 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,2798 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,2799 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,2800 0x22, 0x15, 0x0a, 0x13, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x4d,2801 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xfa, 0x01, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63,2802 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71,2803 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01,2804 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69,2805 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,2806 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,2807 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x0b, 0x65, 0x6e, 0x76, 0x69,2808 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0xe0,2809 0x41, 0x01, 0xfa, 0x41, 0x27, 0x0a, 0x25, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,2810 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,2811 0x2f, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e,2812 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x49, 0x0a, 0x0a, 0x74, 0x65, 0x73,2813 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x2a, 0xe0,2814 0x41, 0x02, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,2815 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,2816 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x09, 0x74, 0x65, 0x73, 0x74, 0x43,2817 0x61, 0x73, 0x65, 0x73, 0x22, 0x69, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e,2818 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,2819 0x65, 0x12, 0x4c, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03,2820 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,2821 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,2822 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,2823 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22,2824 0x62, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43,2825 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x45, 0x0a, 0x06,2826 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67,2827 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c,2828 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61,2829 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72,2830 0x6f, 0x72, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, 0x45, 0x72, 0x72, 0x6f,2831 0x72, 0x12, 0x44, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x01,2832 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f,2833 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,2834 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x08, 0x74,2835 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75,2836 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,2837 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61,2838 0x74, 0x75, 0x73, 0x12, 0x37, 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65,2839 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,2840 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,2841 0x6d, 0x70, 0x52, 0x08, 0x74, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x9d, 0x01, 0x0a,2842 0x16, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73,2843 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e,2844 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12,2845 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,2846 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43,2847 0x61, 0x73, 0x65, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x07, 0x67,2848 0x63, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06,2849 0x67, 0x63, 0x73, 0x55, 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,2850 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65,2851 0x6e, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x58, 0x0a, 0x17,2852 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52,2853 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73,2854 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x27, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61,2855 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,2856 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52,2857 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x64, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,2858 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,2859 0x61, 0x12, 0x49, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,2860 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,2861 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,2862 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x45,2863 0x72, 0x72, 0x6f, 0x72, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x86, 0x01, 0x0a,2864 0x0d, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x49,2865 0x0a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,2866 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,2867 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,2868 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52,2869 0x08, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x73, 0x74, 0x61,2870 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67,2871 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73,2872 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc5, 0x02, 0x0a, 0x16, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74,2873 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,2874 0x12, 0x42, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,2875 0x42, 0x2a, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x24, 0x12, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67,2876 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,2877 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x06, 0x70, 0x61,2878 0x72, 0x65, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x07, 0x67, 0x63, 0x73, 0x5f, 0x75, 0x72, 0x69, 0x18,2879 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x67, 0x63, 0x73, 0x55, 0x72, 0x69, 0x12,2880 0x66, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03,2881 0x20, 0x01, 0x28, 0x0e, 0x32, 0x45, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,2882 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,2883 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74,2884 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,2885 0x2e, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0a, 0x64, 0x61, 0x74,2886 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65,2887 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22,2888 0x3d, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1b, 0x0a,2889 0x17, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53,2890 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x42, 0x4c,2891 0x4f, 0x42, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x02, 0x42, 0x0d,2892 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x5f, 0x0a,2893 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73,2894 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x67, 0x63, 0x73, 0x5f,2895 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x67, 0x63, 0x73,2896 0x55, 0x72, 0x69, 0x12, 0x1a, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x02,2897 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42,2898 0x0d, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x19,2899 0x0a, 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,2900 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xba, 0x01, 0x0a, 0x1a, 0x4c, 0x69,2901 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,2902 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65,2903 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2a,2904 0x12, 0x28, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f,2905 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x65, 0x73, 0x74,2906 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65,2907 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18,2908 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12,2909 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20,2910 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16,2911 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,2912 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xa5, 0x01, 0x0a, 0x1b, 0x4c, 0x69, 0x73, 0x74, 0x54,2913 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65,2914 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x11, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63,2915 0x61, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,2916 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,2917 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,2918 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52,2919 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52,2920 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70,2921 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,2922 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2a, 0x41,2923 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x17,2924 0x54, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x53, 0x55, 0x4c, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50,2925 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x41, 0x53,2926 0x53, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10,2927 0x02, 0x32, 0xcf, 0x14, 0x0a, 0x09, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12,2928 0xd2, 0x01, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,2929 0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,2930 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76,2931 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43,2932 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x67, 0x6f,2933 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f,2934 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,2935 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65,2936 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b,2937 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,2938 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,2939 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a,2940 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0xda, 0x41, 0x06, 0x70, 0x61,2941 0x72, 0x65, 0x6e, 0x74, 0x12, 0xcc, 0x01, 0x0a, 0x14, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65,2942 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12, 0x3f, 0x2e,2943 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,2944 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,2945 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x65,2946 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16,2947 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,2948 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x22, 0x47,2949 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,2950 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,2951 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a,2952 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63,2953 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72,2954 0x65, 0x6e, 0x74, 0x12, 0xbf, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43,2955 0x61, 0x73, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,2956 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,2957 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74,2958 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f,2959 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f,2960 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,2961 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x22, 0x4a, 0x82, 0xd3, 0xe4, 0x93, 0x02,2962 0x3d, 0x12, 0x3b, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d,2963 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63,2964 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f,2965 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41,2966 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xdc, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,2967 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,2968 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,2969 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x72,2970 0x65, 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75,2971 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,2972 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78,2973 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,2974 0x65, 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x22, 0x3b, 0x2f, 0x76, 0x33, 0x62, 0x65,2975 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a,2976 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,2977 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73,2978 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73,2979 0x65, 0xda, 0x41, 0x10, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x74, 0x65, 0x73, 0x74, 0x5f,2980 0x63, 0x61, 0x73, 0x65, 0x12, 0xeb, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54,2981 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x12, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,2982 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f,2983 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x55, 0x70, 0x64,2984 0x61, 0x74, 0x65, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,2985 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,2986 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,2987 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65,2988 0x22, 0x70, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x52, 0x32, 0x45, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74,2989 0x61, 0x31, 0x2f, 0x7b, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x2e, 0x6e, 0x61,2990 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f,2991 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73,2992 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x3a,2993 0x09, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0xda, 0x41, 0x15, 0x74, 0x65, 0x73,2994 0x74, 0x5f, 0x63, 0x61, 0x73, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61,2995 0x73, 0x6b, 0x12, 0xd4, 0x01, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,2996 0x73, 0x65, 0x12, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,2997 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e,2998 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43,2999 0x61, 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f,3000 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e,3001 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02,3002 0x3b, 0x22, 0x36, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x6a,3003 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,3004 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74,3005 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x72, 0x75, 0x6e, 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x2a, 0x0a,3006 0x13, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70,3007 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x13, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,3008 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xfb, 0x01, 0x0a, 0x11, 0x42, 0x61,3009 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12,3010 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64,3011 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62,3012 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73,3013 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e,3014 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69,3015 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x88, 0x01, 0x82,3016 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x22, 0x44, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f,3017 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,3018 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61,3019 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73,3020 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x3a, 0x01, 0x2a, 0xca, 0x41,3021 0x36, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43,3022 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x42, 0x61,3023 0x74, 0x63, 0x68, 0x52, 0x75, 0x6e, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d,3024 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xe6, 0x01, 0x0a, 0x11, 0x43, 0x61, 0x6c, 0x63,3025 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x2e,3026 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61,3027 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74,3028 0x61, 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65,3029 0x72, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f,3030 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f,3031 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31,3032 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61,3033 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x82, 0xd3, 0xe4, 0x93,3034 0x02, 0x4e, 0x12, 0x4c, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x61, 0x67,3035 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c,3036 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74,3037 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x63,3038 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x67, 0x65,3039 0x12, 0xf1, 0x01, 0x0a, 0x0f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43,3040 0x61, 0x73, 0x65, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,3041 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63,3042 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,3043 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,3044 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75,3045 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,3046 0x82, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22, 0x42, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74,3047 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,3048 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,3049 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74,3050 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x3a, 0x01, 0x2a, 0xca,3051 0x41, 0x32, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,3052 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x17, 0x49, 0x6d, 0x70,3053 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61,3054 0x64, 0x61, 0x74, 0x61, 0x12, 0xf1, 0x01, 0x0a, 0x0f, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54,3055 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,3056 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c,3057 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x78,3058 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x71,3059 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f,3060 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,3061 0x69, 0x6f, 0x6e, 0x22, 0x82, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22, 0x42, 0x2f, 0x76,3062 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70,3063 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69,3064 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x7d, 0x2f,3065 0x74, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x3a, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74,3066 0x3a, 0x01, 0x2a, 0xca, 0x41, 0x32, 0x0a, 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65,3067 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,3068 0x17, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x73,3069 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xee, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73,3070 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,3071 0x12, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,3072 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33,3073 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,3074 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,3075 0x1a, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,3076 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33,3077 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x65, 0x73, 0x74, 0x43, 0x61,3078 0x73, 0x65, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,3079 0x65, 0x22, 0x56, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x76, 0x33, 0x62, 0x65,3080 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a,3081 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,3082 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x74, 0x65, 0x73, 0x74,3083 0x43, 0x61, 0x73, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73,3084 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x1a, 0x78, 0xca, 0x41, 0x19, 0x64, 0x69,3085 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,3086 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x59, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a,3087 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,3088 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d,3089 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f,3090 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,3091 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,3092 0x6c, 0x6f, 0x77, 0x42, 0xac, 0x01, 0x0a, 0x26, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,3093 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66,3094 0x6c, 0x6f, 0x77, 0x2e, 0x63, 0x78, 0x2e, 0x76, 0x33, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x0d,3095 0x54, 0x65, 0x73, 0x74, 0x43, 0x61, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,3096 0x44, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f,3097 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67,3098 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61,3099 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x63, 0x78, 0x2f, 0x76, 0x33, 0x62, 0x65, 0x74,3100 0x61, 0x31, 0x3b, 0x63, 0x78, 0xf8, 0x01, 0x01, 0xa2, 0x02, 0x02, 0x44, 0x46, 0xaa, 0x02, 0x22,3101 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x44, 0x69, 0x61,3102 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x43, 0x78, 0x2e, 0x56, 0x33, 0x42, 0x65, 0x74,3103 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,3104}3105var (3106 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescOnce sync.Once3107 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescData = file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDesc3108)3109func file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescGZIP() []byte {3110 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescOnce.Do(func() {3111 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescData)3112 })3113 return file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDescData3114}3115var file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes = make([]protoimpl.EnumInfo, 5)3116var file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes = make([]protoimpl.MessageInfo, 36)3117var file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_goTypes = []interface{}{3118 (TestResult)(0), // 0: google.cloud.dialogflow.cx.v3beta1.TestResult3119 (TestRunDifference_DiffType)(0), // 1: google.cloud.dialogflow.cx.v3beta1.TestRunDifference.DiffType3120 (CalculateCoverageRequest_CoverageType)(0), // 2: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest.CoverageType3121 (ListTestCasesRequest_TestCaseView)(0), // 3: google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest.TestCaseView3122 (ExportTestCasesRequest_DataFormat)(0), // 4: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest.DataFormat3123 (*TestCase)(nil), // 5: google.cloud.dialogflow.cx.v3beta1.TestCase3124 (*TestCaseResult)(nil), // 6: google.cloud.dialogflow.cx.v3beta1.TestCaseResult3125 (*TestConfig)(nil), // 7: google.cloud.dialogflow.cx.v3beta1.TestConfig3126 (*ConversationTurn)(nil), // 8: google.cloud.dialogflow.cx.v3beta1.ConversationTurn3127 (*TestRunDifference)(nil), // 9: google.cloud.dialogflow.cx.v3beta1.TestRunDifference3128 (*TransitionCoverage)(nil), // 10: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage3129 (*IntentCoverage)(nil), // 11: google.cloud.dialogflow.cx.v3beta1.IntentCoverage3130 (*CalculateCoverageRequest)(nil), // 12: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest3131 (*CalculateCoverageResponse)(nil), // 13: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse3132 (*ListTestCasesRequest)(nil), // 14: google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest3133 (*ListTestCasesResponse)(nil), // 15: google.cloud.dialogflow.cx.v3beta1.ListTestCasesResponse3134 (*BatchDeleteTestCasesRequest)(nil), // 16: google.cloud.dialogflow.cx.v3beta1.BatchDeleteTestCasesRequest3135 (*CreateTestCaseRequest)(nil), // 17: google.cloud.dialogflow.cx.v3beta1.CreateTestCaseRequest3136 (*UpdateTestCaseRequest)(nil), // 18: google.cloud.dialogflow.cx.v3beta1.UpdateTestCaseRequest3137 (*GetTestCaseRequest)(nil), // 19: google.cloud.dialogflow.cx.v3beta1.GetTestCaseRequest3138 (*RunTestCaseRequest)(nil), // 20: google.cloud.dialogflow.cx.v3beta1.RunTestCaseRequest3139 (*RunTestCaseResponse)(nil), // 21: google.cloud.dialogflow.cx.v3beta1.RunTestCaseResponse3140 (*RunTestCaseMetadata)(nil), // 22: google.cloud.dialogflow.cx.v3beta1.RunTestCaseMetadata3141 (*BatchRunTestCasesRequest)(nil), // 23: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesRequest3142 (*BatchRunTestCasesResponse)(nil), // 24: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesResponse3143 (*BatchRunTestCasesMetadata)(nil), // 25: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesMetadata3144 (*TestError)(nil), // 26: google.cloud.dialogflow.cx.v3beta1.TestError3145 (*ImportTestCasesRequest)(nil), // 27: google.cloud.dialogflow.cx.v3beta1.ImportTestCasesRequest3146 (*ImportTestCasesResponse)(nil), // 28: google.cloud.dialogflow.cx.v3beta1.ImportTestCasesResponse3147 (*ImportTestCasesMetadata)(nil), // 29: google.cloud.dialogflow.cx.v3beta1.ImportTestCasesMetadata3148 (*TestCaseError)(nil), // 30: google.cloud.dialogflow.cx.v3beta1.TestCaseError3149 (*ExportTestCasesRequest)(nil), // 31: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest3150 (*ExportTestCasesResponse)(nil), // 32: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesResponse3151 (*ExportTestCasesMetadata)(nil), // 33: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesMetadata3152 (*ListTestCaseResultsRequest)(nil), // 34: google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsRequest3153 (*ListTestCaseResultsResponse)(nil), // 35: google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsResponse3154 (*ConversationTurn_UserInput)(nil), // 36: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.UserInput3155 (*ConversationTurn_VirtualAgentOutput)(nil), // 37: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput3156 (*TransitionCoverage_TransitionNode)(nil), // 38: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode3157 (*TransitionCoverage_Transition)(nil), // 39: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition3158 (*IntentCoverage_Intent)(nil), // 40: google.cloud.dialogflow.cx.v3beta1.IntentCoverage.Intent3159 (*timestamppb.Timestamp)(nil), // 41: google.protobuf.Timestamp3160 (*fieldmaskpb.FieldMask)(nil), // 42: google.protobuf.FieldMask3161 (*status.Status)(nil), // 43: google.rpc.Status3162 (*QueryInput)(nil), // 44: google.cloud.dialogflow.cx.v3beta1.QueryInput3163 (*structpb.Struct)(nil), // 45: google.protobuf.Struct3164 (*Intent)(nil), // 46: google.cloud.dialogflow.cx.v3beta1.Intent3165 (*Page)(nil), // 47: google.cloud.dialogflow.cx.v3beta1.Page3166 (*ResponseMessage_Text)(nil), // 48: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.Text3167 (*Flow)(nil), // 49: google.cloud.dialogflow.cx.v3beta1.Flow3168 (*TransitionRoute)(nil), // 50: google.cloud.dialogflow.cx.v3beta1.TransitionRoute3169 (*EventHandler)(nil), // 51: google.cloud.dialogflow.cx.v3beta1.EventHandler3170 (*emptypb.Empty)(nil), // 52: google.protobuf.Empty3171 (*longrunning.Operation)(nil), // 53: google.longrunning.Operation3172}3173var file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_depIdxs = []int32{3174 7, // 0: google.cloud.dialogflow.cx.v3beta1.TestCase.test_config:type_name -> google.cloud.dialogflow.cx.v3beta1.TestConfig3175 8, // 1: google.cloud.dialogflow.cx.v3beta1.TestCase.test_case_conversation_turns:type_name -> google.cloud.dialogflow.cx.v3beta1.ConversationTurn3176 41, // 2: google.cloud.dialogflow.cx.v3beta1.TestCase.creation_time:type_name -> google.protobuf.Timestamp3177 6, // 3: google.cloud.dialogflow.cx.v3beta1.TestCase.last_test_result:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCaseResult3178 8, // 4: google.cloud.dialogflow.cx.v3beta1.TestCaseResult.conversation_turns:type_name -> google.cloud.dialogflow.cx.v3beta1.ConversationTurn3179 0, // 5: google.cloud.dialogflow.cx.v3beta1.TestCaseResult.test_result:type_name -> google.cloud.dialogflow.cx.v3beta1.TestResult3180 41, // 6: google.cloud.dialogflow.cx.v3beta1.TestCaseResult.test_time:type_name -> google.protobuf.Timestamp3181 36, // 7: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.user_input:type_name -> google.cloud.dialogflow.cx.v3beta1.ConversationTurn.UserInput3182 37, // 8: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.virtual_agent_output:type_name -> google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput3183 1, // 9: google.cloud.dialogflow.cx.v3beta1.TestRunDifference.type:type_name -> google.cloud.dialogflow.cx.v3beta1.TestRunDifference.DiffType3184 39, // 10: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.transitions:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition3185 40, // 11: google.cloud.dialogflow.cx.v3beta1.IntentCoverage.intents:type_name -> google.cloud.dialogflow.cx.v3beta1.IntentCoverage.Intent3186 2, // 12: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest.type:type_name -> google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest.CoverageType3187 11, // 13: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse.intent_coverage:type_name -> google.cloud.dialogflow.cx.v3beta1.IntentCoverage3188 10, // 14: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse.transition_coverage:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionCoverage3189 3, // 15: google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest.view:type_name -> google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest.TestCaseView3190 5, // 16: google.cloud.dialogflow.cx.v3beta1.ListTestCasesResponse.test_cases:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCase3191 5, // 17: google.cloud.dialogflow.cx.v3beta1.CreateTestCaseRequest.test_case:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCase3192 5, // 18: google.cloud.dialogflow.cx.v3beta1.UpdateTestCaseRequest.test_case:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCase3193 42, // 19: google.cloud.dialogflow.cx.v3beta1.UpdateTestCaseRequest.update_mask:type_name -> google.protobuf.FieldMask3194 6, // 20: google.cloud.dialogflow.cx.v3beta1.RunTestCaseResponse.result:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCaseResult3195 6, // 21: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesResponse.results:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCaseResult3196 26, // 22: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesMetadata.errors:type_name -> google.cloud.dialogflow.cx.v3beta1.TestError3197 43, // 23: google.cloud.dialogflow.cx.v3beta1.TestError.status:type_name -> google.rpc.Status3198 41, // 24: google.cloud.dialogflow.cx.v3beta1.TestError.test_time:type_name -> google.protobuf.Timestamp3199 30, // 25: google.cloud.dialogflow.cx.v3beta1.ImportTestCasesMetadata.errors:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCaseError3200 5, // 26: google.cloud.dialogflow.cx.v3beta1.TestCaseError.test_case:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCase3201 43, // 27: google.cloud.dialogflow.cx.v3beta1.TestCaseError.status:type_name -> google.rpc.Status3202 4, // 28: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest.data_format:type_name -> google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest.DataFormat3203 6, // 29: google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsResponse.test_case_results:type_name -> google.cloud.dialogflow.cx.v3beta1.TestCaseResult3204 44, // 30: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.UserInput.input:type_name -> google.cloud.dialogflow.cx.v3beta1.QueryInput3205 45, // 31: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.UserInput.injected_parameters:type_name -> google.protobuf.Struct3206 45, // 32: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.session_parameters:type_name -> google.protobuf.Struct3207 9, // 33: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.differences:type_name -> google.cloud.dialogflow.cx.v3beta1.TestRunDifference3208 45, // 34: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.diagnostic_info:type_name -> google.protobuf.Struct3209 46, // 35: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.triggered_intent:type_name -> google.cloud.dialogflow.cx.v3beta1.Intent3210 47, // 36: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.current_page:type_name -> google.cloud.dialogflow.cx.v3beta1.Page3211 48, // 37: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.text_responses:type_name -> google.cloud.dialogflow.cx.v3beta1.ResponseMessage.Text3212 43, // 38: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.status:type_name -> google.rpc.Status3213 47, // 39: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode.page:type_name -> google.cloud.dialogflow.cx.v3beta1.Page3214 49, // 40: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode.flow:type_name -> google.cloud.dialogflow.cx.v3beta1.Flow3215 38, // 41: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition.source:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode3216 38, // 42: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition.target:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode3217 50, // 43: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition.transition_route:type_name -> google.cloud.dialogflow.cx.v3beta1.TransitionRoute3218 51, // 44: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition.event_handler:type_name -> google.cloud.dialogflow.cx.v3beta1.EventHandler3219 14, // 45: google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCases:input_type -> google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest3220 16, // 46: google.cloud.dialogflow.cx.v3beta1.TestCases.BatchDeleteTestCases:input_type -> google.cloud.dialogflow.cx.v3beta1.BatchDeleteTestCasesRequest3221 19, // 47: google.cloud.dialogflow.cx.v3beta1.TestCases.GetTestCase:input_type -> google.cloud.dialogflow.cx.v3beta1.GetTestCaseRequest3222 17, // 48: google.cloud.dialogflow.cx.v3beta1.TestCases.CreateTestCase:input_type -> google.cloud.dialogflow.cx.v3beta1.CreateTestCaseRequest3223 18, // 49: google.cloud.dialogflow.cx.v3beta1.TestCases.UpdateTestCase:input_type -> google.cloud.dialogflow.cx.v3beta1.UpdateTestCaseRequest3224 20, // 50: google.cloud.dialogflow.cx.v3beta1.TestCases.RunTestCase:input_type -> google.cloud.dialogflow.cx.v3beta1.RunTestCaseRequest3225 23, // 51: google.cloud.dialogflow.cx.v3beta1.TestCases.BatchRunTestCases:input_type -> google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesRequest3226 12, // 52: google.cloud.dialogflow.cx.v3beta1.TestCases.CalculateCoverage:input_type -> google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest3227 27, // 53: google.cloud.dialogflow.cx.v3beta1.TestCases.ImportTestCases:input_type -> google.cloud.dialogflow.cx.v3beta1.ImportTestCasesRequest3228 31, // 54: google.cloud.dialogflow.cx.v3beta1.TestCases.ExportTestCases:input_type -> google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest3229 34, // 55: google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCaseResults:input_type -> google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsRequest3230 15, // 56: google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCases:output_type -> google.cloud.dialogflow.cx.v3beta1.ListTestCasesResponse3231 52, // 57: google.cloud.dialogflow.cx.v3beta1.TestCases.BatchDeleteTestCases:output_type -> google.protobuf.Empty3232 5, // 58: google.cloud.dialogflow.cx.v3beta1.TestCases.GetTestCase:output_type -> google.cloud.dialogflow.cx.v3beta1.TestCase3233 5, // 59: google.cloud.dialogflow.cx.v3beta1.TestCases.CreateTestCase:output_type -> google.cloud.dialogflow.cx.v3beta1.TestCase3234 5, // 60: google.cloud.dialogflow.cx.v3beta1.TestCases.UpdateTestCase:output_type -> google.cloud.dialogflow.cx.v3beta1.TestCase3235 53, // 61: google.cloud.dialogflow.cx.v3beta1.TestCases.RunTestCase:output_type -> google.longrunning.Operation3236 53, // 62: google.cloud.dialogflow.cx.v3beta1.TestCases.BatchRunTestCases:output_type -> google.longrunning.Operation3237 13, // 63: google.cloud.dialogflow.cx.v3beta1.TestCases.CalculateCoverage:output_type -> google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse3238 53, // 64: google.cloud.dialogflow.cx.v3beta1.TestCases.ImportTestCases:output_type -> google.longrunning.Operation3239 53, // 65: google.cloud.dialogflow.cx.v3beta1.TestCases.ExportTestCases:output_type -> google.longrunning.Operation3240 35, // 66: google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCaseResults:output_type -> google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsResponse3241 56, // [56:67] is the sub-list for method output_type3242 45, // [45:56] is the sub-list for method input_type3243 45, // [45:45] is the sub-list for extension type_name3244 45, // [45:45] is the sub-list for extension extendee3245 0, // [0:45] is the sub-list for field type_name3246}3247func init() { file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_init() }3248func file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_init() {3249 if File_google_cloud_dialogflow_cx_v3beta1_test_case_proto != nil {3250 return3251 }3252 file_google_cloud_dialogflow_cx_v3beta1_flow_proto_init()3253 file_google_cloud_dialogflow_cx_v3beta1_intent_proto_init()3254 file_google_cloud_dialogflow_cx_v3beta1_page_proto_init()3255 file_google_cloud_dialogflow_cx_v3beta1_response_message_proto_init()3256 file_google_cloud_dialogflow_cx_v3beta1_session_proto_init()3257 if !protoimpl.UnsafeEnabled {3258 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {3259 switch v := v.(*TestCase); i {3260 case 0:3261 return &v.state3262 case 1:3263 return &v.sizeCache3264 case 2:3265 return &v.unknownFields3266 default:3267 return nil3268 }3269 }3270 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {3271 switch v := v.(*TestCaseResult); i {3272 case 0:3273 return &v.state3274 case 1:3275 return &v.sizeCache3276 case 2:3277 return &v.unknownFields3278 default:3279 return nil3280 }3281 }3282 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {3283 switch v := v.(*TestConfig); i {3284 case 0:3285 return &v.state3286 case 1:3287 return &v.sizeCache3288 case 2:3289 return &v.unknownFields3290 default:3291 return nil3292 }3293 }3294 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {3295 switch v := v.(*ConversationTurn); i {3296 case 0:3297 return &v.state3298 case 1:3299 return &v.sizeCache3300 case 2:3301 return &v.unknownFields3302 default:3303 return nil3304 }3305 }3306 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {3307 switch v := v.(*TestRunDifference); i {3308 case 0:3309 return &v.state3310 case 1:3311 return &v.sizeCache3312 case 2:3313 return &v.unknownFields3314 default:3315 return nil3316 }3317 }3318 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {3319 switch v := v.(*TransitionCoverage); i {3320 case 0:3321 return &v.state3322 case 1:3323 return &v.sizeCache3324 case 2:3325 return &v.unknownFields3326 default:3327 return nil3328 }3329 }3330 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {3331 switch v := v.(*IntentCoverage); i {3332 case 0:3333 return &v.state3334 case 1:3335 return &v.sizeCache3336 case 2:3337 return &v.unknownFields3338 default:3339 return nil3340 }3341 }3342 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {3343 switch v := v.(*CalculateCoverageRequest); i {3344 case 0:3345 return &v.state3346 case 1:3347 return &v.sizeCache3348 case 2:3349 return &v.unknownFields3350 default:3351 return nil3352 }3353 }3354 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {3355 switch v := v.(*CalculateCoverageResponse); i {3356 case 0:3357 return &v.state3358 case 1:3359 return &v.sizeCache3360 case 2:3361 return &v.unknownFields3362 default:3363 return nil3364 }3365 }3366 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {3367 switch v := v.(*ListTestCasesRequest); i {3368 case 0:3369 return &v.state3370 case 1:3371 return &v.sizeCache3372 case 2:3373 return &v.unknownFields3374 default:3375 return nil3376 }3377 }3378 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {3379 switch v := v.(*ListTestCasesResponse); i {3380 case 0:3381 return &v.state3382 case 1:3383 return &v.sizeCache3384 case 2:3385 return &v.unknownFields3386 default:3387 return nil3388 }3389 }3390 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {3391 switch v := v.(*BatchDeleteTestCasesRequest); i {3392 case 0:3393 return &v.state3394 case 1:3395 return &v.sizeCache3396 case 2:3397 return &v.unknownFields3398 default:3399 return nil3400 }3401 }3402 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {3403 switch v := v.(*CreateTestCaseRequest); i {3404 case 0:3405 return &v.state3406 case 1:3407 return &v.sizeCache3408 case 2:3409 return &v.unknownFields3410 default:3411 return nil3412 }3413 }3414 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {3415 switch v := v.(*UpdateTestCaseRequest); i {3416 case 0:3417 return &v.state3418 case 1:3419 return &v.sizeCache3420 case 2:3421 return &v.unknownFields3422 default:3423 return nil3424 }3425 }3426 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {3427 switch v := v.(*GetTestCaseRequest); i {3428 case 0:3429 return &v.state3430 case 1:3431 return &v.sizeCache3432 case 2:3433 return &v.unknownFields3434 default:3435 return nil3436 }3437 }3438 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {3439 switch v := v.(*RunTestCaseRequest); i {3440 case 0:3441 return &v.state3442 case 1:3443 return &v.sizeCache3444 case 2:3445 return &v.unknownFields3446 default:3447 return nil3448 }3449 }3450 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {3451 switch v := v.(*RunTestCaseResponse); i {3452 case 0:3453 return &v.state3454 case 1:3455 return &v.sizeCache3456 case 2:3457 return &v.unknownFields3458 default:3459 return nil3460 }3461 }3462 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {3463 switch v := v.(*RunTestCaseMetadata); i {3464 case 0:3465 return &v.state3466 case 1:3467 return &v.sizeCache3468 case 2:3469 return &v.unknownFields3470 default:3471 return nil3472 }3473 }3474 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {3475 switch v := v.(*BatchRunTestCasesRequest); i {3476 case 0:3477 return &v.state3478 case 1:3479 return &v.sizeCache3480 case 2:3481 return &v.unknownFields3482 default:3483 return nil3484 }3485 }3486 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {3487 switch v := v.(*BatchRunTestCasesResponse); i {3488 case 0:3489 return &v.state3490 case 1:3491 return &v.sizeCache3492 case 2:3493 return &v.unknownFields3494 default:3495 return nil3496 }3497 }3498 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {3499 switch v := v.(*BatchRunTestCasesMetadata); i {3500 case 0:3501 return &v.state3502 case 1:3503 return &v.sizeCache3504 case 2:3505 return &v.unknownFields3506 default:3507 return nil3508 }3509 }3510 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {3511 switch v := v.(*TestError); i {3512 case 0:3513 return &v.state3514 case 1:3515 return &v.sizeCache3516 case 2:3517 return &v.unknownFields3518 default:3519 return nil3520 }3521 }3522 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {3523 switch v := v.(*ImportTestCasesRequest); i {3524 case 0:3525 return &v.state3526 case 1:3527 return &v.sizeCache3528 case 2:3529 return &v.unknownFields3530 default:3531 return nil3532 }3533 }3534 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {3535 switch v := v.(*ImportTestCasesResponse); i {3536 case 0:3537 return &v.state3538 case 1:3539 return &v.sizeCache3540 case 2:3541 return &v.unknownFields3542 default:3543 return nil3544 }3545 }3546 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {3547 switch v := v.(*ImportTestCasesMetadata); i {3548 case 0:3549 return &v.state3550 case 1:3551 return &v.sizeCache3552 case 2:3553 return &v.unknownFields3554 default:3555 return nil3556 }3557 }3558 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {3559 switch v := v.(*TestCaseError); i {3560 case 0:3561 return &v.state3562 case 1:3563 return &v.sizeCache3564 case 2:3565 return &v.unknownFields3566 default:3567 return nil3568 }3569 }3570 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {3571 switch v := v.(*ExportTestCasesRequest); i {3572 case 0:3573 return &v.state3574 case 1:3575 return &v.sizeCache3576 case 2:3577 return &v.unknownFields3578 default:3579 return nil3580 }3581 }3582 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {3583 switch v := v.(*ExportTestCasesResponse); i {3584 case 0:3585 return &v.state3586 case 1:3587 return &v.sizeCache3588 case 2:3589 return &v.unknownFields3590 default:3591 return nil3592 }3593 }3594 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {3595 switch v := v.(*ExportTestCasesMetadata); i {3596 case 0:3597 return &v.state3598 case 1:3599 return &v.sizeCache3600 case 2:3601 return &v.unknownFields3602 default:3603 return nil3604 }3605 }3606 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {3607 switch v := v.(*ListTestCaseResultsRequest); i {3608 case 0:3609 return &v.state3610 case 1:3611 return &v.sizeCache3612 case 2:3613 return &v.unknownFields3614 default:3615 return nil3616 }3617 }3618 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {3619 switch v := v.(*ListTestCaseResultsResponse); i {3620 case 0:3621 return &v.state3622 case 1:3623 return &v.sizeCache3624 case 2:3625 return &v.unknownFields3626 default:3627 return nil3628 }3629 }3630 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {3631 switch v := v.(*ConversationTurn_UserInput); i {3632 case 0:3633 return &v.state3634 case 1:3635 return &v.sizeCache3636 case 2:3637 return &v.unknownFields3638 default:3639 return nil3640 }3641 }3642 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {3643 switch v := v.(*ConversationTurn_VirtualAgentOutput); i {3644 case 0:3645 return &v.state3646 case 1:3647 return &v.sizeCache3648 case 2:3649 return &v.unknownFields3650 default:3651 return nil3652 }3653 }3654 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {3655 switch v := v.(*TransitionCoverage_TransitionNode); i {3656 case 0:3657 return &v.state3658 case 1:3659 return &v.sizeCache3660 case 2:3661 return &v.unknownFields3662 default:3663 return nil3664 }3665 }3666 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {3667 switch v := v.(*TransitionCoverage_Transition); i {3668 case 0:3669 return &v.state3670 case 1:3671 return &v.sizeCache3672 case 2:3673 return &v.unknownFields3674 default:3675 return nil3676 }3677 }3678 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {3679 switch v := v.(*IntentCoverage_Intent); i {3680 case 0:3681 return &v.state3682 case 1:3683 return &v.sizeCache3684 case 2:3685 return &v.unknownFields3686 default:3687 return nil3688 }3689 }3690 }3691 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[8].OneofWrappers = []interface{}{3692 (*CalculateCoverageResponse_IntentCoverage)(nil),3693 (*CalculateCoverageResponse_TransitionCoverage)(nil),3694 }3695 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[22].OneofWrappers = []interface{}{3696 (*ImportTestCasesRequest_GcsUri)(nil),3697 (*ImportTestCasesRequest_Content)(nil),3698 }3699 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[26].OneofWrappers = []interface{}{3700 (*ExportTestCasesRequest_GcsUri)(nil),3701 }3702 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[27].OneofWrappers = []interface{}{3703 (*ExportTestCasesResponse_GcsUri)(nil),3704 (*ExportTestCasesResponse_Content)(nil),3705 }3706 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[33].OneofWrappers = []interface{}{3707 (*TransitionCoverage_TransitionNode_Page)(nil),3708 (*TransitionCoverage_TransitionNode_Flow)(nil),3709 }3710 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes[34].OneofWrappers = []interface{}{3711 (*TransitionCoverage_Transition_TransitionRoute)(nil),3712 (*TransitionCoverage_Transition_EventHandler)(nil),3713 }3714 type x struct{}3715 out := protoimpl.TypeBuilder{3716 File: protoimpl.DescBuilder{3717 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),3718 RawDescriptor: file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDesc,3719 NumEnums: 5,3720 NumMessages: 36,3721 NumExtensions: 0,3722 NumServices: 1,3723 },3724 GoTypes: file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_goTypes,3725 DependencyIndexes: file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_depIdxs,3726 EnumInfos: file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_enumTypes,3727 MessageInfos: file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_msgTypes,3728 }.Build()3729 File_google_cloud_dialogflow_cx_v3beta1_test_case_proto = out.File3730 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_rawDesc = nil3731 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_goTypes = nil3732 file_google_cloud_dialogflow_cx_v3beta1_test_case_proto_depIdxs = nil3733}3734// Reference imports to suppress errors if they are not otherwise used.3735var _ context.Context3736var _ grpc.ClientConnInterface3737// This is a compile-time assertion to ensure that this generated file3738// is compatible with the grpc package it is being compiled against.3739const _ = grpc.SupportPackageIsVersion63740// TestCasesClient is the client API for TestCases service.3741//3742// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.3743type TestCasesClient interface {3744 // Fetches a list of test cases for a given agent.3745 ListTestCases(ctx context.Context, in *ListTestCasesRequest, opts ...grpc.CallOption) (*ListTestCasesResponse, error)3746 // Batch deletes test cases.3747 BatchDeleteTestCases(ctx context.Context, in *BatchDeleteTestCasesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)3748 // Gets a test case.3749 GetTestCase(ctx context.Context, in *GetTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error)3750 // Creates a test case for the given agent.3751 CreateTestCase(ctx context.Context, in *CreateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error)3752 // Updates the specified test case.3753 UpdateTestCase(ctx context.Context, in *UpdateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error)3754 // Kicks off a test case run.3755 RunTestCase(ctx context.Context, in *RunTestCaseRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)3756 // Kicks off a batch run of test cases.3757 BatchRunTestCases(ctx context.Context, in *BatchRunTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)3758 // Calculates the test coverage for an agent.3759 CalculateCoverage(ctx context.Context, in *CalculateCoverageRequest, opts ...grpc.CallOption) (*CalculateCoverageResponse, error)3760 // Imports the test cases from a Cloud Storage bucket or a local file. It3761 // always creates new test cases and won't overwite any existing ones. The3762 // provided ID in the imported test case is neglected.3763 ImportTestCases(ctx context.Context, in *ImportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)3764 // Exports the test cases under the agent to a Cloud Storage bucket or a local3765 // file. Filter can be applied to export a subset of test cases.3766 ExportTestCases(ctx context.Context, in *ExportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)3767 // Fetches a list of results for a given test case.3768 ListTestCaseResults(ctx context.Context, in *ListTestCaseResultsRequest, opts ...grpc.CallOption) (*ListTestCaseResultsResponse, error)3769}3770type testCasesClient struct {3771 cc grpc.ClientConnInterface3772}3773func NewTestCasesClient(cc grpc.ClientConnInterface) TestCasesClient {3774 return &testCasesClient{cc}3775}3776func (c *testCasesClient) ListTestCases(ctx context.Context, in *ListTestCasesRequest, opts ...grpc.CallOption) (*ListTestCasesResponse, error) {3777 out := new(ListTestCasesResponse)3778 err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/ListTestCases", in, out, opts...)3779 if err != nil {3780 return nil, err3781 }3782 return out, nil3783}3784func (c *testCasesClient) BatchDeleteTestCases(ctx context.Context, in *BatchDeleteTestCasesRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {3785 out := new(emptypb.Empty)3786 err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/BatchDeleteTestCases", in, out, opts...)3787 if err != nil {3788 return nil, err3789 }3790 return out, nil3791}3792func (c *testCasesClient) GetTestCase(ctx context.Context, in *GetTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error) {3793 out := new(TestCase)3794 err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/GetTestCase", in, out, opts...)3795 if err != nil {3796 return nil, err3797 }3798 return out, nil3799}3800func (c *testCasesClient) CreateTestCase(ctx context.Context, in *CreateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error) {3801 out := new(TestCase)3802 err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/CreateTestCase", in, out, opts...)3803 if err != nil {3804 return nil, err3805 }3806 return out, nil3807}3808func (c *testCasesClient) UpdateTestCase(ctx context.Context, in *UpdateTestCaseRequest, opts ...grpc.CallOption) (*TestCase, error) {3809 out := new(TestCase)3810 err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/UpdateTestCase", in, out, opts...)3811 if err != nil {3812 return nil, err3813 }3814 return out, nil3815}3816func (c *testCasesClient) RunTestCase(ctx context.Context, in *RunTestCaseRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {3817 out := new(longrunning.Operation)3818 err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/RunTestCase", in, out, opts...)3819 if err != nil {3820 return nil, err3821 }3822 return out, nil3823}3824func (c *testCasesClient) BatchRunTestCases(ctx context.Context, in *BatchRunTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {3825 out := new(longrunning.Operation)3826 err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/BatchRunTestCases", in, out, opts...)3827 if err != nil {3828 return nil, err3829 }3830 return out, nil3831}3832func (c *testCasesClient) CalculateCoverage(ctx context.Context, in *CalculateCoverageRequest, opts ...grpc.CallOption) (*CalculateCoverageResponse, error) {3833 out := new(CalculateCoverageResponse)3834 err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/CalculateCoverage", in, out, opts...)3835 if err != nil {3836 return nil, err3837 }3838 return out, nil3839}3840func (c *testCasesClient) ImportTestCases(ctx context.Context, in *ImportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {3841 out := new(longrunning.Operation)3842 err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/ImportTestCases", in, out, opts...)3843 if err != nil {3844 return nil, err3845 }3846 return out, nil3847}3848func (c *testCasesClient) ExportTestCases(ctx context.Context, in *ExportTestCasesRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {3849 out := new(longrunning.Operation)3850 err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/ExportTestCases", in, out, opts...)3851 if err != nil {3852 return nil, err3853 }3854 return out, nil3855}3856func (c *testCasesClient) ListTestCaseResults(ctx context.Context, in *ListTestCaseResultsRequest, opts ...grpc.CallOption) (*ListTestCaseResultsResponse, error) {3857 out := new(ListTestCaseResultsResponse)3858 err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.cx.v3beta1.TestCases/ListTestCaseResults", in, out, opts...)3859 if err != nil {3860 return nil, err3861 }3862 return out, nil3863}3864// TestCasesServer is the server API for TestCases service.3865type TestCasesServer interface {3866 // Fetches a list of test cases for a given agent.3867 ListTestCases(context.Context, *ListTestCasesRequest) (*ListTestCasesResponse, error)3868 // Batch deletes test cases.3869 BatchDeleteTestCases(context.Context, *BatchDeleteTestCasesRequest) (*emptypb.Empty, error)3870 // Gets a test case.3871 GetTestCase(context.Context, *GetTestCaseRequest) (*TestCase, error)3872 // Creates a test case for the given agent.3873 CreateTestCase(context.Context, *CreateTestCaseRequest) (*TestCase, error)3874 // Updates the specified test case.3875 UpdateTestCase(context.Context, *UpdateTestCaseRequest) (*TestCase, error)3876 // Kicks off a test case run.3877 RunTestCase(context.Context, *RunTestCaseRequest) (*longrunning.Operation, error)3878 // Kicks off a batch run of test cases.3879 BatchRunTestCases(context.Context, *BatchRunTestCasesRequest) (*longrunning.Operation, error)3880 // Calculates the test coverage for an agent.3881 CalculateCoverage(context.Context, *CalculateCoverageRequest) (*CalculateCoverageResponse, error)3882 // Imports the test cases from a Cloud Storage bucket or a local file. It3883 // always creates new test cases and won't overwite any existing ones. The3884 // provided ID in the imported test case is neglected.3885 ImportTestCases(context.Context, *ImportTestCasesRequest) (*longrunning.Operation, error)3886 // Exports the test cases under the agent to a Cloud Storage bucket or a local3887 // file. Filter can be applied to export a subset of test cases.3888 ExportTestCases(context.Context, *ExportTestCasesRequest) (*longrunning.Operation, error)3889 // Fetches a list of results for a given test case.3890 ListTestCaseResults(context.Context, *ListTestCaseResultsRequest) (*ListTestCaseResultsResponse, error)3891}3892// UnimplementedTestCasesServer can be embedded to have forward compatible implementations.3893type UnimplementedTestCasesServer struct {3894}3895func (*UnimplementedTestCasesServer) ListTestCases(context.Context, *ListTestCasesRequest) (*ListTestCasesResponse, error) {3896 return nil, status1.Errorf(codes.Unimplemented, "method ListTestCases not implemented")3897}3898func (*UnimplementedTestCasesServer) BatchDeleteTestCases(context.Context, *BatchDeleteTestCasesRequest) (*emptypb.Empty, error) {3899 return nil, status1.Errorf(codes.Unimplemented, "method BatchDeleteTestCases not implemented")3900}3901func (*UnimplementedTestCasesServer) GetTestCase(context.Context, *GetTestCaseRequest) (*TestCase, error) {3902 return nil, status1.Errorf(codes.Unimplemented, "method GetTestCase not implemented")3903}3904func (*UnimplementedTestCasesServer) CreateTestCase(context.Context, *CreateTestCaseRequest) (*TestCase, error) {3905 return nil, status1.Errorf(codes.Unimplemented, "method CreateTestCase not implemented")3906}3907func (*UnimplementedTestCasesServer) UpdateTestCase(context.Context, *UpdateTestCaseRequest) (*TestCase, error) {3908 return nil, status1.Errorf(codes.Unimplemented, "method UpdateTestCase not implemented")3909}3910func (*UnimplementedTestCasesServer) RunTestCase(context.Context, *RunTestCaseRequest) (*longrunning.Operation, error) {3911 return nil, status1.Errorf(codes.Unimplemented, "method RunTestCase not implemented")3912}3913func (*UnimplementedTestCasesServer) BatchRunTestCases(context.Context, *BatchRunTestCasesRequest) (*longrunning.Operation, error) {3914 return nil, status1.Errorf(codes.Unimplemented, "method BatchRunTestCases not implemented")3915}3916func (*UnimplementedTestCasesServer) CalculateCoverage(context.Context, *CalculateCoverageRequest) (*CalculateCoverageResponse, error) {3917 return nil, status1.Errorf(codes.Unimplemented, "method CalculateCoverage not implemented")3918}3919func (*UnimplementedTestCasesServer) ImportTestCases(context.Context, *ImportTestCasesRequest) (*longrunning.Operation, error) {3920 return nil, status1.Errorf(codes.Unimplemented, "method ImportTestCases not implemented")3921}3922func (*UnimplementedTestCasesServer) ExportTestCases(context.Context, *ExportTestCasesRequest) (*longrunning.Operation, error) {3923 return nil, status1.Errorf(codes.Unimplemented, "method ExportTestCases not implemented")3924}3925func (*UnimplementedTestCasesServer) ListTestCaseResults(context.Context, *ListTestCaseResultsRequest) (*ListTestCaseResultsResponse, error) {3926 return nil, status1.Errorf(codes.Unimplemented, "method ListTestCaseResults not implemented")3927}3928func RegisterTestCasesServer(s *grpc.Server, srv TestCasesServer) {3929 s.RegisterService(&_TestCases_serviceDesc, srv)3930}3931func _TestCases_ListTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {3932 in := new(ListTestCasesRequest)3933 if err := dec(in); err != nil {3934 return nil, err3935 }3936 if interceptor == nil {3937 return srv.(TestCasesServer).ListTestCases(ctx, in)3938 }3939 info := &grpc.UnaryServerInfo{3940 Server: srv,3941 FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/ListTestCases",3942 }3943 handler := func(ctx context.Context, req interface{}) (interface{}, error) {3944 return srv.(TestCasesServer).ListTestCases(ctx, req.(*ListTestCasesRequest))3945 }3946 return interceptor(ctx, in, info, handler)3947}3948func _TestCases_BatchDeleteTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {3949 in := new(BatchDeleteTestCasesRequest)3950 if err := dec(in); err != nil {3951 return nil, err3952 }3953 if interceptor == nil {3954 return srv.(TestCasesServer).BatchDeleteTestCases(ctx, in)3955 }3956 info := &grpc.UnaryServerInfo{3957 Server: srv,3958 FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/BatchDeleteTestCases",3959 }3960 handler := func(ctx context.Context, req interface{}) (interface{}, error) {3961 return srv.(TestCasesServer).BatchDeleteTestCases(ctx, req.(*BatchDeleteTestCasesRequest))3962 }3963 return interceptor(ctx, in, info, handler)3964}3965func _TestCases_GetTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {3966 in := new(GetTestCaseRequest)3967 if err := dec(in); err != nil {3968 return nil, err3969 }3970 if interceptor == nil {3971 return srv.(TestCasesServer).GetTestCase(ctx, in)3972 }3973 info := &grpc.UnaryServerInfo{3974 Server: srv,3975 FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/GetTestCase",3976 }3977 handler := func(ctx context.Context, req interface{}) (interface{}, error) {3978 return srv.(TestCasesServer).GetTestCase(ctx, req.(*GetTestCaseRequest))3979 }3980 return interceptor(ctx, in, info, handler)3981}3982func _TestCases_CreateTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {3983 in := new(CreateTestCaseRequest)3984 if err := dec(in); err != nil {3985 return nil, err3986 }3987 if interceptor == nil {3988 return srv.(TestCasesServer).CreateTestCase(ctx, in)3989 }3990 info := &grpc.UnaryServerInfo{3991 Server: srv,3992 FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/CreateTestCase",3993 }3994 handler := func(ctx context.Context, req interface{}) (interface{}, error) {3995 return srv.(TestCasesServer).CreateTestCase(ctx, req.(*CreateTestCaseRequest))3996 }3997 return interceptor(ctx, in, info, handler)3998}3999func _TestCases_UpdateTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {4000 in := new(UpdateTestCaseRequest)4001 if err := dec(in); err != nil {4002 return nil, err4003 }4004 if interceptor == nil {4005 return srv.(TestCasesServer).UpdateTestCase(ctx, in)4006 }4007 info := &grpc.UnaryServerInfo{4008 Server: srv,4009 FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/UpdateTestCase",4010 }4011 handler := func(ctx context.Context, req interface{}) (interface{}, error) {4012 return srv.(TestCasesServer).UpdateTestCase(ctx, req.(*UpdateTestCaseRequest))4013 }4014 return interceptor(ctx, in, info, handler)4015}4016func _TestCases_RunTestCase_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {4017 in := new(RunTestCaseRequest)4018 if err := dec(in); err != nil {4019 return nil, err4020 }4021 if interceptor == nil {4022 return srv.(TestCasesServer).RunTestCase(ctx, in)4023 }4024 info := &grpc.UnaryServerInfo{4025 Server: srv,4026 FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/RunTestCase",4027 }4028 handler := func(ctx context.Context, req interface{}) (interface{}, error) {4029 return srv.(TestCasesServer).RunTestCase(ctx, req.(*RunTestCaseRequest))4030 }4031 return interceptor(ctx, in, info, handler)4032}4033func _TestCases_BatchRunTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {4034 in := new(BatchRunTestCasesRequest)4035 if err := dec(in); err != nil {4036 return nil, err4037 }4038 if interceptor == nil {4039 return srv.(TestCasesServer).BatchRunTestCases(ctx, in)4040 }4041 info := &grpc.UnaryServerInfo{4042 Server: srv,4043 FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/BatchRunTestCases",4044 }4045 handler := func(ctx context.Context, req interface{}) (interface{}, error) {4046 return srv.(TestCasesServer).BatchRunTestCases(ctx, req.(*BatchRunTestCasesRequest))4047 }4048 return interceptor(ctx, in, info, handler)4049}4050func _TestCases_CalculateCoverage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {4051 in := new(CalculateCoverageRequest)4052 if err := dec(in); err != nil {4053 return nil, err4054 }4055 if interceptor == nil {4056 return srv.(TestCasesServer).CalculateCoverage(ctx, in)4057 }4058 info := &grpc.UnaryServerInfo{4059 Server: srv,4060 FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/CalculateCoverage",4061 }4062 handler := func(ctx context.Context, req interface{}) (interface{}, error) {4063 return srv.(TestCasesServer).CalculateCoverage(ctx, req.(*CalculateCoverageRequest))4064 }4065 return interceptor(ctx, in, info, handler)4066}4067func _TestCases_ImportTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {4068 in := new(ImportTestCasesRequest)4069 if err := dec(in); err != nil {4070 return nil, err4071 }4072 if interceptor == nil {4073 return srv.(TestCasesServer).ImportTestCases(ctx, in)4074 }4075 info := &grpc.UnaryServerInfo{4076 Server: srv,4077 FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/ImportTestCases",4078 }4079 handler := func(ctx context.Context, req interface{}) (interface{}, error) {4080 return srv.(TestCasesServer).ImportTestCases(ctx, req.(*ImportTestCasesRequest))4081 }4082 return interceptor(ctx, in, info, handler)4083}4084func _TestCases_ExportTestCases_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {4085 in := new(ExportTestCasesRequest)4086 if err := dec(in); err != nil {4087 return nil, err4088 }4089 if interceptor == nil {4090 return srv.(TestCasesServer).ExportTestCases(ctx, in)4091 }4092 info := &grpc.UnaryServerInfo{4093 Server: srv,4094 FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/ExportTestCases",4095 }4096 handler := func(ctx context.Context, req interface{}) (interface{}, error) {4097 return srv.(TestCasesServer).ExportTestCases(ctx, req.(*ExportTestCasesRequest))4098 }4099 return interceptor(ctx, in, info, handler)4100}4101func _TestCases_ListTestCaseResults_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {4102 in := new(ListTestCaseResultsRequest)4103 if err := dec(in); err != nil {4104 return nil, err4105 }4106 if interceptor == nil {4107 return srv.(TestCasesServer).ListTestCaseResults(ctx, in)4108 }4109 info := &grpc.UnaryServerInfo{4110 Server: srv,4111 FullMethod: "/google.cloud.dialogflow.cx.v3beta1.TestCases/ListTestCaseResults",4112 }4113 handler := func(ctx context.Context, req interface{}) (interface{}, error) {4114 return srv.(TestCasesServer).ListTestCaseResults(ctx, req.(*ListTestCaseResultsRequest))4115 }4116 return interceptor(ctx, in, info, handler)4117}4118var _TestCases_serviceDesc = grpc.ServiceDesc{4119 ServiceName: "google.cloud.dialogflow.cx.v3beta1.TestCases",4120 HandlerType: (*TestCasesServer)(nil),4121 Methods: []grpc.MethodDesc{4122 {4123 MethodName: "ListTestCases",4124 Handler: _TestCases_ListTestCases_Handler,4125 },4126 {4127 MethodName: "BatchDeleteTestCases",4128 Handler: _TestCases_BatchDeleteTestCases_Handler,4129 },4130 {4131 MethodName: "GetTestCase",4132 Handler: _TestCases_GetTestCase_Handler,4133 },4134 {4135 MethodName: "CreateTestCase",4136 Handler: _TestCases_CreateTestCase_Handler,4137 },4138 {4139 MethodName: "UpdateTestCase",4140 Handler: _TestCases_UpdateTestCase_Handler,4141 },4142 {4143 MethodName: "RunTestCase",4144 Handler: _TestCases_RunTestCase_Handler,4145 },4146 {4147 MethodName: "BatchRunTestCases",4148 Handler: _TestCases_BatchRunTestCases_Handler,4149 },4150 {4151 MethodName: "CalculateCoverage",4152 Handler: _TestCases_CalculateCoverage_Handler,4153 },4154 {...

Full Screen

Full Screen

schema.resolvers.go

Source:schema.resolvers.go Github

copy

Full Screen

...10 "go.keploy.io/server/graph/model"11 "go.keploy.io/server/pkg"12 "go.keploy.io/server/pkg/models"13)14func (r *mutationResolver) UpdateTestCase(ctx context.Context, tc []*model.TestCaseInput) (bool, error) {15 var tcs []models.TestCase16 for _, t := range tc {17 tcs = append(tcs, ConvertTestCaseInput(t))18 }19 err := r.reg.UpdateTC(ctx, tcs)20 if err != nil {21 return false, err22 }23 return true, nil24}25func (r *mutationResolver) DeleteTestCase(ctx context.Context, id string) (bool, error) {26 err := r.reg.DeleteTC(ctx, DEFAULT_COMPANY, id)27 if err != nil {28 return false, err...

Full Screen

Full Screen

UpdateTestCase

Using AI Code Generation

copy

Full Screen

1import (2func main() {3 g := graph.New(5)4 g.AddEdge(0, 1)5 g.AddEdge(0, 4)6 g.AddEdge(1, 2)7 g.AddEdge(1, 3)8 g.AddEdge(1, 4)9 g.AddEdge(2, 3)10 g.AddEdge(3, 4)11 g.UpdateTestCase(0, 3, 1)12 g.UpdateTestCase(1, 3, 1)13 g.UpdateTestCase(2, 3, 1)14 g.UpdateTestCase(3, 3, 1)15 g.UpdateTestCase(4, 3, 1)16 g.UpdateTestCase(0, 4, 1)17 g.UpdateTestCase(1, 4, 1)18 g.UpdateTestCase(2, 4, 1)19 g.UpdateTestCase(3, 4, 1)20 g.UpdateTestCase(4, 4, 1)21 g.UpdateTestCase(0, 5, 1)22 g.UpdateTestCase(1, 5, 1)23 g.UpdateTestCase(2, 5, 1)24 g.UpdateTestCase(3, 5, 1)25 g.UpdateTestCase(4, 5, 1)26 g.UpdateTestCase(0, 6, 1)27 g.UpdateTestCase(1, 6, 1)28 g.UpdateTestCase(2, 6, 1)29 g.UpdateTestCase(3, 6, 1)30 g.UpdateTestCase(4, 6, 1)31 g.UpdateTestCase(0, 7, 1)32 g.UpdateTestCase(1, 7, 1)33 g.UpdateTestCase(2, 7, 1)34 g.UpdateTestCase(3, 7, 1)35 g.UpdateTestCase(4, 7, 1)36 g.UpdateTestCase(0, 8, 1)37 g.UpdateTestCase(1, 8, 1)38 g.UpdateTestCase(2, 8, 1)39 g.UpdateTestCase(3, 8, 1)40 g.UpdateTestCase(4, 8, 1)41 g.UpdateTestCase(0, 9, 1)42 g.UpdateTestCase(1, 9, 1)43 g.UpdateTestCase(2, 9, 1)44 g.UpdateTestCase(3, 9, 1)

Full Screen

Full Screen

UpdateTestCase

Using AI Code Generation

copy

Full Screen

1import (2func main() {3 g.CreateGraph(5)4 g.AddEdge(1, 2)5 g.AddEdge(1, 3)6 g.AddEdge(2, 3)7 g.AddEdge(3, 4)8 g.AddEdge(3, 5)9 g.AddEdge(4, 5)10 g.AddEdge(5, 1)11 g.UpdateTestCase(1, 5)12}13import (14type Graph struct {15}16func (g *Graph) CreateGraph(n int) {17 g.adjList = make(map[int][]int)18 for i := 1; i <= n; i++ {19 g.adjList[i] = make([]int, 0)20 }21}22func (g *Graph) AddEdge(src, dest int) {23 g.adjList[src] = append(g.adjList[src], dest)24}25func (g *Graph) UpdateTestCase(src, dest int) {26 g.AddEdge(src, dest)27 g.AddEdge(dest, src)28 fmt.Println(g.adjList)29}

Full Screen

Full Screen

UpdateTestCase

Using AI Code Generation

copy

Full Screen

1func main(){2 g := graph.New()3 g.AddVertex("A")4 g.AddVertex("B")5 g.AddVertex("C")6 g.AddVertex("D")7 g.AddVertex("E")8 g.AddVertex("F")9 g.AddVertex("G")10 g.AddVertex("H")11 g.AddVertex("I")12 g.AddVertex("J")13 g.AddVertex("K")14 g.AddVertex("L")15 g.AddVertex("M")16 g.AddVertex("N")17 g.AddVertex("O")18 g.AddVertex("P")19 g.AddVertex("Q")20 g.AddVertex("R")21 g.AddVertex("S")22 g.AddVertex("T")23 g.AddVertex("U")24 g.AddVertex("V")25 g.AddVertex("W")26 g.AddVertex("X")27 g.AddVertex("Y")28 g.AddVertex("Z")29 g.AddEdge("A", "B", 4)30 g.AddEdge("A", "C", 2)31 g.AddEdge("B", "D", 5)32 g.AddEdge("B", "E", 10)33 g.AddEdge("C", "F", 3)34 g.AddEdge("C", "G", 11)35 g.AddEdge("D", "H", 9)36 g.AddEdge("D", "I", 8)37 g.AddEdge("E", "J", 1)38 g.AddEdge("E", "K", 7)39 g.AddEdge("F", "L", 12)40 g.AddEdge("F", "M", 6)41 g.AddEdge("G", "N", 13)42 g.AddEdge("G", "O", 14)43 g.AddEdge("H", "P", 15)44 g.AddEdge("H", "Q", 16)45 g.AddEdge("I", "R", 17)46 g.AddEdge("I", "S", 18)47 g.AddEdge("J", "T", 19)48 g.AddEdge("J", "U", 20)49 g.AddEdge("K", "V", 21)50 g.AddEdge("K", "W", 22)

Full Screen

Full Screen

UpdateTestCase

Using AI Code Generation

copy

Full Screen

1import (2func main() {3 g := graph.NewGraph()4 g.AddNode("A")5 g.AddNode("B")6 g.AddNode("C")7 g.AddNode("D")8 g.AddNode("E")9 g.AddNode("F")10 g.AddNode("G")11 g.AddNode("H")12 g.AddNode("I")13 g.AddNode("J")14 g.AddNode("K")15 g.AddNode("L")16 g.AddNode("M")17 g.AddNode("N")18 g.AddNode("O")19 g.AddNode("P")20 g.AddNode("Q")21 g.AddNode("R")22 g.AddNode("S")23 g.AddNode("T")24 g.AddNode("U")25 g.AddNode("V")26 g.AddNode("W")27 g.AddNode("X")28 g.AddNode("Y")29 g.AddNode("Z")30 g.AddNode("1")31 g.AddNode("2")32 g.AddNode("3")33 g.AddNode("4")34 g.AddNode("5")35 g.AddNode("6")36 g.AddNode("7")37 g.AddNode("8")38 g.AddNode("9")39 g.AddNode("10")40 g.AddNode("11")41 g.AddNode("12")42 g.AddNode("13")43 g.AddNode("14")44 g.AddNode("15")45 g.AddNode("16")46 g.AddNode("17")47 g.AddNode("18")48 g.AddNode("19")49 g.AddNode("20")50 g.AddNode("21")51 g.AddNode("22")52 g.AddNode("23")53 g.AddNode("24")54 g.AddNode("25")55 g.AddNode("26")56 g.AddNode("27")57 g.AddNode("28")58 g.AddNode("29")59 g.AddNode("30")60 g.AddNode("31")61 g.AddNode("32")62 g.AddNode("33")63 g.AddNode("34")64 g.AddNode("35")65 g.AddNode("36")66 g.AddNode("37")67 g.AddNode("38")68 g.AddNode("39")69 g.AddNode("40")70 g.AddNode("41")71 g.AddNode("42")72 g.AddNode("43")73 g.AddNode("44")74 g.AddNode("45")75 g.AddNode("46")76 g.AddNode("47")77 g.AddNode("48")78 g.AddNode("49")

Full Screen

Full Screen

UpdateTestCase

Using AI Code Generation

copy

Full Screen

1import (2func main() {3 testCase := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}4 g := graph.NewGraph(testCase)5 g.UpdateTestCase(5, 10)6 fmt.Println(g.GetTestCase())7}8import (9func main() {10 testCase := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}11 g := graph.NewGraph(testCase)12 g.UpdateTestCase(2, 10)13 fmt.Println(g.GetTestCase())14}

Full Screen

Full Screen

UpdateTestCase

Using AI Code Generation

copy

Full Screen

1import (2func main() {3 g = graph.NewGraph(5)4 g.AddEdge(0, 1)5 g.AddEdge(0, 4)6 g.AddEdge(1, 2)7 g.AddEdge(1, 3)8 g.AddEdge(1, 4)9 g.AddEdge(2, 3)10 g.AddEdge(3, 4)11 fmt.Println(g)12 g.UpdateTestCase(1, 2, 3, 4, 5)13 fmt.Println(g)14}15func (g *Graph) DeleteTestCase(a, b, c, d, e int) {16 if g.Contains(a) {17 g.RemoveVertex(a)18 }19 if g.Contains(b) {20 g.RemoveVertex(b)21 }22 if g.Contains(c) {23 g.RemoveVertex(c)24 }25 if g.Contains(d) {26 g.RemoveVertex(d)27 }28 if g.Contains(e) {

Full Screen

Full Screen

UpdateTestCase

Using AI Code Generation

copy

Full Screen

1import (2func main() {3 g := graph.NewGraph()4 g.AddNode("A")5 g.AddNode("B")6 g.AddNode("C")7 g.AddNode("D")8 g.AddNode("E")9 g.AddNode("F")10 g.AddNode("G")11 g.AddNode("H")12 g.AddNode("I")13 g.AddNode("J")14 g.AddNode("K")15 g.AddNode("L")16 g.AddNode("M")17 g.AddNode("N")18 g.AddNode("O")19 g.AddNode("P")20 g.AddNode("Q")21 g.AddNode("R")22 g.AddNode("S")23 g.AddNode("T")24 g.AddNode("U")25 g.AddNode("V")26 g.AddNode("W")27 g.AddNode("X")28 g.AddNode("Y")29 g.AddNode("Z")30 g.AddEdge("A", "B")31 g.AddEdge("A", "C")32 g.AddEdge("B", "C")33 g.AddEdge("B", "D")34 g.AddEdge("C", "E")35 g.AddEdge("C", "F")36 g.AddEdge("C", "G")37 g.AddEdge("D", "G")38 g.AddEdge("E", "G")39 g.AddEdge("F", "G")40 g.AddEdge("G", "H")41 g.AddEdge("G", "I")42 g.AddEdge("G", "J")43 g.AddEdge("H", "K")44 g.AddEdge("H", "L")45 g.AddEdge("J", "M")46 g.AddEdge("J", "N")47 g.AddEdge("K", "O")48 g.AddEdge("K", "P")49 g.AddEdge("L", "Q")50 g.AddEdge("L", "R")51 g.AddEdge("M", "S")52 g.AddEdge("M", "T")53 g.AddEdge("N", "U")54 g.AddEdge("N", "V")55 g.AddEdge("O", "W")56 g.AddEdge("O", "X")57 g.AddEdge("P", "Y")58 g.AddEdge("P", "Z")59 fmt.Println(g)60 g.UpdateTestCase("

Full Screen

Full Screen

UpdateTestCase

Using AI Code Generation

copy

Full Screen

1import (2func main() {3 g.CreateGraph()4 g.UpdateTestCase(1, 2, 5)5 g.UpdateTestCase(2, 3, 5)6 g.UpdateTestCase(3, 4, 5)7 g.UpdateTestCase(4, 5, 5)8 g.UpdateTestCase(5, 6, 5)9 g.UpdateTestCase(6, 7, 5)10 g.UpdateTestCase(7, 8, 5)11 g.UpdateTestCase(8, 9, 5)12 g.UpdateTestCase(9, 10, 5)13 g.UpdateTestCase(10, 11, 5)14 g.UpdateTestCase(11, 12, 5)15 g.UpdateTestCase(12, 13, 5)16 g.UpdateTestCase(13, 14, 5)17 g.UpdateTestCase(14, 15, 5)18 g.UpdateTestCase(15, 16, 5)19 g.UpdateTestCase(16, 17, 5)20 g.UpdateTestCase(17, 18, 5)21 g.UpdateTestCase(18, 19, 5)22 g.UpdateTestCase(19, 20, 5)23 g.UpdateTestCase(20, 21, 5)24 g.UpdateTestCase(21, 22, 5)25 g.UpdateTestCase(22, 23, 5)26 g.UpdateTestCase(23, 24, 5)27 g.UpdateTestCase(24, 25, 5)28 g.UpdateTestCase(25, 26, 5)29 g.UpdateTestCase(26, 27, 5)30 g.UpdateTestCase(27, 28, 5)31 g.UpdateTestCase(28, 29, 5)32 g.UpdateTestCase(29, 30, 5)33 g.UpdateTestCase(30, 31, 5)34 g.UpdateTestCase(31, 32, 5)35 g.UpdateTestCase(32, 33, 5)36 g.UpdateTestCase(33, 34, 5)37 g.UpdateTestCase(34, 35, 5)38 g.UpdateTestCase(35, 36, 5)39 g.UpdateTestCase(36, 37, 5)40 g.UpdateTestCase(37, 38, 5)41 g.UpdateTestCase(38, 39, 5)42 g.UpdateTestCase(

Full Screen

Full Screen

UpdateTestCase

Using AI Code Generation

copy

Full Screen

1import (2func main() {3 graph.UpdateTestCase("TestCase1", "test1")4 fmt.Println(graph.TestCases)5}6import (7func main() {8 graph.UpdateTestCase("TestCase1", "test1")9 fmt.Println(graph.TestCases)10}11import (12func main() {13 graph.UpdateTestCase("TestCase1", "test1")14 fmt.Println(graph.TestCases)15}16import (17func main() {18 graph.UpdateTestCase("TestCase1", "test1")19 fmt.Println(graph.TestCases)20}21import (22func main() {23 graph.UpdateTestCase("TestCase1", "test1")24 fmt.Println(graph.TestCases)25}26import (27func main() {28 graph.UpdateTestCase("TestCase1", "test1")29 fmt.Println(graph.TestCases)30}31import (32func main() {33 graph.UpdateTestCase("TestCase1", "test1")34 fmt.Println(graph.TestCases)35}36import (37func main() {38 graph.UpdateTestCase("TestCase1", "test1")39 fmt.Println(graph.TestCases)40}

Full Screen

Full Screen

UpdateTestCase

Using AI Code Generation

copy

Full Screen

1func main() {2 file, err := ioutil.ReadFile("testcase.json")3 if err != nil {4 fmt.Println("File reading error", err)5 }6 err = json.Unmarshal([]byte(file), &testcase)7 if err != nil {8 fmt.Println("Error in unmarshalling", err)9 }10 g.UpdateTestCase(testcase)11 g.UpdateTestCaseDB(testcase)12}13func (g *Graph) UpdateTestCase(testcase TestCase) {14 node := g.GetNode(testcase.Id)15}16func (g *Graph) UpdateTestCaseDB(testcase TestCase) {17 session := g.Session.Copy()18 defer session.Close()19 c := session.DB("test").C("nodes")20 err := c.Update(bson.M{"id": testcase.Id}, bson.M{"$set": bson.M{"testcase": testcase}})21 if err != nil {22 fmt.Println("Error in updating testcase", err)23 }24}25{

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful