{
  "options": {
    "syntax": "proto3"
  },
  "nested": {
    "google": {
      "nested": {
        "datastore": {
          "nested": {
            "admin": {
              "nested": {
                "v1": {
                  "options": {
                    "csharp_namespace": "Google.Cloud.Datastore.Admin.V1",
                    "go_package": "cloud.google.com/go/datastore/admin/apiv1/adminpb;adminpb",
                    "java_multiple_files": true,
                    "java_outer_classname": "MigrationProto",
                    "java_package": "com.google.datastore.admin.v1",
                    "php_namespace": "Google\\Cloud\\Datastore\\Admin\\V1",
                    "ruby_package": "Google::Cloud::Datastore::Admin::V1"
                  },
                  "nested": {
                    "DatastoreAdmin": {
                      "options": {
                        "(google.api.default_host)": "datastore.googleapis.com",
                        "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/datastore"
                      },
                      "methods": {
                        "ExportEntities": {
                          "requestType": "ExportEntitiesRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v1/projects/{project_id}:export",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "project_id,labels,entity_filter,output_url_prefix",
                            "(google.longrunning.operation_info).response_type": "ExportEntitiesResponse",
                            "(google.longrunning.operation_info).metadata_type": "ExportEntitiesMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/projects/{project_id}:export",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "project_id,labels,entity_filter,output_url_prefix"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "ExportEntitiesResponse",
                                "metadata_type": "ExportEntitiesMetadata"
                              }
                            }
                          ]
                        },
                        "ImportEntities": {
                          "requestType": "ImportEntitiesRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v1/projects/{project_id}:import",
                            "(google.api.http).body": "*",
                            "(google.api.method_signature)": "project_id,labels,input_url,entity_filter",
                            "(google.longrunning.operation_info).response_type": "google.protobuf.Empty",
                            "(google.longrunning.operation_info).metadata_type": "ImportEntitiesMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/projects/{project_id}:import",
                                "body": "*"
                              }
                            },
                            {
                              "(google.api.method_signature)": "project_id,labels,input_url,entity_filter"
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "google.protobuf.Empty",
                                "metadata_type": "ImportEntitiesMetadata"
                              }
                            }
                          ]
                        },
                        "CreateIndex": {
                          "requestType": "CreateIndexRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).post": "/v1/projects/{project_id}/indexes",
                            "(google.api.http).body": "index",
                            "(google.longrunning.operation_info).response_type": "Index",
                            "(google.longrunning.operation_info).metadata_type": "IndexOperationMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "post": "/v1/projects/{project_id}/indexes",
                                "body": "index"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "Index",
                                "metadata_type": "IndexOperationMetadata"
                              }
                            }
                          ]
                        },
                        "DeleteIndex": {
                          "requestType": "DeleteIndexRequest",
                          "responseType": "google.longrunning.Operation",
                          "options": {
                            "(google.api.http).delete": "/v1/projects/{project_id}/indexes/{index_id}",
                            "(google.longrunning.operation_info).response_type": "Index",
                            "(google.longrunning.operation_info).metadata_type": "IndexOperationMetadata"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "delete": "/v1/projects/{project_id}/indexes/{index_id}"
                              }
                            },
                            {
                              "(google.longrunning.operation_info)": {
                                "response_type": "Index",
                                "metadata_type": "IndexOperationMetadata"
                              }
                            }
                          ]
                        },
                        "GetIndex": {
                          "requestType": "GetIndexRequest",
                          "responseType": "Index",
                          "options": {
                            "(google.api.http).get": "/v1/projects/{project_id}/indexes/{index_id}"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/projects/{project_id}/indexes/{index_id}"
                              }
                            }
                          ]
                        },
                        "ListIndexes": {
                          "requestType": "ListIndexesRequest",
                          "responseType": "ListIndexesResponse",
                          "options": {
                            "(google.api.http).get": "/v1/projects/{project_id}/indexes"
                          },
                          "parsedOptions": [
                            {
                              "(google.api.http)": {
                                "get": "/v1/projects/{project_id}/indexes"
                              }
                            }
                          ]
                        }
                      }
                    },
                    "CommonMetadata": {
                      "fields": {
                        "startTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 1
                        },
                        "endTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 2
                        },
                        "operationType": {
                          "type": "OperationType",
                          "id": 3
                        },
                        "labels": {
                          "keyType": "string",
                          "type": "string",
                          "id": 4
                        },
                        "state": {
                          "type": "State",
                          "id": 5
                        }
                      },
                      "nested": {
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "INITIALIZING": 1,
                            "PROCESSING": 2,
                            "CANCELLING": 3,
                            "FINALIZING": 4,
                            "SUCCESSFUL": 5,
                            "FAILED": 6,
                            "CANCELLED": 7
                          }
                        }
                      }
                    },
                    "Progress": {
                      "fields": {
                        "workCompleted": {
                          "type": "int64",
                          "id": 1
                        },
                        "workEstimated": {
                          "type": "int64",
                          "id": 2
                        }
                      }
                    },
                    "ExportEntitiesRequest": {
                      "fields": {
                        "projectId": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "labels": {
                          "keyType": "string",
                          "type": "string",
                          "id": 2
                        },
                        "entityFilter": {
                          "type": "EntityFilter",
                          "id": 3
                        },
                        "outputUrlPrefix": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        }
                      }
                    },
                    "ImportEntitiesRequest": {
                      "fields": {
                        "projectId": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "labels": {
                          "keyType": "string",
                          "type": "string",
                          "id": 2
                        },
                        "inputUrl": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "entityFilter": {
                          "type": "EntityFilter",
                          "id": 4
                        }
                      }
                    },
                    "ExportEntitiesResponse": {
                      "fields": {
                        "outputUrl": {
                          "type": "string",
                          "id": 1
                        }
                      }
                    },
                    "ExportEntitiesMetadata": {
                      "fields": {
                        "common": {
                          "type": "CommonMetadata",
                          "id": 1
                        },
                        "progressEntities": {
                          "type": "Progress",
                          "id": 2
                        },
                        "progressBytes": {
                          "type": "Progress",
                          "id": 3
                        },
                        "entityFilter": {
                          "type": "EntityFilter",
                          "id": 4
                        },
                        "outputUrlPrefix": {
                          "type": "string",
                          "id": 5
                        }
                      }
                    },
                    "ImportEntitiesMetadata": {
                      "fields": {
                        "common": {
                          "type": "CommonMetadata",
                          "id": 1
                        },
                        "progressEntities": {
                          "type": "Progress",
                          "id": 2
                        },
                        "progressBytes": {
                          "type": "Progress",
                          "id": 3
                        },
                        "entityFilter": {
                          "type": "EntityFilter",
                          "id": 4
                        },
                        "inputUrl": {
                          "type": "string",
                          "id": 5
                        }
                      }
                    },
                    "EntityFilter": {
                      "fields": {
                        "kinds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 1
                        },
                        "namespaceIds": {
                          "rule": "repeated",
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "CreateIndexRequest": {
                      "fields": {
                        "projectId": {
                          "type": "string",
                          "id": 1
                        },
                        "index": {
                          "type": "Index",
                          "id": 3
                        }
                      }
                    },
                    "DeleteIndexRequest": {
                      "fields": {
                        "projectId": {
                          "type": "string",
                          "id": 1
                        },
                        "indexId": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "GetIndexRequest": {
                      "fields": {
                        "projectId": {
                          "type": "string",
                          "id": 1
                        },
                        "indexId": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "ListIndexesRequest": {
                      "fields": {
                        "projectId": {
                          "type": "string",
                          "id": 1
                        },
                        "filter": {
                          "type": "string",
                          "id": 3
                        },
                        "pageSize": {
                          "type": "int32",
                          "id": 4
                        },
                        "pageToken": {
                          "type": "string",
                          "id": 5
                        }
                      }
                    },
                    "ListIndexesResponse": {
                      "fields": {
                        "indexes": {
                          "rule": "repeated",
                          "type": "Index",
                          "id": 1
                        },
                        "nextPageToken": {
                          "type": "string",
                          "id": 2
                        }
                      }
                    },
                    "IndexOperationMetadata": {
                      "fields": {
                        "common": {
                          "type": "CommonMetadata",
                          "id": 1
                        },
                        "progressEntities": {
                          "type": "Progress",
                          "id": 2
                        },
                        "indexId": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    },
                    "DatastoreFirestoreMigrationMetadata": {
                      "fields": {
                        "migrationState": {
                          "type": "MigrationState",
                          "id": 1
                        },
                        "migrationStep": {
                          "type": "MigrationStep",
                          "id": 2
                        }
                      }
                    },
                    "OperationType": {
                      "values": {
                        "OPERATION_TYPE_UNSPECIFIED": 0,
                        "EXPORT_ENTITIES": 1,
                        "IMPORT_ENTITIES": 2,
                        "CREATE_INDEX": 3,
                        "DELETE_INDEX": 4
                      }
                    },
                    "Index": {
                      "fields": {
                        "projectId": {
                          "type": "string",
                          "id": 1,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "indexId": {
                          "type": "string",
                          "id": 3,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        },
                        "kind": {
                          "type": "string",
                          "id": 4,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "ancestor": {
                          "type": "AncestorMode",
                          "id": 5,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "properties": {
                          "rule": "repeated",
                          "type": "IndexedProperty",
                          "id": 6,
                          "options": {
                            "(google.api.field_behavior)": "REQUIRED"
                          }
                        },
                        "state": {
                          "type": "State",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OUTPUT_ONLY"
                          }
                        }
                      },
                      "nested": {
                        "AncestorMode": {
                          "values": {
                            "ANCESTOR_MODE_UNSPECIFIED": 0,
                            "NONE": 1,
                            "ALL_ANCESTORS": 2
                          }
                        },
                        "Direction": {
                          "values": {
                            "DIRECTION_UNSPECIFIED": 0,
                            "ASCENDING": 1,
                            "DESCENDING": 2
                          }
                        },
                        "IndexedProperty": {
                          "fields": {
                            "name": {
                              "type": "string",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            },
                            "direction": {
                              "type": "Direction",
                              "id": 2,
                              "options": {
                                "(google.api.field_behavior)": "REQUIRED"
                              }
                            }
                          }
                        },
                        "State": {
                          "values": {
                            "STATE_UNSPECIFIED": 0,
                            "CREATING": 1,
                            "READY": 2,
                            "DELETING": 3,
                            "ERROR": 4
                          }
                        }
                      }
                    },
                    "MigrationStateEvent": {
                      "fields": {
                        "state": {
                          "type": "MigrationState",
                          "id": 1
                        }
                      }
                    },
                    "MigrationProgressEvent": {
                      "oneofs": {
                        "stepDetails": {
                          "oneof": [
                            "prepareStepDetails",
                            "redirectWritesStepDetails"
                          ]
                        }
                      },
                      "fields": {
                        "step": {
                          "type": "MigrationStep",
                          "id": 1
                        },
                        "prepareStepDetails": {
                          "type": "PrepareStepDetails",
                          "id": 2
                        },
                        "redirectWritesStepDetails": {
                          "type": "RedirectWritesStepDetails",
                          "id": 3
                        }
                      },
                      "nested": {
                        "ConcurrencyMode": {
                          "values": {
                            "CONCURRENCY_MODE_UNSPECIFIED": 0,
                            "PESSIMISTIC": 1,
                            "OPTIMISTIC": 2,
                            "OPTIMISTIC_WITH_ENTITY_GROUPS": 3
                          }
                        },
                        "PrepareStepDetails": {
                          "fields": {
                            "concurrencyMode": {
                              "type": "ConcurrencyMode",
                              "id": 1
                            }
                          }
                        },
                        "RedirectWritesStepDetails": {
                          "fields": {
                            "concurrencyMode": {
                              "type": "ConcurrencyMode",
                              "id": 1
                            }
                          }
                        }
                      }
                    },
                    "MigrationState": {
                      "values": {
                        "MIGRATION_STATE_UNSPECIFIED": 0,
                        "RUNNING": 1,
                        "PAUSED": 2,
                        "COMPLETE": 3
                      }
                    },
                    "MigrationStep": {
                      "values": {
                        "MIGRATION_STEP_UNSPECIFIED": 0,
                        "PREPARE": 6,
                        "START": 1,
                        "APPLY_WRITES_SYNCHRONOUSLY": 7,
                        "COPY_AND_VERIFY": 2,
                        "REDIRECT_EVENTUALLY_CONSISTENT_READS": 3,
                        "REDIRECT_STRONGLY_CONSISTENT_READS": 4,
                        "REDIRECT_WRITES": 5
                      }
                    }
                  }
                }
              }
            },
            "v1": {
              "options": {
                "csharp_namespace": "Google.Cloud.Datastore.V1",
                "go_package": "cloud.google.com/go/datastore/apiv1/datastorepb;datastorepb",
                "java_multiple_files": true,
                "java_outer_classname": "QueryProfileProto",
                "java_package": "com.google.datastore.v1",
                "php_namespace": "Google\\Cloud\\Datastore\\V1",
                "ruby_package": "Google::Cloud::Datastore::V1"
              },
              "nested": {
                "AggregationResult": {
                  "fields": {
                    "aggregateProperties": {
                      "keyType": "string",
                      "type": "Value",
                      "id": 2
                    }
                  }
                },
                "AggregationResultBatch": {
                  "fields": {
                    "aggregationResults": {
                      "rule": "repeated",
                      "type": "AggregationResult",
                      "id": 1
                    },
                    "moreResults": {
                      "type": "QueryResultBatch.MoreResultsType",
                      "id": 2
                    },
                    "readTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 3
                    }
                  }
                },
                "PartitionId": {
                  "fields": {
                    "projectId": {
                      "type": "string",
                      "id": 2
                    },
                    "databaseId": {
                      "type": "string",
                      "id": 3
                    },
                    "namespaceId": {
                      "type": "string",
                      "id": 4
                    }
                  }
                },
                "Key": {
                  "fields": {
                    "partitionId": {
                      "type": "PartitionId",
                      "id": 1
                    },
                    "path": {
                      "rule": "repeated",
                      "type": "PathElement",
                      "id": 2
                    }
                  },
                  "nested": {
                    "PathElement": {
                      "oneofs": {
                        "idType": {
                          "oneof": [
                            "id",
                            "name"
                          ]
                        }
                      },
                      "fields": {
                        "kind": {
                          "type": "string",
                          "id": 1
                        },
                        "id": {
                          "type": "int64",
                          "id": 2
                        },
                        "name": {
                          "type": "string",
                          "id": 3
                        }
                      }
                    }
                  }
                },
                "ArrayValue": {
                  "fields": {
                    "values": {
                      "rule": "repeated",
                      "type": "Value",
                      "id": 1
                    }
                  }
                },
                "Value": {
                  "oneofs": {
                    "valueType": {
                      "oneof": [
                        "nullValue",
                        "booleanValue",
                        "integerValue",
                        "doubleValue",
                        "timestampValue",
                        "keyValue",
                        "stringValue",
                        "blobValue",
                        "geoPointValue",
                        "entityValue",
                        "arrayValue"
                      ]
                    }
                  },
                  "fields": {
                    "nullValue": {
                      "type": "google.protobuf.NullValue",
                      "id": 11
                    },
                    "booleanValue": {
                      "type": "bool",
                      "id": 1
                    },
                    "integerValue": {
                      "type": "int64",
                      "id": 2
                    },
                    "doubleValue": {
                      "type": "double",
                      "id": 3
                    },
                    "timestampValue": {
                      "type": "google.protobuf.Timestamp",
                      "id": 10
                    },
                    "keyValue": {
                      "type": "Key",
                      "id": 5
                    },
                    "stringValue": {
                      "type": "string",
                      "id": 17
                    },
                    "blobValue": {
                      "type": "bytes",
                      "id": 18
                    },
                    "geoPointValue": {
                      "type": "google.type.LatLng",
                      "id": 8
                    },
                    "entityValue": {
                      "type": "Entity",
                      "id": 6
                    },
                    "arrayValue": {
                      "type": "ArrayValue",
                      "id": 9
                    },
                    "meaning": {
                      "type": "int32",
                      "id": 14
                    },
                    "excludeFromIndexes": {
                      "type": "bool",
                      "id": 19
                    }
                  }
                },
                "Entity": {
                  "fields": {
                    "key": {
                      "type": "Key",
                      "id": 1
                    },
                    "properties": {
                      "keyType": "string",
                      "type": "Value",
                      "id": 3
                    }
                  }
                },
                "EntityResult": {
                  "fields": {
                    "entity": {
                      "type": "Entity",
                      "id": 1
                    },
                    "version": {
                      "type": "int64",
                      "id": 4
                    },
                    "createTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 6
                    },
                    "updateTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 5
                    },
                    "cursor": {
                      "type": "bytes",
                      "id": 3
                    }
                  },
                  "nested": {
                    "ResultType": {
                      "values": {
                        "RESULT_TYPE_UNSPECIFIED": 0,
                        "FULL": 1,
                        "PROJECTION": 2,
                        "KEY_ONLY": 3
                      }
                    }
                  }
                },
                "Query": {
                  "fields": {
                    "projection": {
                      "rule": "repeated",
                      "type": "Projection",
                      "id": 2
                    },
                    "kind": {
                      "rule": "repeated",
                      "type": "KindExpression",
                      "id": 3
                    },
                    "filter": {
                      "type": "Filter",
                      "id": 4
                    },
                    "order": {
                      "rule": "repeated",
                      "type": "PropertyOrder",
                      "id": 5
                    },
                    "distinctOn": {
                      "rule": "repeated",
                      "type": "PropertyReference",
                      "id": 6
                    },
                    "startCursor": {
                      "type": "bytes",
                      "id": 7
                    },
                    "endCursor": {
                      "type": "bytes",
                      "id": 8
                    },
                    "offset": {
                      "type": "int32",
                      "id": 10
                    },
                    "limit": {
                      "type": "google.protobuf.Int32Value",
                      "id": 12
                    },
                    "findNearest": {
                      "type": "FindNearest",
                      "id": 13,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "AggregationQuery": {
                  "oneofs": {
                    "queryType": {
                      "oneof": [
                        "nestedQuery"
                      ]
                    }
                  },
                  "fields": {
                    "nestedQuery": {
                      "type": "Query",
                      "id": 1
                    },
                    "aggregations": {
                      "rule": "repeated",
                      "type": "Aggregation",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  },
                  "nested": {
                    "Aggregation": {
                      "oneofs": {
                        "operator": {
                          "oneof": [
                            "count",
                            "sum",
                            "avg"
                          ]
                        }
                      },
                      "fields": {
                        "count": {
                          "type": "Count",
                          "id": 1
                        },
                        "sum": {
                          "type": "Sum",
                          "id": 2
                        },
                        "avg": {
                          "type": "Avg",
                          "id": 3
                        },
                        "alias": {
                          "type": "string",
                          "id": 7,
                          "options": {
                            "(google.api.field_behavior)": "OPTIONAL"
                          }
                        }
                      },
                      "nested": {
                        "Count": {
                          "fields": {
                            "upTo": {
                              "type": "google.protobuf.Int64Value",
                              "id": 1,
                              "options": {
                                "(google.api.field_behavior)": "OPTIONAL"
                              }
                            }
                          }
                        },
                        "Sum": {
                          "fields": {
                            "property": {
                              "type": "PropertyReference",
                              "id": 1
                            }
                          }
                        },
                        "Avg": {
                          "fields": {
                            "property": {
                              "type": "PropertyReference",
                              "id": 1
                            }
                          }
                        }
                      }
                    }
                  }
                },
                "KindExpression": {
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 1
                    }
                  }
                },
                "PropertyReference": {
                  "fields": {
                    "name": {
                      "type": "string",
                      "id": 2
                    }
                  }
                },
                "Projection": {
                  "fields": {
                    "property": {
                      "type": "PropertyReference",
                      "id": 1
                    }
                  }
                },
                "PropertyOrder": {
                  "fields": {
                    "property": {
                      "type": "PropertyReference",
                      "id": 1
                    },
                    "direction": {
                      "type": "Direction",
                      "id": 2
                    }
                  },
                  "nested": {
                    "Direction": {
                      "values": {
                        "DIRECTION_UNSPECIFIED": 0,
                        "ASCENDING": 1,
                        "DESCENDING": 2
                      }
                    }
                  }
                },
                "Filter": {
                  "oneofs": {
                    "filterType": {
                      "oneof": [
                        "compositeFilter",
                        "propertyFilter"
                      ]
                    }
                  },
                  "fields": {
                    "compositeFilter": {
                      "type": "CompositeFilter",
                      "id": 1
                    },
                    "propertyFilter": {
                      "type": "PropertyFilter",
                      "id": 2
                    }
                  }
                },
                "CompositeFilter": {
                  "fields": {
                    "op": {
                      "type": "Operator",
                      "id": 1
                    },
                    "filters": {
                      "rule": "repeated",
                      "type": "Filter",
                      "id": 2
                    }
                  },
                  "nested": {
                    "Operator": {
                      "values": {
                        "OPERATOR_UNSPECIFIED": 0,
                        "AND": 1,
                        "OR": 2
                      }
                    }
                  }
                },
                "PropertyFilter": {
                  "fields": {
                    "property": {
                      "type": "PropertyReference",
                      "id": 1
                    },
                    "op": {
                      "type": "Operator",
                      "id": 2
                    },
                    "value": {
                      "type": "Value",
                      "id": 3
                    }
                  },
                  "nested": {
                    "Operator": {
                      "values": {
                        "OPERATOR_UNSPECIFIED": 0,
                        "LESS_THAN": 1,
                        "LESS_THAN_OR_EQUAL": 2,
                        "GREATER_THAN": 3,
                        "GREATER_THAN_OR_EQUAL": 4,
                        "EQUAL": 5,
                        "IN": 6,
                        "NOT_EQUAL": 9,
                        "HAS_ANCESTOR": 11,
                        "NOT_IN": 13
                      }
                    }
                  }
                },
                "FindNearest": {
                  "fields": {
                    "vectorProperty": {
                      "type": "PropertyReference",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "queryVector": {
                      "type": "Value",
                      "id": 2,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "distanceMeasure": {
                      "type": "DistanceMeasure",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "limit": {
                      "type": "google.protobuf.Int32Value",
                      "id": 4,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "distanceResultProperty": {
                      "type": "string",
                      "id": 5,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "distanceThreshold": {
                      "type": "google.protobuf.DoubleValue",
                      "id": 6,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  },
                  "nested": {
                    "DistanceMeasure": {
                      "values": {
                        "DISTANCE_MEASURE_UNSPECIFIED": 0,
                        "EUCLIDEAN": 1,
                        "COSINE": 2,
                        "DOT_PRODUCT": 3
                      }
                    }
                  }
                },
                "GqlQuery": {
                  "fields": {
                    "queryString": {
                      "type": "string",
                      "id": 1
                    },
                    "allowLiterals": {
                      "type": "bool",
                      "id": 2
                    },
                    "namedBindings": {
                      "keyType": "string",
                      "type": "GqlQueryParameter",
                      "id": 5
                    },
                    "positionalBindings": {
                      "rule": "repeated",
                      "type": "GqlQueryParameter",
                      "id": 4
                    }
                  }
                },
                "GqlQueryParameter": {
                  "oneofs": {
                    "parameterType": {
                      "oneof": [
                        "value",
                        "cursor"
                      ]
                    }
                  },
                  "fields": {
                    "value": {
                      "type": "Value",
                      "id": 2
                    },
                    "cursor": {
                      "type": "bytes",
                      "id": 3
                    }
                  }
                },
                "QueryResultBatch": {
                  "fields": {
                    "skippedResults": {
                      "type": "int32",
                      "id": 6
                    },
                    "skippedCursor": {
                      "type": "bytes",
                      "id": 3
                    },
                    "entityResultType": {
                      "type": "EntityResult.ResultType",
                      "id": 1
                    },
                    "entityResults": {
                      "rule": "repeated",
                      "type": "EntityResult",
                      "id": 2
                    },
                    "endCursor": {
                      "type": "bytes",
                      "id": 4
                    },
                    "moreResults": {
                      "type": "MoreResultsType",
                      "id": 5
                    },
                    "snapshotVersion": {
                      "type": "int64",
                      "id": 7
                    },
                    "readTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 8
                    }
                  },
                  "nested": {
                    "MoreResultsType": {
                      "values": {
                        "MORE_RESULTS_TYPE_UNSPECIFIED": 0,
                        "NOT_FINISHED": 1,
                        "MORE_RESULTS_AFTER_LIMIT": 2,
                        "MORE_RESULTS_AFTER_CURSOR": 4,
                        "NO_MORE_RESULTS": 3
                      }
                    }
                  }
                },
                "Datastore": {
                  "options": {
                    "(google.api.default_host)": "datastore.googleapis.com",
                    "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/datastore"
                  },
                  "methods": {
                    "Lookup": {
                      "requestType": "LookupRequest",
                      "responseType": "LookupResponse",
                      "options": {
                        "(google.api.http).post": "/v1/projects/{project_id}:lookup",
                        "(google.api.http).body": "*",
                        "(google.api.routing).routing_parameters.field": "database_id",
                        "(google.api.method_signature)": "project_id,read_options,keys"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/projects/{project_id}:lookup",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.routing)": {
                            "routing_parameters": [
                              {
                                "field": "project_id"
                              },
                              {
                                "field": "database_id"
                              }
                            ]
                          }
                        },
                        {
                          "(google.api.method_signature)": "project_id,read_options,keys"
                        }
                      ]
                    },
                    "RunQuery": {
                      "requestType": "RunQueryRequest",
                      "responseType": "RunQueryResponse",
                      "options": {
                        "(google.api.http).post": "/v1/projects/{project_id}:runQuery",
                        "(google.api.http).body": "*",
                        "(google.api.routing).routing_parameters.field": "database_id"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/projects/{project_id}:runQuery",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.routing)": {
                            "routing_parameters": [
                              {
                                "field": "project_id"
                              },
                              {
                                "field": "database_id"
                              }
                            ]
                          }
                        }
                      ]
                    },
                    "RunAggregationQuery": {
                      "requestType": "RunAggregationQueryRequest",
                      "responseType": "RunAggregationQueryResponse",
                      "options": {
                        "(google.api.http).post": "/v1/projects/{project_id}:runAggregationQuery",
                        "(google.api.http).body": "*",
                        "(google.api.routing).routing_parameters.field": "database_id"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/projects/{project_id}:runAggregationQuery",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.routing)": {
                            "routing_parameters": [
                              {
                                "field": "project_id"
                              },
                              {
                                "field": "database_id"
                              }
                            ]
                          }
                        }
                      ]
                    },
                    "BeginTransaction": {
                      "requestType": "BeginTransactionRequest",
                      "responseType": "BeginTransactionResponse",
                      "options": {
                        "(google.api.http).post": "/v1/projects/{project_id}:beginTransaction",
                        "(google.api.http).body": "*",
                        "(google.api.routing).routing_parameters.field": "database_id",
                        "(google.api.method_signature)": "project_id"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/projects/{project_id}:beginTransaction",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.routing)": {
                            "routing_parameters": [
                              {
                                "field": "project_id"
                              },
                              {
                                "field": "database_id"
                              }
                            ]
                          }
                        },
                        {
                          "(google.api.method_signature)": "project_id"
                        }
                      ]
                    },
                    "Commit": {
                      "requestType": "CommitRequest",
                      "responseType": "CommitResponse",
                      "options": {
                        "(google.api.http).post": "/v1/projects/{project_id}:commit",
                        "(google.api.http).body": "*",
                        "(google.api.routing).routing_parameters.field": "database_id",
                        "(google.api.method_signature)": "project_id,mode,mutations"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/projects/{project_id}:commit",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.routing)": {
                            "routing_parameters": [
                              {
                                "field": "project_id"
                              },
                              {
                                "field": "database_id"
                              }
                            ]
                          }
                        },
                        {
                          "(google.api.method_signature)": "project_id,mode,transaction,mutations"
                        },
                        {
                          "(google.api.method_signature)": "project_id,mode,mutations"
                        }
                      ]
                    },
                    "Rollback": {
                      "requestType": "RollbackRequest",
                      "responseType": "RollbackResponse",
                      "options": {
                        "(google.api.http).post": "/v1/projects/{project_id}:rollback",
                        "(google.api.http).body": "*",
                        "(google.api.routing).routing_parameters.field": "database_id",
                        "(google.api.method_signature)": "project_id,transaction"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/projects/{project_id}:rollback",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.routing)": {
                            "routing_parameters": [
                              {
                                "field": "project_id"
                              },
                              {
                                "field": "database_id"
                              }
                            ]
                          }
                        },
                        {
                          "(google.api.method_signature)": "project_id,transaction"
                        }
                      ]
                    },
                    "AllocateIds": {
                      "requestType": "AllocateIdsRequest",
                      "responseType": "AllocateIdsResponse",
                      "options": {
                        "(google.api.http).post": "/v1/projects/{project_id}:allocateIds",
                        "(google.api.http).body": "*",
                        "(google.api.routing).routing_parameters.field": "database_id",
                        "(google.api.method_signature)": "project_id,keys"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/projects/{project_id}:allocateIds",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.routing)": {
                            "routing_parameters": [
                              {
                                "field": "project_id"
                              },
                              {
                                "field": "database_id"
                              }
                            ]
                          }
                        },
                        {
                          "(google.api.method_signature)": "project_id,keys"
                        }
                      ]
                    },
                    "ReserveIds": {
                      "requestType": "ReserveIdsRequest",
                      "responseType": "ReserveIdsResponse",
                      "options": {
                        "(google.api.http).post": "/v1/projects/{project_id}:reserveIds",
                        "(google.api.http).body": "*",
                        "(google.api.routing).routing_parameters.field": "database_id",
                        "(google.api.method_signature)": "project_id,keys"
                      },
                      "parsedOptions": [
                        {
                          "(google.api.http)": {
                            "post": "/v1/projects/{project_id}:reserveIds",
                            "body": "*"
                          }
                        },
                        {
                          "(google.api.routing)": {
                            "routing_parameters": [
                              {
                                "field": "project_id"
                              },
                              {
                                "field": "database_id"
                              }
                            ]
                          }
                        },
                        {
                          "(google.api.method_signature)": "project_id,keys"
                        }
                      ]
                    }
                  }
                },
                "LookupRequest": {
                  "fields": {
                    "projectId": {
                      "type": "string",
                      "id": 8,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "databaseId": {
                      "type": "string",
                      "id": 9
                    },
                    "readOptions": {
                      "type": "ReadOptions",
                      "id": 1
                    },
                    "keys": {
                      "rule": "repeated",
                      "type": "Key",
                      "id": 3,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "propertyMask": {
                      "type": "PropertyMask",
                      "id": 5
                    }
                  }
                },
                "LookupResponse": {
                  "fields": {
                    "found": {
                      "rule": "repeated",
                      "type": "EntityResult",
                      "id": 1
                    },
                    "missing": {
                      "rule": "repeated",
                      "type": "EntityResult",
                      "id": 2
                    },
                    "deferred": {
                      "rule": "repeated",
                      "type": "Key",
                      "id": 3
                    },
                    "transaction": {
                      "type": "bytes",
                      "id": 5
                    },
                    "readTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 7
                    }
                  }
                },
                "RunQueryRequest": {
                  "oneofs": {
                    "queryType": {
                      "oneof": [
                        "query",
                        "gqlQuery"
                      ]
                    }
                  },
                  "fields": {
                    "projectId": {
                      "type": "string",
                      "id": 8,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "databaseId": {
                      "type": "string",
                      "id": 9
                    },
                    "partitionId": {
                      "type": "PartitionId",
                      "id": 2
                    },
                    "readOptions": {
                      "type": "ReadOptions",
                      "id": 1
                    },
                    "query": {
                      "type": "Query",
                      "id": 3
                    },
                    "gqlQuery": {
                      "type": "GqlQuery",
                      "id": 7
                    },
                    "propertyMask": {
                      "type": "PropertyMask",
                      "id": 10
                    },
                    "explainOptions": {
                      "type": "ExplainOptions",
                      "id": 12,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "RunQueryResponse": {
                  "fields": {
                    "batch": {
                      "type": "QueryResultBatch",
                      "id": 1
                    },
                    "query": {
                      "type": "Query",
                      "id": 2
                    },
                    "transaction": {
                      "type": "bytes",
                      "id": 5
                    },
                    "explainMetrics": {
                      "type": "ExplainMetrics",
                      "id": 9
                    }
                  }
                },
                "RunAggregationQueryRequest": {
                  "oneofs": {
                    "queryType": {
                      "oneof": [
                        "aggregationQuery",
                        "gqlQuery"
                      ]
                    }
                  },
                  "fields": {
                    "projectId": {
                      "type": "string",
                      "id": 8,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "databaseId": {
                      "type": "string",
                      "id": 9
                    },
                    "partitionId": {
                      "type": "PartitionId",
                      "id": 2
                    },
                    "readOptions": {
                      "type": "ReadOptions",
                      "id": 1
                    },
                    "aggregationQuery": {
                      "type": "AggregationQuery",
                      "id": 3
                    },
                    "gqlQuery": {
                      "type": "GqlQuery",
                      "id": 7
                    },
                    "explainOptions": {
                      "type": "ExplainOptions",
                      "id": 11,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "RunAggregationQueryResponse": {
                  "fields": {
                    "batch": {
                      "type": "AggregationResultBatch",
                      "id": 1
                    },
                    "query": {
                      "type": "AggregationQuery",
                      "id": 2
                    },
                    "transaction": {
                      "type": "bytes",
                      "id": 5
                    },
                    "explainMetrics": {
                      "type": "ExplainMetrics",
                      "id": 9
                    }
                  }
                },
                "BeginTransactionRequest": {
                  "fields": {
                    "projectId": {
                      "type": "string",
                      "id": 8,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "databaseId": {
                      "type": "string",
                      "id": 9
                    },
                    "transactionOptions": {
                      "type": "TransactionOptions",
                      "id": 10
                    }
                  }
                },
                "BeginTransactionResponse": {
                  "fields": {
                    "transaction": {
                      "type": "bytes",
                      "id": 1
                    }
                  }
                },
                "RollbackRequest": {
                  "fields": {
                    "projectId": {
                      "type": "string",
                      "id": 8,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "databaseId": {
                      "type": "string",
                      "id": 9
                    },
                    "transaction": {
                      "type": "bytes",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    }
                  }
                },
                "RollbackResponse": {
                  "fields": {}
                },
                "CommitRequest": {
                  "oneofs": {
                    "transactionSelector": {
                      "oneof": [
                        "transaction",
                        "singleUseTransaction"
                      ]
                    }
                  },
                  "fields": {
                    "projectId": {
                      "type": "string",
                      "id": 8,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "databaseId": {
                      "type": "string",
                      "id": 9
                    },
                    "mode": {
                      "type": "Mode",
                      "id": 5
                    },
                    "transaction": {
                      "type": "bytes",
                      "id": 1
                    },
                    "singleUseTransaction": {
                      "type": "TransactionOptions",
                      "id": 10
                    },
                    "mutations": {
                      "rule": "repeated",
                      "type": "Mutation",
                      "id": 6
                    }
                  },
                  "nested": {
                    "Mode": {
                      "values": {
                        "MODE_UNSPECIFIED": 0,
                        "TRANSACTIONAL": 1,
                        "NON_TRANSACTIONAL": 2
                      }
                    }
                  }
                },
                "CommitResponse": {
                  "fields": {
                    "mutationResults": {
                      "rule": "repeated",
                      "type": "MutationResult",
                      "id": 3
                    },
                    "indexUpdates": {
                      "type": "int32",
                      "id": 4
                    },
                    "commitTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 8
                    }
                  }
                },
                "AllocateIdsRequest": {
                  "fields": {
                    "projectId": {
                      "type": "string",
                      "id": 8,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "databaseId": {
                      "type": "string",
                      "id": 9
                    },
                    "keys": {
                      "rule": "repeated",
                      "type": "Key",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    }
                  }
                },
                "AllocateIdsResponse": {
                  "fields": {
                    "keys": {
                      "rule": "repeated",
                      "type": "Key",
                      "id": 1
                    }
                  }
                },
                "ReserveIdsRequest": {
                  "fields": {
                    "projectId": {
                      "type": "string",
                      "id": 8,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    },
                    "databaseId": {
                      "type": "string",
                      "id": 9
                    },
                    "keys": {
                      "rule": "repeated",
                      "type": "Key",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "REQUIRED"
                      }
                    }
                  }
                },
                "ReserveIdsResponse": {
                  "fields": {}
                },
                "Mutation": {
                  "oneofs": {
                    "operation": {
                      "oneof": [
                        "insert",
                        "update",
                        "upsert",
                        "delete"
                      ]
                    },
                    "conflictDetectionStrategy": {
                      "oneof": [
                        "baseVersion",
                        "updateTime"
                      ]
                    }
                  },
                  "fields": {
                    "insert": {
                      "type": "Entity",
                      "id": 4
                    },
                    "update": {
                      "type": "Entity",
                      "id": 5
                    },
                    "upsert": {
                      "type": "Entity",
                      "id": 6
                    },
                    "delete": {
                      "type": "Key",
                      "id": 7
                    },
                    "baseVersion": {
                      "type": "int64",
                      "id": 8
                    },
                    "updateTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 11
                    },
                    "conflictResolutionStrategy": {
                      "type": "ConflictResolutionStrategy",
                      "id": 10
                    },
                    "propertyMask": {
                      "type": "PropertyMask",
                      "id": 9
                    },
                    "propertyTransforms": {
                      "rule": "repeated",
                      "type": "PropertyTransform",
                      "id": 12,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  },
                  "nested": {
                    "ConflictResolutionStrategy": {
                      "values": {
                        "STRATEGY_UNSPECIFIED": 0,
                        "SERVER_VALUE": 1,
                        "FAIL": 3
                      }
                    }
                  }
                },
                "PropertyTransform": {
                  "oneofs": {
                    "transformType": {
                      "oneof": [
                        "setToServerValue",
                        "increment",
                        "maximum",
                        "minimum",
                        "appendMissingElements",
                        "removeAllFromArray"
                      ]
                    }
                  },
                  "fields": {
                    "property": {
                      "type": "string",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    },
                    "setToServerValue": {
                      "type": "ServerValue",
                      "id": 2
                    },
                    "increment": {
                      "type": "Value",
                      "id": 3
                    },
                    "maximum": {
                      "type": "Value",
                      "id": 4
                    },
                    "minimum": {
                      "type": "Value",
                      "id": 5
                    },
                    "appendMissingElements": {
                      "type": "ArrayValue",
                      "id": 6
                    },
                    "removeAllFromArray": {
                      "type": "ArrayValue",
                      "id": 7
                    }
                  },
                  "nested": {
                    "ServerValue": {
                      "values": {
                        "SERVER_VALUE_UNSPECIFIED": 0,
                        "REQUEST_TIME": 1
                      }
                    }
                  }
                },
                "MutationResult": {
                  "fields": {
                    "key": {
                      "type": "Key",
                      "id": 3
                    },
                    "version": {
                      "type": "int64",
                      "id": 4
                    },
                    "createTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 7
                    },
                    "updateTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 6
                    },
                    "conflictDetected": {
                      "type": "bool",
                      "id": 5
                    },
                    "transformResults": {
                      "rule": "repeated",
                      "type": "Value",
                      "id": 8
                    }
                  }
                },
                "PropertyMask": {
                  "fields": {
                    "paths": {
                      "rule": "repeated",
                      "type": "string",
                      "id": 1
                    }
                  }
                },
                "ReadOptions": {
                  "oneofs": {
                    "consistencyType": {
                      "oneof": [
                        "readConsistency",
                        "transaction",
                        "newTransaction",
                        "readTime"
                      ]
                    }
                  },
                  "fields": {
                    "readConsistency": {
                      "type": "ReadConsistency",
                      "id": 1
                    },
                    "transaction": {
                      "type": "bytes",
                      "id": 2
                    },
                    "newTransaction": {
                      "type": "TransactionOptions",
                      "id": 3
                    },
                    "readTime": {
                      "type": "google.protobuf.Timestamp",
                      "id": 4
                    }
                  },
                  "nested": {
                    "ReadConsistency": {
                      "values": {
                        "READ_CONSISTENCY_UNSPECIFIED": 0,
                        "STRONG": 1,
                        "EVENTUAL": 2
                      }
                    }
                  }
                },
                "TransactionOptions": {
                  "oneofs": {
                    "mode": {
                      "oneof": [
                        "readWrite",
                        "readOnly"
                      ]
                    }
                  },
                  "fields": {
                    "readWrite": {
                      "type": "ReadWrite",
                      "id": 1
                    },
                    "readOnly": {
                      "type": "ReadOnly",
                      "id": 2
                    }
                  },
                  "nested": {
                    "ReadWrite": {
                      "fields": {
                        "previousTransaction": {
                          "type": "bytes",
                          "id": 1
                        }
                      }
                    },
                    "ReadOnly": {
                      "fields": {
                        "readTime": {
                          "type": "google.protobuf.Timestamp",
                          "id": 1
                        }
                      }
                    }
                  }
                },
                "ExplainOptions": {
                  "fields": {
                    "analyze": {
                      "type": "bool",
                      "id": 1,
                      "options": {
                        "(google.api.field_behavior)": "OPTIONAL"
                      }
                    }
                  }
                },
                "ExplainMetrics": {
                  "fields": {
                    "planSummary": {
                      "type": "PlanSummary",
                      "id": 1
                    },
                    "executionStats": {
                      "type": "ExecutionStats",
                      "id": 2
                    }
                  }
                },
                "PlanSummary": {
                  "fields": {
                    "indexesUsed": {
                      "rule": "repeated",
                      "type": "google.protobuf.Struct",
                      "id": 1
                    }
                  }
                },
                "ExecutionStats": {
                  "fields": {
                    "resultsReturned": {
                      "type": "int64",
                      "id": 1
                    },
                    "executionDuration": {
                      "type": "google.protobuf.Duration",
                      "id": 3
                    },
                    "readOperations": {
                      "type": "int64",
                      "id": 4
                    },
                    "debugStats": {
                      "type": "google.protobuf.Struct",
                      "id": 5
                    }
                  }
                }
              }
            }
          }
        },
        "api": {
          "options": {
            "go_package": "google.golang.org/genproto/googleapis/api/annotations;annotations",
            "java_multiple_files": true,
            "java_outer_classname": "RoutingProto",
            "java_package": "com.google.api",
            "objc_class_prefix": "GAPI"
          },
          "nested": {
            "http": {
              "type": "HttpRule",
              "id": 72295728,
              "extend": "google.protobuf.MethodOptions"
            },
            "Http": {
              "fields": {
                "rules": {
                  "rule": "repeated",
                  "type": "HttpRule",
                  "id": 1
                },
                "fullyDecodeReservedExpansion": {
                  "type": "bool",
                  "id": 2
                }
              }
            },
            "HttpRule": {
              "oneofs": {
                "pattern": {
                  "oneof": [
                    "get",
                    "put",
                    "post",
                    "delete",
                    "patch",
                    "custom"
                  ]
                }
              },
              "fields": {
                "selector": {
                  "type": "string",
                  "id": 1
                },
                "get": {
                  "type": "string",
                  "id": 2
                },
                "put": {
                  "type": "string",
                  "id": 3
                },
                "post": {
                  "type": "string",
                  "id": 4
                },
                "delete": {
                  "type": "string",
                  "id": 5
                },
                "patch": {
                  "type": "string",
                  "id": 6
                },
                "custom": {
                  "type": "CustomHttpPattern",
                  "id": 8
                },
                "body": {
                  "type": "string",
                  "id": 7
                },
                "responseBody": {
                  "type": "string",
                  "id": 12
                },
                "additionalBindings": {
                  "rule": "repeated",
                  "type": "HttpRule",
                  "id": 11
                }
              }
            },
            "CustomHttpPattern": {
              "fields": {
                "kind": {
                  "type": "string",
                  "id": 1
                },
                "path": {
                  "type": "string",
                  "id": 2
                }
              }
            },
            "methodSignature": {
              "rule": "repeated",
              "type": "string",
              "id": 1051,
              "extend": "google.protobuf.MethodOptions"
            },
            "defaultHost": {
              "type": "string",
              "id": 1049,
              "extend": "google.protobuf.ServiceOptions"
            },
            "oauthScopes": {
              "type": "string",
              "id": 1050,
              "extend": "google.protobuf.ServiceOptions"
            },
            "apiVersion": {
              "type": "string",
              "id": 525000001,
              "extend": "google.protobuf.ServiceOptions"
            },
            "CommonLanguageSettings": {
              "fields": {
                "referenceDocsUri": {
                  "type": "string",
                  "id": 1,
                  "options": {
                    "deprecated": true
                  }
                },
                "destinations": {
                  "rule": "repeated",
                  "type": "ClientLibraryDestination",
                  "id": 2
                },
                "selectiveGapicGeneration": {
                  "type": "SelectiveGapicGeneration",
                  "id": 3
                }
              }
            },
            "ClientLibrarySettings": {
              "fields": {
                "version": {
                  "type": "string",
                  "id": 1
                },
                "launchStage": {
                  "type": "LaunchStage",
                  "id": 2
                },
                "restNumericEnums": {
                  "type": "bool",
                  "id": 3
                },
                "javaSettings": {
                  "type": "JavaSettings",
                  "id": 21
                },
                "cppSettings": {
                  "type": "CppSettings",
                  "id": 22
                },
                "phpSettings": {
                  "type": "PhpSettings",
                  "id": 23
                },
                "pythonSettings": {
                  "type": "PythonSettings",
                  "id": 24
                },
                "nodeSettings": {
                  "type": "NodeSettings",
                  "id": 25
                },
                "dotnetSettings": {
                  "type": "DotnetSettings",
                  "id": 26
                },
                "rubySettings": {
                  "type": "RubySettings",
                  "id": 27
                },
                "goSettings": {
                  "type": "GoSettings",
                  "id": 28
                }
              }
            },
            "Publishing": {
              "fields": {
                "methodSettings": {
                  "rule": "repeated",
                  "type": "MethodSettings",
                  "id": 2
                },
                "newIssueUri": {
                  "type": "string",
                  "id": 101
                },
                "documentationUri": {
                  "type": "string",
                  "id": 102
                },
                "apiShortName": {
                  "type": "string",
                  "id": 103
                },
                "githubLabel": {
                  "type": "string",
                  "id": 104
                },
                "codeownerGithubTeams": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 105
                },
                "docTagPrefix": {
                  "type": "string",
                  "id": 106
                },
                "organization": {
                  "type": "ClientLibraryOrganization",
                  "id": 107
                },
                "librarySettings": {
                  "rule": "repeated",
                  "type": "ClientLibrarySettings",
                  "id": 109
                },
                "protoReferenceDocumentationUri": {
                  "type": "string",
                  "id": 110
                },
                "restReferenceDocumentationUri": {
                  "type": "string",
                  "id": 111
                }
              }
            },
            "JavaSettings": {
              "fields": {
                "libraryPackage": {
                  "type": "string",
                  "id": 1
                },
                "serviceClassNames": {
                  "keyType": "string",
                  "type": "string",
                  "id": 2
                },
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 3
                }
              }
            },
            "CppSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "PhpSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "PythonSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                },
                "experimentalFeatures": {
                  "type": "ExperimentalFeatures",
                  "id": 2
                }
              },
              "nested": {
                "ExperimentalFeatures": {
                  "fields": {
                    "restAsyncIoEnabled": {
                      "type": "bool",
                      "id": 1
                    },
                    "protobufPythonicTypesEnabled": {
                      "type": "bool",
                      "id": 2
                    },
                    "unversionedPackageDisabled": {
                      "type": "bool",
                      "id": 3
                    }
                  }
                }
              }
            },
            "NodeSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "DotnetSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                },
                "renamedServices": {
                  "keyType": "string",
                  "type": "string",
                  "id": 2
                },
                "renamedResources": {
                  "keyType": "string",
                  "type": "string",
                  "id": 3
                },
                "ignoredResources": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 4
                },
                "forcedNamespaceAliases": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 5
                },
                "handwrittenSignatures": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 6
                }
              }
            },
            "RubySettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                }
              }
            },
            "GoSettings": {
              "fields": {
                "common": {
                  "type": "CommonLanguageSettings",
                  "id": 1
                },
                "renamedServices": {
                  "keyType": "string",
                  "type": "string",
                  "id": 2
                }
              }
            },
            "MethodSettings": {
              "fields": {
                "selector": {
                  "type": "string",
                  "id": 1
                },
                "longRunning": {
                  "type": "LongRunning",
                  "id": 2
                },
                "autoPopulatedFields": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 3
                }
              },
              "nested": {
                "LongRunning": {
                  "fields": {
                    "initialPollDelay": {
                      "type": "google.protobuf.Duration",
                      "id": 1
                    },
                    "pollDelayMultiplier": {
                      "type": "float",
                      "id": 2
                    },
                    "maxPollDelay": {
                      "type": "google.protobuf.Duration",
                      "id": 3
                    },
                    "totalPollTimeout": {
                      "type": "google.protobuf.Duration",
                      "id": 4
                    }
                  }
                }
              }
            },
            "ClientLibraryOrganization": {
              "values": {
                "CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED": 0,
                "CLOUD": 1,
                "ADS": 2,
                "PHOTOS": 3,
                "STREET_VIEW": 4,
                "SHOPPING": 5,
                "GEO": 6,
                "GENERATIVE_AI": 7
              }
            },
            "ClientLibraryDestination": {
              "values": {
                "CLIENT_LIBRARY_DESTINATION_UNSPECIFIED": 0,
                "GITHUB": 10,
                "PACKAGE_MANAGER": 20
              }
            },
            "SelectiveGapicGeneration": {
              "fields": {
                "methods": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 1
                },
                "generateOmittedAsInternal": {
                  "type": "bool",
                  "id": 2
                }
              }
            },
            "LaunchStage": {
              "values": {
                "LAUNCH_STAGE_UNSPECIFIED": 0,
                "UNIMPLEMENTED": 6,
                "PRELAUNCH": 7,
                "EARLY_ACCESS": 1,
                "ALPHA": 2,
                "BETA": 3,
                "GA": 4,
                "DEPRECATED": 5
              }
            },
            "fieldBehavior": {
              "rule": "repeated",
              "type": "google.api.FieldBehavior",
              "id": 1052,
              "extend": "google.protobuf.FieldOptions",
              "options": {
                "packed": false
              }
            },
            "FieldBehavior": {
              "values": {
                "FIELD_BEHAVIOR_UNSPECIFIED": 0,
                "OPTIONAL": 1,
                "REQUIRED": 2,
                "OUTPUT_ONLY": 3,
                "INPUT_ONLY": 4,
                "IMMUTABLE": 5,
                "UNORDERED_LIST": 6,
                "NON_EMPTY_DEFAULT": 7,
                "IDENTIFIER": 8
              }
            },
            "routing": {
              "type": "google.api.RoutingRule",
              "id": 72295729,
              "extend": "google.protobuf.MethodOptions"
            },
            "RoutingRule": {
              "fields": {
                "routingParameters": {
                  "rule": "repeated",
                  "type": "RoutingParameter",
                  "id": 2
                }
              }
            },
            "RoutingParameter": {
              "fields": {
                "field": {
                  "type": "string",
                  "id": 1
                },
                "pathTemplate": {
                  "type": "string",
                  "id": 2
                }
              }
            }
          }
        },
        "protobuf": {
          "options": {
            "go_package": "google.golang.org/protobuf/types/descriptorpb",
            "java_package": "com.google.protobuf",
            "java_outer_classname": "DescriptorProtos",
            "csharp_namespace": "Google.Protobuf.Reflection",
            "objc_class_prefix": "GPB",
            "cc_enable_arenas": true,
            "optimize_for": "SPEED"
          },
          "nested": {
            "FileDescriptorSet": {
              "fields": {
                "file": {
                  "rule": "repeated",
                  "type": "FileDescriptorProto",
                  "id": 1
                }
              },
              "extensions": [
                [
                  536000000,
                  536000000
                ]
              ]
            },
            "Edition": {
              "values": {
                "EDITION_UNKNOWN": 0,
                "EDITION_LEGACY": 900,
                "EDITION_PROTO2": 998,
                "EDITION_PROTO3": 999,
                "EDITION_2023": 1000,
                "EDITION_2024": 1001,
                "EDITION_1_TEST_ONLY": 1,
                "EDITION_2_TEST_ONLY": 2,
                "EDITION_99997_TEST_ONLY": 99997,
                "EDITION_99998_TEST_ONLY": 99998,
                "EDITION_99999_TEST_ONLY": 99999,
                "EDITION_MAX": 2147483647
              }
            },
            "FileDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "package": {
                  "type": "string",
                  "id": 2
                },
                "dependency": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 3
                },
                "publicDependency": {
                  "rule": "repeated",
                  "type": "int32",
                  "id": 10,
                  "options": {
                    "packed": false
                  }
                },
                "weakDependency": {
                  "rule": "repeated",
                  "type": "int32",
                  "id": 11,
                  "options": {
                    "packed": false
                  }
                },
                "optionDependency": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 15
                },
                "messageType": {
                  "rule": "repeated",
                  "type": "DescriptorProto",
                  "id": 4
                },
                "enumType": {
                  "rule": "repeated",
                  "type": "EnumDescriptorProto",
                  "id": 5
                },
                "service": {
                  "rule": "repeated",
                  "type": "ServiceDescriptorProto",
                  "id": 6
                },
                "extension": {
                  "rule": "repeated",
                  "type": "FieldDescriptorProto",
                  "id": 7
                },
                "options": {
                  "type": "FileOptions",
                  "id": 8
                },
                "sourceCodeInfo": {
                  "type": "SourceCodeInfo",
                  "id": 9
                },
                "syntax": {
                  "type": "string",
                  "id": 12
                },
                "edition": {
                  "type": "Edition",
                  "id": 14
                }
              }
            },
            "DescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "field": {
                  "rule": "repeated",
                  "type": "FieldDescriptorProto",
                  "id": 2
                },
                "extension": {
                  "rule": "repeated",
                  "type": "FieldDescriptorProto",
                  "id": 6
                },
                "nestedType": {
                  "rule": "repeated",
                  "type": "DescriptorProto",
                  "id": 3
                },
                "enumType": {
                  "rule": "repeated",
                  "type": "EnumDescriptorProto",
                  "id": 4
                },
                "extensionRange": {
                  "rule": "repeated",
                  "type": "ExtensionRange",
                  "id": 5
                },
                "oneofDecl": {
                  "rule": "repeated",
                  "type": "OneofDescriptorProto",
                  "id": 8
                },
                "options": {
                  "type": "MessageOptions",
                  "id": 7
                },
                "reservedRange": {
                  "rule": "repeated",
                  "type": "ReservedRange",
                  "id": 9
                },
                "reservedName": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 10
                },
                "visibility": {
                  "type": "SymbolVisibility",
                  "id": 11
                }
              },
              "nested": {
                "ExtensionRange": {
                  "fields": {
                    "start": {
                      "type": "int32",
                      "id": 1
                    },
                    "end": {
                      "type": "int32",
                      "id": 2
                    },
                    "options": {
                      "type": "ExtensionRangeOptions",
                      "id": 3
                    }
                  }
                },
                "ReservedRange": {
                  "fields": {
                    "start": {
                      "type": "int32",
                      "id": 1
                    },
                    "end": {
                      "type": "int32",
                      "id": 2
                    }
                  }
                }
              }
            },
            "ExtensionRangeOptions": {
              "fields": {
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                },
                "declaration": {
                  "rule": "repeated",
                  "type": "Declaration",
                  "id": 2,
                  "options": {
                    "retention": "RETENTION_SOURCE"
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 50
                },
                "verification": {
                  "type": "VerificationState",
                  "id": 3,
                  "options": {
                    "default": "UNVERIFIED",
                    "retention": "RETENTION_SOURCE"
                  }
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "nested": {
                "Declaration": {
                  "fields": {
                    "number": {
                      "type": "int32",
                      "id": 1
                    },
                    "fullName": {
                      "type": "string",
                      "id": 2
                    },
                    "type": {
                      "type": "string",
                      "id": 3
                    },
                    "reserved": {
                      "type": "bool",
                      "id": 5
                    },
                    "repeated": {
                      "type": "bool",
                      "id": 6
                    }
                  },
                  "reserved": [
                    [
                      4,
                      4
                    ]
                  ]
                },
                "VerificationState": {
                  "values": {
                    "DECLARATION": 0,
                    "UNVERIFIED": 1
                  }
                }
              }
            },
            "FieldDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "number": {
                  "type": "int32",
                  "id": 3
                },
                "label": {
                  "type": "Label",
                  "id": 4
                },
                "type": {
                  "type": "Type",
                  "id": 5
                },
                "typeName": {
                  "type": "string",
                  "id": 6
                },
                "extendee": {
                  "type": "string",
                  "id": 2
                },
                "defaultValue": {
                  "type": "string",
                  "id": 7
                },
                "oneofIndex": {
                  "type": "int32",
                  "id": 9
                },
                "jsonName": {
                  "type": "string",
                  "id": 10
                },
                "options": {
                  "type": "FieldOptions",
                  "id": 8
                },
                "proto3Optional": {
                  "type": "bool",
                  "id": 17
                }
              },
              "nested": {
                "Type": {
                  "values": {
                    "TYPE_DOUBLE": 1,
                    "TYPE_FLOAT": 2,
                    "TYPE_INT64": 3,
                    "TYPE_UINT64": 4,
                    "TYPE_INT32": 5,
                    "TYPE_FIXED64": 6,
                    "TYPE_FIXED32": 7,
                    "TYPE_BOOL": 8,
                    "TYPE_STRING": 9,
                    "TYPE_GROUP": 10,
                    "TYPE_MESSAGE": 11,
                    "TYPE_BYTES": 12,
                    "TYPE_UINT32": 13,
                    "TYPE_ENUM": 14,
                    "TYPE_SFIXED32": 15,
                    "TYPE_SFIXED64": 16,
                    "TYPE_SINT32": 17,
                    "TYPE_SINT64": 18
                  }
                },
                "Label": {
                  "values": {
                    "LABEL_OPTIONAL": 1,
                    "LABEL_REPEATED": 3,
                    "LABEL_REQUIRED": 2
                  }
                }
              }
            },
            "OneofDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "options": {
                  "type": "OneofOptions",
                  "id": 2
                }
              }
            },
            "EnumDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "value": {
                  "rule": "repeated",
                  "type": "EnumValueDescriptorProto",
                  "id": 2
                },
                "options": {
                  "type": "EnumOptions",
                  "id": 3
                },
                "reservedRange": {
                  "rule": "repeated",
                  "type": "EnumReservedRange",
                  "id": 4
                },
                "reservedName": {
                  "rule": "repeated",
                  "type": "string",
                  "id": 5
                },
                "visibility": {
                  "type": "SymbolVisibility",
                  "id": 6
                }
              },
              "nested": {
                "EnumReservedRange": {
                  "fields": {
                    "start": {
                      "type": "int32",
                      "id": 1
                    },
                    "end": {
                      "type": "int32",
                      "id": 2
                    }
                  }
                }
              }
            },
            "EnumValueDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "number": {
                  "type": "int32",
                  "id": 2
                },
                "options": {
                  "type": "EnumValueOptions",
                  "id": 3
                }
              }
            },
            "ServiceDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "method": {
                  "rule": "repeated",
                  "type": "MethodDescriptorProto",
                  "id": 2
                },
                "options": {
                  "type": "ServiceOptions",
                  "id": 3
                }
              },
              "reserved": [
                [
                  4,
                  4
                ],
                "stream"
              ]
            },
            "MethodDescriptorProto": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "inputType": {
                  "type": "string",
                  "id": 2
                },
                "outputType": {
                  "type": "string",
                  "id": 3
                },
                "options": {
                  "type": "MethodOptions",
                  "id": 4
                },
                "clientStreaming": {
                  "type": "bool",
                  "id": 5,
                  "options": {
                    "default": false
                  }
                },
                "serverStreaming": {
                  "type": "bool",
                  "id": 6,
                  "options": {
                    "default": false
                  }
                }
              }
            },
            "FileOptions": {
              "fields": {
                "javaPackage": {
                  "type": "string",
                  "id": 1
                },
                "javaOuterClassname": {
                  "type": "string",
                  "id": 8
                },
                "javaMultipleFiles": {
                  "type": "bool",
                  "id": 10,
                  "options": {
                    "default": false
                  }
                },
                "javaGenerateEqualsAndHash": {
                  "type": "bool",
                  "id": 20,
                  "options": {
                    "deprecated": true
                  }
                },
                "javaStringCheckUtf8": {
                  "type": "bool",
                  "id": 27,
                  "options": {
                    "default": false
                  }
                },
                "optimizeFor": {
                  "type": "OptimizeMode",
                  "id": 9,
                  "options": {
                    "default": "SPEED"
                  }
                },
                "goPackage": {
                  "type": "string",
                  "id": 11
                },
                "ccGenericServices": {
                  "type": "bool",
                  "id": 16,
                  "options": {
                    "default": false
                  }
                },
                "javaGenericServices": {
                  "type": "bool",
                  "id": 17,
                  "options": {
                    "default": false
                  }
                },
                "pyGenericServices": {
                  "type": "bool",
                  "id": 18,
                  "options": {
                    "default": false
                  }
                },
                "deprecated": {
                  "type": "bool",
                  "id": 23,
                  "options": {
                    "default": false
                  }
                },
                "ccEnableArenas": {
                  "type": "bool",
                  "id": 31,
                  "options": {
                    "default": true
                  }
                },
                "objcClassPrefix": {
                  "type": "string",
                  "id": 36
                },
                "csharpNamespace": {
                  "type": "string",
                  "id": 37
                },
                "swiftPrefix": {
                  "type": "string",
                  "id": 39
                },
                "phpClassPrefix": {
                  "type": "string",
                  "id": 40
                },
                "phpNamespace": {
                  "type": "string",
                  "id": 41
                },
                "phpMetadataNamespace": {
                  "type": "string",
                  "id": 44
                },
                "rubyPackage": {
                  "type": "string",
                  "id": 45
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 50
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  42,
                  42
                ],
                "php_generic_services",
                [
                  38,
                  38
                ]
              ],
              "nested": {
                "OptimizeMode": {
                  "values": {
                    "SPEED": 1,
                    "CODE_SIZE": 2,
                    "LITE_RUNTIME": 3
                  }
                }
              }
            },
            "MessageOptions": {
              "fields": {
                "messageSetWireFormat": {
                  "type": "bool",
                  "id": 1,
                  "options": {
                    "default": false
                  }
                },
                "noStandardDescriptorAccessor": {
                  "type": "bool",
                  "id": 2,
                  "options": {
                    "default": false
                  }
                },
                "deprecated": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "mapEntry": {
                  "type": "bool",
                  "id": 7
                },
                "deprecatedLegacyJsonFieldConflicts": {
                  "type": "bool",
                  "id": 11,
                  "options": {
                    "deprecated": true
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 12
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  4,
                  4
                ],
                [
                  5,
                  5
                ],
                [
                  6,
                  6
                ],
                [
                  8,
                  8
                ],
                [
                  9,
                  9
                ]
              ]
            },
            "FieldOptions": {
              "fields": {
                "ctype": {
                  "type": "CType",
                  "id": 1,
                  "options": {
                    "default": "STRING"
                  }
                },
                "packed": {
                  "type": "bool",
                  "id": 2
                },
                "jstype": {
                  "type": "JSType",
                  "id": 6,
                  "options": {
                    "default": "JS_NORMAL"
                  }
                },
                "lazy": {
                  "type": "bool",
                  "id": 5,
                  "options": {
                    "default": false
                  }
                },
                "unverifiedLazy": {
                  "type": "bool",
                  "id": 15,
                  "options": {
                    "default": false
                  }
                },
                "deprecated": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "weak": {
                  "type": "bool",
                  "id": 10,
                  "options": {
                    "default": false,
                    "deprecated": true
                  }
                },
                "debugRedact": {
                  "type": "bool",
                  "id": 16,
                  "options": {
                    "default": false
                  }
                },
                "retention": {
                  "type": "OptionRetention",
                  "id": 17
                },
                "targets": {
                  "rule": "repeated",
                  "type": "OptionTargetType",
                  "id": 19,
                  "options": {
                    "packed": false
                  }
                },
                "editionDefaults": {
                  "rule": "repeated",
                  "type": "EditionDefault",
                  "id": 20
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 21
                },
                "featureSupport": {
                  "type": "FeatureSupport",
                  "id": 22
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  4,
                  4
                ],
                [
                  18,
                  18
                ]
              ],
              "nested": {
                "CType": {
                  "values": {
                    "STRING": 0,
                    "CORD": 1,
                    "STRING_PIECE": 2
                  }
                },
                "JSType": {
                  "values": {
                    "JS_NORMAL": 0,
                    "JS_STRING": 1,
                    "JS_NUMBER": 2
                  }
                },
                "OptionRetention": {
                  "values": {
                    "RETENTION_UNKNOWN": 0,
                    "RETENTION_RUNTIME": 1,
                    "RETENTION_SOURCE": 2
                  }
                },
                "OptionTargetType": {
                  "values": {
                    "TARGET_TYPE_UNKNOWN": 0,
                    "TARGET_TYPE_FILE": 1,
                    "TARGET_TYPE_EXTENSION_RANGE": 2,
                    "TARGET_TYPE_MESSAGE": 3,
                    "TARGET_TYPE_FIELD": 4,
                    "TARGET_TYPE_ONEOF": 5,
                    "TARGET_TYPE_ENUM": 6,
                    "TARGET_TYPE_ENUM_ENTRY": 7,
                    "TARGET_TYPE_SERVICE": 8,
                    "TARGET_TYPE_METHOD": 9
                  }
                },
                "EditionDefault": {
                  "fields": {
                    "edition": {
                      "type": "Edition",
                      "id": 3
                    },
                    "value": {
                      "type": "string",
                      "id": 2
                    }
                  }
                },
                "FeatureSupport": {
                  "fields": {
                    "editionIntroduced": {
                      "type": "Edition",
                      "id": 1
                    },
                    "editionDeprecated": {
                      "type": "Edition",
                      "id": 2
                    },
                    "deprecationWarning": {
                      "type": "string",
                      "id": 3
                    },
                    "editionRemoved": {
                      "type": "Edition",
                      "id": 4
                    }
                  }
                }
              }
            },
            "OneofOptions": {
              "fields": {
                "features": {
                  "type": "FeatureSet",
                  "id": 1
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "EnumOptions": {
              "fields": {
                "allowAlias": {
                  "type": "bool",
                  "id": 2
                },
                "deprecated": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "deprecatedLegacyJsonFieldConflicts": {
                  "type": "bool",
                  "id": 6,
                  "options": {
                    "deprecated": true
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 7
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "reserved": [
                [
                  5,
                  5
                ]
              ]
            },
            "EnumValueOptions": {
              "fields": {
                "deprecated": {
                  "type": "bool",
                  "id": 1,
                  "options": {
                    "default": false
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 2
                },
                "debugRedact": {
                  "type": "bool",
                  "id": 3,
                  "options": {
                    "default": false
                  }
                },
                "featureSupport": {
                  "type": "FieldOptions.FeatureSupport",
                  "id": 4
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "ServiceOptions": {
              "fields": {
                "features": {
                  "type": "FeatureSet",
                  "id": 34
                },
                "deprecated": {
                  "type": "bool",
                  "id": 33,
                  "options": {
                    "default": false
                  }
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ]
            },
            "MethodOptions": {
              "fields": {
                "deprecated": {
                  "type": "bool",
                  "id": 33,
                  "options": {
                    "default": false
                  }
                },
                "idempotencyLevel": {
                  "type": "IdempotencyLevel",
                  "id": 34,
                  "options": {
                    "default": "IDEMPOTENCY_UNKNOWN"
                  }
                },
                "features": {
                  "type": "FeatureSet",
                  "id": 35
                },
                "uninterpretedOption": {
                  "rule": "repeated",
                  "type": "UninterpretedOption",
                  "id": 999
                }
              },
              "extensions": [
                [
                  1000,
                  536870911
                ]
              ],
              "nested": {
                "IdempotencyLevel": {
                  "values": {
                    "IDEMPOTENCY_UNKNOWN": 0,
                    "NO_SIDE_EFFECTS": 1,
                    "IDEMPOTENT": 2
                  }
                }
              }
            },
            "UninterpretedOption": {
              "fields": {
                "name": {
                  "rule": "repeated",
                  "type": "NamePart",
                  "id": 2
                },
                "identifierValue": {
                  "type": "string",
                  "id": 3
                },
                "positiveIntValue": {
                  "type": "uint64",
                  "id": 4
                },
                "negativeIntValue": {
                  "type": "int64",
                  "id": 5
                },
                "doubleValue": {
                  "type": "double",
                  "id": 6
                },
                "stringValue": {
                  "type": "bytes",
                  "id": 7
                },
                "aggregateValue": {
                  "type": "string",
                  "id": 8
                }
              },
              "nested": {
                "NamePart": {
                  "fields": {
                    "namePart": {
                      "rule": "required",
                      "type": "string",
                      "id": 1
                    },
                    "isExtension": {
                      "rule": "required",
                      "type": "bool",
                      "id": 2
                    }
                  }
                }
              }
            },
            "FeatureSet": {
              "fields": {
                "fieldPresence": {
                  "type": "FieldPresence",
                  "id": 1,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "feature_support.edition_introduced": "EDITION_2023",
                    "edition_defaults.edition": "EDITION_2023",
                    "edition_defaults.value": "EXPLICIT"
                  }
                },
                "enumType": {
                  "type": "EnumType",
                  "id": 2,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "feature_support.edition_introduced": "EDITION_2023",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "OPEN"
                  }
                },
                "repeatedFieldEncoding": {
                  "type": "RepeatedFieldEncoding",
                  "id": 3,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "feature_support.edition_introduced": "EDITION_2023",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "PACKED"
                  }
                },
                "utf8Validation": {
                  "type": "Utf8Validation",
                  "id": 4,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "feature_support.edition_introduced": "EDITION_2023",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "VERIFY"
                  }
                },
                "messageEncoding": {
                  "type": "MessageEncoding",
                  "id": 5,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "feature_support.edition_introduced": "EDITION_2023",
                    "edition_defaults.edition": "EDITION_LEGACY",
                    "edition_defaults.value": "LENGTH_PREFIXED"
                  }
                },
                "jsonFormat": {
                  "type": "JsonFormat",
                  "id": 6,
                  "options": {
                    "retention": "RETENTION_RUNTIME",
                    "targets": "TARGET_TYPE_FILE",
                    "feature_support.edition_introduced": "EDITION_2023",
                    "edition_defaults.edition": "EDITION_PROTO3",
                    "edition_defaults.value": "ALLOW"
                  }
                },
                "enforceNamingStyle": {
                  "type": "EnforceNamingStyle",
                  "id": 7,
                  "options": {
                    "retention": "RETENTION_SOURCE",
                    "targets": "TARGET_TYPE_METHOD",
                    "feature_support.edition_introduced": "EDITION_2024",
                    "edition_defaults.edition": "EDITION_2024",
                    "edition_defaults.value": "STYLE2024"
                  }
                },
                "defaultSymbolVisibility": {
                  "type": "VisibilityFeature.DefaultSymbolVisibility",
                  "id": 8,
                  "options": {
                    "retention": "RETENTION_SOURCE",
                    "targets": "TARGET_TYPE_FILE",
                    "feature_support.edition_introduced": "EDITION_2024",
                    "edition_defaults.edition": "EDITION_2024",
                    "edition_defaults.value": "EXPORT_TOP_LEVEL"
                  }
                }
              },
              "extensions": [
                [
                  1000,
                  9994
                ],
                [
                  9995,
                  9999
                ],
                [
                  10000,
                  10000
                ]
              ],
              "reserved": [
                [
                  999,
                  999
                ]
              ],
              "nested": {
                "FieldPresence": {
                  "values": {
                    "FIELD_PRESENCE_UNKNOWN": 0,
                    "EXPLICIT": 1,
                    "IMPLICIT": 2,
                    "LEGACY_REQUIRED": 3
                  }
                },
                "EnumType": {
                  "values": {
                    "ENUM_TYPE_UNKNOWN": 0,
                    "OPEN": 1,
                    "CLOSED": 2
                  }
                },
                "RepeatedFieldEncoding": {
                  "values": {
                    "REPEATED_FIELD_ENCODING_UNKNOWN": 0,
                    "PACKED": 1,
                    "EXPANDED": 2
                  }
                },
                "Utf8Validation": {
                  "values": {
                    "UTF8_VALIDATION_UNKNOWN": 0,
                    "VERIFY": 2,
                    "NONE": 3
                  },
                  "reserved": [
                    [
                      1,
                      1
                    ]
                  ]
                },
                "MessageEncoding": {
                  "values": {
                    "MESSAGE_ENCODING_UNKNOWN": 0,
                    "LENGTH_PREFIXED": 1,
                    "DELIMITED": 2
                  }
                },
                "JsonFormat": {
                  "values": {
                    "JSON_FORMAT_UNKNOWN": 0,
                    "ALLOW": 1,
                    "LEGACY_BEST_EFFORT": 2
                  }
                },
                "EnforceNamingStyle": {
                  "values": {
                    "ENFORCE_NAMING_STYLE_UNKNOWN": 0,
                    "STYLE2024": 1,
                    "STYLE_LEGACY": 2
                  }
                },
                "VisibilityFeature": {
                  "fields": {},
                  "reserved": [
                    [
                      1,
                      536870911
                    ]
                  ],
                  "nested": {
                    "DefaultSymbolVisibility": {
                      "values": {
                        "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN": 0,
                        "EXPORT_ALL": 1,
                        "EXPORT_TOP_LEVEL": 2,
                        "LOCAL_ALL": 3,
                        "STRICT": 4
                      }
                    }
                  }
                }
              }
            },
            "FeatureSetDefaults": {
              "fields": {
                "defaults": {
                  "rule": "repeated",
                  "type": "FeatureSetEditionDefault",
                  "id": 1
                },
                "minimumEdition": {
                  "type": "Edition",
                  "id": 4
                },
                "maximumEdition": {
                  "type": "Edition",
                  "id": 5
                }
              },
              "nested": {
                "FeatureSetEditionDefault": {
                  "fields": {
                    "edition": {
                      "type": "Edition",
                      "id": 3
                    },
                    "overridableFeatures": {
                      "type": "FeatureSet",
                      "id": 4
                    },
                    "fixedFeatures": {
                      "type": "FeatureSet",
                      "id": 5
                    }
                  },
                  "reserved": [
                    [
                      1,
                      1
                    ],
                    [
                      2,
                      2
                    ],
                    "features"
                  ]
                }
              }
            },
            "SourceCodeInfo": {
              "fields": {
                "location": {
                  "rule": "repeated",
                  "type": "Location",
                  "id": 1
                }
              },
              "extensions": [
                [
                  536000000,
                  536000000
                ]
              ],
              "nested": {
                "Location": {
                  "fields": {
                    "path": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 1
                    },
                    "span": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 2
                    },
                    "leadingComments": {
                      "type": "string",
                      "id": 3
                    },
                    "trailingComments": {
                      "type": "string",
                      "id": 4
                    },
                    "leadingDetachedComments": {
                      "rule": "repeated",
                      "type": "string",
                      "id": 6
                    }
                  }
                }
              }
            },
            "GeneratedCodeInfo": {
              "fields": {
                "annotation": {
                  "rule": "repeated",
                  "type": "Annotation",
                  "id": 1
                }
              },
              "nested": {
                "Annotation": {
                  "fields": {
                    "path": {
                      "rule": "repeated",
                      "type": "int32",
                      "id": 1
                    },
                    "sourceFile": {
                      "type": "string",
                      "id": 2
                    },
                    "begin": {
                      "type": "int32",
                      "id": 3
                    },
                    "end": {
                      "type": "int32",
                      "id": 4
                    },
                    "semantic": {
                      "type": "Semantic",
                      "id": 5
                    }
                  },
                  "nested": {
                    "Semantic": {
                      "values": {
                        "NONE": 0,
                        "SET": 1,
                        "ALIAS": 2
                      }
                    }
                  }
                }
              }
            },
            "SymbolVisibility": {
              "values": {
                "VISIBILITY_UNSET": 0,
                "VISIBILITY_LOCAL": 1,
                "VISIBILITY_EXPORT": 2
              }
            },
            "Duration": {
              "fields": {
                "seconds": {
                  "type": "int64",
                  "id": 1
                },
                "nanos": {
                  "type": "int32",
                  "id": 2
                }
              }
            },
            "Any": {
              "fields": {
                "type_url": {
                  "type": "string",
                  "id": 1
                },
                "value": {
                  "type": "bytes",
                  "id": 2
                }
              }
            },
            "Empty": {
              "fields": {}
            },
            "Timestamp": {
              "fields": {
                "seconds": {
                  "type": "int64",
                  "id": 1
                },
                "nanos": {
                  "type": "int32",
                  "id": 2
                }
              }
            },
            "Struct": {
              "fields": {
                "fields": {
                  "keyType": "string",
                  "type": "Value",
                  "id": 1
                }
              }
            },
            "Value": {
              "oneofs": {
                "kind": {
                  "oneof": [
                    "nullValue",
                    "numberValue",
                    "stringValue",
                    "boolValue",
                    "structValue",
                    "listValue"
                  ]
                }
              },
              "fields": {
                "nullValue": {
                  "type": "NullValue",
                  "id": 1
                },
                "numberValue": {
                  "type": "double",
                  "id": 2
                },
                "stringValue": {
                  "type": "string",
                  "id": 3
                },
                "boolValue": {
                  "type": "bool",
                  "id": 4
                },
                "structValue": {
                  "type": "Struct",
                  "id": 5
                },
                "listValue": {
                  "type": "ListValue",
                  "id": 6
                }
              }
            },
            "NullValue": {
              "values": {
                "NULL_VALUE": 0
              }
            },
            "ListValue": {
              "fields": {
                "values": {
                  "rule": "repeated",
                  "type": "Value",
                  "id": 1
                }
              }
            },
            "DoubleValue": {
              "fields": {
                "value": {
                  "type": "double",
                  "id": 1
                }
              }
            },
            "FloatValue": {
              "fields": {
                "value": {
                  "type": "float",
                  "id": 1
                }
              }
            },
            "Int64Value": {
              "fields": {
                "value": {
                  "type": "int64",
                  "id": 1
                }
              }
            },
            "UInt64Value": {
              "fields": {
                "value": {
                  "type": "uint64",
                  "id": 1
                }
              }
            },
            "Int32Value": {
              "fields": {
                "value": {
                  "type": "int32",
                  "id": 1
                }
              }
            },
            "UInt32Value": {
              "fields": {
                "value": {
                  "type": "uint32",
                  "id": 1
                }
              }
            },
            "BoolValue": {
              "fields": {
                "value": {
                  "type": "bool",
                  "id": 1
                }
              }
            },
            "StringValue": {
              "fields": {
                "value": {
                  "type": "string",
                  "id": 1
                }
              }
            },
            "BytesValue": {
              "fields": {
                "value": {
                  "type": "bytes",
                  "id": 1
                }
              }
            }
          }
        },
        "longrunning": {
          "options": {
            "cc_enable_arenas": true,
            "csharp_namespace": "Google.LongRunning",
            "go_package": "cloud.google.com/go/longrunning/autogen/longrunningpb;longrunningpb",
            "java_multiple_files": true,
            "java_outer_classname": "OperationsProto",
            "java_package": "com.google.longrunning",
            "objc_class_prefix": "GLRUN",
            "php_namespace": "Google\\LongRunning"
          },
          "nested": {
            "operationInfo": {
              "type": "google.longrunning.OperationInfo",
              "id": 1049,
              "extend": "google.protobuf.MethodOptions"
            },
            "Operations": {
              "options": {
                "(google.api.default_host)": "longrunning.googleapis.com"
              },
              "methods": {
                "ListOperations": {
                  "requestType": "ListOperationsRequest",
                  "responseType": "ListOperationsResponse",
                  "options": {
                    "(google.api.http).get": "/v1/{name=operations}",
                    "(google.api.method_signature)": "name,filter"
                  },
                  "parsedOptions": [
                    {
                      "(google.api.http)": {
                        "get": "/v1/{name=operations}"
                      }
                    },
                    {
                      "(google.api.method_signature)": "name,filter"
                    }
                  ]
                },
                "GetOperation": {
                  "requestType": "GetOperationRequest",
                  "responseType": "Operation",
                  "options": {
                    "(google.api.http).get": "/v1/{name=operations/**}",
                    "(google.api.method_signature)": "name"
                  },
                  "parsedOptions": [
                    {
                      "(google.api.http)": {
                        "get": "/v1/{name=operations/**}"
                      }
                    },
                    {
                      "(google.api.method_signature)": "name"
                    }
                  ]
                },
                "DeleteOperation": {
                  "requestType": "DeleteOperationRequest",
                  "responseType": "google.protobuf.Empty",
                  "options": {
                    "(google.api.http).delete": "/v1/{name=operations/**}",
                    "(google.api.method_signature)": "name"
                  },
                  "parsedOptions": [
                    {
                      "(google.api.http)": {
                        "delete": "/v1/{name=operations/**}"
                      }
                    },
                    {
                      "(google.api.method_signature)": "name"
                    }
                  ]
                },
                "CancelOperation": {
                  "requestType": "CancelOperationRequest",
                  "responseType": "google.protobuf.Empty",
                  "options": {
                    "(google.api.http).post": "/v1/{name=operations/**}:cancel",
                    "(google.api.http).body": "*",
                    "(google.api.method_signature)": "name"
                  },
                  "parsedOptions": [
                    {
                      "(google.api.http)": {
                        "post": "/v1/{name=operations/**}:cancel",
                        "body": "*"
                      }
                    },
                    {
                      "(google.api.method_signature)": "name"
                    }
                  ]
                },
                "WaitOperation": {
                  "requestType": "WaitOperationRequest",
                  "responseType": "Operation"
                }
              }
            },
            "Operation": {
              "oneofs": {
                "result": {
                  "oneof": [
                    "error",
                    "response"
                  ]
                }
              },
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "metadata": {
                  "type": "google.protobuf.Any",
                  "id": 2
                },
                "done": {
                  "type": "bool",
                  "id": 3
                },
                "error": {
                  "type": "google.rpc.Status",
                  "id": 4
                },
                "response": {
                  "type": "google.protobuf.Any",
                  "id": 5
                }
              }
            },
            "GetOperationRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                }
              }
            },
            "ListOperationsRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 4
                },
                "filter": {
                  "type": "string",
                  "id": 1
                },
                "pageSize": {
                  "type": "int32",
                  "id": 2
                },
                "pageToken": {
                  "type": "string",
                  "id": 3
                }
              }
            },
            "ListOperationsResponse": {
              "fields": {
                "operations": {
                  "rule": "repeated",
                  "type": "Operation",
                  "id": 1
                },
                "nextPageToken": {
                  "type": "string",
                  "id": 2
                }
              }
            },
            "CancelOperationRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                }
              }
            },
            "DeleteOperationRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                }
              }
            },
            "WaitOperationRequest": {
              "fields": {
                "name": {
                  "type": "string",
                  "id": 1
                },
                "timeout": {
                  "type": "google.protobuf.Duration",
                  "id": 2
                }
              }
            },
            "OperationInfo": {
              "fields": {
                "responseType": {
                  "type": "string",
                  "id": 1
                },
                "metadataType": {
                  "type": "string",
                  "id": 2
                }
              }
            }
          }
        },
        "rpc": {
          "options": {
            "cc_enable_arenas": true,
            "go_package": "google.golang.org/genproto/googleapis/rpc/status;status",
            "java_multiple_files": true,
            "java_outer_classname": "StatusProto",
            "java_package": "com.google.rpc",
            "objc_class_prefix": "RPC"
          },
          "nested": {
            "Status": {
              "fields": {
                "code": {
                  "type": "int32",
                  "id": 1
                },
                "message": {
                  "type": "string",
                  "id": 2
                },
                "details": {
                  "rule": "repeated",
                  "type": "google.protobuf.Any",
                  "id": 3
                }
              }
            }
          }
        },
        "type": {
          "options": {
            "cc_enable_arenas": true,
            "go_package": "google.golang.org/genproto/googleapis/type/latlng;latlng",
            "java_multiple_files": true,
            "java_outer_classname": "LatLngProto",
            "java_package": "com.google.type",
            "objc_class_prefix": "GTP"
          },
          "nested": {
            "LatLng": {
              "fields": {
                "latitude": {
                  "type": "double",
                  "id": 1
                },
                "longitude": {
                  "type": "double",
                  "id": 2
                }
              }
            }
          }
        }
      }
    }
  }
}