diff --git a/keyserver/Dockerfile b/keyserver/Dockerfile
--- a/keyserver/Dockerfile
+++ b/keyserver/Dockerfile
@@ -133,7 +133,6 @@
   keyserver/addons/rust-node-addon/
 
 # Copy in local dependencies of rust-node-addon
-COPY --chown=comm shared/comm-opaque shared/comm-opaque/
 COPY --chown=comm shared/comm-opaque2 shared/comm-opaque2/
 
 # Copy protobuf files as a dependency for the shared client libraries
diff --git a/keyserver/addons/rust-node-addon/Cargo.lock b/keyserver/addons/rust-node-addon/Cargo.lock
--- a/keyserver/addons/rust-node-addon/Cargo.lock
+++ b/keyserver/addons/rust-node-addon/Cargo.lock
@@ -114,15 +114,6 @@
  "digest 0.10.6",
 ]
 
-[[package]]
-name = "block-buffer"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
-dependencies = [
- "generic-array",
-]
-
 [[package]]
 name = "block-buffer"
 version = "0.10.3"
@@ -156,17 +147,6 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
-[[package]]
-name = "comm-opaque"
-version = "0.1.0"
-dependencies = [
- "argon2",
- "curve25519-dalek 3.2.0",
- "digest 0.9.0",
- "opaque-ke 1.2.0",
- "sha2 0.9.9",
-]
-
 [[package]]
 name = "comm-opaque2"
 version = "0.2.0"
@@ -312,7 +292,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
 dependencies = [
- "block-buffer 0.10.3",
+ "block-buffer",
  "crypto-common",
  "subtle",
 ]
@@ -434,17 +414,6 @@
  "version_check",
 ]
 
-[[package]]
-name = "getrandom"
-version = "0.1.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
-]
-
 [[package]]
 name = "getrandom"
 version = "0.2.8"
@@ -453,7 +422,7 @@
 dependencies = [
  "cfg-if",
  "libc",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
 ]
 
 [[package]]
@@ -706,7 +675,7 @@
 dependencies = [
  "libc",
  "log",
- "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasi",
  "windows-sys 0.45.0",
 ]
 
@@ -786,12 +755,6 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
 
-[[package]]
-name = "opaque-debug"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
-
 [[package]]
 name = "opaque-ke"
 version = "1.2.0"
@@ -1005,9 +968,6 @@
 version = "0.5.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-dependencies = [
- "getrandom 0.1.16",
-]
 
 [[package]]
 name = "rand_core"
@@ -1015,7 +975,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 dependencies = [
- "getrandom 0.2.8",
+ "getrandom",
 ]
 
 [[package]]
@@ -1055,7 +1015,6 @@
 name = "rust-node-addon"
 version = "0.1.0"
 dependencies = [
- "comm-opaque",
  "comm-opaque2",
  "lazy_static",
  "napi",
@@ -1129,19 +1088,6 @@
  "serde",
 ]
 
-[[package]]
-name = "sha2"
-version = "0.9.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800"
-dependencies = [
- "block-buffer 0.9.0",
- "cfg-if",
- "cpufeatures",
- "digest 0.9.0",
- "opaque-debug",
-]
-
 [[package]]
 name = "sha2"
 version = "0.10.6"
@@ -1461,7 +1407,7 @@
  "generic-array",
  "rand_core 0.6.4",
  "serde",
- "sha2 0.10.6",
+ "sha2",
  "subtle",
  "zeroize",
 ]
@@ -1476,12 +1422,6 @@
  "try-lock",
 ]
 
-[[package]]
-name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-
 [[package]]
 name = "wasi"
 version = "0.11.0+wasi-snapshot-preview1"
diff --git a/keyserver/addons/rust-node-addon/Cargo.toml b/keyserver/addons/rust-node-addon/Cargo.toml
--- a/keyserver/addons/rust-node-addon/Cargo.toml
+++ b/keyserver/addons/rust-node-addon/Cargo.toml
@@ -21,7 +21,6 @@
 tokio-stream = "0.1"
 tracing = "0.1"
 prost = "0.11"
-comm-opaque = {path = "../../../shared/comm-opaque"}
 comm-opaque2 = {path = "../../../shared/comm-opaque2"}
 lazy_static = "1.4"
 serde_json = "1.0"
diff --git a/services/identity/Cargo.lock b/services/identity/Cargo.lock
--- a/services/identity/Cargo.lock
+++ b/services/identity/Cargo.lock
@@ -662,24 +662,13 @@
  "unicode-width",
 ]
 
-[[package]]
-name = "comm-opaque"
-version = "0.1.0"
-dependencies = [
- "argon2",
- "curve25519-dalek 3.2.0",
- "digest 0.9.0",
- "opaque-ke 1.2.0",
- "sha2 0.9.9",
-]
-
 [[package]]
 name = "comm-opaque2"
 version = "0.2.0"
 dependencies = [
  "argon2",
  "log",
- "opaque-ke 2.0.0",
+ "opaque-ke",
  "rand 0.8.5",
  "tonic",
  "wasm-bindgen",
@@ -700,12 +689,6 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "520fbf3c07483f94e3e3ca9d0cfd913d7718ef2483d2cfd91c0d9e91474ab913"
 
-[[package]]
-name = "constant_time_eq"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
-
 [[package]]
 name = "constant_time_eq"
 version = "0.2.5"
@@ -1222,10 +1205,8 @@
 checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
 dependencies = [
  "cfg-if",
- "js-sys",
  "libc",
  "wasi 0.11.0+wasi-snapshot-preview1",
- "wasm-bindgen",
 ]
 
 [[package]]
@@ -1317,16 +1298,6 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
 
-[[package]]
-name = "hkdf"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01706d578d5c281058480e673ae4086a9f4710d8df1ad80a5b03e39ece5f886b"
-dependencies = [
- "digest 0.9.0",
- "hmac 0.11.0",
-]
-
 [[package]]
 name = "hkdf"
 version = "0.12.3"
@@ -1477,27 +1448,21 @@
  "aws-config",
  "aws-sdk-dynamodb",
  "base64",
- "bytes",
  "chrono",
  "clap",
- "comm-opaque",
  "comm-opaque2",
- "constant_time_eq 0.2.5",
- "curve25519-dalek 3.2.0",
+ "constant_time_eq",
  "derive_more",
  "ed25519-dalek",
- "futures-core",
  "hex",
  "moka",
  "once_cell",
- "opaque-ke 1.2.0",
  "prost",
  "rand 0.8.5",
  "serde",
  "serde_json",
  "siwe",
  "tokio",
- "tokio-stream",
  "tonic",
  "tonic-build",
  "tonic-web",
@@ -1783,25 +1748,6 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 
-[[package]]
-name = "opaque-ke"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f25e5f1be61b7a94f388368a24739318fe4edd2b841d20d7077a422a5391e22f"
-dependencies = [
- "constant_time_eq 0.1.5",
- "curve25519-dalek 3.2.0",
- "digest 0.9.0",
- "displaydoc",
- "generic-array",
- "getrandom 0.2.9",
- "hkdf 0.11.0",
- "hmac 0.11.0",
- "rand 0.8.5",
- "subtle",
- "zeroize",
-]
-
 [[package]]
 name = "opaque-ke"
 version = "2.0.0"
@@ -1815,7 +1761,7 @@
  "displaydoc",
  "elliptic-curve 0.12.3",
  "generic-array",
- "hkdf 0.12.3",
+ "hkdf",
  "hmac 0.12.1",
  "rand 0.8.5",
  "serde",
diff --git a/services/identity/Cargo.toml b/services/identity/Cargo.toml
--- a/services/identity/Cargo.toml
+++ b/services/identity/Cargo.toml
@@ -7,11 +7,7 @@
 [dependencies]
 tonic = "0.9.1"
 prost = "0.11"
-futures-core = "0.3"
 tokio = { version = "1.24", features = ["macros", "rt-multi-thread"] }
-tokio-stream = "0.1.9"
-opaque-ke = { version = "1.2.0", features = ["std"] }
-curve25519-dalek = "3"
 ed25519-dalek = "1"
 clap = { version = "3.1.12", features = ["derive"] }
 derive_more = "0.99"
@@ -21,10 +17,8 @@
 tracing-subscriber = "0.3"
 chrono = "0.4.19"
 rand = "0.8"
-bytes = "1.1"
 constant_time_eq = "0.2.2"
 siwe = "0.3"
-comm-opaque = { path = "../../shared/comm-opaque" }
 comm-opaque2 = { path = "../../shared/comm-opaque2" }
 once_cell = "1.17"
 hex = "0.4"
diff --git a/services/identity/Dockerfile b/services/identity/Dockerfile
--- a/services/identity/Dockerfile
+++ b/services/identity/Dockerfile
@@ -20,7 +20,6 @@
 RUN cargo init --bin
 
 COPY services/identity/Cargo.toml services/identity/Cargo.lock ./
-COPY shared/comm-opaque ../../shared/comm-opaque
 COPY shared/comm-opaque2 ../../shared/comm-opaque2
 
 # Cache build dependencies in a new layer
diff --git a/services/identity/src/config.rs b/services/identity/src/config.rs
--- a/services/identity/src/config.rs
+++ b/services/identity/src/config.rs
@@ -1,11 +1,9 @@
-use curve25519_dalek::ristretto::RistrettoPoint;
 use once_cell::sync::Lazy;
-use opaque_ke::{errors::PakeError, keypair::KeyPair};
 use std::{collections::HashSet, env, fmt, fs, io, path};
 
 use crate::constants::{
-  AUTH_TOKEN, KEYSERVER_PUBLIC_KEY, LOCALSTACK_ENDPOINT, SECRETS_DIRECTORY,
-  SECRETS_FILE_EXTENSION, SECRETS_FILE_NAME, SECRETS_SETUP_FILE,
+  KEYSERVER_PUBLIC_KEY, LOCALSTACK_ENDPOINT, SECRETS_DIRECTORY,
+  SECRETS_SETUP_FILE,
 };
 
 pub static CONFIG: Lazy<Config> =
@@ -17,10 +15,6 @@
 
 #[derive(Clone)]
 pub struct Config {
-  // Opaque 1.2 server secrets
-  pub server_keypair: KeyPair<RistrettoPoint>,
-  // this is temporary, while the only authorized caller is ashoat's keyserver
-  pub keyserver_auth_token: String,
   pub localstack_endpoint: Option<String>,
   // Opaque 2.0 server secrets
   pub server_setup: comm_opaque2::ServerSetup<comm_opaque2::Cipher>,
@@ -31,13 +25,6 @@
 
 impl Config {
   fn load() -> Result<Self, Error> {
-    let mut path = path::PathBuf::new();
-    path.push(SECRETS_DIRECTORY);
-    path.push(SECRETS_FILE_NAME);
-    path.set_extension(SECRETS_FILE_EXTENSION);
-    let server_keypair = get_keypair_from_file(path)?;
-    let keyserver_auth_token =
-      env::var(AUTH_TOKEN).unwrap_or_else(|_| String::from("test"));
     let localstack_endpoint = env::var(LOCALSTACK_ENDPOINT).ok();
 
     let mut path = path::PathBuf::new();
@@ -50,8 +37,6 @@
     let keyserver_public_key = env::var(KEYSERVER_PUBLIC_KEY).ok();
 
     Ok(Self {
-      server_keypair,
-      keyserver_auth_token,
       localstack_endpoint,
       server_setup,
       reserved_usernames,
@@ -72,8 +57,6 @@
 
 #[derive(Debug, derive_more::Display, derive_more::From)]
 pub enum Error {
-  #[display(...)]
-  Pake(PakeError),
   #[display(...)]
   Opaque(comm_opaque2::ProtocolError),
   #[display(...)]
@@ -84,14 +67,6 @@
   Json(serde_json::Error),
 }
 
-fn get_keypair_from_file<P: AsRef<path::Path>>(
-  path: P,
-) -> Result<KeyPair<RistrettoPoint>, Error> {
-  let bytes = fs::read(path)?;
-  KeyPair::from_private_key_slice(&bytes)
-    .map_err(|e| Error::Pake(PakeError::CryptoError(e)))
-}
-
 fn get_server_setup_from_file<P: AsRef<path::Path>>(
   path: &P,
 ) -> Result<comm_opaque2::ServerSetup<comm_opaque2::Cipher>, Error> {
diff --git a/services/identity/src/constants.rs b/services/identity/src/constants.rs
--- a/services/identity/src/constants.rs
+++ b/services/identity/src/constants.rs
@@ -1,8 +1,6 @@
 // Secrets
 
 pub const SECRETS_DIRECTORY: &str = "secrets";
-pub const SECRETS_FILE_NAME: &str = "secret_key";
-pub const SECRETS_FILE_EXTENSION: &str = "txt";
 pub const SECRETS_SETUP_FILE: &str = "server_setup.txt";
 
 // DynamoDB
diff --git a/services/identity/src/database.rs b/services/identity/src/database.rs
--- a/services/identity/src/database.rs
+++ b/services/identity/src/database.rs
@@ -12,7 +12,6 @@
 use aws_sdk_dynamodb::types::Blob;
 use aws_sdk_dynamodb::{Client, Error as DynamoDBError};
 use chrono::{DateTime, Utc};
-use opaque_ke::errors::ProtocolError;
 use serde::{Deserialize, Serialize};
 use tracing::{debug, error, info, warn};
 
@@ -786,8 +785,6 @@
   IncorrectType,
   #[display(...)]
   InvalidTimestamp(chrono::ParseError),
-  #[display(...)]
-  Pake(ProtocolError),
 }
 
 type AttributeName = String;
diff --git a/services/identity/src/interceptor.rs b/services/identity/src/interceptor.rs
deleted file mode 100644
--- a/services/identity/src/interceptor.rs
+++ /dev/null
@@ -1,17 +0,0 @@
-use tonic::{metadata::MetadataValue, Request, Status};
-use tracing::error;
-
-use crate::config::CONFIG;
-
-pub fn check_auth<T>(req: Request<T>) -> Result<Request<T>, Status> {
-  let token: MetadataValue<_> =
-    CONFIG.keyserver_auth_token.parse().map_err(|e| {
-      error!("Invalid auth token on server: {}", e);
-      Status::failed_precondition("internal error")
-    })?;
-
-  match req.metadata().get("authorization") {
-    Some(t) if token == t => Ok(req),
-    _ => Err(Status::unauthenticated("No valid auth token")),
-  }
-}
diff --git a/services/identity/src/keygen.rs b/services/identity/src/keygen.rs
--- a/services/identity/src/keygen.rs
+++ b/services/identity/src/keygen.rs
@@ -1,8 +1,4 @@
-use crate::constants::{
-  SECRETS_FILE_EXTENSION, SECRETS_FILE_NAME, SECRETS_SETUP_FILE,
-};
-use comm_opaque::Cipher;
-use opaque_ke::{ciphersuite::CipherSuite, rand::rngs::OsRng};
+use crate::constants::SECRETS_SETUP_FILE;
 use std::{fs, io, path};
 
 pub fn generate_and_persist_keypair(dir: &str) -> Result<(), io::Error> {
@@ -13,19 +9,6 @@
     fs::create_dir(&secrets_dir)?;
   }
 
-  // Opaque_ke 1.2.0 setup
-  let mut rng = OsRng;
-  let server_kp = Cipher::generate_random_keypair(&mut rng);
-  let mut path = secrets_dir.clone();
-  path.push(SECRETS_FILE_NAME);
-  path.set_extension(SECRETS_FILE_EXTENSION);
-  if !path.exists() {
-    println!("Writing secret key to {:?}", path);
-    fs::write(&path, server_kp.private().to_arr())?;
-  } else {
-    println!("{:?} already exists, skipping", path);
-  }
-
   // Opaque 2.0 setup
   let server_setup = comm_opaque2::server::generate_server_setup();
   let mut path = secrets_dir.clone();
diff --git a/services/identity/src/main.rs b/services/identity/src/main.rs
--- a/services/identity/src/main.rs
+++ b/services/identity/src/main.rs
@@ -11,7 +11,6 @@
 pub mod constants;
 mod database;
 mod id;
-mod interceptor;
 mod keygen;
 mod nonce;
 mod reserved_users;
diff --git a/shared/comm-opaque/.gitignore b/shared/comm-opaque/.gitignore
deleted file mode 100644
--- a/shared/comm-opaque/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-target
diff --git a/shared/comm-opaque/Cargo.lock b/shared/comm-opaque/Cargo.lock
deleted file mode 100644
--- a/shared/comm-opaque/Cargo.lock
+++ /dev/null
@@ -1,366 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "argon2"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db4ce4441f99dbd377ca8a8f57b698c44d0d6e712d8329b5040da5a64aa1ce73"
-dependencies = [
- "base64ct",
- "blake2",
- "password-hash",
-]
-
-[[package]]
-name = "base64ct"
-version = "1.5.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf"
-
-[[package]]
-name = "blake2"
-version = "0.10.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b12e5fd123190ce1c2e559308a94c9bacad77907d4c6005d9e58fe1a0689e55e"
-dependencies = [
- "digest 0.10.6",
-]
-
-[[package]]
-name = "block-buffer"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "block-buffer"
-version = "0.10.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "byteorder"
-version = "1.4.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-
-[[package]]
-name = "cfg-if"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
-[[package]]
-name = "comm-opaque"
-version = "0.1.0"
-dependencies = [
- "argon2",
- "curve25519-dalek",
- "digest 0.9.0",
- "opaque-ke",
- "sha2",
-]
-
-[[package]]
-name = "constant_time_eq"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
-
-[[package]]
-name = "cpufeatures"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "crypto-common"
-version = "0.1.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
-dependencies = [
- "generic-array",
- "typenum",
-]
-
-[[package]]
-name = "crypto-mac"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714"
-dependencies = [
- "generic-array",
- "subtle",
-]
-
-[[package]]
-name = "curve25519-dalek"
-version = "3.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90f9d052967f590a76e62eb387bd0bbb1b000182c3cefe5364db6b7211651bc0"
-dependencies = [
- "byteorder",
- "digest 0.9.0",
- "rand_core 0.5.1",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "digest"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
-dependencies = [
- "generic-array",
-]
-
-[[package]]
-name = "digest"
-version = "0.10.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f"
-dependencies = [
- "block-buffer 0.10.3",
- "crypto-common",
- "subtle",
-]
-
-[[package]]
-name = "displaydoc"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "generic-array"
-version = "0.14.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
-dependencies = [
- "typenum",
- "version_check",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.1.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi",
-]
-
-[[package]]
-name = "hkdf"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01706d578d5c281058480e673ae4086a9f4710d8df1ad80a5b03e39ece5f886b"
-dependencies = [
- "digest 0.9.0",
- "hmac",
-]
-
-[[package]]
-name = "hmac"
-version = "0.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b"
-dependencies = [
- "crypto-mac",
- "digest 0.9.0",
-]
-
-[[package]]
-name = "libc"
-version = "0.2.138"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8"
-
-[[package]]
-name = "opaque-debug"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
-
-[[package]]
-name = "opaque-ke"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f25e5f1be61b7a94f388368a24739318fe4edd2b841d20d7077a422a5391e22f"
-dependencies = [
- "constant_time_eq",
- "curve25519-dalek",
- "digest 0.9.0",
- "displaydoc",
- "generic-array",
- "hkdf",
- "hmac",
- "rand",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "password-hash"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700"
-dependencies = [
- "base64ct",
- "rand_core 0.6.4",
- "subtle",
-]
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.47"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "rand"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
-dependencies = [
- "rand_core 0.6.4",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
-dependencies = [
- "getrandom",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
-
-[[package]]
-name = "sha2"
-version = "0.9.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800"
-dependencies = [
- "block-buffer 0.9.0",
- "cfg-if",
- "cpufeatures",
- "digest 0.9.0",
- "opaque-debug",
-]
-
-[[package]]
-name = "subtle"
-version = "2.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
-
-[[package]]
-name = "syn"
-version = "1.0.105"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "synstructure"
-version = "0.12.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
- "unicode-xid",
-]
-
-[[package]]
-name = "typenum"
-version = "1.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
-
-[[package]]
-name = "unicode-xid"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
-
-[[package]]
-name = "version_check"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
-name = "wasi"
-version = "0.9.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-
-[[package]]
-name = "zeroize"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd"
-dependencies = [
- "zeroize_derive",
-]
-
-[[package]]
-name = "zeroize_derive"
-version = "1.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
- "synstructure",
-]
diff --git a/shared/comm-opaque/Cargo.toml b/shared/comm-opaque/Cargo.toml
deleted file mode 100644
--- a/shared/comm-opaque/Cargo.toml
+++ /dev/null
@@ -1,13 +0,0 @@
-[package]
-name = "comm-opaque"
-version = "0.1.0"
-edition = "2021"
-
-# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
-
-[dependencies]
-argon2 = "0.4"
-opaque-ke = "1.2"
-digest = "0.9"
-curve25519-dalek = "3.2"
-sha2 = "0.9"
diff --git a/shared/comm-opaque/src/lib.rs b/shared/comm-opaque/src/lib.rs
deleted file mode 100644
--- a/shared/comm-opaque/src/lib.rs
+++ /dev/null
@@ -1,2 +0,0 @@
-mod opaque;
-pub use crate::opaque::Cipher;
diff --git a/shared/comm-opaque/src/opaque.rs b/shared/comm-opaque/src/opaque.rs
deleted file mode 100644
--- a/shared/comm-opaque/src/opaque.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-use argon2::Argon2;
-use digest::{generic_array::GenericArray, Digest};
-use opaque_ke::{
-  ciphersuite::CipherSuite, errors::InternalPakeError, hash::Hash,
-  slow_hash::SlowHash,
-};
-
-pub struct Cipher;
-
-impl CipherSuite for Cipher {
-  type Group = curve25519_dalek::ristretto::RistrettoPoint;
-  type KeyExchange = opaque_ke::key_exchange::tripledh::TripleDH;
-  type Hash = sha2::Sha512;
-  type SlowHash = ArgonWrapper;
-}
-
-pub struct ArgonWrapper(Argon2<'static>);
-
-impl<D: Hash> SlowHash<D> for ArgonWrapper {
-  fn hash(
-    input: GenericArray<u8, <D as Digest>::OutputSize>,
-  ) -> Result<Vec<u8>, InternalPakeError> {
-    let params = Argon2::default();
-    let mut output = vec![0u8; <D as Digest>::output_size()];
-    params
-      .hash_password_into(&input, &[0; argon2::MIN_SALT_LEN], &mut output)
-      .map_err(|_| InternalPakeError::SlowHashError)?;
-    Ok(output)
-  }
-}
diff --git a/shared/protos/CMakeLists.txt b/shared/protos/CMakeLists.txt
deleted file mode 100644
--- a/shared/protos/CMakeLists.txt
+++ /dev/null
@@ -1,94 +0,0 @@
-project(grpc-comm)
-cmake_minimum_required(VERSION 3.4)
-
-include(GNUInstallDirs)
-find_package(Protobuf REQUIRED)
-find_package(gRPC REQUIRED)
-
-set(CMAKE_CXX_STANDARD 14)
-# Allow for tools on PATH to be found
-find_program(_PROTOBUF_PROTOC protoc
-  HINTS "${_PROTOBUF_PROTOC}")
-find_program(_GRPC_CPP_PLUGIN_EXECUTABLE grpc_cpp_plugin
-  HINTS "${_GRPC_CPP_PLUGIN_EXECUTABLE}")
-
-set(_proto_dir "${CMAKE_CURRENT_SOURCE_DIR}")
-set(_components backup blob identity)
-set(TARGETS)
-
-# Iterate through each protobuf file
-# and create headers, sources, and export as component library
-foreach(component ${_components})
-  set(LIB_NAME comm-${component}-grpc)
-  set(TARGETS ${TARGETS} ${LIB_NAME})
-
-  set(BIN_PROTO_HDRS
-    ${component}.pb.h
-    ${component}.grpc.pb.h
-  )
-
-  set(BIN_PROTO_SRCS
-    ${component}.pb.cc
-    ${component}.grpc.pb.cc
-  )
-
-  set(_proto_file "${_proto_dir}/${component}.proto")
-  # Generate headers from protobuf files, and copy them to _generated dir
-  add_custom_command(
-    OUTPUT ${BIN_PROTO_HDRS} ${BIN_PROTO_SRCS}
-    COMMAND ${_PROTOBUF_PROTOC} --grpc_out "${CMAKE_CURRENT_BINARY_DIR}"
-    --cpp_out "${CMAKE_CURRENT_BINARY_DIR}"
-    -I "${_proto_dir}"
-    --plugin=protoc-gen-grpc="${_GRPC_CPP_PLUGIN_EXECUTABLE}"
-    "${_proto_file}"
-    COMMAND sed 's|^// Genera|// @genera|g' ${component}.grpc.pb.h
-      > ${CMAKE_CURRENT_SOURCE_DIR}/_generated/${component}.grpc.pb.h
-    COMMAND sed 's|^// Genera|// @genera|g' ${component}.grpc.pb.cc
-      > ${CMAKE_CURRENT_SOURCE_DIR}/_generated/${component}.grpc.pb.cc
-    COMMAND sed 's|^// Genera|// @genera|g' ${component}.pb.h
-      > ${CMAKE_CURRENT_SOURCE_DIR}/_generated/${component}.pb.h
-    COMMAND sed 's|^// Genera|// @genera|g' ${component}.pb.cc
-      > ${CMAKE_CURRENT_SOURCE_DIR}/_generated/${component}.pb.cc
-    DEPENDS "${_proto_file}"
-    MAIN_DEPENDENCY "${_proto_file}"
-    COMMENT "Generate protobuf files for ${component}"
-  )
-
-  add_library(${LIB_NAME}
-    ${BIN_PROTO_HDRS} ${BIN_PROTO_SRCS}
-  )
-
-  target_link_libraries(${LIB_NAME}
-    gRPC::grpc++
-    protobuf::libprotobuf
-  )
-
-  # reference local directory when building
-  # use installation path when installing
-  target_include_directories(${LIB_NAME}
-    PUBLIC
-    $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
-    $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
-  )
-
-  install(TARGETS ${LIB_NAME} EXPORT comm-grpc-export
-    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT ${LIB_NAME}
-    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${LIB_NAME}
-    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT ${LIB_NAME}
-  )
-
-  # ensure headers are also installed
-  install(FILES ${PROTO_HDRS} DESTINATION include/comm/grpc)
-endforeach()
-
-export(TARGETS ${TARGETS}
-  NAMESPACE comm::
-  FILE ${CMAKE_CURRENT_BINARY_DIR}/cmake/comm/comm-grpc-targets.cmake
-)
-
-# For installation
-install(EXPORT comm-grpc-export
-  FILE comm-grpc-targets.cmake
-  DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/comm-grpc
-  NAMESPACE comm::
-)
diff --git a/shared/protos/_generated/.clang-format b/shared/protos/_generated/.clang-format
deleted file mode 100644
--- a/shared/protos/_generated/.clang-format
+++ /dev/null
@@ -1,3 +0,0 @@
----
-DisableFormat: true
-SortIncludes: false
diff --git a/shared/protos/_generated/backup.grpc.pb.h b/shared/protos/_generated/backup.grpc.pb.h
deleted file mode 100644
--- a/shared/protos/_generated/backup.grpc.pb.h
+++ /dev/null
@@ -1,800 +0,0 @@
-// @generated by the gRPC C++ plugin.
-// If you make any local change, they will be lost.
-// source: backup.proto
-#ifndef GRPC_backup_2eproto__INCLUDED
-#define GRPC_backup_2eproto__INCLUDED
-
-#include "backup.pb.h"
-
-#include <functional>
-#include <grpcpp/impl/codegen/async_generic_service.h>
-#include <grpcpp/impl/codegen/async_stream.h>
-#include <grpcpp/impl/codegen/async_unary_call.h>
-#include <grpcpp/impl/codegen/client_callback.h>
-#include <grpcpp/impl/codegen/client_context.h>
-#include <grpcpp/impl/codegen/completion_queue.h>
-#include <grpcpp/impl/codegen/message_allocator.h>
-#include <grpcpp/impl/codegen/method_handler.h>
-#include <grpcpp/impl/codegen/proto_utils.h>
-#include <grpcpp/impl/codegen/rpc_method.h>
-#include <grpcpp/impl/codegen/server_callback.h>
-#include <grpcpp/impl/codegen/server_callback_handlers.h>
-#include <grpcpp/impl/codegen/server_context.h>
-#include <grpcpp/impl/codegen/service_type.h>
-#include <grpcpp/impl/codegen/status.h>
-#include <grpcpp/impl/codegen/stub_options.h>
-#include <grpcpp/impl/codegen/sync_stream.h>
-
-namespace backup {
-
-// *
-// API - description
-//  CreateNewBackup - This method is called when we want to create a new backup.
-//    We send a new backup key encrypted with the user's password and also the
-//    new compaction. New logs that will be sent from now on will be assigned to
-//    this backup.
-//  SendLog - User sends a new log to the backup service. The log is being
-//    assigned to the latest(or desired) backup's compaction item.
-//  RecoverBackupKey - Pulls data necessary for regenerating the backup key
-//    on the client-side for the latest(or desired) backup
-//  PullBackup - Fetches compaction + all logs assigned to it for the
-//    specified backup(default is the last backup)
-//
-class BackupService final {
- public:
-  static constexpr char const* service_full_name() {
-    return "backup.BackupService";
-  }
-  class StubInterface {
-   public:
-    virtual ~StubInterface() {}
-    std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>> CreateNewBackup(::grpc::ClientContext* context) {
-      return std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>>(CreateNewBackupRaw(context));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>> AsyncCreateNewBackup(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) {
-      return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>>(AsyncCreateNewBackupRaw(context, cq, tag));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>> PrepareAsyncCreateNewBackup(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>>(PrepareAsyncCreateNewBackupRaw(context, cq));
-    }
-    std::unique_ptr< ::grpc::ClientWriterInterface< ::backup::SendLogRequest>> SendLog(::grpc::ClientContext* context, ::backup::SendLogResponse* response) {
-      return std::unique_ptr< ::grpc::ClientWriterInterface< ::backup::SendLogRequest>>(SendLogRaw(context, response));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncWriterInterface< ::backup::SendLogRequest>> AsyncSendLog(::grpc::ClientContext* context, ::backup::SendLogResponse* response, ::grpc::CompletionQueue* cq, void* tag) {
-      return std::unique_ptr< ::grpc::ClientAsyncWriterInterface< ::backup::SendLogRequest>>(AsyncSendLogRaw(context, response, cq, tag));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncWriterInterface< ::backup::SendLogRequest>> PrepareAsyncSendLog(::grpc::ClientContext* context, ::backup::SendLogResponse* response, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncWriterInterface< ::backup::SendLogRequest>>(PrepareAsyncSendLogRaw(context, response, cq));
-    }
-    std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>> RecoverBackupKey(::grpc::ClientContext* context) {
-      return std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>>(RecoverBackupKeyRaw(context));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>> AsyncRecoverBackupKey(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) {
-      return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>>(AsyncRecoverBackupKeyRaw(context, cq, tag));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>> PrepareAsyncRecoverBackupKey(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>>(PrepareAsyncRecoverBackupKeyRaw(context, cq));
-    }
-    std::unique_ptr< ::grpc::ClientReaderInterface< ::backup::PullBackupResponse>> PullBackup(::grpc::ClientContext* context, const ::backup::PullBackupRequest& request) {
-      return std::unique_ptr< ::grpc::ClientReaderInterface< ::backup::PullBackupResponse>>(PullBackupRaw(context, request));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::backup::PullBackupResponse>> AsyncPullBackup(::grpc::ClientContext* context, const ::backup::PullBackupRequest& request, ::grpc::CompletionQueue* cq, void* tag) {
-      return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::backup::PullBackupResponse>>(AsyncPullBackupRaw(context, request, cq, tag));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::backup::PullBackupResponse>> PrepareAsyncPullBackup(::grpc::ClientContext* context, const ::backup::PullBackupRequest& request, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::backup::PullBackupResponse>>(PrepareAsyncPullBackupRaw(context, request, cq));
-    }
-    virtual ::grpc::Status AddAttachments(::grpc::ClientContext* context, const ::backup::AddAttachmentsRequest& request, ::google::protobuf::Empty* response) = 0;
-    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncAddAttachments(::grpc::ClientContext* context, const ::backup::AddAttachmentsRequest& request, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncAddAttachmentsRaw(context, request, cq));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncAddAttachments(::grpc::ClientContext* context, const ::backup::AddAttachmentsRequest& request, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncAddAttachmentsRaw(context, request, cq));
-    }
-    class async_interface {
-     public:
-      virtual ~async_interface() {}
-      virtual void CreateNewBackup(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::backup::CreateNewBackupRequest,::backup::CreateNewBackupResponse>* reactor) = 0;
-      virtual void SendLog(::grpc::ClientContext* context, ::backup::SendLogResponse* response, ::grpc::ClientWriteReactor< ::backup::SendLogRequest>* reactor) = 0;
-      virtual void RecoverBackupKey(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::backup::RecoverBackupKeyRequest,::backup::RecoverBackupKeyResponse>* reactor) = 0;
-      virtual void PullBackup(::grpc::ClientContext* context, const ::backup::PullBackupRequest* request, ::grpc::ClientReadReactor< ::backup::PullBackupResponse>* reactor) = 0;
-      virtual void AddAttachments(::grpc::ClientContext* context, const ::backup::AddAttachmentsRequest* request, ::google::protobuf::Empty* response, std::function<void(::grpc::Status)>) = 0;
-      virtual void AddAttachments(::grpc::ClientContext* context, const ::backup::AddAttachmentsRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
-    };
-    typedef class async_interface experimental_async_interface;
-    virtual class async_interface* async() { return nullptr; }
-    class async_interface* experimental_async() { return async(); }
-   private:
-    virtual ::grpc::ClientReaderWriterInterface< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>* CreateNewBackupRaw(::grpc::ClientContext* context) = 0;
-    virtual ::grpc::ClientAsyncReaderWriterInterface< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>* AsyncCreateNewBackupRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) = 0;
-    virtual ::grpc::ClientAsyncReaderWriterInterface< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>* PrepareAsyncCreateNewBackupRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) = 0;
-    virtual ::grpc::ClientWriterInterface< ::backup::SendLogRequest>* SendLogRaw(::grpc::ClientContext* context, ::backup::SendLogResponse* response) = 0;
-    virtual ::grpc::ClientAsyncWriterInterface< ::backup::SendLogRequest>* AsyncSendLogRaw(::grpc::ClientContext* context, ::backup::SendLogResponse* response, ::grpc::CompletionQueue* cq, void* tag) = 0;
-    virtual ::grpc::ClientAsyncWriterInterface< ::backup::SendLogRequest>* PrepareAsyncSendLogRaw(::grpc::ClientContext* context, ::backup::SendLogResponse* response, ::grpc::CompletionQueue* cq) = 0;
-    virtual ::grpc::ClientReaderWriterInterface< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>* RecoverBackupKeyRaw(::grpc::ClientContext* context) = 0;
-    virtual ::grpc::ClientAsyncReaderWriterInterface< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>* AsyncRecoverBackupKeyRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) = 0;
-    virtual ::grpc::ClientAsyncReaderWriterInterface< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>* PrepareAsyncRecoverBackupKeyRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) = 0;
-    virtual ::grpc::ClientReaderInterface< ::backup::PullBackupResponse>* PullBackupRaw(::grpc::ClientContext* context, const ::backup::PullBackupRequest& request) = 0;
-    virtual ::grpc::ClientAsyncReaderInterface< ::backup::PullBackupResponse>* AsyncPullBackupRaw(::grpc::ClientContext* context, const ::backup::PullBackupRequest& request, ::grpc::CompletionQueue* cq, void* tag) = 0;
-    virtual ::grpc::ClientAsyncReaderInterface< ::backup::PullBackupResponse>* PrepareAsyncPullBackupRaw(::grpc::ClientContext* context, const ::backup::PullBackupRequest& request, ::grpc::CompletionQueue* cq) = 0;
-    virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncAddAttachmentsRaw(::grpc::ClientContext* context, const ::backup::AddAttachmentsRequest& request, ::grpc::CompletionQueue* cq) = 0;
-    virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncAddAttachmentsRaw(::grpc::ClientContext* context, const ::backup::AddAttachmentsRequest& request, ::grpc::CompletionQueue* cq) = 0;
-  };
-  class Stub final : public StubInterface {
-   public:
-    Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions());
-    std::unique_ptr< ::grpc::ClientReaderWriter< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>> CreateNewBackup(::grpc::ClientContext* context) {
-      return std::unique_ptr< ::grpc::ClientReaderWriter< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>>(CreateNewBackupRaw(context));
-    }
-    std::unique_ptr<  ::grpc::ClientAsyncReaderWriter< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>> AsyncCreateNewBackup(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) {
-      return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>>(AsyncCreateNewBackupRaw(context, cq, tag));
-    }
-    std::unique_ptr<  ::grpc::ClientAsyncReaderWriter< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>> PrepareAsyncCreateNewBackup(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>>(PrepareAsyncCreateNewBackupRaw(context, cq));
-    }
-    std::unique_ptr< ::grpc::ClientWriter< ::backup::SendLogRequest>> SendLog(::grpc::ClientContext* context, ::backup::SendLogResponse* response) {
-      return std::unique_ptr< ::grpc::ClientWriter< ::backup::SendLogRequest>>(SendLogRaw(context, response));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncWriter< ::backup::SendLogRequest>> AsyncSendLog(::grpc::ClientContext* context, ::backup::SendLogResponse* response, ::grpc::CompletionQueue* cq, void* tag) {
-      return std::unique_ptr< ::grpc::ClientAsyncWriter< ::backup::SendLogRequest>>(AsyncSendLogRaw(context, response, cq, tag));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncWriter< ::backup::SendLogRequest>> PrepareAsyncSendLog(::grpc::ClientContext* context, ::backup::SendLogResponse* response, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncWriter< ::backup::SendLogRequest>>(PrepareAsyncSendLogRaw(context, response, cq));
-    }
-    std::unique_ptr< ::grpc::ClientReaderWriter< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>> RecoverBackupKey(::grpc::ClientContext* context) {
-      return std::unique_ptr< ::grpc::ClientReaderWriter< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>>(RecoverBackupKeyRaw(context));
-    }
-    std::unique_ptr<  ::grpc::ClientAsyncReaderWriter< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>> AsyncRecoverBackupKey(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) {
-      return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>>(AsyncRecoverBackupKeyRaw(context, cq, tag));
-    }
-    std::unique_ptr<  ::grpc::ClientAsyncReaderWriter< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>> PrepareAsyncRecoverBackupKey(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>>(PrepareAsyncRecoverBackupKeyRaw(context, cq));
-    }
-    std::unique_ptr< ::grpc::ClientReader< ::backup::PullBackupResponse>> PullBackup(::grpc::ClientContext* context, const ::backup::PullBackupRequest& request) {
-      return std::unique_ptr< ::grpc::ClientReader< ::backup::PullBackupResponse>>(PullBackupRaw(context, request));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncReader< ::backup::PullBackupResponse>> AsyncPullBackup(::grpc::ClientContext* context, const ::backup::PullBackupRequest& request, ::grpc::CompletionQueue* cq, void* tag) {
-      return std::unique_ptr< ::grpc::ClientAsyncReader< ::backup::PullBackupResponse>>(AsyncPullBackupRaw(context, request, cq, tag));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncReader< ::backup::PullBackupResponse>> PrepareAsyncPullBackup(::grpc::ClientContext* context, const ::backup::PullBackupRequest& request, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncReader< ::backup::PullBackupResponse>>(PrepareAsyncPullBackupRaw(context, request, cq));
-    }
-    ::grpc::Status AddAttachments(::grpc::ClientContext* context, const ::backup::AddAttachmentsRequest& request, ::google::protobuf::Empty* response) override;
-    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncAddAttachments(::grpc::ClientContext* context, const ::backup::AddAttachmentsRequest& request, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncAddAttachmentsRaw(context, request, cq));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncAddAttachments(::grpc::ClientContext* context, const ::backup::AddAttachmentsRequest& request, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncAddAttachmentsRaw(context, request, cq));
-    }
-    class async final :
-      public StubInterface::async_interface {
-     public:
-      void CreateNewBackup(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::backup::CreateNewBackupRequest,::backup::CreateNewBackupResponse>* reactor) override;
-      void SendLog(::grpc::ClientContext* context, ::backup::SendLogResponse* response, ::grpc::ClientWriteReactor< ::backup::SendLogRequest>* reactor) override;
-      void RecoverBackupKey(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::backup::RecoverBackupKeyRequest,::backup::RecoverBackupKeyResponse>* reactor) override;
-      void PullBackup(::grpc::ClientContext* context, const ::backup::PullBackupRequest* request, ::grpc::ClientReadReactor< ::backup::PullBackupResponse>* reactor) override;
-      void AddAttachments(::grpc::ClientContext* context, const ::backup::AddAttachmentsRequest* request, ::google::protobuf::Empty* response, std::function<void(::grpc::Status)>) override;
-      void AddAttachments(::grpc::ClientContext* context, const ::backup::AddAttachmentsRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
-     private:
-      friend class Stub;
-      explicit async(Stub* stub): stub_(stub) { }
-      Stub* stub() { return stub_; }
-      Stub* stub_;
-    };
-    class async* async() override { return &async_stub_; }
-
-   private:
-    std::shared_ptr< ::grpc::ChannelInterface> channel_;
-    class async async_stub_{this};
-    ::grpc::ClientReaderWriter< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>* CreateNewBackupRaw(::grpc::ClientContext* context) override;
-    ::grpc::ClientAsyncReaderWriter< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>* AsyncCreateNewBackupRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) override;
-    ::grpc::ClientAsyncReaderWriter< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>* PrepareAsyncCreateNewBackupRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) override;
-    ::grpc::ClientWriter< ::backup::SendLogRequest>* SendLogRaw(::grpc::ClientContext* context, ::backup::SendLogResponse* response) override;
-    ::grpc::ClientAsyncWriter< ::backup::SendLogRequest>* AsyncSendLogRaw(::grpc::ClientContext* context, ::backup::SendLogResponse* response, ::grpc::CompletionQueue* cq, void* tag) override;
-    ::grpc::ClientAsyncWriter< ::backup::SendLogRequest>* PrepareAsyncSendLogRaw(::grpc::ClientContext* context, ::backup::SendLogResponse* response, ::grpc::CompletionQueue* cq) override;
-    ::grpc::ClientReaderWriter< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>* RecoverBackupKeyRaw(::grpc::ClientContext* context) override;
-    ::grpc::ClientAsyncReaderWriter< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>* AsyncRecoverBackupKeyRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) override;
-    ::grpc::ClientAsyncReaderWriter< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>* PrepareAsyncRecoverBackupKeyRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) override;
-    ::grpc::ClientReader< ::backup::PullBackupResponse>* PullBackupRaw(::grpc::ClientContext* context, const ::backup::PullBackupRequest& request) override;
-    ::grpc::ClientAsyncReader< ::backup::PullBackupResponse>* AsyncPullBackupRaw(::grpc::ClientContext* context, const ::backup::PullBackupRequest& request, ::grpc::CompletionQueue* cq, void* tag) override;
-    ::grpc::ClientAsyncReader< ::backup::PullBackupResponse>* PrepareAsyncPullBackupRaw(::grpc::ClientContext* context, const ::backup::PullBackupRequest& request, ::grpc::CompletionQueue* cq) override;
-    ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncAddAttachmentsRaw(::grpc::ClientContext* context, const ::backup::AddAttachmentsRequest& request, ::grpc::CompletionQueue* cq) override;
-    ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncAddAttachmentsRaw(::grpc::ClientContext* context, const ::backup::AddAttachmentsRequest& request, ::grpc::CompletionQueue* cq) override;
-    const ::grpc::internal::RpcMethod rpcmethod_CreateNewBackup_;
-    const ::grpc::internal::RpcMethod rpcmethod_SendLog_;
-    const ::grpc::internal::RpcMethod rpcmethod_RecoverBackupKey_;
-    const ::grpc::internal::RpcMethod rpcmethod_PullBackup_;
-    const ::grpc::internal::RpcMethod rpcmethod_AddAttachments_;
-  };
-  static std::unique_ptr<Stub> NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions());
-
-  class Service : public ::grpc::Service {
-   public:
-    Service();
-    virtual ~Service();
-    virtual ::grpc::Status CreateNewBackup(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::backup::CreateNewBackupResponse, ::backup::CreateNewBackupRequest>* stream);
-    virtual ::grpc::Status SendLog(::grpc::ServerContext* context, ::grpc::ServerReader< ::backup::SendLogRequest>* reader, ::backup::SendLogResponse* response);
-    virtual ::grpc::Status RecoverBackupKey(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::backup::RecoverBackupKeyResponse, ::backup::RecoverBackupKeyRequest>* stream);
-    virtual ::grpc::Status PullBackup(::grpc::ServerContext* context, const ::backup::PullBackupRequest* request, ::grpc::ServerWriter< ::backup::PullBackupResponse>* writer);
-    virtual ::grpc::Status AddAttachments(::grpc::ServerContext* context, const ::backup::AddAttachmentsRequest* request, ::google::protobuf::Empty* response);
-  };
-  template <class BaseClass>
-  class WithAsyncMethod_CreateNewBackup : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithAsyncMethod_CreateNewBackup() {
-      ::grpc::Service::MarkMethodAsync(0);
-    }
-    ~WithAsyncMethod_CreateNewBackup() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status CreateNewBackup(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::backup::CreateNewBackupResponse, ::backup::CreateNewBackupRequest>* /*stream*/)  override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    void RequestCreateNewBackup(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::backup::CreateNewBackupResponse, ::backup::CreateNewBackupRequest>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
-      ::grpc::Service::RequestAsyncBidiStreaming(0, context, stream, new_call_cq, notification_cq, tag);
-    }
-  };
-  template <class BaseClass>
-  class WithAsyncMethod_SendLog : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithAsyncMethod_SendLog() {
-      ::grpc::Service::MarkMethodAsync(1);
-    }
-    ~WithAsyncMethod_SendLog() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status SendLog(::grpc::ServerContext* /*context*/, ::grpc::ServerReader< ::backup::SendLogRequest>* /*reader*/, ::backup::SendLogResponse* /*response*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    void RequestSendLog(::grpc::ServerContext* context, ::grpc::ServerAsyncReader< ::backup::SendLogResponse, ::backup::SendLogRequest>* reader, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
-      ::grpc::Service::RequestAsyncClientStreaming(1, context, reader, new_call_cq, notification_cq, tag);
-    }
-  };
-  template <class BaseClass>
-  class WithAsyncMethod_RecoverBackupKey : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithAsyncMethod_RecoverBackupKey() {
-      ::grpc::Service::MarkMethodAsync(2);
-    }
-    ~WithAsyncMethod_RecoverBackupKey() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status RecoverBackupKey(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::backup::RecoverBackupKeyResponse, ::backup::RecoverBackupKeyRequest>* /*stream*/)  override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    void RequestRecoverBackupKey(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::backup::RecoverBackupKeyResponse, ::backup::RecoverBackupKeyRequest>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
-      ::grpc::Service::RequestAsyncBidiStreaming(2, context, stream, new_call_cq, notification_cq, tag);
-    }
-  };
-  template <class BaseClass>
-  class WithAsyncMethod_PullBackup : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithAsyncMethod_PullBackup() {
-      ::grpc::Service::MarkMethodAsync(3);
-    }
-    ~WithAsyncMethod_PullBackup() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status PullBackup(::grpc::ServerContext* /*context*/, const ::backup::PullBackupRequest* /*request*/, ::grpc::ServerWriter< ::backup::PullBackupResponse>* /*writer*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    void RequestPullBackup(::grpc::ServerContext* context, ::backup::PullBackupRequest* request, ::grpc::ServerAsyncWriter< ::backup::PullBackupResponse>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
-      ::grpc::Service::RequestAsyncServerStreaming(3, context, request, writer, new_call_cq, notification_cq, tag);
-    }
-  };
-  template <class BaseClass>
-  class WithAsyncMethod_AddAttachments : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithAsyncMethod_AddAttachments() {
-      ::grpc::Service::MarkMethodAsync(4);
-    }
-    ~WithAsyncMethod_AddAttachments() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status AddAttachments(::grpc::ServerContext* /*context*/, const ::backup::AddAttachmentsRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    void RequestAddAttachments(::grpc::ServerContext* context, ::backup::AddAttachmentsRequest* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
-      ::grpc::Service::RequestAsyncUnary(4, context, request, response, new_call_cq, notification_cq, tag);
-    }
-  };
-  typedef WithAsyncMethod_CreateNewBackup<WithAsyncMethod_SendLog<WithAsyncMethod_RecoverBackupKey<WithAsyncMethod_PullBackup<WithAsyncMethod_AddAttachments<Service > > > > > AsyncService;
-  template <class BaseClass>
-  class WithCallbackMethod_CreateNewBackup : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithCallbackMethod_CreateNewBackup() {
-      ::grpc::Service::MarkMethodCallback(0,
-          new ::grpc::internal::CallbackBidiHandler< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>(
-            [this](
-                   ::grpc::CallbackServerContext* context) { return this->CreateNewBackup(context); }));
-    }
-    ~WithCallbackMethod_CreateNewBackup() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status CreateNewBackup(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::backup::CreateNewBackupResponse, ::backup::CreateNewBackupRequest>* /*stream*/)  override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    virtual ::grpc::ServerBidiReactor< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>* CreateNewBackup(
-      ::grpc::CallbackServerContext* /*context*/)
-      { return nullptr; }
-  };
-  template <class BaseClass>
-  class WithCallbackMethod_SendLog : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithCallbackMethod_SendLog() {
-      ::grpc::Service::MarkMethodCallback(1,
-          new ::grpc::internal::CallbackClientStreamingHandler< ::backup::SendLogRequest, ::backup::SendLogResponse>(
-            [this](
-                   ::grpc::CallbackServerContext* context, ::backup::SendLogResponse* response) { return this->SendLog(context, response); }));
-    }
-    ~WithCallbackMethod_SendLog() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status SendLog(::grpc::ServerContext* /*context*/, ::grpc::ServerReader< ::backup::SendLogRequest>* /*reader*/, ::backup::SendLogResponse* /*response*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    virtual ::grpc::ServerReadReactor< ::backup::SendLogRequest>* SendLog(
-      ::grpc::CallbackServerContext* /*context*/, ::backup::SendLogResponse* /*response*/)  { return nullptr; }
-  };
-  template <class BaseClass>
-  class WithCallbackMethod_RecoverBackupKey : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithCallbackMethod_RecoverBackupKey() {
-      ::grpc::Service::MarkMethodCallback(2,
-          new ::grpc::internal::CallbackBidiHandler< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>(
-            [this](
-                   ::grpc::CallbackServerContext* context) { return this->RecoverBackupKey(context); }));
-    }
-    ~WithCallbackMethod_RecoverBackupKey() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status RecoverBackupKey(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::backup::RecoverBackupKeyResponse, ::backup::RecoverBackupKeyRequest>* /*stream*/)  override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    virtual ::grpc::ServerBidiReactor< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>* RecoverBackupKey(
-      ::grpc::CallbackServerContext* /*context*/)
-      { return nullptr; }
-  };
-  template <class BaseClass>
-  class WithCallbackMethod_PullBackup : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithCallbackMethod_PullBackup() {
-      ::grpc::Service::MarkMethodCallback(3,
-          new ::grpc::internal::CallbackServerStreamingHandler< ::backup::PullBackupRequest, ::backup::PullBackupResponse>(
-            [this](
-                   ::grpc::CallbackServerContext* context, const ::backup::PullBackupRequest* request) { return this->PullBackup(context, request); }));
-    }
-    ~WithCallbackMethod_PullBackup() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status PullBackup(::grpc::ServerContext* /*context*/, const ::backup::PullBackupRequest* /*request*/, ::grpc::ServerWriter< ::backup::PullBackupResponse>* /*writer*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    virtual ::grpc::ServerWriteReactor< ::backup::PullBackupResponse>* PullBackup(
-      ::grpc::CallbackServerContext* /*context*/, const ::backup::PullBackupRequest* /*request*/)  { return nullptr; }
-  };
-  template <class BaseClass>
-  class WithCallbackMethod_AddAttachments : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithCallbackMethod_AddAttachments() {
-      ::grpc::Service::MarkMethodCallback(4,
-          new ::grpc::internal::CallbackUnaryHandler< ::backup::AddAttachmentsRequest, ::google::protobuf::Empty>(
-            [this](
-                   ::grpc::CallbackServerContext* context, const ::backup::AddAttachmentsRequest* request, ::google::protobuf::Empty* response) { return this->AddAttachments(context, request, response); }));}
-    void SetMessageAllocatorFor_AddAttachments(
-        ::grpc::MessageAllocator< ::backup::AddAttachmentsRequest, ::google::protobuf::Empty>* allocator) {
-      ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(4);
-      static_cast<::grpc::internal::CallbackUnaryHandler< ::backup::AddAttachmentsRequest, ::google::protobuf::Empty>*>(handler)
-              ->SetMessageAllocator(allocator);
-    }
-    ~WithCallbackMethod_AddAttachments() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status AddAttachments(::grpc::ServerContext* /*context*/, const ::backup::AddAttachmentsRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    virtual ::grpc::ServerUnaryReactor* AddAttachments(
-      ::grpc::CallbackServerContext* /*context*/, const ::backup::AddAttachmentsRequest* /*request*/, ::google::protobuf::Empty* /*response*/)  { return nullptr; }
-  };
-  typedef WithCallbackMethod_CreateNewBackup<WithCallbackMethod_SendLog<WithCallbackMethod_RecoverBackupKey<WithCallbackMethod_PullBackup<WithCallbackMethod_AddAttachments<Service > > > > > CallbackService;
-  typedef CallbackService ExperimentalCallbackService;
-  template <class BaseClass>
-  class WithGenericMethod_CreateNewBackup : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithGenericMethod_CreateNewBackup() {
-      ::grpc::Service::MarkMethodGeneric(0);
-    }
-    ~WithGenericMethod_CreateNewBackup() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status CreateNewBackup(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::backup::CreateNewBackupResponse, ::backup::CreateNewBackupRequest>* /*stream*/)  override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-  };
-  template <class BaseClass>
-  class WithGenericMethod_SendLog : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithGenericMethod_SendLog() {
-      ::grpc::Service::MarkMethodGeneric(1);
-    }
-    ~WithGenericMethod_SendLog() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status SendLog(::grpc::ServerContext* /*context*/, ::grpc::ServerReader< ::backup::SendLogRequest>* /*reader*/, ::backup::SendLogResponse* /*response*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-  };
-  template <class BaseClass>
-  class WithGenericMethod_RecoverBackupKey : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithGenericMethod_RecoverBackupKey() {
-      ::grpc::Service::MarkMethodGeneric(2);
-    }
-    ~WithGenericMethod_RecoverBackupKey() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status RecoverBackupKey(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::backup::RecoverBackupKeyResponse, ::backup::RecoverBackupKeyRequest>* /*stream*/)  override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-  };
-  template <class BaseClass>
-  class WithGenericMethod_PullBackup : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithGenericMethod_PullBackup() {
-      ::grpc::Service::MarkMethodGeneric(3);
-    }
-    ~WithGenericMethod_PullBackup() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status PullBackup(::grpc::ServerContext* /*context*/, const ::backup::PullBackupRequest* /*request*/, ::grpc::ServerWriter< ::backup::PullBackupResponse>* /*writer*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-  };
-  template <class BaseClass>
-  class WithGenericMethod_AddAttachments : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithGenericMethod_AddAttachments() {
-      ::grpc::Service::MarkMethodGeneric(4);
-    }
-    ~WithGenericMethod_AddAttachments() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status AddAttachments(::grpc::ServerContext* /*context*/, const ::backup::AddAttachmentsRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-  };
-  template <class BaseClass>
-  class WithRawMethod_CreateNewBackup : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithRawMethod_CreateNewBackup() {
-      ::grpc::Service::MarkMethodRaw(0);
-    }
-    ~WithRawMethod_CreateNewBackup() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status CreateNewBackup(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::backup::CreateNewBackupResponse, ::backup::CreateNewBackupRequest>* /*stream*/)  override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    void RequestCreateNewBackup(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
-      ::grpc::Service::RequestAsyncBidiStreaming(0, context, stream, new_call_cq, notification_cq, tag);
-    }
-  };
-  template <class BaseClass>
-  class WithRawMethod_SendLog : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithRawMethod_SendLog() {
-      ::grpc::Service::MarkMethodRaw(1);
-    }
-    ~WithRawMethod_SendLog() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status SendLog(::grpc::ServerContext* /*context*/, ::grpc::ServerReader< ::backup::SendLogRequest>* /*reader*/, ::backup::SendLogResponse* /*response*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    void RequestSendLog(::grpc::ServerContext* context, ::grpc::ServerAsyncReader< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* reader, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
-      ::grpc::Service::RequestAsyncClientStreaming(1, context, reader, new_call_cq, notification_cq, tag);
-    }
-  };
-  template <class BaseClass>
-  class WithRawMethod_RecoverBackupKey : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithRawMethod_RecoverBackupKey() {
-      ::grpc::Service::MarkMethodRaw(2);
-    }
-    ~WithRawMethod_RecoverBackupKey() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status RecoverBackupKey(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::backup::RecoverBackupKeyResponse, ::backup::RecoverBackupKeyRequest>* /*stream*/)  override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    void RequestRecoverBackupKey(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
-      ::grpc::Service::RequestAsyncBidiStreaming(2, context, stream, new_call_cq, notification_cq, tag);
-    }
-  };
-  template <class BaseClass>
-  class WithRawMethod_PullBackup : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithRawMethod_PullBackup() {
-      ::grpc::Service::MarkMethodRaw(3);
-    }
-    ~WithRawMethod_PullBackup() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status PullBackup(::grpc::ServerContext* /*context*/, const ::backup::PullBackupRequest* /*request*/, ::grpc::ServerWriter< ::backup::PullBackupResponse>* /*writer*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    void RequestPullBackup(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncWriter< ::grpc::ByteBuffer>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
-      ::grpc::Service::RequestAsyncServerStreaming(3, context, request, writer, new_call_cq, notification_cq, tag);
-    }
-  };
-  template <class BaseClass>
-  class WithRawMethod_AddAttachments : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithRawMethod_AddAttachments() {
-      ::grpc::Service::MarkMethodRaw(4);
-    }
-    ~WithRawMethod_AddAttachments() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status AddAttachments(::grpc::ServerContext* /*context*/, const ::backup::AddAttachmentsRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    void RequestAddAttachments(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
-      ::grpc::Service::RequestAsyncUnary(4, context, request, response, new_call_cq, notification_cq, tag);
-    }
-  };
-  template <class BaseClass>
-  class WithRawCallbackMethod_CreateNewBackup : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithRawCallbackMethod_CreateNewBackup() {
-      ::grpc::Service::MarkMethodRawCallback(0,
-          new ::grpc::internal::CallbackBidiHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
-            [this](
-                   ::grpc::CallbackServerContext* context) { return this->CreateNewBackup(context); }));
-    }
-    ~WithRawCallbackMethod_CreateNewBackup() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status CreateNewBackup(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::backup::CreateNewBackupResponse, ::backup::CreateNewBackupRequest>* /*stream*/)  override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    virtual ::grpc::ServerBidiReactor< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* CreateNewBackup(
-      ::grpc::CallbackServerContext* /*context*/)
-      { return nullptr; }
-  };
-  template <class BaseClass>
-  class WithRawCallbackMethod_SendLog : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithRawCallbackMethod_SendLog() {
-      ::grpc::Service::MarkMethodRawCallback(1,
-          new ::grpc::internal::CallbackClientStreamingHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
-            [this](
-                   ::grpc::CallbackServerContext* context, ::grpc::ByteBuffer* response) { return this->SendLog(context, response); }));
-    }
-    ~WithRawCallbackMethod_SendLog() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status SendLog(::grpc::ServerContext* /*context*/, ::grpc::ServerReader< ::backup::SendLogRequest>* /*reader*/, ::backup::SendLogResponse* /*response*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    virtual ::grpc::ServerReadReactor< ::grpc::ByteBuffer>* SendLog(
-      ::grpc::CallbackServerContext* /*context*/, ::grpc::ByteBuffer* /*response*/)  { return nullptr; }
-  };
-  template <class BaseClass>
-  class WithRawCallbackMethod_RecoverBackupKey : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithRawCallbackMethod_RecoverBackupKey() {
-      ::grpc::Service::MarkMethodRawCallback(2,
-          new ::grpc::internal::CallbackBidiHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
-            [this](
-                   ::grpc::CallbackServerContext* context) { return this->RecoverBackupKey(context); }));
-    }
-    ~WithRawCallbackMethod_RecoverBackupKey() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status RecoverBackupKey(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::backup::RecoverBackupKeyResponse, ::backup::RecoverBackupKeyRequest>* /*stream*/)  override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    virtual ::grpc::ServerBidiReactor< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* RecoverBackupKey(
-      ::grpc::CallbackServerContext* /*context*/)
-      { return nullptr; }
-  };
-  template <class BaseClass>
-  class WithRawCallbackMethod_PullBackup : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithRawCallbackMethod_PullBackup() {
-      ::grpc::Service::MarkMethodRawCallback(3,
-          new ::grpc::internal::CallbackServerStreamingHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
-            [this](
-                   ::grpc::CallbackServerContext* context, const::grpc::ByteBuffer* request) { return this->PullBackup(context, request); }));
-    }
-    ~WithRawCallbackMethod_PullBackup() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status PullBackup(::grpc::ServerContext* /*context*/, const ::backup::PullBackupRequest* /*request*/, ::grpc::ServerWriter< ::backup::PullBackupResponse>* /*writer*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    virtual ::grpc::ServerWriteReactor< ::grpc::ByteBuffer>* PullBackup(
-      ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/)  { return nullptr; }
-  };
-  template <class BaseClass>
-  class WithRawCallbackMethod_AddAttachments : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithRawCallbackMethod_AddAttachments() {
-      ::grpc::Service::MarkMethodRawCallback(4,
-          new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
-            [this](
-                   ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->AddAttachments(context, request, response); }));
-    }
-    ~WithRawCallbackMethod_AddAttachments() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status AddAttachments(::grpc::ServerContext* /*context*/, const ::backup::AddAttachmentsRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    virtual ::grpc::ServerUnaryReactor* AddAttachments(
-      ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)  { return nullptr; }
-  };
-  template <class BaseClass>
-  class WithStreamedUnaryMethod_AddAttachments : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithStreamedUnaryMethod_AddAttachments() {
-      ::grpc::Service::MarkMethodStreamed(4,
-        new ::grpc::internal::StreamedUnaryHandler<
-          ::backup::AddAttachmentsRequest, ::google::protobuf::Empty>(
-            [this](::grpc::ServerContext* context,
-                   ::grpc::ServerUnaryStreamer<
-                     ::backup::AddAttachmentsRequest, ::google::protobuf::Empty>* streamer) {
-                       return this->StreamedAddAttachments(context,
-                         streamer);
-                  }));
-    }
-    ~WithStreamedUnaryMethod_AddAttachments() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable regular version of this method
-    ::grpc::Status AddAttachments(::grpc::ServerContext* /*context*/, const ::backup::AddAttachmentsRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    // replace default version of method with streamed unary
-    virtual ::grpc::Status StreamedAddAttachments(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::backup::AddAttachmentsRequest,::google::protobuf::Empty>* server_unary_streamer) = 0;
-  };
-  typedef WithStreamedUnaryMethod_AddAttachments<Service > StreamedUnaryService;
-  template <class BaseClass>
-  class WithSplitStreamingMethod_PullBackup : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithSplitStreamingMethod_PullBackup() {
-      ::grpc::Service::MarkMethodStreamed(3,
-        new ::grpc::internal::SplitServerStreamingHandler<
-          ::backup::PullBackupRequest, ::backup::PullBackupResponse>(
-            [this](::grpc::ServerContext* context,
-                   ::grpc::ServerSplitStreamer<
-                     ::backup::PullBackupRequest, ::backup::PullBackupResponse>* streamer) {
-                       return this->StreamedPullBackup(context,
-                         streamer);
-                  }));
-    }
-    ~WithSplitStreamingMethod_PullBackup() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable regular version of this method
-    ::grpc::Status PullBackup(::grpc::ServerContext* /*context*/, const ::backup::PullBackupRequest* /*request*/, ::grpc::ServerWriter< ::backup::PullBackupResponse>* /*writer*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    // replace default version of method with split streamed
-    virtual ::grpc::Status StreamedPullBackup(::grpc::ServerContext* context, ::grpc::ServerSplitStreamer< ::backup::PullBackupRequest,::backup::PullBackupResponse>* server_split_streamer) = 0;
-  };
-  typedef WithSplitStreamingMethod_PullBackup<Service > SplitStreamedService;
-  typedef WithSplitStreamingMethod_PullBackup<WithStreamedUnaryMethod_AddAttachments<Service > > StreamedService;
-};
-
-}  // namespace backup
-
-
-#endif  // GRPC_backup_2eproto__INCLUDED
diff --git a/shared/protos/_generated/backup.grpc.pb.cc b/shared/protos/_generated/backup.grpc.pb.cc
deleted file mode 100644
--- a/shared/protos/_generated/backup.grpc.pb.cc
+++ /dev/null
@@ -1,224 +0,0 @@
-// @generated by the gRPC C++ plugin.
-// If you make any local change, they will be lost.
-// source: backup.proto
-
-#include "backup.pb.h"
-#include "backup.grpc.pb.h"
-
-#include <functional>
-#include <grpcpp/impl/codegen/async_stream.h>
-#include <grpcpp/impl/codegen/async_unary_call.h>
-#include <grpcpp/impl/codegen/channel_interface.h>
-#include <grpcpp/impl/codegen/client_unary_call.h>
-#include <grpcpp/impl/codegen/client_callback.h>
-#include <grpcpp/impl/codegen/message_allocator.h>
-#include <grpcpp/impl/codegen/method_handler.h>
-#include <grpcpp/impl/codegen/rpc_service_method.h>
-#include <grpcpp/impl/codegen/server_callback.h>
-#include <grpcpp/impl/codegen/server_callback_handlers.h>
-#include <grpcpp/impl/codegen/server_context.h>
-#include <grpcpp/impl/codegen/service_type.h>
-#include <grpcpp/impl/codegen/sync_stream.h>
-namespace backup {
-
-static const char* BackupService_method_names[] = {
-  "/backup.BackupService/CreateNewBackup",
-  "/backup.BackupService/SendLog",
-  "/backup.BackupService/RecoverBackupKey",
-  "/backup.BackupService/PullBackup",
-  "/backup.BackupService/AddAttachments",
-};
-
-std::unique_ptr< BackupService::Stub> BackupService::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) {
-  (void)options;
-  std::unique_ptr< BackupService::Stub> stub(new BackupService::Stub(channel, options));
-  return stub;
-}
-
-BackupService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options)
-  : channel_(channel), rpcmethod_CreateNewBackup_(BackupService_method_names[0], options.suffix_for_stats(),::grpc::internal::RpcMethod::BIDI_STREAMING, channel)
-  , rpcmethod_SendLog_(BackupService_method_names[1], options.suffix_for_stats(),::grpc::internal::RpcMethod::CLIENT_STREAMING, channel)
-  , rpcmethod_RecoverBackupKey_(BackupService_method_names[2], options.suffix_for_stats(),::grpc::internal::RpcMethod::BIDI_STREAMING, channel)
-  , rpcmethod_PullBackup_(BackupService_method_names[3], options.suffix_for_stats(),::grpc::internal::RpcMethod::SERVER_STREAMING, channel)
-  , rpcmethod_AddAttachments_(BackupService_method_names[4], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
-  {}
-
-::grpc::ClientReaderWriter< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>* BackupService::Stub::CreateNewBackupRaw(::grpc::ClientContext* context) {
-  return ::grpc::internal::ClientReaderWriterFactory< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>::Create(channel_.get(), rpcmethod_CreateNewBackup_, context);
-}
-
-void BackupService::Stub::async::CreateNewBackup(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::backup::CreateNewBackupRequest,::backup::CreateNewBackupResponse>* reactor) {
-  ::grpc::internal::ClientCallbackReaderWriterFactory< ::backup::CreateNewBackupRequest,::backup::CreateNewBackupResponse>::Create(stub_->channel_.get(), stub_->rpcmethod_CreateNewBackup_, context, reactor);
-}
-
-::grpc::ClientAsyncReaderWriter< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>* BackupService::Stub::AsyncCreateNewBackupRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) {
-  return ::grpc::internal::ClientAsyncReaderWriterFactory< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>::Create(channel_.get(), cq, rpcmethod_CreateNewBackup_, context, true, tag);
-}
-
-::grpc::ClientAsyncReaderWriter< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>* BackupService::Stub::PrepareAsyncCreateNewBackupRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) {
-  return ::grpc::internal::ClientAsyncReaderWriterFactory< ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>::Create(channel_.get(), cq, rpcmethod_CreateNewBackup_, context, false, nullptr);
-}
-
-::grpc::ClientWriter< ::backup::SendLogRequest>* BackupService::Stub::SendLogRaw(::grpc::ClientContext* context, ::backup::SendLogResponse* response) {
-  return ::grpc::internal::ClientWriterFactory< ::backup::SendLogRequest>::Create(channel_.get(), rpcmethod_SendLog_, context, response);
-}
-
-void BackupService::Stub::async::SendLog(::grpc::ClientContext* context, ::backup::SendLogResponse* response, ::grpc::ClientWriteReactor< ::backup::SendLogRequest>* reactor) {
-  ::grpc::internal::ClientCallbackWriterFactory< ::backup::SendLogRequest>::Create(stub_->channel_.get(), stub_->rpcmethod_SendLog_, context, response, reactor);
-}
-
-::grpc::ClientAsyncWriter< ::backup::SendLogRequest>* BackupService::Stub::AsyncSendLogRaw(::grpc::ClientContext* context, ::backup::SendLogResponse* response, ::grpc::CompletionQueue* cq, void* tag) {
-  return ::grpc::internal::ClientAsyncWriterFactory< ::backup::SendLogRequest>::Create(channel_.get(), cq, rpcmethod_SendLog_, context, response, true, tag);
-}
-
-::grpc::ClientAsyncWriter< ::backup::SendLogRequest>* BackupService::Stub::PrepareAsyncSendLogRaw(::grpc::ClientContext* context, ::backup::SendLogResponse* response, ::grpc::CompletionQueue* cq) {
-  return ::grpc::internal::ClientAsyncWriterFactory< ::backup::SendLogRequest>::Create(channel_.get(), cq, rpcmethod_SendLog_, context, response, false, nullptr);
-}
-
-::grpc::ClientReaderWriter< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>* BackupService::Stub::RecoverBackupKeyRaw(::grpc::ClientContext* context) {
-  return ::grpc::internal::ClientReaderWriterFactory< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>::Create(channel_.get(), rpcmethod_RecoverBackupKey_, context);
-}
-
-void BackupService::Stub::async::RecoverBackupKey(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::backup::RecoverBackupKeyRequest,::backup::RecoverBackupKeyResponse>* reactor) {
-  ::grpc::internal::ClientCallbackReaderWriterFactory< ::backup::RecoverBackupKeyRequest,::backup::RecoverBackupKeyResponse>::Create(stub_->channel_.get(), stub_->rpcmethod_RecoverBackupKey_, context, reactor);
-}
-
-::grpc::ClientAsyncReaderWriter< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>* BackupService::Stub::AsyncRecoverBackupKeyRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) {
-  return ::grpc::internal::ClientAsyncReaderWriterFactory< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>::Create(channel_.get(), cq, rpcmethod_RecoverBackupKey_, context, true, tag);
-}
-
-::grpc::ClientAsyncReaderWriter< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>* BackupService::Stub::PrepareAsyncRecoverBackupKeyRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) {
-  return ::grpc::internal::ClientAsyncReaderWriterFactory< ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>::Create(channel_.get(), cq, rpcmethod_RecoverBackupKey_, context, false, nullptr);
-}
-
-::grpc::ClientReader< ::backup::PullBackupResponse>* BackupService::Stub::PullBackupRaw(::grpc::ClientContext* context, const ::backup::PullBackupRequest& request) {
-  return ::grpc::internal::ClientReaderFactory< ::backup::PullBackupResponse>::Create(channel_.get(), rpcmethod_PullBackup_, context, request);
-}
-
-void BackupService::Stub::async::PullBackup(::grpc::ClientContext* context, const ::backup::PullBackupRequest* request, ::grpc::ClientReadReactor< ::backup::PullBackupResponse>* reactor) {
-  ::grpc::internal::ClientCallbackReaderFactory< ::backup::PullBackupResponse>::Create(stub_->channel_.get(), stub_->rpcmethod_PullBackup_, context, request, reactor);
-}
-
-::grpc::ClientAsyncReader< ::backup::PullBackupResponse>* BackupService::Stub::AsyncPullBackupRaw(::grpc::ClientContext* context, const ::backup::PullBackupRequest& request, ::grpc::CompletionQueue* cq, void* tag) {
-  return ::grpc::internal::ClientAsyncReaderFactory< ::backup::PullBackupResponse>::Create(channel_.get(), cq, rpcmethod_PullBackup_, context, request, true, tag);
-}
-
-::grpc::ClientAsyncReader< ::backup::PullBackupResponse>* BackupService::Stub::PrepareAsyncPullBackupRaw(::grpc::ClientContext* context, const ::backup::PullBackupRequest& request, ::grpc::CompletionQueue* cq) {
-  return ::grpc::internal::ClientAsyncReaderFactory< ::backup::PullBackupResponse>::Create(channel_.get(), cq, rpcmethod_PullBackup_, context, request, false, nullptr);
-}
-
-::grpc::Status BackupService::Stub::AddAttachments(::grpc::ClientContext* context, const ::backup::AddAttachmentsRequest& request, ::google::protobuf::Empty* response) {
-  return ::grpc::internal::BlockingUnaryCall< ::backup::AddAttachmentsRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_AddAttachments_, context, request, response);
-}
-
-void BackupService::Stub::async::AddAttachments(::grpc::ClientContext* context, const ::backup::AddAttachmentsRequest* request, ::google::protobuf::Empty* response, std::function<void(::grpc::Status)> f) {
-  ::grpc::internal::CallbackUnaryCall< ::backup::AddAttachmentsRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_AddAttachments_, context, request, response, std::move(f));
-}
-
-void BackupService::Stub::async::AddAttachments(::grpc::ClientContext* context, const ::backup::AddAttachmentsRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
-  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_AddAttachments_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BackupService::Stub::PrepareAsyncAddAttachmentsRaw(::grpc::ClientContext* context, const ::backup::AddAttachmentsRequest& request, ::grpc::CompletionQueue* cq) {
-  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::backup::AddAttachmentsRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_AddAttachments_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BackupService::Stub::AsyncAddAttachmentsRaw(::grpc::ClientContext* context, const ::backup::AddAttachmentsRequest& request, ::grpc::CompletionQueue* cq) {
-  auto* result =
-    this->PrepareAsyncAddAttachmentsRaw(context, request, cq);
-  result->StartCall();
-  return result;
-}
-
-BackupService::Service::Service() {
-  AddMethod(new ::grpc::internal::RpcServiceMethod(
-      BackupService_method_names[0],
-      ::grpc::internal::RpcMethod::BIDI_STREAMING,
-      new ::grpc::internal::BidiStreamingHandler< BackupService::Service, ::backup::CreateNewBackupRequest, ::backup::CreateNewBackupResponse>(
-          [](BackupService::Service* service,
-             ::grpc::ServerContext* ctx,
-             ::grpc::ServerReaderWriter<::backup::CreateNewBackupResponse,
-             ::backup::CreateNewBackupRequest>* stream) {
-               return service->CreateNewBackup(ctx, stream);
-             }, this)));
-  AddMethod(new ::grpc::internal::RpcServiceMethod(
-      BackupService_method_names[1],
-      ::grpc::internal::RpcMethod::CLIENT_STREAMING,
-      new ::grpc::internal::ClientStreamingHandler< BackupService::Service, ::backup::SendLogRequest, ::backup::SendLogResponse>(
-          [](BackupService::Service* service,
-             ::grpc::ServerContext* ctx,
-             ::grpc::ServerReader<::backup::SendLogRequest>* reader,
-             ::backup::SendLogResponse* resp) {
-               return service->SendLog(ctx, reader, resp);
-             }, this)));
-  AddMethod(new ::grpc::internal::RpcServiceMethod(
-      BackupService_method_names[2],
-      ::grpc::internal::RpcMethod::BIDI_STREAMING,
-      new ::grpc::internal::BidiStreamingHandler< BackupService::Service, ::backup::RecoverBackupKeyRequest, ::backup::RecoverBackupKeyResponse>(
-          [](BackupService::Service* service,
-             ::grpc::ServerContext* ctx,
-             ::grpc::ServerReaderWriter<::backup::RecoverBackupKeyResponse,
-             ::backup::RecoverBackupKeyRequest>* stream) {
-               return service->RecoverBackupKey(ctx, stream);
-             }, this)));
-  AddMethod(new ::grpc::internal::RpcServiceMethod(
-      BackupService_method_names[3],
-      ::grpc::internal::RpcMethod::SERVER_STREAMING,
-      new ::grpc::internal::ServerStreamingHandler< BackupService::Service, ::backup::PullBackupRequest, ::backup::PullBackupResponse>(
-          [](BackupService::Service* service,
-             ::grpc::ServerContext* ctx,
-             const ::backup::PullBackupRequest* req,
-             ::grpc::ServerWriter<::backup::PullBackupResponse>* writer) {
-               return service->PullBackup(ctx, req, writer);
-             }, this)));
-  AddMethod(new ::grpc::internal::RpcServiceMethod(
-      BackupService_method_names[4],
-      ::grpc::internal::RpcMethod::NORMAL_RPC,
-      new ::grpc::internal::RpcMethodHandler< BackupService::Service, ::backup::AddAttachmentsRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
-          [](BackupService::Service* service,
-             ::grpc::ServerContext* ctx,
-             const ::backup::AddAttachmentsRequest* req,
-             ::google::protobuf::Empty* resp) {
-               return service->AddAttachments(ctx, req, resp);
-             }, this)));
-}
-
-BackupService::Service::~Service() {
-}
-
-::grpc::Status BackupService::Service::CreateNewBackup(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::backup::CreateNewBackupResponse, ::backup::CreateNewBackupRequest>* stream) {
-  (void) context;
-  (void) stream;
-  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status BackupService::Service::SendLog(::grpc::ServerContext* context, ::grpc::ServerReader< ::backup::SendLogRequest>* reader, ::backup::SendLogResponse* response) {
-  (void) context;
-  (void) reader;
-  (void) response;
-  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status BackupService::Service::RecoverBackupKey(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::backup::RecoverBackupKeyResponse, ::backup::RecoverBackupKeyRequest>* stream) {
-  (void) context;
-  (void) stream;
-  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status BackupService::Service::PullBackup(::grpc::ServerContext* context, const ::backup::PullBackupRequest* request, ::grpc::ServerWriter< ::backup::PullBackupResponse>* writer) {
-  (void) context;
-  (void) request;
-  (void) writer;
-  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status BackupService::Service::AddAttachments(::grpc::ServerContext* context, const ::backup::AddAttachmentsRequest* request, ::google::protobuf::Empty* response) {
-  (void) context;
-  (void) request;
-  (void) response;
-  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-
-}  // namespace backup
-
diff --git a/shared/protos/_generated/backup.pb.h b/shared/protos/_generated/backup.pb.h
deleted file mode 100644
--- a/shared/protos/_generated/backup.pb.h
+++ /dev/null
@@ -1,4026 +0,0 @@
-// @generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: backup.proto
-
-#ifndef GOOGLE_PROTOBUF_INCLUDED_backup_2eproto
-#define GOOGLE_PROTOBUF_INCLUDED_backup_2eproto
-
-#include <limits>
-#include <string>
-
-#include <google/protobuf/port_def.inc>
-#if PROTOBUF_VERSION < 3015000
-#error This file was generated by a newer version of protoc which is
-#error incompatible with your Protocol Buffer headers. Please update
-#error your headers.
-#endif
-#if 3015008 < PROTOBUF_MIN_PROTOC_VERSION
-#error This file was generated by an older version of protoc which is
-#error incompatible with your Protocol Buffer headers. Please
-#error regenerate this file with a newer version of protoc.
-#endif
-
-#include <google/protobuf/port_undef.inc>
-#include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/arena.h>
-#include <google/protobuf/arenastring.h>
-#include <google/protobuf/generated_message_table_driven.h>
-#include <google/protobuf/generated_message_util.h>
-#include <google/protobuf/metadata_lite.h>
-#include <google/protobuf/generated_message_reflection.h>
-#include <google/protobuf/message.h>
-#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
-#include <google/protobuf/extension_set.h>  // IWYU pragma: export
-#include <google/protobuf/unknown_field_set.h>
-#include <google/protobuf/empty.pb.h>
-// @@protoc_insertion_point(includes)
-#include <google/protobuf/port_def.inc>
-#define PROTOBUF_INTERNAL_EXPORT_backup_2eproto
-PROTOBUF_NAMESPACE_OPEN
-namespace internal {
-class AnyMetadata;
-}  // namespace internal
-PROTOBUF_NAMESPACE_CLOSE
-
-// Internal implementation detail -- do not use these members.
-struct TableStruct_backup_2eproto {
-  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
-    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
-    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[9]
-    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
-  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
-  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
-};
-extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_backup_2eproto;
-::PROTOBUF_NAMESPACE_ID::Metadata descriptor_table_backup_2eproto_metadata_getter(int index);
-namespace backup {
-class AddAttachmentsRequest;
-struct AddAttachmentsRequestDefaultTypeInternal;
-extern AddAttachmentsRequestDefaultTypeInternal _AddAttachmentsRequest_default_instance_;
-class CreateNewBackupRequest;
-struct CreateNewBackupRequestDefaultTypeInternal;
-extern CreateNewBackupRequestDefaultTypeInternal _CreateNewBackupRequest_default_instance_;
-class CreateNewBackupResponse;
-struct CreateNewBackupResponseDefaultTypeInternal;
-extern CreateNewBackupResponseDefaultTypeInternal _CreateNewBackupResponse_default_instance_;
-class PullBackupRequest;
-struct PullBackupRequestDefaultTypeInternal;
-extern PullBackupRequestDefaultTypeInternal _PullBackupRequest_default_instance_;
-class PullBackupResponse;
-struct PullBackupResponseDefaultTypeInternal;
-extern PullBackupResponseDefaultTypeInternal _PullBackupResponse_default_instance_;
-class RecoverBackupKeyRequest;
-struct RecoverBackupKeyRequestDefaultTypeInternal;
-extern RecoverBackupKeyRequestDefaultTypeInternal _RecoverBackupKeyRequest_default_instance_;
-class RecoverBackupKeyResponse;
-struct RecoverBackupKeyResponseDefaultTypeInternal;
-extern RecoverBackupKeyResponseDefaultTypeInternal _RecoverBackupKeyResponse_default_instance_;
-class SendLogRequest;
-struct SendLogRequestDefaultTypeInternal;
-extern SendLogRequestDefaultTypeInternal _SendLogRequest_default_instance_;
-class SendLogResponse;
-struct SendLogResponseDefaultTypeInternal;
-extern SendLogResponseDefaultTypeInternal _SendLogResponse_default_instance_;
-}  // namespace backup
-PROTOBUF_NAMESPACE_OPEN
-template<> ::backup::AddAttachmentsRequest* Arena::CreateMaybeMessage<::backup::AddAttachmentsRequest>(Arena*);
-template<> ::backup::CreateNewBackupRequest* Arena::CreateMaybeMessage<::backup::CreateNewBackupRequest>(Arena*);
-template<> ::backup::CreateNewBackupResponse* Arena::CreateMaybeMessage<::backup::CreateNewBackupResponse>(Arena*);
-template<> ::backup::PullBackupRequest* Arena::CreateMaybeMessage<::backup::PullBackupRequest>(Arena*);
-template<> ::backup::PullBackupResponse* Arena::CreateMaybeMessage<::backup::PullBackupResponse>(Arena*);
-template<> ::backup::RecoverBackupKeyRequest* Arena::CreateMaybeMessage<::backup::RecoverBackupKeyRequest>(Arena*);
-template<> ::backup::RecoverBackupKeyResponse* Arena::CreateMaybeMessage<::backup::RecoverBackupKeyResponse>(Arena*);
-template<> ::backup::SendLogRequest* Arena::CreateMaybeMessage<::backup::SendLogRequest>(Arena*);
-template<> ::backup::SendLogResponse* Arena::CreateMaybeMessage<::backup::SendLogResponse>(Arena*);
-PROTOBUF_NAMESPACE_CLOSE
-namespace backup {
-
-// ===================================================================
-
-class CreateNewBackupRequest PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:backup.CreateNewBackupRequest) */ {
- public:
-  inline CreateNewBackupRequest() : CreateNewBackupRequest(nullptr) {}
-  virtual ~CreateNewBackupRequest();
-  explicit constexpr CreateNewBackupRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
-
-  CreateNewBackupRequest(const CreateNewBackupRequest& from);
-  CreateNewBackupRequest(CreateNewBackupRequest&& from) noexcept
-    : CreateNewBackupRequest() {
-    *this = ::std::move(from);
-  }
-
-  inline CreateNewBackupRequest& operator=(const CreateNewBackupRequest& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline CreateNewBackupRequest& operator=(CreateNewBackupRequest&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const CreateNewBackupRequest& default_instance() {
-    return *internal_default_instance();
-  }
-  enum DataCase {
-    kUserID = 1,
-    kDeviceID = 2,
-    kKeyEntropy = 3,
-    kNewCompactionHash = 4,
-    kNewCompactionChunk = 5,
-    DATA_NOT_SET = 0,
-  };
-
-  static inline const CreateNewBackupRequest* internal_default_instance() {
-    return reinterpret_cast<const CreateNewBackupRequest*>(
-               &_CreateNewBackupRequest_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    0;
-
-  friend void swap(CreateNewBackupRequest& a, CreateNewBackupRequest& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(CreateNewBackupRequest* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(CreateNewBackupRequest* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline CreateNewBackupRequest* New() const final {
-    return CreateMaybeMessage<CreateNewBackupRequest>(nullptr);
-  }
-
-  CreateNewBackupRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<CreateNewBackupRequest>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const CreateNewBackupRequest& from);
-  void MergeFrom(const CreateNewBackupRequest& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(CreateNewBackupRequest* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "backup.CreateNewBackupRequest";
-  }
-  protected:
-  explicit CreateNewBackupRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    return ::descriptor_table_backup_2eproto_metadata_getter(kIndexInFileMessages);
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kUserIDFieldNumber = 1,
-    kDeviceIDFieldNumber = 2,
-    kKeyEntropyFieldNumber = 3,
-    kNewCompactionHashFieldNumber = 4,
-    kNewCompactionChunkFieldNumber = 5,
-  };
-  // string userID = 1;
-  bool has_userid() const;
-  private:
-  bool _internal_has_userid() const;
-  public:
-  void clear_userid();
-  const std::string& userid() const;
-  void set_userid(const std::string& value);
-  void set_userid(std::string&& value);
-  void set_userid(const char* value);
-  void set_userid(const char* value, size_t size);
-  std::string* mutable_userid();
-  std::string* release_userid();
-  void set_allocated_userid(std::string* userid);
-  private:
-  const std::string& _internal_userid() const;
-  void _internal_set_userid(const std::string& value);
-  std::string* _internal_mutable_userid();
-  public:
-
-  // string deviceID = 2;
-  bool has_deviceid() const;
-  private:
-  bool _internal_has_deviceid() const;
-  public:
-  void clear_deviceid();
-  const std::string& deviceid() const;
-  void set_deviceid(const std::string& value);
-  void set_deviceid(std::string&& value);
-  void set_deviceid(const char* value);
-  void set_deviceid(const char* value, size_t size);
-  std::string* mutable_deviceid();
-  std::string* release_deviceid();
-  void set_allocated_deviceid(std::string* deviceid);
-  private:
-  const std::string& _internal_deviceid() const;
-  void _internal_set_deviceid(const std::string& value);
-  std::string* _internal_mutable_deviceid();
-  public:
-
-  // bytes keyEntropy = 3;
-  bool has_keyentropy() const;
-  private:
-  bool _internal_has_keyentropy() const;
-  public:
-  void clear_keyentropy();
-  const std::string& keyentropy() const;
-  void set_keyentropy(const std::string& value);
-  void set_keyentropy(std::string&& value);
-  void set_keyentropy(const char* value);
-  void set_keyentropy(const void* value, size_t size);
-  std::string* mutable_keyentropy();
-  std::string* release_keyentropy();
-  void set_allocated_keyentropy(std::string* keyentropy);
-  private:
-  const std::string& _internal_keyentropy() const;
-  void _internal_set_keyentropy(const std::string& value);
-  std::string* _internal_mutable_keyentropy();
-  public:
-
-  // bytes newCompactionHash = 4;
-  bool has_newcompactionhash() const;
-  private:
-  bool _internal_has_newcompactionhash() const;
-  public:
-  void clear_newcompactionhash();
-  const std::string& newcompactionhash() const;
-  void set_newcompactionhash(const std::string& value);
-  void set_newcompactionhash(std::string&& value);
-  void set_newcompactionhash(const char* value);
-  void set_newcompactionhash(const void* value, size_t size);
-  std::string* mutable_newcompactionhash();
-  std::string* release_newcompactionhash();
-  void set_allocated_newcompactionhash(std::string* newcompactionhash);
-  private:
-  const std::string& _internal_newcompactionhash() const;
-  void _internal_set_newcompactionhash(const std::string& value);
-  std::string* _internal_mutable_newcompactionhash();
-  public:
-
-  // bytes newCompactionChunk = 5;
-  bool has_newcompactionchunk() const;
-  private:
-  bool _internal_has_newcompactionchunk() const;
-  public:
-  void clear_newcompactionchunk();
-  const std::string& newcompactionchunk() const;
-  void set_newcompactionchunk(const std::string& value);
-  void set_newcompactionchunk(std::string&& value);
-  void set_newcompactionchunk(const char* value);
-  void set_newcompactionchunk(const void* value, size_t size);
-  std::string* mutable_newcompactionchunk();
-  std::string* release_newcompactionchunk();
-  void set_allocated_newcompactionchunk(std::string* newcompactionchunk);
-  private:
-  const std::string& _internal_newcompactionchunk() const;
-  void _internal_set_newcompactionchunk(const std::string& value);
-  std::string* _internal_mutable_newcompactionchunk();
-  public:
-
-  void clear_data();
-  DataCase data_case() const;
-  // @@protoc_insertion_point(class_scope:backup.CreateNewBackupRequest)
- private:
-  class _Internal;
-  void set_has_userid();
-  void set_has_deviceid();
-  void set_has_keyentropy();
-  void set_has_newcompactionhash();
-  void set_has_newcompactionchunk();
-
-  inline bool has_data() const;
-  inline void clear_has_data();
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  union DataUnion {
-    constexpr DataUnion() : _constinit_{} {}
-      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr userid_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr deviceid_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr keyentropy_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr newcompactionhash_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr newcompactionchunk_;
-  } data_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];
-
-  friend struct ::TableStruct_backup_2eproto;
-};
-// -------------------------------------------------------------------
-
-class CreateNewBackupResponse PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:backup.CreateNewBackupResponse) */ {
- public:
-  inline CreateNewBackupResponse() : CreateNewBackupResponse(nullptr) {}
-  virtual ~CreateNewBackupResponse();
-  explicit constexpr CreateNewBackupResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
-
-  CreateNewBackupResponse(const CreateNewBackupResponse& from);
-  CreateNewBackupResponse(CreateNewBackupResponse&& from) noexcept
-    : CreateNewBackupResponse() {
-    *this = ::std::move(from);
-  }
-
-  inline CreateNewBackupResponse& operator=(const CreateNewBackupResponse& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline CreateNewBackupResponse& operator=(CreateNewBackupResponse&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const CreateNewBackupResponse& default_instance() {
-    return *internal_default_instance();
-  }
-  static inline const CreateNewBackupResponse* internal_default_instance() {
-    return reinterpret_cast<const CreateNewBackupResponse*>(
-               &_CreateNewBackupResponse_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    1;
-
-  friend void swap(CreateNewBackupResponse& a, CreateNewBackupResponse& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(CreateNewBackupResponse* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(CreateNewBackupResponse* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline CreateNewBackupResponse* New() const final {
-    return CreateMaybeMessage<CreateNewBackupResponse>(nullptr);
-  }
-
-  CreateNewBackupResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<CreateNewBackupResponse>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const CreateNewBackupResponse& from);
-  void MergeFrom(const CreateNewBackupResponse& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(CreateNewBackupResponse* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "backup.CreateNewBackupResponse";
-  }
-  protected:
-  explicit CreateNewBackupResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    return ::descriptor_table_backup_2eproto_metadata_getter(kIndexInFileMessages);
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kBackupIDFieldNumber = 1,
-  };
-  // string backupID = 1;
-  void clear_backupid();
-  const std::string& backupid() const;
-  void set_backupid(const std::string& value);
-  void set_backupid(std::string&& value);
-  void set_backupid(const char* value);
-  void set_backupid(const char* value, size_t size);
-  std::string* mutable_backupid();
-  std::string* release_backupid();
-  void set_allocated_backupid(std::string* backupid);
-  private:
-  const std::string& _internal_backupid() const;
-  void _internal_set_backupid(const std::string& value);
-  std::string* _internal_mutable_backupid();
-  public:
-
-  // @@protoc_insertion_point(class_scope:backup.CreateNewBackupResponse)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr backupid_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  friend struct ::TableStruct_backup_2eproto;
-};
-// -------------------------------------------------------------------
-
-class SendLogRequest PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:backup.SendLogRequest) */ {
- public:
-  inline SendLogRequest() : SendLogRequest(nullptr) {}
-  virtual ~SendLogRequest();
-  explicit constexpr SendLogRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
-
-  SendLogRequest(const SendLogRequest& from);
-  SendLogRequest(SendLogRequest&& from) noexcept
-    : SendLogRequest() {
-    *this = ::std::move(from);
-  }
-
-  inline SendLogRequest& operator=(const SendLogRequest& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline SendLogRequest& operator=(SendLogRequest&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const SendLogRequest& default_instance() {
-    return *internal_default_instance();
-  }
-  enum DataCase {
-    kUserID = 1,
-    kBackupID = 2,
-    kLogHash = 3,
-    kLogData = 4,
-    DATA_NOT_SET = 0,
-  };
-
-  static inline const SendLogRequest* internal_default_instance() {
-    return reinterpret_cast<const SendLogRequest*>(
-               &_SendLogRequest_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    2;
-
-  friend void swap(SendLogRequest& a, SendLogRequest& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(SendLogRequest* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(SendLogRequest* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline SendLogRequest* New() const final {
-    return CreateMaybeMessage<SendLogRequest>(nullptr);
-  }
-
-  SendLogRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<SendLogRequest>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const SendLogRequest& from);
-  void MergeFrom(const SendLogRequest& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(SendLogRequest* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "backup.SendLogRequest";
-  }
-  protected:
-  explicit SendLogRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    return ::descriptor_table_backup_2eproto_metadata_getter(kIndexInFileMessages);
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kUserIDFieldNumber = 1,
-    kBackupIDFieldNumber = 2,
-    kLogHashFieldNumber = 3,
-    kLogDataFieldNumber = 4,
-  };
-  // string userID = 1;
-  bool has_userid() const;
-  private:
-  bool _internal_has_userid() const;
-  public:
-  void clear_userid();
-  const std::string& userid() const;
-  void set_userid(const std::string& value);
-  void set_userid(std::string&& value);
-  void set_userid(const char* value);
-  void set_userid(const char* value, size_t size);
-  std::string* mutable_userid();
-  std::string* release_userid();
-  void set_allocated_userid(std::string* userid);
-  private:
-  const std::string& _internal_userid() const;
-  void _internal_set_userid(const std::string& value);
-  std::string* _internal_mutable_userid();
-  public:
-
-  // string backupID = 2;
-  bool has_backupid() const;
-  private:
-  bool _internal_has_backupid() const;
-  public:
-  void clear_backupid();
-  const std::string& backupid() const;
-  void set_backupid(const std::string& value);
-  void set_backupid(std::string&& value);
-  void set_backupid(const char* value);
-  void set_backupid(const char* value, size_t size);
-  std::string* mutable_backupid();
-  std::string* release_backupid();
-  void set_allocated_backupid(std::string* backupid);
-  private:
-  const std::string& _internal_backupid() const;
-  void _internal_set_backupid(const std::string& value);
-  std::string* _internal_mutable_backupid();
-  public:
-
-  // bytes logHash = 3;
-  bool has_loghash() const;
-  private:
-  bool _internal_has_loghash() const;
-  public:
-  void clear_loghash();
-  const std::string& loghash() const;
-  void set_loghash(const std::string& value);
-  void set_loghash(std::string&& value);
-  void set_loghash(const char* value);
-  void set_loghash(const void* value, size_t size);
-  std::string* mutable_loghash();
-  std::string* release_loghash();
-  void set_allocated_loghash(std::string* loghash);
-  private:
-  const std::string& _internal_loghash() const;
-  void _internal_set_loghash(const std::string& value);
-  std::string* _internal_mutable_loghash();
-  public:
-
-  // bytes logData = 4;
-  bool has_logdata() const;
-  private:
-  bool _internal_has_logdata() const;
-  public:
-  void clear_logdata();
-  const std::string& logdata() const;
-  void set_logdata(const std::string& value);
-  void set_logdata(std::string&& value);
-  void set_logdata(const char* value);
-  void set_logdata(const void* value, size_t size);
-  std::string* mutable_logdata();
-  std::string* release_logdata();
-  void set_allocated_logdata(std::string* logdata);
-  private:
-  const std::string& _internal_logdata() const;
-  void _internal_set_logdata(const std::string& value);
-  std::string* _internal_mutable_logdata();
-  public:
-
-  void clear_data();
-  DataCase data_case() const;
-  // @@protoc_insertion_point(class_scope:backup.SendLogRequest)
- private:
-  class _Internal;
-  void set_has_userid();
-  void set_has_backupid();
-  void set_has_loghash();
-  void set_has_logdata();
-
-  inline bool has_data() const;
-  inline void clear_has_data();
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  union DataUnion {
-    constexpr DataUnion() : _constinit_{} {}
-      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr userid_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr backupid_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr loghash_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr logdata_;
-  } data_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];
-
-  friend struct ::TableStruct_backup_2eproto;
-};
-// -------------------------------------------------------------------
-
-class SendLogResponse PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:backup.SendLogResponse) */ {
- public:
-  inline SendLogResponse() : SendLogResponse(nullptr) {}
-  virtual ~SendLogResponse();
-  explicit constexpr SendLogResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
-
-  SendLogResponse(const SendLogResponse& from);
-  SendLogResponse(SendLogResponse&& from) noexcept
-    : SendLogResponse() {
-    *this = ::std::move(from);
-  }
-
-  inline SendLogResponse& operator=(const SendLogResponse& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline SendLogResponse& operator=(SendLogResponse&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const SendLogResponse& default_instance() {
-    return *internal_default_instance();
-  }
-  static inline const SendLogResponse* internal_default_instance() {
-    return reinterpret_cast<const SendLogResponse*>(
-               &_SendLogResponse_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    3;
-
-  friend void swap(SendLogResponse& a, SendLogResponse& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(SendLogResponse* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(SendLogResponse* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline SendLogResponse* New() const final {
-    return CreateMaybeMessage<SendLogResponse>(nullptr);
-  }
-
-  SendLogResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<SendLogResponse>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const SendLogResponse& from);
-  void MergeFrom(const SendLogResponse& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(SendLogResponse* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "backup.SendLogResponse";
-  }
-  protected:
-  explicit SendLogResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    return ::descriptor_table_backup_2eproto_metadata_getter(kIndexInFileMessages);
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kLogCheckpointFieldNumber = 1,
-  };
-  // string logCheckpoint = 1;
-  void clear_logcheckpoint();
-  const std::string& logcheckpoint() const;
-  void set_logcheckpoint(const std::string& value);
-  void set_logcheckpoint(std::string&& value);
-  void set_logcheckpoint(const char* value);
-  void set_logcheckpoint(const char* value, size_t size);
-  std::string* mutable_logcheckpoint();
-  std::string* release_logcheckpoint();
-  void set_allocated_logcheckpoint(std::string* logcheckpoint);
-  private:
-  const std::string& _internal_logcheckpoint() const;
-  void _internal_set_logcheckpoint(const std::string& value);
-  std::string* _internal_mutable_logcheckpoint();
-  public:
-
-  // @@protoc_insertion_point(class_scope:backup.SendLogResponse)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr logcheckpoint_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  friend struct ::TableStruct_backup_2eproto;
-};
-// -------------------------------------------------------------------
-
-class RecoverBackupKeyRequest PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:backup.RecoverBackupKeyRequest) */ {
- public:
-  inline RecoverBackupKeyRequest() : RecoverBackupKeyRequest(nullptr) {}
-  virtual ~RecoverBackupKeyRequest();
-  explicit constexpr RecoverBackupKeyRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
-
-  RecoverBackupKeyRequest(const RecoverBackupKeyRequest& from);
-  RecoverBackupKeyRequest(RecoverBackupKeyRequest&& from) noexcept
-    : RecoverBackupKeyRequest() {
-    *this = ::std::move(from);
-  }
-
-  inline RecoverBackupKeyRequest& operator=(const RecoverBackupKeyRequest& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline RecoverBackupKeyRequest& operator=(RecoverBackupKeyRequest&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const RecoverBackupKeyRequest& default_instance() {
-    return *internal_default_instance();
-  }
-  static inline const RecoverBackupKeyRequest* internal_default_instance() {
-    return reinterpret_cast<const RecoverBackupKeyRequest*>(
-               &_RecoverBackupKeyRequest_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    4;
-
-  friend void swap(RecoverBackupKeyRequest& a, RecoverBackupKeyRequest& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(RecoverBackupKeyRequest* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(RecoverBackupKeyRequest* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline RecoverBackupKeyRequest* New() const final {
-    return CreateMaybeMessage<RecoverBackupKeyRequest>(nullptr);
-  }
-
-  RecoverBackupKeyRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<RecoverBackupKeyRequest>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const RecoverBackupKeyRequest& from);
-  void MergeFrom(const RecoverBackupKeyRequest& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(RecoverBackupKeyRequest* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "backup.RecoverBackupKeyRequest";
-  }
-  protected:
-  explicit RecoverBackupKeyRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    return ::descriptor_table_backup_2eproto_metadata_getter(kIndexInFileMessages);
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kUserIDFieldNumber = 1,
-  };
-  // string userID = 1;
-  void clear_userid();
-  const std::string& userid() const;
-  void set_userid(const std::string& value);
-  void set_userid(std::string&& value);
-  void set_userid(const char* value);
-  void set_userid(const char* value, size_t size);
-  std::string* mutable_userid();
-  std::string* release_userid();
-  void set_allocated_userid(std::string* userid);
-  private:
-  const std::string& _internal_userid() const;
-  void _internal_set_userid(const std::string& value);
-  std::string* _internal_mutable_userid();
-  public:
-
-  // @@protoc_insertion_point(class_scope:backup.RecoverBackupKeyRequest)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr userid_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  friend struct ::TableStruct_backup_2eproto;
-};
-// -------------------------------------------------------------------
-
-class RecoverBackupKeyResponse PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:backup.RecoverBackupKeyResponse) */ {
- public:
-  inline RecoverBackupKeyResponse() : RecoverBackupKeyResponse(nullptr) {}
-  virtual ~RecoverBackupKeyResponse();
-  explicit constexpr RecoverBackupKeyResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
-
-  RecoverBackupKeyResponse(const RecoverBackupKeyResponse& from);
-  RecoverBackupKeyResponse(RecoverBackupKeyResponse&& from) noexcept
-    : RecoverBackupKeyResponse() {
-    *this = ::std::move(from);
-  }
-
-  inline RecoverBackupKeyResponse& operator=(const RecoverBackupKeyResponse& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline RecoverBackupKeyResponse& operator=(RecoverBackupKeyResponse&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const RecoverBackupKeyResponse& default_instance() {
-    return *internal_default_instance();
-  }
-  static inline const RecoverBackupKeyResponse* internal_default_instance() {
-    return reinterpret_cast<const RecoverBackupKeyResponse*>(
-               &_RecoverBackupKeyResponse_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    5;
-
-  friend void swap(RecoverBackupKeyResponse& a, RecoverBackupKeyResponse& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(RecoverBackupKeyResponse* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(RecoverBackupKeyResponse* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline RecoverBackupKeyResponse* New() const final {
-    return CreateMaybeMessage<RecoverBackupKeyResponse>(nullptr);
-  }
-
-  RecoverBackupKeyResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<RecoverBackupKeyResponse>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const RecoverBackupKeyResponse& from);
-  void MergeFrom(const RecoverBackupKeyResponse& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(RecoverBackupKeyResponse* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "backup.RecoverBackupKeyResponse";
-  }
-  protected:
-  explicit RecoverBackupKeyResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    return ::descriptor_table_backup_2eproto_metadata_getter(kIndexInFileMessages);
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kBackupIDFieldNumber = 4,
-  };
-  // string backupID = 4;
-  void clear_backupid();
-  const std::string& backupid() const;
-  void set_backupid(const std::string& value);
-  void set_backupid(std::string&& value);
-  void set_backupid(const char* value);
-  void set_backupid(const char* value, size_t size);
-  std::string* mutable_backupid();
-  std::string* release_backupid();
-  void set_allocated_backupid(std::string* backupid);
-  private:
-  const std::string& _internal_backupid() const;
-  void _internal_set_backupid(const std::string& value);
-  std::string* _internal_mutable_backupid();
-  public:
-
-  // @@protoc_insertion_point(class_scope:backup.RecoverBackupKeyResponse)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr backupid_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  friend struct ::TableStruct_backup_2eproto;
-};
-// -------------------------------------------------------------------
-
-class PullBackupRequest PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:backup.PullBackupRequest) */ {
- public:
-  inline PullBackupRequest() : PullBackupRequest(nullptr) {}
-  virtual ~PullBackupRequest();
-  explicit constexpr PullBackupRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
-
-  PullBackupRequest(const PullBackupRequest& from);
-  PullBackupRequest(PullBackupRequest&& from) noexcept
-    : PullBackupRequest() {
-    *this = ::std::move(from);
-  }
-
-  inline PullBackupRequest& operator=(const PullBackupRequest& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline PullBackupRequest& operator=(PullBackupRequest&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const PullBackupRequest& default_instance() {
-    return *internal_default_instance();
-  }
-  static inline const PullBackupRequest* internal_default_instance() {
-    return reinterpret_cast<const PullBackupRequest*>(
-               &_PullBackupRequest_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    6;
-
-  friend void swap(PullBackupRequest& a, PullBackupRequest& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(PullBackupRequest* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(PullBackupRequest* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline PullBackupRequest* New() const final {
-    return CreateMaybeMessage<PullBackupRequest>(nullptr);
-  }
-
-  PullBackupRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<PullBackupRequest>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const PullBackupRequest& from);
-  void MergeFrom(const PullBackupRequest& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(PullBackupRequest* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "backup.PullBackupRequest";
-  }
-  protected:
-  explicit PullBackupRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    return ::descriptor_table_backup_2eproto_metadata_getter(kIndexInFileMessages);
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kUserIDFieldNumber = 1,
-    kBackupIDFieldNumber = 2,
-  };
-  // string userID = 1;
-  void clear_userid();
-  const std::string& userid() const;
-  void set_userid(const std::string& value);
-  void set_userid(std::string&& value);
-  void set_userid(const char* value);
-  void set_userid(const char* value, size_t size);
-  std::string* mutable_userid();
-  std::string* release_userid();
-  void set_allocated_userid(std::string* userid);
-  private:
-  const std::string& _internal_userid() const;
-  void _internal_set_userid(const std::string& value);
-  std::string* _internal_mutable_userid();
-  public:
-
-  // string backupID = 2;
-  void clear_backupid();
-  const std::string& backupid() const;
-  void set_backupid(const std::string& value);
-  void set_backupid(std::string&& value);
-  void set_backupid(const char* value);
-  void set_backupid(const char* value, size_t size);
-  std::string* mutable_backupid();
-  std::string* release_backupid();
-  void set_allocated_backupid(std::string* backupid);
-  private:
-  const std::string& _internal_backupid() const;
-  void _internal_set_backupid(const std::string& value);
-  std::string* _internal_mutable_backupid();
-  public:
-
-  // @@protoc_insertion_point(class_scope:backup.PullBackupRequest)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr userid_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr backupid_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  friend struct ::TableStruct_backup_2eproto;
-};
-// -------------------------------------------------------------------
-
-class PullBackupResponse PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:backup.PullBackupResponse) */ {
- public:
-  inline PullBackupResponse() : PullBackupResponse(nullptr) {}
-  virtual ~PullBackupResponse();
-  explicit constexpr PullBackupResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
-
-  PullBackupResponse(const PullBackupResponse& from);
-  PullBackupResponse(PullBackupResponse&& from) noexcept
-    : PullBackupResponse() {
-    *this = ::std::move(from);
-  }
-
-  inline PullBackupResponse& operator=(const PullBackupResponse& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline PullBackupResponse& operator=(PullBackupResponse&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const PullBackupResponse& default_instance() {
-    return *internal_default_instance();
-  }
-  enum IdCase {
-    kBackupID = 1,
-    kLogID = 2,
-    ID_NOT_SET = 0,
-  };
-
-  enum DataCase {
-    kCompactionChunk = 3,
-    kLogChunk = 4,
-    DATA_NOT_SET = 0,
-  };
-
-  static inline const PullBackupResponse* internal_default_instance() {
-    return reinterpret_cast<const PullBackupResponse*>(
-               &_PullBackupResponse_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    7;
-
-  friend void swap(PullBackupResponse& a, PullBackupResponse& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(PullBackupResponse* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(PullBackupResponse* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline PullBackupResponse* New() const final {
-    return CreateMaybeMessage<PullBackupResponse>(nullptr);
-  }
-
-  PullBackupResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<PullBackupResponse>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const PullBackupResponse& from);
-  void MergeFrom(const PullBackupResponse& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(PullBackupResponse* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "backup.PullBackupResponse";
-  }
-  protected:
-  explicit PullBackupResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    return ::descriptor_table_backup_2eproto_metadata_getter(kIndexInFileMessages);
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kAttachmentHoldersFieldNumber = 5,
-    kBackupIDFieldNumber = 1,
-    kLogIDFieldNumber = 2,
-    kCompactionChunkFieldNumber = 3,
-    kLogChunkFieldNumber = 4,
-  };
-  // string attachmentHolders = 5;
-  bool has_attachmentholders() const;
-  private:
-  bool _internal_has_attachmentholders() const;
-  public:
-  void clear_attachmentholders();
-  const std::string& attachmentholders() const;
-  void set_attachmentholders(const std::string& value);
-  void set_attachmentholders(std::string&& value);
-  void set_attachmentholders(const char* value);
-  void set_attachmentholders(const char* value, size_t size);
-  std::string* mutable_attachmentholders();
-  std::string* release_attachmentholders();
-  void set_allocated_attachmentholders(std::string* attachmentholders);
-  private:
-  const std::string& _internal_attachmentholders() const;
-  void _internal_set_attachmentholders(const std::string& value);
-  std::string* _internal_mutable_attachmentholders();
-  public:
-
-  // string backupID = 1;
-  bool has_backupid() const;
-  private:
-  bool _internal_has_backupid() const;
-  public:
-  void clear_backupid();
-  const std::string& backupid() const;
-  void set_backupid(const std::string& value);
-  void set_backupid(std::string&& value);
-  void set_backupid(const char* value);
-  void set_backupid(const char* value, size_t size);
-  std::string* mutable_backupid();
-  std::string* release_backupid();
-  void set_allocated_backupid(std::string* backupid);
-  private:
-  const std::string& _internal_backupid() const;
-  void _internal_set_backupid(const std::string& value);
-  std::string* _internal_mutable_backupid();
-  public:
-
-  // string logID = 2;
-  bool has_logid() const;
-  private:
-  bool _internal_has_logid() const;
-  public:
-  void clear_logid();
-  const std::string& logid() const;
-  void set_logid(const std::string& value);
-  void set_logid(std::string&& value);
-  void set_logid(const char* value);
-  void set_logid(const char* value, size_t size);
-  std::string* mutable_logid();
-  std::string* release_logid();
-  void set_allocated_logid(std::string* logid);
-  private:
-  const std::string& _internal_logid() const;
-  void _internal_set_logid(const std::string& value);
-  std::string* _internal_mutable_logid();
-  public:
-
-  // bytes compactionChunk = 3;
-  bool has_compactionchunk() const;
-  private:
-  bool _internal_has_compactionchunk() const;
-  public:
-  void clear_compactionchunk();
-  const std::string& compactionchunk() const;
-  void set_compactionchunk(const std::string& value);
-  void set_compactionchunk(std::string&& value);
-  void set_compactionchunk(const char* value);
-  void set_compactionchunk(const void* value, size_t size);
-  std::string* mutable_compactionchunk();
-  std::string* release_compactionchunk();
-  void set_allocated_compactionchunk(std::string* compactionchunk);
-  private:
-  const std::string& _internal_compactionchunk() const;
-  void _internal_set_compactionchunk(const std::string& value);
-  std::string* _internal_mutable_compactionchunk();
-  public:
-
-  // bytes logChunk = 4;
-  bool has_logchunk() const;
-  private:
-  bool _internal_has_logchunk() const;
-  public:
-  void clear_logchunk();
-  const std::string& logchunk() const;
-  void set_logchunk(const std::string& value);
-  void set_logchunk(std::string&& value);
-  void set_logchunk(const char* value);
-  void set_logchunk(const void* value, size_t size);
-  std::string* mutable_logchunk();
-  std::string* release_logchunk();
-  void set_allocated_logchunk(std::string* logchunk);
-  private:
-  const std::string& _internal_logchunk() const;
-  void _internal_set_logchunk(const std::string& value);
-  std::string* _internal_mutable_logchunk();
-  public:
-
-  void clear_id();
-  IdCase id_case() const;
-  void clear_data();
-  DataCase data_case() const;
-  // @@protoc_insertion_point(class_scope:backup.PullBackupResponse)
- private:
-  class _Internal;
-  void set_has_backupid();
-  void set_has_logid();
-  void set_has_compactionchunk();
-  void set_has_logchunk();
-
-  inline bool has_id() const;
-  inline void clear_has_id();
-
-  inline bool has_data() const;
-  inline void clear_has_data();
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr attachmentholders_;
-  union IdUnion {
-    constexpr IdUnion() : _constinit_{} {}
-      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr backupid_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr logid_;
-  } id_;
-  union DataUnion {
-    constexpr DataUnion() : _constinit_{} {}
-      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr compactionchunk_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr logchunk_;
-  } data_;
-  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[2];
-
-  friend struct ::TableStruct_backup_2eproto;
-};
-// -------------------------------------------------------------------
-
-class AddAttachmentsRequest PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:backup.AddAttachmentsRequest) */ {
- public:
-  inline AddAttachmentsRequest() : AddAttachmentsRequest(nullptr) {}
-  virtual ~AddAttachmentsRequest();
-  explicit constexpr AddAttachmentsRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
-
-  AddAttachmentsRequest(const AddAttachmentsRequest& from);
-  AddAttachmentsRequest(AddAttachmentsRequest&& from) noexcept
-    : AddAttachmentsRequest() {
-    *this = ::std::move(from);
-  }
-
-  inline AddAttachmentsRequest& operator=(const AddAttachmentsRequest& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline AddAttachmentsRequest& operator=(AddAttachmentsRequest&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const AddAttachmentsRequest& default_instance() {
-    return *internal_default_instance();
-  }
-  static inline const AddAttachmentsRequest* internal_default_instance() {
-    return reinterpret_cast<const AddAttachmentsRequest*>(
-               &_AddAttachmentsRequest_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    8;
-
-  friend void swap(AddAttachmentsRequest& a, AddAttachmentsRequest& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(AddAttachmentsRequest* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(AddAttachmentsRequest* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline AddAttachmentsRequest* New() const final {
-    return CreateMaybeMessage<AddAttachmentsRequest>(nullptr);
-  }
-
-  AddAttachmentsRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<AddAttachmentsRequest>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const AddAttachmentsRequest& from);
-  void MergeFrom(const AddAttachmentsRequest& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(AddAttachmentsRequest* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "backup.AddAttachmentsRequest";
-  }
-  protected:
-  explicit AddAttachmentsRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    return ::descriptor_table_backup_2eproto_metadata_getter(kIndexInFileMessages);
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kUserIDFieldNumber = 1,
-    kBackupIDFieldNumber = 2,
-    kLogIDFieldNumber = 3,
-    kHoldersFieldNumber = 4,
-  };
-  // string userID = 1;
-  void clear_userid();
-  const std::string& userid() const;
-  void set_userid(const std::string& value);
-  void set_userid(std::string&& value);
-  void set_userid(const char* value);
-  void set_userid(const char* value, size_t size);
-  std::string* mutable_userid();
-  std::string* release_userid();
-  void set_allocated_userid(std::string* userid);
-  private:
-  const std::string& _internal_userid() const;
-  void _internal_set_userid(const std::string& value);
-  std::string* _internal_mutable_userid();
-  public:
-
-  // string backupID = 2;
-  void clear_backupid();
-  const std::string& backupid() const;
-  void set_backupid(const std::string& value);
-  void set_backupid(std::string&& value);
-  void set_backupid(const char* value);
-  void set_backupid(const char* value, size_t size);
-  std::string* mutable_backupid();
-  std::string* release_backupid();
-  void set_allocated_backupid(std::string* backupid);
-  private:
-  const std::string& _internal_backupid() const;
-  void _internal_set_backupid(const std::string& value);
-  std::string* _internal_mutable_backupid();
-  public:
-
-  // string logID = 3;
-  void clear_logid();
-  const std::string& logid() const;
-  void set_logid(const std::string& value);
-  void set_logid(std::string&& value);
-  void set_logid(const char* value);
-  void set_logid(const char* value, size_t size);
-  std::string* mutable_logid();
-  std::string* release_logid();
-  void set_allocated_logid(std::string* logid);
-  private:
-  const std::string& _internal_logid() const;
-  void _internal_set_logid(const std::string& value);
-  std::string* _internal_mutable_logid();
-  public:
-
-  // string holders = 4;
-  void clear_holders();
-  const std::string& holders() const;
-  void set_holders(const std::string& value);
-  void set_holders(std::string&& value);
-  void set_holders(const char* value);
-  void set_holders(const char* value, size_t size);
-  std::string* mutable_holders();
-  std::string* release_holders();
-  void set_allocated_holders(std::string* holders);
-  private:
-  const std::string& _internal_holders() const;
-  void _internal_set_holders(const std::string& value);
-  std::string* _internal_mutable_holders();
-  public:
-
-  // @@protoc_insertion_point(class_scope:backup.AddAttachmentsRequest)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr userid_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr backupid_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr logid_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr holders_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  friend struct ::TableStruct_backup_2eproto;
-};
-// ===================================================================
-
-
-// ===================================================================
-
-#ifdef __GNUC__
-  #pragma GCC diagnostic push
-  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
-#endif  // __GNUC__
-// CreateNewBackupRequest
-
-// string userID = 1;
-inline bool CreateNewBackupRequest::_internal_has_userid() const {
-  return data_case() == kUserID;
-}
-inline bool CreateNewBackupRequest::has_userid() const {
-  return _internal_has_userid();
-}
-inline void CreateNewBackupRequest::set_has_userid() {
-  _oneof_case_[0] = kUserID;
-}
-inline void CreateNewBackupRequest::clear_userid() {
-  if (_internal_has_userid()) {
-    data_.userid_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-    clear_has_data();
-  }
-}
-inline const std::string& CreateNewBackupRequest::userid() const {
-  // @@protoc_insertion_point(field_get:backup.CreateNewBackupRequest.userID)
-  return _internal_userid();
-}
-inline void CreateNewBackupRequest::set_userid(const std::string& value) {
-  _internal_set_userid(value);
-  // @@protoc_insertion_point(field_set:backup.CreateNewBackupRequest.userID)
-}
-inline std::string* CreateNewBackupRequest::mutable_userid() {
-  // @@protoc_insertion_point(field_mutable:backup.CreateNewBackupRequest.userID)
-  return _internal_mutable_userid();
-}
-inline const std::string& CreateNewBackupRequest::_internal_userid() const {
-  if (_internal_has_userid()) {
-    return data_.userid_.Get();
-  }
-  return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
-}
-inline void CreateNewBackupRequest::_internal_set_userid(const std::string& value) {
-  if (!_internal_has_userid()) {
-    clear_data();
-    set_has_userid();
-    data_.userid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.userid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void CreateNewBackupRequest::set_userid(std::string&& value) {
-  // @@protoc_insertion_point(field_set:backup.CreateNewBackupRequest.userID)
-  if (!_internal_has_userid()) {
-    clear_data();
-    set_has_userid();
-    data_.userid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.userid_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.CreateNewBackupRequest.userID)
-}
-inline void CreateNewBackupRequest::set_userid(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  if (!_internal_has_userid()) {
-    clear_data();
-    set_has_userid();
-    data_.userid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.userid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
-      ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.CreateNewBackupRequest.userID)
-}
-inline void CreateNewBackupRequest::set_userid(const char* value,
-                             size_t size) {
-  if (!_internal_has_userid()) {
-    clear_data();
-    set_has_userid();
-    data_.userid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.userid_.Set(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size),
-      GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.CreateNewBackupRequest.userID)
-}
-inline std::string* CreateNewBackupRequest::_internal_mutable_userid() {
-  if (!_internal_has_userid()) {
-    clear_data();
-    set_has_userid();
-    data_.userid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  return data_.userid_.Mutable(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* CreateNewBackupRequest::release_userid() {
-  // @@protoc_insertion_point(field_release:backup.CreateNewBackupRequest.userID)
-  if (_internal_has_userid()) {
-    clear_has_data();
-    return data_.userid_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  } else {
-    return nullptr;
-  }
-}
-inline void CreateNewBackupRequest::set_allocated_userid(std::string* userid) {
-  if (has_data()) {
-    clear_data();
-  }
-  if (userid != nullptr) {
-    set_has_userid();
-    data_.userid_.UnsafeSetDefault(userid);
-    ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena();
-    if (arena != nullptr) {
-      arena->Own(userid);
-    }
-  }
-  // @@protoc_insertion_point(field_set_allocated:backup.CreateNewBackupRequest.userID)
-}
-
-// string deviceID = 2;
-inline bool CreateNewBackupRequest::_internal_has_deviceid() const {
-  return data_case() == kDeviceID;
-}
-inline bool CreateNewBackupRequest::has_deviceid() const {
-  return _internal_has_deviceid();
-}
-inline void CreateNewBackupRequest::set_has_deviceid() {
-  _oneof_case_[0] = kDeviceID;
-}
-inline void CreateNewBackupRequest::clear_deviceid() {
-  if (_internal_has_deviceid()) {
-    data_.deviceid_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-    clear_has_data();
-  }
-}
-inline const std::string& CreateNewBackupRequest::deviceid() const {
-  // @@protoc_insertion_point(field_get:backup.CreateNewBackupRequest.deviceID)
-  return _internal_deviceid();
-}
-inline void CreateNewBackupRequest::set_deviceid(const std::string& value) {
-  _internal_set_deviceid(value);
-  // @@protoc_insertion_point(field_set:backup.CreateNewBackupRequest.deviceID)
-}
-inline std::string* CreateNewBackupRequest::mutable_deviceid() {
-  // @@protoc_insertion_point(field_mutable:backup.CreateNewBackupRequest.deviceID)
-  return _internal_mutable_deviceid();
-}
-inline const std::string& CreateNewBackupRequest::_internal_deviceid() const {
-  if (_internal_has_deviceid()) {
-    return data_.deviceid_.Get();
-  }
-  return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
-}
-inline void CreateNewBackupRequest::_internal_set_deviceid(const std::string& value) {
-  if (!_internal_has_deviceid()) {
-    clear_data();
-    set_has_deviceid();
-    data_.deviceid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.deviceid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void CreateNewBackupRequest::set_deviceid(std::string&& value) {
-  // @@protoc_insertion_point(field_set:backup.CreateNewBackupRequest.deviceID)
-  if (!_internal_has_deviceid()) {
-    clear_data();
-    set_has_deviceid();
-    data_.deviceid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.deviceid_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.CreateNewBackupRequest.deviceID)
-}
-inline void CreateNewBackupRequest::set_deviceid(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  if (!_internal_has_deviceid()) {
-    clear_data();
-    set_has_deviceid();
-    data_.deviceid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.deviceid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
-      ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.CreateNewBackupRequest.deviceID)
-}
-inline void CreateNewBackupRequest::set_deviceid(const char* value,
-                             size_t size) {
-  if (!_internal_has_deviceid()) {
-    clear_data();
-    set_has_deviceid();
-    data_.deviceid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.deviceid_.Set(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size),
-      GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.CreateNewBackupRequest.deviceID)
-}
-inline std::string* CreateNewBackupRequest::_internal_mutable_deviceid() {
-  if (!_internal_has_deviceid()) {
-    clear_data();
-    set_has_deviceid();
-    data_.deviceid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  return data_.deviceid_.Mutable(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* CreateNewBackupRequest::release_deviceid() {
-  // @@protoc_insertion_point(field_release:backup.CreateNewBackupRequest.deviceID)
-  if (_internal_has_deviceid()) {
-    clear_has_data();
-    return data_.deviceid_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  } else {
-    return nullptr;
-  }
-}
-inline void CreateNewBackupRequest::set_allocated_deviceid(std::string* deviceid) {
-  if (has_data()) {
-    clear_data();
-  }
-  if (deviceid != nullptr) {
-    set_has_deviceid();
-    data_.deviceid_.UnsafeSetDefault(deviceid);
-    ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena();
-    if (arena != nullptr) {
-      arena->Own(deviceid);
-    }
-  }
-  // @@protoc_insertion_point(field_set_allocated:backup.CreateNewBackupRequest.deviceID)
-}
-
-// bytes keyEntropy = 3;
-inline bool CreateNewBackupRequest::_internal_has_keyentropy() const {
-  return data_case() == kKeyEntropy;
-}
-inline bool CreateNewBackupRequest::has_keyentropy() const {
-  return _internal_has_keyentropy();
-}
-inline void CreateNewBackupRequest::set_has_keyentropy() {
-  _oneof_case_[0] = kKeyEntropy;
-}
-inline void CreateNewBackupRequest::clear_keyentropy() {
-  if (_internal_has_keyentropy()) {
-    data_.keyentropy_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-    clear_has_data();
-  }
-}
-inline const std::string& CreateNewBackupRequest::keyentropy() const {
-  // @@protoc_insertion_point(field_get:backup.CreateNewBackupRequest.keyEntropy)
-  return _internal_keyentropy();
-}
-inline void CreateNewBackupRequest::set_keyentropy(const std::string& value) {
-  _internal_set_keyentropy(value);
-  // @@protoc_insertion_point(field_set:backup.CreateNewBackupRequest.keyEntropy)
-}
-inline std::string* CreateNewBackupRequest::mutable_keyentropy() {
-  // @@protoc_insertion_point(field_mutable:backup.CreateNewBackupRequest.keyEntropy)
-  return _internal_mutable_keyentropy();
-}
-inline const std::string& CreateNewBackupRequest::_internal_keyentropy() const {
-  if (_internal_has_keyentropy()) {
-    return data_.keyentropy_.Get();
-  }
-  return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
-}
-inline void CreateNewBackupRequest::_internal_set_keyentropy(const std::string& value) {
-  if (!_internal_has_keyentropy()) {
-    clear_data();
-    set_has_keyentropy();
-    data_.keyentropy_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.keyentropy_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void CreateNewBackupRequest::set_keyentropy(std::string&& value) {
-  // @@protoc_insertion_point(field_set:backup.CreateNewBackupRequest.keyEntropy)
-  if (!_internal_has_keyentropy()) {
-    clear_data();
-    set_has_keyentropy();
-    data_.keyentropy_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.keyentropy_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.CreateNewBackupRequest.keyEntropy)
-}
-inline void CreateNewBackupRequest::set_keyentropy(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  if (!_internal_has_keyentropy()) {
-    clear_data();
-    set_has_keyentropy();
-    data_.keyentropy_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.keyentropy_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
-      ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.CreateNewBackupRequest.keyEntropy)
-}
-inline void CreateNewBackupRequest::set_keyentropy(const void* value,
-                             size_t size) {
-  if (!_internal_has_keyentropy()) {
-    clear_data();
-    set_has_keyentropy();
-    data_.keyentropy_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.keyentropy_.Set(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size),
-      GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.CreateNewBackupRequest.keyEntropy)
-}
-inline std::string* CreateNewBackupRequest::_internal_mutable_keyentropy() {
-  if (!_internal_has_keyentropy()) {
-    clear_data();
-    set_has_keyentropy();
-    data_.keyentropy_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  return data_.keyentropy_.Mutable(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* CreateNewBackupRequest::release_keyentropy() {
-  // @@protoc_insertion_point(field_release:backup.CreateNewBackupRequest.keyEntropy)
-  if (_internal_has_keyentropy()) {
-    clear_has_data();
-    return data_.keyentropy_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  } else {
-    return nullptr;
-  }
-}
-inline void CreateNewBackupRequest::set_allocated_keyentropy(std::string* keyentropy) {
-  if (has_data()) {
-    clear_data();
-  }
-  if (keyentropy != nullptr) {
-    set_has_keyentropy();
-    data_.keyentropy_.UnsafeSetDefault(keyentropy);
-    ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena();
-    if (arena != nullptr) {
-      arena->Own(keyentropy);
-    }
-  }
-  // @@protoc_insertion_point(field_set_allocated:backup.CreateNewBackupRequest.keyEntropy)
-}
-
-// bytes newCompactionHash = 4;
-inline bool CreateNewBackupRequest::_internal_has_newcompactionhash() const {
-  return data_case() == kNewCompactionHash;
-}
-inline bool CreateNewBackupRequest::has_newcompactionhash() const {
-  return _internal_has_newcompactionhash();
-}
-inline void CreateNewBackupRequest::set_has_newcompactionhash() {
-  _oneof_case_[0] = kNewCompactionHash;
-}
-inline void CreateNewBackupRequest::clear_newcompactionhash() {
-  if (_internal_has_newcompactionhash()) {
-    data_.newcompactionhash_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-    clear_has_data();
-  }
-}
-inline const std::string& CreateNewBackupRequest::newcompactionhash() const {
-  // @@protoc_insertion_point(field_get:backup.CreateNewBackupRequest.newCompactionHash)
-  return _internal_newcompactionhash();
-}
-inline void CreateNewBackupRequest::set_newcompactionhash(const std::string& value) {
-  _internal_set_newcompactionhash(value);
-  // @@protoc_insertion_point(field_set:backup.CreateNewBackupRequest.newCompactionHash)
-}
-inline std::string* CreateNewBackupRequest::mutable_newcompactionhash() {
-  // @@protoc_insertion_point(field_mutable:backup.CreateNewBackupRequest.newCompactionHash)
-  return _internal_mutable_newcompactionhash();
-}
-inline const std::string& CreateNewBackupRequest::_internal_newcompactionhash() const {
-  if (_internal_has_newcompactionhash()) {
-    return data_.newcompactionhash_.Get();
-  }
-  return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
-}
-inline void CreateNewBackupRequest::_internal_set_newcompactionhash(const std::string& value) {
-  if (!_internal_has_newcompactionhash()) {
-    clear_data();
-    set_has_newcompactionhash();
-    data_.newcompactionhash_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.newcompactionhash_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void CreateNewBackupRequest::set_newcompactionhash(std::string&& value) {
-  // @@protoc_insertion_point(field_set:backup.CreateNewBackupRequest.newCompactionHash)
-  if (!_internal_has_newcompactionhash()) {
-    clear_data();
-    set_has_newcompactionhash();
-    data_.newcompactionhash_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.newcompactionhash_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.CreateNewBackupRequest.newCompactionHash)
-}
-inline void CreateNewBackupRequest::set_newcompactionhash(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  if (!_internal_has_newcompactionhash()) {
-    clear_data();
-    set_has_newcompactionhash();
-    data_.newcompactionhash_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.newcompactionhash_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
-      ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.CreateNewBackupRequest.newCompactionHash)
-}
-inline void CreateNewBackupRequest::set_newcompactionhash(const void* value,
-                             size_t size) {
-  if (!_internal_has_newcompactionhash()) {
-    clear_data();
-    set_has_newcompactionhash();
-    data_.newcompactionhash_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.newcompactionhash_.Set(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size),
-      GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.CreateNewBackupRequest.newCompactionHash)
-}
-inline std::string* CreateNewBackupRequest::_internal_mutable_newcompactionhash() {
-  if (!_internal_has_newcompactionhash()) {
-    clear_data();
-    set_has_newcompactionhash();
-    data_.newcompactionhash_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  return data_.newcompactionhash_.Mutable(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* CreateNewBackupRequest::release_newcompactionhash() {
-  // @@protoc_insertion_point(field_release:backup.CreateNewBackupRequest.newCompactionHash)
-  if (_internal_has_newcompactionhash()) {
-    clear_has_data();
-    return data_.newcompactionhash_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  } else {
-    return nullptr;
-  }
-}
-inline void CreateNewBackupRequest::set_allocated_newcompactionhash(std::string* newcompactionhash) {
-  if (has_data()) {
-    clear_data();
-  }
-  if (newcompactionhash != nullptr) {
-    set_has_newcompactionhash();
-    data_.newcompactionhash_.UnsafeSetDefault(newcompactionhash);
-    ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena();
-    if (arena != nullptr) {
-      arena->Own(newcompactionhash);
-    }
-  }
-  // @@protoc_insertion_point(field_set_allocated:backup.CreateNewBackupRequest.newCompactionHash)
-}
-
-// bytes newCompactionChunk = 5;
-inline bool CreateNewBackupRequest::_internal_has_newcompactionchunk() const {
-  return data_case() == kNewCompactionChunk;
-}
-inline bool CreateNewBackupRequest::has_newcompactionchunk() const {
-  return _internal_has_newcompactionchunk();
-}
-inline void CreateNewBackupRequest::set_has_newcompactionchunk() {
-  _oneof_case_[0] = kNewCompactionChunk;
-}
-inline void CreateNewBackupRequest::clear_newcompactionchunk() {
-  if (_internal_has_newcompactionchunk()) {
-    data_.newcompactionchunk_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-    clear_has_data();
-  }
-}
-inline const std::string& CreateNewBackupRequest::newcompactionchunk() const {
-  // @@protoc_insertion_point(field_get:backup.CreateNewBackupRequest.newCompactionChunk)
-  return _internal_newcompactionchunk();
-}
-inline void CreateNewBackupRequest::set_newcompactionchunk(const std::string& value) {
-  _internal_set_newcompactionchunk(value);
-  // @@protoc_insertion_point(field_set:backup.CreateNewBackupRequest.newCompactionChunk)
-}
-inline std::string* CreateNewBackupRequest::mutable_newcompactionchunk() {
-  // @@protoc_insertion_point(field_mutable:backup.CreateNewBackupRequest.newCompactionChunk)
-  return _internal_mutable_newcompactionchunk();
-}
-inline const std::string& CreateNewBackupRequest::_internal_newcompactionchunk() const {
-  if (_internal_has_newcompactionchunk()) {
-    return data_.newcompactionchunk_.Get();
-  }
-  return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
-}
-inline void CreateNewBackupRequest::_internal_set_newcompactionchunk(const std::string& value) {
-  if (!_internal_has_newcompactionchunk()) {
-    clear_data();
-    set_has_newcompactionchunk();
-    data_.newcompactionchunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.newcompactionchunk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void CreateNewBackupRequest::set_newcompactionchunk(std::string&& value) {
-  // @@protoc_insertion_point(field_set:backup.CreateNewBackupRequest.newCompactionChunk)
-  if (!_internal_has_newcompactionchunk()) {
-    clear_data();
-    set_has_newcompactionchunk();
-    data_.newcompactionchunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.newcompactionchunk_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.CreateNewBackupRequest.newCompactionChunk)
-}
-inline void CreateNewBackupRequest::set_newcompactionchunk(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  if (!_internal_has_newcompactionchunk()) {
-    clear_data();
-    set_has_newcompactionchunk();
-    data_.newcompactionchunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.newcompactionchunk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
-      ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.CreateNewBackupRequest.newCompactionChunk)
-}
-inline void CreateNewBackupRequest::set_newcompactionchunk(const void* value,
-                             size_t size) {
-  if (!_internal_has_newcompactionchunk()) {
-    clear_data();
-    set_has_newcompactionchunk();
-    data_.newcompactionchunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.newcompactionchunk_.Set(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size),
-      GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.CreateNewBackupRequest.newCompactionChunk)
-}
-inline std::string* CreateNewBackupRequest::_internal_mutable_newcompactionchunk() {
-  if (!_internal_has_newcompactionchunk()) {
-    clear_data();
-    set_has_newcompactionchunk();
-    data_.newcompactionchunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  return data_.newcompactionchunk_.Mutable(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* CreateNewBackupRequest::release_newcompactionchunk() {
-  // @@protoc_insertion_point(field_release:backup.CreateNewBackupRequest.newCompactionChunk)
-  if (_internal_has_newcompactionchunk()) {
-    clear_has_data();
-    return data_.newcompactionchunk_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  } else {
-    return nullptr;
-  }
-}
-inline void CreateNewBackupRequest::set_allocated_newcompactionchunk(std::string* newcompactionchunk) {
-  if (has_data()) {
-    clear_data();
-  }
-  if (newcompactionchunk != nullptr) {
-    set_has_newcompactionchunk();
-    data_.newcompactionchunk_.UnsafeSetDefault(newcompactionchunk);
-    ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena();
-    if (arena != nullptr) {
-      arena->Own(newcompactionchunk);
-    }
-  }
-  // @@protoc_insertion_point(field_set_allocated:backup.CreateNewBackupRequest.newCompactionChunk)
-}
-
-inline bool CreateNewBackupRequest::has_data() const {
-  return data_case() != DATA_NOT_SET;
-}
-inline void CreateNewBackupRequest::clear_has_data() {
-  _oneof_case_[0] = DATA_NOT_SET;
-}
-inline CreateNewBackupRequest::DataCase CreateNewBackupRequest::data_case() const {
-  return CreateNewBackupRequest::DataCase(_oneof_case_[0]);
-}
-// -------------------------------------------------------------------
-
-// CreateNewBackupResponse
-
-// string backupID = 1;
-inline void CreateNewBackupResponse::clear_backupid() {
-  backupid_.ClearToEmpty();
-}
-inline const std::string& CreateNewBackupResponse::backupid() const {
-  // @@protoc_insertion_point(field_get:backup.CreateNewBackupResponse.backupID)
-  return _internal_backupid();
-}
-inline void CreateNewBackupResponse::set_backupid(const std::string& value) {
-  _internal_set_backupid(value);
-  // @@protoc_insertion_point(field_set:backup.CreateNewBackupResponse.backupID)
-}
-inline std::string* CreateNewBackupResponse::mutable_backupid() {
-  // @@protoc_insertion_point(field_mutable:backup.CreateNewBackupResponse.backupID)
-  return _internal_mutable_backupid();
-}
-inline const std::string& CreateNewBackupResponse::_internal_backupid() const {
-  return backupid_.Get();
-}
-inline void CreateNewBackupResponse::_internal_set_backupid(const std::string& value) {
-  
-  backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void CreateNewBackupResponse::set_backupid(std::string&& value) {
-  
-  backupid_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.CreateNewBackupResponse.backupID)
-}
-inline void CreateNewBackupResponse::set_backupid(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  
-  backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.CreateNewBackupResponse.backupID)
-}
-inline void CreateNewBackupResponse::set_backupid(const char* value,
-    size_t size) {
-  
-  backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.CreateNewBackupResponse.backupID)
-}
-inline std::string* CreateNewBackupResponse::_internal_mutable_backupid() {
-  
-  return backupid_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* CreateNewBackupResponse::release_backupid() {
-  // @@protoc_insertion_point(field_release:backup.CreateNewBackupResponse.backupID)
-  return backupid_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void CreateNewBackupResponse::set_allocated_backupid(std::string* backupid) {
-  if (backupid != nullptr) {
-    
-  } else {
-    
-  }
-  backupid_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), backupid,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:backup.CreateNewBackupResponse.backupID)
-}
-
-// -------------------------------------------------------------------
-
-// SendLogRequest
-
-// string userID = 1;
-inline bool SendLogRequest::_internal_has_userid() const {
-  return data_case() == kUserID;
-}
-inline bool SendLogRequest::has_userid() const {
-  return _internal_has_userid();
-}
-inline void SendLogRequest::set_has_userid() {
-  _oneof_case_[0] = kUserID;
-}
-inline void SendLogRequest::clear_userid() {
-  if (_internal_has_userid()) {
-    data_.userid_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-    clear_has_data();
-  }
-}
-inline const std::string& SendLogRequest::userid() const {
-  // @@protoc_insertion_point(field_get:backup.SendLogRequest.userID)
-  return _internal_userid();
-}
-inline void SendLogRequest::set_userid(const std::string& value) {
-  _internal_set_userid(value);
-  // @@protoc_insertion_point(field_set:backup.SendLogRequest.userID)
-}
-inline std::string* SendLogRequest::mutable_userid() {
-  // @@protoc_insertion_point(field_mutable:backup.SendLogRequest.userID)
-  return _internal_mutable_userid();
-}
-inline const std::string& SendLogRequest::_internal_userid() const {
-  if (_internal_has_userid()) {
-    return data_.userid_.Get();
-  }
-  return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
-}
-inline void SendLogRequest::_internal_set_userid(const std::string& value) {
-  if (!_internal_has_userid()) {
-    clear_data();
-    set_has_userid();
-    data_.userid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.userid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void SendLogRequest::set_userid(std::string&& value) {
-  // @@protoc_insertion_point(field_set:backup.SendLogRequest.userID)
-  if (!_internal_has_userid()) {
-    clear_data();
-    set_has_userid();
-    data_.userid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.userid_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.SendLogRequest.userID)
-}
-inline void SendLogRequest::set_userid(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  if (!_internal_has_userid()) {
-    clear_data();
-    set_has_userid();
-    data_.userid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.userid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
-      ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.SendLogRequest.userID)
-}
-inline void SendLogRequest::set_userid(const char* value,
-                             size_t size) {
-  if (!_internal_has_userid()) {
-    clear_data();
-    set_has_userid();
-    data_.userid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.userid_.Set(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size),
-      GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.SendLogRequest.userID)
-}
-inline std::string* SendLogRequest::_internal_mutable_userid() {
-  if (!_internal_has_userid()) {
-    clear_data();
-    set_has_userid();
-    data_.userid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  return data_.userid_.Mutable(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* SendLogRequest::release_userid() {
-  // @@protoc_insertion_point(field_release:backup.SendLogRequest.userID)
-  if (_internal_has_userid()) {
-    clear_has_data();
-    return data_.userid_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  } else {
-    return nullptr;
-  }
-}
-inline void SendLogRequest::set_allocated_userid(std::string* userid) {
-  if (has_data()) {
-    clear_data();
-  }
-  if (userid != nullptr) {
-    set_has_userid();
-    data_.userid_.UnsafeSetDefault(userid);
-    ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena();
-    if (arena != nullptr) {
-      arena->Own(userid);
-    }
-  }
-  // @@protoc_insertion_point(field_set_allocated:backup.SendLogRequest.userID)
-}
-
-// string backupID = 2;
-inline bool SendLogRequest::_internal_has_backupid() const {
-  return data_case() == kBackupID;
-}
-inline bool SendLogRequest::has_backupid() const {
-  return _internal_has_backupid();
-}
-inline void SendLogRequest::set_has_backupid() {
-  _oneof_case_[0] = kBackupID;
-}
-inline void SendLogRequest::clear_backupid() {
-  if (_internal_has_backupid()) {
-    data_.backupid_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-    clear_has_data();
-  }
-}
-inline const std::string& SendLogRequest::backupid() const {
-  // @@protoc_insertion_point(field_get:backup.SendLogRequest.backupID)
-  return _internal_backupid();
-}
-inline void SendLogRequest::set_backupid(const std::string& value) {
-  _internal_set_backupid(value);
-  // @@protoc_insertion_point(field_set:backup.SendLogRequest.backupID)
-}
-inline std::string* SendLogRequest::mutable_backupid() {
-  // @@protoc_insertion_point(field_mutable:backup.SendLogRequest.backupID)
-  return _internal_mutable_backupid();
-}
-inline const std::string& SendLogRequest::_internal_backupid() const {
-  if (_internal_has_backupid()) {
-    return data_.backupid_.Get();
-  }
-  return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
-}
-inline void SendLogRequest::_internal_set_backupid(const std::string& value) {
-  if (!_internal_has_backupid()) {
-    clear_data();
-    set_has_backupid();
-    data_.backupid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void SendLogRequest::set_backupid(std::string&& value) {
-  // @@protoc_insertion_point(field_set:backup.SendLogRequest.backupID)
-  if (!_internal_has_backupid()) {
-    clear_data();
-    set_has_backupid();
-    data_.backupid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.backupid_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.SendLogRequest.backupID)
-}
-inline void SendLogRequest::set_backupid(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  if (!_internal_has_backupid()) {
-    clear_data();
-    set_has_backupid();
-    data_.backupid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
-      ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.SendLogRequest.backupID)
-}
-inline void SendLogRequest::set_backupid(const char* value,
-                             size_t size) {
-  if (!_internal_has_backupid()) {
-    clear_data();
-    set_has_backupid();
-    data_.backupid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.backupid_.Set(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size),
-      GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.SendLogRequest.backupID)
-}
-inline std::string* SendLogRequest::_internal_mutable_backupid() {
-  if (!_internal_has_backupid()) {
-    clear_data();
-    set_has_backupid();
-    data_.backupid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  return data_.backupid_.Mutable(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* SendLogRequest::release_backupid() {
-  // @@protoc_insertion_point(field_release:backup.SendLogRequest.backupID)
-  if (_internal_has_backupid()) {
-    clear_has_data();
-    return data_.backupid_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  } else {
-    return nullptr;
-  }
-}
-inline void SendLogRequest::set_allocated_backupid(std::string* backupid) {
-  if (has_data()) {
-    clear_data();
-  }
-  if (backupid != nullptr) {
-    set_has_backupid();
-    data_.backupid_.UnsafeSetDefault(backupid);
-    ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena();
-    if (arena != nullptr) {
-      arena->Own(backupid);
-    }
-  }
-  // @@protoc_insertion_point(field_set_allocated:backup.SendLogRequest.backupID)
-}
-
-// bytes logHash = 3;
-inline bool SendLogRequest::_internal_has_loghash() const {
-  return data_case() == kLogHash;
-}
-inline bool SendLogRequest::has_loghash() const {
-  return _internal_has_loghash();
-}
-inline void SendLogRequest::set_has_loghash() {
-  _oneof_case_[0] = kLogHash;
-}
-inline void SendLogRequest::clear_loghash() {
-  if (_internal_has_loghash()) {
-    data_.loghash_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-    clear_has_data();
-  }
-}
-inline const std::string& SendLogRequest::loghash() const {
-  // @@protoc_insertion_point(field_get:backup.SendLogRequest.logHash)
-  return _internal_loghash();
-}
-inline void SendLogRequest::set_loghash(const std::string& value) {
-  _internal_set_loghash(value);
-  // @@protoc_insertion_point(field_set:backup.SendLogRequest.logHash)
-}
-inline std::string* SendLogRequest::mutable_loghash() {
-  // @@protoc_insertion_point(field_mutable:backup.SendLogRequest.logHash)
-  return _internal_mutable_loghash();
-}
-inline const std::string& SendLogRequest::_internal_loghash() const {
-  if (_internal_has_loghash()) {
-    return data_.loghash_.Get();
-  }
-  return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
-}
-inline void SendLogRequest::_internal_set_loghash(const std::string& value) {
-  if (!_internal_has_loghash()) {
-    clear_data();
-    set_has_loghash();
-    data_.loghash_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.loghash_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void SendLogRequest::set_loghash(std::string&& value) {
-  // @@protoc_insertion_point(field_set:backup.SendLogRequest.logHash)
-  if (!_internal_has_loghash()) {
-    clear_data();
-    set_has_loghash();
-    data_.loghash_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.loghash_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.SendLogRequest.logHash)
-}
-inline void SendLogRequest::set_loghash(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  if (!_internal_has_loghash()) {
-    clear_data();
-    set_has_loghash();
-    data_.loghash_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.loghash_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
-      ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.SendLogRequest.logHash)
-}
-inline void SendLogRequest::set_loghash(const void* value,
-                             size_t size) {
-  if (!_internal_has_loghash()) {
-    clear_data();
-    set_has_loghash();
-    data_.loghash_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.loghash_.Set(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size),
-      GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.SendLogRequest.logHash)
-}
-inline std::string* SendLogRequest::_internal_mutable_loghash() {
-  if (!_internal_has_loghash()) {
-    clear_data();
-    set_has_loghash();
-    data_.loghash_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  return data_.loghash_.Mutable(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* SendLogRequest::release_loghash() {
-  // @@protoc_insertion_point(field_release:backup.SendLogRequest.logHash)
-  if (_internal_has_loghash()) {
-    clear_has_data();
-    return data_.loghash_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  } else {
-    return nullptr;
-  }
-}
-inline void SendLogRequest::set_allocated_loghash(std::string* loghash) {
-  if (has_data()) {
-    clear_data();
-  }
-  if (loghash != nullptr) {
-    set_has_loghash();
-    data_.loghash_.UnsafeSetDefault(loghash);
-    ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena();
-    if (arena != nullptr) {
-      arena->Own(loghash);
-    }
-  }
-  // @@protoc_insertion_point(field_set_allocated:backup.SendLogRequest.logHash)
-}
-
-// bytes logData = 4;
-inline bool SendLogRequest::_internal_has_logdata() const {
-  return data_case() == kLogData;
-}
-inline bool SendLogRequest::has_logdata() const {
-  return _internal_has_logdata();
-}
-inline void SendLogRequest::set_has_logdata() {
-  _oneof_case_[0] = kLogData;
-}
-inline void SendLogRequest::clear_logdata() {
-  if (_internal_has_logdata()) {
-    data_.logdata_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-    clear_has_data();
-  }
-}
-inline const std::string& SendLogRequest::logdata() const {
-  // @@protoc_insertion_point(field_get:backup.SendLogRequest.logData)
-  return _internal_logdata();
-}
-inline void SendLogRequest::set_logdata(const std::string& value) {
-  _internal_set_logdata(value);
-  // @@protoc_insertion_point(field_set:backup.SendLogRequest.logData)
-}
-inline std::string* SendLogRequest::mutable_logdata() {
-  // @@protoc_insertion_point(field_mutable:backup.SendLogRequest.logData)
-  return _internal_mutable_logdata();
-}
-inline const std::string& SendLogRequest::_internal_logdata() const {
-  if (_internal_has_logdata()) {
-    return data_.logdata_.Get();
-  }
-  return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
-}
-inline void SendLogRequest::_internal_set_logdata(const std::string& value) {
-  if (!_internal_has_logdata()) {
-    clear_data();
-    set_has_logdata();
-    data_.logdata_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.logdata_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void SendLogRequest::set_logdata(std::string&& value) {
-  // @@protoc_insertion_point(field_set:backup.SendLogRequest.logData)
-  if (!_internal_has_logdata()) {
-    clear_data();
-    set_has_logdata();
-    data_.logdata_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.logdata_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.SendLogRequest.logData)
-}
-inline void SendLogRequest::set_logdata(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  if (!_internal_has_logdata()) {
-    clear_data();
-    set_has_logdata();
-    data_.logdata_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.logdata_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
-      ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.SendLogRequest.logData)
-}
-inline void SendLogRequest::set_logdata(const void* value,
-                             size_t size) {
-  if (!_internal_has_logdata()) {
-    clear_data();
-    set_has_logdata();
-    data_.logdata_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.logdata_.Set(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size),
-      GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.SendLogRequest.logData)
-}
-inline std::string* SendLogRequest::_internal_mutable_logdata() {
-  if (!_internal_has_logdata()) {
-    clear_data();
-    set_has_logdata();
-    data_.logdata_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  return data_.logdata_.Mutable(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* SendLogRequest::release_logdata() {
-  // @@protoc_insertion_point(field_release:backup.SendLogRequest.logData)
-  if (_internal_has_logdata()) {
-    clear_has_data();
-    return data_.logdata_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  } else {
-    return nullptr;
-  }
-}
-inline void SendLogRequest::set_allocated_logdata(std::string* logdata) {
-  if (has_data()) {
-    clear_data();
-  }
-  if (logdata != nullptr) {
-    set_has_logdata();
-    data_.logdata_.UnsafeSetDefault(logdata);
-    ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena();
-    if (arena != nullptr) {
-      arena->Own(logdata);
-    }
-  }
-  // @@protoc_insertion_point(field_set_allocated:backup.SendLogRequest.logData)
-}
-
-inline bool SendLogRequest::has_data() const {
-  return data_case() != DATA_NOT_SET;
-}
-inline void SendLogRequest::clear_has_data() {
-  _oneof_case_[0] = DATA_NOT_SET;
-}
-inline SendLogRequest::DataCase SendLogRequest::data_case() const {
-  return SendLogRequest::DataCase(_oneof_case_[0]);
-}
-// -------------------------------------------------------------------
-
-// SendLogResponse
-
-// string logCheckpoint = 1;
-inline void SendLogResponse::clear_logcheckpoint() {
-  logcheckpoint_.ClearToEmpty();
-}
-inline const std::string& SendLogResponse::logcheckpoint() const {
-  // @@protoc_insertion_point(field_get:backup.SendLogResponse.logCheckpoint)
-  return _internal_logcheckpoint();
-}
-inline void SendLogResponse::set_logcheckpoint(const std::string& value) {
-  _internal_set_logcheckpoint(value);
-  // @@protoc_insertion_point(field_set:backup.SendLogResponse.logCheckpoint)
-}
-inline std::string* SendLogResponse::mutable_logcheckpoint() {
-  // @@protoc_insertion_point(field_mutable:backup.SendLogResponse.logCheckpoint)
-  return _internal_mutable_logcheckpoint();
-}
-inline const std::string& SendLogResponse::_internal_logcheckpoint() const {
-  return logcheckpoint_.Get();
-}
-inline void SendLogResponse::_internal_set_logcheckpoint(const std::string& value) {
-  
-  logcheckpoint_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void SendLogResponse::set_logcheckpoint(std::string&& value) {
-  
-  logcheckpoint_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.SendLogResponse.logCheckpoint)
-}
-inline void SendLogResponse::set_logcheckpoint(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  
-  logcheckpoint_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.SendLogResponse.logCheckpoint)
-}
-inline void SendLogResponse::set_logcheckpoint(const char* value,
-    size_t size) {
-  
-  logcheckpoint_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.SendLogResponse.logCheckpoint)
-}
-inline std::string* SendLogResponse::_internal_mutable_logcheckpoint() {
-  
-  return logcheckpoint_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* SendLogResponse::release_logcheckpoint() {
-  // @@protoc_insertion_point(field_release:backup.SendLogResponse.logCheckpoint)
-  return logcheckpoint_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void SendLogResponse::set_allocated_logcheckpoint(std::string* logcheckpoint) {
-  if (logcheckpoint != nullptr) {
-    
-  } else {
-    
-  }
-  logcheckpoint_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), logcheckpoint,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:backup.SendLogResponse.logCheckpoint)
-}
-
-// -------------------------------------------------------------------
-
-// RecoverBackupKeyRequest
-
-// string userID = 1;
-inline void RecoverBackupKeyRequest::clear_userid() {
-  userid_.ClearToEmpty();
-}
-inline const std::string& RecoverBackupKeyRequest::userid() const {
-  // @@protoc_insertion_point(field_get:backup.RecoverBackupKeyRequest.userID)
-  return _internal_userid();
-}
-inline void RecoverBackupKeyRequest::set_userid(const std::string& value) {
-  _internal_set_userid(value);
-  // @@protoc_insertion_point(field_set:backup.RecoverBackupKeyRequest.userID)
-}
-inline std::string* RecoverBackupKeyRequest::mutable_userid() {
-  // @@protoc_insertion_point(field_mutable:backup.RecoverBackupKeyRequest.userID)
-  return _internal_mutable_userid();
-}
-inline const std::string& RecoverBackupKeyRequest::_internal_userid() const {
-  return userid_.Get();
-}
-inline void RecoverBackupKeyRequest::_internal_set_userid(const std::string& value) {
-  
-  userid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void RecoverBackupKeyRequest::set_userid(std::string&& value) {
-  
-  userid_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.RecoverBackupKeyRequest.userID)
-}
-inline void RecoverBackupKeyRequest::set_userid(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  
-  userid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.RecoverBackupKeyRequest.userID)
-}
-inline void RecoverBackupKeyRequest::set_userid(const char* value,
-    size_t size) {
-  
-  userid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.RecoverBackupKeyRequest.userID)
-}
-inline std::string* RecoverBackupKeyRequest::_internal_mutable_userid() {
-  
-  return userid_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* RecoverBackupKeyRequest::release_userid() {
-  // @@protoc_insertion_point(field_release:backup.RecoverBackupKeyRequest.userID)
-  return userid_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void RecoverBackupKeyRequest::set_allocated_userid(std::string* userid) {
-  if (userid != nullptr) {
-    
-  } else {
-    
-  }
-  userid_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), userid,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:backup.RecoverBackupKeyRequest.userID)
-}
-
-// -------------------------------------------------------------------
-
-// RecoverBackupKeyResponse
-
-// string backupID = 4;
-inline void RecoverBackupKeyResponse::clear_backupid() {
-  backupid_.ClearToEmpty();
-}
-inline const std::string& RecoverBackupKeyResponse::backupid() const {
-  // @@protoc_insertion_point(field_get:backup.RecoverBackupKeyResponse.backupID)
-  return _internal_backupid();
-}
-inline void RecoverBackupKeyResponse::set_backupid(const std::string& value) {
-  _internal_set_backupid(value);
-  // @@protoc_insertion_point(field_set:backup.RecoverBackupKeyResponse.backupID)
-}
-inline std::string* RecoverBackupKeyResponse::mutable_backupid() {
-  // @@protoc_insertion_point(field_mutable:backup.RecoverBackupKeyResponse.backupID)
-  return _internal_mutable_backupid();
-}
-inline const std::string& RecoverBackupKeyResponse::_internal_backupid() const {
-  return backupid_.Get();
-}
-inline void RecoverBackupKeyResponse::_internal_set_backupid(const std::string& value) {
-  
-  backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void RecoverBackupKeyResponse::set_backupid(std::string&& value) {
-  
-  backupid_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.RecoverBackupKeyResponse.backupID)
-}
-inline void RecoverBackupKeyResponse::set_backupid(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  
-  backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.RecoverBackupKeyResponse.backupID)
-}
-inline void RecoverBackupKeyResponse::set_backupid(const char* value,
-    size_t size) {
-  
-  backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.RecoverBackupKeyResponse.backupID)
-}
-inline std::string* RecoverBackupKeyResponse::_internal_mutable_backupid() {
-  
-  return backupid_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* RecoverBackupKeyResponse::release_backupid() {
-  // @@protoc_insertion_point(field_release:backup.RecoverBackupKeyResponse.backupID)
-  return backupid_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void RecoverBackupKeyResponse::set_allocated_backupid(std::string* backupid) {
-  if (backupid != nullptr) {
-    
-  } else {
-    
-  }
-  backupid_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), backupid,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:backup.RecoverBackupKeyResponse.backupID)
-}
-
-// -------------------------------------------------------------------
-
-// PullBackupRequest
-
-// string userID = 1;
-inline void PullBackupRequest::clear_userid() {
-  userid_.ClearToEmpty();
-}
-inline const std::string& PullBackupRequest::userid() const {
-  // @@protoc_insertion_point(field_get:backup.PullBackupRequest.userID)
-  return _internal_userid();
-}
-inline void PullBackupRequest::set_userid(const std::string& value) {
-  _internal_set_userid(value);
-  // @@protoc_insertion_point(field_set:backup.PullBackupRequest.userID)
-}
-inline std::string* PullBackupRequest::mutable_userid() {
-  // @@protoc_insertion_point(field_mutable:backup.PullBackupRequest.userID)
-  return _internal_mutable_userid();
-}
-inline const std::string& PullBackupRequest::_internal_userid() const {
-  return userid_.Get();
-}
-inline void PullBackupRequest::_internal_set_userid(const std::string& value) {
-  
-  userid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void PullBackupRequest::set_userid(std::string&& value) {
-  
-  userid_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.PullBackupRequest.userID)
-}
-inline void PullBackupRequest::set_userid(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  
-  userid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.PullBackupRequest.userID)
-}
-inline void PullBackupRequest::set_userid(const char* value,
-    size_t size) {
-  
-  userid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.PullBackupRequest.userID)
-}
-inline std::string* PullBackupRequest::_internal_mutable_userid() {
-  
-  return userid_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* PullBackupRequest::release_userid() {
-  // @@protoc_insertion_point(field_release:backup.PullBackupRequest.userID)
-  return userid_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void PullBackupRequest::set_allocated_userid(std::string* userid) {
-  if (userid != nullptr) {
-    
-  } else {
-    
-  }
-  userid_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), userid,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:backup.PullBackupRequest.userID)
-}
-
-// string backupID = 2;
-inline void PullBackupRequest::clear_backupid() {
-  backupid_.ClearToEmpty();
-}
-inline const std::string& PullBackupRequest::backupid() const {
-  // @@protoc_insertion_point(field_get:backup.PullBackupRequest.backupID)
-  return _internal_backupid();
-}
-inline void PullBackupRequest::set_backupid(const std::string& value) {
-  _internal_set_backupid(value);
-  // @@protoc_insertion_point(field_set:backup.PullBackupRequest.backupID)
-}
-inline std::string* PullBackupRequest::mutable_backupid() {
-  // @@protoc_insertion_point(field_mutable:backup.PullBackupRequest.backupID)
-  return _internal_mutable_backupid();
-}
-inline const std::string& PullBackupRequest::_internal_backupid() const {
-  return backupid_.Get();
-}
-inline void PullBackupRequest::_internal_set_backupid(const std::string& value) {
-  
-  backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void PullBackupRequest::set_backupid(std::string&& value) {
-  
-  backupid_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.PullBackupRequest.backupID)
-}
-inline void PullBackupRequest::set_backupid(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  
-  backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.PullBackupRequest.backupID)
-}
-inline void PullBackupRequest::set_backupid(const char* value,
-    size_t size) {
-  
-  backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.PullBackupRequest.backupID)
-}
-inline std::string* PullBackupRequest::_internal_mutable_backupid() {
-  
-  return backupid_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* PullBackupRequest::release_backupid() {
-  // @@protoc_insertion_point(field_release:backup.PullBackupRequest.backupID)
-  return backupid_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void PullBackupRequest::set_allocated_backupid(std::string* backupid) {
-  if (backupid != nullptr) {
-    
-  } else {
-    
-  }
-  backupid_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), backupid,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:backup.PullBackupRequest.backupID)
-}
-
-// -------------------------------------------------------------------
-
-// PullBackupResponse
-
-// string backupID = 1;
-inline bool PullBackupResponse::_internal_has_backupid() const {
-  return id_case() == kBackupID;
-}
-inline bool PullBackupResponse::has_backupid() const {
-  return _internal_has_backupid();
-}
-inline void PullBackupResponse::set_has_backupid() {
-  _oneof_case_[0] = kBackupID;
-}
-inline void PullBackupResponse::clear_backupid() {
-  if (_internal_has_backupid()) {
-    id_.backupid_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-    clear_has_id();
-  }
-}
-inline const std::string& PullBackupResponse::backupid() const {
-  // @@protoc_insertion_point(field_get:backup.PullBackupResponse.backupID)
-  return _internal_backupid();
-}
-inline void PullBackupResponse::set_backupid(const std::string& value) {
-  _internal_set_backupid(value);
-  // @@protoc_insertion_point(field_set:backup.PullBackupResponse.backupID)
-}
-inline std::string* PullBackupResponse::mutable_backupid() {
-  // @@protoc_insertion_point(field_mutable:backup.PullBackupResponse.backupID)
-  return _internal_mutable_backupid();
-}
-inline const std::string& PullBackupResponse::_internal_backupid() const {
-  if (_internal_has_backupid()) {
-    return id_.backupid_.Get();
-  }
-  return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
-}
-inline void PullBackupResponse::_internal_set_backupid(const std::string& value) {
-  if (!_internal_has_backupid()) {
-    clear_id();
-    set_has_backupid();
-    id_.backupid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  id_.backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void PullBackupResponse::set_backupid(std::string&& value) {
-  // @@protoc_insertion_point(field_set:backup.PullBackupResponse.backupID)
-  if (!_internal_has_backupid()) {
-    clear_id();
-    set_has_backupid();
-    id_.backupid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  id_.backupid_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.PullBackupResponse.backupID)
-}
-inline void PullBackupResponse::set_backupid(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  if (!_internal_has_backupid()) {
-    clear_id();
-    set_has_backupid();
-    id_.backupid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  id_.backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
-      ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.PullBackupResponse.backupID)
-}
-inline void PullBackupResponse::set_backupid(const char* value,
-                             size_t size) {
-  if (!_internal_has_backupid()) {
-    clear_id();
-    set_has_backupid();
-    id_.backupid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  id_.backupid_.Set(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size),
-      GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.PullBackupResponse.backupID)
-}
-inline std::string* PullBackupResponse::_internal_mutable_backupid() {
-  if (!_internal_has_backupid()) {
-    clear_id();
-    set_has_backupid();
-    id_.backupid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  return id_.backupid_.Mutable(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* PullBackupResponse::release_backupid() {
-  // @@protoc_insertion_point(field_release:backup.PullBackupResponse.backupID)
-  if (_internal_has_backupid()) {
-    clear_has_id();
-    return id_.backupid_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  } else {
-    return nullptr;
-  }
-}
-inline void PullBackupResponse::set_allocated_backupid(std::string* backupid) {
-  if (has_id()) {
-    clear_id();
-  }
-  if (backupid != nullptr) {
-    set_has_backupid();
-    id_.backupid_.UnsafeSetDefault(backupid);
-    ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena();
-    if (arena != nullptr) {
-      arena->Own(backupid);
-    }
-  }
-  // @@protoc_insertion_point(field_set_allocated:backup.PullBackupResponse.backupID)
-}
-
-// string logID = 2;
-inline bool PullBackupResponse::_internal_has_logid() const {
-  return id_case() == kLogID;
-}
-inline bool PullBackupResponse::has_logid() const {
-  return _internal_has_logid();
-}
-inline void PullBackupResponse::set_has_logid() {
-  _oneof_case_[0] = kLogID;
-}
-inline void PullBackupResponse::clear_logid() {
-  if (_internal_has_logid()) {
-    id_.logid_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-    clear_has_id();
-  }
-}
-inline const std::string& PullBackupResponse::logid() const {
-  // @@protoc_insertion_point(field_get:backup.PullBackupResponse.logID)
-  return _internal_logid();
-}
-inline void PullBackupResponse::set_logid(const std::string& value) {
-  _internal_set_logid(value);
-  // @@protoc_insertion_point(field_set:backup.PullBackupResponse.logID)
-}
-inline std::string* PullBackupResponse::mutable_logid() {
-  // @@protoc_insertion_point(field_mutable:backup.PullBackupResponse.logID)
-  return _internal_mutable_logid();
-}
-inline const std::string& PullBackupResponse::_internal_logid() const {
-  if (_internal_has_logid()) {
-    return id_.logid_.Get();
-  }
-  return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
-}
-inline void PullBackupResponse::_internal_set_logid(const std::string& value) {
-  if (!_internal_has_logid()) {
-    clear_id();
-    set_has_logid();
-    id_.logid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  id_.logid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void PullBackupResponse::set_logid(std::string&& value) {
-  // @@protoc_insertion_point(field_set:backup.PullBackupResponse.logID)
-  if (!_internal_has_logid()) {
-    clear_id();
-    set_has_logid();
-    id_.logid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  id_.logid_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.PullBackupResponse.logID)
-}
-inline void PullBackupResponse::set_logid(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  if (!_internal_has_logid()) {
-    clear_id();
-    set_has_logid();
-    id_.logid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  id_.logid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
-      ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.PullBackupResponse.logID)
-}
-inline void PullBackupResponse::set_logid(const char* value,
-                             size_t size) {
-  if (!_internal_has_logid()) {
-    clear_id();
-    set_has_logid();
-    id_.logid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  id_.logid_.Set(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size),
-      GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.PullBackupResponse.logID)
-}
-inline std::string* PullBackupResponse::_internal_mutable_logid() {
-  if (!_internal_has_logid()) {
-    clear_id();
-    set_has_logid();
-    id_.logid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  return id_.logid_.Mutable(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* PullBackupResponse::release_logid() {
-  // @@protoc_insertion_point(field_release:backup.PullBackupResponse.logID)
-  if (_internal_has_logid()) {
-    clear_has_id();
-    return id_.logid_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  } else {
-    return nullptr;
-  }
-}
-inline void PullBackupResponse::set_allocated_logid(std::string* logid) {
-  if (has_id()) {
-    clear_id();
-  }
-  if (logid != nullptr) {
-    set_has_logid();
-    id_.logid_.UnsafeSetDefault(logid);
-    ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena();
-    if (arena != nullptr) {
-      arena->Own(logid);
-    }
-  }
-  // @@protoc_insertion_point(field_set_allocated:backup.PullBackupResponse.logID)
-}
-
-// bytes compactionChunk = 3;
-inline bool PullBackupResponse::_internal_has_compactionchunk() const {
-  return data_case() == kCompactionChunk;
-}
-inline bool PullBackupResponse::has_compactionchunk() const {
-  return _internal_has_compactionchunk();
-}
-inline void PullBackupResponse::set_has_compactionchunk() {
-  _oneof_case_[1] = kCompactionChunk;
-}
-inline void PullBackupResponse::clear_compactionchunk() {
-  if (_internal_has_compactionchunk()) {
-    data_.compactionchunk_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-    clear_has_data();
-  }
-}
-inline const std::string& PullBackupResponse::compactionchunk() const {
-  // @@protoc_insertion_point(field_get:backup.PullBackupResponse.compactionChunk)
-  return _internal_compactionchunk();
-}
-inline void PullBackupResponse::set_compactionchunk(const std::string& value) {
-  _internal_set_compactionchunk(value);
-  // @@protoc_insertion_point(field_set:backup.PullBackupResponse.compactionChunk)
-}
-inline std::string* PullBackupResponse::mutable_compactionchunk() {
-  // @@protoc_insertion_point(field_mutable:backup.PullBackupResponse.compactionChunk)
-  return _internal_mutable_compactionchunk();
-}
-inline const std::string& PullBackupResponse::_internal_compactionchunk() const {
-  if (_internal_has_compactionchunk()) {
-    return data_.compactionchunk_.Get();
-  }
-  return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
-}
-inline void PullBackupResponse::_internal_set_compactionchunk(const std::string& value) {
-  if (!_internal_has_compactionchunk()) {
-    clear_data();
-    set_has_compactionchunk();
-    data_.compactionchunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.compactionchunk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void PullBackupResponse::set_compactionchunk(std::string&& value) {
-  // @@protoc_insertion_point(field_set:backup.PullBackupResponse.compactionChunk)
-  if (!_internal_has_compactionchunk()) {
-    clear_data();
-    set_has_compactionchunk();
-    data_.compactionchunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.compactionchunk_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.PullBackupResponse.compactionChunk)
-}
-inline void PullBackupResponse::set_compactionchunk(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  if (!_internal_has_compactionchunk()) {
-    clear_data();
-    set_has_compactionchunk();
-    data_.compactionchunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.compactionchunk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
-      ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.PullBackupResponse.compactionChunk)
-}
-inline void PullBackupResponse::set_compactionchunk(const void* value,
-                             size_t size) {
-  if (!_internal_has_compactionchunk()) {
-    clear_data();
-    set_has_compactionchunk();
-    data_.compactionchunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.compactionchunk_.Set(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size),
-      GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.PullBackupResponse.compactionChunk)
-}
-inline std::string* PullBackupResponse::_internal_mutable_compactionchunk() {
-  if (!_internal_has_compactionchunk()) {
-    clear_data();
-    set_has_compactionchunk();
-    data_.compactionchunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  return data_.compactionchunk_.Mutable(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* PullBackupResponse::release_compactionchunk() {
-  // @@protoc_insertion_point(field_release:backup.PullBackupResponse.compactionChunk)
-  if (_internal_has_compactionchunk()) {
-    clear_has_data();
-    return data_.compactionchunk_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  } else {
-    return nullptr;
-  }
-}
-inline void PullBackupResponse::set_allocated_compactionchunk(std::string* compactionchunk) {
-  if (has_data()) {
-    clear_data();
-  }
-  if (compactionchunk != nullptr) {
-    set_has_compactionchunk();
-    data_.compactionchunk_.UnsafeSetDefault(compactionchunk);
-    ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena();
-    if (arena != nullptr) {
-      arena->Own(compactionchunk);
-    }
-  }
-  // @@protoc_insertion_point(field_set_allocated:backup.PullBackupResponse.compactionChunk)
-}
-
-// bytes logChunk = 4;
-inline bool PullBackupResponse::_internal_has_logchunk() const {
-  return data_case() == kLogChunk;
-}
-inline bool PullBackupResponse::has_logchunk() const {
-  return _internal_has_logchunk();
-}
-inline void PullBackupResponse::set_has_logchunk() {
-  _oneof_case_[1] = kLogChunk;
-}
-inline void PullBackupResponse::clear_logchunk() {
-  if (_internal_has_logchunk()) {
-    data_.logchunk_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-    clear_has_data();
-  }
-}
-inline const std::string& PullBackupResponse::logchunk() const {
-  // @@protoc_insertion_point(field_get:backup.PullBackupResponse.logChunk)
-  return _internal_logchunk();
-}
-inline void PullBackupResponse::set_logchunk(const std::string& value) {
-  _internal_set_logchunk(value);
-  // @@protoc_insertion_point(field_set:backup.PullBackupResponse.logChunk)
-}
-inline std::string* PullBackupResponse::mutable_logchunk() {
-  // @@protoc_insertion_point(field_mutable:backup.PullBackupResponse.logChunk)
-  return _internal_mutable_logchunk();
-}
-inline const std::string& PullBackupResponse::_internal_logchunk() const {
-  if (_internal_has_logchunk()) {
-    return data_.logchunk_.Get();
-  }
-  return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
-}
-inline void PullBackupResponse::_internal_set_logchunk(const std::string& value) {
-  if (!_internal_has_logchunk()) {
-    clear_data();
-    set_has_logchunk();
-    data_.logchunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.logchunk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void PullBackupResponse::set_logchunk(std::string&& value) {
-  // @@protoc_insertion_point(field_set:backup.PullBackupResponse.logChunk)
-  if (!_internal_has_logchunk()) {
-    clear_data();
-    set_has_logchunk();
-    data_.logchunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.logchunk_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.PullBackupResponse.logChunk)
-}
-inline void PullBackupResponse::set_logchunk(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  if (!_internal_has_logchunk()) {
-    clear_data();
-    set_has_logchunk();
-    data_.logchunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.logchunk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
-      ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.PullBackupResponse.logChunk)
-}
-inline void PullBackupResponse::set_logchunk(const void* value,
-                             size_t size) {
-  if (!_internal_has_logchunk()) {
-    clear_data();
-    set_has_logchunk();
-    data_.logchunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.logchunk_.Set(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size),
-      GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.PullBackupResponse.logChunk)
-}
-inline std::string* PullBackupResponse::_internal_mutable_logchunk() {
-  if (!_internal_has_logchunk()) {
-    clear_data();
-    set_has_logchunk();
-    data_.logchunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  return data_.logchunk_.Mutable(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* PullBackupResponse::release_logchunk() {
-  // @@protoc_insertion_point(field_release:backup.PullBackupResponse.logChunk)
-  if (_internal_has_logchunk()) {
-    clear_has_data();
-    return data_.logchunk_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  } else {
-    return nullptr;
-  }
-}
-inline void PullBackupResponse::set_allocated_logchunk(std::string* logchunk) {
-  if (has_data()) {
-    clear_data();
-  }
-  if (logchunk != nullptr) {
-    set_has_logchunk();
-    data_.logchunk_.UnsafeSetDefault(logchunk);
-    ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena();
-    if (arena != nullptr) {
-      arena->Own(logchunk);
-    }
-  }
-  // @@protoc_insertion_point(field_set_allocated:backup.PullBackupResponse.logChunk)
-}
-
-// string attachmentHolders = 5;
-inline bool PullBackupResponse::_internal_has_attachmentholders() const {
-  bool value = (_has_bits_[0] & 0x00000001u) != 0;
-  return value;
-}
-inline bool PullBackupResponse::has_attachmentholders() const {
-  return _internal_has_attachmentholders();
-}
-inline void PullBackupResponse::clear_attachmentholders() {
-  attachmentholders_.ClearToEmpty();
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline const std::string& PullBackupResponse::attachmentholders() const {
-  // @@protoc_insertion_point(field_get:backup.PullBackupResponse.attachmentHolders)
-  return _internal_attachmentholders();
-}
-inline void PullBackupResponse::set_attachmentholders(const std::string& value) {
-  _internal_set_attachmentholders(value);
-  // @@protoc_insertion_point(field_set:backup.PullBackupResponse.attachmentHolders)
-}
-inline std::string* PullBackupResponse::mutable_attachmentholders() {
-  // @@protoc_insertion_point(field_mutable:backup.PullBackupResponse.attachmentHolders)
-  return _internal_mutable_attachmentholders();
-}
-inline const std::string& PullBackupResponse::_internal_attachmentholders() const {
-  return attachmentholders_.Get();
-}
-inline void PullBackupResponse::_internal_set_attachmentholders(const std::string& value) {
-  _has_bits_[0] |= 0x00000001u;
-  attachmentholders_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void PullBackupResponse::set_attachmentholders(std::string&& value) {
-  _has_bits_[0] |= 0x00000001u;
-  attachmentholders_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.PullBackupResponse.attachmentHolders)
-}
-inline void PullBackupResponse::set_attachmentholders(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  _has_bits_[0] |= 0x00000001u;
-  attachmentholders_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.PullBackupResponse.attachmentHolders)
-}
-inline void PullBackupResponse::set_attachmentholders(const char* value,
-    size_t size) {
-  _has_bits_[0] |= 0x00000001u;
-  attachmentholders_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.PullBackupResponse.attachmentHolders)
-}
-inline std::string* PullBackupResponse::_internal_mutable_attachmentholders() {
-  _has_bits_[0] |= 0x00000001u;
-  return attachmentholders_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* PullBackupResponse::release_attachmentholders() {
-  // @@protoc_insertion_point(field_release:backup.PullBackupResponse.attachmentHolders)
-  if (!_internal_has_attachmentholders()) {
-    return nullptr;
-  }
-  _has_bits_[0] &= ~0x00000001u;
-  return attachmentholders_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void PullBackupResponse::set_allocated_attachmentholders(std::string* attachmentholders) {
-  if (attachmentholders != nullptr) {
-    _has_bits_[0] |= 0x00000001u;
-  } else {
-    _has_bits_[0] &= ~0x00000001u;
-  }
-  attachmentholders_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), attachmentholders,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:backup.PullBackupResponse.attachmentHolders)
-}
-
-inline bool PullBackupResponse::has_id() const {
-  return id_case() != ID_NOT_SET;
-}
-inline void PullBackupResponse::clear_has_id() {
-  _oneof_case_[0] = ID_NOT_SET;
-}
-inline bool PullBackupResponse::has_data() const {
-  return data_case() != DATA_NOT_SET;
-}
-inline void PullBackupResponse::clear_has_data() {
-  _oneof_case_[1] = DATA_NOT_SET;
-}
-inline PullBackupResponse::IdCase PullBackupResponse::id_case() const {
-  return PullBackupResponse::IdCase(_oneof_case_[0]);
-}
-inline PullBackupResponse::DataCase PullBackupResponse::data_case() const {
-  return PullBackupResponse::DataCase(_oneof_case_[1]);
-}
-// -------------------------------------------------------------------
-
-// AddAttachmentsRequest
-
-// string userID = 1;
-inline void AddAttachmentsRequest::clear_userid() {
-  userid_.ClearToEmpty();
-}
-inline const std::string& AddAttachmentsRequest::userid() const {
-  // @@protoc_insertion_point(field_get:backup.AddAttachmentsRequest.userID)
-  return _internal_userid();
-}
-inline void AddAttachmentsRequest::set_userid(const std::string& value) {
-  _internal_set_userid(value);
-  // @@protoc_insertion_point(field_set:backup.AddAttachmentsRequest.userID)
-}
-inline std::string* AddAttachmentsRequest::mutable_userid() {
-  // @@protoc_insertion_point(field_mutable:backup.AddAttachmentsRequest.userID)
-  return _internal_mutable_userid();
-}
-inline const std::string& AddAttachmentsRequest::_internal_userid() const {
-  return userid_.Get();
-}
-inline void AddAttachmentsRequest::_internal_set_userid(const std::string& value) {
-  
-  userid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void AddAttachmentsRequest::set_userid(std::string&& value) {
-  
-  userid_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.AddAttachmentsRequest.userID)
-}
-inline void AddAttachmentsRequest::set_userid(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  
-  userid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.AddAttachmentsRequest.userID)
-}
-inline void AddAttachmentsRequest::set_userid(const char* value,
-    size_t size) {
-  
-  userid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.AddAttachmentsRequest.userID)
-}
-inline std::string* AddAttachmentsRequest::_internal_mutable_userid() {
-  
-  return userid_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* AddAttachmentsRequest::release_userid() {
-  // @@protoc_insertion_point(field_release:backup.AddAttachmentsRequest.userID)
-  return userid_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void AddAttachmentsRequest::set_allocated_userid(std::string* userid) {
-  if (userid != nullptr) {
-    
-  } else {
-    
-  }
-  userid_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), userid,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:backup.AddAttachmentsRequest.userID)
-}
-
-// string backupID = 2;
-inline void AddAttachmentsRequest::clear_backupid() {
-  backupid_.ClearToEmpty();
-}
-inline const std::string& AddAttachmentsRequest::backupid() const {
-  // @@protoc_insertion_point(field_get:backup.AddAttachmentsRequest.backupID)
-  return _internal_backupid();
-}
-inline void AddAttachmentsRequest::set_backupid(const std::string& value) {
-  _internal_set_backupid(value);
-  // @@protoc_insertion_point(field_set:backup.AddAttachmentsRequest.backupID)
-}
-inline std::string* AddAttachmentsRequest::mutable_backupid() {
-  // @@protoc_insertion_point(field_mutable:backup.AddAttachmentsRequest.backupID)
-  return _internal_mutable_backupid();
-}
-inline const std::string& AddAttachmentsRequest::_internal_backupid() const {
-  return backupid_.Get();
-}
-inline void AddAttachmentsRequest::_internal_set_backupid(const std::string& value) {
-  
-  backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void AddAttachmentsRequest::set_backupid(std::string&& value) {
-  
-  backupid_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.AddAttachmentsRequest.backupID)
-}
-inline void AddAttachmentsRequest::set_backupid(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  
-  backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.AddAttachmentsRequest.backupID)
-}
-inline void AddAttachmentsRequest::set_backupid(const char* value,
-    size_t size) {
-  
-  backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.AddAttachmentsRequest.backupID)
-}
-inline std::string* AddAttachmentsRequest::_internal_mutable_backupid() {
-  
-  return backupid_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* AddAttachmentsRequest::release_backupid() {
-  // @@protoc_insertion_point(field_release:backup.AddAttachmentsRequest.backupID)
-  return backupid_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void AddAttachmentsRequest::set_allocated_backupid(std::string* backupid) {
-  if (backupid != nullptr) {
-    
-  } else {
-    
-  }
-  backupid_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), backupid,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:backup.AddAttachmentsRequest.backupID)
-}
-
-// string logID = 3;
-inline void AddAttachmentsRequest::clear_logid() {
-  logid_.ClearToEmpty();
-}
-inline const std::string& AddAttachmentsRequest::logid() const {
-  // @@protoc_insertion_point(field_get:backup.AddAttachmentsRequest.logID)
-  return _internal_logid();
-}
-inline void AddAttachmentsRequest::set_logid(const std::string& value) {
-  _internal_set_logid(value);
-  // @@protoc_insertion_point(field_set:backup.AddAttachmentsRequest.logID)
-}
-inline std::string* AddAttachmentsRequest::mutable_logid() {
-  // @@protoc_insertion_point(field_mutable:backup.AddAttachmentsRequest.logID)
-  return _internal_mutable_logid();
-}
-inline const std::string& AddAttachmentsRequest::_internal_logid() const {
-  return logid_.Get();
-}
-inline void AddAttachmentsRequest::_internal_set_logid(const std::string& value) {
-  
-  logid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void AddAttachmentsRequest::set_logid(std::string&& value) {
-  
-  logid_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.AddAttachmentsRequest.logID)
-}
-inline void AddAttachmentsRequest::set_logid(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  
-  logid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.AddAttachmentsRequest.logID)
-}
-inline void AddAttachmentsRequest::set_logid(const char* value,
-    size_t size) {
-  
-  logid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.AddAttachmentsRequest.logID)
-}
-inline std::string* AddAttachmentsRequest::_internal_mutable_logid() {
-  
-  return logid_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* AddAttachmentsRequest::release_logid() {
-  // @@protoc_insertion_point(field_release:backup.AddAttachmentsRequest.logID)
-  return logid_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void AddAttachmentsRequest::set_allocated_logid(std::string* logid) {
-  if (logid != nullptr) {
-    
-  } else {
-    
-  }
-  logid_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), logid,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:backup.AddAttachmentsRequest.logID)
-}
-
-// string holders = 4;
-inline void AddAttachmentsRequest::clear_holders() {
-  holders_.ClearToEmpty();
-}
-inline const std::string& AddAttachmentsRequest::holders() const {
-  // @@protoc_insertion_point(field_get:backup.AddAttachmentsRequest.holders)
-  return _internal_holders();
-}
-inline void AddAttachmentsRequest::set_holders(const std::string& value) {
-  _internal_set_holders(value);
-  // @@protoc_insertion_point(field_set:backup.AddAttachmentsRequest.holders)
-}
-inline std::string* AddAttachmentsRequest::mutable_holders() {
-  // @@protoc_insertion_point(field_mutable:backup.AddAttachmentsRequest.holders)
-  return _internal_mutable_holders();
-}
-inline const std::string& AddAttachmentsRequest::_internal_holders() const {
-  return holders_.Get();
-}
-inline void AddAttachmentsRequest::_internal_set_holders(const std::string& value) {
-  
-  holders_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void AddAttachmentsRequest::set_holders(std::string&& value) {
-  
-  holders_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:backup.AddAttachmentsRequest.holders)
-}
-inline void AddAttachmentsRequest::set_holders(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  
-  holders_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:backup.AddAttachmentsRequest.holders)
-}
-inline void AddAttachmentsRequest::set_holders(const char* value,
-    size_t size) {
-  
-  holders_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:backup.AddAttachmentsRequest.holders)
-}
-inline std::string* AddAttachmentsRequest::_internal_mutable_holders() {
-  
-  return holders_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* AddAttachmentsRequest::release_holders() {
-  // @@protoc_insertion_point(field_release:backup.AddAttachmentsRequest.holders)
-  return holders_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void AddAttachmentsRequest::set_allocated_holders(std::string* holders) {
-  if (holders != nullptr) {
-    
-  } else {
-    
-  }
-  holders_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), holders,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:backup.AddAttachmentsRequest.holders)
-}
-
-#ifdef __GNUC__
-  #pragma GCC diagnostic pop
-#endif  // __GNUC__
-// -------------------------------------------------------------------
-
-// -------------------------------------------------------------------
-
-// -------------------------------------------------------------------
-
-// -------------------------------------------------------------------
-
-// -------------------------------------------------------------------
-
-// -------------------------------------------------------------------
-
-// -------------------------------------------------------------------
-
-// -------------------------------------------------------------------
-
-
-// @@protoc_insertion_point(namespace_scope)
-
-}  // namespace backup
-
-// @@protoc_insertion_point(global_scope)
-
-#include <google/protobuf/port_undef.inc>
-#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_backup_2eproto
diff --git a/shared/protos/_generated/backup.pb.cc b/shared/protos/_generated/backup.pb.cc
deleted file mode 100644
--- a/shared/protos/_generated/backup.pb.cc
+++ /dev/null
@@ -1,2811 +0,0 @@
-// @generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: backup.proto
-
-#include "backup.pb.h"
-
-#include <algorithm>
-
-#include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/extension_set.h>
-#include <google/protobuf/wire_format_lite.h>
-#include <google/protobuf/descriptor.h>
-#include <google/protobuf/generated_message_reflection.h>
-#include <google/protobuf/reflection_ops.h>
-#include <google/protobuf/wire_format.h>
-// @@protoc_insertion_point(includes)
-#include <google/protobuf/port_def.inc>
-
-PROTOBUF_PRAGMA_INIT_SEG
-namespace backup {
-constexpr CreateNewBackupRequest::CreateNewBackupRequest(
-  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
-  : _oneof_case_{}{}
-struct CreateNewBackupRequestDefaultTypeInternal {
-  constexpr CreateNewBackupRequestDefaultTypeInternal()
-    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
-  ~CreateNewBackupRequestDefaultTypeInternal() {}
-  union {
-    CreateNewBackupRequest _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CreateNewBackupRequestDefaultTypeInternal _CreateNewBackupRequest_default_instance_;
-constexpr CreateNewBackupResponse::CreateNewBackupResponse(
-  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
-  : backupid_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){}
-struct CreateNewBackupResponseDefaultTypeInternal {
-  constexpr CreateNewBackupResponseDefaultTypeInternal()
-    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
-  ~CreateNewBackupResponseDefaultTypeInternal() {}
-  union {
-    CreateNewBackupResponse _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT CreateNewBackupResponseDefaultTypeInternal _CreateNewBackupResponse_default_instance_;
-constexpr SendLogRequest::SendLogRequest(
-  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
-  : _oneof_case_{}{}
-struct SendLogRequestDefaultTypeInternal {
-  constexpr SendLogRequestDefaultTypeInternal()
-    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
-  ~SendLogRequestDefaultTypeInternal() {}
-  union {
-    SendLogRequest _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SendLogRequestDefaultTypeInternal _SendLogRequest_default_instance_;
-constexpr SendLogResponse::SendLogResponse(
-  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
-  : logcheckpoint_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){}
-struct SendLogResponseDefaultTypeInternal {
-  constexpr SendLogResponseDefaultTypeInternal()
-    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
-  ~SendLogResponseDefaultTypeInternal() {}
-  union {
-    SendLogResponse _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT SendLogResponseDefaultTypeInternal _SendLogResponse_default_instance_;
-constexpr RecoverBackupKeyRequest::RecoverBackupKeyRequest(
-  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
-  : userid_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){}
-struct RecoverBackupKeyRequestDefaultTypeInternal {
-  constexpr RecoverBackupKeyRequestDefaultTypeInternal()
-    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
-  ~RecoverBackupKeyRequestDefaultTypeInternal() {}
-  union {
-    RecoverBackupKeyRequest _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RecoverBackupKeyRequestDefaultTypeInternal _RecoverBackupKeyRequest_default_instance_;
-constexpr RecoverBackupKeyResponse::RecoverBackupKeyResponse(
-  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
-  : backupid_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){}
-struct RecoverBackupKeyResponseDefaultTypeInternal {
-  constexpr RecoverBackupKeyResponseDefaultTypeInternal()
-    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
-  ~RecoverBackupKeyResponseDefaultTypeInternal() {}
-  union {
-    RecoverBackupKeyResponse _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RecoverBackupKeyResponseDefaultTypeInternal _RecoverBackupKeyResponse_default_instance_;
-constexpr PullBackupRequest::PullBackupRequest(
-  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
-  : userid_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
-  , backupid_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){}
-struct PullBackupRequestDefaultTypeInternal {
-  constexpr PullBackupRequestDefaultTypeInternal()
-    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
-  ~PullBackupRequestDefaultTypeInternal() {}
-  union {
-    PullBackupRequest _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PullBackupRequestDefaultTypeInternal _PullBackupRequest_default_instance_;
-constexpr PullBackupResponse::PullBackupResponse(
-  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
-  : attachmentholders_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
-  , _oneof_case_{}{}
-struct PullBackupResponseDefaultTypeInternal {
-  constexpr PullBackupResponseDefaultTypeInternal()
-    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
-  ~PullBackupResponseDefaultTypeInternal() {}
-  union {
-    PullBackupResponse _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PullBackupResponseDefaultTypeInternal _PullBackupResponse_default_instance_;
-constexpr AddAttachmentsRequest::AddAttachmentsRequest(
-  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
-  : userid_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
-  , backupid_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
-  , logid_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string)
-  , holders_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){}
-struct AddAttachmentsRequestDefaultTypeInternal {
-  constexpr AddAttachmentsRequestDefaultTypeInternal()
-    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
-  ~AddAttachmentsRequestDefaultTypeInternal() {}
-  union {
-    AddAttachmentsRequest _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT AddAttachmentsRequestDefaultTypeInternal _AddAttachmentsRequest_default_instance_;
-}  // namespace backup
-static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_backup_2eproto[9];
-static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_backup_2eproto = nullptr;
-static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_backup_2eproto = nullptr;
-
-const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_backup_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::backup::CreateNewBackupRequest, _internal_metadata_),
-  ~0u,  // no _extensions_
-  PROTOBUF_FIELD_OFFSET(::backup::CreateNewBackupRequest, _oneof_case_[0]),
-  ~0u,  // no _weak_field_map_
-  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
-  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
-  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
-  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
-  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
-  PROTOBUF_FIELD_OFFSET(::backup::CreateNewBackupRequest, data_),
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::backup::CreateNewBackupResponse, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::backup::CreateNewBackupResponse, backupid_),
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::backup::SendLogRequest, _internal_metadata_),
-  ~0u,  // no _extensions_
-  PROTOBUF_FIELD_OFFSET(::backup::SendLogRequest, _oneof_case_[0]),
-  ~0u,  // no _weak_field_map_
-  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
-  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
-  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
-  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
-  PROTOBUF_FIELD_OFFSET(::backup::SendLogRequest, data_),
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::backup::SendLogResponse, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::backup::SendLogResponse, logcheckpoint_),
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::backup::RecoverBackupKeyRequest, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::backup::RecoverBackupKeyRequest, userid_),
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::backup::RecoverBackupKeyResponse, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::backup::RecoverBackupKeyResponse, backupid_),
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::backup::PullBackupRequest, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::backup::PullBackupRequest, userid_),
-  PROTOBUF_FIELD_OFFSET(::backup::PullBackupRequest, backupid_),
-  PROTOBUF_FIELD_OFFSET(::backup::PullBackupResponse, _has_bits_),
-  PROTOBUF_FIELD_OFFSET(::backup::PullBackupResponse, _internal_metadata_),
-  ~0u,  // no _extensions_
-  PROTOBUF_FIELD_OFFSET(::backup::PullBackupResponse, _oneof_case_[0]),
-  ~0u,  // no _weak_field_map_
-  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
-  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
-  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
-  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
-  PROTOBUF_FIELD_OFFSET(::backup::PullBackupResponse, attachmentholders_),
-  PROTOBUF_FIELD_OFFSET(::backup::PullBackupResponse, id_),
-  PROTOBUF_FIELD_OFFSET(::backup::PullBackupResponse, data_),
-  ~0u,
-  ~0u,
-  ~0u,
-  ~0u,
-  0,
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::backup::AddAttachmentsRequest, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::backup::AddAttachmentsRequest, userid_),
-  PROTOBUF_FIELD_OFFSET(::backup::AddAttachmentsRequest, backupid_),
-  PROTOBUF_FIELD_OFFSET(::backup::AddAttachmentsRequest, logid_),
-  PROTOBUF_FIELD_OFFSET(::backup::AddAttachmentsRequest, holders_),
-};
-static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
-  { 0, -1, sizeof(::backup::CreateNewBackupRequest)},
-  { 11, -1, sizeof(::backup::CreateNewBackupResponse)},
-  { 17, -1, sizeof(::backup::SendLogRequest)},
-  { 27, -1, sizeof(::backup::SendLogResponse)},
-  { 33, -1, sizeof(::backup::RecoverBackupKeyRequest)},
-  { 39, -1, sizeof(::backup::RecoverBackupKeyResponse)},
-  { 45, -1, sizeof(::backup::PullBackupRequest)},
-  { 52, 64, sizeof(::backup::PullBackupResponse)},
-  { 69, -1, sizeof(::backup::AddAttachmentsRequest)},
-};
-
-static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::backup::_CreateNewBackupRequest_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::backup::_CreateNewBackupResponse_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::backup::_SendLogRequest_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::backup::_SendLogResponse_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::backup::_RecoverBackupKeyRequest_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::backup::_RecoverBackupKeyResponse_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::backup::_PullBackupRequest_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::backup::_PullBackupResponse_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::backup::_AddAttachmentsRequest_default_instance_),
-};
-
-const char descriptor_table_protodef_backup_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
-  "\n\014backup.proto\022\006backup\032\033google/protobuf/"
-  "empty.proto\"\227\001\n\026CreateNewBackupRequest\022\020"
-  "\n\006userID\030\001 \001(\tH\000\022\022\n\010deviceID\030\002 \001(\tH\000\022\024\n\n"
-  "keyEntropy\030\003 \001(\014H\000\022\033\n\021newCompactionHash\030"
-  "\004 \001(\014H\000\022\034\n\022newCompactionChunk\030\005 \001(\014H\000B\006\n"
-  "\004data\"+\n\027CreateNewBackupResponse\022\020\n\010back"
-  "upID\030\001 \001(\t\"d\n\016SendLogRequest\022\020\n\006userID\030\001"
-  " \001(\tH\000\022\022\n\010backupID\030\002 \001(\tH\000\022\021\n\007logHash\030\003 "
-  "\001(\014H\000\022\021\n\007logData\030\004 \001(\014H\000B\006\n\004data\"(\n\017Send"
-  "LogResponse\022\025\n\rlogCheckpoint\030\001 \001(\t\")\n\027Re"
-  "coverBackupKeyRequest\022\016\n\006userID\030\001 \001(\t\",\n"
-  "\030RecoverBackupKeyResponse\022\020\n\010backupID\030\004 "
-  "\001(\t\"5\n\021PullBackupRequest\022\016\n\006userID\030\001 \001(\t"
-  "\022\020\n\010backupID\030\002 \001(\t\"\254\001\n\022PullBackupRespons"
-  "e\022\022\n\010backupID\030\001 \001(\tH\000\022\017\n\005logID\030\002 \001(\tH\000\022\031"
-  "\n\017compactionChunk\030\003 \001(\014H\001\022\022\n\010logChunk\030\004 "
-  "\001(\014H\001\022\036\n\021attachmentHolders\030\005 \001(\tH\002\210\001\001B\004\n"
-  "\002idB\006\n\004dataB\024\n\022_attachmentHolders\"Y\n\025Add"
-  "AttachmentsRequest\022\016\n\006userID\030\001 \001(\t\022\020\n\010ba"
-  "ckupID\030\002 \001(\t\022\r\n\005logID\030\003 \001(\t\022\017\n\007holders\030\004"
-  " \001(\t2\232\003\n\rBackupService\022X\n\017CreateNewBacku"
-  "p\022\036.backup.CreateNewBackupRequest\032\037.back"
-  "up.CreateNewBackupResponse\"\000(\0010\001\022>\n\007Send"
-  "Log\022\026.backup.SendLogRequest\032\027.backup.Sen"
-  "dLogResponse\"\000(\001\022[\n\020RecoverBackupKey\022\037.b"
-  "ackup.RecoverBackupKeyRequest\032 .backup.R"
-  "ecoverBackupKeyResponse\"\000(\0010\001\022G\n\nPullBac"
-  "kup\022\031.backup.PullBackupRequest\032\032.backup."
-  "PullBackupResponse\"\0000\001\022I\n\016AddAttachments"
-  "\022\035.backup.AddAttachmentsRequest\032\026.google"
-  ".protobuf.Empty\"\000b\006proto3"
-  ;
-static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_backup_2eproto_deps[1] = {
-  &::descriptor_table_google_2fprotobuf_2fempty_2eproto,
-};
-static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_backup_2eproto_once;
-const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_backup_2eproto = {
-  false, false, 1225, descriptor_table_protodef_backup_2eproto, "backup.proto", 
-  &descriptor_table_backup_2eproto_once, descriptor_table_backup_2eproto_deps, 1, 9,
-  schemas, file_default_instances, TableStruct_backup_2eproto::offsets,
-  file_level_metadata_backup_2eproto, file_level_enum_descriptors_backup_2eproto, file_level_service_descriptors_backup_2eproto,
-};
-PROTOBUF_ATTRIBUTE_WEAK ::PROTOBUF_NAMESPACE_ID::Metadata
-descriptor_table_backup_2eproto_metadata_getter(int index) {
-  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_backup_2eproto);
-  return descriptor_table_backup_2eproto.file_level_metadata[index];
-}
-
-// Force running AddDescriptors() at dynamic initialization time.
-PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_backup_2eproto(&descriptor_table_backup_2eproto);
-namespace backup {
-
-// ===================================================================
-
-class CreateNewBackupRequest::_Internal {
- public:
-};
-
-CreateNewBackupRequest::CreateNewBackupRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:backup.CreateNewBackupRequest)
-}
-CreateNewBackupRequest::CreateNewBackupRequest(const CreateNewBackupRequest& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message() {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  clear_has_data();
-  switch (from.data_case()) {
-    case kUserID: {
-      _internal_set_userid(from._internal_userid());
-      break;
-    }
-    case kDeviceID: {
-      _internal_set_deviceid(from._internal_deviceid());
-      break;
-    }
-    case kKeyEntropy: {
-      _internal_set_keyentropy(from._internal_keyentropy());
-      break;
-    }
-    case kNewCompactionHash: {
-      _internal_set_newcompactionhash(from._internal_newcompactionhash());
-      break;
-    }
-    case kNewCompactionChunk: {
-      _internal_set_newcompactionchunk(from._internal_newcompactionchunk());
-      break;
-    }
-    case DATA_NOT_SET: {
-      break;
-    }
-  }
-  // @@protoc_insertion_point(copy_constructor:backup.CreateNewBackupRequest)
-}
-
-void CreateNewBackupRequest::SharedCtor() {
-clear_has_data();
-}
-
-CreateNewBackupRequest::~CreateNewBackupRequest() {
-  // @@protoc_insertion_point(destructor:backup.CreateNewBackupRequest)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void CreateNewBackupRequest::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  if (has_data()) {
-    clear_data();
-  }
-}
-
-void CreateNewBackupRequest::ArenaDtor(void* object) {
-  CreateNewBackupRequest* _this = reinterpret_cast< CreateNewBackupRequest* >(object);
-  (void)_this;
-}
-void CreateNewBackupRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void CreateNewBackupRequest::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-
-void CreateNewBackupRequest::clear_data() {
-// @@protoc_insertion_point(one_of_clear_start:backup.CreateNewBackupRequest)
-  switch (data_case()) {
-    case kUserID: {
-      data_.userid_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-      break;
-    }
-    case kDeviceID: {
-      data_.deviceid_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-      break;
-    }
-    case kKeyEntropy: {
-      data_.keyentropy_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-      break;
-    }
-    case kNewCompactionHash: {
-      data_.newcompactionhash_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-      break;
-    }
-    case kNewCompactionChunk: {
-      data_.newcompactionchunk_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-      break;
-    }
-    case DATA_NOT_SET: {
-      break;
-    }
-  }
-  _oneof_case_[0] = DATA_NOT_SET;
-}
-
-
-void CreateNewBackupRequest::Clear() {
-// @@protoc_insertion_point(message_clear_start:backup.CreateNewBackupRequest)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  clear_data();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* CreateNewBackupRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // string userID = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          auto str = _internal_mutable_userid();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "backup.CreateNewBackupRequest.userID"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // string deviceID = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
-          auto str = _internal_mutable_deviceid();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "backup.CreateNewBackupRequest.deviceID"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bytes keyEntropy = 3;
-      case 3:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
-          auto str = _internal_mutable_keyentropy();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bytes newCompactionHash = 4;
-      case 4:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
-          auto str = _internal_mutable_newcompactionhash();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bytes newCompactionChunk = 5;
-      case 5:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
-          auto str = _internal_mutable_newcompactionchunk();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-
-::PROTOBUF_NAMESPACE_ID::uint8* CreateNewBackupRequest::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:backup.CreateNewBackupRequest)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string userID = 1;
-  if (_internal_has_userid()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_userid().data(), static_cast<int>(this->_internal_userid().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "backup.CreateNewBackupRequest.userID");
-    target = stream->WriteStringMaybeAliased(
-        1, this->_internal_userid(), target);
-  }
-
-  // string deviceID = 2;
-  if (_internal_has_deviceid()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_deviceid().data(), static_cast<int>(this->_internal_deviceid().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "backup.CreateNewBackupRequest.deviceID");
-    target = stream->WriteStringMaybeAliased(
-        2, this->_internal_deviceid(), target);
-  }
-
-  // bytes keyEntropy = 3;
-  if (_internal_has_keyentropy()) {
-    target = stream->WriteBytesMaybeAliased(
-        3, this->_internal_keyentropy(), target);
-  }
-
-  // bytes newCompactionHash = 4;
-  if (_internal_has_newcompactionhash()) {
-    target = stream->WriteBytesMaybeAliased(
-        4, this->_internal_newcompactionhash(), target);
-  }
-
-  // bytes newCompactionChunk = 5;
-  if (_internal_has_newcompactionchunk()) {
-    target = stream->WriteBytesMaybeAliased(
-        5, this->_internal_newcompactionchunk(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:backup.CreateNewBackupRequest)
-  return target;
-}
-
-size_t CreateNewBackupRequest::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:backup.CreateNewBackupRequest)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  switch (data_case()) {
-    // string userID = 1;
-    case kUserID: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-          this->_internal_userid());
-      break;
-    }
-    // string deviceID = 2;
-    case kDeviceID: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-          this->_internal_deviceid());
-      break;
-    }
-    // bytes keyEntropy = 3;
-    case kKeyEntropy: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
-          this->_internal_keyentropy());
-      break;
-    }
-    // bytes newCompactionHash = 4;
-    case kNewCompactionHash: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
-          this->_internal_newcompactionhash());
-      break;
-    }
-    // bytes newCompactionChunk = 5;
-    case kNewCompactionChunk: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
-          this->_internal_newcompactionchunk());
-      break;
-    }
-    case DATA_NOT_SET: {
-      break;
-    }
-  }
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void CreateNewBackupRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:backup.CreateNewBackupRequest)
-  GOOGLE_DCHECK_NE(&from, this);
-  const CreateNewBackupRequest* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateNewBackupRequest>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:backup.CreateNewBackupRequest)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:backup.CreateNewBackupRequest)
-    MergeFrom(*source);
-  }
-}
-
-void CreateNewBackupRequest::MergeFrom(const CreateNewBackupRequest& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:backup.CreateNewBackupRequest)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  switch (from.data_case()) {
-    case kUserID: {
-      _internal_set_userid(from._internal_userid());
-      break;
-    }
-    case kDeviceID: {
-      _internal_set_deviceid(from._internal_deviceid());
-      break;
-    }
-    case kKeyEntropy: {
-      _internal_set_keyentropy(from._internal_keyentropy());
-      break;
-    }
-    case kNewCompactionHash: {
-      _internal_set_newcompactionhash(from._internal_newcompactionhash());
-      break;
-    }
-    case kNewCompactionChunk: {
-      _internal_set_newcompactionchunk(from._internal_newcompactionchunk());
-      break;
-    }
-    case DATA_NOT_SET: {
-      break;
-    }
-  }
-}
-
-void CreateNewBackupRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:backup.CreateNewBackupRequest)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void CreateNewBackupRequest::CopyFrom(const CreateNewBackupRequest& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:backup.CreateNewBackupRequest)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool CreateNewBackupRequest::IsInitialized() const {
-  return true;
-}
-
-void CreateNewBackupRequest::InternalSwap(CreateNewBackupRequest* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  swap(data_, other->data_);
-  swap(_oneof_case_[0], other->_oneof_case_[0]);
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata CreateNewBackupRequest::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// ===================================================================
-
-class CreateNewBackupResponse::_Internal {
- public:
-};
-
-CreateNewBackupResponse::CreateNewBackupResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:backup.CreateNewBackupResponse)
-}
-CreateNewBackupResponse::CreateNewBackupResponse(const CreateNewBackupResponse& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message() {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  backupid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (!from._internal_backupid().empty()) {
-    backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_backupid(), 
-      GetArena());
-  }
-  // @@protoc_insertion_point(copy_constructor:backup.CreateNewBackupResponse)
-}
-
-void CreateNewBackupResponse::SharedCtor() {
-backupid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-
-CreateNewBackupResponse::~CreateNewBackupResponse() {
-  // @@protoc_insertion_point(destructor:backup.CreateNewBackupResponse)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void CreateNewBackupResponse::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  backupid_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-
-void CreateNewBackupResponse::ArenaDtor(void* object) {
-  CreateNewBackupResponse* _this = reinterpret_cast< CreateNewBackupResponse* >(object);
-  (void)_this;
-}
-void CreateNewBackupResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void CreateNewBackupResponse::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-
-void CreateNewBackupResponse::Clear() {
-// @@protoc_insertion_point(message_clear_start:backup.CreateNewBackupResponse)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  backupid_.ClearToEmpty();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* CreateNewBackupResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // string backupID = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          auto str = _internal_mutable_backupid();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "backup.CreateNewBackupResponse.backupID"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-
-::PROTOBUF_NAMESPACE_ID::uint8* CreateNewBackupResponse::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:backup.CreateNewBackupResponse)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string backupID = 1;
-  if (this->backupid().size() > 0) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_backupid().data(), static_cast<int>(this->_internal_backupid().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "backup.CreateNewBackupResponse.backupID");
-    target = stream->WriteStringMaybeAliased(
-        1, this->_internal_backupid(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:backup.CreateNewBackupResponse)
-  return target;
-}
-
-size_t CreateNewBackupResponse::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:backup.CreateNewBackupResponse)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // string backupID = 1;
-  if (this->backupid().size() > 0) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-        this->_internal_backupid());
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void CreateNewBackupResponse::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:backup.CreateNewBackupResponse)
-  GOOGLE_DCHECK_NE(&from, this);
-  const CreateNewBackupResponse* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CreateNewBackupResponse>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:backup.CreateNewBackupResponse)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:backup.CreateNewBackupResponse)
-    MergeFrom(*source);
-  }
-}
-
-void CreateNewBackupResponse::MergeFrom(const CreateNewBackupResponse& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:backup.CreateNewBackupResponse)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (from.backupid().size() > 0) {
-    _internal_set_backupid(from._internal_backupid());
-  }
-}
-
-void CreateNewBackupResponse::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:backup.CreateNewBackupResponse)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void CreateNewBackupResponse::CopyFrom(const CreateNewBackupResponse& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:backup.CreateNewBackupResponse)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool CreateNewBackupResponse::IsInitialized() const {
-  return true;
-}
-
-void CreateNewBackupResponse::InternalSwap(CreateNewBackupResponse* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  backupid_.Swap(&other->backupid_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata CreateNewBackupResponse::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// ===================================================================
-
-class SendLogRequest::_Internal {
- public:
-};
-
-SendLogRequest::SendLogRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:backup.SendLogRequest)
-}
-SendLogRequest::SendLogRequest(const SendLogRequest& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message() {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  clear_has_data();
-  switch (from.data_case()) {
-    case kUserID: {
-      _internal_set_userid(from._internal_userid());
-      break;
-    }
-    case kBackupID: {
-      _internal_set_backupid(from._internal_backupid());
-      break;
-    }
-    case kLogHash: {
-      _internal_set_loghash(from._internal_loghash());
-      break;
-    }
-    case kLogData: {
-      _internal_set_logdata(from._internal_logdata());
-      break;
-    }
-    case DATA_NOT_SET: {
-      break;
-    }
-  }
-  // @@protoc_insertion_point(copy_constructor:backup.SendLogRequest)
-}
-
-void SendLogRequest::SharedCtor() {
-clear_has_data();
-}
-
-SendLogRequest::~SendLogRequest() {
-  // @@protoc_insertion_point(destructor:backup.SendLogRequest)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void SendLogRequest::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  if (has_data()) {
-    clear_data();
-  }
-}
-
-void SendLogRequest::ArenaDtor(void* object) {
-  SendLogRequest* _this = reinterpret_cast< SendLogRequest* >(object);
-  (void)_this;
-}
-void SendLogRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void SendLogRequest::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-
-void SendLogRequest::clear_data() {
-// @@protoc_insertion_point(one_of_clear_start:backup.SendLogRequest)
-  switch (data_case()) {
-    case kUserID: {
-      data_.userid_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-      break;
-    }
-    case kBackupID: {
-      data_.backupid_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-      break;
-    }
-    case kLogHash: {
-      data_.loghash_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-      break;
-    }
-    case kLogData: {
-      data_.logdata_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-      break;
-    }
-    case DATA_NOT_SET: {
-      break;
-    }
-  }
-  _oneof_case_[0] = DATA_NOT_SET;
-}
-
-
-void SendLogRequest::Clear() {
-// @@protoc_insertion_point(message_clear_start:backup.SendLogRequest)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  clear_data();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* SendLogRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // string userID = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          auto str = _internal_mutable_userid();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "backup.SendLogRequest.userID"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // string backupID = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
-          auto str = _internal_mutable_backupid();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "backup.SendLogRequest.backupID"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bytes logHash = 3;
-      case 3:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
-          auto str = _internal_mutable_loghash();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bytes logData = 4;
-      case 4:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
-          auto str = _internal_mutable_logdata();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-
-::PROTOBUF_NAMESPACE_ID::uint8* SendLogRequest::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:backup.SendLogRequest)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string userID = 1;
-  if (_internal_has_userid()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_userid().data(), static_cast<int>(this->_internal_userid().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "backup.SendLogRequest.userID");
-    target = stream->WriteStringMaybeAliased(
-        1, this->_internal_userid(), target);
-  }
-
-  // string backupID = 2;
-  if (_internal_has_backupid()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_backupid().data(), static_cast<int>(this->_internal_backupid().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "backup.SendLogRequest.backupID");
-    target = stream->WriteStringMaybeAliased(
-        2, this->_internal_backupid(), target);
-  }
-
-  // bytes logHash = 3;
-  if (_internal_has_loghash()) {
-    target = stream->WriteBytesMaybeAliased(
-        3, this->_internal_loghash(), target);
-  }
-
-  // bytes logData = 4;
-  if (_internal_has_logdata()) {
-    target = stream->WriteBytesMaybeAliased(
-        4, this->_internal_logdata(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:backup.SendLogRequest)
-  return target;
-}
-
-size_t SendLogRequest::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:backup.SendLogRequest)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  switch (data_case()) {
-    // string userID = 1;
-    case kUserID: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-          this->_internal_userid());
-      break;
-    }
-    // string backupID = 2;
-    case kBackupID: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-          this->_internal_backupid());
-      break;
-    }
-    // bytes logHash = 3;
-    case kLogHash: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
-          this->_internal_loghash());
-      break;
-    }
-    // bytes logData = 4;
-    case kLogData: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
-          this->_internal_logdata());
-      break;
-    }
-    case DATA_NOT_SET: {
-      break;
-    }
-  }
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void SendLogRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:backup.SendLogRequest)
-  GOOGLE_DCHECK_NE(&from, this);
-  const SendLogRequest* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<SendLogRequest>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:backup.SendLogRequest)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:backup.SendLogRequest)
-    MergeFrom(*source);
-  }
-}
-
-void SendLogRequest::MergeFrom(const SendLogRequest& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:backup.SendLogRequest)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  switch (from.data_case()) {
-    case kUserID: {
-      _internal_set_userid(from._internal_userid());
-      break;
-    }
-    case kBackupID: {
-      _internal_set_backupid(from._internal_backupid());
-      break;
-    }
-    case kLogHash: {
-      _internal_set_loghash(from._internal_loghash());
-      break;
-    }
-    case kLogData: {
-      _internal_set_logdata(from._internal_logdata());
-      break;
-    }
-    case DATA_NOT_SET: {
-      break;
-    }
-  }
-}
-
-void SendLogRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:backup.SendLogRequest)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void SendLogRequest::CopyFrom(const SendLogRequest& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:backup.SendLogRequest)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool SendLogRequest::IsInitialized() const {
-  return true;
-}
-
-void SendLogRequest::InternalSwap(SendLogRequest* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  swap(data_, other->data_);
-  swap(_oneof_case_[0], other->_oneof_case_[0]);
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata SendLogRequest::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// ===================================================================
-
-class SendLogResponse::_Internal {
- public:
-};
-
-SendLogResponse::SendLogResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:backup.SendLogResponse)
-}
-SendLogResponse::SendLogResponse(const SendLogResponse& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message() {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  logcheckpoint_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (!from._internal_logcheckpoint().empty()) {
-    logcheckpoint_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_logcheckpoint(), 
-      GetArena());
-  }
-  // @@protoc_insertion_point(copy_constructor:backup.SendLogResponse)
-}
-
-void SendLogResponse::SharedCtor() {
-logcheckpoint_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-
-SendLogResponse::~SendLogResponse() {
-  // @@protoc_insertion_point(destructor:backup.SendLogResponse)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void SendLogResponse::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  logcheckpoint_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-
-void SendLogResponse::ArenaDtor(void* object) {
-  SendLogResponse* _this = reinterpret_cast< SendLogResponse* >(object);
-  (void)_this;
-}
-void SendLogResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void SendLogResponse::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-
-void SendLogResponse::Clear() {
-// @@protoc_insertion_point(message_clear_start:backup.SendLogResponse)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  logcheckpoint_.ClearToEmpty();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* SendLogResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // string logCheckpoint = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          auto str = _internal_mutable_logcheckpoint();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "backup.SendLogResponse.logCheckpoint"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-
-::PROTOBUF_NAMESPACE_ID::uint8* SendLogResponse::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:backup.SendLogResponse)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string logCheckpoint = 1;
-  if (this->logcheckpoint().size() > 0) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_logcheckpoint().data(), static_cast<int>(this->_internal_logcheckpoint().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "backup.SendLogResponse.logCheckpoint");
-    target = stream->WriteStringMaybeAliased(
-        1, this->_internal_logcheckpoint(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:backup.SendLogResponse)
-  return target;
-}
-
-size_t SendLogResponse::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:backup.SendLogResponse)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // string logCheckpoint = 1;
-  if (this->logcheckpoint().size() > 0) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-        this->_internal_logcheckpoint());
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void SendLogResponse::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:backup.SendLogResponse)
-  GOOGLE_DCHECK_NE(&from, this);
-  const SendLogResponse* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<SendLogResponse>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:backup.SendLogResponse)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:backup.SendLogResponse)
-    MergeFrom(*source);
-  }
-}
-
-void SendLogResponse::MergeFrom(const SendLogResponse& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:backup.SendLogResponse)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (from.logcheckpoint().size() > 0) {
-    _internal_set_logcheckpoint(from._internal_logcheckpoint());
-  }
-}
-
-void SendLogResponse::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:backup.SendLogResponse)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void SendLogResponse::CopyFrom(const SendLogResponse& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:backup.SendLogResponse)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool SendLogResponse::IsInitialized() const {
-  return true;
-}
-
-void SendLogResponse::InternalSwap(SendLogResponse* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  logcheckpoint_.Swap(&other->logcheckpoint_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata SendLogResponse::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// ===================================================================
-
-class RecoverBackupKeyRequest::_Internal {
- public:
-};
-
-RecoverBackupKeyRequest::RecoverBackupKeyRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:backup.RecoverBackupKeyRequest)
-}
-RecoverBackupKeyRequest::RecoverBackupKeyRequest(const RecoverBackupKeyRequest& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message() {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  userid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (!from._internal_userid().empty()) {
-    userid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_userid(), 
-      GetArena());
-  }
-  // @@protoc_insertion_point(copy_constructor:backup.RecoverBackupKeyRequest)
-}
-
-void RecoverBackupKeyRequest::SharedCtor() {
-userid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-
-RecoverBackupKeyRequest::~RecoverBackupKeyRequest() {
-  // @@protoc_insertion_point(destructor:backup.RecoverBackupKeyRequest)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void RecoverBackupKeyRequest::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  userid_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-
-void RecoverBackupKeyRequest::ArenaDtor(void* object) {
-  RecoverBackupKeyRequest* _this = reinterpret_cast< RecoverBackupKeyRequest* >(object);
-  (void)_this;
-}
-void RecoverBackupKeyRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void RecoverBackupKeyRequest::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-
-void RecoverBackupKeyRequest::Clear() {
-// @@protoc_insertion_point(message_clear_start:backup.RecoverBackupKeyRequest)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  userid_.ClearToEmpty();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* RecoverBackupKeyRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // string userID = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          auto str = _internal_mutable_userid();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "backup.RecoverBackupKeyRequest.userID"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-
-::PROTOBUF_NAMESPACE_ID::uint8* RecoverBackupKeyRequest::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:backup.RecoverBackupKeyRequest)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string userID = 1;
-  if (this->userid().size() > 0) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_userid().data(), static_cast<int>(this->_internal_userid().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "backup.RecoverBackupKeyRequest.userID");
-    target = stream->WriteStringMaybeAliased(
-        1, this->_internal_userid(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:backup.RecoverBackupKeyRequest)
-  return target;
-}
-
-size_t RecoverBackupKeyRequest::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:backup.RecoverBackupKeyRequest)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // string userID = 1;
-  if (this->userid().size() > 0) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-        this->_internal_userid());
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void RecoverBackupKeyRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:backup.RecoverBackupKeyRequest)
-  GOOGLE_DCHECK_NE(&from, this);
-  const RecoverBackupKeyRequest* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RecoverBackupKeyRequest>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:backup.RecoverBackupKeyRequest)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:backup.RecoverBackupKeyRequest)
-    MergeFrom(*source);
-  }
-}
-
-void RecoverBackupKeyRequest::MergeFrom(const RecoverBackupKeyRequest& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:backup.RecoverBackupKeyRequest)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (from.userid().size() > 0) {
-    _internal_set_userid(from._internal_userid());
-  }
-}
-
-void RecoverBackupKeyRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:backup.RecoverBackupKeyRequest)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void RecoverBackupKeyRequest::CopyFrom(const RecoverBackupKeyRequest& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:backup.RecoverBackupKeyRequest)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool RecoverBackupKeyRequest::IsInitialized() const {
-  return true;
-}
-
-void RecoverBackupKeyRequest::InternalSwap(RecoverBackupKeyRequest* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  userid_.Swap(&other->userid_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata RecoverBackupKeyRequest::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// ===================================================================
-
-class RecoverBackupKeyResponse::_Internal {
- public:
-};
-
-RecoverBackupKeyResponse::RecoverBackupKeyResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:backup.RecoverBackupKeyResponse)
-}
-RecoverBackupKeyResponse::RecoverBackupKeyResponse(const RecoverBackupKeyResponse& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message() {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  backupid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (!from._internal_backupid().empty()) {
-    backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_backupid(), 
-      GetArena());
-  }
-  // @@protoc_insertion_point(copy_constructor:backup.RecoverBackupKeyResponse)
-}
-
-void RecoverBackupKeyResponse::SharedCtor() {
-backupid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-
-RecoverBackupKeyResponse::~RecoverBackupKeyResponse() {
-  // @@protoc_insertion_point(destructor:backup.RecoverBackupKeyResponse)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void RecoverBackupKeyResponse::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  backupid_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-
-void RecoverBackupKeyResponse::ArenaDtor(void* object) {
-  RecoverBackupKeyResponse* _this = reinterpret_cast< RecoverBackupKeyResponse* >(object);
-  (void)_this;
-}
-void RecoverBackupKeyResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void RecoverBackupKeyResponse::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-
-void RecoverBackupKeyResponse::Clear() {
-// @@protoc_insertion_point(message_clear_start:backup.RecoverBackupKeyResponse)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  backupid_.ClearToEmpty();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* RecoverBackupKeyResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // string backupID = 4;
-      case 4:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
-          auto str = _internal_mutable_backupid();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "backup.RecoverBackupKeyResponse.backupID"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-
-::PROTOBUF_NAMESPACE_ID::uint8* RecoverBackupKeyResponse::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:backup.RecoverBackupKeyResponse)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string backupID = 4;
-  if (this->backupid().size() > 0) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_backupid().data(), static_cast<int>(this->_internal_backupid().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "backup.RecoverBackupKeyResponse.backupID");
-    target = stream->WriteStringMaybeAliased(
-        4, this->_internal_backupid(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:backup.RecoverBackupKeyResponse)
-  return target;
-}
-
-size_t RecoverBackupKeyResponse::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:backup.RecoverBackupKeyResponse)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // string backupID = 4;
-  if (this->backupid().size() > 0) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-        this->_internal_backupid());
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void RecoverBackupKeyResponse::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:backup.RecoverBackupKeyResponse)
-  GOOGLE_DCHECK_NE(&from, this);
-  const RecoverBackupKeyResponse* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RecoverBackupKeyResponse>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:backup.RecoverBackupKeyResponse)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:backup.RecoverBackupKeyResponse)
-    MergeFrom(*source);
-  }
-}
-
-void RecoverBackupKeyResponse::MergeFrom(const RecoverBackupKeyResponse& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:backup.RecoverBackupKeyResponse)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (from.backupid().size() > 0) {
-    _internal_set_backupid(from._internal_backupid());
-  }
-}
-
-void RecoverBackupKeyResponse::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:backup.RecoverBackupKeyResponse)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void RecoverBackupKeyResponse::CopyFrom(const RecoverBackupKeyResponse& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:backup.RecoverBackupKeyResponse)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool RecoverBackupKeyResponse::IsInitialized() const {
-  return true;
-}
-
-void RecoverBackupKeyResponse::InternalSwap(RecoverBackupKeyResponse* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  backupid_.Swap(&other->backupid_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata RecoverBackupKeyResponse::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// ===================================================================
-
-class PullBackupRequest::_Internal {
- public:
-};
-
-PullBackupRequest::PullBackupRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:backup.PullBackupRequest)
-}
-PullBackupRequest::PullBackupRequest(const PullBackupRequest& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message() {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  userid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (!from._internal_userid().empty()) {
-    userid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_userid(), 
-      GetArena());
-  }
-  backupid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (!from._internal_backupid().empty()) {
-    backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_backupid(), 
-      GetArena());
-  }
-  // @@protoc_insertion_point(copy_constructor:backup.PullBackupRequest)
-}
-
-void PullBackupRequest::SharedCtor() {
-userid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-backupid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-
-PullBackupRequest::~PullBackupRequest() {
-  // @@protoc_insertion_point(destructor:backup.PullBackupRequest)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void PullBackupRequest::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  userid_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  backupid_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-
-void PullBackupRequest::ArenaDtor(void* object) {
-  PullBackupRequest* _this = reinterpret_cast< PullBackupRequest* >(object);
-  (void)_this;
-}
-void PullBackupRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void PullBackupRequest::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-
-void PullBackupRequest::Clear() {
-// @@protoc_insertion_point(message_clear_start:backup.PullBackupRequest)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  userid_.ClearToEmpty();
-  backupid_.ClearToEmpty();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* PullBackupRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // string userID = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          auto str = _internal_mutable_userid();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "backup.PullBackupRequest.userID"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // string backupID = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
-          auto str = _internal_mutable_backupid();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "backup.PullBackupRequest.backupID"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-
-::PROTOBUF_NAMESPACE_ID::uint8* PullBackupRequest::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:backup.PullBackupRequest)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string userID = 1;
-  if (this->userid().size() > 0) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_userid().data(), static_cast<int>(this->_internal_userid().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "backup.PullBackupRequest.userID");
-    target = stream->WriteStringMaybeAliased(
-        1, this->_internal_userid(), target);
-  }
-
-  // string backupID = 2;
-  if (this->backupid().size() > 0) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_backupid().data(), static_cast<int>(this->_internal_backupid().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "backup.PullBackupRequest.backupID");
-    target = stream->WriteStringMaybeAliased(
-        2, this->_internal_backupid(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:backup.PullBackupRequest)
-  return target;
-}
-
-size_t PullBackupRequest::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:backup.PullBackupRequest)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // string userID = 1;
-  if (this->userid().size() > 0) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-        this->_internal_userid());
-  }
-
-  // string backupID = 2;
-  if (this->backupid().size() > 0) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-        this->_internal_backupid());
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void PullBackupRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:backup.PullBackupRequest)
-  GOOGLE_DCHECK_NE(&from, this);
-  const PullBackupRequest* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<PullBackupRequest>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:backup.PullBackupRequest)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:backup.PullBackupRequest)
-    MergeFrom(*source);
-  }
-}
-
-void PullBackupRequest::MergeFrom(const PullBackupRequest& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:backup.PullBackupRequest)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (from.userid().size() > 0) {
-    _internal_set_userid(from._internal_userid());
-  }
-  if (from.backupid().size() > 0) {
-    _internal_set_backupid(from._internal_backupid());
-  }
-}
-
-void PullBackupRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:backup.PullBackupRequest)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void PullBackupRequest::CopyFrom(const PullBackupRequest& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:backup.PullBackupRequest)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool PullBackupRequest::IsInitialized() const {
-  return true;
-}
-
-void PullBackupRequest::InternalSwap(PullBackupRequest* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  userid_.Swap(&other->userid_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  backupid_.Swap(&other->backupid_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata PullBackupRequest::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// ===================================================================
-
-class PullBackupResponse::_Internal {
- public:
-  using HasBits = decltype(std::declval<PullBackupResponse>()._has_bits_);
-  static void set_has_attachmentholders(HasBits* has_bits) {
-    (*has_bits)[0] |= 1u;
-  }
-};
-
-PullBackupResponse::PullBackupResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:backup.PullBackupResponse)
-}
-PullBackupResponse::PullBackupResponse(const PullBackupResponse& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message(),
-      _has_bits_(from._has_bits_) {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  attachmentholders_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (from._internal_has_attachmentholders()) {
-    attachmentholders_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_attachmentholders(), 
-      GetArena());
-  }
-  clear_has_id();
-  switch (from.id_case()) {
-    case kBackupID: {
-      _internal_set_backupid(from._internal_backupid());
-      break;
-    }
-    case kLogID: {
-      _internal_set_logid(from._internal_logid());
-      break;
-    }
-    case ID_NOT_SET: {
-      break;
-    }
-  }
-  clear_has_data();
-  switch (from.data_case()) {
-    case kCompactionChunk: {
-      _internal_set_compactionchunk(from._internal_compactionchunk());
-      break;
-    }
-    case kLogChunk: {
-      _internal_set_logchunk(from._internal_logchunk());
-      break;
-    }
-    case DATA_NOT_SET: {
-      break;
-    }
-  }
-  // @@protoc_insertion_point(copy_constructor:backup.PullBackupResponse)
-}
-
-void PullBackupResponse::SharedCtor() {
-attachmentholders_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-clear_has_id();
-clear_has_data();
-}
-
-PullBackupResponse::~PullBackupResponse() {
-  // @@protoc_insertion_point(destructor:backup.PullBackupResponse)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void PullBackupResponse::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  attachmentholders_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (has_id()) {
-    clear_id();
-  }
-  if (has_data()) {
-    clear_data();
-  }
-}
-
-void PullBackupResponse::ArenaDtor(void* object) {
-  PullBackupResponse* _this = reinterpret_cast< PullBackupResponse* >(object);
-  (void)_this;
-}
-void PullBackupResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void PullBackupResponse::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-
-void PullBackupResponse::clear_id() {
-// @@protoc_insertion_point(one_of_clear_start:backup.PullBackupResponse)
-  switch (id_case()) {
-    case kBackupID: {
-      id_.backupid_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-      break;
-    }
-    case kLogID: {
-      id_.logid_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-      break;
-    }
-    case ID_NOT_SET: {
-      break;
-    }
-  }
-  _oneof_case_[0] = ID_NOT_SET;
-}
-
-void PullBackupResponse::clear_data() {
-// @@protoc_insertion_point(one_of_clear_start:backup.PullBackupResponse)
-  switch (data_case()) {
-    case kCompactionChunk: {
-      data_.compactionchunk_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-      break;
-    }
-    case kLogChunk: {
-      data_.logchunk_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-      break;
-    }
-    case DATA_NOT_SET: {
-      break;
-    }
-  }
-  _oneof_case_[1] = DATA_NOT_SET;
-}
-
-
-void PullBackupResponse::Clear() {
-// @@protoc_insertion_point(message_clear_start:backup.PullBackupResponse)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000001u) {
-    attachmentholders_.ClearNonDefaultToEmpty();
-  }
-  clear_id();
-  clear_data();
-  _has_bits_.Clear();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* PullBackupResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  _Internal::HasBits has_bits{};
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // string backupID = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          auto str = _internal_mutable_backupid();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "backup.PullBackupResponse.backupID"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // string logID = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
-          auto str = _internal_mutable_logid();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "backup.PullBackupResponse.logID"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bytes compactionChunk = 3;
-      case 3:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
-          auto str = _internal_mutable_compactionchunk();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bytes logChunk = 4;
-      case 4:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
-          auto str = _internal_mutable_logchunk();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // string attachmentHolders = 5;
-      case 5:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
-          auto str = _internal_mutable_attachmentholders();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "backup.PullBackupResponse.attachmentHolders"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  _has_bits_.Or(has_bits);
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-
-::PROTOBUF_NAMESPACE_ID::uint8* PullBackupResponse::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:backup.PullBackupResponse)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string backupID = 1;
-  if (_internal_has_backupid()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_backupid().data(), static_cast<int>(this->_internal_backupid().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "backup.PullBackupResponse.backupID");
-    target = stream->WriteStringMaybeAliased(
-        1, this->_internal_backupid(), target);
-  }
-
-  // string logID = 2;
-  if (_internal_has_logid()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_logid().data(), static_cast<int>(this->_internal_logid().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "backup.PullBackupResponse.logID");
-    target = stream->WriteStringMaybeAliased(
-        2, this->_internal_logid(), target);
-  }
-
-  // bytes compactionChunk = 3;
-  if (_internal_has_compactionchunk()) {
-    target = stream->WriteBytesMaybeAliased(
-        3, this->_internal_compactionchunk(), target);
-  }
-
-  // bytes logChunk = 4;
-  if (_internal_has_logchunk()) {
-    target = stream->WriteBytesMaybeAliased(
-        4, this->_internal_logchunk(), target);
-  }
-
-  // string attachmentHolders = 5;
-  if (_internal_has_attachmentholders()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_attachmentholders().data(), static_cast<int>(this->_internal_attachmentholders().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "backup.PullBackupResponse.attachmentHolders");
-    target = stream->WriteStringMaybeAliased(
-        5, this->_internal_attachmentholders(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:backup.PullBackupResponse)
-  return target;
-}
-
-size_t PullBackupResponse::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:backup.PullBackupResponse)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // string attachmentHolders = 5;
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000001u) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-        this->_internal_attachmentholders());
-  }
-
-  switch (id_case()) {
-    // string backupID = 1;
-    case kBackupID: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-          this->_internal_backupid());
-      break;
-    }
-    // string logID = 2;
-    case kLogID: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-          this->_internal_logid());
-      break;
-    }
-    case ID_NOT_SET: {
-      break;
-    }
-  }
-  switch (data_case()) {
-    // bytes compactionChunk = 3;
-    case kCompactionChunk: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
-          this->_internal_compactionchunk());
-      break;
-    }
-    // bytes logChunk = 4;
-    case kLogChunk: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
-          this->_internal_logchunk());
-      break;
-    }
-    case DATA_NOT_SET: {
-      break;
-    }
-  }
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void PullBackupResponse::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:backup.PullBackupResponse)
-  GOOGLE_DCHECK_NE(&from, this);
-  const PullBackupResponse* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<PullBackupResponse>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:backup.PullBackupResponse)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:backup.PullBackupResponse)
-    MergeFrom(*source);
-  }
-}
-
-void PullBackupResponse::MergeFrom(const PullBackupResponse& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:backup.PullBackupResponse)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (from._internal_has_attachmentholders()) {
-    _internal_set_attachmentholders(from._internal_attachmentholders());
-  }
-  switch (from.id_case()) {
-    case kBackupID: {
-      _internal_set_backupid(from._internal_backupid());
-      break;
-    }
-    case kLogID: {
-      _internal_set_logid(from._internal_logid());
-      break;
-    }
-    case ID_NOT_SET: {
-      break;
-    }
-  }
-  switch (from.data_case()) {
-    case kCompactionChunk: {
-      _internal_set_compactionchunk(from._internal_compactionchunk());
-      break;
-    }
-    case kLogChunk: {
-      _internal_set_logchunk(from._internal_logchunk());
-      break;
-    }
-    case DATA_NOT_SET: {
-      break;
-    }
-  }
-}
-
-void PullBackupResponse::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:backup.PullBackupResponse)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void PullBackupResponse::CopyFrom(const PullBackupResponse& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:backup.PullBackupResponse)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool PullBackupResponse::IsInitialized() const {
-  return true;
-}
-
-void PullBackupResponse::InternalSwap(PullBackupResponse* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  attachmentholders_.Swap(&other->attachmentholders_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  swap(id_, other->id_);
-  swap(data_, other->data_);
-  swap(_oneof_case_[0], other->_oneof_case_[0]);
-  swap(_oneof_case_[1], other->_oneof_case_[1]);
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata PullBackupResponse::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// ===================================================================
-
-class AddAttachmentsRequest::_Internal {
- public:
-};
-
-AddAttachmentsRequest::AddAttachmentsRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:backup.AddAttachmentsRequest)
-}
-AddAttachmentsRequest::AddAttachmentsRequest(const AddAttachmentsRequest& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message() {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  userid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (!from._internal_userid().empty()) {
-    userid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_userid(), 
-      GetArena());
-  }
-  backupid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (!from._internal_backupid().empty()) {
-    backupid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_backupid(), 
-      GetArena());
-  }
-  logid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (!from._internal_logid().empty()) {
-    logid_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_logid(), 
-      GetArena());
-  }
-  holders_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (!from._internal_holders().empty()) {
-    holders_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_holders(), 
-      GetArena());
-  }
-  // @@protoc_insertion_point(copy_constructor:backup.AddAttachmentsRequest)
-}
-
-void AddAttachmentsRequest::SharedCtor() {
-userid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-backupid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-logid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-holders_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-
-AddAttachmentsRequest::~AddAttachmentsRequest() {
-  // @@protoc_insertion_point(destructor:backup.AddAttachmentsRequest)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void AddAttachmentsRequest::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  userid_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  backupid_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  logid_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  holders_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-
-void AddAttachmentsRequest::ArenaDtor(void* object) {
-  AddAttachmentsRequest* _this = reinterpret_cast< AddAttachmentsRequest* >(object);
-  (void)_this;
-}
-void AddAttachmentsRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void AddAttachmentsRequest::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-
-void AddAttachmentsRequest::Clear() {
-// @@protoc_insertion_point(message_clear_start:backup.AddAttachmentsRequest)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  userid_.ClearToEmpty();
-  backupid_.ClearToEmpty();
-  logid_.ClearToEmpty();
-  holders_.ClearToEmpty();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* AddAttachmentsRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // string userID = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          auto str = _internal_mutable_userid();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "backup.AddAttachmentsRequest.userID"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // string backupID = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
-          auto str = _internal_mutable_backupid();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "backup.AddAttachmentsRequest.backupID"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // string logID = 3;
-      case 3:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
-          auto str = _internal_mutable_logid();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "backup.AddAttachmentsRequest.logID"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // string holders = 4;
-      case 4:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
-          auto str = _internal_mutable_holders();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "backup.AddAttachmentsRequest.holders"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-
-::PROTOBUF_NAMESPACE_ID::uint8* AddAttachmentsRequest::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:backup.AddAttachmentsRequest)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string userID = 1;
-  if (this->userid().size() > 0) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_userid().data(), static_cast<int>(this->_internal_userid().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "backup.AddAttachmentsRequest.userID");
-    target = stream->WriteStringMaybeAliased(
-        1, this->_internal_userid(), target);
-  }
-
-  // string backupID = 2;
-  if (this->backupid().size() > 0) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_backupid().data(), static_cast<int>(this->_internal_backupid().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "backup.AddAttachmentsRequest.backupID");
-    target = stream->WriteStringMaybeAliased(
-        2, this->_internal_backupid(), target);
-  }
-
-  // string logID = 3;
-  if (this->logid().size() > 0) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_logid().data(), static_cast<int>(this->_internal_logid().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "backup.AddAttachmentsRequest.logID");
-    target = stream->WriteStringMaybeAliased(
-        3, this->_internal_logid(), target);
-  }
-
-  // string holders = 4;
-  if (this->holders().size() > 0) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_holders().data(), static_cast<int>(this->_internal_holders().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "backup.AddAttachmentsRequest.holders");
-    target = stream->WriteStringMaybeAliased(
-        4, this->_internal_holders(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:backup.AddAttachmentsRequest)
-  return target;
-}
-
-size_t AddAttachmentsRequest::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:backup.AddAttachmentsRequest)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // string userID = 1;
-  if (this->userid().size() > 0) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-        this->_internal_userid());
-  }
-
-  // string backupID = 2;
-  if (this->backupid().size() > 0) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-        this->_internal_backupid());
-  }
-
-  // string logID = 3;
-  if (this->logid().size() > 0) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-        this->_internal_logid());
-  }
-
-  // string holders = 4;
-  if (this->holders().size() > 0) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-        this->_internal_holders());
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void AddAttachmentsRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:backup.AddAttachmentsRequest)
-  GOOGLE_DCHECK_NE(&from, this);
-  const AddAttachmentsRequest* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AddAttachmentsRequest>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:backup.AddAttachmentsRequest)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:backup.AddAttachmentsRequest)
-    MergeFrom(*source);
-  }
-}
-
-void AddAttachmentsRequest::MergeFrom(const AddAttachmentsRequest& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:backup.AddAttachmentsRequest)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (from.userid().size() > 0) {
-    _internal_set_userid(from._internal_userid());
-  }
-  if (from.backupid().size() > 0) {
-    _internal_set_backupid(from._internal_backupid());
-  }
-  if (from.logid().size() > 0) {
-    _internal_set_logid(from._internal_logid());
-  }
-  if (from.holders().size() > 0) {
-    _internal_set_holders(from._internal_holders());
-  }
-}
-
-void AddAttachmentsRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:backup.AddAttachmentsRequest)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void AddAttachmentsRequest::CopyFrom(const AddAttachmentsRequest& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:backup.AddAttachmentsRequest)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool AddAttachmentsRequest::IsInitialized() const {
-  return true;
-}
-
-void AddAttachmentsRequest::InternalSwap(AddAttachmentsRequest* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  userid_.Swap(&other->userid_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  backupid_.Swap(&other->backupid_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  logid_.Swap(&other->logid_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  holders_.Swap(&other->holders_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata AddAttachmentsRequest::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// @@protoc_insertion_point(namespace_scope)
-}  // namespace backup
-PROTOBUF_NAMESPACE_OPEN
-template<> PROTOBUF_NOINLINE ::backup::CreateNewBackupRequest* Arena::CreateMaybeMessage< ::backup::CreateNewBackupRequest >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::backup::CreateNewBackupRequest >(arena);
-}
-template<> PROTOBUF_NOINLINE ::backup::CreateNewBackupResponse* Arena::CreateMaybeMessage< ::backup::CreateNewBackupResponse >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::backup::CreateNewBackupResponse >(arena);
-}
-template<> PROTOBUF_NOINLINE ::backup::SendLogRequest* Arena::CreateMaybeMessage< ::backup::SendLogRequest >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::backup::SendLogRequest >(arena);
-}
-template<> PROTOBUF_NOINLINE ::backup::SendLogResponse* Arena::CreateMaybeMessage< ::backup::SendLogResponse >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::backup::SendLogResponse >(arena);
-}
-template<> PROTOBUF_NOINLINE ::backup::RecoverBackupKeyRequest* Arena::CreateMaybeMessage< ::backup::RecoverBackupKeyRequest >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::backup::RecoverBackupKeyRequest >(arena);
-}
-template<> PROTOBUF_NOINLINE ::backup::RecoverBackupKeyResponse* Arena::CreateMaybeMessage< ::backup::RecoverBackupKeyResponse >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::backup::RecoverBackupKeyResponse >(arena);
-}
-template<> PROTOBUF_NOINLINE ::backup::PullBackupRequest* Arena::CreateMaybeMessage< ::backup::PullBackupRequest >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::backup::PullBackupRequest >(arena);
-}
-template<> PROTOBUF_NOINLINE ::backup::PullBackupResponse* Arena::CreateMaybeMessage< ::backup::PullBackupResponse >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::backup::PullBackupResponse >(arena);
-}
-template<> PROTOBUF_NOINLINE ::backup::AddAttachmentsRequest* Arena::CreateMaybeMessage< ::backup::AddAttachmentsRequest >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::backup::AddAttachmentsRequest >(arena);
-}
-PROTOBUF_NAMESPACE_CLOSE
-
-// @@protoc_insertion_point(global_scope)
-#include <google/protobuf/port_undef.inc>
diff --git a/shared/protos/_generated/blob.grpc.pb.h b/shared/protos/_generated/blob.grpc.pb.h
deleted file mode 100644
--- a/shared/protos/_generated/blob.grpc.pb.h
+++ /dev/null
@@ -1,527 +0,0 @@
-// @generated by the gRPC C++ plugin.
-// If you make any local change, they will be lost.
-// source: blob.proto
-#ifndef GRPC_blob_2eproto__INCLUDED
-#define GRPC_blob_2eproto__INCLUDED
-
-#include "blob.pb.h"
-
-#include <functional>
-#include <grpcpp/impl/codegen/async_generic_service.h>
-#include <grpcpp/impl/codegen/async_stream.h>
-#include <grpcpp/impl/codegen/async_unary_call.h>
-#include <grpcpp/impl/codegen/client_callback.h>
-#include <grpcpp/impl/codegen/client_context.h>
-#include <grpcpp/impl/codegen/completion_queue.h>
-#include <grpcpp/impl/codegen/message_allocator.h>
-#include <grpcpp/impl/codegen/method_handler.h>
-#include <grpcpp/impl/codegen/proto_utils.h>
-#include <grpcpp/impl/codegen/rpc_method.h>
-#include <grpcpp/impl/codegen/server_callback.h>
-#include <grpcpp/impl/codegen/server_callback_handlers.h>
-#include <grpcpp/impl/codegen/server_context.h>
-#include <grpcpp/impl/codegen/service_type.h>
-#include <grpcpp/impl/codegen/status.h>
-#include <grpcpp/impl/codegen/stub_options.h>
-#include <grpcpp/impl/codegen/sync_stream.h>
-
-namespace blob {
-
-class BlobService final {
- public:
-  static constexpr char const* service_full_name() {
-    return "blob.BlobService";
-  }
-  class StubInterface {
-   public:
-    virtual ~StubInterface() {}
-    std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::blob::PutRequest, ::blob::PutResponse>> Put(::grpc::ClientContext* context) {
-      return std::unique_ptr< ::grpc::ClientReaderWriterInterface< ::blob::PutRequest, ::blob::PutResponse>>(PutRaw(context));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::blob::PutRequest, ::blob::PutResponse>> AsyncPut(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) {
-      return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::blob::PutRequest, ::blob::PutResponse>>(AsyncPutRaw(context, cq, tag));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::blob::PutRequest, ::blob::PutResponse>> PrepareAsyncPut(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncReaderWriterInterface< ::blob::PutRequest, ::blob::PutResponse>>(PrepareAsyncPutRaw(context, cq));
-    }
-    std::unique_ptr< ::grpc::ClientReaderInterface< ::blob::GetResponse>> Get(::grpc::ClientContext* context, const ::blob::GetRequest& request) {
-      return std::unique_ptr< ::grpc::ClientReaderInterface< ::blob::GetResponse>>(GetRaw(context, request));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::blob::GetResponse>> AsyncGet(::grpc::ClientContext* context, const ::blob::GetRequest& request, ::grpc::CompletionQueue* cq, void* tag) {
-      return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::blob::GetResponse>>(AsyncGetRaw(context, request, cq, tag));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::blob::GetResponse>> PrepareAsyncGet(::grpc::ClientContext* context, const ::blob::GetRequest& request, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::blob::GetResponse>>(PrepareAsyncGetRaw(context, request, cq));
-    }
-    virtual ::grpc::Status Remove(::grpc::ClientContext* context, const ::blob::RemoveRequest& request, ::google::protobuf::Empty* response) = 0;
-    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> AsyncRemove(::grpc::ClientContext* context, const ::blob::RemoveRequest& request, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(AsyncRemoveRaw(context, request, cq));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>> PrepareAsyncRemove(::grpc::ClientContext* context, const ::blob::RemoveRequest& request, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>>(PrepareAsyncRemoveRaw(context, request, cq));
-    }
-    class async_interface {
-     public:
-      virtual ~async_interface() {}
-      virtual void Put(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::blob::PutRequest,::blob::PutResponse>* reactor) = 0;
-      virtual void Get(::grpc::ClientContext* context, const ::blob::GetRequest* request, ::grpc::ClientReadReactor< ::blob::GetResponse>* reactor) = 0;
-      virtual void Remove(::grpc::ClientContext* context, const ::blob::RemoveRequest* request, ::google::protobuf::Empty* response, std::function<void(::grpc::Status)>) = 0;
-      virtual void Remove(::grpc::ClientContext* context, const ::blob::RemoveRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) = 0;
-    };
-    typedef class async_interface experimental_async_interface;
-    virtual class async_interface* async() { return nullptr; }
-    class async_interface* experimental_async() { return async(); }
-   private:
-    virtual ::grpc::ClientReaderWriterInterface< ::blob::PutRequest, ::blob::PutResponse>* PutRaw(::grpc::ClientContext* context) = 0;
-    virtual ::grpc::ClientAsyncReaderWriterInterface< ::blob::PutRequest, ::blob::PutResponse>* AsyncPutRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) = 0;
-    virtual ::grpc::ClientAsyncReaderWriterInterface< ::blob::PutRequest, ::blob::PutResponse>* PrepareAsyncPutRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) = 0;
-    virtual ::grpc::ClientReaderInterface< ::blob::GetResponse>* GetRaw(::grpc::ClientContext* context, const ::blob::GetRequest& request) = 0;
-    virtual ::grpc::ClientAsyncReaderInterface< ::blob::GetResponse>* AsyncGetRaw(::grpc::ClientContext* context, const ::blob::GetRequest& request, ::grpc::CompletionQueue* cq, void* tag) = 0;
-    virtual ::grpc::ClientAsyncReaderInterface< ::blob::GetResponse>* PrepareAsyncGetRaw(::grpc::ClientContext* context, const ::blob::GetRequest& request, ::grpc::CompletionQueue* cq) = 0;
-    virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* AsyncRemoveRaw(::grpc::ClientContext* context, const ::blob::RemoveRequest& request, ::grpc::CompletionQueue* cq) = 0;
-    virtual ::grpc::ClientAsyncResponseReaderInterface< ::google::protobuf::Empty>* PrepareAsyncRemoveRaw(::grpc::ClientContext* context, const ::blob::RemoveRequest& request, ::grpc::CompletionQueue* cq) = 0;
-  };
-  class Stub final : public StubInterface {
-   public:
-    Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions());
-    std::unique_ptr< ::grpc::ClientReaderWriter< ::blob::PutRequest, ::blob::PutResponse>> Put(::grpc::ClientContext* context) {
-      return std::unique_ptr< ::grpc::ClientReaderWriter< ::blob::PutRequest, ::blob::PutResponse>>(PutRaw(context));
-    }
-    std::unique_ptr<  ::grpc::ClientAsyncReaderWriter< ::blob::PutRequest, ::blob::PutResponse>> AsyncPut(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) {
-      return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::blob::PutRequest, ::blob::PutResponse>>(AsyncPutRaw(context, cq, tag));
-    }
-    std::unique_ptr<  ::grpc::ClientAsyncReaderWriter< ::blob::PutRequest, ::blob::PutResponse>> PrepareAsyncPut(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncReaderWriter< ::blob::PutRequest, ::blob::PutResponse>>(PrepareAsyncPutRaw(context, cq));
-    }
-    std::unique_ptr< ::grpc::ClientReader< ::blob::GetResponse>> Get(::grpc::ClientContext* context, const ::blob::GetRequest& request) {
-      return std::unique_ptr< ::grpc::ClientReader< ::blob::GetResponse>>(GetRaw(context, request));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncReader< ::blob::GetResponse>> AsyncGet(::grpc::ClientContext* context, const ::blob::GetRequest& request, ::grpc::CompletionQueue* cq, void* tag) {
-      return std::unique_ptr< ::grpc::ClientAsyncReader< ::blob::GetResponse>>(AsyncGetRaw(context, request, cq, tag));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncReader< ::blob::GetResponse>> PrepareAsyncGet(::grpc::ClientContext* context, const ::blob::GetRequest& request, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncReader< ::blob::GetResponse>>(PrepareAsyncGetRaw(context, request, cq));
-    }
-    ::grpc::Status Remove(::grpc::ClientContext* context, const ::blob::RemoveRequest& request, ::google::protobuf::Empty* response) override;
-    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> AsyncRemove(::grpc::ClientContext* context, const ::blob::RemoveRequest& request, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(AsyncRemoveRaw(context, request, cq));
-    }
-    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>> PrepareAsyncRemove(::grpc::ClientContext* context, const ::blob::RemoveRequest& request, ::grpc::CompletionQueue* cq) {
-      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>>(PrepareAsyncRemoveRaw(context, request, cq));
-    }
-    class async final :
-      public StubInterface::async_interface {
-     public:
-      void Put(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::blob::PutRequest,::blob::PutResponse>* reactor) override;
-      void Get(::grpc::ClientContext* context, const ::blob::GetRequest* request, ::grpc::ClientReadReactor< ::blob::GetResponse>* reactor) override;
-      void Remove(::grpc::ClientContext* context, const ::blob::RemoveRequest* request, ::google::protobuf::Empty* response, std::function<void(::grpc::Status)>) override;
-      void Remove(::grpc::ClientContext* context, const ::blob::RemoveRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) override;
-     private:
-      friend class Stub;
-      explicit async(Stub* stub): stub_(stub) { }
-      Stub* stub() { return stub_; }
-      Stub* stub_;
-    };
-    class async* async() override { return &async_stub_; }
-
-   private:
-    std::shared_ptr< ::grpc::ChannelInterface> channel_;
-    class async async_stub_{this};
-    ::grpc::ClientReaderWriter< ::blob::PutRequest, ::blob::PutResponse>* PutRaw(::grpc::ClientContext* context) override;
-    ::grpc::ClientAsyncReaderWriter< ::blob::PutRequest, ::blob::PutResponse>* AsyncPutRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) override;
-    ::grpc::ClientAsyncReaderWriter< ::blob::PutRequest, ::blob::PutResponse>* PrepareAsyncPutRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) override;
-    ::grpc::ClientReader< ::blob::GetResponse>* GetRaw(::grpc::ClientContext* context, const ::blob::GetRequest& request) override;
-    ::grpc::ClientAsyncReader< ::blob::GetResponse>* AsyncGetRaw(::grpc::ClientContext* context, const ::blob::GetRequest& request, ::grpc::CompletionQueue* cq, void* tag) override;
-    ::grpc::ClientAsyncReader< ::blob::GetResponse>* PrepareAsyncGetRaw(::grpc::ClientContext* context, const ::blob::GetRequest& request, ::grpc::CompletionQueue* cq) override;
-    ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* AsyncRemoveRaw(::grpc::ClientContext* context, const ::blob::RemoveRequest& request, ::grpc::CompletionQueue* cq) override;
-    ::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* PrepareAsyncRemoveRaw(::grpc::ClientContext* context, const ::blob::RemoveRequest& request, ::grpc::CompletionQueue* cq) override;
-    const ::grpc::internal::RpcMethod rpcmethod_Put_;
-    const ::grpc::internal::RpcMethod rpcmethod_Get_;
-    const ::grpc::internal::RpcMethod rpcmethod_Remove_;
-  };
-  static std::unique_ptr<Stub> NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions());
-
-  class Service : public ::grpc::Service {
-   public:
-    Service();
-    virtual ~Service();
-    virtual ::grpc::Status Put(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::blob::PutResponse, ::blob::PutRequest>* stream);
-    virtual ::grpc::Status Get(::grpc::ServerContext* context, const ::blob::GetRequest* request, ::grpc::ServerWriter< ::blob::GetResponse>* writer);
-    virtual ::grpc::Status Remove(::grpc::ServerContext* context, const ::blob::RemoveRequest* request, ::google::protobuf::Empty* response);
-  };
-  template <class BaseClass>
-  class WithAsyncMethod_Put : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithAsyncMethod_Put() {
-      ::grpc::Service::MarkMethodAsync(0);
-    }
-    ~WithAsyncMethod_Put() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status Put(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::blob::PutResponse, ::blob::PutRequest>* /*stream*/)  override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    void RequestPut(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::blob::PutResponse, ::blob::PutRequest>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
-      ::grpc::Service::RequestAsyncBidiStreaming(0, context, stream, new_call_cq, notification_cq, tag);
-    }
-  };
-  template <class BaseClass>
-  class WithAsyncMethod_Get : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithAsyncMethod_Get() {
-      ::grpc::Service::MarkMethodAsync(1);
-    }
-    ~WithAsyncMethod_Get() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status Get(::grpc::ServerContext* /*context*/, const ::blob::GetRequest* /*request*/, ::grpc::ServerWriter< ::blob::GetResponse>* /*writer*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    void RequestGet(::grpc::ServerContext* context, ::blob::GetRequest* request, ::grpc::ServerAsyncWriter< ::blob::GetResponse>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
-      ::grpc::Service::RequestAsyncServerStreaming(1, context, request, writer, new_call_cq, notification_cq, tag);
-    }
-  };
-  template <class BaseClass>
-  class WithAsyncMethod_Remove : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithAsyncMethod_Remove() {
-      ::grpc::Service::MarkMethodAsync(2);
-    }
-    ~WithAsyncMethod_Remove() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status Remove(::grpc::ServerContext* /*context*/, const ::blob::RemoveRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    void RequestRemove(::grpc::ServerContext* context, ::blob::RemoveRequest* request, ::grpc::ServerAsyncResponseWriter< ::google::protobuf::Empty>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
-      ::grpc::Service::RequestAsyncUnary(2, context, request, response, new_call_cq, notification_cq, tag);
-    }
-  };
-  typedef WithAsyncMethod_Put<WithAsyncMethod_Get<WithAsyncMethod_Remove<Service > > > AsyncService;
-  template <class BaseClass>
-  class WithCallbackMethod_Put : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithCallbackMethod_Put() {
-      ::grpc::Service::MarkMethodCallback(0,
-          new ::grpc::internal::CallbackBidiHandler< ::blob::PutRequest, ::blob::PutResponse>(
-            [this](
-                   ::grpc::CallbackServerContext* context) { return this->Put(context); }));
-    }
-    ~WithCallbackMethod_Put() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status Put(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::blob::PutResponse, ::blob::PutRequest>* /*stream*/)  override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    virtual ::grpc::ServerBidiReactor< ::blob::PutRequest, ::blob::PutResponse>* Put(
-      ::grpc::CallbackServerContext* /*context*/)
-      { return nullptr; }
-  };
-  template <class BaseClass>
-  class WithCallbackMethod_Get : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithCallbackMethod_Get() {
-      ::grpc::Service::MarkMethodCallback(1,
-          new ::grpc::internal::CallbackServerStreamingHandler< ::blob::GetRequest, ::blob::GetResponse>(
-            [this](
-                   ::grpc::CallbackServerContext* context, const ::blob::GetRequest* request) { return this->Get(context, request); }));
-    }
-    ~WithCallbackMethod_Get() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status Get(::grpc::ServerContext* /*context*/, const ::blob::GetRequest* /*request*/, ::grpc::ServerWriter< ::blob::GetResponse>* /*writer*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    virtual ::grpc::ServerWriteReactor< ::blob::GetResponse>* Get(
-      ::grpc::CallbackServerContext* /*context*/, const ::blob::GetRequest* /*request*/)  { return nullptr; }
-  };
-  template <class BaseClass>
-  class WithCallbackMethod_Remove : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithCallbackMethod_Remove() {
-      ::grpc::Service::MarkMethodCallback(2,
-          new ::grpc::internal::CallbackUnaryHandler< ::blob::RemoveRequest, ::google::protobuf::Empty>(
-            [this](
-                   ::grpc::CallbackServerContext* context, const ::blob::RemoveRequest* request, ::google::protobuf::Empty* response) { return this->Remove(context, request, response); }));}
-    void SetMessageAllocatorFor_Remove(
-        ::grpc::MessageAllocator< ::blob::RemoveRequest, ::google::protobuf::Empty>* allocator) {
-      ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(2);
-      static_cast<::grpc::internal::CallbackUnaryHandler< ::blob::RemoveRequest, ::google::protobuf::Empty>*>(handler)
-              ->SetMessageAllocator(allocator);
-    }
-    ~WithCallbackMethod_Remove() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status Remove(::grpc::ServerContext* /*context*/, const ::blob::RemoveRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    virtual ::grpc::ServerUnaryReactor* Remove(
-      ::grpc::CallbackServerContext* /*context*/, const ::blob::RemoveRequest* /*request*/, ::google::protobuf::Empty* /*response*/)  { return nullptr; }
-  };
-  typedef WithCallbackMethod_Put<WithCallbackMethod_Get<WithCallbackMethod_Remove<Service > > > CallbackService;
-  typedef CallbackService ExperimentalCallbackService;
-  template <class BaseClass>
-  class WithGenericMethod_Put : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithGenericMethod_Put() {
-      ::grpc::Service::MarkMethodGeneric(0);
-    }
-    ~WithGenericMethod_Put() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status Put(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::blob::PutResponse, ::blob::PutRequest>* /*stream*/)  override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-  };
-  template <class BaseClass>
-  class WithGenericMethod_Get : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithGenericMethod_Get() {
-      ::grpc::Service::MarkMethodGeneric(1);
-    }
-    ~WithGenericMethod_Get() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status Get(::grpc::ServerContext* /*context*/, const ::blob::GetRequest* /*request*/, ::grpc::ServerWriter< ::blob::GetResponse>* /*writer*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-  };
-  template <class BaseClass>
-  class WithGenericMethod_Remove : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithGenericMethod_Remove() {
-      ::grpc::Service::MarkMethodGeneric(2);
-    }
-    ~WithGenericMethod_Remove() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status Remove(::grpc::ServerContext* /*context*/, const ::blob::RemoveRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-  };
-  template <class BaseClass>
-  class WithRawMethod_Put : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithRawMethod_Put() {
-      ::grpc::Service::MarkMethodRaw(0);
-    }
-    ~WithRawMethod_Put() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status Put(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::blob::PutResponse, ::blob::PutRequest>* /*stream*/)  override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    void RequestPut(::grpc::ServerContext* context, ::grpc::ServerAsyncReaderWriter< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* stream, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
-      ::grpc::Service::RequestAsyncBidiStreaming(0, context, stream, new_call_cq, notification_cq, tag);
-    }
-  };
-  template <class BaseClass>
-  class WithRawMethod_Get : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithRawMethod_Get() {
-      ::grpc::Service::MarkMethodRaw(1);
-    }
-    ~WithRawMethod_Get() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status Get(::grpc::ServerContext* /*context*/, const ::blob::GetRequest* /*request*/, ::grpc::ServerWriter< ::blob::GetResponse>* /*writer*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    void RequestGet(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncWriter< ::grpc::ByteBuffer>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
-      ::grpc::Service::RequestAsyncServerStreaming(1, context, request, writer, new_call_cq, notification_cq, tag);
-    }
-  };
-  template <class BaseClass>
-  class WithRawMethod_Remove : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithRawMethod_Remove() {
-      ::grpc::Service::MarkMethodRaw(2);
-    }
-    ~WithRawMethod_Remove() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status Remove(::grpc::ServerContext* /*context*/, const ::blob::RemoveRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    void RequestRemove(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
-      ::grpc::Service::RequestAsyncUnary(2, context, request, response, new_call_cq, notification_cq, tag);
-    }
-  };
-  template <class BaseClass>
-  class WithRawCallbackMethod_Put : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithRawCallbackMethod_Put() {
-      ::grpc::Service::MarkMethodRawCallback(0,
-          new ::grpc::internal::CallbackBidiHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
-            [this](
-                   ::grpc::CallbackServerContext* context) { return this->Put(context); }));
-    }
-    ~WithRawCallbackMethod_Put() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status Put(::grpc::ServerContext* /*context*/, ::grpc::ServerReaderWriter< ::blob::PutResponse, ::blob::PutRequest>* /*stream*/)  override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    virtual ::grpc::ServerBidiReactor< ::grpc::ByteBuffer, ::grpc::ByteBuffer>* Put(
-      ::grpc::CallbackServerContext* /*context*/)
-      { return nullptr; }
-  };
-  template <class BaseClass>
-  class WithRawCallbackMethod_Get : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithRawCallbackMethod_Get() {
-      ::grpc::Service::MarkMethodRawCallback(1,
-          new ::grpc::internal::CallbackServerStreamingHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
-            [this](
-                   ::grpc::CallbackServerContext* context, const::grpc::ByteBuffer* request) { return this->Get(context, request); }));
-    }
-    ~WithRawCallbackMethod_Get() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status Get(::grpc::ServerContext* /*context*/, const ::blob::GetRequest* /*request*/, ::grpc::ServerWriter< ::blob::GetResponse>* /*writer*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    virtual ::grpc::ServerWriteReactor< ::grpc::ByteBuffer>* Get(
-      ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/)  { return nullptr; }
-  };
-  template <class BaseClass>
-  class WithRawCallbackMethod_Remove : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithRawCallbackMethod_Remove() {
-      ::grpc::Service::MarkMethodRawCallback(2,
-          new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>(
-            [this](
-                   ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->Remove(context, request, response); }));
-    }
-    ~WithRawCallbackMethod_Remove() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable synchronous version of this method
-    ::grpc::Status Remove(::grpc::ServerContext* /*context*/, const ::blob::RemoveRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    virtual ::grpc::ServerUnaryReactor* Remove(
-      ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/)  { return nullptr; }
-  };
-  template <class BaseClass>
-  class WithStreamedUnaryMethod_Remove : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithStreamedUnaryMethod_Remove() {
-      ::grpc::Service::MarkMethodStreamed(2,
-        new ::grpc::internal::StreamedUnaryHandler<
-          ::blob::RemoveRequest, ::google::protobuf::Empty>(
-            [this](::grpc::ServerContext* context,
-                   ::grpc::ServerUnaryStreamer<
-                     ::blob::RemoveRequest, ::google::protobuf::Empty>* streamer) {
-                       return this->StreamedRemove(context,
-                         streamer);
-                  }));
-    }
-    ~WithStreamedUnaryMethod_Remove() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable regular version of this method
-    ::grpc::Status Remove(::grpc::ServerContext* /*context*/, const ::blob::RemoveRequest* /*request*/, ::google::protobuf::Empty* /*response*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    // replace default version of method with streamed unary
-    virtual ::grpc::Status StreamedRemove(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::blob::RemoveRequest,::google::protobuf::Empty>* server_unary_streamer) = 0;
-  };
-  typedef WithStreamedUnaryMethod_Remove<Service > StreamedUnaryService;
-  template <class BaseClass>
-  class WithSplitStreamingMethod_Get : public BaseClass {
-   private:
-    void BaseClassMustBeDerivedFromService(const Service* /*service*/) {}
-   public:
-    WithSplitStreamingMethod_Get() {
-      ::grpc::Service::MarkMethodStreamed(1,
-        new ::grpc::internal::SplitServerStreamingHandler<
-          ::blob::GetRequest, ::blob::GetResponse>(
-            [this](::grpc::ServerContext* context,
-                   ::grpc::ServerSplitStreamer<
-                     ::blob::GetRequest, ::blob::GetResponse>* streamer) {
-                       return this->StreamedGet(context,
-                         streamer);
-                  }));
-    }
-    ~WithSplitStreamingMethod_Get() override {
-      BaseClassMustBeDerivedFromService(this);
-    }
-    // disable regular version of this method
-    ::grpc::Status Get(::grpc::ServerContext* /*context*/, const ::blob::GetRequest* /*request*/, ::grpc::ServerWriter< ::blob::GetResponse>* /*writer*/) override {
-      abort();
-      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-    }
-    // replace default version of method with split streamed
-    virtual ::grpc::Status StreamedGet(::grpc::ServerContext* context, ::grpc::ServerSplitStreamer< ::blob::GetRequest,::blob::GetResponse>* server_split_streamer) = 0;
-  };
-  typedef WithSplitStreamingMethod_Get<Service > SplitStreamedService;
-  typedef WithSplitStreamingMethod_Get<WithStreamedUnaryMethod_Remove<Service > > StreamedService;
-};
-
-}  // namespace blob
-
-
-#endif  // GRPC_blob_2eproto__INCLUDED
diff --git a/shared/protos/_generated/blob.grpc.pb.cc b/shared/protos/_generated/blob.grpc.pb.cc
deleted file mode 100644
--- a/shared/protos/_generated/blob.grpc.pb.cc
+++ /dev/null
@@ -1,155 +0,0 @@
-// @generated by the gRPC C++ plugin.
-// If you make any local change, they will be lost.
-// source: blob.proto
-
-#include "blob.pb.h"
-#include "blob.grpc.pb.h"
-
-#include <functional>
-#include <grpcpp/impl/codegen/async_stream.h>
-#include <grpcpp/impl/codegen/async_unary_call.h>
-#include <grpcpp/impl/codegen/channel_interface.h>
-#include <grpcpp/impl/codegen/client_unary_call.h>
-#include <grpcpp/impl/codegen/client_callback.h>
-#include <grpcpp/impl/codegen/message_allocator.h>
-#include <grpcpp/impl/codegen/method_handler.h>
-#include <grpcpp/impl/codegen/rpc_service_method.h>
-#include <grpcpp/impl/codegen/server_callback.h>
-#include <grpcpp/impl/codegen/server_callback_handlers.h>
-#include <grpcpp/impl/codegen/server_context.h>
-#include <grpcpp/impl/codegen/service_type.h>
-#include <grpcpp/impl/codegen/sync_stream.h>
-namespace blob {
-
-static const char* BlobService_method_names[] = {
-  "/blob.BlobService/Put",
-  "/blob.BlobService/Get",
-  "/blob.BlobService/Remove",
-};
-
-std::unique_ptr< BlobService::Stub> BlobService::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) {
-  (void)options;
-  std::unique_ptr< BlobService::Stub> stub(new BlobService::Stub(channel, options));
-  return stub;
-}
-
-BlobService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options)
-  : channel_(channel), rpcmethod_Put_(BlobService_method_names[0], options.suffix_for_stats(),::grpc::internal::RpcMethod::BIDI_STREAMING, channel)
-  , rpcmethod_Get_(BlobService_method_names[1], options.suffix_for_stats(),::grpc::internal::RpcMethod::SERVER_STREAMING, channel)
-  , rpcmethod_Remove_(BlobService_method_names[2], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel)
-  {}
-
-::grpc::ClientReaderWriter< ::blob::PutRequest, ::blob::PutResponse>* BlobService::Stub::PutRaw(::grpc::ClientContext* context) {
-  return ::grpc::internal::ClientReaderWriterFactory< ::blob::PutRequest, ::blob::PutResponse>::Create(channel_.get(), rpcmethod_Put_, context);
-}
-
-void BlobService::Stub::async::Put(::grpc::ClientContext* context, ::grpc::ClientBidiReactor< ::blob::PutRequest,::blob::PutResponse>* reactor) {
-  ::grpc::internal::ClientCallbackReaderWriterFactory< ::blob::PutRequest,::blob::PutResponse>::Create(stub_->channel_.get(), stub_->rpcmethod_Put_, context, reactor);
-}
-
-::grpc::ClientAsyncReaderWriter< ::blob::PutRequest, ::blob::PutResponse>* BlobService::Stub::AsyncPutRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq, void* tag) {
-  return ::grpc::internal::ClientAsyncReaderWriterFactory< ::blob::PutRequest, ::blob::PutResponse>::Create(channel_.get(), cq, rpcmethod_Put_, context, true, tag);
-}
-
-::grpc::ClientAsyncReaderWriter< ::blob::PutRequest, ::blob::PutResponse>* BlobService::Stub::PrepareAsyncPutRaw(::grpc::ClientContext* context, ::grpc::CompletionQueue* cq) {
-  return ::grpc::internal::ClientAsyncReaderWriterFactory< ::blob::PutRequest, ::blob::PutResponse>::Create(channel_.get(), cq, rpcmethod_Put_, context, false, nullptr);
-}
-
-::grpc::ClientReader< ::blob::GetResponse>* BlobService::Stub::GetRaw(::grpc::ClientContext* context, const ::blob::GetRequest& request) {
-  return ::grpc::internal::ClientReaderFactory< ::blob::GetResponse>::Create(channel_.get(), rpcmethod_Get_, context, request);
-}
-
-void BlobService::Stub::async::Get(::grpc::ClientContext* context, const ::blob::GetRequest* request, ::grpc::ClientReadReactor< ::blob::GetResponse>* reactor) {
-  ::grpc::internal::ClientCallbackReaderFactory< ::blob::GetResponse>::Create(stub_->channel_.get(), stub_->rpcmethod_Get_, context, request, reactor);
-}
-
-::grpc::ClientAsyncReader< ::blob::GetResponse>* BlobService::Stub::AsyncGetRaw(::grpc::ClientContext* context, const ::blob::GetRequest& request, ::grpc::CompletionQueue* cq, void* tag) {
-  return ::grpc::internal::ClientAsyncReaderFactory< ::blob::GetResponse>::Create(channel_.get(), cq, rpcmethod_Get_, context, request, true, tag);
-}
-
-::grpc::ClientAsyncReader< ::blob::GetResponse>* BlobService::Stub::PrepareAsyncGetRaw(::grpc::ClientContext* context, const ::blob::GetRequest& request, ::grpc::CompletionQueue* cq) {
-  return ::grpc::internal::ClientAsyncReaderFactory< ::blob::GetResponse>::Create(channel_.get(), cq, rpcmethod_Get_, context, request, false, nullptr);
-}
-
-::grpc::Status BlobService::Stub::Remove(::grpc::ClientContext* context, const ::blob::RemoveRequest& request, ::google::protobuf::Empty* response) {
-  return ::grpc::internal::BlockingUnaryCall< ::blob::RemoveRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Remove_, context, request, response);
-}
-
-void BlobService::Stub::async::Remove(::grpc::ClientContext* context, const ::blob::RemoveRequest* request, ::google::protobuf::Empty* response, std::function<void(::grpc::Status)> f) {
-  ::grpc::internal::CallbackUnaryCall< ::blob::RemoveRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Remove_, context, request, response, std::move(f));
-}
-
-void BlobService::Stub::async::Remove(::grpc::ClientContext* context, const ::blob::RemoveRequest* request, ::google::protobuf::Empty* response, ::grpc::ClientUnaryReactor* reactor) {
-  ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Remove_, context, request, response, reactor);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BlobService::Stub::PrepareAsyncRemoveRaw(::grpc::ClientContext* context, const ::blob::RemoveRequest& request, ::grpc::CompletionQueue* cq) {
-  return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::google::protobuf::Empty, ::blob::RemoveRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Remove_, context, request);
-}
-
-::grpc::ClientAsyncResponseReader< ::google::protobuf::Empty>* BlobService::Stub::AsyncRemoveRaw(::grpc::ClientContext* context, const ::blob::RemoveRequest& request, ::grpc::CompletionQueue* cq) {
-  auto* result =
-    this->PrepareAsyncRemoveRaw(context, request, cq);
-  result->StartCall();
-  return result;
-}
-
-BlobService::Service::Service() {
-  AddMethod(new ::grpc::internal::RpcServiceMethod(
-      BlobService_method_names[0],
-      ::grpc::internal::RpcMethod::BIDI_STREAMING,
-      new ::grpc::internal::BidiStreamingHandler< BlobService::Service, ::blob::PutRequest, ::blob::PutResponse>(
-          [](BlobService::Service* service,
-             ::grpc::ServerContext* ctx,
-             ::grpc::ServerReaderWriter<::blob::PutResponse,
-             ::blob::PutRequest>* stream) {
-               return service->Put(ctx, stream);
-             }, this)));
-  AddMethod(new ::grpc::internal::RpcServiceMethod(
-      BlobService_method_names[1],
-      ::grpc::internal::RpcMethod::SERVER_STREAMING,
-      new ::grpc::internal::ServerStreamingHandler< BlobService::Service, ::blob::GetRequest, ::blob::GetResponse>(
-          [](BlobService::Service* service,
-             ::grpc::ServerContext* ctx,
-             const ::blob::GetRequest* req,
-             ::grpc::ServerWriter<::blob::GetResponse>* writer) {
-               return service->Get(ctx, req, writer);
-             }, this)));
-  AddMethod(new ::grpc::internal::RpcServiceMethod(
-      BlobService_method_names[2],
-      ::grpc::internal::RpcMethod::NORMAL_RPC,
-      new ::grpc::internal::RpcMethodHandler< BlobService::Service, ::blob::RemoveRequest, ::google::protobuf::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(
-          [](BlobService::Service* service,
-             ::grpc::ServerContext* ctx,
-             const ::blob::RemoveRequest* req,
-             ::google::protobuf::Empty* resp) {
-               return service->Remove(ctx, req, resp);
-             }, this)));
-}
-
-BlobService::Service::~Service() {
-}
-
-::grpc::Status BlobService::Service::Put(::grpc::ServerContext* context, ::grpc::ServerReaderWriter< ::blob::PutResponse, ::blob::PutRequest>* stream) {
-  (void) context;
-  (void) stream;
-  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status BlobService::Service::Get(::grpc::ServerContext* context, const ::blob::GetRequest* request, ::grpc::ServerWriter< ::blob::GetResponse>* writer) {
-  (void) context;
-  (void) request;
-  (void) writer;
-  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-::grpc::Status BlobService::Service::Remove(::grpc::ServerContext* context, const ::blob::RemoveRequest* request, ::google::protobuf::Empty* response) {
-  (void) context;
-  (void) request;
-  (void) response;
-  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
-}
-
-
-}  // namespace blob
-
diff --git a/shared/protos/_generated/blob.pb.h b/shared/protos/_generated/blob.pb.h
deleted file mode 100644
--- a/shared/protos/_generated/blob.pb.h
+++ /dev/null
@@ -1,1454 +0,0 @@
-// @generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: blob.proto
-
-#ifndef GOOGLE_PROTOBUF_INCLUDED_blob_2eproto
-#define GOOGLE_PROTOBUF_INCLUDED_blob_2eproto
-
-#include <limits>
-#include <string>
-
-#include <google/protobuf/port_def.inc>
-#if PROTOBUF_VERSION < 3015000
-#error This file was generated by a newer version of protoc which is
-#error incompatible with your Protocol Buffer headers. Please update
-#error your headers.
-#endif
-#if 3015008 < PROTOBUF_MIN_PROTOC_VERSION
-#error This file was generated by an older version of protoc which is
-#error incompatible with your Protocol Buffer headers. Please
-#error regenerate this file with a newer version of protoc.
-#endif
-
-#include <google/protobuf/port_undef.inc>
-#include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/arena.h>
-#include <google/protobuf/arenastring.h>
-#include <google/protobuf/generated_message_table_driven.h>
-#include <google/protobuf/generated_message_util.h>
-#include <google/protobuf/metadata_lite.h>
-#include <google/protobuf/generated_message_reflection.h>
-#include <google/protobuf/message.h>
-#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
-#include <google/protobuf/extension_set.h>  // IWYU pragma: export
-#include <google/protobuf/unknown_field_set.h>
-#include <google/protobuf/empty.pb.h>
-// @@protoc_insertion_point(includes)
-#include <google/protobuf/port_def.inc>
-#define PROTOBUF_INTERNAL_EXPORT_blob_2eproto
-PROTOBUF_NAMESPACE_OPEN
-namespace internal {
-class AnyMetadata;
-}  // namespace internal
-PROTOBUF_NAMESPACE_CLOSE
-
-// Internal implementation detail -- do not use these members.
-struct TableStruct_blob_2eproto {
-  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
-    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
-    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[5]
-    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
-  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
-  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
-};
-extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_blob_2eproto;
-::PROTOBUF_NAMESPACE_ID::Metadata descriptor_table_blob_2eproto_metadata_getter(int index);
-namespace blob {
-class GetRequest;
-struct GetRequestDefaultTypeInternal;
-extern GetRequestDefaultTypeInternal _GetRequest_default_instance_;
-class GetResponse;
-struct GetResponseDefaultTypeInternal;
-extern GetResponseDefaultTypeInternal _GetResponse_default_instance_;
-class PutRequest;
-struct PutRequestDefaultTypeInternal;
-extern PutRequestDefaultTypeInternal _PutRequest_default_instance_;
-class PutResponse;
-struct PutResponseDefaultTypeInternal;
-extern PutResponseDefaultTypeInternal _PutResponse_default_instance_;
-class RemoveRequest;
-struct RemoveRequestDefaultTypeInternal;
-extern RemoveRequestDefaultTypeInternal _RemoveRequest_default_instance_;
-}  // namespace blob
-PROTOBUF_NAMESPACE_OPEN
-template<> ::blob::GetRequest* Arena::CreateMaybeMessage<::blob::GetRequest>(Arena*);
-template<> ::blob::GetResponse* Arena::CreateMaybeMessage<::blob::GetResponse>(Arena*);
-template<> ::blob::PutRequest* Arena::CreateMaybeMessage<::blob::PutRequest>(Arena*);
-template<> ::blob::PutResponse* Arena::CreateMaybeMessage<::blob::PutResponse>(Arena*);
-template<> ::blob::RemoveRequest* Arena::CreateMaybeMessage<::blob::RemoveRequest>(Arena*);
-PROTOBUF_NAMESPACE_CLOSE
-namespace blob {
-
-// ===================================================================
-
-class PutRequest PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:blob.PutRequest) */ {
- public:
-  inline PutRequest() : PutRequest(nullptr) {}
-  virtual ~PutRequest();
-  explicit constexpr PutRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
-
-  PutRequest(const PutRequest& from);
-  PutRequest(PutRequest&& from) noexcept
-    : PutRequest() {
-    *this = ::std::move(from);
-  }
-
-  inline PutRequest& operator=(const PutRequest& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline PutRequest& operator=(PutRequest&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const PutRequest& default_instance() {
-    return *internal_default_instance();
-  }
-  enum DataCase {
-    kHolder = 1,
-    kBlobHash = 2,
-    kDataChunk = 3,
-    DATA_NOT_SET = 0,
-  };
-
-  static inline const PutRequest* internal_default_instance() {
-    return reinterpret_cast<const PutRequest*>(
-               &_PutRequest_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    0;
-
-  friend void swap(PutRequest& a, PutRequest& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(PutRequest* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(PutRequest* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline PutRequest* New() const final {
-    return CreateMaybeMessage<PutRequest>(nullptr);
-  }
-
-  PutRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<PutRequest>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const PutRequest& from);
-  void MergeFrom(const PutRequest& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(PutRequest* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "blob.PutRequest";
-  }
-  protected:
-  explicit PutRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    return ::descriptor_table_blob_2eproto_metadata_getter(kIndexInFileMessages);
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kHolderFieldNumber = 1,
-    kBlobHashFieldNumber = 2,
-    kDataChunkFieldNumber = 3,
-  };
-  // string holder = 1;
-  bool has_holder() const;
-  private:
-  bool _internal_has_holder() const;
-  public:
-  void clear_holder();
-  const std::string& holder() const;
-  void set_holder(const std::string& value);
-  void set_holder(std::string&& value);
-  void set_holder(const char* value);
-  void set_holder(const char* value, size_t size);
-  std::string* mutable_holder();
-  std::string* release_holder();
-  void set_allocated_holder(std::string* holder);
-  private:
-  const std::string& _internal_holder() const;
-  void _internal_set_holder(const std::string& value);
-  std::string* _internal_mutable_holder();
-  public:
-
-  // string blobHash = 2;
-  bool has_blobhash() const;
-  private:
-  bool _internal_has_blobhash() const;
-  public:
-  void clear_blobhash();
-  const std::string& blobhash() const;
-  void set_blobhash(const std::string& value);
-  void set_blobhash(std::string&& value);
-  void set_blobhash(const char* value);
-  void set_blobhash(const char* value, size_t size);
-  std::string* mutable_blobhash();
-  std::string* release_blobhash();
-  void set_allocated_blobhash(std::string* blobhash);
-  private:
-  const std::string& _internal_blobhash() const;
-  void _internal_set_blobhash(const std::string& value);
-  std::string* _internal_mutable_blobhash();
-  public:
-
-  // bytes dataChunk = 3;
-  bool has_datachunk() const;
-  private:
-  bool _internal_has_datachunk() const;
-  public:
-  void clear_datachunk();
-  const std::string& datachunk() const;
-  void set_datachunk(const std::string& value);
-  void set_datachunk(std::string&& value);
-  void set_datachunk(const char* value);
-  void set_datachunk(const void* value, size_t size);
-  std::string* mutable_datachunk();
-  std::string* release_datachunk();
-  void set_allocated_datachunk(std::string* datachunk);
-  private:
-  const std::string& _internal_datachunk() const;
-  void _internal_set_datachunk(const std::string& value);
-  std::string* _internal_mutable_datachunk();
-  public:
-
-  void clear_data();
-  DataCase data_case() const;
-  // @@protoc_insertion_point(class_scope:blob.PutRequest)
- private:
-  class _Internal;
-  void set_has_holder();
-  void set_has_blobhash();
-  void set_has_datachunk();
-
-  inline bool has_data() const;
-  inline void clear_has_data();
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  union DataUnion {
-    constexpr DataUnion() : _constinit_{} {}
-      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr holder_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr blobhash_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr datachunk_;
-  } data_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];
-
-  friend struct ::TableStruct_blob_2eproto;
-};
-// -------------------------------------------------------------------
-
-class PutResponse PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:blob.PutResponse) */ {
- public:
-  inline PutResponse() : PutResponse(nullptr) {}
-  virtual ~PutResponse();
-  explicit constexpr PutResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
-
-  PutResponse(const PutResponse& from);
-  PutResponse(PutResponse&& from) noexcept
-    : PutResponse() {
-    *this = ::std::move(from);
-  }
-
-  inline PutResponse& operator=(const PutResponse& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline PutResponse& operator=(PutResponse&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const PutResponse& default_instance() {
-    return *internal_default_instance();
-  }
-  static inline const PutResponse* internal_default_instance() {
-    return reinterpret_cast<const PutResponse*>(
-               &_PutResponse_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    1;
-
-  friend void swap(PutResponse& a, PutResponse& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(PutResponse* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(PutResponse* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline PutResponse* New() const final {
-    return CreateMaybeMessage<PutResponse>(nullptr);
-  }
-
-  PutResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<PutResponse>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const PutResponse& from);
-  void MergeFrom(const PutResponse& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(PutResponse* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "blob.PutResponse";
-  }
-  protected:
-  explicit PutResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    return ::descriptor_table_blob_2eproto_metadata_getter(kIndexInFileMessages);
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kDataExistsFieldNumber = 1,
-  };
-  // bool dataExists = 1;
-  void clear_dataexists();
-  bool dataexists() const;
-  void set_dataexists(bool value);
-  private:
-  bool _internal_dataexists() const;
-  void _internal_set_dataexists(bool value);
-  public:
-
-  // @@protoc_insertion_point(class_scope:blob.PutResponse)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  bool dataexists_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  friend struct ::TableStruct_blob_2eproto;
-};
-// -------------------------------------------------------------------
-
-class GetRequest PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:blob.GetRequest) */ {
- public:
-  inline GetRequest() : GetRequest(nullptr) {}
-  virtual ~GetRequest();
-  explicit constexpr GetRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
-
-  GetRequest(const GetRequest& from);
-  GetRequest(GetRequest&& from) noexcept
-    : GetRequest() {
-    *this = ::std::move(from);
-  }
-
-  inline GetRequest& operator=(const GetRequest& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline GetRequest& operator=(GetRequest&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const GetRequest& default_instance() {
-    return *internal_default_instance();
-  }
-  static inline const GetRequest* internal_default_instance() {
-    return reinterpret_cast<const GetRequest*>(
-               &_GetRequest_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    2;
-
-  friend void swap(GetRequest& a, GetRequest& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(GetRequest* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(GetRequest* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline GetRequest* New() const final {
-    return CreateMaybeMessage<GetRequest>(nullptr);
-  }
-
-  GetRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<GetRequest>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const GetRequest& from);
-  void MergeFrom(const GetRequest& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(GetRequest* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "blob.GetRequest";
-  }
-  protected:
-  explicit GetRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    return ::descriptor_table_blob_2eproto_metadata_getter(kIndexInFileMessages);
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kHolderFieldNumber = 1,
-  };
-  // string holder = 1;
-  void clear_holder();
-  const std::string& holder() const;
-  void set_holder(const std::string& value);
-  void set_holder(std::string&& value);
-  void set_holder(const char* value);
-  void set_holder(const char* value, size_t size);
-  std::string* mutable_holder();
-  std::string* release_holder();
-  void set_allocated_holder(std::string* holder);
-  private:
-  const std::string& _internal_holder() const;
-  void _internal_set_holder(const std::string& value);
-  std::string* _internal_mutable_holder();
-  public:
-
-  // @@protoc_insertion_point(class_scope:blob.GetRequest)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr holder_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  friend struct ::TableStruct_blob_2eproto;
-};
-// -------------------------------------------------------------------
-
-class GetResponse PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:blob.GetResponse) */ {
- public:
-  inline GetResponse() : GetResponse(nullptr) {}
-  virtual ~GetResponse();
-  explicit constexpr GetResponse(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
-
-  GetResponse(const GetResponse& from);
-  GetResponse(GetResponse&& from) noexcept
-    : GetResponse() {
-    *this = ::std::move(from);
-  }
-
-  inline GetResponse& operator=(const GetResponse& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline GetResponse& operator=(GetResponse&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const GetResponse& default_instance() {
-    return *internal_default_instance();
-  }
-  static inline const GetResponse* internal_default_instance() {
-    return reinterpret_cast<const GetResponse*>(
-               &_GetResponse_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    3;
-
-  friend void swap(GetResponse& a, GetResponse& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(GetResponse* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(GetResponse* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline GetResponse* New() const final {
-    return CreateMaybeMessage<GetResponse>(nullptr);
-  }
-
-  GetResponse* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<GetResponse>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const GetResponse& from);
-  void MergeFrom(const GetResponse& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(GetResponse* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "blob.GetResponse";
-  }
-  protected:
-  explicit GetResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    return ::descriptor_table_blob_2eproto_metadata_getter(kIndexInFileMessages);
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kDataChunkFieldNumber = 1,
-  };
-  // bytes dataChunk = 1;
-  void clear_datachunk();
-  const std::string& datachunk() const;
-  void set_datachunk(const std::string& value);
-  void set_datachunk(std::string&& value);
-  void set_datachunk(const char* value);
-  void set_datachunk(const void* value, size_t size);
-  std::string* mutable_datachunk();
-  std::string* release_datachunk();
-  void set_allocated_datachunk(std::string* datachunk);
-  private:
-  const std::string& _internal_datachunk() const;
-  void _internal_set_datachunk(const std::string& value);
-  std::string* _internal_mutable_datachunk();
-  public:
-
-  // @@protoc_insertion_point(class_scope:blob.GetResponse)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr datachunk_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  friend struct ::TableStruct_blob_2eproto;
-};
-// -------------------------------------------------------------------
-
-class RemoveRequest PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:blob.RemoveRequest) */ {
- public:
-  inline RemoveRequest() : RemoveRequest(nullptr) {}
-  virtual ~RemoveRequest();
-  explicit constexpr RemoveRequest(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
-
-  RemoveRequest(const RemoveRequest& from);
-  RemoveRequest(RemoveRequest&& from) noexcept
-    : RemoveRequest() {
-    *this = ::std::move(from);
-  }
-
-  inline RemoveRequest& operator=(const RemoveRequest& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline RemoveRequest& operator=(RemoveRequest&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const RemoveRequest& default_instance() {
-    return *internal_default_instance();
-  }
-  static inline const RemoveRequest* internal_default_instance() {
-    return reinterpret_cast<const RemoveRequest*>(
-               &_RemoveRequest_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    4;
-
-  friend void swap(RemoveRequest& a, RemoveRequest& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(RemoveRequest* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(RemoveRequest* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline RemoveRequest* New() const final {
-    return CreateMaybeMessage<RemoveRequest>(nullptr);
-  }
-
-  RemoveRequest* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<RemoveRequest>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const RemoveRequest& from);
-  void MergeFrom(const RemoveRequest& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(RemoveRequest* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "blob.RemoveRequest";
-  }
-  protected:
-  explicit RemoveRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    return ::descriptor_table_blob_2eproto_metadata_getter(kIndexInFileMessages);
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kHolderFieldNumber = 1,
-  };
-  // string holder = 1;
-  void clear_holder();
-  const std::string& holder() const;
-  void set_holder(const std::string& value);
-  void set_holder(std::string&& value);
-  void set_holder(const char* value);
-  void set_holder(const char* value, size_t size);
-  std::string* mutable_holder();
-  std::string* release_holder();
-  void set_allocated_holder(std::string* holder);
-  private:
-  const std::string& _internal_holder() const;
-  void _internal_set_holder(const std::string& value);
-  std::string* _internal_mutable_holder();
-  public:
-
-  // @@protoc_insertion_point(class_scope:blob.RemoveRequest)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr holder_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  friend struct ::TableStruct_blob_2eproto;
-};
-// ===================================================================
-
-
-// ===================================================================
-
-#ifdef __GNUC__
-  #pragma GCC diagnostic push
-  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
-#endif  // __GNUC__
-// PutRequest
-
-// string holder = 1;
-inline bool PutRequest::_internal_has_holder() const {
-  return data_case() == kHolder;
-}
-inline bool PutRequest::has_holder() const {
-  return _internal_has_holder();
-}
-inline void PutRequest::set_has_holder() {
-  _oneof_case_[0] = kHolder;
-}
-inline void PutRequest::clear_holder() {
-  if (_internal_has_holder()) {
-    data_.holder_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-    clear_has_data();
-  }
-}
-inline const std::string& PutRequest::holder() const {
-  // @@protoc_insertion_point(field_get:blob.PutRequest.holder)
-  return _internal_holder();
-}
-inline void PutRequest::set_holder(const std::string& value) {
-  _internal_set_holder(value);
-  // @@protoc_insertion_point(field_set:blob.PutRequest.holder)
-}
-inline std::string* PutRequest::mutable_holder() {
-  // @@protoc_insertion_point(field_mutable:blob.PutRequest.holder)
-  return _internal_mutable_holder();
-}
-inline const std::string& PutRequest::_internal_holder() const {
-  if (_internal_has_holder()) {
-    return data_.holder_.Get();
-  }
-  return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
-}
-inline void PutRequest::_internal_set_holder(const std::string& value) {
-  if (!_internal_has_holder()) {
-    clear_data();
-    set_has_holder();
-    data_.holder_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.holder_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void PutRequest::set_holder(std::string&& value) {
-  // @@protoc_insertion_point(field_set:blob.PutRequest.holder)
-  if (!_internal_has_holder()) {
-    clear_data();
-    set_has_holder();
-    data_.holder_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.holder_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:blob.PutRequest.holder)
-}
-inline void PutRequest::set_holder(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  if (!_internal_has_holder()) {
-    clear_data();
-    set_has_holder();
-    data_.holder_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.holder_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
-      ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:blob.PutRequest.holder)
-}
-inline void PutRequest::set_holder(const char* value,
-                             size_t size) {
-  if (!_internal_has_holder()) {
-    clear_data();
-    set_has_holder();
-    data_.holder_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.holder_.Set(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size),
-      GetArena());
-  // @@protoc_insertion_point(field_set_pointer:blob.PutRequest.holder)
-}
-inline std::string* PutRequest::_internal_mutable_holder() {
-  if (!_internal_has_holder()) {
-    clear_data();
-    set_has_holder();
-    data_.holder_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  return data_.holder_.Mutable(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* PutRequest::release_holder() {
-  // @@protoc_insertion_point(field_release:blob.PutRequest.holder)
-  if (_internal_has_holder()) {
-    clear_has_data();
-    return data_.holder_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  } else {
-    return nullptr;
-  }
-}
-inline void PutRequest::set_allocated_holder(std::string* holder) {
-  if (has_data()) {
-    clear_data();
-  }
-  if (holder != nullptr) {
-    set_has_holder();
-    data_.holder_.UnsafeSetDefault(holder);
-    ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena();
-    if (arena != nullptr) {
-      arena->Own(holder);
-    }
-  }
-  // @@protoc_insertion_point(field_set_allocated:blob.PutRequest.holder)
-}
-
-// string blobHash = 2;
-inline bool PutRequest::_internal_has_blobhash() const {
-  return data_case() == kBlobHash;
-}
-inline bool PutRequest::has_blobhash() const {
-  return _internal_has_blobhash();
-}
-inline void PutRequest::set_has_blobhash() {
-  _oneof_case_[0] = kBlobHash;
-}
-inline void PutRequest::clear_blobhash() {
-  if (_internal_has_blobhash()) {
-    data_.blobhash_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-    clear_has_data();
-  }
-}
-inline const std::string& PutRequest::blobhash() const {
-  // @@protoc_insertion_point(field_get:blob.PutRequest.blobHash)
-  return _internal_blobhash();
-}
-inline void PutRequest::set_blobhash(const std::string& value) {
-  _internal_set_blobhash(value);
-  // @@protoc_insertion_point(field_set:blob.PutRequest.blobHash)
-}
-inline std::string* PutRequest::mutable_blobhash() {
-  // @@protoc_insertion_point(field_mutable:blob.PutRequest.blobHash)
-  return _internal_mutable_blobhash();
-}
-inline const std::string& PutRequest::_internal_blobhash() const {
-  if (_internal_has_blobhash()) {
-    return data_.blobhash_.Get();
-  }
-  return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
-}
-inline void PutRequest::_internal_set_blobhash(const std::string& value) {
-  if (!_internal_has_blobhash()) {
-    clear_data();
-    set_has_blobhash();
-    data_.blobhash_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.blobhash_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void PutRequest::set_blobhash(std::string&& value) {
-  // @@protoc_insertion_point(field_set:blob.PutRequest.blobHash)
-  if (!_internal_has_blobhash()) {
-    clear_data();
-    set_has_blobhash();
-    data_.blobhash_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.blobhash_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:blob.PutRequest.blobHash)
-}
-inline void PutRequest::set_blobhash(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  if (!_internal_has_blobhash()) {
-    clear_data();
-    set_has_blobhash();
-    data_.blobhash_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.blobhash_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
-      ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:blob.PutRequest.blobHash)
-}
-inline void PutRequest::set_blobhash(const char* value,
-                             size_t size) {
-  if (!_internal_has_blobhash()) {
-    clear_data();
-    set_has_blobhash();
-    data_.blobhash_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.blobhash_.Set(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size),
-      GetArena());
-  // @@protoc_insertion_point(field_set_pointer:blob.PutRequest.blobHash)
-}
-inline std::string* PutRequest::_internal_mutable_blobhash() {
-  if (!_internal_has_blobhash()) {
-    clear_data();
-    set_has_blobhash();
-    data_.blobhash_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  return data_.blobhash_.Mutable(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* PutRequest::release_blobhash() {
-  // @@protoc_insertion_point(field_release:blob.PutRequest.blobHash)
-  if (_internal_has_blobhash()) {
-    clear_has_data();
-    return data_.blobhash_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  } else {
-    return nullptr;
-  }
-}
-inline void PutRequest::set_allocated_blobhash(std::string* blobhash) {
-  if (has_data()) {
-    clear_data();
-  }
-  if (blobhash != nullptr) {
-    set_has_blobhash();
-    data_.blobhash_.UnsafeSetDefault(blobhash);
-    ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena();
-    if (arena != nullptr) {
-      arena->Own(blobhash);
-    }
-  }
-  // @@protoc_insertion_point(field_set_allocated:blob.PutRequest.blobHash)
-}
-
-// bytes dataChunk = 3;
-inline bool PutRequest::_internal_has_datachunk() const {
-  return data_case() == kDataChunk;
-}
-inline bool PutRequest::has_datachunk() const {
-  return _internal_has_datachunk();
-}
-inline void PutRequest::set_has_datachunk() {
-  _oneof_case_[0] = kDataChunk;
-}
-inline void PutRequest::clear_datachunk() {
-  if (_internal_has_datachunk()) {
-    data_.datachunk_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-    clear_has_data();
-  }
-}
-inline const std::string& PutRequest::datachunk() const {
-  // @@protoc_insertion_point(field_get:blob.PutRequest.dataChunk)
-  return _internal_datachunk();
-}
-inline void PutRequest::set_datachunk(const std::string& value) {
-  _internal_set_datachunk(value);
-  // @@protoc_insertion_point(field_set:blob.PutRequest.dataChunk)
-}
-inline std::string* PutRequest::mutable_datachunk() {
-  // @@protoc_insertion_point(field_mutable:blob.PutRequest.dataChunk)
-  return _internal_mutable_datachunk();
-}
-inline const std::string& PutRequest::_internal_datachunk() const {
-  if (_internal_has_datachunk()) {
-    return data_.datachunk_.Get();
-  }
-  return ::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited();
-}
-inline void PutRequest::_internal_set_datachunk(const std::string& value) {
-  if (!_internal_has_datachunk()) {
-    clear_data();
-    set_has_datachunk();
-    data_.datachunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.datachunk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void PutRequest::set_datachunk(std::string&& value) {
-  // @@protoc_insertion_point(field_set:blob.PutRequest.dataChunk)
-  if (!_internal_has_datachunk()) {
-    clear_data();
-    set_has_datachunk();
-    data_.datachunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.datachunk_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:blob.PutRequest.dataChunk)
-}
-inline void PutRequest::set_datachunk(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  if (!_internal_has_datachunk()) {
-    clear_data();
-    set_has_datachunk();
-    data_.datachunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.datachunk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{},
-      ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:blob.PutRequest.dataChunk)
-}
-inline void PutRequest::set_datachunk(const void* value,
-                             size_t size) {
-  if (!_internal_has_datachunk()) {
-    clear_data();
-    set_has_datachunk();
-    data_.datachunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  data_.datachunk_.Set(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size),
-      GetArena());
-  // @@protoc_insertion_point(field_set_pointer:blob.PutRequest.dataChunk)
-}
-inline std::string* PutRequest::_internal_mutable_datachunk() {
-  if (!_internal_has_datachunk()) {
-    clear_data();
-    set_has_datachunk();
-    data_.datachunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  }
-  return data_.datachunk_.Mutable(
-      ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* PutRequest::release_datachunk() {
-  // @@protoc_insertion_point(field_release:blob.PutRequest.dataChunk)
-  if (_internal_has_datachunk()) {
-    clear_has_data();
-    return data_.datachunk_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  } else {
-    return nullptr;
-  }
-}
-inline void PutRequest::set_allocated_datachunk(std::string* datachunk) {
-  if (has_data()) {
-    clear_data();
-  }
-  if (datachunk != nullptr) {
-    set_has_datachunk();
-    data_.datachunk_.UnsafeSetDefault(datachunk);
-    ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena();
-    if (arena != nullptr) {
-      arena->Own(datachunk);
-    }
-  }
-  // @@protoc_insertion_point(field_set_allocated:blob.PutRequest.dataChunk)
-}
-
-inline bool PutRequest::has_data() const {
-  return data_case() != DATA_NOT_SET;
-}
-inline void PutRequest::clear_has_data() {
-  _oneof_case_[0] = DATA_NOT_SET;
-}
-inline PutRequest::DataCase PutRequest::data_case() const {
-  return PutRequest::DataCase(_oneof_case_[0]);
-}
-// -------------------------------------------------------------------
-
-// PutResponse
-
-// bool dataExists = 1;
-inline void PutResponse::clear_dataexists() {
-  dataexists_ = false;
-}
-inline bool PutResponse::_internal_dataexists() const {
-  return dataexists_;
-}
-inline bool PutResponse::dataexists() const {
-  // @@protoc_insertion_point(field_get:blob.PutResponse.dataExists)
-  return _internal_dataexists();
-}
-inline void PutResponse::_internal_set_dataexists(bool value) {
-  
-  dataexists_ = value;
-}
-inline void PutResponse::set_dataexists(bool value) {
-  _internal_set_dataexists(value);
-  // @@protoc_insertion_point(field_set:blob.PutResponse.dataExists)
-}
-
-// -------------------------------------------------------------------
-
-// GetRequest
-
-// string holder = 1;
-inline void GetRequest::clear_holder() {
-  holder_.ClearToEmpty();
-}
-inline const std::string& GetRequest::holder() const {
-  // @@protoc_insertion_point(field_get:blob.GetRequest.holder)
-  return _internal_holder();
-}
-inline void GetRequest::set_holder(const std::string& value) {
-  _internal_set_holder(value);
-  // @@protoc_insertion_point(field_set:blob.GetRequest.holder)
-}
-inline std::string* GetRequest::mutable_holder() {
-  // @@protoc_insertion_point(field_mutable:blob.GetRequest.holder)
-  return _internal_mutable_holder();
-}
-inline const std::string& GetRequest::_internal_holder() const {
-  return holder_.Get();
-}
-inline void GetRequest::_internal_set_holder(const std::string& value) {
-  
-  holder_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void GetRequest::set_holder(std::string&& value) {
-  
-  holder_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:blob.GetRequest.holder)
-}
-inline void GetRequest::set_holder(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  
-  holder_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:blob.GetRequest.holder)
-}
-inline void GetRequest::set_holder(const char* value,
-    size_t size) {
-  
-  holder_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:blob.GetRequest.holder)
-}
-inline std::string* GetRequest::_internal_mutable_holder() {
-  
-  return holder_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* GetRequest::release_holder() {
-  // @@protoc_insertion_point(field_release:blob.GetRequest.holder)
-  return holder_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void GetRequest::set_allocated_holder(std::string* holder) {
-  if (holder != nullptr) {
-    
-  } else {
-    
-  }
-  holder_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), holder,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:blob.GetRequest.holder)
-}
-
-// -------------------------------------------------------------------
-
-// GetResponse
-
-// bytes dataChunk = 1;
-inline void GetResponse::clear_datachunk() {
-  datachunk_.ClearToEmpty();
-}
-inline const std::string& GetResponse::datachunk() const {
-  // @@protoc_insertion_point(field_get:blob.GetResponse.dataChunk)
-  return _internal_datachunk();
-}
-inline void GetResponse::set_datachunk(const std::string& value) {
-  _internal_set_datachunk(value);
-  // @@protoc_insertion_point(field_set:blob.GetResponse.dataChunk)
-}
-inline std::string* GetResponse::mutable_datachunk() {
-  // @@protoc_insertion_point(field_mutable:blob.GetResponse.dataChunk)
-  return _internal_mutable_datachunk();
-}
-inline const std::string& GetResponse::_internal_datachunk() const {
-  return datachunk_.Get();
-}
-inline void GetResponse::_internal_set_datachunk(const std::string& value) {
-  
-  datachunk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void GetResponse::set_datachunk(std::string&& value) {
-  
-  datachunk_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:blob.GetResponse.dataChunk)
-}
-inline void GetResponse::set_datachunk(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  
-  datachunk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:blob.GetResponse.dataChunk)
-}
-inline void GetResponse::set_datachunk(const void* value,
-    size_t size) {
-  
-  datachunk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:blob.GetResponse.dataChunk)
-}
-inline std::string* GetResponse::_internal_mutable_datachunk() {
-  
-  return datachunk_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* GetResponse::release_datachunk() {
-  // @@protoc_insertion_point(field_release:blob.GetResponse.dataChunk)
-  return datachunk_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void GetResponse::set_allocated_datachunk(std::string* datachunk) {
-  if (datachunk != nullptr) {
-    
-  } else {
-    
-  }
-  datachunk_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), datachunk,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:blob.GetResponse.dataChunk)
-}
-
-// -------------------------------------------------------------------
-
-// RemoveRequest
-
-// string holder = 1;
-inline void RemoveRequest::clear_holder() {
-  holder_.ClearToEmpty();
-}
-inline const std::string& RemoveRequest::holder() const {
-  // @@protoc_insertion_point(field_get:blob.RemoveRequest.holder)
-  return _internal_holder();
-}
-inline void RemoveRequest::set_holder(const std::string& value) {
-  _internal_set_holder(value);
-  // @@protoc_insertion_point(field_set:blob.RemoveRequest.holder)
-}
-inline std::string* RemoveRequest::mutable_holder() {
-  // @@protoc_insertion_point(field_mutable:blob.RemoveRequest.holder)
-  return _internal_mutable_holder();
-}
-inline const std::string& RemoveRequest::_internal_holder() const {
-  return holder_.Get();
-}
-inline void RemoveRequest::_internal_set_holder(const std::string& value) {
-  
-  holder_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArena());
-}
-inline void RemoveRequest::set_holder(std::string&& value) {
-  
-  holder_.Set(
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:blob.RemoveRequest.holder)
-}
-inline void RemoveRequest::set_holder(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  
-  holder_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(value), GetArena());
-  // @@protoc_insertion_point(field_set_char:blob.RemoveRequest.holder)
-}
-inline void RemoveRequest::set_holder(const char* value,
-    size_t size) {
-  
-  holder_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:blob.RemoveRequest.holder)
-}
-inline std::string* RemoveRequest::_internal_mutable_holder() {
-  
-  return holder_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-}
-inline std::string* RemoveRequest::release_holder() {
-  // @@protoc_insertion_point(field_release:blob.RemoveRequest.holder)
-  return holder_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void RemoveRequest::set_allocated_holder(std::string* holder) {
-  if (holder != nullptr) {
-    
-  } else {
-    
-  }
-  holder_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), holder,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:blob.RemoveRequest.holder)
-}
-
-#ifdef __GNUC__
-  #pragma GCC diagnostic pop
-#endif  // __GNUC__
-// -------------------------------------------------------------------
-
-// -------------------------------------------------------------------
-
-// -------------------------------------------------------------------
-
-// -------------------------------------------------------------------
-
-
-// @@protoc_insertion_point(namespace_scope)
-
-}  // namespace blob
-
-// @@protoc_insertion_point(global_scope)
-
-#include <google/protobuf/port_undef.inc>
-#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_blob_2eproto
diff --git a/shared/protos/_generated/blob.pb.cc b/shared/protos/_generated/blob.pb.cc
deleted file mode 100644
--- a/shared/protos/_generated/blob.pb.cc
+++ /dev/null
@@ -1,1277 +0,0 @@
-// @generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: blob.proto
-
-#include "blob.pb.h"
-
-#include <algorithm>
-
-#include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/extension_set.h>
-#include <google/protobuf/wire_format_lite.h>
-#include <google/protobuf/descriptor.h>
-#include <google/protobuf/generated_message_reflection.h>
-#include <google/protobuf/reflection_ops.h>
-#include <google/protobuf/wire_format.h>
-// @@protoc_insertion_point(includes)
-#include <google/protobuf/port_def.inc>
-
-PROTOBUF_PRAGMA_INIT_SEG
-namespace blob {
-constexpr PutRequest::PutRequest(
-  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
-  : _oneof_case_{}{}
-struct PutRequestDefaultTypeInternal {
-  constexpr PutRequestDefaultTypeInternal()
-    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
-  ~PutRequestDefaultTypeInternal() {}
-  union {
-    PutRequest _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PutRequestDefaultTypeInternal _PutRequest_default_instance_;
-constexpr PutResponse::PutResponse(
-  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
-  : dataexists_(false){}
-struct PutResponseDefaultTypeInternal {
-  constexpr PutResponseDefaultTypeInternal()
-    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
-  ~PutResponseDefaultTypeInternal() {}
-  union {
-    PutResponse _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PutResponseDefaultTypeInternal _PutResponse_default_instance_;
-constexpr GetRequest::GetRequest(
-  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
-  : holder_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){}
-struct GetRequestDefaultTypeInternal {
-  constexpr GetRequestDefaultTypeInternal()
-    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
-  ~GetRequestDefaultTypeInternal() {}
-  union {
-    GetRequest _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetRequestDefaultTypeInternal _GetRequest_default_instance_;
-constexpr GetResponse::GetResponse(
-  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
-  : datachunk_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){}
-struct GetResponseDefaultTypeInternal {
-  constexpr GetResponseDefaultTypeInternal()
-    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
-  ~GetResponseDefaultTypeInternal() {}
-  union {
-    GetResponse _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT GetResponseDefaultTypeInternal _GetResponse_default_instance_;
-constexpr RemoveRequest::RemoveRequest(
-  ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized)
-  : holder_(&::PROTOBUF_NAMESPACE_ID::internal::fixed_address_empty_string){}
-struct RemoveRequestDefaultTypeInternal {
-  constexpr RemoveRequestDefaultTypeInternal()
-    : _instance(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized{}) {}
-  ~RemoveRequestDefaultTypeInternal() {}
-  union {
-    RemoveRequest _instance;
-  };
-};
-PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT RemoveRequestDefaultTypeInternal _RemoveRequest_default_instance_;
-}  // namespace blob
-static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_blob_2eproto[5];
-static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_blob_2eproto = nullptr;
-static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_blob_2eproto = nullptr;
-
-const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_blob_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::blob::PutRequest, _internal_metadata_),
-  ~0u,  // no _extensions_
-  PROTOBUF_FIELD_OFFSET(::blob::PutRequest, _oneof_case_[0]),
-  ~0u,  // no _weak_field_map_
-  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
-  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
-  ::PROTOBUF_NAMESPACE_ID::internal::kInvalidFieldOffsetTag,
-  PROTOBUF_FIELD_OFFSET(::blob::PutRequest, data_),
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::blob::PutResponse, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::blob::PutResponse, dataexists_),
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::blob::GetRequest, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::blob::GetRequest, holder_),
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::blob::GetResponse, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::blob::GetResponse, datachunk_),
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::blob::RemoveRequest, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::blob::RemoveRequest, holder_),
-};
-static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
-  { 0, -1, sizeof(::blob::PutRequest)},
-  { 9, -1, sizeof(::blob::PutResponse)},
-  { 15, -1, sizeof(::blob::GetRequest)},
-  { 21, -1, sizeof(::blob::GetResponse)},
-  { 27, -1, sizeof(::blob::RemoveRequest)},
-};
-
-static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::blob::_PutRequest_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::blob::_PutResponse_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::blob::_GetRequest_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::blob::_GetResponse_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::blob::_RemoveRequest_default_instance_),
-};
-
-const char descriptor_table_protodef_blob_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
-  "\n\nblob.proto\022\004blob\032\033google/protobuf/empt"
-  "y.proto\"O\n\nPutRequest\022\020\n\006holder\030\001 \001(\tH\000\022"
-  "\022\n\010blobHash\030\002 \001(\tH\000\022\023\n\tdataChunk\030\003 \001(\014H\000"
-  "B\006\n\004data\"!\n\013PutResponse\022\022\n\ndataExists\030\001 "
-  "\001(\010\"\034\n\nGetRequest\022\016\n\006holder\030\001 \001(\t\" \n\013Get"
-  "Response\022\021\n\tdataChunk\030\001 \001(\014\"\037\n\rRemoveReq"
-  "uest\022\016\n\006holder\030\001 \001(\t2\250\001\n\013BlobService\0220\n\003"
-  "Put\022\020.blob.PutRequest\032\021.blob.PutResponse"
-  "\"\000(\0010\001\022.\n\003Get\022\020.blob.GetRequest\032\021.blob.G"
-  "etResponse\"\0000\001\0227\n\006Remove\022\023.blob.RemoveRe"
-  "quest\032\026.google.protobuf.Empty\"\000b\006proto3"
-  ;
-static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_blob_2eproto_deps[1] = {
-  &::descriptor_table_google_2fprotobuf_2fempty_2eproto,
-};
-static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_blob_2eproto_once;
-const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_blob_2eproto = {
-  false, false, 439, descriptor_table_protodef_blob_2eproto, "blob.proto", 
-  &descriptor_table_blob_2eproto_once, descriptor_table_blob_2eproto_deps, 1, 5,
-  schemas, file_default_instances, TableStruct_blob_2eproto::offsets,
-  file_level_metadata_blob_2eproto, file_level_enum_descriptors_blob_2eproto, file_level_service_descriptors_blob_2eproto,
-};
-PROTOBUF_ATTRIBUTE_WEAK ::PROTOBUF_NAMESPACE_ID::Metadata
-descriptor_table_blob_2eproto_metadata_getter(int index) {
-  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_blob_2eproto);
-  return descriptor_table_blob_2eproto.file_level_metadata[index];
-}
-
-// Force running AddDescriptors() at dynamic initialization time.
-PROTOBUF_ATTRIBUTE_INIT_PRIORITY static ::PROTOBUF_NAMESPACE_ID::internal::AddDescriptorsRunner dynamic_init_dummy_blob_2eproto(&descriptor_table_blob_2eproto);
-namespace blob {
-
-// ===================================================================
-
-class PutRequest::_Internal {
- public:
-};
-
-PutRequest::PutRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:blob.PutRequest)
-}
-PutRequest::PutRequest(const PutRequest& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message() {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  clear_has_data();
-  switch (from.data_case()) {
-    case kHolder: {
-      _internal_set_holder(from._internal_holder());
-      break;
-    }
-    case kBlobHash: {
-      _internal_set_blobhash(from._internal_blobhash());
-      break;
-    }
-    case kDataChunk: {
-      _internal_set_datachunk(from._internal_datachunk());
-      break;
-    }
-    case DATA_NOT_SET: {
-      break;
-    }
-  }
-  // @@protoc_insertion_point(copy_constructor:blob.PutRequest)
-}
-
-void PutRequest::SharedCtor() {
-clear_has_data();
-}
-
-PutRequest::~PutRequest() {
-  // @@protoc_insertion_point(destructor:blob.PutRequest)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void PutRequest::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  if (has_data()) {
-    clear_data();
-  }
-}
-
-void PutRequest::ArenaDtor(void* object) {
-  PutRequest* _this = reinterpret_cast< PutRequest* >(object);
-  (void)_this;
-}
-void PutRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void PutRequest::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-
-void PutRequest::clear_data() {
-// @@protoc_insertion_point(one_of_clear_start:blob.PutRequest)
-  switch (data_case()) {
-    case kHolder: {
-      data_.holder_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-      break;
-    }
-    case kBlobHash: {
-      data_.blobhash_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-      break;
-    }
-    case kDataChunk: {
-      data_.datachunk_.Destroy(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArena());
-      break;
-    }
-    case DATA_NOT_SET: {
-      break;
-    }
-  }
-  _oneof_case_[0] = DATA_NOT_SET;
-}
-
-
-void PutRequest::Clear() {
-// @@protoc_insertion_point(message_clear_start:blob.PutRequest)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  clear_data();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* PutRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // string holder = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          auto str = _internal_mutable_holder();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "blob.PutRequest.holder"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // string blobHash = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
-          auto str = _internal_mutable_blobhash();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "blob.PutRequest.blobHash"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bytes dataChunk = 3;
-      case 3:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
-          auto str = _internal_mutable_datachunk();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-
-::PROTOBUF_NAMESPACE_ID::uint8* PutRequest::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:blob.PutRequest)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string holder = 1;
-  if (_internal_has_holder()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_holder().data(), static_cast<int>(this->_internal_holder().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "blob.PutRequest.holder");
-    target = stream->WriteStringMaybeAliased(
-        1, this->_internal_holder(), target);
-  }
-
-  // string blobHash = 2;
-  if (_internal_has_blobhash()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_blobhash().data(), static_cast<int>(this->_internal_blobhash().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "blob.PutRequest.blobHash");
-    target = stream->WriteStringMaybeAliased(
-        2, this->_internal_blobhash(), target);
-  }
-
-  // bytes dataChunk = 3;
-  if (_internal_has_datachunk()) {
-    target = stream->WriteBytesMaybeAliased(
-        3, this->_internal_datachunk(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:blob.PutRequest)
-  return target;
-}
-
-size_t PutRequest::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:blob.PutRequest)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  switch (data_case()) {
-    // string holder = 1;
-    case kHolder: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-          this->_internal_holder());
-      break;
-    }
-    // string blobHash = 2;
-    case kBlobHash: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-          this->_internal_blobhash());
-      break;
-    }
-    // bytes dataChunk = 3;
-    case kDataChunk: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
-          this->_internal_datachunk());
-      break;
-    }
-    case DATA_NOT_SET: {
-      break;
-    }
-  }
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void PutRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:blob.PutRequest)
-  GOOGLE_DCHECK_NE(&from, this);
-  const PutRequest* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<PutRequest>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:blob.PutRequest)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:blob.PutRequest)
-    MergeFrom(*source);
-  }
-}
-
-void PutRequest::MergeFrom(const PutRequest& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:blob.PutRequest)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  switch (from.data_case()) {
-    case kHolder: {
-      _internal_set_holder(from._internal_holder());
-      break;
-    }
-    case kBlobHash: {
-      _internal_set_blobhash(from._internal_blobhash());
-      break;
-    }
-    case kDataChunk: {
-      _internal_set_datachunk(from._internal_datachunk());
-      break;
-    }
-    case DATA_NOT_SET: {
-      break;
-    }
-  }
-}
-
-void PutRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:blob.PutRequest)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void PutRequest::CopyFrom(const PutRequest& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:blob.PutRequest)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool PutRequest::IsInitialized() const {
-  return true;
-}
-
-void PutRequest::InternalSwap(PutRequest* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  swap(data_, other->data_);
-  swap(_oneof_case_[0], other->_oneof_case_[0]);
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata PutRequest::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// ===================================================================
-
-class PutResponse::_Internal {
- public:
-};
-
-PutResponse::PutResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:blob.PutResponse)
-}
-PutResponse::PutResponse(const PutResponse& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message() {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  dataexists_ = from.dataexists_;
-  // @@protoc_insertion_point(copy_constructor:blob.PutResponse)
-}
-
-void PutResponse::SharedCtor() {
-dataexists_ = false;
-}
-
-PutResponse::~PutResponse() {
-  // @@protoc_insertion_point(destructor:blob.PutResponse)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void PutResponse::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-}
-
-void PutResponse::ArenaDtor(void* object) {
-  PutResponse* _this = reinterpret_cast< PutResponse* >(object);
-  (void)_this;
-}
-void PutResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void PutResponse::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-
-void PutResponse::Clear() {
-// @@protoc_insertion_point(message_clear_start:blob.PutResponse)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  dataexists_ = false;
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* PutResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // bool dataExists = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
-          dataexists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-
-::PROTOBUF_NAMESPACE_ID::uint8* PutResponse::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:blob.PutResponse)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // bool dataExists = 1;
-  if (this->dataexists() != 0) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(1, this->_internal_dataexists(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:blob.PutResponse)
-  return target;
-}
-
-size_t PutResponse::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:blob.PutResponse)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // bool dataExists = 1;
-  if (this->dataexists() != 0) {
-    total_size += 1 + 1;
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void PutResponse::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:blob.PutResponse)
-  GOOGLE_DCHECK_NE(&from, this);
-  const PutResponse* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<PutResponse>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:blob.PutResponse)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:blob.PutResponse)
-    MergeFrom(*source);
-  }
-}
-
-void PutResponse::MergeFrom(const PutResponse& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:blob.PutResponse)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (from.dataexists() != 0) {
-    _internal_set_dataexists(from._internal_dataexists());
-  }
-}
-
-void PutResponse::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:blob.PutResponse)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void PutResponse::CopyFrom(const PutResponse& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:blob.PutResponse)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool PutResponse::IsInitialized() const {
-  return true;
-}
-
-void PutResponse::InternalSwap(PutResponse* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  swap(dataexists_, other->dataexists_);
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata PutResponse::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// ===================================================================
-
-class GetRequest::_Internal {
- public:
-};
-
-GetRequest::GetRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:blob.GetRequest)
-}
-GetRequest::GetRequest(const GetRequest& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message() {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  holder_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (!from._internal_holder().empty()) {
-    holder_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_holder(), 
-      GetArena());
-  }
-  // @@protoc_insertion_point(copy_constructor:blob.GetRequest)
-}
-
-void GetRequest::SharedCtor() {
-holder_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-
-GetRequest::~GetRequest() {
-  // @@protoc_insertion_point(destructor:blob.GetRequest)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void GetRequest::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  holder_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-
-void GetRequest::ArenaDtor(void* object) {
-  GetRequest* _this = reinterpret_cast< GetRequest* >(object);
-  (void)_this;
-}
-void GetRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void GetRequest::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-
-void GetRequest::Clear() {
-// @@protoc_insertion_point(message_clear_start:blob.GetRequest)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  holder_.ClearToEmpty();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* GetRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // string holder = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          auto str = _internal_mutable_holder();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "blob.GetRequest.holder"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-
-::PROTOBUF_NAMESPACE_ID::uint8* GetRequest::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:blob.GetRequest)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string holder = 1;
-  if (this->holder().size() > 0) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_holder().data(), static_cast<int>(this->_internal_holder().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "blob.GetRequest.holder");
-    target = stream->WriteStringMaybeAliased(
-        1, this->_internal_holder(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:blob.GetRequest)
-  return target;
-}
-
-size_t GetRequest::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:blob.GetRequest)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // string holder = 1;
-  if (this->holder().size() > 0) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-        this->_internal_holder());
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void GetRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:blob.GetRequest)
-  GOOGLE_DCHECK_NE(&from, this);
-  const GetRequest* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<GetRequest>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:blob.GetRequest)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:blob.GetRequest)
-    MergeFrom(*source);
-  }
-}
-
-void GetRequest::MergeFrom(const GetRequest& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:blob.GetRequest)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (from.holder().size() > 0) {
-    _internal_set_holder(from._internal_holder());
-  }
-}
-
-void GetRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:blob.GetRequest)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void GetRequest::CopyFrom(const GetRequest& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:blob.GetRequest)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool GetRequest::IsInitialized() const {
-  return true;
-}
-
-void GetRequest::InternalSwap(GetRequest* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  holder_.Swap(&other->holder_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata GetRequest::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// ===================================================================
-
-class GetResponse::_Internal {
- public:
-};
-
-GetResponse::GetResponse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:blob.GetResponse)
-}
-GetResponse::GetResponse(const GetResponse& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message() {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  datachunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (!from._internal_datachunk().empty()) {
-    datachunk_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_datachunk(), 
-      GetArena());
-  }
-  // @@protoc_insertion_point(copy_constructor:blob.GetResponse)
-}
-
-void GetResponse::SharedCtor() {
-datachunk_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-
-GetResponse::~GetResponse() {
-  // @@protoc_insertion_point(destructor:blob.GetResponse)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void GetResponse::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  datachunk_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-
-void GetResponse::ArenaDtor(void* object) {
-  GetResponse* _this = reinterpret_cast< GetResponse* >(object);
-  (void)_this;
-}
-void GetResponse::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void GetResponse::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-
-void GetResponse::Clear() {
-// @@protoc_insertion_point(message_clear_start:blob.GetResponse)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  datachunk_.ClearToEmpty();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* GetResponse::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // bytes dataChunk = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          auto str = _internal_mutable_datachunk();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-
-::PROTOBUF_NAMESPACE_ID::uint8* GetResponse::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:blob.GetResponse)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // bytes dataChunk = 1;
-  if (this->datachunk().size() > 0) {
-    target = stream->WriteBytesMaybeAliased(
-        1, this->_internal_datachunk(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:blob.GetResponse)
-  return target;
-}
-
-size_t GetResponse::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:blob.GetResponse)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // bytes dataChunk = 1;
-  if (this->datachunk().size() > 0) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
-        this->_internal_datachunk());
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void GetResponse::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:blob.GetResponse)
-  GOOGLE_DCHECK_NE(&from, this);
-  const GetResponse* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<GetResponse>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:blob.GetResponse)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:blob.GetResponse)
-    MergeFrom(*source);
-  }
-}
-
-void GetResponse::MergeFrom(const GetResponse& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:blob.GetResponse)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (from.datachunk().size() > 0) {
-    _internal_set_datachunk(from._internal_datachunk());
-  }
-}
-
-void GetResponse::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:blob.GetResponse)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void GetResponse::CopyFrom(const GetResponse& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:blob.GetResponse)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool GetResponse::IsInitialized() const {
-  return true;
-}
-
-void GetResponse::InternalSwap(GetResponse* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  datachunk_.Swap(&other->datachunk_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata GetResponse::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// ===================================================================
-
-class RemoveRequest::_Internal {
- public:
-};
-
-RemoveRequest::RemoveRequest(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:blob.RemoveRequest)
-}
-RemoveRequest::RemoveRequest(const RemoveRequest& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message() {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  holder_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (!from._internal_holder().empty()) {
-    holder_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, from._internal_holder(), 
-      GetArena());
-  }
-  // @@protoc_insertion_point(copy_constructor:blob.RemoveRequest)
-}
-
-void RemoveRequest::SharedCtor() {
-holder_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-
-RemoveRequest::~RemoveRequest() {
-  // @@protoc_insertion_point(destructor:blob.RemoveRequest)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void RemoveRequest::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  holder_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-}
-
-void RemoveRequest::ArenaDtor(void* object) {
-  RemoveRequest* _this = reinterpret_cast< RemoveRequest* >(object);
-  (void)_this;
-}
-void RemoveRequest::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void RemoveRequest::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-
-void RemoveRequest::Clear() {
-// @@protoc_insertion_point(message_clear_start:blob.RemoveRequest)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  holder_.ClearToEmpty();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* RemoveRequest::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // string holder = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          auto str = _internal_mutable_holder();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "blob.RemoveRequest.holder"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-
-::PROTOBUF_NAMESPACE_ID::uint8* RemoveRequest::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:blob.RemoveRequest)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string holder = 1;
-  if (this->holder().size() > 0) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_holder().data(), static_cast<int>(this->_internal_holder().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "blob.RemoveRequest.holder");
-    target = stream->WriteStringMaybeAliased(
-        1, this->_internal_holder(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:blob.RemoveRequest)
-  return target;
-}
-
-size_t RemoveRequest::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:blob.RemoveRequest)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // string holder = 1;
-  if (this->holder().size() > 0) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-        this->_internal_holder());
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void RemoveRequest::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:blob.RemoveRequest)
-  GOOGLE_DCHECK_NE(&from, this);
-  const RemoveRequest* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<RemoveRequest>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:blob.RemoveRequest)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:blob.RemoveRequest)
-    MergeFrom(*source);
-  }
-}
-
-void RemoveRequest::MergeFrom(const RemoveRequest& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:blob.RemoveRequest)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (from.holder().size() > 0) {
-    _internal_set_holder(from._internal_holder());
-  }
-}
-
-void RemoveRequest::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:blob.RemoveRequest)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void RemoveRequest::CopyFrom(const RemoveRequest& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:blob.RemoveRequest)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool RemoveRequest::IsInitialized() const {
-  return true;
-}
-
-void RemoveRequest::InternalSwap(RemoveRequest* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  holder_.Swap(&other->holder_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata RemoveRequest::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// @@protoc_insertion_point(namespace_scope)
-}  // namespace blob
-PROTOBUF_NAMESPACE_OPEN
-template<> PROTOBUF_NOINLINE ::blob::PutRequest* Arena::CreateMaybeMessage< ::blob::PutRequest >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::blob::PutRequest >(arena);
-}
-template<> PROTOBUF_NOINLINE ::blob::PutResponse* Arena::CreateMaybeMessage< ::blob::PutResponse >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::blob::PutResponse >(arena);
-}
-template<> PROTOBUF_NOINLINE ::blob::GetRequest* Arena::CreateMaybeMessage< ::blob::GetRequest >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::blob::GetRequest >(arena);
-}
-template<> PROTOBUF_NOINLINE ::blob::GetResponse* Arena::CreateMaybeMessage< ::blob::GetResponse >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::blob::GetResponse >(arena);
-}
-template<> PROTOBUF_NOINLINE ::blob::RemoveRequest* Arena::CreateMaybeMessage< ::blob::RemoveRequest >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::blob::RemoveRequest >(arena);
-}
-PROTOBUF_NAMESPACE_CLOSE
-
-// @@protoc_insertion_point(global_scope)
-#include <google/protobuf/port_undef.inc>