diff --git a/CreatedGrpc/CreatedGrpc.vcxitems b/CreatedGrpc/CreatedGrpc.vcxitems
index 2a02ca3490cf0ce1c30b8c2d9a2a32d2e9be84cd..63315ac95776e1b3f98eaedbadd23d58b38ab90c 100644
--- a/CreatedGrpc/CreatedGrpc.vcxitems
+++ b/CreatedGrpc/CreatedGrpc.vcxitems
@@ -4,6 +4,7 @@
     <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
     <HasSharedItems>true</HasSharedItems>
     <ItemsProjectGuid>{9c78546c-04b5-45bb-99c4-9ffbaf846bfe}</ItemsProjectGuid>
+    <ItemsProjectName>CreatedGrpc_Windows</ItemsProjectName>
   </PropertyGroup>
   <ItemDefinitionGroup>
     <ClCompile>
diff --git a/CreatedGrpc_Linux/CreatedGrpc_Linux.vcxitems b/CreatedGrpc_Linux/CreatedGrpc_Linux.vcxitems
new file mode 100644
index 0000000000000000000000000000000000000000..b91555e96b5375c3a9c66be75be8402156770af7
--- /dev/null
+++ b/CreatedGrpc_Linux/CreatedGrpc_Linux.vcxitems
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup Label="Globals">
+    <MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
+    <HasSharedItems>true</HasSharedItems>
+    <ItemsProjectGuid>{82c215f4-a8fa-4dd0-9a5c-27de9b07d0f1}</ItemsProjectGuid>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <ClCompile>
+      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);$(MSBuildThisFileDirectory)</AdditionalIncludeDirectories>
+    </ClCompile>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ProjectCapability Include="SourceItemsFromImports" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="$(MSBuildThisFileDirectory)ModeliRpc.grpc.pb.h" />
+    <ClInclude Include="$(MSBuildThisFileDirectory)ModeliRpc.pb.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="$(MSBuildThisFileDirectory)ModeliRpc.grpc.pb.cc" />
+    <ClCompile Include="$(MSBuildThisFileDirectory)ModeliRpc.pb.cc" />
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/CreatedGrpc_Linux/ModeliRpc.grpc.pb.cc b/CreatedGrpc_Linux/ModeliRpc.grpc.pb.cc
new file mode 100644
index 0000000000000000000000000000000000000000..a118618a34646e18cd07c7a7f4e1f0b1f1a7f182
--- /dev/null
+++ b/CreatedGrpc_Linux/ModeliRpc.grpc.pb.cc
@@ -0,0 +1,402 @@
+// Generated by the gRPC C++ plugin.
+// If you make any local change, they will be lost.
+// source: ModeliRpc.proto
+
+#include "ModeliRpc.pb.h"
+#include "ModeliRpc.grpc.pb.h"
+
+#include <grpc++/impl/codegen/async_stream.h>
+#include <grpc++/impl/codegen/async_unary_call.h>
+#include <grpc++/impl/codegen/channel_interface.h>
+#include <grpc++/impl/codegen/client_unary_call.h>
+#include <grpc++/impl/codegen/method_handler_impl.h>
+#include <grpc++/impl/codegen/rpc_service_method.h>
+#include <grpc++/impl/codegen/service_type.h>
+#include <grpc++/impl/codegen/sync_stream.h>
+namespace ModeliRpc {
+
+static const char* ModeliBackend_method_names[] = {
+  "/ModeliRpc.ModeliBackend/Play",
+  "/ModeliRpc.ModeliBackend/PlayFast",
+  "/ModeliRpc.ModeliBackend/Pause",
+  "/ModeliRpc.ModeliBackend/Stop",
+  "/ModeliRpc.ModeliBackend/AddFmu",
+  "/ModeliRpc.ModeliBackend/RemoveFmu",
+  "/ModeliRpc.ModeliBackend/AddChannelLink",
+  "/ModeliRpc.ModeliBackend/RemoveChannelLink",
+  "/ModeliRpc.ModeliBackend/SetInt",
+  "/ModeliRpc.ModeliBackend/SetReal",
+  "/ModeliRpc.ModeliBackend/SetBool",
+  "/ModeliRpc.ModeliBackend/SetString",
+  "/ModeliRpc.ModeliBackend/NewValues",
+  "/ModeliRpc.ModeliBackend/Log",
+};
+
+std::unique_ptr< ModeliBackend::Stub> ModeliBackend::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) {
+  (void)options;
+  std::unique_ptr< ModeliBackend::Stub> stub(new ModeliBackend::Stub(channel));
+  return stub;
+}
+
+ModeliBackend::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel)
+  : channel_(channel), rpcmethod_Play_(ModeliBackend_method_names[0], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+  , rpcmethod_PlayFast_(ModeliBackend_method_names[1], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+  , rpcmethod_Pause_(ModeliBackend_method_names[2], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+  , rpcmethod_Stop_(ModeliBackend_method_names[3], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+  , rpcmethod_AddFmu_(ModeliBackend_method_names[4], ::grpc::internal::RpcMethod::CLIENT_STREAMING, channel)
+  , rpcmethod_RemoveFmu_(ModeliBackend_method_names[5], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+  , rpcmethod_AddChannelLink_(ModeliBackend_method_names[6], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+  , rpcmethod_RemoveChannelLink_(ModeliBackend_method_names[7], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+  , rpcmethod_SetInt_(ModeliBackend_method_names[8], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+  , rpcmethod_SetReal_(ModeliBackend_method_names[9], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+  , rpcmethod_SetBool_(ModeliBackend_method_names[10], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+  , rpcmethod_SetString_(ModeliBackend_method_names[11], ::grpc::internal::RpcMethod::NORMAL_RPC, channel)
+  , rpcmethod_NewValues_(ModeliBackend_method_names[12], ::grpc::internal::RpcMethod::SERVER_STREAMING, channel)
+  , rpcmethod_Log_(ModeliBackend_method_names[13], ::grpc::internal::RpcMethod::SERVER_STREAMING, channel)
+  {}
+
+::grpc::Status ModeliBackend::Stub::Play(::grpc::ClientContext* context, const ::ModeliRpc::PlayRequest& request, ::ModeliRpc::PlayResponse* response) {
+  return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_Play_, context, request, response);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::PlayResponse>* ModeliBackend::Stub::AsyncPlayRaw(::grpc::ClientContext* context, const ::ModeliRpc::PlayRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::PlayResponse>::Create(channel_.get(), cq, rpcmethod_Play_, context, request, true);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::PlayResponse>* ModeliBackend::Stub::PrepareAsyncPlayRaw(::grpc::ClientContext* context, const ::ModeliRpc::PlayRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::PlayResponse>::Create(channel_.get(), cq, rpcmethod_Play_, context, request, false);
+}
+
+::grpc::Status ModeliBackend::Stub::PlayFast(::grpc::ClientContext* context, const ::ModeliRpc::PlayFastRequest& request, ::ModeliRpc::PlayFastResponse* response) {
+  return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_PlayFast_, context, request, response);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::PlayFastResponse>* ModeliBackend::Stub::AsyncPlayFastRaw(::grpc::ClientContext* context, const ::ModeliRpc::PlayFastRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::PlayFastResponse>::Create(channel_.get(), cq, rpcmethod_PlayFast_, context, request, true);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::PlayFastResponse>* ModeliBackend::Stub::PrepareAsyncPlayFastRaw(::grpc::ClientContext* context, const ::ModeliRpc::PlayFastRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::PlayFastResponse>::Create(channel_.get(), cq, rpcmethod_PlayFast_, context, request, false);
+}
+
+::grpc::Status ModeliBackend::Stub::Pause(::grpc::ClientContext* context, const ::ModeliRpc::PauseRequest& request, ::ModeliRpc::PauseResponse* response) {
+  return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_Pause_, context, request, response);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::PauseResponse>* ModeliBackend::Stub::AsyncPauseRaw(::grpc::ClientContext* context, const ::ModeliRpc::PauseRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::PauseResponse>::Create(channel_.get(), cq, rpcmethod_Pause_, context, request, true);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::PauseResponse>* ModeliBackend::Stub::PrepareAsyncPauseRaw(::grpc::ClientContext* context, const ::ModeliRpc::PauseRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::PauseResponse>::Create(channel_.get(), cq, rpcmethod_Pause_, context, request, false);
+}
+
+::grpc::Status ModeliBackend::Stub::Stop(::grpc::ClientContext* context, const ::ModeliRpc::StopRequest& request, ::ModeliRpc::StopResponse* response) {
+  return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_Stop_, context, request, response);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::StopResponse>* ModeliBackend::Stub::AsyncStopRaw(::grpc::ClientContext* context, const ::ModeliRpc::StopRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::StopResponse>::Create(channel_.get(), cq, rpcmethod_Stop_, context, request, true);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::StopResponse>* ModeliBackend::Stub::PrepareAsyncStopRaw(::grpc::ClientContext* context, const ::ModeliRpc::StopRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::StopResponse>::Create(channel_.get(), cq, rpcmethod_Stop_, context, request, false);
+}
+
+::grpc::ClientWriter< ::ModeliRpc::AddFmuRequest>* ModeliBackend::Stub::AddFmuRaw(::grpc::ClientContext* context, ::ModeliRpc::AddFmuResponse* response) {
+  return ::grpc::internal::ClientWriterFactory< ::ModeliRpc::AddFmuRequest>::Create(channel_.get(), rpcmethod_AddFmu_, context, response);
+}
+
+::grpc::ClientAsyncWriter< ::ModeliRpc::AddFmuRequest>* ModeliBackend::Stub::AsyncAddFmuRaw(::grpc::ClientContext* context, ::ModeliRpc::AddFmuResponse* response, ::grpc::CompletionQueue* cq, void* tag) {
+  return ::grpc::internal::ClientAsyncWriterFactory< ::ModeliRpc::AddFmuRequest>::Create(channel_.get(), cq, rpcmethod_AddFmu_, context, response, true, tag);
+}
+
+::grpc::ClientAsyncWriter< ::ModeliRpc::AddFmuRequest>* ModeliBackend::Stub::PrepareAsyncAddFmuRaw(::grpc::ClientContext* context, ::ModeliRpc::AddFmuResponse* response, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncWriterFactory< ::ModeliRpc::AddFmuRequest>::Create(channel_.get(), cq, rpcmethod_AddFmu_, context, response, false, nullptr);
+}
+
+::grpc::Status ModeliBackend::Stub::RemoveFmu(::grpc::ClientContext* context, const ::ModeliRpc::RemoveFmuRequest& request, ::ModeliRpc::RemoveFmuResponse* response) {
+  return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_RemoveFmu_, context, request, response);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::RemoveFmuResponse>* ModeliBackend::Stub::AsyncRemoveFmuRaw(::grpc::ClientContext* context, const ::ModeliRpc::RemoveFmuRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::RemoveFmuResponse>::Create(channel_.get(), cq, rpcmethod_RemoveFmu_, context, request, true);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::RemoveFmuResponse>* ModeliBackend::Stub::PrepareAsyncRemoveFmuRaw(::grpc::ClientContext* context, const ::ModeliRpc::RemoveFmuRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::RemoveFmuResponse>::Create(channel_.get(), cq, rpcmethod_RemoveFmu_, context, request, false);
+}
+
+::grpc::Status ModeliBackend::Stub::AddChannelLink(::grpc::ClientContext* context, const ::ModeliRpc::AddChannelLinkRequest& request, ::ModeliRpc::AddChannelLinkResponse* response) {
+  return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_AddChannelLink_, context, request, response);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::AddChannelLinkResponse>* ModeliBackend::Stub::AsyncAddChannelLinkRaw(::grpc::ClientContext* context, const ::ModeliRpc::AddChannelLinkRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::AddChannelLinkResponse>::Create(channel_.get(), cq, rpcmethod_AddChannelLink_, context, request, true);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::AddChannelLinkResponse>* ModeliBackend::Stub::PrepareAsyncAddChannelLinkRaw(::grpc::ClientContext* context, const ::ModeliRpc::AddChannelLinkRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::AddChannelLinkResponse>::Create(channel_.get(), cq, rpcmethod_AddChannelLink_, context, request, false);
+}
+
+::grpc::Status ModeliBackend::Stub::RemoveChannelLink(::grpc::ClientContext* context, const ::ModeliRpc::RemoveChannelLinkRequest& request, ::ModeliRpc::RemoveChannelLinkResponse* response) {
+  return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_RemoveChannelLink_, context, request, response);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::RemoveChannelLinkResponse>* ModeliBackend::Stub::AsyncRemoveChannelLinkRaw(::grpc::ClientContext* context, const ::ModeliRpc::RemoveChannelLinkRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::RemoveChannelLinkResponse>::Create(channel_.get(), cq, rpcmethod_RemoveChannelLink_, context, request, true);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::RemoveChannelLinkResponse>* ModeliBackend::Stub::PrepareAsyncRemoveChannelLinkRaw(::grpc::ClientContext* context, const ::ModeliRpc::RemoveChannelLinkRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::RemoveChannelLinkResponse>::Create(channel_.get(), cq, rpcmethod_RemoveChannelLink_, context, request, false);
+}
+
+::grpc::Status ModeliBackend::Stub::SetInt(::grpc::ClientContext* context, const ::ModeliRpc::SetIntRequest& request, ::ModeliRpc::SetIntResponse* response) {
+  return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_SetInt_, context, request, response);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetIntResponse>* ModeliBackend::Stub::AsyncSetIntRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetIntRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::SetIntResponse>::Create(channel_.get(), cq, rpcmethod_SetInt_, context, request, true);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetIntResponse>* ModeliBackend::Stub::PrepareAsyncSetIntRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetIntRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::SetIntResponse>::Create(channel_.get(), cq, rpcmethod_SetInt_, context, request, false);
+}
+
+::grpc::Status ModeliBackend::Stub::SetReal(::grpc::ClientContext* context, const ::ModeliRpc::SetRealRequest& request, ::ModeliRpc::SetRealResponse* response) {
+  return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_SetReal_, context, request, response);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetRealResponse>* ModeliBackend::Stub::AsyncSetRealRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetRealRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::SetRealResponse>::Create(channel_.get(), cq, rpcmethod_SetReal_, context, request, true);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetRealResponse>* ModeliBackend::Stub::PrepareAsyncSetRealRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetRealRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::SetRealResponse>::Create(channel_.get(), cq, rpcmethod_SetReal_, context, request, false);
+}
+
+::grpc::Status ModeliBackend::Stub::SetBool(::grpc::ClientContext* context, const ::ModeliRpc::SetBoolRequest& request, ::ModeliRpc::SetBoolResponse* response) {
+  return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_SetBool_, context, request, response);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetBoolResponse>* ModeliBackend::Stub::AsyncSetBoolRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetBoolRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::SetBoolResponse>::Create(channel_.get(), cq, rpcmethod_SetBool_, context, request, true);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetBoolResponse>* ModeliBackend::Stub::PrepareAsyncSetBoolRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetBoolRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::SetBoolResponse>::Create(channel_.get(), cq, rpcmethod_SetBool_, context, request, false);
+}
+
+::grpc::Status ModeliBackend::Stub::SetString(::grpc::ClientContext* context, const ::ModeliRpc::SetStringRequest& request, ::ModeliRpc::SetStringResponse* response) {
+  return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_SetString_, context, request, response);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetStringResponse>* ModeliBackend::Stub::AsyncSetStringRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetStringRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::SetStringResponse>::Create(channel_.get(), cq, rpcmethod_SetString_, context, request, true);
+}
+
+::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetStringResponse>* ModeliBackend::Stub::PrepareAsyncSetStringRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetStringRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncResponseReaderFactory< ::ModeliRpc::SetStringResponse>::Create(channel_.get(), cq, rpcmethod_SetString_, context, request, false);
+}
+
+::grpc::ClientReader< ::ModeliRpc::NewValuesResponse>* ModeliBackend::Stub::NewValuesRaw(::grpc::ClientContext* context, const ::ModeliRpc::NewValuesRequest& request) {
+  return ::grpc::internal::ClientReaderFactory< ::ModeliRpc::NewValuesResponse>::Create(channel_.get(), rpcmethod_NewValues_, context, request);
+}
+
+::grpc::ClientAsyncReader< ::ModeliRpc::NewValuesResponse>* ModeliBackend::Stub::AsyncNewValuesRaw(::grpc::ClientContext* context, const ::ModeliRpc::NewValuesRequest& request, ::grpc::CompletionQueue* cq, void* tag) {
+  return ::grpc::internal::ClientAsyncReaderFactory< ::ModeliRpc::NewValuesResponse>::Create(channel_.get(), cq, rpcmethod_NewValues_, context, request, true, tag);
+}
+
+::grpc::ClientAsyncReader< ::ModeliRpc::NewValuesResponse>* ModeliBackend::Stub::PrepareAsyncNewValuesRaw(::grpc::ClientContext* context, const ::ModeliRpc::NewValuesRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncReaderFactory< ::ModeliRpc::NewValuesResponse>::Create(channel_.get(), cq, rpcmethod_NewValues_, context, request, false, nullptr);
+}
+
+::grpc::ClientReader< ::ModeliRpc::LogResponse>* ModeliBackend::Stub::LogRaw(::grpc::ClientContext* context, const ::ModeliRpc::LogRequest& request) {
+  return ::grpc::internal::ClientReaderFactory< ::ModeliRpc::LogResponse>::Create(channel_.get(), rpcmethod_Log_, context, request);
+}
+
+::grpc::ClientAsyncReader< ::ModeliRpc::LogResponse>* ModeliBackend::Stub::AsyncLogRaw(::grpc::ClientContext* context, const ::ModeliRpc::LogRequest& request, ::grpc::CompletionQueue* cq, void* tag) {
+  return ::grpc::internal::ClientAsyncReaderFactory< ::ModeliRpc::LogResponse>::Create(channel_.get(), cq, rpcmethod_Log_, context, request, true, tag);
+}
+
+::grpc::ClientAsyncReader< ::ModeliRpc::LogResponse>* ModeliBackend::Stub::PrepareAsyncLogRaw(::grpc::ClientContext* context, const ::ModeliRpc::LogRequest& request, ::grpc::CompletionQueue* cq) {
+  return ::grpc::internal::ClientAsyncReaderFactory< ::ModeliRpc::LogResponse>::Create(channel_.get(), cq, rpcmethod_Log_, context, request, false, nullptr);
+}
+
+ModeliBackend::Service::Service() {
+  AddMethod(new ::grpc::internal::RpcServiceMethod(
+      ModeliBackend_method_names[0],
+      ::grpc::internal::RpcMethod::NORMAL_RPC,
+      new ::grpc::internal::RpcMethodHandler< ModeliBackend::Service, ::ModeliRpc::PlayRequest, ::ModeliRpc::PlayResponse>(
+          std::mem_fn(&ModeliBackend::Service::Play), this)));
+  AddMethod(new ::grpc::internal::RpcServiceMethod(
+      ModeliBackend_method_names[1],
+      ::grpc::internal::RpcMethod::NORMAL_RPC,
+      new ::grpc::internal::RpcMethodHandler< ModeliBackend::Service, ::ModeliRpc::PlayFastRequest, ::ModeliRpc::PlayFastResponse>(
+          std::mem_fn(&ModeliBackend::Service::PlayFast), this)));
+  AddMethod(new ::grpc::internal::RpcServiceMethod(
+      ModeliBackend_method_names[2],
+      ::grpc::internal::RpcMethod::NORMAL_RPC,
+      new ::grpc::internal::RpcMethodHandler< ModeliBackend::Service, ::ModeliRpc::PauseRequest, ::ModeliRpc::PauseResponse>(
+          std::mem_fn(&ModeliBackend::Service::Pause), this)));
+  AddMethod(new ::grpc::internal::RpcServiceMethod(
+      ModeliBackend_method_names[3],
+      ::grpc::internal::RpcMethod::NORMAL_RPC,
+      new ::grpc::internal::RpcMethodHandler< ModeliBackend::Service, ::ModeliRpc::StopRequest, ::ModeliRpc::StopResponse>(
+          std::mem_fn(&ModeliBackend::Service::Stop), this)));
+  AddMethod(new ::grpc::internal::RpcServiceMethod(
+      ModeliBackend_method_names[4],
+      ::grpc::internal::RpcMethod::CLIENT_STREAMING,
+      new ::grpc::internal::ClientStreamingHandler< ModeliBackend::Service, ::ModeliRpc::AddFmuRequest, ::ModeliRpc::AddFmuResponse>(
+          std::mem_fn(&ModeliBackend::Service::AddFmu), this)));
+  AddMethod(new ::grpc::internal::RpcServiceMethod(
+      ModeliBackend_method_names[5],
+      ::grpc::internal::RpcMethod::NORMAL_RPC,
+      new ::grpc::internal::RpcMethodHandler< ModeliBackend::Service, ::ModeliRpc::RemoveFmuRequest, ::ModeliRpc::RemoveFmuResponse>(
+          std::mem_fn(&ModeliBackend::Service::RemoveFmu), this)));
+  AddMethod(new ::grpc::internal::RpcServiceMethod(
+      ModeliBackend_method_names[6],
+      ::grpc::internal::RpcMethod::NORMAL_RPC,
+      new ::grpc::internal::RpcMethodHandler< ModeliBackend::Service, ::ModeliRpc::AddChannelLinkRequest, ::ModeliRpc::AddChannelLinkResponse>(
+          std::mem_fn(&ModeliBackend::Service::AddChannelLink), this)));
+  AddMethod(new ::grpc::internal::RpcServiceMethod(
+      ModeliBackend_method_names[7],
+      ::grpc::internal::RpcMethod::NORMAL_RPC,
+      new ::grpc::internal::RpcMethodHandler< ModeliBackend::Service, ::ModeliRpc::RemoveChannelLinkRequest, ::ModeliRpc::RemoveChannelLinkResponse>(
+          std::mem_fn(&ModeliBackend::Service::RemoveChannelLink), this)));
+  AddMethod(new ::grpc::internal::RpcServiceMethod(
+      ModeliBackend_method_names[8],
+      ::grpc::internal::RpcMethod::NORMAL_RPC,
+      new ::grpc::internal::RpcMethodHandler< ModeliBackend::Service, ::ModeliRpc::SetIntRequest, ::ModeliRpc::SetIntResponse>(
+          std::mem_fn(&ModeliBackend::Service::SetInt), this)));
+  AddMethod(new ::grpc::internal::RpcServiceMethod(
+      ModeliBackend_method_names[9],
+      ::grpc::internal::RpcMethod::NORMAL_RPC,
+      new ::grpc::internal::RpcMethodHandler< ModeliBackend::Service, ::ModeliRpc::SetRealRequest, ::ModeliRpc::SetRealResponse>(
+          std::mem_fn(&ModeliBackend::Service::SetReal), this)));
+  AddMethod(new ::grpc::internal::RpcServiceMethod(
+      ModeliBackend_method_names[10],
+      ::grpc::internal::RpcMethod::NORMAL_RPC,
+      new ::grpc::internal::RpcMethodHandler< ModeliBackend::Service, ::ModeliRpc::SetBoolRequest, ::ModeliRpc::SetBoolResponse>(
+          std::mem_fn(&ModeliBackend::Service::SetBool), this)));
+  AddMethod(new ::grpc::internal::RpcServiceMethod(
+      ModeliBackend_method_names[11],
+      ::grpc::internal::RpcMethod::NORMAL_RPC,
+      new ::grpc::internal::RpcMethodHandler< ModeliBackend::Service, ::ModeliRpc::SetStringRequest, ::ModeliRpc::SetStringResponse>(
+          std::mem_fn(&ModeliBackend::Service::SetString), this)));
+  AddMethod(new ::grpc::internal::RpcServiceMethod(
+      ModeliBackend_method_names[12],
+      ::grpc::internal::RpcMethod::SERVER_STREAMING,
+      new ::grpc::internal::ServerStreamingHandler< ModeliBackend::Service, ::ModeliRpc::NewValuesRequest, ::ModeliRpc::NewValuesResponse>(
+          std::mem_fn(&ModeliBackend::Service::NewValues), this)));
+  AddMethod(new ::grpc::internal::RpcServiceMethod(
+      ModeliBackend_method_names[13],
+      ::grpc::internal::RpcMethod::SERVER_STREAMING,
+      new ::grpc::internal::ServerStreamingHandler< ModeliBackend::Service, ::ModeliRpc::LogRequest, ::ModeliRpc::LogResponse>(
+          std::mem_fn(&ModeliBackend::Service::Log), this)));
+}
+
+ModeliBackend::Service::~Service() {
+}
+
+::grpc::Status ModeliBackend::Service::Play(::grpc::ServerContext* context, const ::ModeliRpc::PlayRequest* request, ::ModeliRpc::PlayResponse* response) {
+  (void) context;
+  (void) request;
+  (void) response;
+  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status ModeliBackend::Service::PlayFast(::grpc::ServerContext* context, const ::ModeliRpc::PlayFastRequest* request, ::ModeliRpc::PlayFastResponse* response) {
+  (void) context;
+  (void) request;
+  (void) response;
+  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status ModeliBackend::Service::Pause(::grpc::ServerContext* context, const ::ModeliRpc::PauseRequest* request, ::ModeliRpc::PauseResponse* response) {
+  (void) context;
+  (void) request;
+  (void) response;
+  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status ModeliBackend::Service::Stop(::grpc::ServerContext* context, const ::ModeliRpc::StopRequest* request, ::ModeliRpc::StopResponse* response) {
+  (void) context;
+  (void) request;
+  (void) response;
+  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status ModeliBackend::Service::AddFmu(::grpc::ServerContext* context, ::grpc::ServerReader< ::ModeliRpc::AddFmuRequest>* reader, ::ModeliRpc::AddFmuResponse* response) {
+  (void) context;
+  (void) reader;
+  (void) response;
+  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status ModeliBackend::Service::RemoveFmu(::grpc::ServerContext* context, const ::ModeliRpc::RemoveFmuRequest* request, ::ModeliRpc::RemoveFmuResponse* response) {
+  (void) context;
+  (void) request;
+  (void) response;
+  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status ModeliBackend::Service::AddChannelLink(::grpc::ServerContext* context, const ::ModeliRpc::AddChannelLinkRequest* request, ::ModeliRpc::AddChannelLinkResponse* response) {
+  (void) context;
+  (void) request;
+  (void) response;
+  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status ModeliBackend::Service::RemoveChannelLink(::grpc::ServerContext* context, const ::ModeliRpc::RemoveChannelLinkRequest* request, ::ModeliRpc::RemoveChannelLinkResponse* response) {
+  (void) context;
+  (void) request;
+  (void) response;
+  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status ModeliBackend::Service::SetInt(::grpc::ServerContext* context, const ::ModeliRpc::SetIntRequest* request, ::ModeliRpc::SetIntResponse* response) {
+  (void) context;
+  (void) request;
+  (void) response;
+  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status ModeliBackend::Service::SetReal(::grpc::ServerContext* context, const ::ModeliRpc::SetRealRequest* request, ::ModeliRpc::SetRealResponse* response) {
+  (void) context;
+  (void) request;
+  (void) response;
+  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status ModeliBackend::Service::SetBool(::grpc::ServerContext* context, const ::ModeliRpc::SetBoolRequest* request, ::ModeliRpc::SetBoolResponse* response) {
+  (void) context;
+  (void) request;
+  (void) response;
+  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status ModeliBackend::Service::SetString(::grpc::ServerContext* context, const ::ModeliRpc::SetStringRequest* request, ::ModeliRpc::SetStringResponse* response) {
+  (void) context;
+  (void) request;
+  (void) response;
+  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status ModeliBackend::Service::NewValues(::grpc::ServerContext* context, const ::ModeliRpc::NewValuesRequest* request, ::grpc::ServerWriter< ::ModeliRpc::NewValuesResponse>* writer) {
+  (void) context;
+  (void) request;
+  (void) writer;
+  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+::grpc::Status ModeliBackend::Service::Log(::grpc::ServerContext* context, const ::ModeliRpc::LogRequest* request, ::grpc::ServerWriter< ::ModeliRpc::LogResponse>* writer) {
+  (void) context;
+  (void) request;
+  (void) writer;
+  return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+}
+
+
+}  // namespace ModeliRpc
+
diff --git a/CreatedGrpc_Linux/ModeliRpc.grpc.pb.h b/CreatedGrpc_Linux/ModeliRpc.grpc.pb.h
new file mode 100644
index 0000000000000000000000000000000000000000..7d2c180f0d99c708b62c31211bc6a4f96cf8f143
--- /dev/null
+++ b/CreatedGrpc_Linux/ModeliRpc.grpc.pb.h
@@ -0,0 +1,1169 @@
+// Generated by the gRPC C++ plugin.
+// If you make any local change, they will be lost.
+// source: ModeliRpc.proto
+// Original file comments:
+// Language defintion
+#ifndef GRPC_ModeliRpc_2eproto__INCLUDED
+#define GRPC_ModeliRpc_2eproto__INCLUDED
+
+#include "ModeliRpc.pb.h"
+
+#include <grpc++/impl/codegen/async_stream.h>
+#include <grpc++/impl/codegen/async_unary_call.h>
+#include <grpc++/impl/codegen/method_handler_impl.h>
+#include <grpc++/impl/codegen/proto_utils.h>
+#include <grpc++/impl/codegen/rpc_method.h>
+#include <grpc++/impl/codegen/service_type.h>
+#include <grpc++/impl/codegen/status.h>
+#include <grpc++/impl/codegen/stub_options.h>
+#include <grpc++/impl/codegen/sync_stream.h>
+
+namespace grpc {
+class CompletionQueue;
+class Channel;
+class ServerCompletionQueue;
+class ServerContext;
+}  // namespace grpc
+
+namespace ModeliRpc {
+
+// Service must be offered by a ModeliChart Backend
+// Default Port ist 52062
+class ModeliBackend final {
+ public:
+  static constexpr char const* service_full_name() {
+    return "ModeliRpc.ModeliBackend";
+  }
+  class StubInterface {
+   public:
+    virtual ~StubInterface() {}
+    // Play the simulation infinetly in realtime
+    virtual ::grpc::Status Play(::grpc::ClientContext* context, const ::ModeliRpc::PlayRequest& request, ::ModeliRpc::PlayResponse* response) = 0;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::PlayResponse>> AsyncPlay(::grpc::ClientContext* context, const ::ModeliRpc::PlayRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::PlayResponse>>(AsyncPlayRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::PlayResponse>> PrepareAsyncPlay(::grpc::ClientContext* context, const ::ModeliRpc::PlayRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::PlayResponse>>(PrepareAsyncPlayRaw(context, request, cq));
+    }
+    // Play the simulation as fast as possible (fast forwad)
+    virtual ::grpc::Status PlayFast(::grpc::ClientContext* context, const ::ModeliRpc::PlayFastRequest& request, ::ModeliRpc::PlayFastResponse* response) = 0;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::PlayFastResponse>> AsyncPlayFast(::grpc::ClientContext* context, const ::ModeliRpc::PlayFastRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::PlayFastResponse>>(AsyncPlayFastRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::PlayFastResponse>> PrepareAsyncPlayFast(::grpc::ClientContext* context, const ::ModeliRpc::PlayFastRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::PlayFastResponse>>(PrepareAsyncPlayFastRaw(context, request, cq));
+    }
+    // Pause the simulation without resetting it
+    virtual ::grpc::Status Pause(::grpc::ClientContext* context, const ::ModeliRpc::PauseRequest& request, ::ModeliRpc::PauseResponse* response) = 0;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::PauseResponse>> AsyncPause(::grpc::ClientContext* context, const ::ModeliRpc::PauseRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::PauseResponse>>(AsyncPauseRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::PauseResponse>> PrepareAsyncPause(::grpc::ClientContext* context, const ::ModeliRpc::PauseRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::PauseResponse>>(PrepareAsyncPauseRaw(context, request, cq));
+    }
+    // Halt and reset the simulation
+    virtual ::grpc::Status Stop(::grpc::ClientContext* context, const ::ModeliRpc::StopRequest& request, ::ModeliRpc::StopResponse* response) = 0;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::StopResponse>> AsyncStop(::grpc::ClientContext* context, const ::ModeliRpc::StopRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::StopResponse>>(AsyncStopRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::StopResponse>> PrepareAsyncStop(::grpc::ClientContext* context, const ::ModeliRpc::StopRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::StopResponse>>(PrepareAsyncStopRaw(context, request, cq));
+    }
+    // Add a new Fmu to the simulation, transfer it via chunks
+    std::unique_ptr< ::grpc::ClientWriterInterface< ::ModeliRpc::AddFmuRequest>> AddFmu(::grpc::ClientContext* context, ::ModeliRpc::AddFmuResponse* response) {
+      return std::unique_ptr< ::grpc::ClientWriterInterface< ::ModeliRpc::AddFmuRequest>>(AddFmuRaw(context, response));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncWriterInterface< ::ModeliRpc::AddFmuRequest>> AsyncAddFmu(::grpc::ClientContext* context, ::ModeliRpc::AddFmuResponse* response, ::grpc::CompletionQueue* cq, void* tag) {
+      return std::unique_ptr< ::grpc::ClientAsyncWriterInterface< ::ModeliRpc::AddFmuRequest>>(AsyncAddFmuRaw(context, response, cq, tag));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncWriterInterface< ::ModeliRpc::AddFmuRequest>> PrepareAsyncAddFmu(::grpc::ClientContext* context, ::ModeliRpc::AddFmuResponse* response, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncWriterInterface< ::ModeliRpc::AddFmuRequest>>(PrepareAsyncAddFmuRaw(context, response, cq));
+    }
+    // Remove a Fmu from the simulation
+    virtual ::grpc::Status RemoveFmu(::grpc::ClientContext* context, const ::ModeliRpc::RemoveFmuRequest& request, ::ModeliRpc::RemoveFmuResponse* response) = 0;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::RemoveFmuResponse>> AsyncRemoveFmu(::grpc::ClientContext* context, const ::ModeliRpc::RemoveFmuRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::RemoveFmuResponse>>(AsyncRemoveFmuRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::RemoveFmuResponse>> PrepareAsyncRemoveFmu(::grpc::ClientContext* context, const ::ModeliRpc::RemoveFmuRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::RemoveFmuResponse>>(PrepareAsyncRemoveFmuRaw(context, request, cq));
+    }
+    // Add a ChannelLink to the simulation
+    virtual ::grpc::Status AddChannelLink(::grpc::ClientContext* context, const ::ModeliRpc::AddChannelLinkRequest& request, ::ModeliRpc::AddChannelLinkResponse* response) = 0;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::AddChannelLinkResponse>> AsyncAddChannelLink(::grpc::ClientContext* context, const ::ModeliRpc::AddChannelLinkRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::AddChannelLinkResponse>>(AsyncAddChannelLinkRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::AddChannelLinkResponse>> PrepareAsyncAddChannelLink(::grpc::ClientContext* context, const ::ModeliRpc::AddChannelLinkRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::AddChannelLinkResponse>>(PrepareAsyncAddChannelLinkRaw(context, request, cq));
+    }
+    // Remove a ChannelLink from the simulation
+    virtual ::grpc::Status RemoveChannelLink(::grpc::ClientContext* context, const ::ModeliRpc::RemoveChannelLinkRequest& request, ::ModeliRpc::RemoveChannelLinkResponse* response) = 0;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::RemoveChannelLinkResponse>> AsyncRemoveChannelLink(::grpc::ClientContext* context, const ::ModeliRpc::RemoveChannelLinkRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::RemoveChannelLinkResponse>>(AsyncRemoveChannelLinkRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::RemoveChannelLinkResponse>> PrepareAsyncRemoveChannelLink(::grpc::ClientContext* context, const ::ModeliRpc::RemoveChannelLinkRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::RemoveChannelLinkResponse>>(PrepareAsyncRemoveChannelLinkRaw(context, request, cq));
+    }
+    // Set int values in one of the fmus
+    virtual ::grpc::Status SetInt(::grpc::ClientContext* context, const ::ModeliRpc::SetIntRequest& request, ::ModeliRpc::SetIntResponse* response) = 0;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetIntResponse>> AsyncSetInt(::grpc::ClientContext* context, const ::ModeliRpc::SetIntRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetIntResponse>>(AsyncSetIntRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetIntResponse>> PrepareAsyncSetInt(::grpc::ClientContext* context, const ::ModeliRpc::SetIntRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetIntResponse>>(PrepareAsyncSetIntRaw(context, request, cq));
+    }
+    // Set real values in one of the fmus
+    virtual ::grpc::Status SetReal(::grpc::ClientContext* context, const ::ModeliRpc::SetRealRequest& request, ::ModeliRpc::SetRealResponse* response) = 0;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetRealResponse>> AsyncSetReal(::grpc::ClientContext* context, const ::ModeliRpc::SetRealRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetRealResponse>>(AsyncSetRealRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetRealResponse>> PrepareAsyncSetReal(::grpc::ClientContext* context, const ::ModeliRpc::SetRealRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetRealResponse>>(PrepareAsyncSetRealRaw(context, request, cq));
+    }
+    // Set bool values in one of the fmus
+    virtual ::grpc::Status SetBool(::grpc::ClientContext* context, const ::ModeliRpc::SetBoolRequest& request, ::ModeliRpc::SetBoolResponse* response) = 0;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetBoolResponse>> AsyncSetBool(::grpc::ClientContext* context, const ::ModeliRpc::SetBoolRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetBoolResponse>>(AsyncSetBoolRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetBoolResponse>> PrepareAsyncSetBool(::grpc::ClientContext* context, const ::ModeliRpc::SetBoolRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetBoolResponse>>(PrepareAsyncSetBoolRaw(context, request, cq));
+    }
+    // Set string values in one of the fmus   
+    virtual ::grpc::Status SetString(::grpc::ClientContext* context, const ::ModeliRpc::SetStringRequest& request, ::ModeliRpc::SetStringResponse* response) = 0;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetStringResponse>> AsyncSetString(::grpc::ClientContext* context, const ::ModeliRpc::SetStringRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetStringResponse>>(AsyncSetStringRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetStringResponse>> PrepareAsyncSetString(::grpc::ClientContext* context, const ::ModeliRpc::SetStringRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetStringResponse>>(PrepareAsyncSetStringRaw(context, request, cq));
+    }
+    // Stream simulation results to the client
+    std::unique_ptr< ::grpc::ClientReaderInterface< ::ModeliRpc::NewValuesResponse>> NewValues(::grpc::ClientContext* context, const ::ModeliRpc::NewValuesRequest& request) {
+      return std::unique_ptr< ::grpc::ClientReaderInterface< ::ModeliRpc::NewValuesResponse>>(NewValuesRaw(context, request));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::ModeliRpc::NewValuesResponse>> AsyncNewValues(::grpc::ClientContext* context, const ::ModeliRpc::NewValuesRequest& request, ::grpc::CompletionQueue* cq, void* tag) {
+      return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::ModeliRpc::NewValuesResponse>>(AsyncNewValuesRaw(context, request, cq, tag));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::ModeliRpc::NewValuesResponse>> PrepareAsyncNewValues(::grpc::ClientContext* context, const ::ModeliRpc::NewValuesRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::ModeliRpc::NewValuesResponse>>(PrepareAsyncNewValuesRaw(context, request, cq));
+    }
+    // Stream log messages to the client
+    std::unique_ptr< ::grpc::ClientReaderInterface< ::ModeliRpc::LogResponse>> Log(::grpc::ClientContext* context, const ::ModeliRpc::LogRequest& request) {
+      return std::unique_ptr< ::grpc::ClientReaderInterface< ::ModeliRpc::LogResponse>>(LogRaw(context, request));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::ModeliRpc::LogResponse>> AsyncLog(::grpc::ClientContext* context, const ::ModeliRpc::LogRequest& request, ::grpc::CompletionQueue* cq, void* tag) {
+      return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::ModeliRpc::LogResponse>>(AsyncLogRaw(context, request, cq, tag));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::ModeliRpc::LogResponse>> PrepareAsyncLog(::grpc::ClientContext* context, const ::ModeliRpc::LogRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncReaderInterface< ::ModeliRpc::LogResponse>>(PrepareAsyncLogRaw(context, request, cq));
+    }
+  private:
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::PlayResponse>* AsyncPlayRaw(::grpc::ClientContext* context, const ::ModeliRpc::PlayRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::PlayResponse>* PrepareAsyncPlayRaw(::grpc::ClientContext* context, const ::ModeliRpc::PlayRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::PlayFastResponse>* AsyncPlayFastRaw(::grpc::ClientContext* context, const ::ModeliRpc::PlayFastRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::PlayFastResponse>* PrepareAsyncPlayFastRaw(::grpc::ClientContext* context, const ::ModeliRpc::PlayFastRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::PauseResponse>* AsyncPauseRaw(::grpc::ClientContext* context, const ::ModeliRpc::PauseRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::PauseResponse>* PrepareAsyncPauseRaw(::grpc::ClientContext* context, const ::ModeliRpc::PauseRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::StopResponse>* AsyncStopRaw(::grpc::ClientContext* context, const ::ModeliRpc::StopRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::StopResponse>* PrepareAsyncStopRaw(::grpc::ClientContext* context, const ::ModeliRpc::StopRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientWriterInterface< ::ModeliRpc::AddFmuRequest>* AddFmuRaw(::grpc::ClientContext* context, ::ModeliRpc::AddFmuResponse* response) = 0;
+    virtual ::grpc::ClientAsyncWriterInterface< ::ModeliRpc::AddFmuRequest>* AsyncAddFmuRaw(::grpc::ClientContext* context, ::ModeliRpc::AddFmuResponse* response, ::grpc::CompletionQueue* cq, void* tag) = 0;
+    virtual ::grpc::ClientAsyncWriterInterface< ::ModeliRpc::AddFmuRequest>* PrepareAsyncAddFmuRaw(::grpc::ClientContext* context, ::ModeliRpc::AddFmuResponse* response, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::RemoveFmuResponse>* AsyncRemoveFmuRaw(::grpc::ClientContext* context, const ::ModeliRpc::RemoveFmuRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::RemoveFmuResponse>* PrepareAsyncRemoveFmuRaw(::grpc::ClientContext* context, const ::ModeliRpc::RemoveFmuRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::AddChannelLinkResponse>* AsyncAddChannelLinkRaw(::grpc::ClientContext* context, const ::ModeliRpc::AddChannelLinkRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::AddChannelLinkResponse>* PrepareAsyncAddChannelLinkRaw(::grpc::ClientContext* context, const ::ModeliRpc::AddChannelLinkRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::RemoveChannelLinkResponse>* AsyncRemoveChannelLinkRaw(::grpc::ClientContext* context, const ::ModeliRpc::RemoveChannelLinkRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::RemoveChannelLinkResponse>* PrepareAsyncRemoveChannelLinkRaw(::grpc::ClientContext* context, const ::ModeliRpc::RemoveChannelLinkRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetIntResponse>* AsyncSetIntRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetIntRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetIntResponse>* PrepareAsyncSetIntRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetIntRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetRealResponse>* AsyncSetRealRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetRealRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetRealResponse>* PrepareAsyncSetRealRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetRealRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetBoolResponse>* AsyncSetBoolRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetBoolRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetBoolResponse>* PrepareAsyncSetBoolRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetBoolRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetStringResponse>* AsyncSetStringRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetStringRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientAsyncResponseReaderInterface< ::ModeliRpc::SetStringResponse>* PrepareAsyncSetStringRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetStringRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientReaderInterface< ::ModeliRpc::NewValuesResponse>* NewValuesRaw(::grpc::ClientContext* context, const ::ModeliRpc::NewValuesRequest& request) = 0;
+    virtual ::grpc::ClientAsyncReaderInterface< ::ModeliRpc::NewValuesResponse>* AsyncNewValuesRaw(::grpc::ClientContext* context, const ::ModeliRpc::NewValuesRequest& request, ::grpc::CompletionQueue* cq, void* tag) = 0;
+    virtual ::grpc::ClientAsyncReaderInterface< ::ModeliRpc::NewValuesResponse>* PrepareAsyncNewValuesRaw(::grpc::ClientContext* context, const ::ModeliRpc::NewValuesRequest& request, ::grpc::CompletionQueue* cq) = 0;
+    virtual ::grpc::ClientReaderInterface< ::ModeliRpc::LogResponse>* LogRaw(::grpc::ClientContext* context, const ::ModeliRpc::LogRequest& request) = 0;
+    virtual ::grpc::ClientAsyncReaderInterface< ::ModeliRpc::LogResponse>* AsyncLogRaw(::grpc::ClientContext* context, const ::ModeliRpc::LogRequest& request, ::grpc::CompletionQueue* cq, void* tag) = 0;
+    virtual ::grpc::ClientAsyncReaderInterface< ::ModeliRpc::LogResponse>* PrepareAsyncLogRaw(::grpc::ClientContext* context, const ::ModeliRpc::LogRequest& request, ::grpc::CompletionQueue* cq) = 0;
+  };
+  class Stub final : public StubInterface {
+   public:
+    Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel);
+    ::grpc::Status Play(::grpc::ClientContext* context, const ::ModeliRpc::PlayRequest& request, ::ModeliRpc::PlayResponse* response) override;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::PlayResponse>> AsyncPlay(::grpc::ClientContext* context, const ::ModeliRpc::PlayRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::PlayResponse>>(AsyncPlayRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::PlayResponse>> PrepareAsyncPlay(::grpc::ClientContext* context, const ::ModeliRpc::PlayRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::PlayResponse>>(PrepareAsyncPlayRaw(context, request, cq));
+    }
+    ::grpc::Status PlayFast(::grpc::ClientContext* context, const ::ModeliRpc::PlayFastRequest& request, ::ModeliRpc::PlayFastResponse* response) override;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::PlayFastResponse>> AsyncPlayFast(::grpc::ClientContext* context, const ::ModeliRpc::PlayFastRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::PlayFastResponse>>(AsyncPlayFastRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::PlayFastResponse>> PrepareAsyncPlayFast(::grpc::ClientContext* context, const ::ModeliRpc::PlayFastRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::PlayFastResponse>>(PrepareAsyncPlayFastRaw(context, request, cq));
+    }
+    ::grpc::Status Pause(::grpc::ClientContext* context, const ::ModeliRpc::PauseRequest& request, ::ModeliRpc::PauseResponse* response) override;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::PauseResponse>> AsyncPause(::grpc::ClientContext* context, const ::ModeliRpc::PauseRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::PauseResponse>>(AsyncPauseRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::PauseResponse>> PrepareAsyncPause(::grpc::ClientContext* context, const ::ModeliRpc::PauseRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::PauseResponse>>(PrepareAsyncPauseRaw(context, request, cq));
+    }
+    ::grpc::Status Stop(::grpc::ClientContext* context, const ::ModeliRpc::StopRequest& request, ::ModeliRpc::StopResponse* response) override;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::StopResponse>> AsyncStop(::grpc::ClientContext* context, const ::ModeliRpc::StopRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::StopResponse>>(AsyncStopRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::StopResponse>> PrepareAsyncStop(::grpc::ClientContext* context, const ::ModeliRpc::StopRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::StopResponse>>(PrepareAsyncStopRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientWriter< ::ModeliRpc::AddFmuRequest>> AddFmu(::grpc::ClientContext* context, ::ModeliRpc::AddFmuResponse* response) {
+      return std::unique_ptr< ::grpc::ClientWriter< ::ModeliRpc::AddFmuRequest>>(AddFmuRaw(context, response));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncWriter< ::ModeliRpc::AddFmuRequest>> AsyncAddFmu(::grpc::ClientContext* context, ::ModeliRpc::AddFmuResponse* response, ::grpc::CompletionQueue* cq, void* tag) {
+      return std::unique_ptr< ::grpc::ClientAsyncWriter< ::ModeliRpc::AddFmuRequest>>(AsyncAddFmuRaw(context, response, cq, tag));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncWriter< ::ModeliRpc::AddFmuRequest>> PrepareAsyncAddFmu(::grpc::ClientContext* context, ::ModeliRpc::AddFmuResponse* response, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncWriter< ::ModeliRpc::AddFmuRequest>>(PrepareAsyncAddFmuRaw(context, response, cq));
+    }
+    ::grpc::Status RemoveFmu(::grpc::ClientContext* context, const ::ModeliRpc::RemoveFmuRequest& request, ::ModeliRpc::RemoveFmuResponse* response) override;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::RemoveFmuResponse>> AsyncRemoveFmu(::grpc::ClientContext* context, const ::ModeliRpc::RemoveFmuRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::RemoveFmuResponse>>(AsyncRemoveFmuRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::RemoveFmuResponse>> PrepareAsyncRemoveFmu(::grpc::ClientContext* context, const ::ModeliRpc::RemoveFmuRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::RemoveFmuResponse>>(PrepareAsyncRemoveFmuRaw(context, request, cq));
+    }
+    ::grpc::Status AddChannelLink(::grpc::ClientContext* context, const ::ModeliRpc::AddChannelLinkRequest& request, ::ModeliRpc::AddChannelLinkResponse* response) override;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::AddChannelLinkResponse>> AsyncAddChannelLink(::grpc::ClientContext* context, const ::ModeliRpc::AddChannelLinkRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::AddChannelLinkResponse>>(AsyncAddChannelLinkRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::AddChannelLinkResponse>> PrepareAsyncAddChannelLink(::grpc::ClientContext* context, const ::ModeliRpc::AddChannelLinkRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::AddChannelLinkResponse>>(PrepareAsyncAddChannelLinkRaw(context, request, cq));
+    }
+    ::grpc::Status RemoveChannelLink(::grpc::ClientContext* context, const ::ModeliRpc::RemoveChannelLinkRequest& request, ::ModeliRpc::RemoveChannelLinkResponse* response) override;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::RemoveChannelLinkResponse>> AsyncRemoveChannelLink(::grpc::ClientContext* context, const ::ModeliRpc::RemoveChannelLinkRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::RemoveChannelLinkResponse>>(AsyncRemoveChannelLinkRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::RemoveChannelLinkResponse>> PrepareAsyncRemoveChannelLink(::grpc::ClientContext* context, const ::ModeliRpc::RemoveChannelLinkRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::RemoveChannelLinkResponse>>(PrepareAsyncRemoveChannelLinkRaw(context, request, cq));
+    }
+    ::grpc::Status SetInt(::grpc::ClientContext* context, const ::ModeliRpc::SetIntRequest& request, ::ModeliRpc::SetIntResponse* response) override;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetIntResponse>> AsyncSetInt(::grpc::ClientContext* context, const ::ModeliRpc::SetIntRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetIntResponse>>(AsyncSetIntRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetIntResponse>> PrepareAsyncSetInt(::grpc::ClientContext* context, const ::ModeliRpc::SetIntRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetIntResponse>>(PrepareAsyncSetIntRaw(context, request, cq));
+    }
+    ::grpc::Status SetReal(::grpc::ClientContext* context, const ::ModeliRpc::SetRealRequest& request, ::ModeliRpc::SetRealResponse* response) override;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetRealResponse>> AsyncSetReal(::grpc::ClientContext* context, const ::ModeliRpc::SetRealRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetRealResponse>>(AsyncSetRealRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetRealResponse>> PrepareAsyncSetReal(::grpc::ClientContext* context, const ::ModeliRpc::SetRealRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetRealResponse>>(PrepareAsyncSetRealRaw(context, request, cq));
+    }
+    ::grpc::Status SetBool(::grpc::ClientContext* context, const ::ModeliRpc::SetBoolRequest& request, ::ModeliRpc::SetBoolResponse* response) override;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetBoolResponse>> AsyncSetBool(::grpc::ClientContext* context, const ::ModeliRpc::SetBoolRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetBoolResponse>>(AsyncSetBoolRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetBoolResponse>> PrepareAsyncSetBool(::grpc::ClientContext* context, const ::ModeliRpc::SetBoolRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetBoolResponse>>(PrepareAsyncSetBoolRaw(context, request, cq));
+    }
+    ::grpc::Status SetString(::grpc::ClientContext* context, const ::ModeliRpc::SetStringRequest& request, ::ModeliRpc::SetStringResponse* response) override;
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetStringResponse>> AsyncSetString(::grpc::ClientContext* context, const ::ModeliRpc::SetStringRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetStringResponse>>(AsyncSetStringRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetStringResponse>> PrepareAsyncSetString(::grpc::ClientContext* context, const ::ModeliRpc::SetStringRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetStringResponse>>(PrepareAsyncSetStringRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientReader< ::ModeliRpc::NewValuesResponse>> NewValues(::grpc::ClientContext* context, const ::ModeliRpc::NewValuesRequest& request) {
+      return std::unique_ptr< ::grpc::ClientReader< ::ModeliRpc::NewValuesResponse>>(NewValuesRaw(context, request));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncReader< ::ModeliRpc::NewValuesResponse>> AsyncNewValues(::grpc::ClientContext* context, const ::ModeliRpc::NewValuesRequest& request, ::grpc::CompletionQueue* cq, void* tag) {
+      return std::unique_ptr< ::grpc::ClientAsyncReader< ::ModeliRpc::NewValuesResponse>>(AsyncNewValuesRaw(context, request, cq, tag));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncReader< ::ModeliRpc::NewValuesResponse>> PrepareAsyncNewValues(::grpc::ClientContext* context, const ::ModeliRpc::NewValuesRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncReader< ::ModeliRpc::NewValuesResponse>>(PrepareAsyncNewValuesRaw(context, request, cq));
+    }
+    std::unique_ptr< ::grpc::ClientReader< ::ModeliRpc::LogResponse>> Log(::grpc::ClientContext* context, const ::ModeliRpc::LogRequest& request) {
+      return std::unique_ptr< ::grpc::ClientReader< ::ModeliRpc::LogResponse>>(LogRaw(context, request));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncReader< ::ModeliRpc::LogResponse>> AsyncLog(::grpc::ClientContext* context, const ::ModeliRpc::LogRequest& request, ::grpc::CompletionQueue* cq, void* tag) {
+      return std::unique_ptr< ::grpc::ClientAsyncReader< ::ModeliRpc::LogResponse>>(AsyncLogRaw(context, request, cq, tag));
+    }
+    std::unique_ptr< ::grpc::ClientAsyncReader< ::ModeliRpc::LogResponse>> PrepareAsyncLog(::grpc::ClientContext* context, const ::ModeliRpc::LogRequest& request, ::grpc::CompletionQueue* cq) {
+      return std::unique_ptr< ::grpc::ClientAsyncReader< ::ModeliRpc::LogResponse>>(PrepareAsyncLogRaw(context, request, cq));
+    }
+
+   private:
+    std::shared_ptr< ::grpc::ChannelInterface> channel_;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::PlayResponse>* AsyncPlayRaw(::grpc::ClientContext* context, const ::ModeliRpc::PlayRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::PlayResponse>* PrepareAsyncPlayRaw(::grpc::ClientContext* context, const ::ModeliRpc::PlayRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::PlayFastResponse>* AsyncPlayFastRaw(::grpc::ClientContext* context, const ::ModeliRpc::PlayFastRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::PlayFastResponse>* PrepareAsyncPlayFastRaw(::grpc::ClientContext* context, const ::ModeliRpc::PlayFastRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::PauseResponse>* AsyncPauseRaw(::grpc::ClientContext* context, const ::ModeliRpc::PauseRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::PauseResponse>* PrepareAsyncPauseRaw(::grpc::ClientContext* context, const ::ModeliRpc::PauseRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::StopResponse>* AsyncStopRaw(::grpc::ClientContext* context, const ::ModeliRpc::StopRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::StopResponse>* PrepareAsyncStopRaw(::grpc::ClientContext* context, const ::ModeliRpc::StopRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientWriter< ::ModeliRpc::AddFmuRequest>* AddFmuRaw(::grpc::ClientContext* context, ::ModeliRpc::AddFmuResponse* response) override;
+    ::grpc::ClientAsyncWriter< ::ModeliRpc::AddFmuRequest>* AsyncAddFmuRaw(::grpc::ClientContext* context, ::ModeliRpc::AddFmuResponse* response, ::grpc::CompletionQueue* cq, void* tag) override;
+    ::grpc::ClientAsyncWriter< ::ModeliRpc::AddFmuRequest>* PrepareAsyncAddFmuRaw(::grpc::ClientContext* context, ::ModeliRpc::AddFmuResponse* response, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::RemoveFmuResponse>* AsyncRemoveFmuRaw(::grpc::ClientContext* context, const ::ModeliRpc::RemoveFmuRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::RemoveFmuResponse>* PrepareAsyncRemoveFmuRaw(::grpc::ClientContext* context, const ::ModeliRpc::RemoveFmuRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::AddChannelLinkResponse>* AsyncAddChannelLinkRaw(::grpc::ClientContext* context, const ::ModeliRpc::AddChannelLinkRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::AddChannelLinkResponse>* PrepareAsyncAddChannelLinkRaw(::grpc::ClientContext* context, const ::ModeliRpc::AddChannelLinkRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::RemoveChannelLinkResponse>* AsyncRemoveChannelLinkRaw(::grpc::ClientContext* context, const ::ModeliRpc::RemoveChannelLinkRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::RemoveChannelLinkResponse>* PrepareAsyncRemoveChannelLinkRaw(::grpc::ClientContext* context, const ::ModeliRpc::RemoveChannelLinkRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetIntResponse>* AsyncSetIntRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetIntRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetIntResponse>* PrepareAsyncSetIntRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetIntRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetRealResponse>* AsyncSetRealRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetRealRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetRealResponse>* PrepareAsyncSetRealRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetRealRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetBoolResponse>* AsyncSetBoolRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetBoolRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetBoolResponse>* PrepareAsyncSetBoolRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetBoolRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetStringResponse>* AsyncSetStringRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetStringRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientAsyncResponseReader< ::ModeliRpc::SetStringResponse>* PrepareAsyncSetStringRaw(::grpc::ClientContext* context, const ::ModeliRpc::SetStringRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientReader< ::ModeliRpc::NewValuesResponse>* NewValuesRaw(::grpc::ClientContext* context, const ::ModeliRpc::NewValuesRequest& request) override;
+    ::grpc::ClientAsyncReader< ::ModeliRpc::NewValuesResponse>* AsyncNewValuesRaw(::grpc::ClientContext* context, const ::ModeliRpc::NewValuesRequest& request, ::grpc::CompletionQueue* cq, void* tag) override;
+    ::grpc::ClientAsyncReader< ::ModeliRpc::NewValuesResponse>* PrepareAsyncNewValuesRaw(::grpc::ClientContext* context, const ::ModeliRpc::NewValuesRequest& request, ::grpc::CompletionQueue* cq) override;
+    ::grpc::ClientReader< ::ModeliRpc::LogResponse>* LogRaw(::grpc::ClientContext* context, const ::ModeliRpc::LogRequest& request) override;
+    ::grpc::ClientAsyncReader< ::ModeliRpc::LogResponse>* AsyncLogRaw(::grpc::ClientContext* context, const ::ModeliRpc::LogRequest& request, ::grpc::CompletionQueue* cq, void* tag) override;
+    ::grpc::ClientAsyncReader< ::ModeliRpc::LogResponse>* PrepareAsyncLogRaw(::grpc::ClientContext* context, const ::ModeliRpc::LogRequest& request, ::grpc::CompletionQueue* cq) override;
+    const ::grpc::internal::RpcMethod rpcmethod_Play_;
+    const ::grpc::internal::RpcMethod rpcmethod_PlayFast_;
+    const ::grpc::internal::RpcMethod rpcmethod_Pause_;
+    const ::grpc::internal::RpcMethod rpcmethod_Stop_;
+    const ::grpc::internal::RpcMethod rpcmethod_AddFmu_;
+    const ::grpc::internal::RpcMethod rpcmethod_RemoveFmu_;
+    const ::grpc::internal::RpcMethod rpcmethod_AddChannelLink_;
+    const ::grpc::internal::RpcMethod rpcmethod_RemoveChannelLink_;
+    const ::grpc::internal::RpcMethod rpcmethod_SetInt_;
+    const ::grpc::internal::RpcMethod rpcmethod_SetReal_;
+    const ::grpc::internal::RpcMethod rpcmethod_SetBool_;
+    const ::grpc::internal::RpcMethod rpcmethod_SetString_;
+    const ::grpc::internal::RpcMethod rpcmethod_NewValues_;
+    const ::grpc::internal::RpcMethod rpcmethod_Log_;
+  };
+  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();
+    // Play the simulation infinetly in realtime
+    virtual ::grpc::Status Play(::grpc::ServerContext* context, const ::ModeliRpc::PlayRequest* request, ::ModeliRpc::PlayResponse* response);
+    // Play the simulation as fast as possible (fast forwad)
+    virtual ::grpc::Status PlayFast(::grpc::ServerContext* context, const ::ModeliRpc::PlayFastRequest* request, ::ModeliRpc::PlayFastResponse* response);
+    // Pause the simulation without resetting it
+    virtual ::grpc::Status Pause(::grpc::ServerContext* context, const ::ModeliRpc::PauseRequest* request, ::ModeliRpc::PauseResponse* response);
+    // Halt and reset the simulation
+    virtual ::grpc::Status Stop(::grpc::ServerContext* context, const ::ModeliRpc::StopRequest* request, ::ModeliRpc::StopResponse* response);
+    // Add a new Fmu to the simulation, transfer it via chunks
+    virtual ::grpc::Status AddFmu(::grpc::ServerContext* context, ::grpc::ServerReader< ::ModeliRpc::AddFmuRequest>* reader, ::ModeliRpc::AddFmuResponse* response);
+    // Remove a Fmu from the simulation
+    virtual ::grpc::Status RemoveFmu(::grpc::ServerContext* context, const ::ModeliRpc::RemoveFmuRequest* request, ::ModeliRpc::RemoveFmuResponse* response);
+    // Add a ChannelLink to the simulation
+    virtual ::grpc::Status AddChannelLink(::grpc::ServerContext* context, const ::ModeliRpc::AddChannelLinkRequest* request, ::ModeliRpc::AddChannelLinkResponse* response);
+    // Remove a ChannelLink from the simulation
+    virtual ::grpc::Status RemoveChannelLink(::grpc::ServerContext* context, const ::ModeliRpc::RemoveChannelLinkRequest* request, ::ModeliRpc::RemoveChannelLinkResponse* response);
+    // Set int values in one of the fmus
+    virtual ::grpc::Status SetInt(::grpc::ServerContext* context, const ::ModeliRpc::SetIntRequest* request, ::ModeliRpc::SetIntResponse* response);
+    // Set real values in one of the fmus
+    virtual ::grpc::Status SetReal(::grpc::ServerContext* context, const ::ModeliRpc::SetRealRequest* request, ::ModeliRpc::SetRealResponse* response);
+    // Set bool values in one of the fmus
+    virtual ::grpc::Status SetBool(::grpc::ServerContext* context, const ::ModeliRpc::SetBoolRequest* request, ::ModeliRpc::SetBoolResponse* response);
+    // Set string values in one of the fmus   
+    virtual ::grpc::Status SetString(::grpc::ServerContext* context, const ::ModeliRpc::SetStringRequest* request, ::ModeliRpc::SetStringResponse* response);
+    // Stream simulation results to the client
+    virtual ::grpc::Status NewValues(::grpc::ServerContext* context, const ::ModeliRpc::NewValuesRequest* request, ::grpc::ServerWriter< ::ModeliRpc::NewValuesResponse>* writer);
+    // Stream log messages to the client
+    virtual ::grpc::Status Log(::grpc::ServerContext* context, const ::ModeliRpc::LogRequest* request, ::grpc::ServerWriter< ::ModeliRpc::LogResponse>* writer);
+  };
+  template <class BaseClass>
+  class WithAsyncMethod_Play : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithAsyncMethod_Play() {
+      ::grpc::Service::MarkMethodAsync(0);
+    }
+    ~WithAsyncMethod_Play() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status Play(::grpc::ServerContext* context, const ::ModeliRpc::PlayRequest* request, ::ModeliRpc::PlayResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    void RequestPlay(::grpc::ServerContext* context, ::ModeliRpc::PlayRequest* request, ::grpc::ServerAsyncResponseWriter< ::ModeliRpc::PlayResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+      ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag);
+    }
+  };
+  template <class BaseClass>
+  class WithAsyncMethod_PlayFast : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithAsyncMethod_PlayFast() {
+      ::grpc::Service::MarkMethodAsync(1);
+    }
+    ~WithAsyncMethod_PlayFast() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status PlayFast(::grpc::ServerContext* context, const ::ModeliRpc::PlayFastRequest* request, ::ModeliRpc::PlayFastResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    void RequestPlayFast(::grpc::ServerContext* context, ::ModeliRpc::PlayFastRequest* request, ::grpc::ServerAsyncResponseWriter< ::ModeliRpc::PlayFastResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+      ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag);
+    }
+  };
+  template <class BaseClass>
+  class WithAsyncMethod_Pause : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithAsyncMethod_Pause() {
+      ::grpc::Service::MarkMethodAsync(2);
+    }
+    ~WithAsyncMethod_Pause() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status Pause(::grpc::ServerContext* context, const ::ModeliRpc::PauseRequest* request, ::ModeliRpc::PauseResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    void RequestPause(::grpc::ServerContext* context, ::ModeliRpc::PauseRequest* request, ::grpc::ServerAsyncResponseWriter< ::ModeliRpc::PauseResponse>* 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 WithAsyncMethod_Stop : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithAsyncMethod_Stop() {
+      ::grpc::Service::MarkMethodAsync(3);
+    }
+    ~WithAsyncMethod_Stop() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status Stop(::grpc::ServerContext* context, const ::ModeliRpc::StopRequest* request, ::ModeliRpc::StopResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    void RequestStop(::grpc::ServerContext* context, ::ModeliRpc::StopRequest* request, ::grpc::ServerAsyncResponseWriter< ::ModeliRpc::StopResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+      ::grpc::Service::RequestAsyncUnary(3, context, request, response, new_call_cq, notification_cq, tag);
+    }
+  };
+  template <class BaseClass>
+  class WithAsyncMethod_AddFmu : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithAsyncMethod_AddFmu() {
+      ::grpc::Service::MarkMethodAsync(4);
+    }
+    ~WithAsyncMethod_AddFmu() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status AddFmu(::grpc::ServerContext* context, ::grpc::ServerReader< ::ModeliRpc::AddFmuRequest>* reader, ::ModeliRpc::AddFmuResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    void RequestAddFmu(::grpc::ServerContext* context, ::grpc::ServerAsyncReader< ::ModeliRpc::AddFmuResponse, ::ModeliRpc::AddFmuRequest>* reader, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+      ::grpc::Service::RequestAsyncClientStreaming(4, context, reader, new_call_cq, notification_cq, tag);
+    }
+  };
+  template <class BaseClass>
+  class WithAsyncMethod_RemoveFmu : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithAsyncMethod_RemoveFmu() {
+      ::grpc::Service::MarkMethodAsync(5);
+    }
+    ~WithAsyncMethod_RemoveFmu() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status RemoveFmu(::grpc::ServerContext* context, const ::ModeliRpc::RemoveFmuRequest* request, ::ModeliRpc::RemoveFmuResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    void RequestRemoveFmu(::grpc::ServerContext* context, ::ModeliRpc::RemoveFmuRequest* request, ::grpc::ServerAsyncResponseWriter< ::ModeliRpc::RemoveFmuResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+      ::grpc::Service::RequestAsyncUnary(5, context, request, response, new_call_cq, notification_cq, tag);
+    }
+  };
+  template <class BaseClass>
+  class WithAsyncMethod_AddChannelLink : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithAsyncMethod_AddChannelLink() {
+      ::grpc::Service::MarkMethodAsync(6);
+    }
+    ~WithAsyncMethod_AddChannelLink() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status AddChannelLink(::grpc::ServerContext* context, const ::ModeliRpc::AddChannelLinkRequest* request, ::ModeliRpc::AddChannelLinkResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    void RequestAddChannelLink(::grpc::ServerContext* context, ::ModeliRpc::AddChannelLinkRequest* request, ::grpc::ServerAsyncResponseWriter< ::ModeliRpc::AddChannelLinkResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+      ::grpc::Service::RequestAsyncUnary(6, context, request, response, new_call_cq, notification_cq, tag);
+    }
+  };
+  template <class BaseClass>
+  class WithAsyncMethod_RemoveChannelLink : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithAsyncMethod_RemoveChannelLink() {
+      ::grpc::Service::MarkMethodAsync(7);
+    }
+    ~WithAsyncMethod_RemoveChannelLink() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status RemoveChannelLink(::grpc::ServerContext* context, const ::ModeliRpc::RemoveChannelLinkRequest* request, ::ModeliRpc::RemoveChannelLinkResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    void RequestRemoveChannelLink(::grpc::ServerContext* context, ::ModeliRpc::RemoveChannelLinkRequest* request, ::grpc::ServerAsyncResponseWriter< ::ModeliRpc::RemoveChannelLinkResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+      ::grpc::Service::RequestAsyncUnary(7, context, request, response, new_call_cq, notification_cq, tag);
+    }
+  };
+  template <class BaseClass>
+  class WithAsyncMethod_SetInt : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithAsyncMethod_SetInt() {
+      ::grpc::Service::MarkMethodAsync(8);
+    }
+    ~WithAsyncMethod_SetInt() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status SetInt(::grpc::ServerContext* context, const ::ModeliRpc::SetIntRequest* request, ::ModeliRpc::SetIntResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    void RequestSetInt(::grpc::ServerContext* context, ::ModeliRpc::SetIntRequest* request, ::grpc::ServerAsyncResponseWriter< ::ModeliRpc::SetIntResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+      ::grpc::Service::RequestAsyncUnary(8, context, request, response, new_call_cq, notification_cq, tag);
+    }
+  };
+  template <class BaseClass>
+  class WithAsyncMethod_SetReal : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithAsyncMethod_SetReal() {
+      ::grpc::Service::MarkMethodAsync(9);
+    }
+    ~WithAsyncMethod_SetReal() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status SetReal(::grpc::ServerContext* context, const ::ModeliRpc::SetRealRequest* request, ::ModeliRpc::SetRealResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    void RequestSetReal(::grpc::ServerContext* context, ::ModeliRpc::SetRealRequest* request, ::grpc::ServerAsyncResponseWriter< ::ModeliRpc::SetRealResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+      ::grpc::Service::RequestAsyncUnary(9, context, request, response, new_call_cq, notification_cq, tag);
+    }
+  };
+  template <class BaseClass>
+  class WithAsyncMethod_SetBool : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithAsyncMethod_SetBool() {
+      ::grpc::Service::MarkMethodAsync(10);
+    }
+    ~WithAsyncMethod_SetBool() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status SetBool(::grpc::ServerContext* context, const ::ModeliRpc::SetBoolRequest* request, ::ModeliRpc::SetBoolResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    void RequestSetBool(::grpc::ServerContext* context, ::ModeliRpc::SetBoolRequest* request, ::grpc::ServerAsyncResponseWriter< ::ModeliRpc::SetBoolResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+      ::grpc::Service::RequestAsyncUnary(10, context, request, response, new_call_cq, notification_cq, tag);
+    }
+  };
+  template <class BaseClass>
+  class WithAsyncMethod_SetString : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithAsyncMethod_SetString() {
+      ::grpc::Service::MarkMethodAsync(11);
+    }
+    ~WithAsyncMethod_SetString() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status SetString(::grpc::ServerContext* context, const ::ModeliRpc::SetStringRequest* request, ::ModeliRpc::SetStringResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    void RequestSetString(::grpc::ServerContext* context, ::ModeliRpc::SetStringRequest* request, ::grpc::ServerAsyncResponseWriter< ::ModeliRpc::SetStringResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+      ::grpc::Service::RequestAsyncUnary(11, context, request, response, new_call_cq, notification_cq, tag);
+    }
+  };
+  template <class BaseClass>
+  class WithAsyncMethod_NewValues : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithAsyncMethod_NewValues() {
+      ::grpc::Service::MarkMethodAsync(12);
+    }
+    ~WithAsyncMethod_NewValues() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status NewValues(::grpc::ServerContext* context, const ::ModeliRpc::NewValuesRequest* request, ::grpc::ServerWriter< ::ModeliRpc::NewValuesResponse>* writer) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    void RequestNewValues(::grpc::ServerContext* context, ::ModeliRpc::NewValuesRequest* request, ::grpc::ServerAsyncWriter< ::ModeliRpc::NewValuesResponse>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+      ::grpc::Service::RequestAsyncServerStreaming(12, context, request, writer, new_call_cq, notification_cq, tag);
+    }
+  };
+  template <class BaseClass>
+  class WithAsyncMethod_Log : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithAsyncMethod_Log() {
+      ::grpc::Service::MarkMethodAsync(13);
+    }
+    ~WithAsyncMethod_Log() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status Log(::grpc::ServerContext* context, const ::ModeliRpc::LogRequest* request, ::grpc::ServerWriter< ::ModeliRpc::LogResponse>* writer) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    void RequestLog(::grpc::ServerContext* context, ::ModeliRpc::LogRequest* request, ::grpc::ServerAsyncWriter< ::ModeliRpc::LogResponse>* writer, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) {
+      ::grpc::Service::RequestAsyncServerStreaming(13, context, request, writer, new_call_cq, notification_cq, tag);
+    }
+  };
+  typedef WithAsyncMethod_Play<WithAsyncMethod_PlayFast<WithAsyncMethod_Pause<WithAsyncMethod_Stop<WithAsyncMethod_AddFmu<WithAsyncMethod_RemoveFmu<WithAsyncMethod_AddChannelLink<WithAsyncMethod_RemoveChannelLink<WithAsyncMethod_SetInt<WithAsyncMethod_SetReal<WithAsyncMethod_SetBool<WithAsyncMethod_SetString<WithAsyncMethod_NewValues<WithAsyncMethod_Log<Service > > > > > > > > > > > > > > AsyncService;
+  template <class BaseClass>
+  class WithGenericMethod_Play : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithGenericMethod_Play() {
+      ::grpc::Service::MarkMethodGeneric(0);
+    }
+    ~WithGenericMethod_Play() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status Play(::grpc::ServerContext* context, const ::ModeliRpc::PlayRequest* request, ::ModeliRpc::PlayResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+  };
+  template <class BaseClass>
+  class WithGenericMethod_PlayFast : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithGenericMethod_PlayFast() {
+      ::grpc::Service::MarkMethodGeneric(1);
+    }
+    ~WithGenericMethod_PlayFast() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status PlayFast(::grpc::ServerContext* context, const ::ModeliRpc::PlayFastRequest* request, ::ModeliRpc::PlayFastResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+  };
+  template <class BaseClass>
+  class WithGenericMethod_Pause : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithGenericMethod_Pause() {
+      ::grpc::Service::MarkMethodGeneric(2);
+    }
+    ~WithGenericMethod_Pause() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status Pause(::grpc::ServerContext* context, const ::ModeliRpc::PauseRequest* request, ::ModeliRpc::PauseResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+  };
+  template <class BaseClass>
+  class WithGenericMethod_Stop : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithGenericMethod_Stop() {
+      ::grpc::Service::MarkMethodGeneric(3);
+    }
+    ~WithGenericMethod_Stop() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status Stop(::grpc::ServerContext* context, const ::ModeliRpc::StopRequest* request, ::ModeliRpc::StopResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+  };
+  template <class BaseClass>
+  class WithGenericMethod_AddFmu : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithGenericMethod_AddFmu() {
+      ::grpc::Service::MarkMethodGeneric(4);
+    }
+    ~WithGenericMethod_AddFmu() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status AddFmu(::grpc::ServerContext* context, ::grpc::ServerReader< ::ModeliRpc::AddFmuRequest>* reader, ::ModeliRpc::AddFmuResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+  };
+  template <class BaseClass>
+  class WithGenericMethod_RemoveFmu : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithGenericMethod_RemoveFmu() {
+      ::grpc::Service::MarkMethodGeneric(5);
+    }
+    ~WithGenericMethod_RemoveFmu() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status RemoveFmu(::grpc::ServerContext* context, const ::ModeliRpc::RemoveFmuRequest* request, ::ModeliRpc::RemoveFmuResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+  };
+  template <class BaseClass>
+  class WithGenericMethod_AddChannelLink : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithGenericMethod_AddChannelLink() {
+      ::grpc::Service::MarkMethodGeneric(6);
+    }
+    ~WithGenericMethod_AddChannelLink() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status AddChannelLink(::grpc::ServerContext* context, const ::ModeliRpc::AddChannelLinkRequest* request, ::ModeliRpc::AddChannelLinkResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+  };
+  template <class BaseClass>
+  class WithGenericMethod_RemoveChannelLink : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithGenericMethod_RemoveChannelLink() {
+      ::grpc::Service::MarkMethodGeneric(7);
+    }
+    ~WithGenericMethod_RemoveChannelLink() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status RemoveChannelLink(::grpc::ServerContext* context, const ::ModeliRpc::RemoveChannelLinkRequest* request, ::ModeliRpc::RemoveChannelLinkResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+  };
+  template <class BaseClass>
+  class WithGenericMethod_SetInt : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithGenericMethod_SetInt() {
+      ::grpc::Service::MarkMethodGeneric(8);
+    }
+    ~WithGenericMethod_SetInt() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status SetInt(::grpc::ServerContext* context, const ::ModeliRpc::SetIntRequest* request, ::ModeliRpc::SetIntResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+  };
+  template <class BaseClass>
+  class WithGenericMethod_SetReal : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithGenericMethod_SetReal() {
+      ::grpc::Service::MarkMethodGeneric(9);
+    }
+    ~WithGenericMethod_SetReal() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status SetReal(::grpc::ServerContext* context, const ::ModeliRpc::SetRealRequest* request, ::ModeliRpc::SetRealResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+  };
+  template <class BaseClass>
+  class WithGenericMethod_SetBool : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithGenericMethod_SetBool() {
+      ::grpc::Service::MarkMethodGeneric(10);
+    }
+    ~WithGenericMethod_SetBool() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status SetBool(::grpc::ServerContext* context, const ::ModeliRpc::SetBoolRequest* request, ::ModeliRpc::SetBoolResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+  };
+  template <class BaseClass>
+  class WithGenericMethod_SetString : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithGenericMethod_SetString() {
+      ::grpc::Service::MarkMethodGeneric(11);
+    }
+    ~WithGenericMethod_SetString() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status SetString(::grpc::ServerContext* context, const ::ModeliRpc::SetStringRequest* request, ::ModeliRpc::SetStringResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+  };
+  template <class BaseClass>
+  class WithGenericMethod_NewValues : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithGenericMethod_NewValues() {
+      ::grpc::Service::MarkMethodGeneric(12);
+    }
+    ~WithGenericMethod_NewValues() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status NewValues(::grpc::ServerContext* context, const ::ModeliRpc::NewValuesRequest* request, ::grpc::ServerWriter< ::ModeliRpc::NewValuesResponse>* writer) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+  };
+  template <class BaseClass>
+  class WithGenericMethod_Log : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithGenericMethod_Log() {
+      ::grpc::Service::MarkMethodGeneric(13);
+    }
+    ~WithGenericMethod_Log() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable synchronous version of this method
+    ::grpc::Status Log(::grpc::ServerContext* context, const ::ModeliRpc::LogRequest* request, ::grpc::ServerWriter< ::ModeliRpc::LogResponse>* writer) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+  };
+  template <class BaseClass>
+  class WithStreamedUnaryMethod_Play : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithStreamedUnaryMethod_Play() {
+      ::grpc::Service::MarkMethodStreamed(0,
+        new ::grpc::internal::StreamedUnaryHandler< ::ModeliRpc::PlayRequest, ::ModeliRpc::PlayResponse>(std::bind(&WithStreamedUnaryMethod_Play<BaseClass>::StreamedPlay, this, std::placeholders::_1, std::placeholders::_2)));
+    }
+    ~WithStreamedUnaryMethod_Play() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable regular version of this method
+    ::grpc::Status Play(::grpc::ServerContext* context, const ::ModeliRpc::PlayRequest* request, ::ModeliRpc::PlayResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    // replace default version of method with streamed unary
+    virtual ::grpc::Status StreamedPlay(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::ModeliRpc::PlayRequest,::ModeliRpc::PlayResponse>* server_unary_streamer) = 0;
+  };
+  template <class BaseClass>
+  class WithStreamedUnaryMethod_PlayFast : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithStreamedUnaryMethod_PlayFast() {
+      ::grpc::Service::MarkMethodStreamed(1,
+        new ::grpc::internal::StreamedUnaryHandler< ::ModeliRpc::PlayFastRequest, ::ModeliRpc::PlayFastResponse>(std::bind(&WithStreamedUnaryMethod_PlayFast<BaseClass>::StreamedPlayFast, this, std::placeholders::_1, std::placeholders::_2)));
+    }
+    ~WithStreamedUnaryMethod_PlayFast() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable regular version of this method
+    ::grpc::Status PlayFast(::grpc::ServerContext* context, const ::ModeliRpc::PlayFastRequest* request, ::ModeliRpc::PlayFastResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    // replace default version of method with streamed unary
+    virtual ::grpc::Status StreamedPlayFast(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::ModeliRpc::PlayFastRequest,::ModeliRpc::PlayFastResponse>* server_unary_streamer) = 0;
+  };
+  template <class BaseClass>
+  class WithStreamedUnaryMethod_Pause : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithStreamedUnaryMethod_Pause() {
+      ::grpc::Service::MarkMethodStreamed(2,
+        new ::grpc::internal::StreamedUnaryHandler< ::ModeliRpc::PauseRequest, ::ModeliRpc::PauseResponse>(std::bind(&WithStreamedUnaryMethod_Pause<BaseClass>::StreamedPause, this, std::placeholders::_1, std::placeholders::_2)));
+    }
+    ~WithStreamedUnaryMethod_Pause() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable regular version of this method
+    ::grpc::Status Pause(::grpc::ServerContext* context, const ::ModeliRpc::PauseRequest* request, ::ModeliRpc::PauseResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    // replace default version of method with streamed unary
+    virtual ::grpc::Status StreamedPause(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::ModeliRpc::PauseRequest,::ModeliRpc::PauseResponse>* server_unary_streamer) = 0;
+  };
+  template <class BaseClass>
+  class WithStreamedUnaryMethod_Stop : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithStreamedUnaryMethod_Stop() {
+      ::grpc::Service::MarkMethodStreamed(3,
+        new ::grpc::internal::StreamedUnaryHandler< ::ModeliRpc::StopRequest, ::ModeliRpc::StopResponse>(std::bind(&WithStreamedUnaryMethod_Stop<BaseClass>::StreamedStop, this, std::placeholders::_1, std::placeholders::_2)));
+    }
+    ~WithStreamedUnaryMethod_Stop() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable regular version of this method
+    ::grpc::Status Stop(::grpc::ServerContext* context, const ::ModeliRpc::StopRequest* request, ::ModeliRpc::StopResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    // replace default version of method with streamed unary
+    virtual ::grpc::Status StreamedStop(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::ModeliRpc::StopRequest,::ModeliRpc::StopResponse>* server_unary_streamer) = 0;
+  };
+  template <class BaseClass>
+  class WithStreamedUnaryMethod_RemoveFmu : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithStreamedUnaryMethod_RemoveFmu() {
+      ::grpc::Service::MarkMethodStreamed(5,
+        new ::grpc::internal::StreamedUnaryHandler< ::ModeliRpc::RemoveFmuRequest, ::ModeliRpc::RemoveFmuResponse>(std::bind(&WithStreamedUnaryMethod_RemoveFmu<BaseClass>::StreamedRemoveFmu, this, std::placeholders::_1, std::placeholders::_2)));
+    }
+    ~WithStreamedUnaryMethod_RemoveFmu() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable regular version of this method
+    ::grpc::Status RemoveFmu(::grpc::ServerContext* context, const ::ModeliRpc::RemoveFmuRequest* request, ::ModeliRpc::RemoveFmuResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    // replace default version of method with streamed unary
+    virtual ::grpc::Status StreamedRemoveFmu(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::ModeliRpc::RemoveFmuRequest,::ModeliRpc::RemoveFmuResponse>* server_unary_streamer) = 0;
+  };
+  template <class BaseClass>
+  class WithStreamedUnaryMethod_AddChannelLink : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithStreamedUnaryMethod_AddChannelLink() {
+      ::grpc::Service::MarkMethodStreamed(6,
+        new ::grpc::internal::StreamedUnaryHandler< ::ModeliRpc::AddChannelLinkRequest, ::ModeliRpc::AddChannelLinkResponse>(std::bind(&WithStreamedUnaryMethod_AddChannelLink<BaseClass>::StreamedAddChannelLink, this, std::placeholders::_1, std::placeholders::_2)));
+    }
+    ~WithStreamedUnaryMethod_AddChannelLink() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable regular version of this method
+    ::grpc::Status AddChannelLink(::grpc::ServerContext* context, const ::ModeliRpc::AddChannelLinkRequest* request, ::ModeliRpc::AddChannelLinkResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    // replace default version of method with streamed unary
+    virtual ::grpc::Status StreamedAddChannelLink(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::ModeliRpc::AddChannelLinkRequest,::ModeliRpc::AddChannelLinkResponse>* server_unary_streamer) = 0;
+  };
+  template <class BaseClass>
+  class WithStreamedUnaryMethod_RemoveChannelLink : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithStreamedUnaryMethod_RemoveChannelLink() {
+      ::grpc::Service::MarkMethodStreamed(7,
+        new ::grpc::internal::StreamedUnaryHandler< ::ModeliRpc::RemoveChannelLinkRequest, ::ModeliRpc::RemoveChannelLinkResponse>(std::bind(&WithStreamedUnaryMethod_RemoveChannelLink<BaseClass>::StreamedRemoveChannelLink, this, std::placeholders::_1, std::placeholders::_2)));
+    }
+    ~WithStreamedUnaryMethod_RemoveChannelLink() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable regular version of this method
+    ::grpc::Status RemoveChannelLink(::grpc::ServerContext* context, const ::ModeliRpc::RemoveChannelLinkRequest* request, ::ModeliRpc::RemoveChannelLinkResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    // replace default version of method with streamed unary
+    virtual ::grpc::Status StreamedRemoveChannelLink(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::ModeliRpc::RemoveChannelLinkRequest,::ModeliRpc::RemoveChannelLinkResponse>* server_unary_streamer) = 0;
+  };
+  template <class BaseClass>
+  class WithStreamedUnaryMethod_SetInt : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithStreamedUnaryMethod_SetInt() {
+      ::grpc::Service::MarkMethodStreamed(8,
+        new ::grpc::internal::StreamedUnaryHandler< ::ModeliRpc::SetIntRequest, ::ModeliRpc::SetIntResponse>(std::bind(&WithStreamedUnaryMethod_SetInt<BaseClass>::StreamedSetInt, this, std::placeholders::_1, std::placeholders::_2)));
+    }
+    ~WithStreamedUnaryMethod_SetInt() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable regular version of this method
+    ::grpc::Status SetInt(::grpc::ServerContext* context, const ::ModeliRpc::SetIntRequest* request, ::ModeliRpc::SetIntResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    // replace default version of method with streamed unary
+    virtual ::grpc::Status StreamedSetInt(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::ModeliRpc::SetIntRequest,::ModeliRpc::SetIntResponse>* server_unary_streamer) = 0;
+  };
+  template <class BaseClass>
+  class WithStreamedUnaryMethod_SetReal : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithStreamedUnaryMethod_SetReal() {
+      ::grpc::Service::MarkMethodStreamed(9,
+        new ::grpc::internal::StreamedUnaryHandler< ::ModeliRpc::SetRealRequest, ::ModeliRpc::SetRealResponse>(std::bind(&WithStreamedUnaryMethod_SetReal<BaseClass>::StreamedSetReal, this, std::placeholders::_1, std::placeholders::_2)));
+    }
+    ~WithStreamedUnaryMethod_SetReal() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable regular version of this method
+    ::grpc::Status SetReal(::grpc::ServerContext* context, const ::ModeliRpc::SetRealRequest* request, ::ModeliRpc::SetRealResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    // replace default version of method with streamed unary
+    virtual ::grpc::Status StreamedSetReal(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::ModeliRpc::SetRealRequest,::ModeliRpc::SetRealResponse>* server_unary_streamer) = 0;
+  };
+  template <class BaseClass>
+  class WithStreamedUnaryMethod_SetBool : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithStreamedUnaryMethod_SetBool() {
+      ::grpc::Service::MarkMethodStreamed(10,
+        new ::grpc::internal::StreamedUnaryHandler< ::ModeliRpc::SetBoolRequest, ::ModeliRpc::SetBoolResponse>(std::bind(&WithStreamedUnaryMethod_SetBool<BaseClass>::StreamedSetBool, this, std::placeholders::_1, std::placeholders::_2)));
+    }
+    ~WithStreamedUnaryMethod_SetBool() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable regular version of this method
+    ::grpc::Status SetBool(::grpc::ServerContext* context, const ::ModeliRpc::SetBoolRequest* request, ::ModeliRpc::SetBoolResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    // replace default version of method with streamed unary
+    virtual ::grpc::Status StreamedSetBool(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::ModeliRpc::SetBoolRequest,::ModeliRpc::SetBoolResponse>* server_unary_streamer) = 0;
+  };
+  template <class BaseClass>
+  class WithStreamedUnaryMethod_SetString : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithStreamedUnaryMethod_SetString() {
+      ::grpc::Service::MarkMethodStreamed(11,
+        new ::grpc::internal::StreamedUnaryHandler< ::ModeliRpc::SetStringRequest, ::ModeliRpc::SetStringResponse>(std::bind(&WithStreamedUnaryMethod_SetString<BaseClass>::StreamedSetString, this, std::placeholders::_1, std::placeholders::_2)));
+    }
+    ~WithStreamedUnaryMethod_SetString() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable regular version of this method
+    ::grpc::Status SetString(::grpc::ServerContext* context, const ::ModeliRpc::SetStringRequest* request, ::ModeliRpc::SetStringResponse* response) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    // replace default version of method with streamed unary
+    virtual ::grpc::Status StreamedSetString(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::ModeliRpc::SetStringRequest,::ModeliRpc::SetStringResponse>* server_unary_streamer) = 0;
+  };
+  typedef WithStreamedUnaryMethod_Play<WithStreamedUnaryMethod_PlayFast<WithStreamedUnaryMethod_Pause<WithStreamedUnaryMethod_Stop<WithStreamedUnaryMethod_RemoveFmu<WithStreamedUnaryMethod_AddChannelLink<WithStreamedUnaryMethod_RemoveChannelLink<WithStreamedUnaryMethod_SetInt<WithStreamedUnaryMethod_SetReal<WithStreamedUnaryMethod_SetBool<WithStreamedUnaryMethod_SetString<Service > > > > > > > > > > > StreamedUnaryService;
+  template <class BaseClass>
+  class WithSplitStreamingMethod_NewValues : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithSplitStreamingMethod_NewValues() {
+      ::grpc::Service::MarkMethodStreamed(12,
+        new ::grpc::internal::SplitServerStreamingHandler< ::ModeliRpc::NewValuesRequest, ::ModeliRpc::NewValuesResponse>(std::bind(&WithSplitStreamingMethod_NewValues<BaseClass>::StreamedNewValues, this, std::placeholders::_1, std::placeholders::_2)));
+    }
+    ~WithSplitStreamingMethod_NewValues() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable regular version of this method
+    ::grpc::Status NewValues(::grpc::ServerContext* context, const ::ModeliRpc::NewValuesRequest* request, ::grpc::ServerWriter< ::ModeliRpc::NewValuesResponse>* writer) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    // replace default version of method with split streamed
+    virtual ::grpc::Status StreamedNewValues(::grpc::ServerContext* context, ::grpc::ServerSplitStreamer< ::ModeliRpc::NewValuesRequest,::ModeliRpc::NewValuesResponse>* server_split_streamer) = 0;
+  };
+  template <class BaseClass>
+  class WithSplitStreamingMethod_Log : public BaseClass {
+   private:
+    void BaseClassMustBeDerivedFromService(const Service *service) {}
+   public:
+    WithSplitStreamingMethod_Log() {
+      ::grpc::Service::MarkMethodStreamed(13,
+        new ::grpc::internal::SplitServerStreamingHandler< ::ModeliRpc::LogRequest, ::ModeliRpc::LogResponse>(std::bind(&WithSplitStreamingMethod_Log<BaseClass>::StreamedLog, this, std::placeholders::_1, std::placeholders::_2)));
+    }
+    ~WithSplitStreamingMethod_Log() override {
+      BaseClassMustBeDerivedFromService(this);
+    }
+    // disable regular version of this method
+    ::grpc::Status Log(::grpc::ServerContext* context, const ::ModeliRpc::LogRequest* request, ::grpc::ServerWriter< ::ModeliRpc::LogResponse>* writer) final override {
+      abort();
+      return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "");
+    }
+    // replace default version of method with split streamed
+    virtual ::grpc::Status StreamedLog(::grpc::ServerContext* context, ::grpc::ServerSplitStreamer< ::ModeliRpc::LogRequest,::ModeliRpc::LogResponse>* server_split_streamer) = 0;
+  };
+  typedef WithSplitStreamingMethod_NewValues<WithSplitStreamingMethod_Log<Service > > SplitStreamedService;
+  typedef WithStreamedUnaryMethod_Play<WithStreamedUnaryMethod_PlayFast<WithStreamedUnaryMethod_Pause<WithStreamedUnaryMethod_Stop<WithStreamedUnaryMethod_RemoveFmu<WithStreamedUnaryMethod_AddChannelLink<WithStreamedUnaryMethod_RemoveChannelLink<WithStreamedUnaryMethod_SetInt<WithStreamedUnaryMethod_SetReal<WithStreamedUnaryMethod_SetBool<WithStreamedUnaryMethod_SetString<WithSplitStreamingMethod_NewValues<WithSplitStreamingMethod_Log<Service > > > > > > > > > > > > > StreamedService;
+};
+
+}  // namespace ModeliRpc
+
+
+#endif  // GRPC_ModeliRpc_2eproto__INCLUDED
diff --git a/CreatedGrpc_Linux/ModeliRpc.pb.cc b/CreatedGrpc_Linux/ModeliRpc.pb.cc
new file mode 100644
index 0000000000000000000000000000000000000000..d24dc9ce3fbe36b4befe91aad90b080ec794794a
--- /dev/null
+++ b/CreatedGrpc_Linux/ModeliRpc.pb.cc
@@ -0,0 +1,10223 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+// source: ModeliRpc.proto
+
+#include "ModeliRpc.pb.h"
+
+#include <algorithm>
+
+#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/stubs/port.h>
+#include <google/protobuf/stubs/once.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/wire_format_lite_inl.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>
+// This is a temporary google only hack
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+#include "third_party/protobuf/version.h"
+#endif
+// @@protoc_insertion_point(includes)
+namespace ModeliRpc {
+class ChannelLinkDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<ChannelLink>
+      _instance;
+} _ChannelLink_default_instance_;
+class PlayRequestDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<PlayRequest>
+      _instance;
+} _PlayRequest_default_instance_;
+class PlayResponseDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<PlayResponse>
+      _instance;
+} _PlayResponse_default_instance_;
+class PlayFastRequestDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<PlayFastRequest>
+      _instance;
+} _PlayFastRequest_default_instance_;
+class PlayFastResponseDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<PlayFastResponse>
+      _instance;
+} _PlayFastResponse_default_instance_;
+class PauseRequestDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<PauseRequest>
+      _instance;
+} _PauseRequest_default_instance_;
+class PauseResponseDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<PauseResponse>
+      _instance;
+} _PauseResponse_default_instance_;
+class StopRequestDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<StopRequest>
+      _instance;
+} _StopRequest_default_instance_;
+class StopResponseDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<StopResponse>
+      _instance;
+} _StopResponse_default_instance_;
+class AddFmuRequestDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<AddFmuRequest>
+      _instance;
+} _AddFmuRequest_default_instance_;
+class AddFmuResponseDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<AddFmuResponse>
+      _instance;
+} _AddFmuResponse_default_instance_;
+class RemoveFmuRequestDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<RemoveFmuRequest>
+      _instance;
+} _RemoveFmuRequest_default_instance_;
+class RemoveFmuResponseDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<RemoveFmuResponse>
+      _instance;
+} _RemoveFmuResponse_default_instance_;
+class AddChannelLinkRequestDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<AddChannelLinkRequest>
+      _instance;
+} _AddChannelLinkRequest_default_instance_;
+class AddChannelLinkResponseDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<AddChannelLinkResponse>
+      _instance;
+} _AddChannelLinkResponse_default_instance_;
+class RemoveChannelLinkRequestDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<RemoveChannelLinkRequest>
+      _instance;
+} _RemoveChannelLinkRequest_default_instance_;
+class RemoveChannelLinkResponseDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<RemoveChannelLinkResponse>
+      _instance;
+} _RemoveChannelLinkResponse_default_instance_;
+class IntValuesDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<IntValues>
+      _instance;
+} _IntValues_default_instance_;
+class SetIntRequestDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<SetIntRequest>
+      _instance;
+} _SetIntRequest_default_instance_;
+class SetIntResponseDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<SetIntResponse>
+      _instance;
+} _SetIntResponse_default_instance_;
+class RealValuesDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<RealValues>
+      _instance;
+} _RealValues_default_instance_;
+class SetRealRequestDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<SetRealRequest>
+      _instance;
+} _SetRealRequest_default_instance_;
+class SetRealResponseDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<SetRealResponse>
+      _instance;
+} _SetRealResponse_default_instance_;
+class BoolValuesDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<BoolValues>
+      _instance;
+} _BoolValues_default_instance_;
+class SetBoolRequestDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<SetBoolRequest>
+      _instance;
+} _SetBoolRequest_default_instance_;
+class SetBoolResponseDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<SetBoolResponse>
+      _instance;
+} _SetBoolResponse_default_instance_;
+class StringValuesDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<StringValues>
+      _instance;
+} _StringValues_default_instance_;
+class SetStringRequestDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<SetStringRequest>
+      _instance;
+} _SetStringRequest_default_instance_;
+class SetStringResponseDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<SetStringResponse>
+      _instance;
+} _SetStringResponse_default_instance_;
+class NewValuesRequestDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<NewValuesRequest>
+      _instance;
+} _NewValuesRequest_default_instance_;
+class NewValuesResponseDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<NewValuesResponse>
+      _instance;
+} _NewValuesResponse_default_instance_;
+class LogRequestDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<LogRequest>
+      _instance;
+} _LogRequest_default_instance_;
+class LogResponseDefaultTypeInternal {
+ public:
+  ::google::protobuf::internal::ExplicitlyConstructed<LogResponse>
+      _instance;
+} _LogResponse_default_instance_;
+}  // namespace ModeliRpc
+namespace protobuf_ModeliRpc_2eproto {
+void InitDefaultsChannelLinkImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_ChannelLink_default_instance_;
+    new (ptr) ::ModeliRpc::ChannelLink();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::ChannelLink::InitAsDefaultInstance();
+}
+
+void InitDefaultsChannelLink() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsChannelLinkImpl);
+}
+
+void InitDefaultsPlayRequestImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_PlayRequest_default_instance_;
+    new (ptr) ::ModeliRpc::PlayRequest();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::PlayRequest::InitAsDefaultInstance();
+}
+
+void InitDefaultsPlayRequest() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsPlayRequestImpl);
+}
+
+void InitDefaultsPlayResponseImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_PlayResponse_default_instance_;
+    new (ptr) ::ModeliRpc::PlayResponse();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::PlayResponse::InitAsDefaultInstance();
+}
+
+void InitDefaultsPlayResponse() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsPlayResponseImpl);
+}
+
+void InitDefaultsPlayFastRequestImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_PlayFastRequest_default_instance_;
+    new (ptr) ::ModeliRpc::PlayFastRequest();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::PlayFastRequest::InitAsDefaultInstance();
+}
+
+void InitDefaultsPlayFastRequest() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsPlayFastRequestImpl);
+}
+
+void InitDefaultsPlayFastResponseImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_PlayFastResponse_default_instance_;
+    new (ptr) ::ModeliRpc::PlayFastResponse();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::PlayFastResponse::InitAsDefaultInstance();
+}
+
+void InitDefaultsPlayFastResponse() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsPlayFastResponseImpl);
+}
+
+void InitDefaultsPauseRequestImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_PauseRequest_default_instance_;
+    new (ptr) ::ModeliRpc::PauseRequest();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::PauseRequest::InitAsDefaultInstance();
+}
+
+void InitDefaultsPauseRequest() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsPauseRequestImpl);
+}
+
+void InitDefaultsPauseResponseImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_PauseResponse_default_instance_;
+    new (ptr) ::ModeliRpc::PauseResponse();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::PauseResponse::InitAsDefaultInstance();
+}
+
+void InitDefaultsPauseResponse() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsPauseResponseImpl);
+}
+
+void InitDefaultsStopRequestImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_StopRequest_default_instance_;
+    new (ptr) ::ModeliRpc::StopRequest();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::StopRequest::InitAsDefaultInstance();
+}
+
+void InitDefaultsStopRequest() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsStopRequestImpl);
+}
+
+void InitDefaultsStopResponseImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_StopResponse_default_instance_;
+    new (ptr) ::ModeliRpc::StopResponse();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::StopResponse::InitAsDefaultInstance();
+}
+
+void InitDefaultsStopResponse() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsStopResponseImpl);
+}
+
+void InitDefaultsAddFmuRequestImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_AddFmuRequest_default_instance_;
+    new (ptr) ::ModeliRpc::AddFmuRequest();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::AddFmuRequest::InitAsDefaultInstance();
+}
+
+void InitDefaultsAddFmuRequest() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsAddFmuRequestImpl);
+}
+
+void InitDefaultsAddFmuResponseImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_AddFmuResponse_default_instance_;
+    new (ptr) ::ModeliRpc::AddFmuResponse();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::AddFmuResponse::InitAsDefaultInstance();
+}
+
+void InitDefaultsAddFmuResponse() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsAddFmuResponseImpl);
+}
+
+void InitDefaultsRemoveFmuRequestImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_RemoveFmuRequest_default_instance_;
+    new (ptr) ::ModeliRpc::RemoveFmuRequest();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::RemoveFmuRequest::InitAsDefaultInstance();
+}
+
+void InitDefaultsRemoveFmuRequest() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsRemoveFmuRequestImpl);
+}
+
+void InitDefaultsRemoveFmuResponseImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_RemoveFmuResponse_default_instance_;
+    new (ptr) ::ModeliRpc::RemoveFmuResponse();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::RemoveFmuResponse::InitAsDefaultInstance();
+}
+
+void InitDefaultsRemoveFmuResponse() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsRemoveFmuResponseImpl);
+}
+
+void InitDefaultsAddChannelLinkRequestImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  protobuf_ModeliRpc_2eproto::InitDefaultsChannelLink();
+  {
+    void* ptr = &::ModeliRpc::_AddChannelLinkRequest_default_instance_;
+    new (ptr) ::ModeliRpc::AddChannelLinkRequest();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::AddChannelLinkRequest::InitAsDefaultInstance();
+}
+
+void InitDefaultsAddChannelLinkRequest() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsAddChannelLinkRequestImpl);
+}
+
+void InitDefaultsAddChannelLinkResponseImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_AddChannelLinkResponse_default_instance_;
+    new (ptr) ::ModeliRpc::AddChannelLinkResponse();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::AddChannelLinkResponse::InitAsDefaultInstance();
+}
+
+void InitDefaultsAddChannelLinkResponse() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsAddChannelLinkResponseImpl);
+}
+
+void InitDefaultsRemoveChannelLinkRequestImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  protobuf_ModeliRpc_2eproto::InitDefaultsChannelLink();
+  {
+    void* ptr = &::ModeliRpc::_RemoveChannelLinkRequest_default_instance_;
+    new (ptr) ::ModeliRpc::RemoveChannelLinkRequest();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::RemoveChannelLinkRequest::InitAsDefaultInstance();
+}
+
+void InitDefaultsRemoveChannelLinkRequest() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsRemoveChannelLinkRequestImpl);
+}
+
+void InitDefaultsRemoveChannelLinkResponseImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_RemoveChannelLinkResponse_default_instance_;
+    new (ptr) ::ModeliRpc::RemoveChannelLinkResponse();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::RemoveChannelLinkResponse::InitAsDefaultInstance();
+}
+
+void InitDefaultsRemoveChannelLinkResponse() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsRemoveChannelLinkResponseImpl);
+}
+
+void InitDefaultsIntValuesImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_IntValues_default_instance_;
+    new (ptr) ::ModeliRpc::IntValues();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::IntValues::InitAsDefaultInstance();
+}
+
+void InitDefaultsIntValues() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsIntValuesImpl);
+}
+
+void InitDefaultsSetIntRequestImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  protobuf_ModeliRpc_2eproto::InitDefaultsIntValues();
+  {
+    void* ptr = &::ModeliRpc::_SetIntRequest_default_instance_;
+    new (ptr) ::ModeliRpc::SetIntRequest();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::SetIntRequest::InitAsDefaultInstance();
+}
+
+void InitDefaultsSetIntRequest() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsSetIntRequestImpl);
+}
+
+void InitDefaultsSetIntResponseImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_SetIntResponse_default_instance_;
+    new (ptr) ::ModeliRpc::SetIntResponse();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::SetIntResponse::InitAsDefaultInstance();
+}
+
+void InitDefaultsSetIntResponse() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsSetIntResponseImpl);
+}
+
+void InitDefaultsRealValuesImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_RealValues_default_instance_;
+    new (ptr) ::ModeliRpc::RealValues();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::RealValues::InitAsDefaultInstance();
+}
+
+void InitDefaultsRealValues() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsRealValuesImpl);
+}
+
+void InitDefaultsSetRealRequestImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  protobuf_ModeliRpc_2eproto::InitDefaultsRealValues();
+  {
+    void* ptr = &::ModeliRpc::_SetRealRequest_default_instance_;
+    new (ptr) ::ModeliRpc::SetRealRequest();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::SetRealRequest::InitAsDefaultInstance();
+}
+
+void InitDefaultsSetRealRequest() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsSetRealRequestImpl);
+}
+
+void InitDefaultsSetRealResponseImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_SetRealResponse_default_instance_;
+    new (ptr) ::ModeliRpc::SetRealResponse();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::SetRealResponse::InitAsDefaultInstance();
+}
+
+void InitDefaultsSetRealResponse() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsSetRealResponseImpl);
+}
+
+void InitDefaultsBoolValuesImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_BoolValues_default_instance_;
+    new (ptr) ::ModeliRpc::BoolValues();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::BoolValues::InitAsDefaultInstance();
+}
+
+void InitDefaultsBoolValues() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsBoolValuesImpl);
+}
+
+void InitDefaultsSetBoolRequestImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  protobuf_ModeliRpc_2eproto::InitDefaultsBoolValues();
+  {
+    void* ptr = &::ModeliRpc::_SetBoolRequest_default_instance_;
+    new (ptr) ::ModeliRpc::SetBoolRequest();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::SetBoolRequest::InitAsDefaultInstance();
+}
+
+void InitDefaultsSetBoolRequest() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsSetBoolRequestImpl);
+}
+
+void InitDefaultsSetBoolResponseImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_SetBoolResponse_default_instance_;
+    new (ptr) ::ModeliRpc::SetBoolResponse();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::SetBoolResponse::InitAsDefaultInstance();
+}
+
+void InitDefaultsSetBoolResponse() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsSetBoolResponseImpl);
+}
+
+void InitDefaultsStringValuesImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_StringValues_default_instance_;
+    new (ptr) ::ModeliRpc::StringValues();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::StringValues::InitAsDefaultInstance();
+}
+
+void InitDefaultsStringValues() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsStringValuesImpl);
+}
+
+void InitDefaultsSetStringRequestImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  protobuf_ModeliRpc_2eproto::InitDefaultsStringValues();
+  {
+    void* ptr = &::ModeliRpc::_SetStringRequest_default_instance_;
+    new (ptr) ::ModeliRpc::SetStringRequest();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::SetStringRequest::InitAsDefaultInstance();
+}
+
+void InitDefaultsSetStringRequest() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsSetStringRequestImpl);
+}
+
+void InitDefaultsSetStringResponseImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_SetStringResponse_default_instance_;
+    new (ptr) ::ModeliRpc::SetStringResponse();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::SetStringResponse::InitAsDefaultInstance();
+}
+
+void InitDefaultsSetStringResponse() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsSetStringResponseImpl);
+}
+
+void InitDefaultsNewValuesRequestImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_NewValuesRequest_default_instance_;
+    new (ptr) ::ModeliRpc::NewValuesRequest();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::NewValuesRequest::InitAsDefaultInstance();
+}
+
+void InitDefaultsNewValuesRequest() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsNewValuesRequestImpl);
+}
+
+void InitDefaultsNewValuesResponseImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  protobuf_ModeliRpc_2eproto::InitDefaultsIntValues();
+  protobuf_ModeliRpc_2eproto::InitDefaultsRealValues();
+  protobuf_ModeliRpc_2eproto::InitDefaultsBoolValues();
+  protobuf_ModeliRpc_2eproto::InitDefaultsStringValues();
+  {
+    void* ptr = &::ModeliRpc::_NewValuesResponse_default_instance_;
+    new (ptr) ::ModeliRpc::NewValuesResponse();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::NewValuesResponse::InitAsDefaultInstance();
+}
+
+void InitDefaultsNewValuesResponse() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsNewValuesResponseImpl);
+}
+
+void InitDefaultsLogRequestImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_LogRequest_default_instance_;
+    new (ptr) ::ModeliRpc::LogRequest();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::LogRequest::InitAsDefaultInstance();
+}
+
+void InitDefaultsLogRequest() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsLogRequestImpl);
+}
+
+void InitDefaultsLogResponseImpl() {
+  GOOGLE_PROTOBUF_VERIFY_VERSION;
+
+#ifdef GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  ::google::protobuf::internal::InitProtobufDefaultsForceUnique();
+#else
+  ::google::protobuf::internal::InitProtobufDefaults();
+#endif  // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS
+  {
+    void* ptr = &::ModeliRpc::_LogResponse_default_instance_;
+    new (ptr) ::ModeliRpc::LogResponse();
+    ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
+  }
+  ::ModeliRpc::LogResponse::InitAsDefaultInstance();
+}
+
+void InitDefaultsLogResponse() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &InitDefaultsLogResponseImpl);
+}
+
+::google::protobuf::Metadata file_level_metadata[33];
+
+const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::ChannelLink, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::ChannelLink, master_instance_name_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::ChannelLink, slave_instance_name_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::ChannelLink, master_vr_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::ChannelLink, slave_vr_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::ChannelLink, factor_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::ChannelLink, offset_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::PlayRequest, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::PlayResponse, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::PlayResponse, status_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::PlayFastRequest, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::PlayFastRequest, time_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::PlayFastResponse, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::PlayFastResponse, status_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::PauseRequest, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::PauseResponse, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::StopRequest, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::StopResponse, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::StopResponse, status_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::AddFmuRequest, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::AddFmuRequest, instance_name_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::AddFmuRequest, chunk_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::AddFmuRequest, total_size_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::AddFmuResponse, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::AddFmuResponse, success_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::RemoveFmuRequest, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::RemoveFmuRequest, instance_name_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::RemoveFmuResponse, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::RemoveFmuResponse, success_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::AddChannelLinkRequest, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::AddChannelLinkRequest, channel_link_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::AddChannelLinkResponse, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::AddChannelLinkResponse, success_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::RemoveChannelLinkRequest, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::RemoveChannelLinkRequest, channel_link_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::RemoveChannelLinkResponse, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::RemoveChannelLinkResponse, success_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::IntValues, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::IntValues, vrs_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::IntValues, values_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetIntRequest, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetIntRequest, instance_name_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetIntRequest, values_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetIntResponse, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetIntResponse, status_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::RealValues, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::RealValues, vrs_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::RealValues, values_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetRealRequest, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetRealRequest, instance_name_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetRealRequest, values_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetRealResponse, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetRealResponse, status_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::BoolValues, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::BoolValues, vrs_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::BoolValues, values_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetBoolRequest, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetBoolRequest, instance_name_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetBoolRequest, values_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetBoolResponse, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetBoolResponse, status_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::StringValues, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::StringValues, vrs_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::StringValues, values_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetStringRequest, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetStringRequest, instance_name_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetStringRequest, values_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetStringResponse, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::SetStringResponse, status_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::NewValuesRequest, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::NewValuesResponse, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::NewValuesResponse, timestamp_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::NewValuesResponse, int_values_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::NewValuesResponse, real_values_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::NewValuesResponse, bool_values_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::NewValuesResponse, string_values_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::NewValuesResponse, instance_name_),
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::LogRequest, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  ~0u,  // no _has_bits_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::LogResponse, _internal_metadata_),
+  ~0u,  // no _extensions_
+  ~0u,  // no _oneof_case_
+  ~0u,  // no _weak_field_map_
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::LogResponse, instance_name_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::LogResponse, status_),
+  GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::ModeliRpc::LogResponse, message_),
+};
+static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+  { 0, -1, sizeof(::ModeliRpc::ChannelLink)},
+  { 11, -1, sizeof(::ModeliRpc::PlayRequest)},
+  { 16, -1, sizeof(::ModeliRpc::PlayResponse)},
+  { 22, -1, sizeof(::ModeliRpc::PlayFastRequest)},
+  { 28, -1, sizeof(::ModeliRpc::PlayFastResponse)},
+  { 34, -1, sizeof(::ModeliRpc::PauseRequest)},
+  { 39, -1, sizeof(::ModeliRpc::PauseResponse)},
+  { 44, -1, sizeof(::ModeliRpc::StopRequest)},
+  { 49, -1, sizeof(::ModeliRpc::StopResponse)},
+  { 55, -1, sizeof(::ModeliRpc::AddFmuRequest)},
+  { 63, -1, sizeof(::ModeliRpc::AddFmuResponse)},
+  { 69, -1, sizeof(::ModeliRpc::RemoveFmuRequest)},
+  { 75, -1, sizeof(::ModeliRpc::RemoveFmuResponse)},
+  { 81, -1, sizeof(::ModeliRpc::AddChannelLinkRequest)},
+  { 87, -1, sizeof(::ModeliRpc::AddChannelLinkResponse)},
+  { 93, -1, sizeof(::ModeliRpc::RemoveChannelLinkRequest)},
+  { 99, -1, sizeof(::ModeliRpc::RemoveChannelLinkResponse)},
+  { 105, -1, sizeof(::ModeliRpc::IntValues)},
+  { 112, -1, sizeof(::ModeliRpc::SetIntRequest)},
+  { 119, -1, sizeof(::ModeliRpc::SetIntResponse)},
+  { 125, -1, sizeof(::ModeliRpc::RealValues)},
+  { 132, -1, sizeof(::ModeliRpc::SetRealRequest)},
+  { 139, -1, sizeof(::ModeliRpc::SetRealResponse)},
+  { 145, -1, sizeof(::ModeliRpc::BoolValues)},
+  { 152, -1, sizeof(::ModeliRpc::SetBoolRequest)},
+  { 159, -1, sizeof(::ModeliRpc::SetBoolResponse)},
+  { 165, -1, sizeof(::ModeliRpc::StringValues)},
+  { 172, -1, sizeof(::ModeliRpc::SetStringRequest)},
+  { 179, -1, sizeof(::ModeliRpc::SetStringResponse)},
+  { 185, -1, sizeof(::ModeliRpc::NewValuesRequest)},
+  { 190, -1, sizeof(::ModeliRpc::NewValuesResponse)},
+  { 201, -1, sizeof(::ModeliRpc::LogRequest)},
+  { 206, -1, sizeof(::ModeliRpc::LogResponse)},
+};
+
+static ::google::protobuf::Message const * const file_default_instances[] = {
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_ChannelLink_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_PlayRequest_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_PlayResponse_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_PlayFastRequest_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_PlayFastResponse_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_PauseRequest_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_PauseResponse_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_StopRequest_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_StopResponse_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_AddFmuRequest_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_AddFmuResponse_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_RemoveFmuRequest_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_RemoveFmuResponse_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_AddChannelLinkRequest_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_AddChannelLinkResponse_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_RemoveChannelLinkRequest_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_RemoveChannelLinkResponse_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_IntValues_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_SetIntRequest_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_SetIntResponse_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_RealValues_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_SetRealRequest_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_SetRealResponse_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_BoolValues_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_SetBoolRequest_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_SetBoolResponse_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_StringValues_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_SetStringRequest_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_SetStringResponse_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_NewValuesRequest_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_NewValuesResponse_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_LogRequest_default_instance_),
+  reinterpret_cast<const ::google::protobuf::Message*>(&::ModeliRpc::_LogResponse_default_instance_),
+};
+
+void protobuf_AssignDescriptors() {
+  AddDescriptors();
+  ::google::protobuf::MessageFactory* factory = NULL;
+  AssignDescriptors(
+      "ModeliRpc.proto", schemas, file_default_instances, TableStruct::offsets, factory,
+      file_level_metadata, NULL, NULL);
+}
+
+void protobuf_AssignDescriptorsOnce() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &protobuf_AssignDescriptors);
+}
+
+void protobuf_RegisterTypes(const ::std::string&) GOOGLE_PROTOBUF_ATTRIBUTE_COLD;
+void protobuf_RegisterTypes(const ::std::string&) {
+  protobuf_AssignDescriptorsOnce();
+  ::google::protobuf::internal::RegisterAllTypes(file_level_metadata, 33);
+}
+
+void AddDescriptorsImpl() {
+  InitDefaults();
+  static const char descriptor[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = {
+      "\n\017ModeliRpc.proto\022\tModeliRpc\"\215\001\n\013Channel"
+      "Link\022\034\n\024master_instance_name\030\001 \001(\t\022\033\n\023sl"
+      "ave_instance_name\030\002 \001(\t\022\021\n\tmaster_vr\030\003 \001"
+      "(\r\022\020\n\010slave_vr\030\004 \001(\r\022\016\n\006factor\030\005 \001(\001\022\016\n\006"
+      "offset\030\006 \001(\001\"\r\n\013PlayRequest\"\036\n\014PlayRespo"
+      "nse\022\016\n\006status\030\001 \001(\005\"\037\n\017PlayFastRequest\022\014"
+      "\n\004time\030\001 \001(\001\"\"\n\020PlayFastResponse\022\016\n\006stat"
+      "us\030\001 \001(\005\"\016\n\014PauseRequest\"\017\n\rPauseRespons"
+      "e\"\r\n\013StopRequest\"\036\n\014StopResponse\022\016\n\006stat"
+      "us\030\001 \001(\005\"I\n\rAddFmuRequest\022\025\n\rinstance_na"
+      "me\030\001 \001(\t\022\r\n\005chunk\030\002 \001(\014\022\022\n\ntotal_size\030\003 "
+      "\001(\003\"!\n\016AddFmuResponse\022\017\n\007success\030\001 \001(\010\")"
+      "\n\020RemoveFmuRequest\022\025\n\rinstance_name\030\001 \001("
+      "\t\"$\n\021RemoveFmuResponse\022\017\n\007success\030\001 \001(\010\""
+      "E\n\025AddChannelLinkRequest\022,\n\014channel_link"
+      "\030\001 \001(\0132\026.ModeliRpc.ChannelLink\")\n\026AddCha"
+      "nnelLinkResponse\022\017\n\007success\030\001 \001(\010\"H\n\030Rem"
+      "oveChannelLinkRequest\022,\n\014channel_link\030\001 "
+      "\001(\0132\026.ModeliRpc.ChannelLink\",\n\031RemoveCha"
+      "nnelLinkResponse\022\017\n\007success\030\001 \001(\010\"(\n\tInt"
+      "Values\022\013\n\003vrs\030\001 \003(\r\022\016\n\006values\030\002 \003(\005\"L\n\rS"
+      "etIntRequest\022\025\n\rinstance_name\030\001 \001(\t\022$\n\006v"
+      "alues\030\002 \001(\0132\024.ModeliRpc.IntValues\" \n\016Set"
+      "IntResponse\022\016\n\006status\030\001 \001(\005\")\n\nRealValue"
+      "s\022\013\n\003vrs\030\001 \003(\r\022\016\n\006values\030\002 \003(\001\"N\n\016SetRea"
+      "lRequest\022\025\n\rinstance_name\030\001 \001(\t\022%\n\006value"
+      "s\030\002 \001(\0132\025.ModeliRpc.RealValues\"!\n\017SetRea"
+      "lResponse\022\016\n\006status\030\001 \001(\005\")\n\nBoolValues\022"
+      "\013\n\003vrs\030\001 \003(\r\022\016\n\006values\030\002 \003(\005\"N\n\016SetBoolR"
+      "equest\022\025\n\rinstance_name\030\001 \001(\t\022%\n\006values\030"
+      "\002 \001(\0132\025.ModeliRpc.BoolValues\"!\n\017SetBoolR"
+      "esponse\022\016\n\006status\030\001 \001(\005\"+\n\014StringValues\022"
+      "\013\n\003vrs\030\001 \003(\r\022\016\n\006values\030\002 \003(\t\"R\n\020SetStrin"
+      "gRequest\022\025\n\rinstance_name\030\001 \001(\t\022\'\n\006value"
+      "s\030\002 \001(\0132\027.ModeliRpc.StringValues\"#\n\021SetS"
+      "tringResponse\022\016\n\006status\030\001 \001(\005\"\022\n\020NewValu"
+      "esRequest\"\357\001\n\021NewValuesResponse\022\021\n\ttimes"
+      "tamp\030\001 \001(\001\022(\n\nint_values\030\002 \001(\0132\024.ModeliR"
+      "pc.IntValues\022*\n\013real_values\030\003 \001(\0132\025.Mode"
+      "liRpc.RealValues\022*\n\013bool_values\030\004 \001(\0132\025."
+      "ModeliRpc.BoolValues\022.\n\rstring_values\030\005 "
+      "\001(\0132\027.ModeliRpc.StringValues\022\025\n\rinstance"
+      "_name\030\006 \001(\t\"\014\n\nLogRequest\"E\n\013LogResponse"
+      "\022\025\n\rinstance_name\030\001 \001(\t\022\016\n\006status\030\002 \001(\005\022"
+      "\017\n\007message\030\003 \001(\t2\317\007\n\rModeliBackend\0227\n\004Pl"
+      "ay\022\026.ModeliRpc.PlayRequest\032\027.ModeliRpc.P"
+      "layResponse\022C\n\010PlayFast\022\032.ModeliRpc.Play"
+      "FastRequest\032\033.ModeliRpc.PlayFastResponse"
+      "\022:\n\005Pause\022\027.ModeliRpc.PauseRequest\032\030.Mod"
+      "eliRpc.PauseResponse\0227\n\004Stop\022\026.ModeliRpc"
+      ".StopRequest\032\027.ModeliRpc.StopResponse\022\?\n"
+      "\006AddFmu\022\030.ModeliRpc.AddFmuRequest\032\031.Mode"
+      "liRpc.AddFmuResponse(\001\022F\n\tRemoveFmu\022\033.Mo"
+      "deliRpc.RemoveFmuRequest\032\034.ModeliRpc.Rem"
+      "oveFmuResponse\022U\n\016AddChannelLink\022 .Model"
+      "iRpc.AddChannelLinkRequest\032!.ModeliRpc.A"
+      "ddChannelLinkResponse\022^\n\021RemoveChannelLi"
+      "nk\022#.ModeliRpc.RemoveChannelLinkRequest\032"
+      "$.ModeliRpc.RemoveChannelLinkResponse\022=\n"
+      "\006SetInt\022\030.ModeliRpc.SetIntRequest\032\031.Mode"
+      "liRpc.SetIntResponse\022@\n\007SetReal\022\031.Modeli"
+      "Rpc.SetRealRequest\032\032.ModeliRpc.SetRealRe"
+      "sponse\022@\n\007SetBool\022\031.ModeliRpc.SetBoolReq"
+      "uest\032\032.ModeliRpc.SetBoolResponse\022F\n\tSetS"
+      "tring\022\033.ModeliRpc.SetStringRequest\032\034.Mod"
+      "eliRpc.SetStringResponse\022H\n\tNewValues\022\033."
+      "ModeliRpc.NewValuesRequest\032\034.ModeliRpc.N"
+      "ewValuesResponse0\001\0226\n\003Log\022\025.ModeliRpc.Lo"
+      "gRequest\032\026.ModeliRpc.LogResponse0\001b\006prot"
+      "o3"
+  };
+  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
+      descriptor, 2762);
+  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
+    "ModeliRpc.proto", &protobuf_RegisterTypes);
+}
+
+void AddDescriptors() {
+  static GOOGLE_PROTOBUF_DECLARE_ONCE(once);
+  ::google::protobuf::GoogleOnceInit(&once, &AddDescriptorsImpl);
+}
+// Force AddDescriptors() to be called at dynamic initialization time.
+struct StaticDescriptorInitializer {
+  StaticDescriptorInitializer() {
+    AddDescriptors();
+  }
+} static_descriptor_initializer;
+}  // namespace protobuf_ModeliRpc_2eproto
+namespace ModeliRpc {
+
+// ===================================================================
+
+void ChannelLink::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int ChannelLink::kMasterInstanceNameFieldNumber;
+const int ChannelLink::kSlaveInstanceNameFieldNumber;
+const int ChannelLink::kMasterVrFieldNumber;
+const int ChannelLink::kSlaveVrFieldNumber;
+const int ChannelLink::kFactorFieldNumber;
+const int ChannelLink::kOffsetFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+ChannelLink::ChannelLink()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsChannelLink();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.ChannelLink)
+}
+ChannelLink::ChannelLink(const ChannelLink& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  master_instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.master_instance_name().size() > 0) {
+    master_instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.master_instance_name_);
+  }
+  slave_instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.slave_instance_name().size() > 0) {
+    slave_instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.slave_instance_name_);
+  }
+  ::memcpy(&master_vr_, &from.master_vr_,
+    static_cast<size_t>(reinterpret_cast<char*>(&offset_) -
+    reinterpret_cast<char*>(&master_vr_)) + sizeof(offset_));
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.ChannelLink)
+}
+
+void ChannelLink::SharedCtor() {
+  master_instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  slave_instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  ::memset(&master_vr_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&offset_) -
+      reinterpret_cast<char*>(&master_vr_)) + sizeof(offset_));
+  _cached_size_ = 0;
+}
+
+ChannelLink::~ChannelLink() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.ChannelLink)
+  SharedDtor();
+}
+
+void ChannelLink::SharedDtor() {
+  master_instance_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  slave_instance_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void ChannelLink::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* ChannelLink::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const ChannelLink& ChannelLink::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsChannelLink();
+  return *internal_default_instance();
+}
+
+ChannelLink* ChannelLink::New(::google::protobuf::Arena* arena) const {
+  ChannelLink* n = new ChannelLink;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void ChannelLink::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.ChannelLink)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  master_instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  slave_instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  ::memset(&master_vr_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&offset_) -
+      reinterpret_cast<char*>(&master_vr_)) + sizeof(offset_));
+  _internal_metadata_.Clear();
+}
+
+bool ChannelLink::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.ChannelLink)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // string master_instance_name = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_master_instance_name()));
+          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+            this->master_instance_name().data(), static_cast<int>(this->master_instance_name().length()),
+            ::google::protobuf::internal::WireFormatLite::PARSE,
+            "ModeliRpc.ChannelLink.master_instance_name"));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // string slave_instance_name = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_slave_instance_name()));
+          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+            this->slave_instance_name().data(), static_cast<int>(this->slave_instance_name().length()),
+            ::google::protobuf::internal::WireFormatLite::PARSE,
+            "ModeliRpc.ChannelLink.slave_instance_name"));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // uint32 master_vr = 3;
+      case 3: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
+                 input, &master_vr_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // uint32 slave_vr = 4;
+      case 4: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(32u /* 32 & 0xFF */)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
+                 input, &slave_vr_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // double factor = 5;
+      case 5: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(41u /* 41 & 0xFF */)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
+                 input, &factor_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // double offset = 6;
+      case 6: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(49u /* 49 & 0xFF */)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
+                 input, &offset_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.ChannelLink)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.ChannelLink)
+  return false;
+#undef DO_
+}
+
+void ChannelLink::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.ChannelLink)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string master_instance_name = 1;
+  if (this->master_instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->master_instance_name().data(), static_cast<int>(this->master_instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.ChannelLink.master_instance_name");
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->master_instance_name(), output);
+  }
+
+  // string slave_instance_name = 2;
+  if (this->slave_instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->slave_instance_name().data(), static_cast<int>(this->slave_instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.ChannelLink.slave_instance_name");
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      2, this->slave_instance_name(), output);
+  }
+
+  // uint32 master_vr = 3;
+  if (this->master_vr() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->master_vr(), output);
+  }
+
+  // uint32 slave_vr = 4;
+  if (this->slave_vr() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->slave_vr(), output);
+  }
+
+  // double factor = 5;
+  if (this->factor() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteDouble(5, this->factor(), output);
+  }
+
+  // double offset = 6;
+  if (this->offset() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteDouble(6, this->offset(), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.ChannelLink)
+}
+
+::google::protobuf::uint8* ChannelLink::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.ChannelLink)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string master_instance_name = 1;
+  if (this->master_instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->master_instance_name().data(), static_cast<int>(this->master_instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.ChannelLink.master_instance_name");
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+        1, this->master_instance_name(), target);
+  }
+
+  // string slave_instance_name = 2;
+  if (this->slave_instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->slave_instance_name().data(), static_cast<int>(this->slave_instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.ChannelLink.slave_instance_name");
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+        2, this->slave_instance_name(), target);
+  }
+
+  // uint32 master_vr = 3;
+  if (this->master_vr() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(3, this->master_vr(), target);
+  }
+
+  // uint32 slave_vr = 4;
+  if (this->slave_vr() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(4, this->slave_vr(), target);
+  }
+
+  // double factor = 5;
+  if (this->factor() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(5, this->factor(), target);
+  }
+
+  // double offset = 6;
+  if (this->offset() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(6, this->offset(), target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.ChannelLink)
+  return target;
+}
+
+size_t ChannelLink::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.ChannelLink)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // string master_instance_name = 1;
+  if (this->master_instance_name().size() > 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::StringSize(
+        this->master_instance_name());
+  }
+
+  // string slave_instance_name = 2;
+  if (this->slave_instance_name().size() > 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::StringSize(
+        this->slave_instance_name());
+  }
+
+  // uint32 master_vr = 3;
+  if (this->master_vr() != 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::UInt32Size(
+        this->master_vr());
+  }
+
+  // uint32 slave_vr = 4;
+  if (this->slave_vr() != 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::UInt32Size(
+        this->slave_vr());
+  }
+
+  // double factor = 5;
+  if (this->factor() != 0) {
+    total_size += 1 + 8;
+  }
+
+  // double offset = 6;
+  if (this->offset() != 0) {
+    total_size += 1 + 8;
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void ChannelLink::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.ChannelLink)
+  GOOGLE_DCHECK_NE(&from, this);
+  const ChannelLink* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const ChannelLink>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.ChannelLink)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.ChannelLink)
+    MergeFrom(*source);
+  }
+}
+
+void ChannelLink::MergeFrom(const ChannelLink& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.ChannelLink)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.master_instance_name().size() > 0) {
+
+    master_instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.master_instance_name_);
+  }
+  if (from.slave_instance_name().size() > 0) {
+
+    slave_instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.slave_instance_name_);
+  }
+  if (from.master_vr() != 0) {
+    set_master_vr(from.master_vr());
+  }
+  if (from.slave_vr() != 0) {
+    set_slave_vr(from.slave_vr());
+  }
+  if (from.factor() != 0) {
+    set_factor(from.factor());
+  }
+  if (from.offset() != 0) {
+    set_offset(from.offset());
+  }
+}
+
+void ChannelLink::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.ChannelLink)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void ChannelLink::CopyFrom(const ChannelLink& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.ChannelLink)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool ChannelLink::IsInitialized() const {
+  return true;
+}
+
+void ChannelLink::Swap(ChannelLink* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void ChannelLink::InternalSwap(ChannelLink* other) {
+  using std::swap;
+  master_instance_name_.Swap(&other->master_instance_name_);
+  slave_instance_name_.Swap(&other->slave_instance_name_);
+  swap(master_vr_, other->master_vr_);
+  swap(slave_vr_, other->slave_vr_);
+  swap(factor_, other->factor_);
+  swap(offset_, other->offset_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata ChannelLink::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void PlayRequest::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+PlayRequest::PlayRequest()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsPlayRequest();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.PlayRequest)
+}
+PlayRequest::PlayRequest(const PlayRequest& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.PlayRequest)
+}
+
+void PlayRequest::SharedCtor() {
+  _cached_size_ = 0;
+}
+
+PlayRequest::~PlayRequest() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.PlayRequest)
+  SharedDtor();
+}
+
+void PlayRequest::SharedDtor() {
+}
+
+void PlayRequest::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* PlayRequest::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const PlayRequest& PlayRequest::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsPlayRequest();
+  return *internal_default_instance();
+}
+
+PlayRequest* PlayRequest::New(::google::protobuf::Arena* arena) const {
+  PlayRequest* n = new PlayRequest;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void PlayRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.PlayRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  _internal_metadata_.Clear();
+}
+
+bool PlayRequest::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.PlayRequest)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+  handle_unusual:
+    if (tag == 0) {
+      goto success;
+    }
+    DO_(::google::protobuf::internal::WireFormat::SkipField(
+          input, tag, _internal_metadata_.mutable_unknown_fields()));
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.PlayRequest)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.PlayRequest)
+  return false;
+#undef DO_
+}
+
+void PlayRequest::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.PlayRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.PlayRequest)
+}
+
+::google::protobuf::uint8* PlayRequest::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.PlayRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.PlayRequest)
+  return target;
+}
+
+size_t PlayRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.PlayRequest)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void PlayRequest::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.PlayRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  const PlayRequest* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const PlayRequest>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.PlayRequest)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.PlayRequest)
+    MergeFrom(*source);
+  }
+}
+
+void PlayRequest::MergeFrom(const PlayRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.PlayRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+}
+
+void PlayRequest::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.PlayRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void PlayRequest::CopyFrom(const PlayRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.PlayRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool PlayRequest::IsInitialized() const {
+  return true;
+}
+
+void PlayRequest::Swap(PlayRequest* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void PlayRequest::InternalSwap(PlayRequest* other) {
+  using std::swap;
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata PlayRequest::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void PlayResponse::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int PlayResponse::kStatusFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+PlayResponse::PlayResponse()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsPlayResponse();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.PlayResponse)
+}
+PlayResponse::PlayResponse(const PlayResponse& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  status_ = from.status_;
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.PlayResponse)
+}
+
+void PlayResponse::SharedCtor() {
+  status_ = 0;
+  _cached_size_ = 0;
+}
+
+PlayResponse::~PlayResponse() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.PlayResponse)
+  SharedDtor();
+}
+
+void PlayResponse::SharedDtor() {
+}
+
+void PlayResponse::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* PlayResponse::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const PlayResponse& PlayResponse::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsPlayResponse();
+  return *internal_default_instance();
+}
+
+PlayResponse* PlayResponse::New(::google::protobuf::Arena* arena) const {
+  PlayResponse* n = new PlayResponse;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void PlayResponse::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.PlayResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  status_ = 0;
+  _internal_metadata_.Clear();
+}
+
+bool PlayResponse::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.PlayResponse)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // int32 status = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &status_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.PlayResponse)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.PlayResponse)
+  return false;
+#undef DO_
+}
+
+void PlayResponse::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.PlayResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // int32 status = 1;
+  if (this->status() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->status(), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.PlayResponse)
+}
+
+::google::protobuf::uint8* PlayResponse::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.PlayResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // int32 status = 1;
+  if (this->status() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->status(), target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.PlayResponse)
+  return target;
+}
+
+size_t PlayResponse::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.PlayResponse)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // int32 status = 1;
+  if (this->status() != 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::Int32Size(
+        this->status());
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void PlayResponse::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.PlayResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  const PlayResponse* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const PlayResponse>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.PlayResponse)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.PlayResponse)
+    MergeFrom(*source);
+  }
+}
+
+void PlayResponse::MergeFrom(const PlayResponse& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.PlayResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.status() != 0) {
+    set_status(from.status());
+  }
+}
+
+void PlayResponse::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.PlayResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void PlayResponse::CopyFrom(const PlayResponse& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.PlayResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool PlayResponse::IsInitialized() const {
+  return true;
+}
+
+void PlayResponse::Swap(PlayResponse* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void PlayResponse::InternalSwap(PlayResponse* other) {
+  using std::swap;
+  swap(status_, other->status_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata PlayResponse::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void PlayFastRequest::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int PlayFastRequest::kTimeFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+PlayFastRequest::PlayFastRequest()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsPlayFastRequest();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.PlayFastRequest)
+}
+PlayFastRequest::PlayFastRequest(const PlayFastRequest& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  time_ = from.time_;
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.PlayFastRequest)
+}
+
+void PlayFastRequest::SharedCtor() {
+  time_ = 0;
+  _cached_size_ = 0;
+}
+
+PlayFastRequest::~PlayFastRequest() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.PlayFastRequest)
+  SharedDtor();
+}
+
+void PlayFastRequest::SharedDtor() {
+}
+
+void PlayFastRequest::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* PlayFastRequest::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const PlayFastRequest& PlayFastRequest::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsPlayFastRequest();
+  return *internal_default_instance();
+}
+
+PlayFastRequest* PlayFastRequest::New(::google::protobuf::Arena* arena) const {
+  PlayFastRequest* n = new PlayFastRequest;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void PlayFastRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.PlayFastRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  time_ = 0;
+  _internal_metadata_.Clear();
+}
+
+bool PlayFastRequest::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.PlayFastRequest)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // double time = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(9u /* 9 & 0xFF */)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
+                 input, &time_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.PlayFastRequest)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.PlayFastRequest)
+  return false;
+#undef DO_
+}
+
+void PlayFastRequest::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.PlayFastRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // double time = 1;
+  if (this->time() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteDouble(1, this->time(), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.PlayFastRequest)
+}
+
+::google::protobuf::uint8* PlayFastRequest::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.PlayFastRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // double time = 1;
+  if (this->time() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(1, this->time(), target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.PlayFastRequest)
+  return target;
+}
+
+size_t PlayFastRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.PlayFastRequest)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // double time = 1;
+  if (this->time() != 0) {
+    total_size += 1 + 8;
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void PlayFastRequest::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.PlayFastRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  const PlayFastRequest* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const PlayFastRequest>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.PlayFastRequest)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.PlayFastRequest)
+    MergeFrom(*source);
+  }
+}
+
+void PlayFastRequest::MergeFrom(const PlayFastRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.PlayFastRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.time() != 0) {
+    set_time(from.time());
+  }
+}
+
+void PlayFastRequest::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.PlayFastRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void PlayFastRequest::CopyFrom(const PlayFastRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.PlayFastRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool PlayFastRequest::IsInitialized() const {
+  return true;
+}
+
+void PlayFastRequest::Swap(PlayFastRequest* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void PlayFastRequest::InternalSwap(PlayFastRequest* other) {
+  using std::swap;
+  swap(time_, other->time_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata PlayFastRequest::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void PlayFastResponse::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int PlayFastResponse::kStatusFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+PlayFastResponse::PlayFastResponse()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsPlayFastResponse();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.PlayFastResponse)
+}
+PlayFastResponse::PlayFastResponse(const PlayFastResponse& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  status_ = from.status_;
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.PlayFastResponse)
+}
+
+void PlayFastResponse::SharedCtor() {
+  status_ = 0;
+  _cached_size_ = 0;
+}
+
+PlayFastResponse::~PlayFastResponse() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.PlayFastResponse)
+  SharedDtor();
+}
+
+void PlayFastResponse::SharedDtor() {
+}
+
+void PlayFastResponse::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* PlayFastResponse::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const PlayFastResponse& PlayFastResponse::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsPlayFastResponse();
+  return *internal_default_instance();
+}
+
+PlayFastResponse* PlayFastResponse::New(::google::protobuf::Arena* arena) const {
+  PlayFastResponse* n = new PlayFastResponse;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void PlayFastResponse::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.PlayFastResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  status_ = 0;
+  _internal_metadata_.Clear();
+}
+
+bool PlayFastResponse::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.PlayFastResponse)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // int32 status = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &status_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.PlayFastResponse)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.PlayFastResponse)
+  return false;
+#undef DO_
+}
+
+void PlayFastResponse::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.PlayFastResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // int32 status = 1;
+  if (this->status() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->status(), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.PlayFastResponse)
+}
+
+::google::protobuf::uint8* PlayFastResponse::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.PlayFastResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // int32 status = 1;
+  if (this->status() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->status(), target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.PlayFastResponse)
+  return target;
+}
+
+size_t PlayFastResponse::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.PlayFastResponse)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // int32 status = 1;
+  if (this->status() != 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::Int32Size(
+        this->status());
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void PlayFastResponse::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.PlayFastResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  const PlayFastResponse* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const PlayFastResponse>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.PlayFastResponse)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.PlayFastResponse)
+    MergeFrom(*source);
+  }
+}
+
+void PlayFastResponse::MergeFrom(const PlayFastResponse& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.PlayFastResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.status() != 0) {
+    set_status(from.status());
+  }
+}
+
+void PlayFastResponse::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.PlayFastResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void PlayFastResponse::CopyFrom(const PlayFastResponse& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.PlayFastResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool PlayFastResponse::IsInitialized() const {
+  return true;
+}
+
+void PlayFastResponse::Swap(PlayFastResponse* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void PlayFastResponse::InternalSwap(PlayFastResponse* other) {
+  using std::swap;
+  swap(status_, other->status_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata PlayFastResponse::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void PauseRequest::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+PauseRequest::PauseRequest()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsPauseRequest();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.PauseRequest)
+}
+PauseRequest::PauseRequest(const PauseRequest& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.PauseRequest)
+}
+
+void PauseRequest::SharedCtor() {
+  _cached_size_ = 0;
+}
+
+PauseRequest::~PauseRequest() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.PauseRequest)
+  SharedDtor();
+}
+
+void PauseRequest::SharedDtor() {
+}
+
+void PauseRequest::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* PauseRequest::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const PauseRequest& PauseRequest::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsPauseRequest();
+  return *internal_default_instance();
+}
+
+PauseRequest* PauseRequest::New(::google::protobuf::Arena* arena) const {
+  PauseRequest* n = new PauseRequest;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void PauseRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.PauseRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  _internal_metadata_.Clear();
+}
+
+bool PauseRequest::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.PauseRequest)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+  handle_unusual:
+    if (tag == 0) {
+      goto success;
+    }
+    DO_(::google::protobuf::internal::WireFormat::SkipField(
+          input, tag, _internal_metadata_.mutable_unknown_fields()));
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.PauseRequest)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.PauseRequest)
+  return false;
+#undef DO_
+}
+
+void PauseRequest::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.PauseRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.PauseRequest)
+}
+
+::google::protobuf::uint8* PauseRequest::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.PauseRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.PauseRequest)
+  return target;
+}
+
+size_t PauseRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.PauseRequest)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void PauseRequest::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.PauseRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  const PauseRequest* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const PauseRequest>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.PauseRequest)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.PauseRequest)
+    MergeFrom(*source);
+  }
+}
+
+void PauseRequest::MergeFrom(const PauseRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.PauseRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+}
+
+void PauseRequest::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.PauseRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void PauseRequest::CopyFrom(const PauseRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.PauseRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool PauseRequest::IsInitialized() const {
+  return true;
+}
+
+void PauseRequest::Swap(PauseRequest* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void PauseRequest::InternalSwap(PauseRequest* other) {
+  using std::swap;
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata PauseRequest::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void PauseResponse::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+PauseResponse::PauseResponse()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsPauseResponse();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.PauseResponse)
+}
+PauseResponse::PauseResponse(const PauseResponse& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.PauseResponse)
+}
+
+void PauseResponse::SharedCtor() {
+  _cached_size_ = 0;
+}
+
+PauseResponse::~PauseResponse() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.PauseResponse)
+  SharedDtor();
+}
+
+void PauseResponse::SharedDtor() {
+}
+
+void PauseResponse::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* PauseResponse::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const PauseResponse& PauseResponse::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsPauseResponse();
+  return *internal_default_instance();
+}
+
+PauseResponse* PauseResponse::New(::google::protobuf::Arena* arena) const {
+  PauseResponse* n = new PauseResponse;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void PauseResponse::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.PauseResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  _internal_metadata_.Clear();
+}
+
+bool PauseResponse::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.PauseResponse)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+  handle_unusual:
+    if (tag == 0) {
+      goto success;
+    }
+    DO_(::google::protobuf::internal::WireFormat::SkipField(
+          input, tag, _internal_metadata_.mutable_unknown_fields()));
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.PauseResponse)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.PauseResponse)
+  return false;
+#undef DO_
+}
+
+void PauseResponse::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.PauseResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.PauseResponse)
+}
+
+::google::protobuf::uint8* PauseResponse::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.PauseResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.PauseResponse)
+  return target;
+}
+
+size_t PauseResponse::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.PauseResponse)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void PauseResponse::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.PauseResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  const PauseResponse* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const PauseResponse>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.PauseResponse)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.PauseResponse)
+    MergeFrom(*source);
+  }
+}
+
+void PauseResponse::MergeFrom(const PauseResponse& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.PauseResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+}
+
+void PauseResponse::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.PauseResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void PauseResponse::CopyFrom(const PauseResponse& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.PauseResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool PauseResponse::IsInitialized() const {
+  return true;
+}
+
+void PauseResponse::Swap(PauseResponse* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void PauseResponse::InternalSwap(PauseResponse* other) {
+  using std::swap;
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata PauseResponse::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void StopRequest::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+StopRequest::StopRequest()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsStopRequest();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.StopRequest)
+}
+StopRequest::StopRequest(const StopRequest& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.StopRequest)
+}
+
+void StopRequest::SharedCtor() {
+  _cached_size_ = 0;
+}
+
+StopRequest::~StopRequest() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.StopRequest)
+  SharedDtor();
+}
+
+void StopRequest::SharedDtor() {
+}
+
+void StopRequest::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* StopRequest::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const StopRequest& StopRequest::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsStopRequest();
+  return *internal_default_instance();
+}
+
+StopRequest* StopRequest::New(::google::protobuf::Arena* arena) const {
+  StopRequest* n = new StopRequest;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void StopRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.StopRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  _internal_metadata_.Clear();
+}
+
+bool StopRequest::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.StopRequest)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+  handle_unusual:
+    if (tag == 0) {
+      goto success;
+    }
+    DO_(::google::protobuf::internal::WireFormat::SkipField(
+          input, tag, _internal_metadata_.mutable_unknown_fields()));
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.StopRequest)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.StopRequest)
+  return false;
+#undef DO_
+}
+
+void StopRequest::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.StopRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.StopRequest)
+}
+
+::google::protobuf::uint8* StopRequest::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.StopRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.StopRequest)
+  return target;
+}
+
+size_t StopRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.StopRequest)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void StopRequest::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.StopRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  const StopRequest* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const StopRequest>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.StopRequest)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.StopRequest)
+    MergeFrom(*source);
+  }
+}
+
+void StopRequest::MergeFrom(const StopRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.StopRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+}
+
+void StopRequest::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.StopRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void StopRequest::CopyFrom(const StopRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.StopRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool StopRequest::IsInitialized() const {
+  return true;
+}
+
+void StopRequest::Swap(StopRequest* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void StopRequest::InternalSwap(StopRequest* other) {
+  using std::swap;
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata StopRequest::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void StopResponse::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int StopResponse::kStatusFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+StopResponse::StopResponse()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsStopResponse();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.StopResponse)
+}
+StopResponse::StopResponse(const StopResponse& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  status_ = from.status_;
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.StopResponse)
+}
+
+void StopResponse::SharedCtor() {
+  status_ = 0;
+  _cached_size_ = 0;
+}
+
+StopResponse::~StopResponse() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.StopResponse)
+  SharedDtor();
+}
+
+void StopResponse::SharedDtor() {
+}
+
+void StopResponse::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* StopResponse::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const StopResponse& StopResponse::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsStopResponse();
+  return *internal_default_instance();
+}
+
+StopResponse* StopResponse::New(::google::protobuf::Arena* arena) const {
+  StopResponse* n = new StopResponse;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void StopResponse::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.StopResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  status_ = 0;
+  _internal_metadata_.Clear();
+}
+
+bool StopResponse::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.StopResponse)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // int32 status = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &status_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.StopResponse)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.StopResponse)
+  return false;
+#undef DO_
+}
+
+void StopResponse::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.StopResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // int32 status = 1;
+  if (this->status() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->status(), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.StopResponse)
+}
+
+::google::protobuf::uint8* StopResponse::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.StopResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // int32 status = 1;
+  if (this->status() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->status(), target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.StopResponse)
+  return target;
+}
+
+size_t StopResponse::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.StopResponse)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // int32 status = 1;
+  if (this->status() != 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::Int32Size(
+        this->status());
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void StopResponse::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.StopResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  const StopResponse* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const StopResponse>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.StopResponse)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.StopResponse)
+    MergeFrom(*source);
+  }
+}
+
+void StopResponse::MergeFrom(const StopResponse& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.StopResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.status() != 0) {
+    set_status(from.status());
+  }
+}
+
+void StopResponse::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.StopResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void StopResponse::CopyFrom(const StopResponse& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.StopResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool StopResponse::IsInitialized() const {
+  return true;
+}
+
+void StopResponse::Swap(StopResponse* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void StopResponse::InternalSwap(StopResponse* other) {
+  using std::swap;
+  swap(status_, other->status_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata StopResponse::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void AddFmuRequest::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int AddFmuRequest::kInstanceNameFieldNumber;
+const int AddFmuRequest::kChunkFieldNumber;
+const int AddFmuRequest::kTotalSizeFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+AddFmuRequest::AddFmuRequest()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsAddFmuRequest();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.AddFmuRequest)
+}
+AddFmuRequest::AddFmuRequest(const AddFmuRequest& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.instance_name().size() > 0) {
+    instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.instance_name_);
+  }
+  chunk_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.chunk().size() > 0) {
+    chunk_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.chunk_);
+  }
+  total_size_ = from.total_size_;
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.AddFmuRequest)
+}
+
+void AddFmuRequest::SharedCtor() {
+  instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  chunk_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  total_size_ = GOOGLE_LONGLONG(0);
+  _cached_size_ = 0;
+}
+
+AddFmuRequest::~AddFmuRequest() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.AddFmuRequest)
+  SharedDtor();
+}
+
+void AddFmuRequest::SharedDtor() {
+  instance_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  chunk_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void AddFmuRequest::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* AddFmuRequest::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const AddFmuRequest& AddFmuRequest::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsAddFmuRequest();
+  return *internal_default_instance();
+}
+
+AddFmuRequest* AddFmuRequest::New(::google::protobuf::Arena* arena) const {
+  AddFmuRequest* n = new AddFmuRequest;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void AddFmuRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.AddFmuRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  chunk_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  total_size_ = GOOGLE_LONGLONG(0);
+  _internal_metadata_.Clear();
+}
+
+bool AddFmuRequest::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.AddFmuRequest)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // string instance_name = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_instance_name()));
+          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+            this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+            ::google::protobuf::internal::WireFormatLite::PARSE,
+            "ModeliRpc.AddFmuRequest.instance_name"));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // bytes chunk = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
+                input, this->mutable_chunk()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // int64 total_size = 3;
+      case 3: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(24u /* 24 & 0xFF */)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
+                 input, &total_size_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.AddFmuRequest)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.AddFmuRequest)
+  return false;
+#undef DO_
+}
+
+void AddFmuRequest::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.AddFmuRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.AddFmuRequest.instance_name");
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->instance_name(), output);
+  }
+
+  // bytes chunk = 2;
+  if (this->chunk().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
+      2, this->chunk(), output);
+  }
+
+  // int64 total_size = 3;
+  if (this->total_size() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt64(3, this->total_size(), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.AddFmuRequest)
+}
+
+::google::protobuf::uint8* AddFmuRequest::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.AddFmuRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.AddFmuRequest.instance_name");
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+        1, this->instance_name(), target);
+  }
+
+  // bytes chunk = 2;
+  if (this->chunk().size() > 0) {
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
+        2, this->chunk(), target);
+  }
+
+  // int64 total_size = 3;
+  if (this->total_size() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(3, this->total_size(), target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.AddFmuRequest)
+  return target;
+}
+
+size_t AddFmuRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.AddFmuRequest)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::StringSize(
+        this->instance_name());
+  }
+
+  // bytes chunk = 2;
+  if (this->chunk().size() > 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::BytesSize(
+        this->chunk());
+  }
+
+  // int64 total_size = 3;
+  if (this->total_size() != 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::Int64Size(
+        this->total_size());
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void AddFmuRequest::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.AddFmuRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  const AddFmuRequest* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const AddFmuRequest>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.AddFmuRequest)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.AddFmuRequest)
+    MergeFrom(*source);
+  }
+}
+
+void AddFmuRequest::MergeFrom(const AddFmuRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.AddFmuRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.instance_name().size() > 0) {
+
+    instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.instance_name_);
+  }
+  if (from.chunk().size() > 0) {
+
+    chunk_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.chunk_);
+  }
+  if (from.total_size() != 0) {
+    set_total_size(from.total_size());
+  }
+}
+
+void AddFmuRequest::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.AddFmuRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void AddFmuRequest::CopyFrom(const AddFmuRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.AddFmuRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool AddFmuRequest::IsInitialized() const {
+  return true;
+}
+
+void AddFmuRequest::Swap(AddFmuRequest* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void AddFmuRequest::InternalSwap(AddFmuRequest* other) {
+  using std::swap;
+  instance_name_.Swap(&other->instance_name_);
+  chunk_.Swap(&other->chunk_);
+  swap(total_size_, other->total_size_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata AddFmuRequest::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void AddFmuResponse::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int AddFmuResponse::kSuccessFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+AddFmuResponse::AddFmuResponse()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsAddFmuResponse();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.AddFmuResponse)
+}
+AddFmuResponse::AddFmuResponse(const AddFmuResponse& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  success_ = from.success_;
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.AddFmuResponse)
+}
+
+void AddFmuResponse::SharedCtor() {
+  success_ = false;
+  _cached_size_ = 0;
+}
+
+AddFmuResponse::~AddFmuResponse() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.AddFmuResponse)
+  SharedDtor();
+}
+
+void AddFmuResponse::SharedDtor() {
+}
+
+void AddFmuResponse::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* AddFmuResponse::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const AddFmuResponse& AddFmuResponse::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsAddFmuResponse();
+  return *internal_default_instance();
+}
+
+AddFmuResponse* AddFmuResponse::New(::google::protobuf::Arena* arena) const {
+  AddFmuResponse* n = new AddFmuResponse;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void AddFmuResponse::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.AddFmuResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  success_ = false;
+  _internal_metadata_.Clear();
+}
+
+bool AddFmuResponse::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.AddFmuResponse)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // bool success = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &success_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.AddFmuResponse)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.AddFmuResponse)
+  return false;
+#undef DO_
+}
+
+void AddFmuResponse::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.AddFmuResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // bool success = 1;
+  if (this->success() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->success(), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.AddFmuResponse)
+}
+
+::google::protobuf::uint8* AddFmuResponse::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.AddFmuResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // bool success = 1;
+  if (this->success() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->success(), target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.AddFmuResponse)
+  return target;
+}
+
+size_t AddFmuResponse::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.AddFmuResponse)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // bool success = 1;
+  if (this->success() != 0) {
+    total_size += 1 + 1;
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void AddFmuResponse::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.AddFmuResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  const AddFmuResponse* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const AddFmuResponse>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.AddFmuResponse)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.AddFmuResponse)
+    MergeFrom(*source);
+  }
+}
+
+void AddFmuResponse::MergeFrom(const AddFmuResponse& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.AddFmuResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.success() != 0) {
+    set_success(from.success());
+  }
+}
+
+void AddFmuResponse::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.AddFmuResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void AddFmuResponse::CopyFrom(const AddFmuResponse& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.AddFmuResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool AddFmuResponse::IsInitialized() const {
+  return true;
+}
+
+void AddFmuResponse::Swap(AddFmuResponse* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void AddFmuResponse::InternalSwap(AddFmuResponse* other) {
+  using std::swap;
+  swap(success_, other->success_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata AddFmuResponse::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void RemoveFmuRequest::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int RemoveFmuRequest::kInstanceNameFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+RemoveFmuRequest::RemoveFmuRequest()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsRemoveFmuRequest();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.RemoveFmuRequest)
+}
+RemoveFmuRequest::RemoveFmuRequest(const RemoveFmuRequest& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.instance_name().size() > 0) {
+    instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.instance_name_);
+  }
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.RemoveFmuRequest)
+}
+
+void RemoveFmuRequest::SharedCtor() {
+  instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  _cached_size_ = 0;
+}
+
+RemoveFmuRequest::~RemoveFmuRequest() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.RemoveFmuRequest)
+  SharedDtor();
+}
+
+void RemoveFmuRequest::SharedDtor() {
+  instance_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void RemoveFmuRequest::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* RemoveFmuRequest::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const RemoveFmuRequest& RemoveFmuRequest::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsRemoveFmuRequest();
+  return *internal_default_instance();
+}
+
+RemoveFmuRequest* RemoveFmuRequest::New(::google::protobuf::Arena* arena) const {
+  RemoveFmuRequest* n = new RemoveFmuRequest;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void RemoveFmuRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.RemoveFmuRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  _internal_metadata_.Clear();
+}
+
+bool RemoveFmuRequest::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.RemoveFmuRequest)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // string instance_name = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_instance_name()));
+          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+            this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+            ::google::protobuf::internal::WireFormatLite::PARSE,
+            "ModeliRpc.RemoveFmuRequest.instance_name"));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.RemoveFmuRequest)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.RemoveFmuRequest)
+  return false;
+#undef DO_
+}
+
+void RemoveFmuRequest::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.RemoveFmuRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.RemoveFmuRequest.instance_name");
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->instance_name(), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.RemoveFmuRequest)
+}
+
+::google::protobuf::uint8* RemoveFmuRequest::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.RemoveFmuRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.RemoveFmuRequest.instance_name");
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+        1, this->instance_name(), target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.RemoveFmuRequest)
+  return target;
+}
+
+size_t RemoveFmuRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.RemoveFmuRequest)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::StringSize(
+        this->instance_name());
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void RemoveFmuRequest::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.RemoveFmuRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  const RemoveFmuRequest* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const RemoveFmuRequest>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.RemoveFmuRequest)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.RemoveFmuRequest)
+    MergeFrom(*source);
+  }
+}
+
+void RemoveFmuRequest::MergeFrom(const RemoveFmuRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.RemoveFmuRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.instance_name().size() > 0) {
+
+    instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.instance_name_);
+  }
+}
+
+void RemoveFmuRequest::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.RemoveFmuRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void RemoveFmuRequest::CopyFrom(const RemoveFmuRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.RemoveFmuRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool RemoveFmuRequest::IsInitialized() const {
+  return true;
+}
+
+void RemoveFmuRequest::Swap(RemoveFmuRequest* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void RemoveFmuRequest::InternalSwap(RemoveFmuRequest* other) {
+  using std::swap;
+  instance_name_.Swap(&other->instance_name_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata RemoveFmuRequest::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void RemoveFmuResponse::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int RemoveFmuResponse::kSuccessFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+RemoveFmuResponse::RemoveFmuResponse()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsRemoveFmuResponse();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.RemoveFmuResponse)
+}
+RemoveFmuResponse::RemoveFmuResponse(const RemoveFmuResponse& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  success_ = from.success_;
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.RemoveFmuResponse)
+}
+
+void RemoveFmuResponse::SharedCtor() {
+  success_ = false;
+  _cached_size_ = 0;
+}
+
+RemoveFmuResponse::~RemoveFmuResponse() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.RemoveFmuResponse)
+  SharedDtor();
+}
+
+void RemoveFmuResponse::SharedDtor() {
+}
+
+void RemoveFmuResponse::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* RemoveFmuResponse::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const RemoveFmuResponse& RemoveFmuResponse::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsRemoveFmuResponse();
+  return *internal_default_instance();
+}
+
+RemoveFmuResponse* RemoveFmuResponse::New(::google::protobuf::Arena* arena) const {
+  RemoveFmuResponse* n = new RemoveFmuResponse;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void RemoveFmuResponse::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.RemoveFmuResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  success_ = false;
+  _internal_metadata_.Clear();
+}
+
+bool RemoveFmuResponse::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.RemoveFmuResponse)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // bool success = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &success_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.RemoveFmuResponse)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.RemoveFmuResponse)
+  return false;
+#undef DO_
+}
+
+void RemoveFmuResponse::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.RemoveFmuResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // bool success = 1;
+  if (this->success() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->success(), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.RemoveFmuResponse)
+}
+
+::google::protobuf::uint8* RemoveFmuResponse::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.RemoveFmuResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // bool success = 1;
+  if (this->success() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->success(), target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.RemoveFmuResponse)
+  return target;
+}
+
+size_t RemoveFmuResponse::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.RemoveFmuResponse)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // bool success = 1;
+  if (this->success() != 0) {
+    total_size += 1 + 1;
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void RemoveFmuResponse::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.RemoveFmuResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  const RemoveFmuResponse* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const RemoveFmuResponse>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.RemoveFmuResponse)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.RemoveFmuResponse)
+    MergeFrom(*source);
+  }
+}
+
+void RemoveFmuResponse::MergeFrom(const RemoveFmuResponse& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.RemoveFmuResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.success() != 0) {
+    set_success(from.success());
+  }
+}
+
+void RemoveFmuResponse::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.RemoveFmuResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void RemoveFmuResponse::CopyFrom(const RemoveFmuResponse& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.RemoveFmuResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool RemoveFmuResponse::IsInitialized() const {
+  return true;
+}
+
+void RemoveFmuResponse::Swap(RemoveFmuResponse* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void RemoveFmuResponse::InternalSwap(RemoveFmuResponse* other) {
+  using std::swap;
+  swap(success_, other->success_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata RemoveFmuResponse::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void AddChannelLinkRequest::InitAsDefaultInstance() {
+  ::ModeliRpc::_AddChannelLinkRequest_default_instance_._instance.get_mutable()->channel_link_ = const_cast< ::ModeliRpc::ChannelLink*>(
+      ::ModeliRpc::ChannelLink::internal_default_instance());
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int AddChannelLinkRequest::kChannelLinkFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+AddChannelLinkRequest::AddChannelLinkRequest()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsAddChannelLinkRequest();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.AddChannelLinkRequest)
+}
+AddChannelLinkRequest::AddChannelLinkRequest(const AddChannelLinkRequest& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  if (from.has_channel_link()) {
+    channel_link_ = new ::ModeliRpc::ChannelLink(*from.channel_link_);
+  } else {
+    channel_link_ = NULL;
+  }
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.AddChannelLinkRequest)
+}
+
+void AddChannelLinkRequest::SharedCtor() {
+  channel_link_ = NULL;
+  _cached_size_ = 0;
+}
+
+AddChannelLinkRequest::~AddChannelLinkRequest() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.AddChannelLinkRequest)
+  SharedDtor();
+}
+
+void AddChannelLinkRequest::SharedDtor() {
+  if (this != internal_default_instance()) delete channel_link_;
+}
+
+void AddChannelLinkRequest::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* AddChannelLinkRequest::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const AddChannelLinkRequest& AddChannelLinkRequest::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsAddChannelLinkRequest();
+  return *internal_default_instance();
+}
+
+AddChannelLinkRequest* AddChannelLinkRequest::New(::google::protobuf::Arena* arena) const {
+  AddChannelLinkRequest* n = new AddChannelLinkRequest;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void AddChannelLinkRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.AddChannelLinkRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  if (GetArenaNoVirtual() == NULL && channel_link_ != NULL) {
+    delete channel_link_;
+  }
+  channel_link_ = NULL;
+  _internal_metadata_.Clear();
+}
+
+bool AddChannelLinkRequest::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.AddChannelLinkRequest)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // .ModeliRpc.ChannelLink channel_link = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+               input, mutable_channel_link()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.AddChannelLinkRequest)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.AddChannelLinkRequest)
+  return false;
+#undef DO_
+}
+
+void AddChannelLinkRequest::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.AddChannelLinkRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // .ModeliRpc.ChannelLink channel_link = 1;
+  if (this->has_channel_link()) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+      1, *this->channel_link_, output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.AddChannelLinkRequest)
+}
+
+::google::protobuf::uint8* AddChannelLinkRequest::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.AddChannelLinkRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // .ModeliRpc.ChannelLink channel_link = 1;
+  if (this->has_channel_link()) {
+    target = ::google::protobuf::internal::WireFormatLite::
+      InternalWriteMessageToArray(
+        1, *this->channel_link_, deterministic, target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.AddChannelLinkRequest)
+  return target;
+}
+
+size_t AddChannelLinkRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.AddChannelLinkRequest)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // .ModeliRpc.ChannelLink channel_link = 1;
+  if (this->has_channel_link()) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::MessageSize(
+        *this->channel_link_);
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void AddChannelLinkRequest::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.AddChannelLinkRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  const AddChannelLinkRequest* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const AddChannelLinkRequest>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.AddChannelLinkRequest)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.AddChannelLinkRequest)
+    MergeFrom(*source);
+  }
+}
+
+void AddChannelLinkRequest::MergeFrom(const AddChannelLinkRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.AddChannelLinkRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.has_channel_link()) {
+    mutable_channel_link()->::ModeliRpc::ChannelLink::MergeFrom(from.channel_link());
+  }
+}
+
+void AddChannelLinkRequest::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.AddChannelLinkRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void AddChannelLinkRequest::CopyFrom(const AddChannelLinkRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.AddChannelLinkRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool AddChannelLinkRequest::IsInitialized() const {
+  return true;
+}
+
+void AddChannelLinkRequest::Swap(AddChannelLinkRequest* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void AddChannelLinkRequest::InternalSwap(AddChannelLinkRequest* other) {
+  using std::swap;
+  swap(channel_link_, other->channel_link_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata AddChannelLinkRequest::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void AddChannelLinkResponse::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int AddChannelLinkResponse::kSuccessFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+AddChannelLinkResponse::AddChannelLinkResponse()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsAddChannelLinkResponse();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.AddChannelLinkResponse)
+}
+AddChannelLinkResponse::AddChannelLinkResponse(const AddChannelLinkResponse& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  success_ = from.success_;
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.AddChannelLinkResponse)
+}
+
+void AddChannelLinkResponse::SharedCtor() {
+  success_ = false;
+  _cached_size_ = 0;
+}
+
+AddChannelLinkResponse::~AddChannelLinkResponse() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.AddChannelLinkResponse)
+  SharedDtor();
+}
+
+void AddChannelLinkResponse::SharedDtor() {
+}
+
+void AddChannelLinkResponse::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* AddChannelLinkResponse::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const AddChannelLinkResponse& AddChannelLinkResponse::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsAddChannelLinkResponse();
+  return *internal_default_instance();
+}
+
+AddChannelLinkResponse* AddChannelLinkResponse::New(::google::protobuf::Arena* arena) const {
+  AddChannelLinkResponse* n = new AddChannelLinkResponse;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void AddChannelLinkResponse::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.AddChannelLinkResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  success_ = false;
+  _internal_metadata_.Clear();
+}
+
+bool AddChannelLinkResponse::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.AddChannelLinkResponse)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // bool success = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &success_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.AddChannelLinkResponse)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.AddChannelLinkResponse)
+  return false;
+#undef DO_
+}
+
+void AddChannelLinkResponse::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.AddChannelLinkResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // bool success = 1;
+  if (this->success() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->success(), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.AddChannelLinkResponse)
+}
+
+::google::protobuf::uint8* AddChannelLinkResponse::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.AddChannelLinkResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // bool success = 1;
+  if (this->success() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->success(), target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.AddChannelLinkResponse)
+  return target;
+}
+
+size_t AddChannelLinkResponse::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.AddChannelLinkResponse)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // bool success = 1;
+  if (this->success() != 0) {
+    total_size += 1 + 1;
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void AddChannelLinkResponse::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.AddChannelLinkResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  const AddChannelLinkResponse* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const AddChannelLinkResponse>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.AddChannelLinkResponse)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.AddChannelLinkResponse)
+    MergeFrom(*source);
+  }
+}
+
+void AddChannelLinkResponse::MergeFrom(const AddChannelLinkResponse& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.AddChannelLinkResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.success() != 0) {
+    set_success(from.success());
+  }
+}
+
+void AddChannelLinkResponse::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.AddChannelLinkResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void AddChannelLinkResponse::CopyFrom(const AddChannelLinkResponse& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.AddChannelLinkResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool AddChannelLinkResponse::IsInitialized() const {
+  return true;
+}
+
+void AddChannelLinkResponse::Swap(AddChannelLinkResponse* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void AddChannelLinkResponse::InternalSwap(AddChannelLinkResponse* other) {
+  using std::swap;
+  swap(success_, other->success_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata AddChannelLinkResponse::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void RemoveChannelLinkRequest::InitAsDefaultInstance() {
+  ::ModeliRpc::_RemoveChannelLinkRequest_default_instance_._instance.get_mutable()->channel_link_ = const_cast< ::ModeliRpc::ChannelLink*>(
+      ::ModeliRpc::ChannelLink::internal_default_instance());
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int RemoveChannelLinkRequest::kChannelLinkFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+RemoveChannelLinkRequest::RemoveChannelLinkRequest()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsRemoveChannelLinkRequest();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.RemoveChannelLinkRequest)
+}
+RemoveChannelLinkRequest::RemoveChannelLinkRequest(const RemoveChannelLinkRequest& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  if (from.has_channel_link()) {
+    channel_link_ = new ::ModeliRpc::ChannelLink(*from.channel_link_);
+  } else {
+    channel_link_ = NULL;
+  }
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.RemoveChannelLinkRequest)
+}
+
+void RemoveChannelLinkRequest::SharedCtor() {
+  channel_link_ = NULL;
+  _cached_size_ = 0;
+}
+
+RemoveChannelLinkRequest::~RemoveChannelLinkRequest() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.RemoveChannelLinkRequest)
+  SharedDtor();
+}
+
+void RemoveChannelLinkRequest::SharedDtor() {
+  if (this != internal_default_instance()) delete channel_link_;
+}
+
+void RemoveChannelLinkRequest::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* RemoveChannelLinkRequest::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const RemoveChannelLinkRequest& RemoveChannelLinkRequest::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsRemoveChannelLinkRequest();
+  return *internal_default_instance();
+}
+
+RemoveChannelLinkRequest* RemoveChannelLinkRequest::New(::google::protobuf::Arena* arena) const {
+  RemoveChannelLinkRequest* n = new RemoveChannelLinkRequest;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void RemoveChannelLinkRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.RemoveChannelLinkRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  if (GetArenaNoVirtual() == NULL && channel_link_ != NULL) {
+    delete channel_link_;
+  }
+  channel_link_ = NULL;
+  _internal_metadata_.Clear();
+}
+
+bool RemoveChannelLinkRequest::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.RemoveChannelLinkRequest)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // .ModeliRpc.ChannelLink channel_link = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+               input, mutable_channel_link()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.RemoveChannelLinkRequest)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.RemoveChannelLinkRequest)
+  return false;
+#undef DO_
+}
+
+void RemoveChannelLinkRequest::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.RemoveChannelLinkRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // .ModeliRpc.ChannelLink channel_link = 1;
+  if (this->has_channel_link()) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+      1, *this->channel_link_, output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.RemoveChannelLinkRequest)
+}
+
+::google::protobuf::uint8* RemoveChannelLinkRequest::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.RemoveChannelLinkRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // .ModeliRpc.ChannelLink channel_link = 1;
+  if (this->has_channel_link()) {
+    target = ::google::protobuf::internal::WireFormatLite::
+      InternalWriteMessageToArray(
+        1, *this->channel_link_, deterministic, target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.RemoveChannelLinkRequest)
+  return target;
+}
+
+size_t RemoveChannelLinkRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.RemoveChannelLinkRequest)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // .ModeliRpc.ChannelLink channel_link = 1;
+  if (this->has_channel_link()) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::MessageSize(
+        *this->channel_link_);
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void RemoveChannelLinkRequest::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.RemoveChannelLinkRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  const RemoveChannelLinkRequest* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const RemoveChannelLinkRequest>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.RemoveChannelLinkRequest)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.RemoveChannelLinkRequest)
+    MergeFrom(*source);
+  }
+}
+
+void RemoveChannelLinkRequest::MergeFrom(const RemoveChannelLinkRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.RemoveChannelLinkRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.has_channel_link()) {
+    mutable_channel_link()->::ModeliRpc::ChannelLink::MergeFrom(from.channel_link());
+  }
+}
+
+void RemoveChannelLinkRequest::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.RemoveChannelLinkRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void RemoveChannelLinkRequest::CopyFrom(const RemoveChannelLinkRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.RemoveChannelLinkRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool RemoveChannelLinkRequest::IsInitialized() const {
+  return true;
+}
+
+void RemoveChannelLinkRequest::Swap(RemoveChannelLinkRequest* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void RemoveChannelLinkRequest::InternalSwap(RemoveChannelLinkRequest* other) {
+  using std::swap;
+  swap(channel_link_, other->channel_link_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata RemoveChannelLinkRequest::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void RemoveChannelLinkResponse::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int RemoveChannelLinkResponse::kSuccessFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+RemoveChannelLinkResponse::RemoveChannelLinkResponse()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsRemoveChannelLinkResponse();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.RemoveChannelLinkResponse)
+}
+RemoveChannelLinkResponse::RemoveChannelLinkResponse(const RemoveChannelLinkResponse& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  success_ = from.success_;
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.RemoveChannelLinkResponse)
+}
+
+void RemoveChannelLinkResponse::SharedCtor() {
+  success_ = false;
+  _cached_size_ = 0;
+}
+
+RemoveChannelLinkResponse::~RemoveChannelLinkResponse() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.RemoveChannelLinkResponse)
+  SharedDtor();
+}
+
+void RemoveChannelLinkResponse::SharedDtor() {
+}
+
+void RemoveChannelLinkResponse::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* RemoveChannelLinkResponse::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const RemoveChannelLinkResponse& RemoveChannelLinkResponse::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsRemoveChannelLinkResponse();
+  return *internal_default_instance();
+}
+
+RemoveChannelLinkResponse* RemoveChannelLinkResponse::New(::google::protobuf::Arena* arena) const {
+  RemoveChannelLinkResponse* n = new RemoveChannelLinkResponse;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void RemoveChannelLinkResponse::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.RemoveChannelLinkResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  success_ = false;
+  _internal_metadata_.Clear();
+}
+
+bool RemoveChannelLinkResponse::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.RemoveChannelLinkResponse)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // bool success = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
+                 input, &success_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.RemoveChannelLinkResponse)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.RemoveChannelLinkResponse)
+  return false;
+#undef DO_
+}
+
+void RemoveChannelLinkResponse::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.RemoveChannelLinkResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // bool success = 1;
+  if (this->success() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->success(), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.RemoveChannelLinkResponse)
+}
+
+::google::protobuf::uint8* RemoveChannelLinkResponse::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.RemoveChannelLinkResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // bool success = 1;
+  if (this->success() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->success(), target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.RemoveChannelLinkResponse)
+  return target;
+}
+
+size_t RemoveChannelLinkResponse::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.RemoveChannelLinkResponse)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // bool success = 1;
+  if (this->success() != 0) {
+    total_size += 1 + 1;
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void RemoveChannelLinkResponse::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.RemoveChannelLinkResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  const RemoveChannelLinkResponse* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const RemoveChannelLinkResponse>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.RemoveChannelLinkResponse)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.RemoveChannelLinkResponse)
+    MergeFrom(*source);
+  }
+}
+
+void RemoveChannelLinkResponse::MergeFrom(const RemoveChannelLinkResponse& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.RemoveChannelLinkResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.success() != 0) {
+    set_success(from.success());
+  }
+}
+
+void RemoveChannelLinkResponse::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.RemoveChannelLinkResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void RemoveChannelLinkResponse::CopyFrom(const RemoveChannelLinkResponse& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.RemoveChannelLinkResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool RemoveChannelLinkResponse::IsInitialized() const {
+  return true;
+}
+
+void RemoveChannelLinkResponse::Swap(RemoveChannelLinkResponse* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void RemoveChannelLinkResponse::InternalSwap(RemoveChannelLinkResponse* other) {
+  using std::swap;
+  swap(success_, other->success_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata RemoveChannelLinkResponse::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void IntValues::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int IntValues::kVrsFieldNumber;
+const int IntValues::kValuesFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+IntValues::IntValues()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsIntValues();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.IntValues)
+}
+IntValues::IntValues(const IntValues& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      vrs_(from.vrs_),
+      values_(from.values_),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.IntValues)
+}
+
+void IntValues::SharedCtor() {
+  _cached_size_ = 0;
+}
+
+IntValues::~IntValues() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.IntValues)
+  SharedDtor();
+}
+
+void IntValues::SharedDtor() {
+}
+
+void IntValues::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* IntValues::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const IntValues& IntValues::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsIntValues();
+  return *internal_default_instance();
+}
+
+IntValues* IntValues::New(::google::protobuf::Arena* arena) const {
+  IntValues* n = new IntValues;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void IntValues::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.IntValues)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  vrs_.Clear();
+  values_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool IntValues::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.IntValues)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // repeated uint32 vrs = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
+                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
+                 input, this->mutable_vrs())));
+        } else if (
+            static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
+                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
+                 1, 10u, input, this->mutable_vrs())));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated int32 values = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, this->mutable_values())));
+        } else if (
+            static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 1, 18u, input, this->mutable_values())));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.IntValues)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.IntValues)
+  return false;
+#undef DO_
+}
+
+void IntValues::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.IntValues)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // repeated uint32 vrs = 1;
+  if (this->vrs_size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteTag(1, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
+    output->WriteVarint32(static_cast< ::google::protobuf::uint32>(
+        _vrs_cached_byte_size_));
+  }
+  for (int i = 0, n = this->vrs_size(); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
+      this->vrs(i), output);
+  }
+
+  // repeated int32 values = 2;
+  if (this->values_size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteTag(2, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
+    output->WriteVarint32(static_cast< ::google::protobuf::uint32>(
+        _values_cached_byte_size_));
+  }
+  for (int i = 0, n = this->values_size(); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32NoTag(
+      this->values(i), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.IntValues)
+}
+
+::google::protobuf::uint8* IntValues::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.IntValues)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // repeated uint32 vrs = 1;
+  if (this->vrs_size() > 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
+      1,
+      ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
+      target);
+    target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
+        static_cast< ::google::protobuf::int32>(
+            _vrs_cached_byte_size_), target);
+    target = ::google::protobuf::internal::WireFormatLite::
+      WriteUInt32NoTagToArray(this->vrs_, target);
+  }
+
+  // repeated int32 values = 2;
+  if (this->values_size() > 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
+      2,
+      ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
+      target);
+    target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
+        static_cast< ::google::protobuf::int32>(
+            _values_cached_byte_size_), target);
+    target = ::google::protobuf::internal::WireFormatLite::
+      WriteInt32NoTagToArray(this->values_, target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.IntValues)
+  return target;
+}
+
+size_t IntValues::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.IntValues)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // repeated uint32 vrs = 1;
+  {
+    size_t data_size = ::google::protobuf::internal::WireFormatLite::
+      UInt32Size(this->vrs_);
+    if (data_size > 0) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+            static_cast< ::google::protobuf::int32>(data_size));
+    }
+    int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);
+    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+    _vrs_cached_byte_size_ = cached_size;
+    GOOGLE_SAFE_CONCURRENT_WRITES_END();
+    total_size += data_size;
+  }
+
+  // repeated int32 values = 2;
+  {
+    size_t data_size = ::google::protobuf::internal::WireFormatLite::
+      Int32Size(this->values_);
+    if (data_size > 0) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+            static_cast< ::google::protobuf::int32>(data_size));
+    }
+    int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);
+    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+    _values_cached_byte_size_ = cached_size;
+    GOOGLE_SAFE_CONCURRENT_WRITES_END();
+    total_size += data_size;
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void IntValues::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.IntValues)
+  GOOGLE_DCHECK_NE(&from, this);
+  const IntValues* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const IntValues>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.IntValues)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.IntValues)
+    MergeFrom(*source);
+  }
+}
+
+void IntValues::MergeFrom(const IntValues& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.IntValues)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  vrs_.MergeFrom(from.vrs_);
+  values_.MergeFrom(from.values_);
+}
+
+void IntValues::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.IntValues)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void IntValues::CopyFrom(const IntValues& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.IntValues)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool IntValues::IsInitialized() const {
+  return true;
+}
+
+void IntValues::Swap(IntValues* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void IntValues::InternalSwap(IntValues* other) {
+  using std::swap;
+  vrs_.InternalSwap(&other->vrs_);
+  values_.InternalSwap(&other->values_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata IntValues::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void SetIntRequest::InitAsDefaultInstance() {
+  ::ModeliRpc::_SetIntRequest_default_instance_._instance.get_mutable()->values_ = const_cast< ::ModeliRpc::IntValues*>(
+      ::ModeliRpc::IntValues::internal_default_instance());
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int SetIntRequest::kInstanceNameFieldNumber;
+const int SetIntRequest::kValuesFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+SetIntRequest::SetIntRequest()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsSetIntRequest();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.SetIntRequest)
+}
+SetIntRequest::SetIntRequest(const SetIntRequest& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.instance_name().size() > 0) {
+    instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.instance_name_);
+  }
+  if (from.has_values()) {
+    values_ = new ::ModeliRpc::IntValues(*from.values_);
+  } else {
+    values_ = NULL;
+  }
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.SetIntRequest)
+}
+
+void SetIntRequest::SharedCtor() {
+  instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  values_ = NULL;
+  _cached_size_ = 0;
+}
+
+SetIntRequest::~SetIntRequest() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.SetIntRequest)
+  SharedDtor();
+}
+
+void SetIntRequest::SharedDtor() {
+  instance_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (this != internal_default_instance()) delete values_;
+}
+
+void SetIntRequest::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* SetIntRequest::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const SetIntRequest& SetIntRequest::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsSetIntRequest();
+  return *internal_default_instance();
+}
+
+SetIntRequest* SetIntRequest::New(::google::protobuf::Arena* arena) const {
+  SetIntRequest* n = new SetIntRequest;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void SetIntRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.SetIntRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (GetArenaNoVirtual() == NULL && values_ != NULL) {
+    delete values_;
+  }
+  values_ = NULL;
+  _internal_metadata_.Clear();
+}
+
+bool SetIntRequest::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.SetIntRequest)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // string instance_name = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_instance_name()));
+          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+            this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+            ::google::protobuf::internal::WireFormatLite::PARSE,
+            "ModeliRpc.SetIntRequest.instance_name"));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // .ModeliRpc.IntValues values = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+               input, mutable_values()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.SetIntRequest)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.SetIntRequest)
+  return false;
+#undef DO_
+}
+
+void SetIntRequest::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.SetIntRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.SetIntRequest.instance_name");
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->instance_name(), output);
+  }
+
+  // .ModeliRpc.IntValues values = 2;
+  if (this->has_values()) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+      2, *this->values_, output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.SetIntRequest)
+}
+
+::google::protobuf::uint8* SetIntRequest::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.SetIntRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.SetIntRequest.instance_name");
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+        1, this->instance_name(), target);
+  }
+
+  // .ModeliRpc.IntValues values = 2;
+  if (this->has_values()) {
+    target = ::google::protobuf::internal::WireFormatLite::
+      InternalWriteMessageToArray(
+        2, *this->values_, deterministic, target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.SetIntRequest)
+  return target;
+}
+
+size_t SetIntRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.SetIntRequest)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::StringSize(
+        this->instance_name());
+  }
+
+  // .ModeliRpc.IntValues values = 2;
+  if (this->has_values()) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::MessageSize(
+        *this->values_);
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void SetIntRequest::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.SetIntRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  const SetIntRequest* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const SetIntRequest>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.SetIntRequest)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.SetIntRequest)
+    MergeFrom(*source);
+  }
+}
+
+void SetIntRequest::MergeFrom(const SetIntRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.SetIntRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.instance_name().size() > 0) {
+
+    instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.instance_name_);
+  }
+  if (from.has_values()) {
+    mutable_values()->::ModeliRpc::IntValues::MergeFrom(from.values());
+  }
+}
+
+void SetIntRequest::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.SetIntRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void SetIntRequest::CopyFrom(const SetIntRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.SetIntRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool SetIntRequest::IsInitialized() const {
+  return true;
+}
+
+void SetIntRequest::Swap(SetIntRequest* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void SetIntRequest::InternalSwap(SetIntRequest* other) {
+  using std::swap;
+  instance_name_.Swap(&other->instance_name_);
+  swap(values_, other->values_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata SetIntRequest::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void SetIntResponse::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int SetIntResponse::kStatusFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+SetIntResponse::SetIntResponse()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsSetIntResponse();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.SetIntResponse)
+}
+SetIntResponse::SetIntResponse(const SetIntResponse& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  status_ = from.status_;
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.SetIntResponse)
+}
+
+void SetIntResponse::SharedCtor() {
+  status_ = 0;
+  _cached_size_ = 0;
+}
+
+SetIntResponse::~SetIntResponse() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.SetIntResponse)
+  SharedDtor();
+}
+
+void SetIntResponse::SharedDtor() {
+}
+
+void SetIntResponse::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* SetIntResponse::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const SetIntResponse& SetIntResponse::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsSetIntResponse();
+  return *internal_default_instance();
+}
+
+SetIntResponse* SetIntResponse::New(::google::protobuf::Arena* arena) const {
+  SetIntResponse* n = new SetIntResponse;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void SetIntResponse::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.SetIntResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  status_ = 0;
+  _internal_metadata_.Clear();
+}
+
+bool SetIntResponse::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.SetIntResponse)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // int32 status = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &status_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.SetIntResponse)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.SetIntResponse)
+  return false;
+#undef DO_
+}
+
+void SetIntResponse::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.SetIntResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // int32 status = 1;
+  if (this->status() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->status(), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.SetIntResponse)
+}
+
+::google::protobuf::uint8* SetIntResponse::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.SetIntResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // int32 status = 1;
+  if (this->status() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->status(), target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.SetIntResponse)
+  return target;
+}
+
+size_t SetIntResponse::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.SetIntResponse)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // int32 status = 1;
+  if (this->status() != 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::Int32Size(
+        this->status());
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void SetIntResponse::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.SetIntResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  const SetIntResponse* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const SetIntResponse>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.SetIntResponse)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.SetIntResponse)
+    MergeFrom(*source);
+  }
+}
+
+void SetIntResponse::MergeFrom(const SetIntResponse& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.SetIntResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.status() != 0) {
+    set_status(from.status());
+  }
+}
+
+void SetIntResponse::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.SetIntResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void SetIntResponse::CopyFrom(const SetIntResponse& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.SetIntResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool SetIntResponse::IsInitialized() const {
+  return true;
+}
+
+void SetIntResponse::Swap(SetIntResponse* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void SetIntResponse::InternalSwap(SetIntResponse* other) {
+  using std::swap;
+  swap(status_, other->status_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata SetIntResponse::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void RealValues::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int RealValues::kVrsFieldNumber;
+const int RealValues::kValuesFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+RealValues::RealValues()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsRealValues();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.RealValues)
+}
+RealValues::RealValues(const RealValues& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      vrs_(from.vrs_),
+      values_(from.values_),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.RealValues)
+}
+
+void RealValues::SharedCtor() {
+  _cached_size_ = 0;
+}
+
+RealValues::~RealValues() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.RealValues)
+  SharedDtor();
+}
+
+void RealValues::SharedDtor() {
+}
+
+void RealValues::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* RealValues::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const RealValues& RealValues::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsRealValues();
+  return *internal_default_instance();
+}
+
+RealValues* RealValues::New(::google::protobuf::Arena* arena) const {
+  RealValues* n = new RealValues;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void RealValues::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.RealValues)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  vrs_.Clear();
+  values_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool RealValues::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.RealValues)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // repeated uint32 vrs = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
+                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
+                 input, this->mutable_vrs())));
+        } else if (
+            static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
+                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
+                 1, 10u, input, this->mutable_vrs())));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated double values = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
+                   double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
+                 input, this->mutable_values())));
+        } else if (
+            static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(17u /* 17 & 0xFF */)) {
+          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
+                   double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
+                 1, 18u, input, this->mutable_values())));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.RealValues)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.RealValues)
+  return false;
+#undef DO_
+}
+
+void RealValues::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.RealValues)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // repeated uint32 vrs = 1;
+  if (this->vrs_size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteTag(1, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
+    output->WriteVarint32(static_cast< ::google::protobuf::uint32>(
+        _vrs_cached_byte_size_));
+  }
+  for (int i = 0, n = this->vrs_size(); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
+      this->vrs(i), output);
+  }
+
+  // repeated double values = 2;
+  if (this->values_size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteTag(2, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
+    output->WriteVarint32(static_cast< ::google::protobuf::uint32>(
+        _values_cached_byte_size_));
+    ::google::protobuf::internal::WireFormatLite::WriteDoubleArray(
+      this->values().data(), this->values_size(), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.RealValues)
+}
+
+::google::protobuf::uint8* RealValues::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.RealValues)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // repeated uint32 vrs = 1;
+  if (this->vrs_size() > 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
+      1,
+      ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
+      target);
+    target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
+        static_cast< ::google::protobuf::int32>(
+            _vrs_cached_byte_size_), target);
+    target = ::google::protobuf::internal::WireFormatLite::
+      WriteUInt32NoTagToArray(this->vrs_, target);
+  }
+
+  // repeated double values = 2;
+  if (this->values_size() > 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
+      2,
+      ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
+      target);
+    target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
+        static_cast< ::google::protobuf::int32>(
+            _values_cached_byte_size_), target);
+    target = ::google::protobuf::internal::WireFormatLite::
+      WriteDoubleNoTagToArray(this->values_, target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.RealValues)
+  return target;
+}
+
+size_t RealValues::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.RealValues)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // repeated uint32 vrs = 1;
+  {
+    size_t data_size = ::google::protobuf::internal::WireFormatLite::
+      UInt32Size(this->vrs_);
+    if (data_size > 0) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+            static_cast< ::google::protobuf::int32>(data_size));
+    }
+    int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);
+    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+    _vrs_cached_byte_size_ = cached_size;
+    GOOGLE_SAFE_CONCURRENT_WRITES_END();
+    total_size += data_size;
+  }
+
+  // repeated double values = 2;
+  {
+    unsigned int count = static_cast<unsigned int>(this->values_size());
+    size_t data_size = 8UL * count;
+    if (data_size > 0) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+            static_cast< ::google::protobuf::int32>(data_size));
+    }
+    int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);
+    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+    _values_cached_byte_size_ = cached_size;
+    GOOGLE_SAFE_CONCURRENT_WRITES_END();
+    total_size += data_size;
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void RealValues::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.RealValues)
+  GOOGLE_DCHECK_NE(&from, this);
+  const RealValues* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const RealValues>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.RealValues)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.RealValues)
+    MergeFrom(*source);
+  }
+}
+
+void RealValues::MergeFrom(const RealValues& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.RealValues)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  vrs_.MergeFrom(from.vrs_);
+  values_.MergeFrom(from.values_);
+}
+
+void RealValues::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.RealValues)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void RealValues::CopyFrom(const RealValues& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.RealValues)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool RealValues::IsInitialized() const {
+  return true;
+}
+
+void RealValues::Swap(RealValues* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void RealValues::InternalSwap(RealValues* other) {
+  using std::swap;
+  vrs_.InternalSwap(&other->vrs_);
+  values_.InternalSwap(&other->values_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata RealValues::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void SetRealRequest::InitAsDefaultInstance() {
+  ::ModeliRpc::_SetRealRequest_default_instance_._instance.get_mutable()->values_ = const_cast< ::ModeliRpc::RealValues*>(
+      ::ModeliRpc::RealValues::internal_default_instance());
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int SetRealRequest::kInstanceNameFieldNumber;
+const int SetRealRequest::kValuesFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+SetRealRequest::SetRealRequest()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsSetRealRequest();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.SetRealRequest)
+}
+SetRealRequest::SetRealRequest(const SetRealRequest& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.instance_name().size() > 0) {
+    instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.instance_name_);
+  }
+  if (from.has_values()) {
+    values_ = new ::ModeliRpc::RealValues(*from.values_);
+  } else {
+    values_ = NULL;
+  }
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.SetRealRequest)
+}
+
+void SetRealRequest::SharedCtor() {
+  instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  values_ = NULL;
+  _cached_size_ = 0;
+}
+
+SetRealRequest::~SetRealRequest() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.SetRealRequest)
+  SharedDtor();
+}
+
+void SetRealRequest::SharedDtor() {
+  instance_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (this != internal_default_instance()) delete values_;
+}
+
+void SetRealRequest::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* SetRealRequest::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const SetRealRequest& SetRealRequest::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsSetRealRequest();
+  return *internal_default_instance();
+}
+
+SetRealRequest* SetRealRequest::New(::google::protobuf::Arena* arena) const {
+  SetRealRequest* n = new SetRealRequest;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void SetRealRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.SetRealRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (GetArenaNoVirtual() == NULL && values_ != NULL) {
+    delete values_;
+  }
+  values_ = NULL;
+  _internal_metadata_.Clear();
+}
+
+bool SetRealRequest::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.SetRealRequest)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // string instance_name = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_instance_name()));
+          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+            this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+            ::google::protobuf::internal::WireFormatLite::PARSE,
+            "ModeliRpc.SetRealRequest.instance_name"));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // .ModeliRpc.RealValues values = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+               input, mutable_values()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.SetRealRequest)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.SetRealRequest)
+  return false;
+#undef DO_
+}
+
+void SetRealRequest::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.SetRealRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.SetRealRequest.instance_name");
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->instance_name(), output);
+  }
+
+  // .ModeliRpc.RealValues values = 2;
+  if (this->has_values()) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+      2, *this->values_, output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.SetRealRequest)
+}
+
+::google::protobuf::uint8* SetRealRequest::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.SetRealRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.SetRealRequest.instance_name");
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+        1, this->instance_name(), target);
+  }
+
+  // .ModeliRpc.RealValues values = 2;
+  if (this->has_values()) {
+    target = ::google::protobuf::internal::WireFormatLite::
+      InternalWriteMessageToArray(
+        2, *this->values_, deterministic, target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.SetRealRequest)
+  return target;
+}
+
+size_t SetRealRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.SetRealRequest)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::StringSize(
+        this->instance_name());
+  }
+
+  // .ModeliRpc.RealValues values = 2;
+  if (this->has_values()) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::MessageSize(
+        *this->values_);
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void SetRealRequest::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.SetRealRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  const SetRealRequest* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const SetRealRequest>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.SetRealRequest)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.SetRealRequest)
+    MergeFrom(*source);
+  }
+}
+
+void SetRealRequest::MergeFrom(const SetRealRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.SetRealRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.instance_name().size() > 0) {
+
+    instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.instance_name_);
+  }
+  if (from.has_values()) {
+    mutable_values()->::ModeliRpc::RealValues::MergeFrom(from.values());
+  }
+}
+
+void SetRealRequest::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.SetRealRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void SetRealRequest::CopyFrom(const SetRealRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.SetRealRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool SetRealRequest::IsInitialized() const {
+  return true;
+}
+
+void SetRealRequest::Swap(SetRealRequest* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void SetRealRequest::InternalSwap(SetRealRequest* other) {
+  using std::swap;
+  instance_name_.Swap(&other->instance_name_);
+  swap(values_, other->values_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata SetRealRequest::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void SetRealResponse::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int SetRealResponse::kStatusFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+SetRealResponse::SetRealResponse()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsSetRealResponse();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.SetRealResponse)
+}
+SetRealResponse::SetRealResponse(const SetRealResponse& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  status_ = from.status_;
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.SetRealResponse)
+}
+
+void SetRealResponse::SharedCtor() {
+  status_ = 0;
+  _cached_size_ = 0;
+}
+
+SetRealResponse::~SetRealResponse() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.SetRealResponse)
+  SharedDtor();
+}
+
+void SetRealResponse::SharedDtor() {
+}
+
+void SetRealResponse::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* SetRealResponse::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const SetRealResponse& SetRealResponse::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsSetRealResponse();
+  return *internal_default_instance();
+}
+
+SetRealResponse* SetRealResponse::New(::google::protobuf::Arena* arena) const {
+  SetRealResponse* n = new SetRealResponse;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void SetRealResponse::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.SetRealResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  status_ = 0;
+  _internal_metadata_.Clear();
+}
+
+bool SetRealResponse::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.SetRealResponse)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // int32 status = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &status_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.SetRealResponse)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.SetRealResponse)
+  return false;
+#undef DO_
+}
+
+void SetRealResponse::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.SetRealResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // int32 status = 1;
+  if (this->status() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->status(), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.SetRealResponse)
+}
+
+::google::protobuf::uint8* SetRealResponse::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.SetRealResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // int32 status = 1;
+  if (this->status() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->status(), target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.SetRealResponse)
+  return target;
+}
+
+size_t SetRealResponse::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.SetRealResponse)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // int32 status = 1;
+  if (this->status() != 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::Int32Size(
+        this->status());
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void SetRealResponse::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.SetRealResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  const SetRealResponse* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const SetRealResponse>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.SetRealResponse)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.SetRealResponse)
+    MergeFrom(*source);
+  }
+}
+
+void SetRealResponse::MergeFrom(const SetRealResponse& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.SetRealResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.status() != 0) {
+    set_status(from.status());
+  }
+}
+
+void SetRealResponse::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.SetRealResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void SetRealResponse::CopyFrom(const SetRealResponse& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.SetRealResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool SetRealResponse::IsInitialized() const {
+  return true;
+}
+
+void SetRealResponse::Swap(SetRealResponse* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void SetRealResponse::InternalSwap(SetRealResponse* other) {
+  using std::swap;
+  swap(status_, other->status_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata SetRealResponse::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void BoolValues::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int BoolValues::kVrsFieldNumber;
+const int BoolValues::kValuesFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+BoolValues::BoolValues()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsBoolValues();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.BoolValues)
+}
+BoolValues::BoolValues(const BoolValues& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      vrs_(from.vrs_),
+      values_(from.values_),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.BoolValues)
+}
+
+void BoolValues::SharedCtor() {
+  _cached_size_ = 0;
+}
+
+BoolValues::~BoolValues() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.BoolValues)
+  SharedDtor();
+}
+
+void BoolValues::SharedDtor() {
+}
+
+void BoolValues::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* BoolValues::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const BoolValues& BoolValues::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsBoolValues();
+  return *internal_default_instance();
+}
+
+BoolValues* BoolValues::New(::google::protobuf::Arena* arena) const {
+  BoolValues* n = new BoolValues;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void BoolValues::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.BoolValues)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  vrs_.Clear();
+  values_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool BoolValues::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.BoolValues)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // repeated uint32 vrs = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
+                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
+                 input, this->mutable_vrs())));
+        } else if (
+            static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
+                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
+                 1, 10u, input, this->mutable_vrs())));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated int32 values = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, this->mutable_values())));
+        } else if (
+            static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 1, 18u, input, this->mutable_values())));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.BoolValues)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.BoolValues)
+  return false;
+#undef DO_
+}
+
+void BoolValues::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.BoolValues)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // repeated uint32 vrs = 1;
+  if (this->vrs_size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteTag(1, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
+    output->WriteVarint32(static_cast< ::google::protobuf::uint32>(
+        _vrs_cached_byte_size_));
+  }
+  for (int i = 0, n = this->vrs_size(); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
+      this->vrs(i), output);
+  }
+
+  // repeated int32 values = 2;
+  if (this->values_size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteTag(2, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
+    output->WriteVarint32(static_cast< ::google::protobuf::uint32>(
+        _values_cached_byte_size_));
+  }
+  for (int i = 0, n = this->values_size(); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32NoTag(
+      this->values(i), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.BoolValues)
+}
+
+::google::protobuf::uint8* BoolValues::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.BoolValues)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // repeated uint32 vrs = 1;
+  if (this->vrs_size() > 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
+      1,
+      ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
+      target);
+    target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
+        static_cast< ::google::protobuf::int32>(
+            _vrs_cached_byte_size_), target);
+    target = ::google::protobuf::internal::WireFormatLite::
+      WriteUInt32NoTagToArray(this->vrs_, target);
+  }
+
+  // repeated int32 values = 2;
+  if (this->values_size() > 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
+      2,
+      ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
+      target);
+    target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
+        static_cast< ::google::protobuf::int32>(
+            _values_cached_byte_size_), target);
+    target = ::google::protobuf::internal::WireFormatLite::
+      WriteInt32NoTagToArray(this->values_, target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.BoolValues)
+  return target;
+}
+
+size_t BoolValues::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.BoolValues)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // repeated uint32 vrs = 1;
+  {
+    size_t data_size = ::google::protobuf::internal::WireFormatLite::
+      UInt32Size(this->vrs_);
+    if (data_size > 0) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+            static_cast< ::google::protobuf::int32>(data_size));
+    }
+    int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);
+    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+    _vrs_cached_byte_size_ = cached_size;
+    GOOGLE_SAFE_CONCURRENT_WRITES_END();
+    total_size += data_size;
+  }
+
+  // repeated int32 values = 2;
+  {
+    size_t data_size = ::google::protobuf::internal::WireFormatLite::
+      Int32Size(this->values_);
+    if (data_size > 0) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+            static_cast< ::google::protobuf::int32>(data_size));
+    }
+    int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);
+    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+    _values_cached_byte_size_ = cached_size;
+    GOOGLE_SAFE_CONCURRENT_WRITES_END();
+    total_size += data_size;
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void BoolValues::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.BoolValues)
+  GOOGLE_DCHECK_NE(&from, this);
+  const BoolValues* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const BoolValues>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.BoolValues)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.BoolValues)
+    MergeFrom(*source);
+  }
+}
+
+void BoolValues::MergeFrom(const BoolValues& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.BoolValues)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  vrs_.MergeFrom(from.vrs_);
+  values_.MergeFrom(from.values_);
+}
+
+void BoolValues::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.BoolValues)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void BoolValues::CopyFrom(const BoolValues& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.BoolValues)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool BoolValues::IsInitialized() const {
+  return true;
+}
+
+void BoolValues::Swap(BoolValues* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void BoolValues::InternalSwap(BoolValues* other) {
+  using std::swap;
+  vrs_.InternalSwap(&other->vrs_);
+  values_.InternalSwap(&other->values_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata BoolValues::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void SetBoolRequest::InitAsDefaultInstance() {
+  ::ModeliRpc::_SetBoolRequest_default_instance_._instance.get_mutable()->values_ = const_cast< ::ModeliRpc::BoolValues*>(
+      ::ModeliRpc::BoolValues::internal_default_instance());
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int SetBoolRequest::kInstanceNameFieldNumber;
+const int SetBoolRequest::kValuesFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+SetBoolRequest::SetBoolRequest()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsSetBoolRequest();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.SetBoolRequest)
+}
+SetBoolRequest::SetBoolRequest(const SetBoolRequest& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.instance_name().size() > 0) {
+    instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.instance_name_);
+  }
+  if (from.has_values()) {
+    values_ = new ::ModeliRpc::BoolValues(*from.values_);
+  } else {
+    values_ = NULL;
+  }
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.SetBoolRequest)
+}
+
+void SetBoolRequest::SharedCtor() {
+  instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  values_ = NULL;
+  _cached_size_ = 0;
+}
+
+SetBoolRequest::~SetBoolRequest() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.SetBoolRequest)
+  SharedDtor();
+}
+
+void SetBoolRequest::SharedDtor() {
+  instance_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (this != internal_default_instance()) delete values_;
+}
+
+void SetBoolRequest::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* SetBoolRequest::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const SetBoolRequest& SetBoolRequest::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsSetBoolRequest();
+  return *internal_default_instance();
+}
+
+SetBoolRequest* SetBoolRequest::New(::google::protobuf::Arena* arena) const {
+  SetBoolRequest* n = new SetBoolRequest;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void SetBoolRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.SetBoolRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (GetArenaNoVirtual() == NULL && values_ != NULL) {
+    delete values_;
+  }
+  values_ = NULL;
+  _internal_metadata_.Clear();
+}
+
+bool SetBoolRequest::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.SetBoolRequest)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // string instance_name = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_instance_name()));
+          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+            this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+            ::google::protobuf::internal::WireFormatLite::PARSE,
+            "ModeliRpc.SetBoolRequest.instance_name"));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // .ModeliRpc.BoolValues values = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+               input, mutable_values()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.SetBoolRequest)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.SetBoolRequest)
+  return false;
+#undef DO_
+}
+
+void SetBoolRequest::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.SetBoolRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.SetBoolRequest.instance_name");
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->instance_name(), output);
+  }
+
+  // .ModeliRpc.BoolValues values = 2;
+  if (this->has_values()) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+      2, *this->values_, output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.SetBoolRequest)
+}
+
+::google::protobuf::uint8* SetBoolRequest::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.SetBoolRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.SetBoolRequest.instance_name");
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+        1, this->instance_name(), target);
+  }
+
+  // .ModeliRpc.BoolValues values = 2;
+  if (this->has_values()) {
+    target = ::google::protobuf::internal::WireFormatLite::
+      InternalWriteMessageToArray(
+        2, *this->values_, deterministic, target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.SetBoolRequest)
+  return target;
+}
+
+size_t SetBoolRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.SetBoolRequest)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::StringSize(
+        this->instance_name());
+  }
+
+  // .ModeliRpc.BoolValues values = 2;
+  if (this->has_values()) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::MessageSize(
+        *this->values_);
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void SetBoolRequest::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.SetBoolRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  const SetBoolRequest* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const SetBoolRequest>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.SetBoolRequest)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.SetBoolRequest)
+    MergeFrom(*source);
+  }
+}
+
+void SetBoolRequest::MergeFrom(const SetBoolRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.SetBoolRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.instance_name().size() > 0) {
+
+    instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.instance_name_);
+  }
+  if (from.has_values()) {
+    mutable_values()->::ModeliRpc::BoolValues::MergeFrom(from.values());
+  }
+}
+
+void SetBoolRequest::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.SetBoolRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void SetBoolRequest::CopyFrom(const SetBoolRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.SetBoolRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool SetBoolRequest::IsInitialized() const {
+  return true;
+}
+
+void SetBoolRequest::Swap(SetBoolRequest* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void SetBoolRequest::InternalSwap(SetBoolRequest* other) {
+  using std::swap;
+  instance_name_.Swap(&other->instance_name_);
+  swap(values_, other->values_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata SetBoolRequest::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void SetBoolResponse::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int SetBoolResponse::kStatusFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+SetBoolResponse::SetBoolResponse()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsSetBoolResponse();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.SetBoolResponse)
+}
+SetBoolResponse::SetBoolResponse(const SetBoolResponse& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  status_ = from.status_;
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.SetBoolResponse)
+}
+
+void SetBoolResponse::SharedCtor() {
+  status_ = 0;
+  _cached_size_ = 0;
+}
+
+SetBoolResponse::~SetBoolResponse() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.SetBoolResponse)
+  SharedDtor();
+}
+
+void SetBoolResponse::SharedDtor() {
+}
+
+void SetBoolResponse::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* SetBoolResponse::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const SetBoolResponse& SetBoolResponse::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsSetBoolResponse();
+  return *internal_default_instance();
+}
+
+SetBoolResponse* SetBoolResponse::New(::google::protobuf::Arena* arena) const {
+  SetBoolResponse* n = new SetBoolResponse;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void SetBoolResponse::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.SetBoolResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  status_ = 0;
+  _internal_metadata_.Clear();
+}
+
+bool SetBoolResponse::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.SetBoolResponse)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // int32 status = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &status_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.SetBoolResponse)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.SetBoolResponse)
+  return false;
+#undef DO_
+}
+
+void SetBoolResponse::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.SetBoolResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // int32 status = 1;
+  if (this->status() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->status(), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.SetBoolResponse)
+}
+
+::google::protobuf::uint8* SetBoolResponse::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.SetBoolResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // int32 status = 1;
+  if (this->status() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->status(), target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.SetBoolResponse)
+  return target;
+}
+
+size_t SetBoolResponse::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.SetBoolResponse)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // int32 status = 1;
+  if (this->status() != 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::Int32Size(
+        this->status());
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void SetBoolResponse::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.SetBoolResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  const SetBoolResponse* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const SetBoolResponse>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.SetBoolResponse)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.SetBoolResponse)
+    MergeFrom(*source);
+  }
+}
+
+void SetBoolResponse::MergeFrom(const SetBoolResponse& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.SetBoolResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.status() != 0) {
+    set_status(from.status());
+  }
+}
+
+void SetBoolResponse::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.SetBoolResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void SetBoolResponse::CopyFrom(const SetBoolResponse& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.SetBoolResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool SetBoolResponse::IsInitialized() const {
+  return true;
+}
+
+void SetBoolResponse::Swap(SetBoolResponse* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void SetBoolResponse::InternalSwap(SetBoolResponse* other) {
+  using std::swap;
+  swap(status_, other->status_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata SetBoolResponse::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void StringValues::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int StringValues::kVrsFieldNumber;
+const int StringValues::kValuesFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+StringValues::StringValues()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsStringValues();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.StringValues)
+}
+StringValues::StringValues(const StringValues& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      vrs_(from.vrs_),
+      values_(from.values_),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.StringValues)
+}
+
+void StringValues::SharedCtor() {
+  _cached_size_ = 0;
+}
+
+StringValues::~StringValues() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.StringValues)
+  SharedDtor();
+}
+
+void StringValues::SharedDtor() {
+}
+
+void StringValues::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* StringValues::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const StringValues& StringValues::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsStringValues();
+  return *internal_default_instance();
+}
+
+StringValues* StringValues::New(::google::protobuf::Arena* arena) const {
+  StringValues* n = new StringValues;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void StringValues::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.StringValues)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  vrs_.Clear();
+  values_.Clear();
+  _internal_metadata_.Clear();
+}
+
+bool StringValues::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.StringValues)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // repeated uint32 vrs = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
+                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
+                 input, this->mutable_vrs())));
+        } else if (
+            static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+          DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
+                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
+                 1, 10u, input, this->mutable_vrs())));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // repeated string values = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->add_values()));
+          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+            this->values(this->values_size() - 1).data(),
+            static_cast<int>(this->values(this->values_size() - 1).length()),
+            ::google::protobuf::internal::WireFormatLite::PARSE,
+            "ModeliRpc.StringValues.values"));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.StringValues)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.StringValues)
+  return false;
+#undef DO_
+}
+
+void StringValues::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.StringValues)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // repeated uint32 vrs = 1;
+  if (this->vrs_size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteTag(1, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
+    output->WriteVarint32(static_cast< ::google::protobuf::uint32>(
+        _vrs_cached_byte_size_));
+  }
+  for (int i = 0, n = this->vrs_size(); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::WriteUInt32NoTag(
+      this->vrs(i), output);
+  }
+
+  // repeated string values = 2;
+  for (int i = 0, n = this->values_size(); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->values(i).data(), static_cast<int>(this->values(i).length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.StringValues.values");
+    ::google::protobuf::internal::WireFormatLite::WriteString(
+      2, this->values(i), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.StringValues)
+}
+
+::google::protobuf::uint8* StringValues::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.StringValues)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // repeated uint32 vrs = 1;
+  if (this->vrs_size() > 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
+      1,
+      ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
+      target);
+    target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
+        static_cast< ::google::protobuf::int32>(
+            _vrs_cached_byte_size_), target);
+    target = ::google::protobuf::internal::WireFormatLite::
+      WriteUInt32NoTagToArray(this->vrs_, target);
+  }
+
+  // repeated string values = 2;
+  for (int i = 0, n = this->values_size(); i < n; i++) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->values(i).data(), static_cast<int>(this->values(i).length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.StringValues.values");
+    target = ::google::protobuf::internal::WireFormatLite::
+      WriteStringToArray(2, this->values(i), target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.StringValues)
+  return target;
+}
+
+size_t StringValues::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.StringValues)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // repeated uint32 vrs = 1;
+  {
+    size_t data_size = ::google::protobuf::internal::WireFormatLite::
+      UInt32Size(this->vrs_);
+    if (data_size > 0) {
+      total_size += 1 +
+        ::google::protobuf::internal::WireFormatLite::Int32Size(
+            static_cast< ::google::protobuf::int32>(data_size));
+    }
+    int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);
+    GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+    _vrs_cached_byte_size_ = cached_size;
+    GOOGLE_SAFE_CONCURRENT_WRITES_END();
+    total_size += data_size;
+  }
+
+  // repeated string values = 2;
+  total_size += 1 *
+      ::google::protobuf::internal::FromIntSize(this->values_size());
+  for (int i = 0, n = this->values_size(); i < n; i++) {
+    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
+      this->values(i));
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void StringValues::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.StringValues)
+  GOOGLE_DCHECK_NE(&from, this);
+  const StringValues* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const StringValues>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.StringValues)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.StringValues)
+    MergeFrom(*source);
+  }
+}
+
+void StringValues::MergeFrom(const StringValues& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.StringValues)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  vrs_.MergeFrom(from.vrs_);
+  values_.MergeFrom(from.values_);
+}
+
+void StringValues::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.StringValues)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void StringValues::CopyFrom(const StringValues& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.StringValues)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool StringValues::IsInitialized() const {
+  return true;
+}
+
+void StringValues::Swap(StringValues* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void StringValues::InternalSwap(StringValues* other) {
+  using std::swap;
+  vrs_.InternalSwap(&other->vrs_);
+  values_.InternalSwap(&other->values_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata StringValues::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void SetStringRequest::InitAsDefaultInstance() {
+  ::ModeliRpc::_SetStringRequest_default_instance_._instance.get_mutable()->values_ = const_cast< ::ModeliRpc::StringValues*>(
+      ::ModeliRpc::StringValues::internal_default_instance());
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int SetStringRequest::kInstanceNameFieldNumber;
+const int SetStringRequest::kValuesFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+SetStringRequest::SetStringRequest()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsSetStringRequest();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.SetStringRequest)
+}
+SetStringRequest::SetStringRequest(const SetStringRequest& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.instance_name().size() > 0) {
+    instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.instance_name_);
+  }
+  if (from.has_values()) {
+    values_ = new ::ModeliRpc::StringValues(*from.values_);
+  } else {
+    values_ = NULL;
+  }
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.SetStringRequest)
+}
+
+void SetStringRequest::SharedCtor() {
+  instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  values_ = NULL;
+  _cached_size_ = 0;
+}
+
+SetStringRequest::~SetStringRequest() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.SetStringRequest)
+  SharedDtor();
+}
+
+void SetStringRequest::SharedDtor() {
+  instance_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (this != internal_default_instance()) delete values_;
+}
+
+void SetStringRequest::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* SetStringRequest::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const SetStringRequest& SetStringRequest::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsSetStringRequest();
+  return *internal_default_instance();
+}
+
+SetStringRequest* SetStringRequest::New(::google::protobuf::Arena* arena) const {
+  SetStringRequest* n = new SetStringRequest;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void SetStringRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.SetStringRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (GetArenaNoVirtual() == NULL && values_ != NULL) {
+    delete values_;
+  }
+  values_ = NULL;
+  _internal_metadata_.Clear();
+}
+
+bool SetStringRequest::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.SetStringRequest)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // string instance_name = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_instance_name()));
+          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+            this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+            ::google::protobuf::internal::WireFormatLite::PARSE,
+            "ModeliRpc.SetStringRequest.instance_name"));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // .ModeliRpc.StringValues values = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+               input, mutable_values()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.SetStringRequest)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.SetStringRequest)
+  return false;
+#undef DO_
+}
+
+void SetStringRequest::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.SetStringRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.SetStringRequest.instance_name");
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->instance_name(), output);
+  }
+
+  // .ModeliRpc.StringValues values = 2;
+  if (this->has_values()) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+      2, *this->values_, output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.SetStringRequest)
+}
+
+::google::protobuf::uint8* SetStringRequest::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.SetStringRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.SetStringRequest.instance_name");
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+        1, this->instance_name(), target);
+  }
+
+  // .ModeliRpc.StringValues values = 2;
+  if (this->has_values()) {
+    target = ::google::protobuf::internal::WireFormatLite::
+      InternalWriteMessageToArray(
+        2, *this->values_, deterministic, target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.SetStringRequest)
+  return target;
+}
+
+size_t SetStringRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.SetStringRequest)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::StringSize(
+        this->instance_name());
+  }
+
+  // .ModeliRpc.StringValues values = 2;
+  if (this->has_values()) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::MessageSize(
+        *this->values_);
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void SetStringRequest::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.SetStringRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  const SetStringRequest* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const SetStringRequest>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.SetStringRequest)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.SetStringRequest)
+    MergeFrom(*source);
+  }
+}
+
+void SetStringRequest::MergeFrom(const SetStringRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.SetStringRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.instance_name().size() > 0) {
+
+    instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.instance_name_);
+  }
+  if (from.has_values()) {
+    mutable_values()->::ModeliRpc::StringValues::MergeFrom(from.values());
+  }
+}
+
+void SetStringRequest::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.SetStringRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void SetStringRequest::CopyFrom(const SetStringRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.SetStringRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool SetStringRequest::IsInitialized() const {
+  return true;
+}
+
+void SetStringRequest::Swap(SetStringRequest* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void SetStringRequest::InternalSwap(SetStringRequest* other) {
+  using std::swap;
+  instance_name_.Swap(&other->instance_name_);
+  swap(values_, other->values_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata SetStringRequest::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void SetStringResponse::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int SetStringResponse::kStatusFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+SetStringResponse::SetStringResponse()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsSetStringResponse();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.SetStringResponse)
+}
+SetStringResponse::SetStringResponse(const SetStringResponse& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  status_ = from.status_;
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.SetStringResponse)
+}
+
+void SetStringResponse::SharedCtor() {
+  status_ = 0;
+  _cached_size_ = 0;
+}
+
+SetStringResponse::~SetStringResponse() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.SetStringResponse)
+  SharedDtor();
+}
+
+void SetStringResponse::SharedDtor() {
+}
+
+void SetStringResponse::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* SetStringResponse::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const SetStringResponse& SetStringResponse::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsSetStringResponse();
+  return *internal_default_instance();
+}
+
+SetStringResponse* SetStringResponse::New(::google::protobuf::Arena* arena) const {
+  SetStringResponse* n = new SetStringResponse;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void SetStringResponse::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.SetStringResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  status_ = 0;
+  _internal_metadata_.Clear();
+}
+
+bool SetStringResponse::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.SetStringResponse)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // int32 status = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(8u /* 8 & 0xFF */)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &status_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.SetStringResponse)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.SetStringResponse)
+  return false;
+#undef DO_
+}
+
+void SetStringResponse::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.SetStringResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // int32 status = 1;
+  if (this->status() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->status(), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.SetStringResponse)
+}
+
+::google::protobuf::uint8* SetStringResponse::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.SetStringResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // int32 status = 1;
+  if (this->status() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->status(), target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.SetStringResponse)
+  return target;
+}
+
+size_t SetStringResponse::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.SetStringResponse)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // int32 status = 1;
+  if (this->status() != 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::Int32Size(
+        this->status());
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void SetStringResponse::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.SetStringResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  const SetStringResponse* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const SetStringResponse>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.SetStringResponse)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.SetStringResponse)
+    MergeFrom(*source);
+  }
+}
+
+void SetStringResponse::MergeFrom(const SetStringResponse& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.SetStringResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.status() != 0) {
+    set_status(from.status());
+  }
+}
+
+void SetStringResponse::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.SetStringResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void SetStringResponse::CopyFrom(const SetStringResponse& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.SetStringResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool SetStringResponse::IsInitialized() const {
+  return true;
+}
+
+void SetStringResponse::Swap(SetStringResponse* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void SetStringResponse::InternalSwap(SetStringResponse* other) {
+  using std::swap;
+  swap(status_, other->status_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata SetStringResponse::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void NewValuesRequest::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+NewValuesRequest::NewValuesRequest()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsNewValuesRequest();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.NewValuesRequest)
+}
+NewValuesRequest::NewValuesRequest(const NewValuesRequest& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.NewValuesRequest)
+}
+
+void NewValuesRequest::SharedCtor() {
+  _cached_size_ = 0;
+}
+
+NewValuesRequest::~NewValuesRequest() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.NewValuesRequest)
+  SharedDtor();
+}
+
+void NewValuesRequest::SharedDtor() {
+}
+
+void NewValuesRequest::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* NewValuesRequest::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const NewValuesRequest& NewValuesRequest::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsNewValuesRequest();
+  return *internal_default_instance();
+}
+
+NewValuesRequest* NewValuesRequest::New(::google::protobuf::Arena* arena) const {
+  NewValuesRequest* n = new NewValuesRequest;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void NewValuesRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.NewValuesRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  _internal_metadata_.Clear();
+}
+
+bool NewValuesRequest::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.NewValuesRequest)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+  handle_unusual:
+    if (tag == 0) {
+      goto success;
+    }
+    DO_(::google::protobuf::internal::WireFormat::SkipField(
+          input, tag, _internal_metadata_.mutable_unknown_fields()));
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.NewValuesRequest)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.NewValuesRequest)
+  return false;
+#undef DO_
+}
+
+void NewValuesRequest::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.NewValuesRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.NewValuesRequest)
+}
+
+::google::protobuf::uint8* NewValuesRequest::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.NewValuesRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.NewValuesRequest)
+  return target;
+}
+
+size_t NewValuesRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.NewValuesRequest)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void NewValuesRequest::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.NewValuesRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  const NewValuesRequest* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const NewValuesRequest>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.NewValuesRequest)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.NewValuesRequest)
+    MergeFrom(*source);
+  }
+}
+
+void NewValuesRequest::MergeFrom(const NewValuesRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.NewValuesRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+}
+
+void NewValuesRequest::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.NewValuesRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void NewValuesRequest::CopyFrom(const NewValuesRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.NewValuesRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool NewValuesRequest::IsInitialized() const {
+  return true;
+}
+
+void NewValuesRequest::Swap(NewValuesRequest* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void NewValuesRequest::InternalSwap(NewValuesRequest* other) {
+  using std::swap;
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata NewValuesRequest::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void NewValuesResponse::InitAsDefaultInstance() {
+  ::ModeliRpc::_NewValuesResponse_default_instance_._instance.get_mutable()->int_values_ = const_cast< ::ModeliRpc::IntValues*>(
+      ::ModeliRpc::IntValues::internal_default_instance());
+  ::ModeliRpc::_NewValuesResponse_default_instance_._instance.get_mutable()->real_values_ = const_cast< ::ModeliRpc::RealValues*>(
+      ::ModeliRpc::RealValues::internal_default_instance());
+  ::ModeliRpc::_NewValuesResponse_default_instance_._instance.get_mutable()->bool_values_ = const_cast< ::ModeliRpc::BoolValues*>(
+      ::ModeliRpc::BoolValues::internal_default_instance());
+  ::ModeliRpc::_NewValuesResponse_default_instance_._instance.get_mutable()->string_values_ = const_cast< ::ModeliRpc::StringValues*>(
+      ::ModeliRpc::StringValues::internal_default_instance());
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int NewValuesResponse::kTimestampFieldNumber;
+const int NewValuesResponse::kIntValuesFieldNumber;
+const int NewValuesResponse::kRealValuesFieldNumber;
+const int NewValuesResponse::kBoolValuesFieldNumber;
+const int NewValuesResponse::kStringValuesFieldNumber;
+const int NewValuesResponse::kInstanceNameFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+NewValuesResponse::NewValuesResponse()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsNewValuesResponse();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.NewValuesResponse)
+}
+NewValuesResponse::NewValuesResponse(const NewValuesResponse& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.instance_name().size() > 0) {
+    instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.instance_name_);
+  }
+  if (from.has_int_values()) {
+    int_values_ = new ::ModeliRpc::IntValues(*from.int_values_);
+  } else {
+    int_values_ = NULL;
+  }
+  if (from.has_real_values()) {
+    real_values_ = new ::ModeliRpc::RealValues(*from.real_values_);
+  } else {
+    real_values_ = NULL;
+  }
+  if (from.has_bool_values()) {
+    bool_values_ = new ::ModeliRpc::BoolValues(*from.bool_values_);
+  } else {
+    bool_values_ = NULL;
+  }
+  if (from.has_string_values()) {
+    string_values_ = new ::ModeliRpc::StringValues(*from.string_values_);
+  } else {
+    string_values_ = NULL;
+  }
+  timestamp_ = from.timestamp_;
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.NewValuesResponse)
+}
+
+void NewValuesResponse::SharedCtor() {
+  instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  ::memset(&int_values_, 0, static_cast<size_t>(
+      reinterpret_cast<char*>(&timestamp_) -
+      reinterpret_cast<char*>(&int_values_)) + sizeof(timestamp_));
+  _cached_size_ = 0;
+}
+
+NewValuesResponse::~NewValuesResponse() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.NewValuesResponse)
+  SharedDtor();
+}
+
+void NewValuesResponse::SharedDtor() {
+  instance_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (this != internal_default_instance()) delete int_values_;
+  if (this != internal_default_instance()) delete real_values_;
+  if (this != internal_default_instance()) delete bool_values_;
+  if (this != internal_default_instance()) delete string_values_;
+}
+
+void NewValuesResponse::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* NewValuesResponse::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const NewValuesResponse& NewValuesResponse::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsNewValuesResponse();
+  return *internal_default_instance();
+}
+
+NewValuesResponse* NewValuesResponse::New(::google::protobuf::Arena* arena) const {
+  NewValuesResponse* n = new NewValuesResponse;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void NewValuesResponse::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.NewValuesResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (GetArenaNoVirtual() == NULL && int_values_ != NULL) {
+    delete int_values_;
+  }
+  int_values_ = NULL;
+  if (GetArenaNoVirtual() == NULL && real_values_ != NULL) {
+    delete real_values_;
+  }
+  real_values_ = NULL;
+  if (GetArenaNoVirtual() == NULL && bool_values_ != NULL) {
+    delete bool_values_;
+  }
+  bool_values_ = NULL;
+  if (GetArenaNoVirtual() == NULL && string_values_ != NULL) {
+    delete string_values_;
+  }
+  string_values_ = NULL;
+  timestamp_ = 0;
+  _internal_metadata_.Clear();
+}
+
+bool NewValuesResponse::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.NewValuesResponse)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // double timestamp = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(9u /* 9 & 0xFF */)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
+                 input, &timestamp_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // .ModeliRpc.IntValues int_values = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+               input, mutable_int_values()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // .ModeliRpc.RealValues real_values = 3;
+      case 3: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+               input, mutable_real_values()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // .ModeliRpc.BoolValues bool_values = 4;
+      case 4: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+               input, mutable_bool_values()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // .ModeliRpc.StringValues string_values = 5;
+      case 5: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(42u /* 42 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
+               input, mutable_string_values()));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // string instance_name = 6;
+      case 6: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(50u /* 50 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_instance_name()));
+          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+            this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+            ::google::protobuf::internal::WireFormatLite::PARSE,
+            "ModeliRpc.NewValuesResponse.instance_name"));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.NewValuesResponse)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.NewValuesResponse)
+  return false;
+#undef DO_
+}
+
+void NewValuesResponse::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.NewValuesResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // double timestamp = 1;
+  if (this->timestamp() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteDouble(1, this->timestamp(), output);
+  }
+
+  // .ModeliRpc.IntValues int_values = 2;
+  if (this->has_int_values()) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+      2, *this->int_values_, output);
+  }
+
+  // .ModeliRpc.RealValues real_values = 3;
+  if (this->has_real_values()) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+      3, *this->real_values_, output);
+  }
+
+  // .ModeliRpc.BoolValues bool_values = 4;
+  if (this->has_bool_values()) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+      4, *this->bool_values_, output);
+  }
+
+  // .ModeliRpc.StringValues string_values = 5;
+  if (this->has_string_values()) {
+    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
+      5, *this->string_values_, output);
+  }
+
+  // string instance_name = 6;
+  if (this->instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.NewValuesResponse.instance_name");
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      6, this->instance_name(), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.NewValuesResponse)
+}
+
+::google::protobuf::uint8* NewValuesResponse::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.NewValuesResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // double timestamp = 1;
+  if (this->timestamp() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteDoubleToArray(1, this->timestamp(), target);
+  }
+
+  // .ModeliRpc.IntValues int_values = 2;
+  if (this->has_int_values()) {
+    target = ::google::protobuf::internal::WireFormatLite::
+      InternalWriteMessageToArray(
+        2, *this->int_values_, deterministic, target);
+  }
+
+  // .ModeliRpc.RealValues real_values = 3;
+  if (this->has_real_values()) {
+    target = ::google::protobuf::internal::WireFormatLite::
+      InternalWriteMessageToArray(
+        3, *this->real_values_, deterministic, target);
+  }
+
+  // .ModeliRpc.BoolValues bool_values = 4;
+  if (this->has_bool_values()) {
+    target = ::google::protobuf::internal::WireFormatLite::
+      InternalWriteMessageToArray(
+        4, *this->bool_values_, deterministic, target);
+  }
+
+  // .ModeliRpc.StringValues string_values = 5;
+  if (this->has_string_values()) {
+    target = ::google::protobuf::internal::WireFormatLite::
+      InternalWriteMessageToArray(
+        5, *this->string_values_, deterministic, target);
+  }
+
+  // string instance_name = 6;
+  if (this->instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.NewValuesResponse.instance_name");
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+        6, this->instance_name(), target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.NewValuesResponse)
+  return target;
+}
+
+size_t NewValuesResponse::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.NewValuesResponse)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // string instance_name = 6;
+  if (this->instance_name().size() > 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::StringSize(
+        this->instance_name());
+  }
+
+  // .ModeliRpc.IntValues int_values = 2;
+  if (this->has_int_values()) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::MessageSize(
+        *this->int_values_);
+  }
+
+  // .ModeliRpc.RealValues real_values = 3;
+  if (this->has_real_values()) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::MessageSize(
+        *this->real_values_);
+  }
+
+  // .ModeliRpc.BoolValues bool_values = 4;
+  if (this->has_bool_values()) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::MessageSize(
+        *this->bool_values_);
+  }
+
+  // .ModeliRpc.StringValues string_values = 5;
+  if (this->has_string_values()) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::MessageSize(
+        *this->string_values_);
+  }
+
+  // double timestamp = 1;
+  if (this->timestamp() != 0) {
+    total_size += 1 + 8;
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void NewValuesResponse::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.NewValuesResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  const NewValuesResponse* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const NewValuesResponse>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.NewValuesResponse)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.NewValuesResponse)
+    MergeFrom(*source);
+  }
+}
+
+void NewValuesResponse::MergeFrom(const NewValuesResponse& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.NewValuesResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.instance_name().size() > 0) {
+
+    instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.instance_name_);
+  }
+  if (from.has_int_values()) {
+    mutable_int_values()->::ModeliRpc::IntValues::MergeFrom(from.int_values());
+  }
+  if (from.has_real_values()) {
+    mutable_real_values()->::ModeliRpc::RealValues::MergeFrom(from.real_values());
+  }
+  if (from.has_bool_values()) {
+    mutable_bool_values()->::ModeliRpc::BoolValues::MergeFrom(from.bool_values());
+  }
+  if (from.has_string_values()) {
+    mutable_string_values()->::ModeliRpc::StringValues::MergeFrom(from.string_values());
+  }
+  if (from.timestamp() != 0) {
+    set_timestamp(from.timestamp());
+  }
+}
+
+void NewValuesResponse::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.NewValuesResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void NewValuesResponse::CopyFrom(const NewValuesResponse& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.NewValuesResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool NewValuesResponse::IsInitialized() const {
+  return true;
+}
+
+void NewValuesResponse::Swap(NewValuesResponse* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void NewValuesResponse::InternalSwap(NewValuesResponse* other) {
+  using std::swap;
+  instance_name_.Swap(&other->instance_name_);
+  swap(int_values_, other->int_values_);
+  swap(real_values_, other->real_values_);
+  swap(bool_values_, other->bool_values_);
+  swap(string_values_, other->string_values_);
+  swap(timestamp_, other->timestamp_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata NewValuesResponse::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void LogRequest::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+LogRequest::LogRequest()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsLogRequest();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.LogRequest)
+}
+LogRequest::LogRequest(const LogRequest& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.LogRequest)
+}
+
+void LogRequest::SharedCtor() {
+  _cached_size_ = 0;
+}
+
+LogRequest::~LogRequest() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.LogRequest)
+  SharedDtor();
+}
+
+void LogRequest::SharedDtor() {
+}
+
+void LogRequest::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* LogRequest::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const LogRequest& LogRequest::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsLogRequest();
+  return *internal_default_instance();
+}
+
+LogRequest* LogRequest::New(::google::protobuf::Arena* arena) const {
+  LogRequest* n = new LogRequest;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void LogRequest::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.LogRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  _internal_metadata_.Clear();
+}
+
+bool LogRequest::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.LogRequest)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+  handle_unusual:
+    if (tag == 0) {
+      goto success;
+    }
+    DO_(::google::protobuf::internal::WireFormat::SkipField(
+          input, tag, _internal_metadata_.mutable_unknown_fields()));
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.LogRequest)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.LogRequest)
+  return false;
+#undef DO_
+}
+
+void LogRequest::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.LogRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.LogRequest)
+}
+
+::google::protobuf::uint8* LogRequest::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.LogRequest)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.LogRequest)
+  return target;
+}
+
+size_t LogRequest::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.LogRequest)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void LogRequest::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.LogRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  const LogRequest* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const LogRequest>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.LogRequest)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.LogRequest)
+    MergeFrom(*source);
+  }
+}
+
+void LogRequest::MergeFrom(const LogRequest& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.LogRequest)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+}
+
+void LogRequest::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.LogRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void LogRequest::CopyFrom(const LogRequest& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.LogRequest)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool LogRequest::IsInitialized() const {
+  return true;
+}
+
+void LogRequest::Swap(LogRequest* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void LogRequest::InternalSwap(LogRequest* other) {
+  using std::swap;
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata LogRequest::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// ===================================================================
+
+void LogResponse::InitAsDefaultInstance() {
+}
+#if !defined(_MSC_VER) || _MSC_VER >= 1900
+const int LogResponse::kInstanceNameFieldNumber;
+const int LogResponse::kStatusFieldNumber;
+const int LogResponse::kMessageFieldNumber;
+#endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
+
+LogResponse::LogResponse()
+  : ::google::protobuf::Message(), _internal_metadata_(NULL) {
+  if (GOOGLE_PREDICT_TRUE(this != internal_default_instance())) {
+    ::protobuf_ModeliRpc_2eproto::InitDefaultsLogResponse();
+  }
+  SharedCtor();
+  // @@protoc_insertion_point(constructor:ModeliRpc.LogResponse)
+}
+LogResponse::LogResponse(const LogResponse& from)
+  : ::google::protobuf::Message(),
+      _internal_metadata_(NULL),
+      _cached_size_(0) {
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.instance_name().size() > 0) {
+    instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.instance_name_);
+  }
+  message_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  if (from.message().size() > 0) {
+    message_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.message_);
+  }
+  status_ = from.status_;
+  // @@protoc_insertion_point(copy_constructor:ModeliRpc.LogResponse)
+}
+
+void LogResponse::SharedCtor() {
+  instance_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  message_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  status_ = 0;
+  _cached_size_ = 0;
+}
+
+LogResponse::~LogResponse() {
+  // @@protoc_insertion_point(destructor:ModeliRpc.LogResponse)
+  SharedDtor();
+}
+
+void LogResponse::SharedDtor() {
+  instance_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  message_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+
+void LogResponse::SetCachedSize(int size) const {
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+}
+const ::google::protobuf::Descriptor* LogResponse::descriptor() {
+  ::protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages].descriptor;
+}
+
+const LogResponse& LogResponse::default_instance() {
+  ::protobuf_ModeliRpc_2eproto::InitDefaultsLogResponse();
+  return *internal_default_instance();
+}
+
+LogResponse* LogResponse::New(::google::protobuf::Arena* arena) const {
+  LogResponse* n = new LogResponse;
+  if (arena != NULL) {
+    arena->Own(n);
+  }
+  return n;
+}
+
+void LogResponse::Clear() {
+// @@protoc_insertion_point(message_clear_start:ModeliRpc.LogResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  // Prevent compiler warnings about cached_has_bits being unused
+  (void) cached_has_bits;
+
+  instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  message_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+  status_ = 0;
+  _internal_metadata_.Clear();
+}
+
+bool LogResponse::MergePartialFromCodedStream(
+    ::google::protobuf::io::CodedInputStream* input) {
+#define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
+  ::google::protobuf::uint32 tag;
+  // @@protoc_insertion_point(parse_start:ModeliRpc.LogResponse)
+  for (;;) {
+    ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u);
+    tag = p.first;
+    if (!p.second) goto handle_unusual;
+    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
+      // string instance_name = 1;
+      case 1: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(10u /* 10 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_instance_name()));
+          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+            this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+            ::google::protobuf::internal::WireFormatLite::PARSE,
+            "ModeliRpc.LogResponse.instance_name"));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // int32 status = 2;
+      case 2: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(16u /* 16 & 0xFF */)) {
+
+          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
+                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
+                 input, &status_)));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      // string message = 3;
+      case 3: {
+        if (static_cast< ::google::protobuf::uint8>(tag) ==
+            static_cast< ::google::protobuf::uint8>(26u /* 26 & 0xFF */)) {
+          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
+                input, this->mutable_message()));
+          DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+            this->message().data(), static_cast<int>(this->message().length()),
+            ::google::protobuf::internal::WireFormatLite::PARSE,
+            "ModeliRpc.LogResponse.message"));
+        } else {
+          goto handle_unusual;
+        }
+        break;
+      }
+
+      default: {
+      handle_unusual:
+        if (tag == 0) {
+          goto success;
+        }
+        DO_(::google::protobuf::internal::WireFormat::SkipField(
+              input, tag, _internal_metadata_.mutable_unknown_fields()));
+        break;
+      }
+    }
+  }
+success:
+  // @@protoc_insertion_point(parse_success:ModeliRpc.LogResponse)
+  return true;
+failure:
+  // @@protoc_insertion_point(parse_failure:ModeliRpc.LogResponse)
+  return false;
+#undef DO_
+}
+
+void LogResponse::SerializeWithCachedSizes(
+    ::google::protobuf::io::CodedOutputStream* output) const {
+  // @@protoc_insertion_point(serialize_start:ModeliRpc.LogResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.LogResponse.instance_name");
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      1, this->instance_name(), output);
+  }
+
+  // int32 status = 2;
+  if (this->status() != 0) {
+    ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->status(), output);
+  }
+
+  // string message = 3;
+  if (this->message().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->message().data(), static_cast<int>(this->message().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.LogResponse.message");
+    ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
+      3, this->message(), output);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), output);
+  }
+  // @@protoc_insertion_point(serialize_end:ModeliRpc.LogResponse)
+}
+
+::google::protobuf::uint8* LogResponse::InternalSerializeWithCachedSizesToArray(
+    bool deterministic, ::google::protobuf::uint8* target) const {
+  (void)deterministic; // Unused
+  // @@protoc_insertion_point(serialize_to_array_start:ModeliRpc.LogResponse)
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->instance_name().data(), static_cast<int>(this->instance_name().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.LogResponse.instance_name");
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+        1, this->instance_name(), target);
+  }
+
+  // int32 status = 2;
+  if (this->status() != 0) {
+    target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->status(), target);
+  }
+
+  // string message = 3;
+  if (this->message().size() > 0) {
+    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
+      this->message().data(), static_cast<int>(this->message().length()),
+      ::google::protobuf::internal::WireFormatLite::SERIALIZE,
+      "ModeliRpc.LogResponse.message");
+    target =
+      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
+        3, this->message(), target);
+  }
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()), target);
+  }
+  // @@protoc_insertion_point(serialize_to_array_end:ModeliRpc.LogResponse)
+  return target;
+}
+
+size_t LogResponse::ByteSizeLong() const {
+// @@protoc_insertion_point(message_byte_size_start:ModeliRpc.LogResponse)
+  size_t total_size = 0;
+
+  if ((_internal_metadata_.have_unknown_fields() &&  ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) {
+    total_size +=
+      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
+        (::google::protobuf::internal::GetProto3PreserveUnknownsDefault()   ? _internal_metadata_.unknown_fields()   : _internal_metadata_.default_instance()));
+  }
+  // string instance_name = 1;
+  if (this->instance_name().size() > 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::StringSize(
+        this->instance_name());
+  }
+
+  // string message = 3;
+  if (this->message().size() > 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::StringSize(
+        this->message());
+  }
+
+  // int32 status = 2;
+  if (this->status() != 0) {
+    total_size += 1 +
+      ::google::protobuf::internal::WireFormatLite::Int32Size(
+        this->status());
+  }
+
+  int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
+  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
+  _cached_size_ = cached_size;
+  GOOGLE_SAFE_CONCURRENT_WRITES_END();
+  return total_size;
+}
+
+void LogResponse::MergeFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_merge_from_start:ModeliRpc.LogResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  const LogResponse* source =
+      ::google::protobuf::internal::DynamicCastToGenerated<const LogResponse>(
+          &from);
+  if (source == NULL) {
+  // @@protoc_insertion_point(generalized_merge_from_cast_fail:ModeliRpc.LogResponse)
+    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
+  } else {
+  // @@protoc_insertion_point(generalized_merge_from_cast_success:ModeliRpc.LogResponse)
+    MergeFrom(*source);
+  }
+}
+
+void LogResponse::MergeFrom(const LogResponse& from) {
+// @@protoc_insertion_point(class_specific_merge_from_start:ModeliRpc.LogResponse)
+  GOOGLE_DCHECK_NE(&from, this);
+  _internal_metadata_.MergeFrom(from._internal_metadata_);
+  ::google::protobuf::uint32 cached_has_bits = 0;
+  (void) cached_has_bits;
+
+  if (from.instance_name().size() > 0) {
+
+    instance_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.instance_name_);
+  }
+  if (from.message().size() > 0) {
+
+    message_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.message_);
+  }
+  if (from.status() != 0) {
+    set_status(from.status());
+  }
+}
+
+void LogResponse::CopyFrom(const ::google::protobuf::Message& from) {
+// @@protoc_insertion_point(generalized_copy_from_start:ModeliRpc.LogResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+void LogResponse::CopyFrom(const LogResponse& from) {
+// @@protoc_insertion_point(class_specific_copy_from_start:ModeliRpc.LogResponse)
+  if (&from == this) return;
+  Clear();
+  MergeFrom(from);
+}
+
+bool LogResponse::IsInitialized() const {
+  return true;
+}
+
+void LogResponse::Swap(LogResponse* other) {
+  if (other == this) return;
+  InternalSwap(other);
+}
+void LogResponse::InternalSwap(LogResponse* other) {
+  using std::swap;
+  instance_name_.Swap(&other->instance_name_);
+  message_.Swap(&other->message_);
+  swap(status_, other->status_);
+  _internal_metadata_.Swap(&other->_internal_metadata_);
+  swap(_cached_size_, other->_cached_size_);
+}
+
+::google::protobuf::Metadata LogResponse::GetMetadata() const {
+  protobuf_ModeliRpc_2eproto::protobuf_AssignDescriptorsOnce();
+  return ::protobuf_ModeliRpc_2eproto::file_level_metadata[kIndexInFileMessages];
+}
+
+
+// @@protoc_insertion_point(namespace_scope)
+}  // namespace ModeliRpc
+
+// @@protoc_insertion_point(global_scope)
diff --git a/CreatedGrpc_Linux/ModeliRpc.pb.h b/CreatedGrpc_Linux/ModeliRpc.pb.h
new file mode 100644
index 0000000000000000000000000000000000000000..d14ab6e3ce4e5c05217a98338af72346f547c57b
--- /dev/null
+++ b/CreatedGrpc_Linux/ModeliRpc.pb.h
@@ -0,0 +1,5714 @@
+// Generated by the protocol buffer compiler.  DO NOT EDIT!
+// source: ModeliRpc.proto
+
+#ifndef PROTOBUF_ModeliRpc_2eproto__INCLUDED
+#define PROTOBUF_ModeliRpc_2eproto__INCLUDED
+
+#include <string>
+
+#include <google/protobuf/stubs/common.h>
+
+#if GOOGLE_PROTOBUF_VERSION < 3005000
+#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 3005000 < GOOGLE_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/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.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>
+// @@protoc_insertion_point(includes)
+
+namespace protobuf_ModeliRpc_2eproto {
+// Internal implementation detail -- do not use these members.
+struct TableStruct {
+  static const ::google::protobuf::internal::ParseTableField entries[];
+  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
+  static const ::google::protobuf::internal::ParseTable schema[33];
+  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
+  static const ::google::protobuf::internal::SerializationTable serialization_table[];
+  static const ::google::protobuf::uint32 offsets[];
+};
+void AddDescriptors();
+void InitDefaultsChannelLinkImpl();
+void InitDefaultsChannelLink();
+void InitDefaultsPlayRequestImpl();
+void InitDefaultsPlayRequest();
+void InitDefaultsPlayResponseImpl();
+void InitDefaultsPlayResponse();
+void InitDefaultsPlayFastRequestImpl();
+void InitDefaultsPlayFastRequest();
+void InitDefaultsPlayFastResponseImpl();
+void InitDefaultsPlayFastResponse();
+void InitDefaultsPauseRequestImpl();
+void InitDefaultsPauseRequest();
+void InitDefaultsPauseResponseImpl();
+void InitDefaultsPauseResponse();
+void InitDefaultsStopRequestImpl();
+void InitDefaultsStopRequest();
+void InitDefaultsStopResponseImpl();
+void InitDefaultsStopResponse();
+void InitDefaultsAddFmuRequestImpl();
+void InitDefaultsAddFmuRequest();
+void InitDefaultsAddFmuResponseImpl();
+void InitDefaultsAddFmuResponse();
+void InitDefaultsRemoveFmuRequestImpl();
+void InitDefaultsRemoveFmuRequest();
+void InitDefaultsRemoveFmuResponseImpl();
+void InitDefaultsRemoveFmuResponse();
+void InitDefaultsAddChannelLinkRequestImpl();
+void InitDefaultsAddChannelLinkRequest();
+void InitDefaultsAddChannelLinkResponseImpl();
+void InitDefaultsAddChannelLinkResponse();
+void InitDefaultsRemoveChannelLinkRequestImpl();
+void InitDefaultsRemoveChannelLinkRequest();
+void InitDefaultsRemoveChannelLinkResponseImpl();
+void InitDefaultsRemoveChannelLinkResponse();
+void InitDefaultsIntValuesImpl();
+void InitDefaultsIntValues();
+void InitDefaultsSetIntRequestImpl();
+void InitDefaultsSetIntRequest();
+void InitDefaultsSetIntResponseImpl();
+void InitDefaultsSetIntResponse();
+void InitDefaultsRealValuesImpl();
+void InitDefaultsRealValues();
+void InitDefaultsSetRealRequestImpl();
+void InitDefaultsSetRealRequest();
+void InitDefaultsSetRealResponseImpl();
+void InitDefaultsSetRealResponse();
+void InitDefaultsBoolValuesImpl();
+void InitDefaultsBoolValues();
+void InitDefaultsSetBoolRequestImpl();
+void InitDefaultsSetBoolRequest();
+void InitDefaultsSetBoolResponseImpl();
+void InitDefaultsSetBoolResponse();
+void InitDefaultsStringValuesImpl();
+void InitDefaultsStringValues();
+void InitDefaultsSetStringRequestImpl();
+void InitDefaultsSetStringRequest();
+void InitDefaultsSetStringResponseImpl();
+void InitDefaultsSetStringResponse();
+void InitDefaultsNewValuesRequestImpl();
+void InitDefaultsNewValuesRequest();
+void InitDefaultsNewValuesResponseImpl();
+void InitDefaultsNewValuesResponse();
+void InitDefaultsLogRequestImpl();
+void InitDefaultsLogRequest();
+void InitDefaultsLogResponseImpl();
+void InitDefaultsLogResponse();
+inline void InitDefaults() {
+  InitDefaultsChannelLink();
+  InitDefaultsPlayRequest();
+  InitDefaultsPlayResponse();
+  InitDefaultsPlayFastRequest();
+  InitDefaultsPlayFastResponse();
+  InitDefaultsPauseRequest();
+  InitDefaultsPauseResponse();
+  InitDefaultsStopRequest();
+  InitDefaultsStopResponse();
+  InitDefaultsAddFmuRequest();
+  InitDefaultsAddFmuResponse();
+  InitDefaultsRemoveFmuRequest();
+  InitDefaultsRemoveFmuResponse();
+  InitDefaultsAddChannelLinkRequest();
+  InitDefaultsAddChannelLinkResponse();
+  InitDefaultsRemoveChannelLinkRequest();
+  InitDefaultsRemoveChannelLinkResponse();
+  InitDefaultsIntValues();
+  InitDefaultsSetIntRequest();
+  InitDefaultsSetIntResponse();
+  InitDefaultsRealValues();
+  InitDefaultsSetRealRequest();
+  InitDefaultsSetRealResponse();
+  InitDefaultsBoolValues();
+  InitDefaultsSetBoolRequest();
+  InitDefaultsSetBoolResponse();
+  InitDefaultsStringValues();
+  InitDefaultsSetStringRequest();
+  InitDefaultsSetStringResponse();
+  InitDefaultsNewValuesRequest();
+  InitDefaultsNewValuesResponse();
+  InitDefaultsLogRequest();
+  InitDefaultsLogResponse();
+}
+}  // namespace protobuf_ModeliRpc_2eproto
+namespace ModeliRpc {
+class AddChannelLinkRequest;
+class AddChannelLinkRequestDefaultTypeInternal;
+extern AddChannelLinkRequestDefaultTypeInternal _AddChannelLinkRequest_default_instance_;
+class AddChannelLinkResponse;
+class AddChannelLinkResponseDefaultTypeInternal;
+extern AddChannelLinkResponseDefaultTypeInternal _AddChannelLinkResponse_default_instance_;
+class AddFmuRequest;
+class AddFmuRequestDefaultTypeInternal;
+extern AddFmuRequestDefaultTypeInternal _AddFmuRequest_default_instance_;
+class AddFmuResponse;
+class AddFmuResponseDefaultTypeInternal;
+extern AddFmuResponseDefaultTypeInternal _AddFmuResponse_default_instance_;
+class BoolValues;
+class BoolValuesDefaultTypeInternal;
+extern BoolValuesDefaultTypeInternal _BoolValues_default_instance_;
+class ChannelLink;
+class ChannelLinkDefaultTypeInternal;
+extern ChannelLinkDefaultTypeInternal _ChannelLink_default_instance_;
+class IntValues;
+class IntValuesDefaultTypeInternal;
+extern IntValuesDefaultTypeInternal _IntValues_default_instance_;
+class LogRequest;
+class LogRequestDefaultTypeInternal;
+extern LogRequestDefaultTypeInternal _LogRequest_default_instance_;
+class LogResponse;
+class LogResponseDefaultTypeInternal;
+extern LogResponseDefaultTypeInternal _LogResponse_default_instance_;
+class NewValuesRequest;
+class NewValuesRequestDefaultTypeInternal;
+extern NewValuesRequestDefaultTypeInternal _NewValuesRequest_default_instance_;
+class NewValuesResponse;
+class NewValuesResponseDefaultTypeInternal;
+extern NewValuesResponseDefaultTypeInternal _NewValuesResponse_default_instance_;
+class PauseRequest;
+class PauseRequestDefaultTypeInternal;
+extern PauseRequestDefaultTypeInternal _PauseRequest_default_instance_;
+class PauseResponse;
+class PauseResponseDefaultTypeInternal;
+extern PauseResponseDefaultTypeInternal _PauseResponse_default_instance_;
+class PlayFastRequest;
+class PlayFastRequestDefaultTypeInternal;
+extern PlayFastRequestDefaultTypeInternal _PlayFastRequest_default_instance_;
+class PlayFastResponse;
+class PlayFastResponseDefaultTypeInternal;
+extern PlayFastResponseDefaultTypeInternal _PlayFastResponse_default_instance_;
+class PlayRequest;
+class PlayRequestDefaultTypeInternal;
+extern PlayRequestDefaultTypeInternal _PlayRequest_default_instance_;
+class PlayResponse;
+class PlayResponseDefaultTypeInternal;
+extern PlayResponseDefaultTypeInternal _PlayResponse_default_instance_;
+class RealValues;
+class RealValuesDefaultTypeInternal;
+extern RealValuesDefaultTypeInternal _RealValues_default_instance_;
+class RemoveChannelLinkRequest;
+class RemoveChannelLinkRequestDefaultTypeInternal;
+extern RemoveChannelLinkRequestDefaultTypeInternal _RemoveChannelLinkRequest_default_instance_;
+class RemoveChannelLinkResponse;
+class RemoveChannelLinkResponseDefaultTypeInternal;
+extern RemoveChannelLinkResponseDefaultTypeInternal _RemoveChannelLinkResponse_default_instance_;
+class RemoveFmuRequest;
+class RemoveFmuRequestDefaultTypeInternal;
+extern RemoveFmuRequestDefaultTypeInternal _RemoveFmuRequest_default_instance_;
+class RemoveFmuResponse;
+class RemoveFmuResponseDefaultTypeInternal;
+extern RemoveFmuResponseDefaultTypeInternal _RemoveFmuResponse_default_instance_;
+class SetBoolRequest;
+class SetBoolRequestDefaultTypeInternal;
+extern SetBoolRequestDefaultTypeInternal _SetBoolRequest_default_instance_;
+class SetBoolResponse;
+class SetBoolResponseDefaultTypeInternal;
+extern SetBoolResponseDefaultTypeInternal _SetBoolResponse_default_instance_;
+class SetIntRequest;
+class SetIntRequestDefaultTypeInternal;
+extern SetIntRequestDefaultTypeInternal _SetIntRequest_default_instance_;
+class SetIntResponse;
+class SetIntResponseDefaultTypeInternal;
+extern SetIntResponseDefaultTypeInternal _SetIntResponse_default_instance_;
+class SetRealRequest;
+class SetRealRequestDefaultTypeInternal;
+extern SetRealRequestDefaultTypeInternal _SetRealRequest_default_instance_;
+class SetRealResponse;
+class SetRealResponseDefaultTypeInternal;
+extern SetRealResponseDefaultTypeInternal _SetRealResponse_default_instance_;
+class SetStringRequest;
+class SetStringRequestDefaultTypeInternal;
+extern SetStringRequestDefaultTypeInternal _SetStringRequest_default_instance_;
+class SetStringResponse;
+class SetStringResponseDefaultTypeInternal;
+extern SetStringResponseDefaultTypeInternal _SetStringResponse_default_instance_;
+class StopRequest;
+class StopRequestDefaultTypeInternal;
+extern StopRequestDefaultTypeInternal _StopRequest_default_instance_;
+class StopResponse;
+class StopResponseDefaultTypeInternal;
+extern StopResponseDefaultTypeInternal _StopResponse_default_instance_;
+class StringValues;
+class StringValuesDefaultTypeInternal;
+extern StringValuesDefaultTypeInternal _StringValues_default_instance_;
+}  // namespace ModeliRpc
+namespace ModeliRpc {
+
+// ===================================================================
+
+class ChannelLink : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.ChannelLink) */ {
+ public:
+  ChannelLink();
+  virtual ~ChannelLink();
+
+  ChannelLink(const ChannelLink& from);
+
+  inline ChannelLink& operator=(const ChannelLink& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  ChannelLink(ChannelLink&& from) noexcept
+    : ChannelLink() {
+    *this = ::std::move(from);
+  }
+
+  inline ChannelLink& operator=(ChannelLink&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const ChannelLink& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const ChannelLink* internal_default_instance() {
+    return reinterpret_cast<const ChannelLink*>(
+               &_ChannelLink_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    0;
+
+  void Swap(ChannelLink* other);
+  friend void swap(ChannelLink& a, ChannelLink& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline ChannelLink* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  ChannelLink* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const ChannelLink& from);
+  void MergeFrom(const ChannelLink& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(ChannelLink* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // string master_instance_name = 1;
+  void clear_master_instance_name();
+  static const int kMasterInstanceNameFieldNumber = 1;
+  const ::std::string& master_instance_name() const;
+  void set_master_instance_name(const ::std::string& value);
+  #if LANG_CXX11
+  void set_master_instance_name(::std::string&& value);
+  #endif
+  void set_master_instance_name(const char* value);
+  void set_master_instance_name(const char* value, size_t size);
+  ::std::string* mutable_master_instance_name();
+  ::std::string* release_master_instance_name();
+  void set_allocated_master_instance_name(::std::string* master_instance_name);
+
+  // string slave_instance_name = 2;
+  void clear_slave_instance_name();
+  static const int kSlaveInstanceNameFieldNumber = 2;
+  const ::std::string& slave_instance_name() const;
+  void set_slave_instance_name(const ::std::string& value);
+  #if LANG_CXX11
+  void set_slave_instance_name(::std::string&& value);
+  #endif
+  void set_slave_instance_name(const char* value);
+  void set_slave_instance_name(const char* value, size_t size);
+  ::std::string* mutable_slave_instance_name();
+  ::std::string* release_slave_instance_name();
+  void set_allocated_slave_instance_name(::std::string* slave_instance_name);
+
+  // uint32 master_vr = 3;
+  void clear_master_vr();
+  static const int kMasterVrFieldNumber = 3;
+  ::google::protobuf::uint32 master_vr() const;
+  void set_master_vr(::google::protobuf::uint32 value);
+
+  // uint32 slave_vr = 4;
+  void clear_slave_vr();
+  static const int kSlaveVrFieldNumber = 4;
+  ::google::protobuf::uint32 slave_vr() const;
+  void set_slave_vr(::google::protobuf::uint32 value);
+
+  // double factor = 5;
+  void clear_factor();
+  static const int kFactorFieldNumber = 5;
+  double factor() const;
+  void set_factor(double value);
+
+  // double offset = 6;
+  void clear_offset();
+  static const int kOffsetFieldNumber = 6;
+  double offset() const;
+  void set_offset(double value);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.ChannelLink)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::internal::ArenaStringPtr master_instance_name_;
+  ::google::protobuf::internal::ArenaStringPtr slave_instance_name_;
+  ::google::protobuf::uint32 master_vr_;
+  ::google::protobuf::uint32 slave_vr_;
+  double factor_;
+  double offset_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsChannelLinkImpl();
+};
+// -------------------------------------------------------------------
+
+class PlayRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.PlayRequest) */ {
+ public:
+  PlayRequest();
+  virtual ~PlayRequest();
+
+  PlayRequest(const PlayRequest& from);
+
+  inline PlayRequest& operator=(const PlayRequest& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  PlayRequest(PlayRequest&& from) noexcept
+    : PlayRequest() {
+    *this = ::std::move(from);
+  }
+
+  inline PlayRequest& operator=(PlayRequest&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const PlayRequest& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const PlayRequest* internal_default_instance() {
+    return reinterpret_cast<const PlayRequest*>(
+               &_PlayRequest_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    1;
+
+  void Swap(PlayRequest* other);
+  friend void swap(PlayRequest& a, PlayRequest& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline PlayRequest* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  PlayRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const PlayRequest& from);
+  void MergeFrom(const PlayRequest& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(PlayRequest* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.PlayRequest)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsPlayRequestImpl();
+};
+// -------------------------------------------------------------------
+
+class PlayResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.PlayResponse) */ {
+ public:
+  PlayResponse();
+  virtual ~PlayResponse();
+
+  PlayResponse(const PlayResponse& from);
+
+  inline PlayResponse& operator=(const PlayResponse& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  PlayResponse(PlayResponse&& from) noexcept
+    : PlayResponse() {
+    *this = ::std::move(from);
+  }
+
+  inline PlayResponse& operator=(PlayResponse&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const PlayResponse& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const PlayResponse* internal_default_instance() {
+    return reinterpret_cast<const PlayResponse*>(
+               &_PlayResponse_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    2;
+
+  void Swap(PlayResponse* other);
+  friend void swap(PlayResponse& a, PlayResponse& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline PlayResponse* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  PlayResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const PlayResponse& from);
+  void MergeFrom(const PlayResponse& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(PlayResponse* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // int32 status = 1;
+  void clear_status();
+  static const int kStatusFieldNumber = 1;
+  ::google::protobuf::int32 status() const;
+  void set_status(::google::protobuf::int32 value);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.PlayResponse)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::int32 status_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsPlayResponseImpl();
+};
+// -------------------------------------------------------------------
+
+class PlayFastRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.PlayFastRequest) */ {
+ public:
+  PlayFastRequest();
+  virtual ~PlayFastRequest();
+
+  PlayFastRequest(const PlayFastRequest& from);
+
+  inline PlayFastRequest& operator=(const PlayFastRequest& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  PlayFastRequest(PlayFastRequest&& from) noexcept
+    : PlayFastRequest() {
+    *this = ::std::move(from);
+  }
+
+  inline PlayFastRequest& operator=(PlayFastRequest&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const PlayFastRequest& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const PlayFastRequest* internal_default_instance() {
+    return reinterpret_cast<const PlayFastRequest*>(
+               &_PlayFastRequest_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    3;
+
+  void Swap(PlayFastRequest* other);
+  friend void swap(PlayFastRequest& a, PlayFastRequest& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline PlayFastRequest* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  PlayFastRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const PlayFastRequest& from);
+  void MergeFrom(const PlayFastRequest& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(PlayFastRequest* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // double time = 1;
+  void clear_time();
+  static const int kTimeFieldNumber = 1;
+  double time() const;
+  void set_time(double value);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.PlayFastRequest)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  double time_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsPlayFastRequestImpl();
+};
+// -------------------------------------------------------------------
+
+class PlayFastResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.PlayFastResponse) */ {
+ public:
+  PlayFastResponse();
+  virtual ~PlayFastResponse();
+
+  PlayFastResponse(const PlayFastResponse& from);
+
+  inline PlayFastResponse& operator=(const PlayFastResponse& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  PlayFastResponse(PlayFastResponse&& from) noexcept
+    : PlayFastResponse() {
+    *this = ::std::move(from);
+  }
+
+  inline PlayFastResponse& operator=(PlayFastResponse&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const PlayFastResponse& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const PlayFastResponse* internal_default_instance() {
+    return reinterpret_cast<const PlayFastResponse*>(
+               &_PlayFastResponse_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    4;
+
+  void Swap(PlayFastResponse* other);
+  friend void swap(PlayFastResponse& a, PlayFastResponse& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline PlayFastResponse* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  PlayFastResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const PlayFastResponse& from);
+  void MergeFrom(const PlayFastResponse& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(PlayFastResponse* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // int32 status = 1;
+  void clear_status();
+  static const int kStatusFieldNumber = 1;
+  ::google::protobuf::int32 status() const;
+  void set_status(::google::protobuf::int32 value);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.PlayFastResponse)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::int32 status_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsPlayFastResponseImpl();
+};
+// -------------------------------------------------------------------
+
+class PauseRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.PauseRequest) */ {
+ public:
+  PauseRequest();
+  virtual ~PauseRequest();
+
+  PauseRequest(const PauseRequest& from);
+
+  inline PauseRequest& operator=(const PauseRequest& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  PauseRequest(PauseRequest&& from) noexcept
+    : PauseRequest() {
+    *this = ::std::move(from);
+  }
+
+  inline PauseRequest& operator=(PauseRequest&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const PauseRequest& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const PauseRequest* internal_default_instance() {
+    return reinterpret_cast<const PauseRequest*>(
+               &_PauseRequest_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    5;
+
+  void Swap(PauseRequest* other);
+  friend void swap(PauseRequest& a, PauseRequest& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline PauseRequest* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  PauseRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const PauseRequest& from);
+  void MergeFrom(const PauseRequest& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(PauseRequest* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.PauseRequest)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsPauseRequestImpl();
+};
+// -------------------------------------------------------------------
+
+class PauseResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.PauseResponse) */ {
+ public:
+  PauseResponse();
+  virtual ~PauseResponse();
+
+  PauseResponse(const PauseResponse& from);
+
+  inline PauseResponse& operator=(const PauseResponse& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  PauseResponse(PauseResponse&& from) noexcept
+    : PauseResponse() {
+    *this = ::std::move(from);
+  }
+
+  inline PauseResponse& operator=(PauseResponse&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const PauseResponse& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const PauseResponse* internal_default_instance() {
+    return reinterpret_cast<const PauseResponse*>(
+               &_PauseResponse_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    6;
+
+  void Swap(PauseResponse* other);
+  friend void swap(PauseResponse& a, PauseResponse& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline PauseResponse* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  PauseResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const PauseResponse& from);
+  void MergeFrom(const PauseResponse& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(PauseResponse* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.PauseResponse)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsPauseResponseImpl();
+};
+// -------------------------------------------------------------------
+
+class StopRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.StopRequest) */ {
+ public:
+  StopRequest();
+  virtual ~StopRequest();
+
+  StopRequest(const StopRequest& from);
+
+  inline StopRequest& operator=(const StopRequest& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  StopRequest(StopRequest&& from) noexcept
+    : StopRequest() {
+    *this = ::std::move(from);
+  }
+
+  inline StopRequest& operator=(StopRequest&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const StopRequest& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const StopRequest* internal_default_instance() {
+    return reinterpret_cast<const StopRequest*>(
+               &_StopRequest_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    7;
+
+  void Swap(StopRequest* other);
+  friend void swap(StopRequest& a, StopRequest& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline StopRequest* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  StopRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const StopRequest& from);
+  void MergeFrom(const StopRequest& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(StopRequest* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.StopRequest)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsStopRequestImpl();
+};
+// -------------------------------------------------------------------
+
+class StopResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.StopResponse) */ {
+ public:
+  StopResponse();
+  virtual ~StopResponse();
+
+  StopResponse(const StopResponse& from);
+
+  inline StopResponse& operator=(const StopResponse& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  StopResponse(StopResponse&& from) noexcept
+    : StopResponse() {
+    *this = ::std::move(from);
+  }
+
+  inline StopResponse& operator=(StopResponse&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const StopResponse& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const StopResponse* internal_default_instance() {
+    return reinterpret_cast<const StopResponse*>(
+               &_StopResponse_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    8;
+
+  void Swap(StopResponse* other);
+  friend void swap(StopResponse& a, StopResponse& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline StopResponse* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  StopResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const StopResponse& from);
+  void MergeFrom(const StopResponse& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(StopResponse* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // int32 status = 1;
+  void clear_status();
+  static const int kStatusFieldNumber = 1;
+  ::google::protobuf::int32 status() const;
+  void set_status(::google::protobuf::int32 value);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.StopResponse)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::int32 status_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsStopResponseImpl();
+};
+// -------------------------------------------------------------------
+
+class AddFmuRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.AddFmuRequest) */ {
+ public:
+  AddFmuRequest();
+  virtual ~AddFmuRequest();
+
+  AddFmuRequest(const AddFmuRequest& from);
+
+  inline AddFmuRequest& operator=(const AddFmuRequest& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  AddFmuRequest(AddFmuRequest&& from) noexcept
+    : AddFmuRequest() {
+    *this = ::std::move(from);
+  }
+
+  inline AddFmuRequest& operator=(AddFmuRequest&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const AddFmuRequest& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const AddFmuRequest* internal_default_instance() {
+    return reinterpret_cast<const AddFmuRequest*>(
+               &_AddFmuRequest_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    9;
+
+  void Swap(AddFmuRequest* other);
+  friend void swap(AddFmuRequest& a, AddFmuRequest& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline AddFmuRequest* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  AddFmuRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const AddFmuRequest& from);
+  void MergeFrom(const AddFmuRequest& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(AddFmuRequest* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // string instance_name = 1;
+  void clear_instance_name();
+  static const int kInstanceNameFieldNumber = 1;
+  const ::std::string& instance_name() const;
+  void set_instance_name(const ::std::string& value);
+  #if LANG_CXX11
+  void set_instance_name(::std::string&& value);
+  #endif
+  void set_instance_name(const char* value);
+  void set_instance_name(const char* value, size_t size);
+  ::std::string* mutable_instance_name();
+  ::std::string* release_instance_name();
+  void set_allocated_instance_name(::std::string* instance_name);
+
+  // bytes chunk = 2;
+  void clear_chunk();
+  static const int kChunkFieldNumber = 2;
+  const ::std::string& chunk() const;
+  void set_chunk(const ::std::string& value);
+  #if LANG_CXX11
+  void set_chunk(::std::string&& value);
+  #endif
+  void set_chunk(const char* value);
+  void set_chunk(const void* value, size_t size);
+  ::std::string* mutable_chunk();
+  ::std::string* release_chunk();
+  void set_allocated_chunk(::std::string* chunk);
+
+  // int64 total_size = 3;
+  void clear_total_size();
+  static const int kTotalSizeFieldNumber = 3;
+  ::google::protobuf::int64 total_size() const;
+  void set_total_size(::google::protobuf::int64 value);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.AddFmuRequest)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::internal::ArenaStringPtr instance_name_;
+  ::google::protobuf::internal::ArenaStringPtr chunk_;
+  ::google::protobuf::int64 total_size_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsAddFmuRequestImpl();
+};
+// -------------------------------------------------------------------
+
+class AddFmuResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.AddFmuResponse) */ {
+ public:
+  AddFmuResponse();
+  virtual ~AddFmuResponse();
+
+  AddFmuResponse(const AddFmuResponse& from);
+
+  inline AddFmuResponse& operator=(const AddFmuResponse& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  AddFmuResponse(AddFmuResponse&& from) noexcept
+    : AddFmuResponse() {
+    *this = ::std::move(from);
+  }
+
+  inline AddFmuResponse& operator=(AddFmuResponse&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const AddFmuResponse& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const AddFmuResponse* internal_default_instance() {
+    return reinterpret_cast<const AddFmuResponse*>(
+               &_AddFmuResponse_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    10;
+
+  void Swap(AddFmuResponse* other);
+  friend void swap(AddFmuResponse& a, AddFmuResponse& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline AddFmuResponse* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  AddFmuResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const AddFmuResponse& from);
+  void MergeFrom(const AddFmuResponse& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(AddFmuResponse* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // bool success = 1;
+  void clear_success();
+  static const int kSuccessFieldNumber = 1;
+  bool success() const;
+  void set_success(bool value);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.AddFmuResponse)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  bool success_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsAddFmuResponseImpl();
+};
+// -------------------------------------------------------------------
+
+class RemoveFmuRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.RemoveFmuRequest) */ {
+ public:
+  RemoveFmuRequest();
+  virtual ~RemoveFmuRequest();
+
+  RemoveFmuRequest(const RemoveFmuRequest& from);
+
+  inline RemoveFmuRequest& operator=(const RemoveFmuRequest& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  RemoveFmuRequest(RemoveFmuRequest&& from) noexcept
+    : RemoveFmuRequest() {
+    *this = ::std::move(from);
+  }
+
+  inline RemoveFmuRequest& operator=(RemoveFmuRequest&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const RemoveFmuRequest& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const RemoveFmuRequest* internal_default_instance() {
+    return reinterpret_cast<const RemoveFmuRequest*>(
+               &_RemoveFmuRequest_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    11;
+
+  void Swap(RemoveFmuRequest* other);
+  friend void swap(RemoveFmuRequest& a, RemoveFmuRequest& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline RemoveFmuRequest* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  RemoveFmuRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const RemoveFmuRequest& from);
+  void MergeFrom(const RemoveFmuRequest& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(RemoveFmuRequest* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // string instance_name = 1;
+  void clear_instance_name();
+  static const int kInstanceNameFieldNumber = 1;
+  const ::std::string& instance_name() const;
+  void set_instance_name(const ::std::string& value);
+  #if LANG_CXX11
+  void set_instance_name(::std::string&& value);
+  #endif
+  void set_instance_name(const char* value);
+  void set_instance_name(const char* value, size_t size);
+  ::std::string* mutable_instance_name();
+  ::std::string* release_instance_name();
+  void set_allocated_instance_name(::std::string* instance_name);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.RemoveFmuRequest)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::internal::ArenaStringPtr instance_name_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsRemoveFmuRequestImpl();
+};
+// -------------------------------------------------------------------
+
+class RemoveFmuResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.RemoveFmuResponse) */ {
+ public:
+  RemoveFmuResponse();
+  virtual ~RemoveFmuResponse();
+
+  RemoveFmuResponse(const RemoveFmuResponse& from);
+
+  inline RemoveFmuResponse& operator=(const RemoveFmuResponse& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  RemoveFmuResponse(RemoveFmuResponse&& from) noexcept
+    : RemoveFmuResponse() {
+    *this = ::std::move(from);
+  }
+
+  inline RemoveFmuResponse& operator=(RemoveFmuResponse&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const RemoveFmuResponse& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const RemoveFmuResponse* internal_default_instance() {
+    return reinterpret_cast<const RemoveFmuResponse*>(
+               &_RemoveFmuResponse_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    12;
+
+  void Swap(RemoveFmuResponse* other);
+  friend void swap(RemoveFmuResponse& a, RemoveFmuResponse& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline RemoveFmuResponse* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  RemoveFmuResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const RemoveFmuResponse& from);
+  void MergeFrom(const RemoveFmuResponse& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(RemoveFmuResponse* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // bool success = 1;
+  void clear_success();
+  static const int kSuccessFieldNumber = 1;
+  bool success() const;
+  void set_success(bool value);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.RemoveFmuResponse)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  bool success_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsRemoveFmuResponseImpl();
+};
+// -------------------------------------------------------------------
+
+class AddChannelLinkRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.AddChannelLinkRequest) */ {
+ public:
+  AddChannelLinkRequest();
+  virtual ~AddChannelLinkRequest();
+
+  AddChannelLinkRequest(const AddChannelLinkRequest& from);
+
+  inline AddChannelLinkRequest& operator=(const AddChannelLinkRequest& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  AddChannelLinkRequest(AddChannelLinkRequest&& from) noexcept
+    : AddChannelLinkRequest() {
+    *this = ::std::move(from);
+  }
+
+  inline AddChannelLinkRequest& operator=(AddChannelLinkRequest&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const AddChannelLinkRequest& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const AddChannelLinkRequest* internal_default_instance() {
+    return reinterpret_cast<const AddChannelLinkRequest*>(
+               &_AddChannelLinkRequest_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    13;
+
+  void Swap(AddChannelLinkRequest* other);
+  friend void swap(AddChannelLinkRequest& a, AddChannelLinkRequest& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline AddChannelLinkRequest* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  AddChannelLinkRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const AddChannelLinkRequest& from);
+  void MergeFrom(const AddChannelLinkRequest& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(AddChannelLinkRequest* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // .ModeliRpc.ChannelLink channel_link = 1;
+  bool has_channel_link() const;
+  void clear_channel_link();
+  static const int kChannelLinkFieldNumber = 1;
+  const ::ModeliRpc::ChannelLink& channel_link() const;
+  ::ModeliRpc::ChannelLink* release_channel_link();
+  ::ModeliRpc::ChannelLink* mutable_channel_link();
+  void set_allocated_channel_link(::ModeliRpc::ChannelLink* channel_link);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.AddChannelLinkRequest)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::ModeliRpc::ChannelLink* channel_link_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsAddChannelLinkRequestImpl();
+};
+// -------------------------------------------------------------------
+
+class AddChannelLinkResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.AddChannelLinkResponse) */ {
+ public:
+  AddChannelLinkResponse();
+  virtual ~AddChannelLinkResponse();
+
+  AddChannelLinkResponse(const AddChannelLinkResponse& from);
+
+  inline AddChannelLinkResponse& operator=(const AddChannelLinkResponse& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  AddChannelLinkResponse(AddChannelLinkResponse&& from) noexcept
+    : AddChannelLinkResponse() {
+    *this = ::std::move(from);
+  }
+
+  inline AddChannelLinkResponse& operator=(AddChannelLinkResponse&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const AddChannelLinkResponse& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const AddChannelLinkResponse* internal_default_instance() {
+    return reinterpret_cast<const AddChannelLinkResponse*>(
+               &_AddChannelLinkResponse_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    14;
+
+  void Swap(AddChannelLinkResponse* other);
+  friend void swap(AddChannelLinkResponse& a, AddChannelLinkResponse& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline AddChannelLinkResponse* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  AddChannelLinkResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const AddChannelLinkResponse& from);
+  void MergeFrom(const AddChannelLinkResponse& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(AddChannelLinkResponse* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // bool success = 1;
+  void clear_success();
+  static const int kSuccessFieldNumber = 1;
+  bool success() const;
+  void set_success(bool value);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.AddChannelLinkResponse)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  bool success_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsAddChannelLinkResponseImpl();
+};
+// -------------------------------------------------------------------
+
+class RemoveChannelLinkRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.RemoveChannelLinkRequest) */ {
+ public:
+  RemoveChannelLinkRequest();
+  virtual ~RemoveChannelLinkRequest();
+
+  RemoveChannelLinkRequest(const RemoveChannelLinkRequest& from);
+
+  inline RemoveChannelLinkRequest& operator=(const RemoveChannelLinkRequest& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  RemoveChannelLinkRequest(RemoveChannelLinkRequest&& from) noexcept
+    : RemoveChannelLinkRequest() {
+    *this = ::std::move(from);
+  }
+
+  inline RemoveChannelLinkRequest& operator=(RemoveChannelLinkRequest&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const RemoveChannelLinkRequest& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const RemoveChannelLinkRequest* internal_default_instance() {
+    return reinterpret_cast<const RemoveChannelLinkRequest*>(
+               &_RemoveChannelLinkRequest_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    15;
+
+  void Swap(RemoveChannelLinkRequest* other);
+  friend void swap(RemoveChannelLinkRequest& a, RemoveChannelLinkRequest& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline RemoveChannelLinkRequest* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  RemoveChannelLinkRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const RemoveChannelLinkRequest& from);
+  void MergeFrom(const RemoveChannelLinkRequest& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(RemoveChannelLinkRequest* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // .ModeliRpc.ChannelLink channel_link = 1;
+  bool has_channel_link() const;
+  void clear_channel_link();
+  static const int kChannelLinkFieldNumber = 1;
+  const ::ModeliRpc::ChannelLink& channel_link() const;
+  ::ModeliRpc::ChannelLink* release_channel_link();
+  ::ModeliRpc::ChannelLink* mutable_channel_link();
+  void set_allocated_channel_link(::ModeliRpc::ChannelLink* channel_link);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.RemoveChannelLinkRequest)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::ModeliRpc::ChannelLink* channel_link_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsRemoveChannelLinkRequestImpl();
+};
+// -------------------------------------------------------------------
+
+class RemoveChannelLinkResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.RemoveChannelLinkResponse) */ {
+ public:
+  RemoveChannelLinkResponse();
+  virtual ~RemoveChannelLinkResponse();
+
+  RemoveChannelLinkResponse(const RemoveChannelLinkResponse& from);
+
+  inline RemoveChannelLinkResponse& operator=(const RemoveChannelLinkResponse& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  RemoveChannelLinkResponse(RemoveChannelLinkResponse&& from) noexcept
+    : RemoveChannelLinkResponse() {
+    *this = ::std::move(from);
+  }
+
+  inline RemoveChannelLinkResponse& operator=(RemoveChannelLinkResponse&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const RemoveChannelLinkResponse& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const RemoveChannelLinkResponse* internal_default_instance() {
+    return reinterpret_cast<const RemoveChannelLinkResponse*>(
+               &_RemoveChannelLinkResponse_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    16;
+
+  void Swap(RemoveChannelLinkResponse* other);
+  friend void swap(RemoveChannelLinkResponse& a, RemoveChannelLinkResponse& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline RemoveChannelLinkResponse* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  RemoveChannelLinkResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const RemoveChannelLinkResponse& from);
+  void MergeFrom(const RemoveChannelLinkResponse& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(RemoveChannelLinkResponse* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // bool success = 1;
+  void clear_success();
+  static const int kSuccessFieldNumber = 1;
+  bool success() const;
+  void set_success(bool value);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.RemoveChannelLinkResponse)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  bool success_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsRemoveChannelLinkResponseImpl();
+};
+// -------------------------------------------------------------------
+
+class IntValues : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.IntValues) */ {
+ public:
+  IntValues();
+  virtual ~IntValues();
+
+  IntValues(const IntValues& from);
+
+  inline IntValues& operator=(const IntValues& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  IntValues(IntValues&& from) noexcept
+    : IntValues() {
+    *this = ::std::move(from);
+  }
+
+  inline IntValues& operator=(IntValues&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const IntValues& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const IntValues* internal_default_instance() {
+    return reinterpret_cast<const IntValues*>(
+               &_IntValues_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    17;
+
+  void Swap(IntValues* other);
+  friend void swap(IntValues& a, IntValues& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline IntValues* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  IntValues* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const IntValues& from);
+  void MergeFrom(const IntValues& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(IntValues* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // repeated uint32 vrs = 1;
+  int vrs_size() const;
+  void clear_vrs();
+  static const int kVrsFieldNumber = 1;
+  ::google::protobuf::uint32 vrs(int index) const;
+  void set_vrs(int index, ::google::protobuf::uint32 value);
+  void add_vrs(::google::protobuf::uint32 value);
+  const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
+      vrs() const;
+  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
+      mutable_vrs();
+
+  // repeated int32 values = 2;
+  int values_size() const;
+  void clear_values();
+  static const int kValuesFieldNumber = 2;
+  ::google::protobuf::int32 values(int index) const;
+  void set_values(int index, ::google::protobuf::int32 value);
+  void add_values(::google::protobuf::int32 value);
+  const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
+      values() const;
+  ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
+      mutable_values();
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.IntValues)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > vrs_;
+  mutable int _vrs_cached_byte_size_;
+  ::google::protobuf::RepeatedField< ::google::protobuf::int32 > values_;
+  mutable int _values_cached_byte_size_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsIntValuesImpl();
+};
+// -------------------------------------------------------------------
+
+class SetIntRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.SetIntRequest) */ {
+ public:
+  SetIntRequest();
+  virtual ~SetIntRequest();
+
+  SetIntRequest(const SetIntRequest& from);
+
+  inline SetIntRequest& operator=(const SetIntRequest& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  SetIntRequest(SetIntRequest&& from) noexcept
+    : SetIntRequest() {
+    *this = ::std::move(from);
+  }
+
+  inline SetIntRequest& operator=(SetIntRequest&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const SetIntRequest& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const SetIntRequest* internal_default_instance() {
+    return reinterpret_cast<const SetIntRequest*>(
+               &_SetIntRequest_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    18;
+
+  void Swap(SetIntRequest* other);
+  friend void swap(SetIntRequest& a, SetIntRequest& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline SetIntRequest* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  SetIntRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const SetIntRequest& from);
+  void MergeFrom(const SetIntRequest& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(SetIntRequest* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // string instance_name = 1;
+  void clear_instance_name();
+  static const int kInstanceNameFieldNumber = 1;
+  const ::std::string& instance_name() const;
+  void set_instance_name(const ::std::string& value);
+  #if LANG_CXX11
+  void set_instance_name(::std::string&& value);
+  #endif
+  void set_instance_name(const char* value);
+  void set_instance_name(const char* value, size_t size);
+  ::std::string* mutable_instance_name();
+  ::std::string* release_instance_name();
+  void set_allocated_instance_name(::std::string* instance_name);
+
+  // .ModeliRpc.IntValues values = 2;
+  bool has_values() const;
+  void clear_values();
+  static const int kValuesFieldNumber = 2;
+  const ::ModeliRpc::IntValues& values() const;
+  ::ModeliRpc::IntValues* release_values();
+  ::ModeliRpc::IntValues* mutable_values();
+  void set_allocated_values(::ModeliRpc::IntValues* values);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.SetIntRequest)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::internal::ArenaStringPtr instance_name_;
+  ::ModeliRpc::IntValues* values_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsSetIntRequestImpl();
+};
+// -------------------------------------------------------------------
+
+class SetIntResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.SetIntResponse) */ {
+ public:
+  SetIntResponse();
+  virtual ~SetIntResponse();
+
+  SetIntResponse(const SetIntResponse& from);
+
+  inline SetIntResponse& operator=(const SetIntResponse& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  SetIntResponse(SetIntResponse&& from) noexcept
+    : SetIntResponse() {
+    *this = ::std::move(from);
+  }
+
+  inline SetIntResponse& operator=(SetIntResponse&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const SetIntResponse& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const SetIntResponse* internal_default_instance() {
+    return reinterpret_cast<const SetIntResponse*>(
+               &_SetIntResponse_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    19;
+
+  void Swap(SetIntResponse* other);
+  friend void swap(SetIntResponse& a, SetIntResponse& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline SetIntResponse* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  SetIntResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const SetIntResponse& from);
+  void MergeFrom(const SetIntResponse& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(SetIntResponse* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // int32 status = 1;
+  void clear_status();
+  static const int kStatusFieldNumber = 1;
+  ::google::protobuf::int32 status() const;
+  void set_status(::google::protobuf::int32 value);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.SetIntResponse)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::int32 status_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsSetIntResponseImpl();
+};
+// -------------------------------------------------------------------
+
+class RealValues : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.RealValues) */ {
+ public:
+  RealValues();
+  virtual ~RealValues();
+
+  RealValues(const RealValues& from);
+
+  inline RealValues& operator=(const RealValues& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  RealValues(RealValues&& from) noexcept
+    : RealValues() {
+    *this = ::std::move(from);
+  }
+
+  inline RealValues& operator=(RealValues&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const RealValues& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const RealValues* internal_default_instance() {
+    return reinterpret_cast<const RealValues*>(
+               &_RealValues_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    20;
+
+  void Swap(RealValues* other);
+  friend void swap(RealValues& a, RealValues& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline RealValues* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  RealValues* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const RealValues& from);
+  void MergeFrom(const RealValues& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(RealValues* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // repeated uint32 vrs = 1;
+  int vrs_size() const;
+  void clear_vrs();
+  static const int kVrsFieldNumber = 1;
+  ::google::protobuf::uint32 vrs(int index) const;
+  void set_vrs(int index, ::google::protobuf::uint32 value);
+  void add_vrs(::google::protobuf::uint32 value);
+  const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
+      vrs() const;
+  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
+      mutable_vrs();
+
+  // repeated double values = 2;
+  int values_size() const;
+  void clear_values();
+  static const int kValuesFieldNumber = 2;
+  double values(int index) const;
+  void set_values(int index, double value);
+  void add_values(double value);
+  const ::google::protobuf::RepeatedField< double >&
+      values() const;
+  ::google::protobuf::RepeatedField< double >*
+      mutable_values();
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.RealValues)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > vrs_;
+  mutable int _vrs_cached_byte_size_;
+  ::google::protobuf::RepeatedField< double > values_;
+  mutable int _values_cached_byte_size_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsRealValuesImpl();
+};
+// -------------------------------------------------------------------
+
+class SetRealRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.SetRealRequest) */ {
+ public:
+  SetRealRequest();
+  virtual ~SetRealRequest();
+
+  SetRealRequest(const SetRealRequest& from);
+
+  inline SetRealRequest& operator=(const SetRealRequest& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  SetRealRequest(SetRealRequest&& from) noexcept
+    : SetRealRequest() {
+    *this = ::std::move(from);
+  }
+
+  inline SetRealRequest& operator=(SetRealRequest&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const SetRealRequest& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const SetRealRequest* internal_default_instance() {
+    return reinterpret_cast<const SetRealRequest*>(
+               &_SetRealRequest_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    21;
+
+  void Swap(SetRealRequest* other);
+  friend void swap(SetRealRequest& a, SetRealRequest& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline SetRealRequest* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  SetRealRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const SetRealRequest& from);
+  void MergeFrom(const SetRealRequest& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(SetRealRequest* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // string instance_name = 1;
+  void clear_instance_name();
+  static const int kInstanceNameFieldNumber = 1;
+  const ::std::string& instance_name() const;
+  void set_instance_name(const ::std::string& value);
+  #if LANG_CXX11
+  void set_instance_name(::std::string&& value);
+  #endif
+  void set_instance_name(const char* value);
+  void set_instance_name(const char* value, size_t size);
+  ::std::string* mutable_instance_name();
+  ::std::string* release_instance_name();
+  void set_allocated_instance_name(::std::string* instance_name);
+
+  // .ModeliRpc.RealValues values = 2;
+  bool has_values() const;
+  void clear_values();
+  static const int kValuesFieldNumber = 2;
+  const ::ModeliRpc::RealValues& values() const;
+  ::ModeliRpc::RealValues* release_values();
+  ::ModeliRpc::RealValues* mutable_values();
+  void set_allocated_values(::ModeliRpc::RealValues* values);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.SetRealRequest)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::internal::ArenaStringPtr instance_name_;
+  ::ModeliRpc::RealValues* values_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsSetRealRequestImpl();
+};
+// -------------------------------------------------------------------
+
+class SetRealResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.SetRealResponse) */ {
+ public:
+  SetRealResponse();
+  virtual ~SetRealResponse();
+
+  SetRealResponse(const SetRealResponse& from);
+
+  inline SetRealResponse& operator=(const SetRealResponse& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  SetRealResponse(SetRealResponse&& from) noexcept
+    : SetRealResponse() {
+    *this = ::std::move(from);
+  }
+
+  inline SetRealResponse& operator=(SetRealResponse&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const SetRealResponse& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const SetRealResponse* internal_default_instance() {
+    return reinterpret_cast<const SetRealResponse*>(
+               &_SetRealResponse_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    22;
+
+  void Swap(SetRealResponse* other);
+  friend void swap(SetRealResponse& a, SetRealResponse& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline SetRealResponse* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  SetRealResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const SetRealResponse& from);
+  void MergeFrom(const SetRealResponse& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(SetRealResponse* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // int32 status = 1;
+  void clear_status();
+  static const int kStatusFieldNumber = 1;
+  ::google::protobuf::int32 status() const;
+  void set_status(::google::protobuf::int32 value);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.SetRealResponse)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::int32 status_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsSetRealResponseImpl();
+};
+// -------------------------------------------------------------------
+
+class BoolValues : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.BoolValues) */ {
+ public:
+  BoolValues();
+  virtual ~BoolValues();
+
+  BoolValues(const BoolValues& from);
+
+  inline BoolValues& operator=(const BoolValues& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  BoolValues(BoolValues&& from) noexcept
+    : BoolValues() {
+    *this = ::std::move(from);
+  }
+
+  inline BoolValues& operator=(BoolValues&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const BoolValues& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const BoolValues* internal_default_instance() {
+    return reinterpret_cast<const BoolValues*>(
+               &_BoolValues_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    23;
+
+  void Swap(BoolValues* other);
+  friend void swap(BoolValues& a, BoolValues& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline BoolValues* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  BoolValues* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const BoolValues& from);
+  void MergeFrom(const BoolValues& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(BoolValues* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // repeated uint32 vrs = 1;
+  int vrs_size() const;
+  void clear_vrs();
+  static const int kVrsFieldNumber = 1;
+  ::google::protobuf::uint32 vrs(int index) const;
+  void set_vrs(int index, ::google::protobuf::uint32 value);
+  void add_vrs(::google::protobuf::uint32 value);
+  const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
+      vrs() const;
+  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
+      mutable_vrs();
+
+  // repeated int32 values = 2;
+  int values_size() const;
+  void clear_values();
+  static const int kValuesFieldNumber = 2;
+  ::google::protobuf::int32 values(int index) const;
+  void set_values(int index, ::google::protobuf::int32 value);
+  void add_values(::google::protobuf::int32 value);
+  const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
+      values() const;
+  ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
+      mutable_values();
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.BoolValues)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > vrs_;
+  mutable int _vrs_cached_byte_size_;
+  ::google::protobuf::RepeatedField< ::google::protobuf::int32 > values_;
+  mutable int _values_cached_byte_size_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsBoolValuesImpl();
+};
+// -------------------------------------------------------------------
+
+class SetBoolRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.SetBoolRequest) */ {
+ public:
+  SetBoolRequest();
+  virtual ~SetBoolRequest();
+
+  SetBoolRequest(const SetBoolRequest& from);
+
+  inline SetBoolRequest& operator=(const SetBoolRequest& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  SetBoolRequest(SetBoolRequest&& from) noexcept
+    : SetBoolRequest() {
+    *this = ::std::move(from);
+  }
+
+  inline SetBoolRequest& operator=(SetBoolRequest&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const SetBoolRequest& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const SetBoolRequest* internal_default_instance() {
+    return reinterpret_cast<const SetBoolRequest*>(
+               &_SetBoolRequest_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    24;
+
+  void Swap(SetBoolRequest* other);
+  friend void swap(SetBoolRequest& a, SetBoolRequest& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline SetBoolRequest* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  SetBoolRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const SetBoolRequest& from);
+  void MergeFrom(const SetBoolRequest& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(SetBoolRequest* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // string instance_name = 1;
+  void clear_instance_name();
+  static const int kInstanceNameFieldNumber = 1;
+  const ::std::string& instance_name() const;
+  void set_instance_name(const ::std::string& value);
+  #if LANG_CXX11
+  void set_instance_name(::std::string&& value);
+  #endif
+  void set_instance_name(const char* value);
+  void set_instance_name(const char* value, size_t size);
+  ::std::string* mutable_instance_name();
+  ::std::string* release_instance_name();
+  void set_allocated_instance_name(::std::string* instance_name);
+
+  // .ModeliRpc.BoolValues values = 2;
+  bool has_values() const;
+  void clear_values();
+  static const int kValuesFieldNumber = 2;
+  const ::ModeliRpc::BoolValues& values() const;
+  ::ModeliRpc::BoolValues* release_values();
+  ::ModeliRpc::BoolValues* mutable_values();
+  void set_allocated_values(::ModeliRpc::BoolValues* values);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.SetBoolRequest)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::internal::ArenaStringPtr instance_name_;
+  ::ModeliRpc::BoolValues* values_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsSetBoolRequestImpl();
+};
+// -------------------------------------------------------------------
+
+class SetBoolResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.SetBoolResponse) */ {
+ public:
+  SetBoolResponse();
+  virtual ~SetBoolResponse();
+
+  SetBoolResponse(const SetBoolResponse& from);
+
+  inline SetBoolResponse& operator=(const SetBoolResponse& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  SetBoolResponse(SetBoolResponse&& from) noexcept
+    : SetBoolResponse() {
+    *this = ::std::move(from);
+  }
+
+  inline SetBoolResponse& operator=(SetBoolResponse&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const SetBoolResponse& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const SetBoolResponse* internal_default_instance() {
+    return reinterpret_cast<const SetBoolResponse*>(
+               &_SetBoolResponse_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    25;
+
+  void Swap(SetBoolResponse* other);
+  friend void swap(SetBoolResponse& a, SetBoolResponse& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline SetBoolResponse* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  SetBoolResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const SetBoolResponse& from);
+  void MergeFrom(const SetBoolResponse& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(SetBoolResponse* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // int32 status = 1;
+  void clear_status();
+  static const int kStatusFieldNumber = 1;
+  ::google::protobuf::int32 status() const;
+  void set_status(::google::protobuf::int32 value);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.SetBoolResponse)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::int32 status_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsSetBoolResponseImpl();
+};
+// -------------------------------------------------------------------
+
+class StringValues : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.StringValues) */ {
+ public:
+  StringValues();
+  virtual ~StringValues();
+
+  StringValues(const StringValues& from);
+
+  inline StringValues& operator=(const StringValues& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  StringValues(StringValues&& from) noexcept
+    : StringValues() {
+    *this = ::std::move(from);
+  }
+
+  inline StringValues& operator=(StringValues&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const StringValues& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const StringValues* internal_default_instance() {
+    return reinterpret_cast<const StringValues*>(
+               &_StringValues_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    26;
+
+  void Swap(StringValues* other);
+  friend void swap(StringValues& a, StringValues& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline StringValues* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  StringValues* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const StringValues& from);
+  void MergeFrom(const StringValues& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(StringValues* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // repeated uint32 vrs = 1;
+  int vrs_size() const;
+  void clear_vrs();
+  static const int kVrsFieldNumber = 1;
+  ::google::protobuf::uint32 vrs(int index) const;
+  void set_vrs(int index, ::google::protobuf::uint32 value);
+  void add_vrs(::google::protobuf::uint32 value);
+  const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
+      vrs() const;
+  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
+      mutable_vrs();
+
+  // repeated string values = 2;
+  int values_size() const;
+  void clear_values();
+  static const int kValuesFieldNumber = 2;
+  const ::std::string& values(int index) const;
+  ::std::string* mutable_values(int index);
+  void set_values(int index, const ::std::string& value);
+  #if LANG_CXX11
+  void set_values(int index, ::std::string&& value);
+  #endif
+  void set_values(int index, const char* value);
+  void set_values(int index, const char* value, size_t size);
+  ::std::string* add_values();
+  void add_values(const ::std::string& value);
+  #if LANG_CXX11
+  void add_values(::std::string&& value);
+  #endif
+  void add_values(const char* value);
+  void add_values(const char* value, size_t size);
+  const ::google::protobuf::RepeatedPtrField< ::std::string>& values() const;
+  ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_values();
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.StringValues)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > vrs_;
+  mutable int _vrs_cached_byte_size_;
+  ::google::protobuf::RepeatedPtrField< ::std::string> values_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsStringValuesImpl();
+};
+// -------------------------------------------------------------------
+
+class SetStringRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.SetStringRequest) */ {
+ public:
+  SetStringRequest();
+  virtual ~SetStringRequest();
+
+  SetStringRequest(const SetStringRequest& from);
+
+  inline SetStringRequest& operator=(const SetStringRequest& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  SetStringRequest(SetStringRequest&& from) noexcept
+    : SetStringRequest() {
+    *this = ::std::move(from);
+  }
+
+  inline SetStringRequest& operator=(SetStringRequest&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const SetStringRequest& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const SetStringRequest* internal_default_instance() {
+    return reinterpret_cast<const SetStringRequest*>(
+               &_SetStringRequest_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    27;
+
+  void Swap(SetStringRequest* other);
+  friend void swap(SetStringRequest& a, SetStringRequest& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline SetStringRequest* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  SetStringRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const SetStringRequest& from);
+  void MergeFrom(const SetStringRequest& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(SetStringRequest* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // string instance_name = 1;
+  void clear_instance_name();
+  static const int kInstanceNameFieldNumber = 1;
+  const ::std::string& instance_name() const;
+  void set_instance_name(const ::std::string& value);
+  #if LANG_CXX11
+  void set_instance_name(::std::string&& value);
+  #endif
+  void set_instance_name(const char* value);
+  void set_instance_name(const char* value, size_t size);
+  ::std::string* mutable_instance_name();
+  ::std::string* release_instance_name();
+  void set_allocated_instance_name(::std::string* instance_name);
+
+  // .ModeliRpc.StringValues values = 2;
+  bool has_values() const;
+  void clear_values();
+  static const int kValuesFieldNumber = 2;
+  const ::ModeliRpc::StringValues& values() const;
+  ::ModeliRpc::StringValues* release_values();
+  ::ModeliRpc::StringValues* mutable_values();
+  void set_allocated_values(::ModeliRpc::StringValues* values);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.SetStringRequest)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::internal::ArenaStringPtr instance_name_;
+  ::ModeliRpc::StringValues* values_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsSetStringRequestImpl();
+};
+// -------------------------------------------------------------------
+
+class SetStringResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.SetStringResponse) */ {
+ public:
+  SetStringResponse();
+  virtual ~SetStringResponse();
+
+  SetStringResponse(const SetStringResponse& from);
+
+  inline SetStringResponse& operator=(const SetStringResponse& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  SetStringResponse(SetStringResponse&& from) noexcept
+    : SetStringResponse() {
+    *this = ::std::move(from);
+  }
+
+  inline SetStringResponse& operator=(SetStringResponse&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const SetStringResponse& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const SetStringResponse* internal_default_instance() {
+    return reinterpret_cast<const SetStringResponse*>(
+               &_SetStringResponse_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    28;
+
+  void Swap(SetStringResponse* other);
+  friend void swap(SetStringResponse& a, SetStringResponse& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline SetStringResponse* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  SetStringResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const SetStringResponse& from);
+  void MergeFrom(const SetStringResponse& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(SetStringResponse* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // int32 status = 1;
+  void clear_status();
+  static const int kStatusFieldNumber = 1;
+  ::google::protobuf::int32 status() const;
+  void set_status(::google::protobuf::int32 value);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.SetStringResponse)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::int32 status_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsSetStringResponseImpl();
+};
+// -------------------------------------------------------------------
+
+class NewValuesRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.NewValuesRequest) */ {
+ public:
+  NewValuesRequest();
+  virtual ~NewValuesRequest();
+
+  NewValuesRequest(const NewValuesRequest& from);
+
+  inline NewValuesRequest& operator=(const NewValuesRequest& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  NewValuesRequest(NewValuesRequest&& from) noexcept
+    : NewValuesRequest() {
+    *this = ::std::move(from);
+  }
+
+  inline NewValuesRequest& operator=(NewValuesRequest&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const NewValuesRequest& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const NewValuesRequest* internal_default_instance() {
+    return reinterpret_cast<const NewValuesRequest*>(
+               &_NewValuesRequest_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    29;
+
+  void Swap(NewValuesRequest* other);
+  friend void swap(NewValuesRequest& a, NewValuesRequest& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline NewValuesRequest* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  NewValuesRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const NewValuesRequest& from);
+  void MergeFrom(const NewValuesRequest& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(NewValuesRequest* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.NewValuesRequest)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsNewValuesRequestImpl();
+};
+// -------------------------------------------------------------------
+
+class NewValuesResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.NewValuesResponse) */ {
+ public:
+  NewValuesResponse();
+  virtual ~NewValuesResponse();
+
+  NewValuesResponse(const NewValuesResponse& from);
+
+  inline NewValuesResponse& operator=(const NewValuesResponse& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  NewValuesResponse(NewValuesResponse&& from) noexcept
+    : NewValuesResponse() {
+    *this = ::std::move(from);
+  }
+
+  inline NewValuesResponse& operator=(NewValuesResponse&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const NewValuesResponse& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const NewValuesResponse* internal_default_instance() {
+    return reinterpret_cast<const NewValuesResponse*>(
+               &_NewValuesResponse_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    30;
+
+  void Swap(NewValuesResponse* other);
+  friend void swap(NewValuesResponse& a, NewValuesResponse& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline NewValuesResponse* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  NewValuesResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const NewValuesResponse& from);
+  void MergeFrom(const NewValuesResponse& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(NewValuesResponse* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // string instance_name = 6;
+  void clear_instance_name();
+  static const int kInstanceNameFieldNumber = 6;
+  const ::std::string& instance_name() const;
+  void set_instance_name(const ::std::string& value);
+  #if LANG_CXX11
+  void set_instance_name(::std::string&& value);
+  #endif
+  void set_instance_name(const char* value);
+  void set_instance_name(const char* value, size_t size);
+  ::std::string* mutable_instance_name();
+  ::std::string* release_instance_name();
+  void set_allocated_instance_name(::std::string* instance_name);
+
+  // .ModeliRpc.IntValues int_values = 2;
+  bool has_int_values() const;
+  void clear_int_values();
+  static const int kIntValuesFieldNumber = 2;
+  const ::ModeliRpc::IntValues& int_values() const;
+  ::ModeliRpc::IntValues* release_int_values();
+  ::ModeliRpc::IntValues* mutable_int_values();
+  void set_allocated_int_values(::ModeliRpc::IntValues* int_values);
+
+  // .ModeliRpc.RealValues real_values = 3;
+  bool has_real_values() const;
+  void clear_real_values();
+  static const int kRealValuesFieldNumber = 3;
+  const ::ModeliRpc::RealValues& real_values() const;
+  ::ModeliRpc::RealValues* release_real_values();
+  ::ModeliRpc::RealValues* mutable_real_values();
+  void set_allocated_real_values(::ModeliRpc::RealValues* real_values);
+
+  // .ModeliRpc.BoolValues bool_values = 4;
+  bool has_bool_values() const;
+  void clear_bool_values();
+  static const int kBoolValuesFieldNumber = 4;
+  const ::ModeliRpc::BoolValues& bool_values() const;
+  ::ModeliRpc::BoolValues* release_bool_values();
+  ::ModeliRpc::BoolValues* mutable_bool_values();
+  void set_allocated_bool_values(::ModeliRpc::BoolValues* bool_values);
+
+  // .ModeliRpc.StringValues string_values = 5;
+  bool has_string_values() const;
+  void clear_string_values();
+  static const int kStringValuesFieldNumber = 5;
+  const ::ModeliRpc::StringValues& string_values() const;
+  ::ModeliRpc::StringValues* release_string_values();
+  ::ModeliRpc::StringValues* mutable_string_values();
+  void set_allocated_string_values(::ModeliRpc::StringValues* string_values);
+
+  // double timestamp = 1;
+  void clear_timestamp();
+  static const int kTimestampFieldNumber = 1;
+  double timestamp() const;
+  void set_timestamp(double value);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.NewValuesResponse)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::internal::ArenaStringPtr instance_name_;
+  ::ModeliRpc::IntValues* int_values_;
+  ::ModeliRpc::RealValues* real_values_;
+  ::ModeliRpc::BoolValues* bool_values_;
+  ::ModeliRpc::StringValues* string_values_;
+  double timestamp_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsNewValuesResponseImpl();
+};
+// -------------------------------------------------------------------
+
+class LogRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.LogRequest) */ {
+ public:
+  LogRequest();
+  virtual ~LogRequest();
+
+  LogRequest(const LogRequest& from);
+
+  inline LogRequest& operator=(const LogRequest& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  LogRequest(LogRequest&& from) noexcept
+    : LogRequest() {
+    *this = ::std::move(from);
+  }
+
+  inline LogRequest& operator=(LogRequest&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const LogRequest& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const LogRequest* internal_default_instance() {
+    return reinterpret_cast<const LogRequest*>(
+               &_LogRequest_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    31;
+
+  void Swap(LogRequest* other);
+  friend void swap(LogRequest& a, LogRequest& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline LogRequest* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  LogRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const LogRequest& from);
+  void MergeFrom(const LogRequest& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(LogRequest* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.LogRequest)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsLogRequestImpl();
+};
+// -------------------------------------------------------------------
+
+class LogResponse : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:ModeliRpc.LogResponse) */ {
+ public:
+  LogResponse();
+  virtual ~LogResponse();
+
+  LogResponse(const LogResponse& from);
+
+  inline LogResponse& operator=(const LogResponse& from) {
+    CopyFrom(from);
+    return *this;
+  }
+  #if LANG_CXX11
+  LogResponse(LogResponse&& from) noexcept
+    : LogResponse() {
+    *this = ::std::move(from);
+  }
+
+  inline LogResponse& operator=(LogResponse&& from) noexcept {
+    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
+      if (this != &from) InternalSwap(&from);
+    } else {
+      CopyFrom(from);
+    }
+    return *this;
+  }
+  #endif
+  static const ::google::protobuf::Descriptor* descriptor();
+  static const LogResponse& default_instance();
+
+  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
+  static inline const LogResponse* internal_default_instance() {
+    return reinterpret_cast<const LogResponse*>(
+               &_LogResponse_default_instance_);
+  }
+  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
+    32;
+
+  void Swap(LogResponse* other);
+  friend void swap(LogResponse& a, LogResponse& b) {
+    a.Swap(&b);
+  }
+
+  // implements Message ----------------------------------------------
+
+  inline LogResponse* New() const PROTOBUF_FINAL { return New(NULL); }
+
+  LogResponse* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
+  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
+  void CopyFrom(const LogResponse& from);
+  void MergeFrom(const LogResponse& from);
+  void Clear() PROTOBUF_FINAL;
+  bool IsInitialized() const PROTOBUF_FINAL;
+
+  size_t ByteSizeLong() const PROTOBUF_FINAL;
+  bool MergePartialFromCodedStream(
+      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
+  void SerializeWithCachedSizes(
+      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
+  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
+      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
+  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
+  private:
+  void SharedCtor();
+  void SharedDtor();
+  void SetCachedSize(int size) const PROTOBUF_FINAL;
+  void InternalSwap(LogResponse* other);
+  private:
+  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
+    return NULL;
+  }
+  inline void* MaybeArenaPtr() const {
+    return NULL;
+  }
+  public:
+
+  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
+
+  // nested types ----------------------------------------------------
+
+  // accessors -------------------------------------------------------
+
+  // string instance_name = 1;
+  void clear_instance_name();
+  static const int kInstanceNameFieldNumber = 1;
+  const ::std::string& instance_name() const;
+  void set_instance_name(const ::std::string& value);
+  #if LANG_CXX11
+  void set_instance_name(::std::string&& value);
+  #endif
+  void set_instance_name(const char* value);
+  void set_instance_name(const char* value, size_t size);
+  ::std::string* mutable_instance_name();
+  ::std::string* release_instance_name();
+  void set_allocated_instance_name(::std::string* instance_name);
+
+  // string message = 3;
+  void clear_message();
+  static const int kMessageFieldNumber = 3;
+  const ::std::string& message() const;
+  void set_message(const ::std::string& value);
+  #if LANG_CXX11
+  void set_message(::std::string&& value);
+  #endif
+  void set_message(const char* value);
+  void set_message(const char* value, size_t size);
+  ::std::string* mutable_message();
+  ::std::string* release_message();
+  void set_allocated_message(::std::string* message);
+
+  // int32 status = 2;
+  void clear_status();
+  static const int kStatusFieldNumber = 2;
+  ::google::protobuf::int32 status() const;
+  void set_status(::google::protobuf::int32 value);
+
+  // @@protoc_insertion_point(class_scope:ModeliRpc.LogResponse)
+ private:
+
+  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
+  ::google::protobuf::internal::ArenaStringPtr instance_name_;
+  ::google::protobuf::internal::ArenaStringPtr message_;
+  ::google::protobuf::int32 status_;
+  mutable int _cached_size_;
+  friend struct ::protobuf_ModeliRpc_2eproto::TableStruct;
+  friend void ::protobuf_ModeliRpc_2eproto::InitDefaultsLogResponseImpl();
+};
+// ===================================================================
+
+
+// ===================================================================
+
+#ifdef __GNUC__
+  #pragma GCC diagnostic push
+  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
+#endif  // __GNUC__
+// ChannelLink
+
+// string master_instance_name = 1;
+inline void ChannelLink::clear_master_instance_name() {
+  master_instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline const ::std::string& ChannelLink::master_instance_name() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.ChannelLink.master_instance_name)
+  return master_instance_name_.GetNoArena();
+}
+inline void ChannelLink::set_master_instance_name(const ::std::string& value) {
+  
+  master_instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:ModeliRpc.ChannelLink.master_instance_name)
+}
+#if LANG_CXX11
+inline void ChannelLink::set_master_instance_name(::std::string&& value) {
+  
+  master_instance_name_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:ModeliRpc.ChannelLink.master_instance_name)
+}
+#endif
+inline void ChannelLink::set_master_instance_name(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  
+  master_instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:ModeliRpc.ChannelLink.master_instance_name)
+}
+inline void ChannelLink::set_master_instance_name(const char* value, size_t size) {
+  
+  master_instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:ModeliRpc.ChannelLink.master_instance_name)
+}
+inline ::std::string* ChannelLink::mutable_master_instance_name() {
+  
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.ChannelLink.master_instance_name)
+  return master_instance_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* ChannelLink::release_master_instance_name() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.ChannelLink.master_instance_name)
+  
+  return master_instance_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void ChannelLink::set_allocated_master_instance_name(::std::string* master_instance_name) {
+  if (master_instance_name != NULL) {
+    
+  } else {
+    
+  }
+  master_instance_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), master_instance_name);
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.ChannelLink.master_instance_name)
+}
+
+// string slave_instance_name = 2;
+inline void ChannelLink::clear_slave_instance_name() {
+  slave_instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline const ::std::string& ChannelLink::slave_instance_name() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.ChannelLink.slave_instance_name)
+  return slave_instance_name_.GetNoArena();
+}
+inline void ChannelLink::set_slave_instance_name(const ::std::string& value) {
+  
+  slave_instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:ModeliRpc.ChannelLink.slave_instance_name)
+}
+#if LANG_CXX11
+inline void ChannelLink::set_slave_instance_name(::std::string&& value) {
+  
+  slave_instance_name_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:ModeliRpc.ChannelLink.slave_instance_name)
+}
+#endif
+inline void ChannelLink::set_slave_instance_name(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  
+  slave_instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:ModeliRpc.ChannelLink.slave_instance_name)
+}
+inline void ChannelLink::set_slave_instance_name(const char* value, size_t size) {
+  
+  slave_instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:ModeliRpc.ChannelLink.slave_instance_name)
+}
+inline ::std::string* ChannelLink::mutable_slave_instance_name() {
+  
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.ChannelLink.slave_instance_name)
+  return slave_instance_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* ChannelLink::release_slave_instance_name() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.ChannelLink.slave_instance_name)
+  
+  return slave_instance_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void ChannelLink::set_allocated_slave_instance_name(::std::string* slave_instance_name) {
+  if (slave_instance_name != NULL) {
+    
+  } else {
+    
+  }
+  slave_instance_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), slave_instance_name);
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.ChannelLink.slave_instance_name)
+}
+
+// uint32 master_vr = 3;
+inline void ChannelLink::clear_master_vr() {
+  master_vr_ = 0u;
+}
+inline ::google::protobuf::uint32 ChannelLink::master_vr() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.ChannelLink.master_vr)
+  return master_vr_;
+}
+inline void ChannelLink::set_master_vr(::google::protobuf::uint32 value) {
+  
+  master_vr_ = value;
+  // @@protoc_insertion_point(field_set:ModeliRpc.ChannelLink.master_vr)
+}
+
+// uint32 slave_vr = 4;
+inline void ChannelLink::clear_slave_vr() {
+  slave_vr_ = 0u;
+}
+inline ::google::protobuf::uint32 ChannelLink::slave_vr() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.ChannelLink.slave_vr)
+  return slave_vr_;
+}
+inline void ChannelLink::set_slave_vr(::google::protobuf::uint32 value) {
+  
+  slave_vr_ = value;
+  // @@protoc_insertion_point(field_set:ModeliRpc.ChannelLink.slave_vr)
+}
+
+// double factor = 5;
+inline void ChannelLink::clear_factor() {
+  factor_ = 0;
+}
+inline double ChannelLink::factor() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.ChannelLink.factor)
+  return factor_;
+}
+inline void ChannelLink::set_factor(double value) {
+  
+  factor_ = value;
+  // @@protoc_insertion_point(field_set:ModeliRpc.ChannelLink.factor)
+}
+
+// double offset = 6;
+inline void ChannelLink::clear_offset() {
+  offset_ = 0;
+}
+inline double ChannelLink::offset() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.ChannelLink.offset)
+  return offset_;
+}
+inline void ChannelLink::set_offset(double value) {
+  
+  offset_ = value;
+  // @@protoc_insertion_point(field_set:ModeliRpc.ChannelLink.offset)
+}
+
+// -------------------------------------------------------------------
+
+// PlayRequest
+
+// -------------------------------------------------------------------
+
+// PlayResponse
+
+// int32 status = 1;
+inline void PlayResponse::clear_status() {
+  status_ = 0;
+}
+inline ::google::protobuf::int32 PlayResponse::status() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.PlayResponse.status)
+  return status_;
+}
+inline void PlayResponse::set_status(::google::protobuf::int32 value) {
+  
+  status_ = value;
+  // @@protoc_insertion_point(field_set:ModeliRpc.PlayResponse.status)
+}
+
+// -------------------------------------------------------------------
+
+// PlayFastRequest
+
+// double time = 1;
+inline void PlayFastRequest::clear_time() {
+  time_ = 0;
+}
+inline double PlayFastRequest::time() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.PlayFastRequest.time)
+  return time_;
+}
+inline void PlayFastRequest::set_time(double value) {
+  
+  time_ = value;
+  // @@protoc_insertion_point(field_set:ModeliRpc.PlayFastRequest.time)
+}
+
+// -------------------------------------------------------------------
+
+// PlayFastResponse
+
+// int32 status = 1;
+inline void PlayFastResponse::clear_status() {
+  status_ = 0;
+}
+inline ::google::protobuf::int32 PlayFastResponse::status() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.PlayFastResponse.status)
+  return status_;
+}
+inline void PlayFastResponse::set_status(::google::protobuf::int32 value) {
+  
+  status_ = value;
+  // @@protoc_insertion_point(field_set:ModeliRpc.PlayFastResponse.status)
+}
+
+// -------------------------------------------------------------------
+
+// PauseRequest
+
+// -------------------------------------------------------------------
+
+// PauseResponse
+
+// -------------------------------------------------------------------
+
+// StopRequest
+
+// -------------------------------------------------------------------
+
+// StopResponse
+
+// int32 status = 1;
+inline void StopResponse::clear_status() {
+  status_ = 0;
+}
+inline ::google::protobuf::int32 StopResponse::status() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.StopResponse.status)
+  return status_;
+}
+inline void StopResponse::set_status(::google::protobuf::int32 value) {
+  
+  status_ = value;
+  // @@protoc_insertion_point(field_set:ModeliRpc.StopResponse.status)
+}
+
+// -------------------------------------------------------------------
+
+// AddFmuRequest
+
+// string instance_name = 1;
+inline void AddFmuRequest::clear_instance_name() {
+  instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline const ::std::string& AddFmuRequest::instance_name() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.AddFmuRequest.instance_name)
+  return instance_name_.GetNoArena();
+}
+inline void AddFmuRequest::set_instance_name(const ::std::string& value) {
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:ModeliRpc.AddFmuRequest.instance_name)
+}
+#if LANG_CXX11
+inline void AddFmuRequest::set_instance_name(::std::string&& value) {
+  
+  instance_name_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:ModeliRpc.AddFmuRequest.instance_name)
+}
+#endif
+inline void AddFmuRequest::set_instance_name(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:ModeliRpc.AddFmuRequest.instance_name)
+}
+inline void AddFmuRequest::set_instance_name(const char* value, size_t size) {
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:ModeliRpc.AddFmuRequest.instance_name)
+}
+inline ::std::string* AddFmuRequest::mutable_instance_name() {
+  
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.AddFmuRequest.instance_name)
+  return instance_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* AddFmuRequest::release_instance_name() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.AddFmuRequest.instance_name)
+  
+  return instance_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void AddFmuRequest::set_allocated_instance_name(::std::string* instance_name) {
+  if (instance_name != NULL) {
+    
+  } else {
+    
+  }
+  instance_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), instance_name);
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.AddFmuRequest.instance_name)
+}
+
+// bytes chunk = 2;
+inline void AddFmuRequest::clear_chunk() {
+  chunk_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline const ::std::string& AddFmuRequest::chunk() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.AddFmuRequest.chunk)
+  return chunk_.GetNoArena();
+}
+inline void AddFmuRequest::set_chunk(const ::std::string& value) {
+  
+  chunk_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:ModeliRpc.AddFmuRequest.chunk)
+}
+#if LANG_CXX11
+inline void AddFmuRequest::set_chunk(::std::string&& value) {
+  
+  chunk_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:ModeliRpc.AddFmuRequest.chunk)
+}
+#endif
+inline void AddFmuRequest::set_chunk(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  
+  chunk_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:ModeliRpc.AddFmuRequest.chunk)
+}
+inline void AddFmuRequest::set_chunk(const void* value, size_t size) {
+  
+  chunk_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:ModeliRpc.AddFmuRequest.chunk)
+}
+inline ::std::string* AddFmuRequest::mutable_chunk() {
+  
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.AddFmuRequest.chunk)
+  return chunk_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* AddFmuRequest::release_chunk() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.AddFmuRequest.chunk)
+  
+  return chunk_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void AddFmuRequest::set_allocated_chunk(::std::string* chunk) {
+  if (chunk != NULL) {
+    
+  } else {
+    
+  }
+  chunk_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), chunk);
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.AddFmuRequest.chunk)
+}
+
+// int64 total_size = 3;
+inline void AddFmuRequest::clear_total_size() {
+  total_size_ = GOOGLE_LONGLONG(0);
+}
+inline ::google::protobuf::int64 AddFmuRequest::total_size() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.AddFmuRequest.total_size)
+  return total_size_;
+}
+inline void AddFmuRequest::set_total_size(::google::protobuf::int64 value) {
+  
+  total_size_ = value;
+  // @@protoc_insertion_point(field_set:ModeliRpc.AddFmuRequest.total_size)
+}
+
+// -------------------------------------------------------------------
+
+// AddFmuResponse
+
+// bool success = 1;
+inline void AddFmuResponse::clear_success() {
+  success_ = false;
+}
+inline bool AddFmuResponse::success() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.AddFmuResponse.success)
+  return success_;
+}
+inline void AddFmuResponse::set_success(bool value) {
+  
+  success_ = value;
+  // @@protoc_insertion_point(field_set:ModeliRpc.AddFmuResponse.success)
+}
+
+// -------------------------------------------------------------------
+
+// RemoveFmuRequest
+
+// string instance_name = 1;
+inline void RemoveFmuRequest::clear_instance_name() {
+  instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline const ::std::string& RemoveFmuRequest::instance_name() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.RemoveFmuRequest.instance_name)
+  return instance_name_.GetNoArena();
+}
+inline void RemoveFmuRequest::set_instance_name(const ::std::string& value) {
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:ModeliRpc.RemoveFmuRequest.instance_name)
+}
+#if LANG_CXX11
+inline void RemoveFmuRequest::set_instance_name(::std::string&& value) {
+  
+  instance_name_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:ModeliRpc.RemoveFmuRequest.instance_name)
+}
+#endif
+inline void RemoveFmuRequest::set_instance_name(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:ModeliRpc.RemoveFmuRequest.instance_name)
+}
+inline void RemoveFmuRequest::set_instance_name(const char* value, size_t size) {
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:ModeliRpc.RemoveFmuRequest.instance_name)
+}
+inline ::std::string* RemoveFmuRequest::mutable_instance_name() {
+  
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.RemoveFmuRequest.instance_name)
+  return instance_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* RemoveFmuRequest::release_instance_name() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.RemoveFmuRequest.instance_name)
+  
+  return instance_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void RemoveFmuRequest::set_allocated_instance_name(::std::string* instance_name) {
+  if (instance_name != NULL) {
+    
+  } else {
+    
+  }
+  instance_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), instance_name);
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.RemoveFmuRequest.instance_name)
+}
+
+// -------------------------------------------------------------------
+
+// RemoveFmuResponse
+
+// bool success = 1;
+inline void RemoveFmuResponse::clear_success() {
+  success_ = false;
+}
+inline bool RemoveFmuResponse::success() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.RemoveFmuResponse.success)
+  return success_;
+}
+inline void RemoveFmuResponse::set_success(bool value) {
+  
+  success_ = value;
+  // @@protoc_insertion_point(field_set:ModeliRpc.RemoveFmuResponse.success)
+}
+
+// -------------------------------------------------------------------
+
+// AddChannelLinkRequest
+
+// .ModeliRpc.ChannelLink channel_link = 1;
+inline bool AddChannelLinkRequest::has_channel_link() const {
+  return this != internal_default_instance() && channel_link_ != NULL;
+}
+inline void AddChannelLinkRequest::clear_channel_link() {
+  if (GetArenaNoVirtual() == NULL && channel_link_ != NULL) {
+    delete channel_link_;
+  }
+  channel_link_ = NULL;
+}
+inline const ::ModeliRpc::ChannelLink& AddChannelLinkRequest::channel_link() const {
+  const ::ModeliRpc::ChannelLink* p = channel_link_;
+  // @@protoc_insertion_point(field_get:ModeliRpc.AddChannelLinkRequest.channel_link)
+  return p != NULL ? *p : *reinterpret_cast<const ::ModeliRpc::ChannelLink*>(
+      &::ModeliRpc::_ChannelLink_default_instance_);
+}
+inline ::ModeliRpc::ChannelLink* AddChannelLinkRequest::release_channel_link() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.AddChannelLinkRequest.channel_link)
+  
+  ::ModeliRpc::ChannelLink* temp = channel_link_;
+  channel_link_ = NULL;
+  return temp;
+}
+inline ::ModeliRpc::ChannelLink* AddChannelLinkRequest::mutable_channel_link() {
+  
+  if (channel_link_ == NULL) {
+    channel_link_ = new ::ModeliRpc::ChannelLink;
+  }
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.AddChannelLinkRequest.channel_link)
+  return channel_link_;
+}
+inline void AddChannelLinkRequest::set_allocated_channel_link(::ModeliRpc::ChannelLink* channel_link) {
+  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
+  if (message_arena == NULL) {
+    delete channel_link_;
+  }
+  if (channel_link) {
+    ::google::protobuf::Arena* submessage_arena = NULL;
+    if (message_arena != submessage_arena) {
+      channel_link = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, channel_link, submessage_arena);
+    }
+    
+  } else {
+    
+  }
+  channel_link_ = channel_link;
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.AddChannelLinkRequest.channel_link)
+}
+
+// -------------------------------------------------------------------
+
+// AddChannelLinkResponse
+
+// bool success = 1;
+inline void AddChannelLinkResponse::clear_success() {
+  success_ = false;
+}
+inline bool AddChannelLinkResponse::success() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.AddChannelLinkResponse.success)
+  return success_;
+}
+inline void AddChannelLinkResponse::set_success(bool value) {
+  
+  success_ = value;
+  // @@protoc_insertion_point(field_set:ModeliRpc.AddChannelLinkResponse.success)
+}
+
+// -------------------------------------------------------------------
+
+// RemoveChannelLinkRequest
+
+// .ModeliRpc.ChannelLink channel_link = 1;
+inline bool RemoveChannelLinkRequest::has_channel_link() const {
+  return this != internal_default_instance() && channel_link_ != NULL;
+}
+inline void RemoveChannelLinkRequest::clear_channel_link() {
+  if (GetArenaNoVirtual() == NULL && channel_link_ != NULL) {
+    delete channel_link_;
+  }
+  channel_link_ = NULL;
+}
+inline const ::ModeliRpc::ChannelLink& RemoveChannelLinkRequest::channel_link() const {
+  const ::ModeliRpc::ChannelLink* p = channel_link_;
+  // @@protoc_insertion_point(field_get:ModeliRpc.RemoveChannelLinkRequest.channel_link)
+  return p != NULL ? *p : *reinterpret_cast<const ::ModeliRpc::ChannelLink*>(
+      &::ModeliRpc::_ChannelLink_default_instance_);
+}
+inline ::ModeliRpc::ChannelLink* RemoveChannelLinkRequest::release_channel_link() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.RemoveChannelLinkRequest.channel_link)
+  
+  ::ModeliRpc::ChannelLink* temp = channel_link_;
+  channel_link_ = NULL;
+  return temp;
+}
+inline ::ModeliRpc::ChannelLink* RemoveChannelLinkRequest::mutable_channel_link() {
+  
+  if (channel_link_ == NULL) {
+    channel_link_ = new ::ModeliRpc::ChannelLink;
+  }
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.RemoveChannelLinkRequest.channel_link)
+  return channel_link_;
+}
+inline void RemoveChannelLinkRequest::set_allocated_channel_link(::ModeliRpc::ChannelLink* channel_link) {
+  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
+  if (message_arena == NULL) {
+    delete channel_link_;
+  }
+  if (channel_link) {
+    ::google::protobuf::Arena* submessage_arena = NULL;
+    if (message_arena != submessage_arena) {
+      channel_link = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, channel_link, submessage_arena);
+    }
+    
+  } else {
+    
+  }
+  channel_link_ = channel_link;
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.RemoveChannelLinkRequest.channel_link)
+}
+
+// -------------------------------------------------------------------
+
+// RemoveChannelLinkResponse
+
+// bool success = 1;
+inline void RemoveChannelLinkResponse::clear_success() {
+  success_ = false;
+}
+inline bool RemoveChannelLinkResponse::success() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.RemoveChannelLinkResponse.success)
+  return success_;
+}
+inline void RemoveChannelLinkResponse::set_success(bool value) {
+  
+  success_ = value;
+  // @@protoc_insertion_point(field_set:ModeliRpc.RemoveChannelLinkResponse.success)
+}
+
+// -------------------------------------------------------------------
+
+// IntValues
+
+// repeated uint32 vrs = 1;
+inline int IntValues::vrs_size() const {
+  return vrs_.size();
+}
+inline void IntValues::clear_vrs() {
+  vrs_.Clear();
+}
+inline ::google::protobuf::uint32 IntValues::vrs(int index) const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.IntValues.vrs)
+  return vrs_.Get(index);
+}
+inline void IntValues::set_vrs(int index, ::google::protobuf::uint32 value) {
+  vrs_.Set(index, value);
+  // @@protoc_insertion_point(field_set:ModeliRpc.IntValues.vrs)
+}
+inline void IntValues::add_vrs(::google::protobuf::uint32 value) {
+  vrs_.Add(value);
+  // @@protoc_insertion_point(field_add:ModeliRpc.IntValues.vrs)
+}
+inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
+IntValues::vrs() const {
+  // @@protoc_insertion_point(field_list:ModeliRpc.IntValues.vrs)
+  return vrs_;
+}
+inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
+IntValues::mutable_vrs() {
+  // @@protoc_insertion_point(field_mutable_list:ModeliRpc.IntValues.vrs)
+  return &vrs_;
+}
+
+// repeated int32 values = 2;
+inline int IntValues::values_size() const {
+  return values_.size();
+}
+inline void IntValues::clear_values() {
+  values_.Clear();
+}
+inline ::google::protobuf::int32 IntValues::values(int index) const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.IntValues.values)
+  return values_.Get(index);
+}
+inline void IntValues::set_values(int index, ::google::protobuf::int32 value) {
+  values_.Set(index, value);
+  // @@protoc_insertion_point(field_set:ModeliRpc.IntValues.values)
+}
+inline void IntValues::add_values(::google::protobuf::int32 value) {
+  values_.Add(value);
+  // @@protoc_insertion_point(field_add:ModeliRpc.IntValues.values)
+}
+inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
+IntValues::values() const {
+  // @@protoc_insertion_point(field_list:ModeliRpc.IntValues.values)
+  return values_;
+}
+inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
+IntValues::mutable_values() {
+  // @@protoc_insertion_point(field_mutable_list:ModeliRpc.IntValues.values)
+  return &values_;
+}
+
+// -------------------------------------------------------------------
+
+// SetIntRequest
+
+// string instance_name = 1;
+inline void SetIntRequest::clear_instance_name() {
+  instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline const ::std::string& SetIntRequest::instance_name() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.SetIntRequest.instance_name)
+  return instance_name_.GetNoArena();
+}
+inline void SetIntRequest::set_instance_name(const ::std::string& value) {
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:ModeliRpc.SetIntRequest.instance_name)
+}
+#if LANG_CXX11
+inline void SetIntRequest::set_instance_name(::std::string&& value) {
+  
+  instance_name_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:ModeliRpc.SetIntRequest.instance_name)
+}
+#endif
+inline void SetIntRequest::set_instance_name(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:ModeliRpc.SetIntRequest.instance_name)
+}
+inline void SetIntRequest::set_instance_name(const char* value, size_t size) {
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:ModeliRpc.SetIntRequest.instance_name)
+}
+inline ::std::string* SetIntRequest::mutable_instance_name() {
+  
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.SetIntRequest.instance_name)
+  return instance_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* SetIntRequest::release_instance_name() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.SetIntRequest.instance_name)
+  
+  return instance_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void SetIntRequest::set_allocated_instance_name(::std::string* instance_name) {
+  if (instance_name != NULL) {
+    
+  } else {
+    
+  }
+  instance_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), instance_name);
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.SetIntRequest.instance_name)
+}
+
+// .ModeliRpc.IntValues values = 2;
+inline bool SetIntRequest::has_values() const {
+  return this != internal_default_instance() && values_ != NULL;
+}
+inline void SetIntRequest::clear_values() {
+  if (GetArenaNoVirtual() == NULL && values_ != NULL) {
+    delete values_;
+  }
+  values_ = NULL;
+}
+inline const ::ModeliRpc::IntValues& SetIntRequest::values() const {
+  const ::ModeliRpc::IntValues* p = values_;
+  // @@protoc_insertion_point(field_get:ModeliRpc.SetIntRequest.values)
+  return p != NULL ? *p : *reinterpret_cast<const ::ModeliRpc::IntValues*>(
+      &::ModeliRpc::_IntValues_default_instance_);
+}
+inline ::ModeliRpc::IntValues* SetIntRequest::release_values() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.SetIntRequest.values)
+  
+  ::ModeliRpc::IntValues* temp = values_;
+  values_ = NULL;
+  return temp;
+}
+inline ::ModeliRpc::IntValues* SetIntRequest::mutable_values() {
+  
+  if (values_ == NULL) {
+    values_ = new ::ModeliRpc::IntValues;
+  }
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.SetIntRequest.values)
+  return values_;
+}
+inline void SetIntRequest::set_allocated_values(::ModeliRpc::IntValues* values) {
+  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
+  if (message_arena == NULL) {
+    delete values_;
+  }
+  if (values) {
+    ::google::protobuf::Arena* submessage_arena = NULL;
+    if (message_arena != submessage_arena) {
+      values = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, values, submessage_arena);
+    }
+    
+  } else {
+    
+  }
+  values_ = values;
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.SetIntRequest.values)
+}
+
+// -------------------------------------------------------------------
+
+// SetIntResponse
+
+// int32 status = 1;
+inline void SetIntResponse::clear_status() {
+  status_ = 0;
+}
+inline ::google::protobuf::int32 SetIntResponse::status() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.SetIntResponse.status)
+  return status_;
+}
+inline void SetIntResponse::set_status(::google::protobuf::int32 value) {
+  
+  status_ = value;
+  // @@protoc_insertion_point(field_set:ModeliRpc.SetIntResponse.status)
+}
+
+// -------------------------------------------------------------------
+
+// RealValues
+
+// repeated uint32 vrs = 1;
+inline int RealValues::vrs_size() const {
+  return vrs_.size();
+}
+inline void RealValues::clear_vrs() {
+  vrs_.Clear();
+}
+inline ::google::protobuf::uint32 RealValues::vrs(int index) const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.RealValues.vrs)
+  return vrs_.Get(index);
+}
+inline void RealValues::set_vrs(int index, ::google::protobuf::uint32 value) {
+  vrs_.Set(index, value);
+  // @@protoc_insertion_point(field_set:ModeliRpc.RealValues.vrs)
+}
+inline void RealValues::add_vrs(::google::protobuf::uint32 value) {
+  vrs_.Add(value);
+  // @@protoc_insertion_point(field_add:ModeliRpc.RealValues.vrs)
+}
+inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
+RealValues::vrs() const {
+  // @@protoc_insertion_point(field_list:ModeliRpc.RealValues.vrs)
+  return vrs_;
+}
+inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
+RealValues::mutable_vrs() {
+  // @@protoc_insertion_point(field_mutable_list:ModeliRpc.RealValues.vrs)
+  return &vrs_;
+}
+
+// repeated double values = 2;
+inline int RealValues::values_size() const {
+  return values_.size();
+}
+inline void RealValues::clear_values() {
+  values_.Clear();
+}
+inline double RealValues::values(int index) const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.RealValues.values)
+  return values_.Get(index);
+}
+inline void RealValues::set_values(int index, double value) {
+  values_.Set(index, value);
+  // @@protoc_insertion_point(field_set:ModeliRpc.RealValues.values)
+}
+inline void RealValues::add_values(double value) {
+  values_.Add(value);
+  // @@protoc_insertion_point(field_add:ModeliRpc.RealValues.values)
+}
+inline const ::google::protobuf::RepeatedField< double >&
+RealValues::values() const {
+  // @@protoc_insertion_point(field_list:ModeliRpc.RealValues.values)
+  return values_;
+}
+inline ::google::protobuf::RepeatedField< double >*
+RealValues::mutable_values() {
+  // @@protoc_insertion_point(field_mutable_list:ModeliRpc.RealValues.values)
+  return &values_;
+}
+
+// -------------------------------------------------------------------
+
+// SetRealRequest
+
+// string instance_name = 1;
+inline void SetRealRequest::clear_instance_name() {
+  instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline const ::std::string& SetRealRequest::instance_name() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.SetRealRequest.instance_name)
+  return instance_name_.GetNoArena();
+}
+inline void SetRealRequest::set_instance_name(const ::std::string& value) {
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:ModeliRpc.SetRealRequest.instance_name)
+}
+#if LANG_CXX11
+inline void SetRealRequest::set_instance_name(::std::string&& value) {
+  
+  instance_name_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:ModeliRpc.SetRealRequest.instance_name)
+}
+#endif
+inline void SetRealRequest::set_instance_name(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:ModeliRpc.SetRealRequest.instance_name)
+}
+inline void SetRealRequest::set_instance_name(const char* value, size_t size) {
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:ModeliRpc.SetRealRequest.instance_name)
+}
+inline ::std::string* SetRealRequest::mutable_instance_name() {
+  
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.SetRealRequest.instance_name)
+  return instance_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* SetRealRequest::release_instance_name() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.SetRealRequest.instance_name)
+  
+  return instance_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void SetRealRequest::set_allocated_instance_name(::std::string* instance_name) {
+  if (instance_name != NULL) {
+    
+  } else {
+    
+  }
+  instance_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), instance_name);
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.SetRealRequest.instance_name)
+}
+
+// .ModeliRpc.RealValues values = 2;
+inline bool SetRealRequest::has_values() const {
+  return this != internal_default_instance() && values_ != NULL;
+}
+inline void SetRealRequest::clear_values() {
+  if (GetArenaNoVirtual() == NULL && values_ != NULL) {
+    delete values_;
+  }
+  values_ = NULL;
+}
+inline const ::ModeliRpc::RealValues& SetRealRequest::values() const {
+  const ::ModeliRpc::RealValues* p = values_;
+  // @@protoc_insertion_point(field_get:ModeliRpc.SetRealRequest.values)
+  return p != NULL ? *p : *reinterpret_cast<const ::ModeliRpc::RealValues*>(
+      &::ModeliRpc::_RealValues_default_instance_);
+}
+inline ::ModeliRpc::RealValues* SetRealRequest::release_values() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.SetRealRequest.values)
+  
+  ::ModeliRpc::RealValues* temp = values_;
+  values_ = NULL;
+  return temp;
+}
+inline ::ModeliRpc::RealValues* SetRealRequest::mutable_values() {
+  
+  if (values_ == NULL) {
+    values_ = new ::ModeliRpc::RealValues;
+  }
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.SetRealRequest.values)
+  return values_;
+}
+inline void SetRealRequest::set_allocated_values(::ModeliRpc::RealValues* values) {
+  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
+  if (message_arena == NULL) {
+    delete values_;
+  }
+  if (values) {
+    ::google::protobuf::Arena* submessage_arena = NULL;
+    if (message_arena != submessage_arena) {
+      values = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, values, submessage_arena);
+    }
+    
+  } else {
+    
+  }
+  values_ = values;
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.SetRealRequest.values)
+}
+
+// -------------------------------------------------------------------
+
+// SetRealResponse
+
+// int32 status = 1;
+inline void SetRealResponse::clear_status() {
+  status_ = 0;
+}
+inline ::google::protobuf::int32 SetRealResponse::status() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.SetRealResponse.status)
+  return status_;
+}
+inline void SetRealResponse::set_status(::google::protobuf::int32 value) {
+  
+  status_ = value;
+  // @@protoc_insertion_point(field_set:ModeliRpc.SetRealResponse.status)
+}
+
+// -------------------------------------------------------------------
+
+// BoolValues
+
+// repeated uint32 vrs = 1;
+inline int BoolValues::vrs_size() const {
+  return vrs_.size();
+}
+inline void BoolValues::clear_vrs() {
+  vrs_.Clear();
+}
+inline ::google::protobuf::uint32 BoolValues::vrs(int index) const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.BoolValues.vrs)
+  return vrs_.Get(index);
+}
+inline void BoolValues::set_vrs(int index, ::google::protobuf::uint32 value) {
+  vrs_.Set(index, value);
+  // @@protoc_insertion_point(field_set:ModeliRpc.BoolValues.vrs)
+}
+inline void BoolValues::add_vrs(::google::protobuf::uint32 value) {
+  vrs_.Add(value);
+  // @@protoc_insertion_point(field_add:ModeliRpc.BoolValues.vrs)
+}
+inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
+BoolValues::vrs() const {
+  // @@protoc_insertion_point(field_list:ModeliRpc.BoolValues.vrs)
+  return vrs_;
+}
+inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
+BoolValues::mutable_vrs() {
+  // @@protoc_insertion_point(field_mutable_list:ModeliRpc.BoolValues.vrs)
+  return &vrs_;
+}
+
+// repeated int32 values = 2;
+inline int BoolValues::values_size() const {
+  return values_.size();
+}
+inline void BoolValues::clear_values() {
+  values_.Clear();
+}
+inline ::google::protobuf::int32 BoolValues::values(int index) const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.BoolValues.values)
+  return values_.Get(index);
+}
+inline void BoolValues::set_values(int index, ::google::protobuf::int32 value) {
+  values_.Set(index, value);
+  // @@protoc_insertion_point(field_set:ModeliRpc.BoolValues.values)
+}
+inline void BoolValues::add_values(::google::protobuf::int32 value) {
+  values_.Add(value);
+  // @@protoc_insertion_point(field_add:ModeliRpc.BoolValues.values)
+}
+inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
+BoolValues::values() const {
+  // @@protoc_insertion_point(field_list:ModeliRpc.BoolValues.values)
+  return values_;
+}
+inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
+BoolValues::mutable_values() {
+  // @@protoc_insertion_point(field_mutable_list:ModeliRpc.BoolValues.values)
+  return &values_;
+}
+
+// -------------------------------------------------------------------
+
+// SetBoolRequest
+
+// string instance_name = 1;
+inline void SetBoolRequest::clear_instance_name() {
+  instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline const ::std::string& SetBoolRequest::instance_name() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.SetBoolRequest.instance_name)
+  return instance_name_.GetNoArena();
+}
+inline void SetBoolRequest::set_instance_name(const ::std::string& value) {
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:ModeliRpc.SetBoolRequest.instance_name)
+}
+#if LANG_CXX11
+inline void SetBoolRequest::set_instance_name(::std::string&& value) {
+  
+  instance_name_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:ModeliRpc.SetBoolRequest.instance_name)
+}
+#endif
+inline void SetBoolRequest::set_instance_name(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:ModeliRpc.SetBoolRequest.instance_name)
+}
+inline void SetBoolRequest::set_instance_name(const char* value, size_t size) {
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:ModeliRpc.SetBoolRequest.instance_name)
+}
+inline ::std::string* SetBoolRequest::mutable_instance_name() {
+  
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.SetBoolRequest.instance_name)
+  return instance_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* SetBoolRequest::release_instance_name() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.SetBoolRequest.instance_name)
+  
+  return instance_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void SetBoolRequest::set_allocated_instance_name(::std::string* instance_name) {
+  if (instance_name != NULL) {
+    
+  } else {
+    
+  }
+  instance_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), instance_name);
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.SetBoolRequest.instance_name)
+}
+
+// .ModeliRpc.BoolValues values = 2;
+inline bool SetBoolRequest::has_values() const {
+  return this != internal_default_instance() && values_ != NULL;
+}
+inline void SetBoolRequest::clear_values() {
+  if (GetArenaNoVirtual() == NULL && values_ != NULL) {
+    delete values_;
+  }
+  values_ = NULL;
+}
+inline const ::ModeliRpc::BoolValues& SetBoolRequest::values() const {
+  const ::ModeliRpc::BoolValues* p = values_;
+  // @@protoc_insertion_point(field_get:ModeliRpc.SetBoolRequest.values)
+  return p != NULL ? *p : *reinterpret_cast<const ::ModeliRpc::BoolValues*>(
+      &::ModeliRpc::_BoolValues_default_instance_);
+}
+inline ::ModeliRpc::BoolValues* SetBoolRequest::release_values() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.SetBoolRequest.values)
+  
+  ::ModeliRpc::BoolValues* temp = values_;
+  values_ = NULL;
+  return temp;
+}
+inline ::ModeliRpc::BoolValues* SetBoolRequest::mutable_values() {
+  
+  if (values_ == NULL) {
+    values_ = new ::ModeliRpc::BoolValues;
+  }
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.SetBoolRequest.values)
+  return values_;
+}
+inline void SetBoolRequest::set_allocated_values(::ModeliRpc::BoolValues* values) {
+  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
+  if (message_arena == NULL) {
+    delete values_;
+  }
+  if (values) {
+    ::google::protobuf::Arena* submessage_arena = NULL;
+    if (message_arena != submessage_arena) {
+      values = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, values, submessage_arena);
+    }
+    
+  } else {
+    
+  }
+  values_ = values;
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.SetBoolRequest.values)
+}
+
+// -------------------------------------------------------------------
+
+// SetBoolResponse
+
+// int32 status = 1;
+inline void SetBoolResponse::clear_status() {
+  status_ = 0;
+}
+inline ::google::protobuf::int32 SetBoolResponse::status() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.SetBoolResponse.status)
+  return status_;
+}
+inline void SetBoolResponse::set_status(::google::protobuf::int32 value) {
+  
+  status_ = value;
+  // @@protoc_insertion_point(field_set:ModeliRpc.SetBoolResponse.status)
+}
+
+// -------------------------------------------------------------------
+
+// StringValues
+
+// repeated uint32 vrs = 1;
+inline int StringValues::vrs_size() const {
+  return vrs_.size();
+}
+inline void StringValues::clear_vrs() {
+  vrs_.Clear();
+}
+inline ::google::protobuf::uint32 StringValues::vrs(int index) const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.StringValues.vrs)
+  return vrs_.Get(index);
+}
+inline void StringValues::set_vrs(int index, ::google::protobuf::uint32 value) {
+  vrs_.Set(index, value);
+  // @@protoc_insertion_point(field_set:ModeliRpc.StringValues.vrs)
+}
+inline void StringValues::add_vrs(::google::protobuf::uint32 value) {
+  vrs_.Add(value);
+  // @@protoc_insertion_point(field_add:ModeliRpc.StringValues.vrs)
+}
+inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
+StringValues::vrs() const {
+  // @@protoc_insertion_point(field_list:ModeliRpc.StringValues.vrs)
+  return vrs_;
+}
+inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
+StringValues::mutable_vrs() {
+  // @@protoc_insertion_point(field_mutable_list:ModeliRpc.StringValues.vrs)
+  return &vrs_;
+}
+
+// repeated string values = 2;
+inline int StringValues::values_size() const {
+  return values_.size();
+}
+inline void StringValues::clear_values() {
+  values_.Clear();
+}
+inline const ::std::string& StringValues::values(int index) const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.StringValues.values)
+  return values_.Get(index);
+}
+inline ::std::string* StringValues::mutable_values(int index) {
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.StringValues.values)
+  return values_.Mutable(index);
+}
+inline void StringValues::set_values(int index, const ::std::string& value) {
+  // @@protoc_insertion_point(field_set:ModeliRpc.StringValues.values)
+  values_.Mutable(index)->assign(value);
+}
+#if LANG_CXX11
+inline void StringValues::set_values(int index, ::std::string&& value) {
+  // @@protoc_insertion_point(field_set:ModeliRpc.StringValues.values)
+  values_.Mutable(index)->assign(std::move(value));
+}
+#endif
+inline void StringValues::set_values(int index, const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  values_.Mutable(index)->assign(value);
+  // @@protoc_insertion_point(field_set_char:ModeliRpc.StringValues.values)
+}
+inline void StringValues::set_values(int index, const char* value, size_t size) {
+  values_.Mutable(index)->assign(
+    reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_set_pointer:ModeliRpc.StringValues.values)
+}
+inline ::std::string* StringValues::add_values() {
+  // @@protoc_insertion_point(field_add_mutable:ModeliRpc.StringValues.values)
+  return values_.Add();
+}
+inline void StringValues::add_values(const ::std::string& value) {
+  values_.Add()->assign(value);
+  // @@protoc_insertion_point(field_add:ModeliRpc.StringValues.values)
+}
+#if LANG_CXX11
+inline void StringValues::add_values(::std::string&& value) {
+  values_.Add(std::move(value));
+  // @@protoc_insertion_point(field_add:ModeliRpc.StringValues.values)
+}
+#endif
+inline void StringValues::add_values(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  values_.Add()->assign(value);
+  // @@protoc_insertion_point(field_add_char:ModeliRpc.StringValues.values)
+}
+inline void StringValues::add_values(const char* value, size_t size) {
+  values_.Add()->assign(reinterpret_cast<const char*>(value), size);
+  // @@protoc_insertion_point(field_add_pointer:ModeliRpc.StringValues.values)
+}
+inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
+StringValues::values() const {
+  // @@protoc_insertion_point(field_list:ModeliRpc.StringValues.values)
+  return values_;
+}
+inline ::google::protobuf::RepeatedPtrField< ::std::string>*
+StringValues::mutable_values() {
+  // @@protoc_insertion_point(field_mutable_list:ModeliRpc.StringValues.values)
+  return &values_;
+}
+
+// -------------------------------------------------------------------
+
+// SetStringRequest
+
+// string instance_name = 1;
+inline void SetStringRequest::clear_instance_name() {
+  instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline const ::std::string& SetStringRequest::instance_name() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.SetStringRequest.instance_name)
+  return instance_name_.GetNoArena();
+}
+inline void SetStringRequest::set_instance_name(const ::std::string& value) {
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:ModeliRpc.SetStringRequest.instance_name)
+}
+#if LANG_CXX11
+inline void SetStringRequest::set_instance_name(::std::string&& value) {
+  
+  instance_name_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:ModeliRpc.SetStringRequest.instance_name)
+}
+#endif
+inline void SetStringRequest::set_instance_name(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:ModeliRpc.SetStringRequest.instance_name)
+}
+inline void SetStringRequest::set_instance_name(const char* value, size_t size) {
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:ModeliRpc.SetStringRequest.instance_name)
+}
+inline ::std::string* SetStringRequest::mutable_instance_name() {
+  
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.SetStringRequest.instance_name)
+  return instance_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* SetStringRequest::release_instance_name() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.SetStringRequest.instance_name)
+  
+  return instance_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void SetStringRequest::set_allocated_instance_name(::std::string* instance_name) {
+  if (instance_name != NULL) {
+    
+  } else {
+    
+  }
+  instance_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), instance_name);
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.SetStringRequest.instance_name)
+}
+
+// .ModeliRpc.StringValues values = 2;
+inline bool SetStringRequest::has_values() const {
+  return this != internal_default_instance() && values_ != NULL;
+}
+inline void SetStringRequest::clear_values() {
+  if (GetArenaNoVirtual() == NULL && values_ != NULL) {
+    delete values_;
+  }
+  values_ = NULL;
+}
+inline const ::ModeliRpc::StringValues& SetStringRequest::values() const {
+  const ::ModeliRpc::StringValues* p = values_;
+  // @@protoc_insertion_point(field_get:ModeliRpc.SetStringRequest.values)
+  return p != NULL ? *p : *reinterpret_cast<const ::ModeliRpc::StringValues*>(
+      &::ModeliRpc::_StringValues_default_instance_);
+}
+inline ::ModeliRpc::StringValues* SetStringRequest::release_values() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.SetStringRequest.values)
+  
+  ::ModeliRpc::StringValues* temp = values_;
+  values_ = NULL;
+  return temp;
+}
+inline ::ModeliRpc::StringValues* SetStringRequest::mutable_values() {
+  
+  if (values_ == NULL) {
+    values_ = new ::ModeliRpc::StringValues;
+  }
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.SetStringRequest.values)
+  return values_;
+}
+inline void SetStringRequest::set_allocated_values(::ModeliRpc::StringValues* values) {
+  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
+  if (message_arena == NULL) {
+    delete values_;
+  }
+  if (values) {
+    ::google::protobuf::Arena* submessage_arena = NULL;
+    if (message_arena != submessage_arena) {
+      values = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, values, submessage_arena);
+    }
+    
+  } else {
+    
+  }
+  values_ = values;
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.SetStringRequest.values)
+}
+
+// -------------------------------------------------------------------
+
+// SetStringResponse
+
+// int32 status = 1;
+inline void SetStringResponse::clear_status() {
+  status_ = 0;
+}
+inline ::google::protobuf::int32 SetStringResponse::status() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.SetStringResponse.status)
+  return status_;
+}
+inline void SetStringResponse::set_status(::google::protobuf::int32 value) {
+  
+  status_ = value;
+  // @@protoc_insertion_point(field_set:ModeliRpc.SetStringResponse.status)
+}
+
+// -------------------------------------------------------------------
+
+// NewValuesRequest
+
+// -------------------------------------------------------------------
+
+// NewValuesResponse
+
+// double timestamp = 1;
+inline void NewValuesResponse::clear_timestamp() {
+  timestamp_ = 0;
+}
+inline double NewValuesResponse::timestamp() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.NewValuesResponse.timestamp)
+  return timestamp_;
+}
+inline void NewValuesResponse::set_timestamp(double value) {
+  
+  timestamp_ = value;
+  // @@protoc_insertion_point(field_set:ModeliRpc.NewValuesResponse.timestamp)
+}
+
+// .ModeliRpc.IntValues int_values = 2;
+inline bool NewValuesResponse::has_int_values() const {
+  return this != internal_default_instance() && int_values_ != NULL;
+}
+inline void NewValuesResponse::clear_int_values() {
+  if (GetArenaNoVirtual() == NULL && int_values_ != NULL) {
+    delete int_values_;
+  }
+  int_values_ = NULL;
+}
+inline const ::ModeliRpc::IntValues& NewValuesResponse::int_values() const {
+  const ::ModeliRpc::IntValues* p = int_values_;
+  // @@protoc_insertion_point(field_get:ModeliRpc.NewValuesResponse.int_values)
+  return p != NULL ? *p : *reinterpret_cast<const ::ModeliRpc::IntValues*>(
+      &::ModeliRpc::_IntValues_default_instance_);
+}
+inline ::ModeliRpc::IntValues* NewValuesResponse::release_int_values() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.NewValuesResponse.int_values)
+  
+  ::ModeliRpc::IntValues* temp = int_values_;
+  int_values_ = NULL;
+  return temp;
+}
+inline ::ModeliRpc::IntValues* NewValuesResponse::mutable_int_values() {
+  
+  if (int_values_ == NULL) {
+    int_values_ = new ::ModeliRpc::IntValues;
+  }
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.NewValuesResponse.int_values)
+  return int_values_;
+}
+inline void NewValuesResponse::set_allocated_int_values(::ModeliRpc::IntValues* int_values) {
+  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
+  if (message_arena == NULL) {
+    delete int_values_;
+  }
+  if (int_values) {
+    ::google::protobuf::Arena* submessage_arena = NULL;
+    if (message_arena != submessage_arena) {
+      int_values = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, int_values, submessage_arena);
+    }
+    
+  } else {
+    
+  }
+  int_values_ = int_values;
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.NewValuesResponse.int_values)
+}
+
+// .ModeliRpc.RealValues real_values = 3;
+inline bool NewValuesResponse::has_real_values() const {
+  return this != internal_default_instance() && real_values_ != NULL;
+}
+inline void NewValuesResponse::clear_real_values() {
+  if (GetArenaNoVirtual() == NULL && real_values_ != NULL) {
+    delete real_values_;
+  }
+  real_values_ = NULL;
+}
+inline const ::ModeliRpc::RealValues& NewValuesResponse::real_values() const {
+  const ::ModeliRpc::RealValues* p = real_values_;
+  // @@protoc_insertion_point(field_get:ModeliRpc.NewValuesResponse.real_values)
+  return p != NULL ? *p : *reinterpret_cast<const ::ModeliRpc::RealValues*>(
+      &::ModeliRpc::_RealValues_default_instance_);
+}
+inline ::ModeliRpc::RealValues* NewValuesResponse::release_real_values() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.NewValuesResponse.real_values)
+  
+  ::ModeliRpc::RealValues* temp = real_values_;
+  real_values_ = NULL;
+  return temp;
+}
+inline ::ModeliRpc::RealValues* NewValuesResponse::mutable_real_values() {
+  
+  if (real_values_ == NULL) {
+    real_values_ = new ::ModeliRpc::RealValues;
+  }
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.NewValuesResponse.real_values)
+  return real_values_;
+}
+inline void NewValuesResponse::set_allocated_real_values(::ModeliRpc::RealValues* real_values) {
+  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
+  if (message_arena == NULL) {
+    delete real_values_;
+  }
+  if (real_values) {
+    ::google::protobuf::Arena* submessage_arena = NULL;
+    if (message_arena != submessage_arena) {
+      real_values = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, real_values, submessage_arena);
+    }
+    
+  } else {
+    
+  }
+  real_values_ = real_values;
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.NewValuesResponse.real_values)
+}
+
+// .ModeliRpc.BoolValues bool_values = 4;
+inline bool NewValuesResponse::has_bool_values() const {
+  return this != internal_default_instance() && bool_values_ != NULL;
+}
+inline void NewValuesResponse::clear_bool_values() {
+  if (GetArenaNoVirtual() == NULL && bool_values_ != NULL) {
+    delete bool_values_;
+  }
+  bool_values_ = NULL;
+}
+inline const ::ModeliRpc::BoolValues& NewValuesResponse::bool_values() const {
+  const ::ModeliRpc::BoolValues* p = bool_values_;
+  // @@protoc_insertion_point(field_get:ModeliRpc.NewValuesResponse.bool_values)
+  return p != NULL ? *p : *reinterpret_cast<const ::ModeliRpc::BoolValues*>(
+      &::ModeliRpc::_BoolValues_default_instance_);
+}
+inline ::ModeliRpc::BoolValues* NewValuesResponse::release_bool_values() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.NewValuesResponse.bool_values)
+  
+  ::ModeliRpc::BoolValues* temp = bool_values_;
+  bool_values_ = NULL;
+  return temp;
+}
+inline ::ModeliRpc::BoolValues* NewValuesResponse::mutable_bool_values() {
+  
+  if (bool_values_ == NULL) {
+    bool_values_ = new ::ModeliRpc::BoolValues;
+  }
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.NewValuesResponse.bool_values)
+  return bool_values_;
+}
+inline void NewValuesResponse::set_allocated_bool_values(::ModeliRpc::BoolValues* bool_values) {
+  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
+  if (message_arena == NULL) {
+    delete bool_values_;
+  }
+  if (bool_values) {
+    ::google::protobuf::Arena* submessage_arena = NULL;
+    if (message_arena != submessage_arena) {
+      bool_values = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, bool_values, submessage_arena);
+    }
+    
+  } else {
+    
+  }
+  bool_values_ = bool_values;
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.NewValuesResponse.bool_values)
+}
+
+// .ModeliRpc.StringValues string_values = 5;
+inline bool NewValuesResponse::has_string_values() const {
+  return this != internal_default_instance() && string_values_ != NULL;
+}
+inline void NewValuesResponse::clear_string_values() {
+  if (GetArenaNoVirtual() == NULL && string_values_ != NULL) {
+    delete string_values_;
+  }
+  string_values_ = NULL;
+}
+inline const ::ModeliRpc::StringValues& NewValuesResponse::string_values() const {
+  const ::ModeliRpc::StringValues* p = string_values_;
+  // @@protoc_insertion_point(field_get:ModeliRpc.NewValuesResponse.string_values)
+  return p != NULL ? *p : *reinterpret_cast<const ::ModeliRpc::StringValues*>(
+      &::ModeliRpc::_StringValues_default_instance_);
+}
+inline ::ModeliRpc::StringValues* NewValuesResponse::release_string_values() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.NewValuesResponse.string_values)
+  
+  ::ModeliRpc::StringValues* temp = string_values_;
+  string_values_ = NULL;
+  return temp;
+}
+inline ::ModeliRpc::StringValues* NewValuesResponse::mutable_string_values() {
+  
+  if (string_values_ == NULL) {
+    string_values_ = new ::ModeliRpc::StringValues;
+  }
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.NewValuesResponse.string_values)
+  return string_values_;
+}
+inline void NewValuesResponse::set_allocated_string_values(::ModeliRpc::StringValues* string_values) {
+  ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
+  if (message_arena == NULL) {
+    delete string_values_;
+  }
+  if (string_values) {
+    ::google::protobuf::Arena* submessage_arena = NULL;
+    if (message_arena != submessage_arena) {
+      string_values = ::google::protobuf::internal::GetOwnedMessage(
+          message_arena, string_values, submessage_arena);
+    }
+    
+  } else {
+    
+  }
+  string_values_ = string_values;
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.NewValuesResponse.string_values)
+}
+
+// string instance_name = 6;
+inline void NewValuesResponse::clear_instance_name() {
+  instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline const ::std::string& NewValuesResponse::instance_name() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.NewValuesResponse.instance_name)
+  return instance_name_.GetNoArena();
+}
+inline void NewValuesResponse::set_instance_name(const ::std::string& value) {
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:ModeliRpc.NewValuesResponse.instance_name)
+}
+#if LANG_CXX11
+inline void NewValuesResponse::set_instance_name(::std::string&& value) {
+  
+  instance_name_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:ModeliRpc.NewValuesResponse.instance_name)
+}
+#endif
+inline void NewValuesResponse::set_instance_name(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:ModeliRpc.NewValuesResponse.instance_name)
+}
+inline void NewValuesResponse::set_instance_name(const char* value, size_t size) {
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:ModeliRpc.NewValuesResponse.instance_name)
+}
+inline ::std::string* NewValuesResponse::mutable_instance_name() {
+  
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.NewValuesResponse.instance_name)
+  return instance_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* NewValuesResponse::release_instance_name() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.NewValuesResponse.instance_name)
+  
+  return instance_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void NewValuesResponse::set_allocated_instance_name(::std::string* instance_name) {
+  if (instance_name != NULL) {
+    
+  } else {
+    
+  }
+  instance_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), instance_name);
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.NewValuesResponse.instance_name)
+}
+
+// -------------------------------------------------------------------
+
+// LogRequest
+
+// -------------------------------------------------------------------
+
+// LogResponse
+
+// string instance_name = 1;
+inline void LogResponse::clear_instance_name() {
+  instance_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline const ::std::string& LogResponse::instance_name() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.LogResponse.instance_name)
+  return instance_name_.GetNoArena();
+}
+inline void LogResponse::set_instance_name(const ::std::string& value) {
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:ModeliRpc.LogResponse.instance_name)
+}
+#if LANG_CXX11
+inline void LogResponse::set_instance_name(::std::string&& value) {
+  
+  instance_name_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:ModeliRpc.LogResponse.instance_name)
+}
+#endif
+inline void LogResponse::set_instance_name(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:ModeliRpc.LogResponse.instance_name)
+}
+inline void LogResponse::set_instance_name(const char* value, size_t size) {
+  
+  instance_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:ModeliRpc.LogResponse.instance_name)
+}
+inline ::std::string* LogResponse::mutable_instance_name() {
+  
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.LogResponse.instance_name)
+  return instance_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* LogResponse::release_instance_name() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.LogResponse.instance_name)
+  
+  return instance_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void LogResponse::set_allocated_instance_name(::std::string* instance_name) {
+  if (instance_name != NULL) {
+    
+  } else {
+    
+  }
+  instance_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), instance_name);
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.LogResponse.instance_name)
+}
+
+// int32 status = 2;
+inline void LogResponse::clear_status() {
+  status_ = 0;
+}
+inline ::google::protobuf::int32 LogResponse::status() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.LogResponse.status)
+  return status_;
+}
+inline void LogResponse::set_status(::google::protobuf::int32 value) {
+  
+  status_ = value;
+  // @@protoc_insertion_point(field_set:ModeliRpc.LogResponse.status)
+}
+
+// string message = 3;
+inline void LogResponse::clear_message() {
+  message_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline const ::std::string& LogResponse::message() const {
+  // @@protoc_insertion_point(field_get:ModeliRpc.LogResponse.message)
+  return message_.GetNoArena();
+}
+inline void LogResponse::set_message(const ::std::string& value) {
+  
+  message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
+  // @@protoc_insertion_point(field_set:ModeliRpc.LogResponse.message)
+}
+#if LANG_CXX11
+inline void LogResponse::set_message(::std::string&& value) {
+  
+  message_.SetNoArena(
+    &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
+  // @@protoc_insertion_point(field_set_rvalue:ModeliRpc.LogResponse.message)
+}
+#endif
+inline void LogResponse::set_message(const char* value) {
+  GOOGLE_DCHECK(value != NULL);
+  
+  message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
+  // @@protoc_insertion_point(field_set_char:ModeliRpc.LogResponse.message)
+}
+inline void LogResponse::set_message(const char* value, size_t size) {
+  
+  message_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
+      ::std::string(reinterpret_cast<const char*>(value), size));
+  // @@protoc_insertion_point(field_set_pointer:ModeliRpc.LogResponse.message)
+}
+inline ::std::string* LogResponse::mutable_message() {
+  
+  // @@protoc_insertion_point(field_mutable:ModeliRpc.LogResponse.message)
+  return message_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline ::std::string* LogResponse::release_message() {
+  // @@protoc_insertion_point(field_release:ModeliRpc.LogResponse.message)
+  
+  return message_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
+}
+inline void LogResponse::set_allocated_message(::std::string* message) {
+  if (message != NULL) {
+    
+  } else {
+    
+  }
+  message_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), message);
+  // @@protoc_insertion_point(field_set_allocated:ModeliRpc.LogResponse.message)
+}
+
+#ifdef __GNUC__
+  #pragma GCC diagnostic pop
+#endif  // __GNUC__
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+// -------------------------------------------------------------------
+
+
+// @@protoc_insertion_point(namespace_scope)
+
+}  // namespace ModeliRpc
+
+// @@protoc_insertion_point(global_scope)
+
+#endif  // PROTOBUF_ModeliRpc_2eproto__INCLUDED
diff --git a/MC_BackEnd.sln b/MC_BackEnd.sln
index d7969fd3937d51e915ca539f3c3c53482f8ed965..d52194c20706908334cca2b60f5834c1cbcb0b77 100644
--- a/MC_BackEnd.sln
+++ b/MC_BackEnd.sln
@@ -1,6 +1,6 @@
 Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio 15
-VisualStudioVersion = 15.0.27130.2010
+VisualStudioVersion = 15.0.27130.2020
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MC_Backend_Linux", "MC_Backend_Linux\MC_Backend_Linux.vcxproj", "{661905CE-1EFD-4D2B-8CC8-0A8BAFB5242F}"
 EndProject
@@ -18,10 +18,12 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Main", "Main\Main.vcxitems"
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BackendTests", "BackendTests\BackendTests.vcxproj", "{500F1104-28C6-4BE4-A180-8028843972AC}"
 EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CreatedGrpc", "CreatedGrpc\CreatedGrpc.vcxitems", "{9C78546C-04B5-45BB-99C4-9FFBAF846BFE}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CreatedGrpc_Windows", "CreatedGrpc\CreatedGrpc.vcxitems", "{9C78546C-04B5-45BB-99C4-9FFBAF846BFE}"
 EndProject
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Utility", "UtilityClasses\UtilityClasses.vcxitems", "{FD95EBAC-8E33-43D3-88BA-04A2B02D7D9E}"
 EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CreatedGrpc_Linux", "CreatedGrpc_Linux\CreatedGrpc_Linux.vcxitems", "{82C215F4-A8FA-4DD0-9A5C-27DE9B07D0F1}"
+EndProject
 Global
 	GlobalSection(SharedMSBuildProjectFiles) = preSolution
 		CreatedGrpc\CreatedGrpc.vcxitems*{500f1104-28c6-4be4-a180-8028843972ac}*SharedItemsImports = 4
@@ -30,6 +32,13 @@ Global
 		Simulation\Simulation.vcxitems*{500f1104-28c6-4be4-a180-8028843972ac}*SharedItemsImports = 4
 		UtilityClasses\UtilityClasses.vcxitems*{500f1104-28c6-4be4-a180-8028843972ac}*SharedItemsImports = 4
 		Files\Files.vcxitems*{600c8d4e-39a2-40dd-b779-ac823cd2f5cc}*SharedItemsImports = 9
+		CreatedGrpc_Linux\CreatedGrpc_Linux.vcxitems*{661905ce-1efd-4d2b-8cc8-0a8bafb5242f}*SharedItemsImports = 4
+		Files\Files.vcxitems*{661905ce-1efd-4d2b-8cc8-0a8bafb5242f}*SharedItemsImports = 4
+		FMU-Core\NativeFmuShared\NativeFmuShared.vcxitems*{661905ce-1efd-4d2b-8cc8-0a8bafb5242f}*SharedItemsImports = 4
+		Main\Main.vcxitems*{661905ce-1efd-4d2b-8cc8-0a8bafb5242f}*SharedItemsImports = 4
+		Simulation\Simulation.vcxitems*{661905ce-1efd-4d2b-8cc8-0a8bafb5242f}*SharedItemsImports = 4
+		UtilityClasses\UtilityClasses.vcxitems*{661905ce-1efd-4d2b-8cc8-0a8bafb5242f}*SharedItemsImports = 4
+		CreatedGrpc_Linux\CreatedGrpc_Linux.vcxitems*{82c215f4-a8fa-4dd0-9a5c-27de9b07d0f1}*SharedItemsImports = 9
 		Simulation\Simulation.vcxitems*{8510328c-8540-419b-96d9-1e5ff396366f}*SharedItemsImports = 9
 		CreatedGrpc\CreatedGrpc.vcxitems*{87f7a408-7c05-47a8-a1d7-4a53ca350666}*SharedItemsImports = 4
 		Files\Files.vcxitems*{87f7a408-7c05-47a8-a1d7-4a53ca350666}*SharedItemsImports = 4
diff --git a/MC_Backend_Linux/MC_Backend_Linux.vcxproj b/MC_Backend_Linux/MC_Backend_Linux.vcxproj
index b2d681c6308fab7b31ad8fc9591fa137050a42a8..972f3a5c3688afd2bab6c28191d9e85fb95b618d 100644
--- a/MC_Backend_Linux/MC_Backend_Linux.vcxproj
+++ b/MC_Backend_Linux/MC_Backend_Linux.vcxproj
@@ -66,11 +66,10 @@
   <ImportGroup Label="Shared">
     <Import Project="..\Files\Files.vcxitems" Label="Shared" />
     <Import Project="..\FMU-Core\NativeFmuShared\NativeFmuShared.vcxitems" Label="Shared" />
-    <Import Project="..\Network\Network.vcxitems" Label="Shared" />
     <Import Project="..\Simulation\Simulation.vcxitems" Label="Shared" />
     <Import Project="..\Main\Main.vcxitems" Label="Shared" />
     <Import Project="..\UtilityClasses\UtilityClasses.vcxitems" Label="Shared" />
-    <Import Project="..\CreatedGrpc\CreatedGrpc.vcxitems" Label="Shared" />
+    <Import Project="..\CreatedGrpc_Linux\CreatedGrpc_Linux.vcxitems" Label="Shared" />
   </ImportGroup>
   <ImportGroup Label="PropertySheets" />
   <PropertyGroup Label="UserMacros" />
@@ -103,11 +102,11 @@
       <AdditionalLibraryDirectories>
       </AdditionalLibraryDirectories>
       <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-      <LibraryDependencies>dl;pthread;boost_filesystem;boost_system;boost_program_options</LibraryDependencies>
+      <LibraryDependencies>dl;pthread;boost_filesystem;boost_system;boost_program_options;boost_timer;protobuf;grpc++</LibraryDependencies>
       <SharedLibrarySearchPath>%(SharedLibrarySearchPath)</SharedLibrarySearchPath>
     </Link>
     <ClCompile>
-      <AdditionalIncludeDirectories>../FMU-Core/NativeFmuShared;../Network;../Files;../Simulation</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>UtilityClasses;CreatedGrpc_Linux;FMU-Core/NativeFmuShared;Simulation;Files;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalOptions>-DBOOST_DATE_TIME_NO_LIB -DBOOST_REGEX_NO_LIB </AdditionalOptions>
       <CppLanguageStandard>c++1y</CppLanguageStandard>
     </ClCompile>
@@ -117,11 +116,11 @@
       <AdditionalLibraryDirectories>
       </AdditionalLibraryDirectories>
       <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-      <LibraryDependencies>dl;pthread;boost_filesystem;boost_system;boost_program_options</LibraryDependencies>
+      <LibraryDependencies>dl;pthread;boost_filesystem;boost_system;boost_program_options;boost_timer;protobuf;grpc++</LibraryDependencies>
       <SharedLibrarySearchPath>%(SharedLibrarySearchPath)</SharedLibrarySearchPath>
     </Link>
     <ClCompile>
-      <AdditionalIncludeDirectories>../FMU-Core/NativeFmuShared;../Network;../Files;../Simulation</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>UtilityClasses;CreatedGrpc_Linux;FMU-Core/NativeFmuShared;Simulation;Files;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalOptions>-DBOOST_DATE_TIME_NO_LIB -DBOOST_REGEX_NO_LIB </AdditionalOptions>
       <CppLanguageStandard>c++1y</CppLanguageStandard>
     </ClCompile>
@@ -131,11 +130,11 @@
       <AdditionalLibraryDirectories>
       </AdditionalLibraryDirectories>
       <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-      <LibraryDependencies>dl;pthread;boost_filesystem;boost_system;boost_program_options</LibraryDependencies>
+      <LibraryDependencies>dl;pthread;boost_filesystem;boost_system;boost_program_options;boost_timer;protobuf;grpc++</LibraryDependencies>
       <SharedLibrarySearchPath>%(SharedLibrarySearchPath)</SharedLibrarySearchPath>
     </Link>
     <ClCompile>
-      <AdditionalIncludeDirectories>../FMU-Core/NativeFmuShared;../Network;../Files;../Simulation</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>UtilityClasses;CreatedGrpc_Linux;FMU-Core/NativeFmuShared;Simulation;Files;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalOptions>-DBOOST_DATE_TIME_NO_LIB -DBOOST_REGEX_NO_LIB</AdditionalOptions>
       <CppLanguageStandard>c++1y</CppLanguageStandard>
     </ClCompile>
@@ -149,11 +148,11 @@
       <AdditionalLibraryDirectories>
       </AdditionalLibraryDirectories>
       <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-      <LibraryDependencies>dl;pthread;boost_filesystem;boost_system;boost_program_options</LibraryDependencies>
+      <LibraryDependencies>dl;pthread;boost_filesystem;boost_system;boost_program_options;boost_timer;protobuf;grpc++</LibraryDependencies>
       <SharedLibrarySearchPath>%(SharedLibrarySearchPath)</SharedLibrarySearchPath>
     </Link>
     <ClCompile>
-      <AdditionalIncludeDirectories>../FMU-Core/NativeFmuShared;../Network;../Files;../Simulation</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>UtilityClasses;CreatedGrpc_Linux;FMU-Core/NativeFmuShared;Simulation;Files;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalOptions>-DBOOST_DATE_TIME_NO_LIB -DBOOST_REGEX_NO_LIB</AdditionalOptions>
       <CppLanguageStandard>c++1y</CppLanguageStandard>
     </ClCompile>
@@ -167,11 +166,11 @@
       <AdditionalLibraryDirectories>
       </AdditionalLibraryDirectories>
       <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-      <LibraryDependencies>dl;pthread;boost_filesystem;boost_system;boost_program_options</LibraryDependencies>
+      <LibraryDependencies>dl;pthread;boost_filesystem;boost_system;boost_program_options;boost_timer;protobuf;grpc++</LibraryDependencies>
       <SharedLibrarySearchPath>%(SharedLibrarySearchPath)</SharedLibrarySearchPath>
     </Link>
     <ClCompile>
-      <AdditionalIncludeDirectories>../FMU-Core/NativeFmuShared;../Network;../Files;../Simulation</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>UtilityClasses;CreatedGrpc_Linux;FMU-Core/NativeFmuShared;Simulation;Files;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalOptions>-DBOOST_DATE_TIME_NO_LIB -DBOOST_REGEX_NO_LIB</AdditionalOptions>
       <CppLanguageStandard>c++1y</CppLanguageStandard>
     </ClCompile>
@@ -181,11 +180,11 @@
       <AdditionalLibraryDirectories>
       </AdditionalLibraryDirectories>
       <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
-      <LibraryDependencies>dl;pthread;boost_filesystem;boost_system;boost_program_options</LibraryDependencies>
+      <LibraryDependencies>dl;pthread;boost_filesystem;boost_system;boost_program_options;boost_timer;protobuf;grpc++</LibraryDependencies>
       <SharedLibrarySearchPath>%(SharedLibrarySearchPath)</SharedLibrarySearchPath>
     </Link>
     <ClCompile>
-      <AdditionalIncludeDirectories>../FMU-Core/NativeFmuShared;../Network;../Files;../Simulation</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>UtilityClasses;CreatedGrpc_Linux;FMU-Core/NativeFmuShared;Simulation;Files;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalOptions>-DBOOST_DATE_TIME_NO_LIB -DBOOST_REGEX_NO_LIB</AdditionalOptions>
       <CppLanguageStandard>c++1y</CppLanguageStandard>
     </ClCompile>
diff --git a/UtilityClasses/ConcurrentQueue.h b/UtilityClasses/ConcurrentQueue.h
index 98671ee47754233399eb482f5f5796d4b13aabe6..35f04914c5a5af0c70255e7ccf2faa303ae39698 100644
--- a/UtilityClasses/ConcurrentQueue.h
+++ b/UtilityClasses/ConcurrentQueue.h
@@ -1,6 +1,6 @@
 #pragma once
 #include "boost/optional.hpp"
-#include <atomic>
+#include <condition_variable>
 #include <functional>
 #include <queue>
 #include <mutex>
@@ -14,7 +14,7 @@ namespace Utility
     class ConcurrentQueue
     {
     private:
-        std::atomic_bool m_finished = false;
+        bool m_finished = false;
         std::queue<T> m_queue;
         std::mutex _mutex;
         std::condition_variable _cond_var;
@@ -122,10 +122,9 @@ namespace Utility
         /// The queue won't accept any new items.
         /// Will finish the currently running pop request.
         void finish()
-        {
-            m_finished = true;
-            // Only notify
-            execute_and_notify([]() { ; });
+        {            
+            // Notify to cancel pending wait_and_pop
+            execute_and_notify([&]() { m_finished = true; });
         }
     };
 }